## String Excitation

In §2.4 and §6.10 we looked at the basic architecture of a digital waveguide string excited by some external disturbance. We now consider the specific cases of string excitation by a*hammer*(mass) and plectrum (spring).

### Ideal String Struck by a Mass

In §6.6, the ideal struck string was modeled as a simple initial velocity distribution along the string, corresponding to an instantaneous transfer of linear momentum from the striking hammer into the transverse motion of a string segment at time zero. (See Fig.6.10 for a diagram of the initial traveling velocity waves.) In that model, we neglected any effect of the striking hammer after time zero, as if it had bounced away at time 0 due to a so-called*elastic collision*. In this section, we consider the more realistic case of an

*inelastic collision*,

*i.e.*, where the mass hits the string and

*remains in contact*until something, such as a wave, or gravity, causes the mass and string to separate. For simplicity, let the string length be infinity, and denote its wave impedance by . Denote the colliding mass by and its speed prior to collision by . It will turn out in this analysis that we may approximate the size of the mass by zero (a so-called

*point mass*). Finally, we neglect the effects of gravity and drag by the surrounding air. When the mass collides with the string, our model must switch from two separate models (mass-in-flight and ideal string), to that of two ideal strings joined by a mass at , as depicted in Fig.9.12. The ``force-velocity port'' connections of the mass and two semi-infinite string endpoints are formally in

*series*because they all move together; that is, the mass velocity equals the velocity of each of the two string endpoints connected to the mass (see §7.2 for a fuller discussion of impedances and their parallel/series connection). The equivalent circuit for the mass-string assembly after time zero is shown in Fig.9.13. Note that the string wave impedance appears twice, once for each string segment on the left and right. Also note that there is a single common velocity for the two string endpoints and mass. LTI circuit elements in series can be arranged in any order.

All of the signs are `' in this equation because the ``current'' (velocity ) flows into the `' sign of each element. These

*reference directions*indicated by `' on each element in Fig.9.13 may be chosen arbitrarily, but it is convenient to adopt the convention that flows into the `' sign for each

*reaction force*, and into the `' sign for each

*action force*(or

*driving force*or

*voltage/current source*, etc.). With this convention, Kirchoff's Loop Rule effectively states ``the sum of all action forces equals the sum of all reaction forces,'' where the forces are understood to act on a common point. This is essentially Newton's third law of motion ``for every action there is an equal and opposite reaction'' (§B.1). In our mass-string example, all three forces are defined to be reaction forces because there is no external driving force on the mass, and no incoming waves from the string segments. External driving forces on the mass-string junction will be formulated later below.

^{10.8}We could equally well have defined the mass inertial force as a driving force on the two string segments, or the string segments could comprise a pair of driving forces for the mass. Ultimately, any force polarities may be assigned and consistently handled. Taking the Laplace transform

^{10.9}of Eq.(9.8) yields, by linearity,

where and denote the Laplace transforms of and , respectively. As discussed above, the impedance relation for each string endpoint is given by

^{10.10}Note that the mass is characterized by its

*impedance*

when the initial velocity is zero (§7.1). Substituting these relations into Eq.(9.9) yields

We see that the initial momentum of the mass effectively provides an

*impulsive external driving force*

*impedance description*(§7.1) is complete. In other words, the system can be fully described as a series combination of the three impedances , (on the left), and (on the right), driven by an external force-source . Solving Eq.(9.10) for yields

^{10.11}the velocity of the contact point is

*time integral*of applied force:

#### Mass Termination Model

The previous discussion solved for the motion of an ideal mass striking an ideal string of infinite length. We now investigate the same model from the string's point of view. As before, we will be interested in a digital waveguide (sampled traveling-wave) model of the string, for efficiency's sake (Chapter 6), and we therefore will need to know what the mass ``looks like'' at the end of each string segment. For this we will find that the impedance description (§7.1) is especially convenient.where denotes the force applied by string-segment 1 to the mass (defined as positive in the ``up'', or positive- direction), is the force applied by string-segment 2 to the mass (again positive upwards), and denotes the inertial force applied by the mass to both string endpoints (where again, a positive force points up). To derive the traveling-wave relations in a digital waveguide model, we want to use the force-wave variables and that we defined for vibrating strings in §6.1.5;

*i.e.*, we defined , where is the string tension and is the string slope, .

or, substituting the definitions of these forces,

The inertial force of the mass is because the mass must be accelerated downward in order to produce an upward reaction force. The signs of the two string forces follow from the definition of force-wave variables on the string, as discussed above. The force relations can be checked individually. For string 1,

#### Mass Reflectance from Either String

Let's first consider how the mass looks from the viewpoint of string 1, assuming string 2 is at rest. In this situation (no incoming wave from string 2), string 2 will appear to string 1 as a simple resistor (or dashpot) of Ohms in series with the mass impedance . (This observation will be used as the basis of a rapid solution method in §9.3.1 below.) When a wave from string 1 hits the mass, it will cause the mass to move. This motion carries both string endpoints along with it. Therefore, both the reflected and transmitted waves include this mass motion. We can say that we see a ``dispersive transmitted wave'' on string 2, and a dispersive reflection back onto string 1. Our object in this section is to calculate the transmission and reflection*filters*corresponding to these transmitted and reflected waves. By physical symmetry the

*velocity*reflection and transmission will be the same from string 1 as it is from string 2. We can say the same about force waves, but we will be more careful because the sign of the transverse force flips when the direction of travel is reversed.

^{10.12}Thus, we expect a scattering junction of the form shown in Fig.9.17 (recall the discussion of physically interacting waveguide inputs in §2.4.3). This much invokes the superposition principle (for simultaneous reflection and transmission), and imposes the expected symmetry: equal reflection filters and equal transmission filters (for either force or velocity waves).

The traveling-wave decompositions can be written out as

where a ``+'' superscript means ``right-going'' and a ``-'' superscript means ``left-going'' on either string.

^{10.13}Let's define the mass position to be zero, so that Eq.(9.14) with the substitutions Eq.(9.15) becomes

From this, the reflected velocity is immediate:

*velocity reflection transfer function*(or velocity

*reflectance*) of the mass as seen from string 1:

*i.e.*, the transverse-velocity reflectance is the same on either side of the mass. Thus we have found both velocity reflection filters at the mass-string junction. In summary, the velocity reflectance of the mass is from either string segment. This is a simple first-order filter model of what the mass (and string beyond) looks like dynamically from either string. It is always good to check that our answers make physical sense in limiting cases. For this problem, easy cases to check are and . When the mass is , the reflectance goes to zero (no reflected wave at all). When the mass goes to infinity, the reflectance approaches , corresponding to a rigid termination, which also makes sense. The results of this section can be more quickly obtained as a special case of the main result of §C.12, by choosing waveguides meeting at a load impedance . The next section gives another fast-calculation method based on a standard formula.

#### Simplified Impedance Analysis

The above results are quickly derived from the general reflection-coefficient for force waves (or voltage waves, pressure waves, etc.):where is the reflection coefficient of impedance as ``seen'' from impedance . If a force wave traveling along in impedance suddenly hits a new impedance , the wave will split into a reflected wave , and a transmitted wave . It therefore follows that a velocity wave will split into a reflected wave and transmitted wave . This rule is derived in §C.8.4 (and implicitly above as well). In the mass-string-collision problem, we can immediately write down the

*force reflectance*of the mass as seen from either string:

*velocity reflectance*is simply

#### Mass Transmittance from String to String

Referring to Fig.9.15, the*velocity transmittance*from string 1 to string 2 may be defined as

#### Force Wave Mass-String Model

The velocity transmittance is readily converted to a*force transmittance*using the Ohm's-law relations:

#### Summary of Mass-String Scattering Junction

In summary, we have characterized the mass on the string in terms of its reflectance and transmittance from either string. For force waves, we have outgoing waves given by*dynamic scattering junction*on the string. (If there were no dependency on , such as when a dashpot is affixed to the string, we would simply call it a

*scattering junction*.) The above form of the dynamic scattering junction is analogous to the

*Kelly-Lochbaum scattering junction*(§C.8.4). The general relation can be used to simplify the Kelly-Lochbaum form to a

*one-filter scattering junction*analogous to the one-multiply scattering junction (§C.8.5):

#### Digital Waveguide Mass-String Model

To obtain a force-wave digital waveguide model of the string-mass assembly after the mass has struck the string, it only remains to digitize the model of Fig.9.20. The delays are obviously to be implemented using digital delay lines. For the mass, we must digitize the force reflectance appearing in the one-filter model of Fig.9.20:A common choice of digitization method is the

*bilinear transform*(§7.3.2) because it preserves losslessness and does not alias. This will effectively yield a

*wave digital filter*model for the mass in this context (see Appendix F for a tutorial on wave digital filters). The bilinear transform is typically scaled as

*dc-blocking filter*[449]. Comparing with Eq.(9.18), we see that the behavior at dc is correct, and that the behavior at infinite frequency ( ) is now the behavior at half the sampling rate ( ). Physically, the mass reflectance is zero at dc because sufficiently slow waves can freely move a mass of any finite size. The reflectance is 1 at infinite frequency because there is no time for the mass to start moving before it is pushed in the opposite direction. In short, a mass behaves like a rigid termination at infinite frequency, and a free end (no termination) at zero frequency. The reflectance of a mass is therefore a ``dc blocker''. The final digital waveguide model of the mass-string combination is shown in Fig.9.21. Additional examples of lumped-element modeling, including masses, springs, dashpots, and their various interconnections, are discussed the Wave Digital Filters (WDF) appendix (Appendix F). A nice feature WDFs is that they employ traveling-wave input/output signals which are ideal for interfacing to digital waveguides. The main drawback is that the WDFs operate over a

*warped frequency axis*(due to the bilinear transform), while digital delay lines have a normal (unwarped) frequency axis. On the plus side, WDFs cannot

*alias*, while digital waveguides do alias in the frequency domain for signals that are not bandlimited to less than half the sampling rate. At low frequencies (or given sufficient oversampling), the WDF frequency warping is minimal, and in such cases, WDF ``lumped element models'' may be connected directly to digital waveguides, which are ``sampled-wave distributed parameter'' models. Even when the bilinear-transform frequency-warping is severe, it is often well tolerated when the frequency response has only one ``important frequency'', such as a second-order resonator, lowpass, or highpass response. In other words, the bilinear transform can be scaled to map any single analog frequency to any desired corresponding digital frequency (see §7.3.2 for details), and the frequency-warped responses above and below the exactly mapped frequency may ``sound as good as'' the unwarped responses for musical purposes. If not, higher order filters can be used to model lumped elements (Chapter 7).

#### Displacement-Wave Simulation

As discussed in [121], displacement waves are often preferred over force or velocity waves for guitar-string simulations, because such strings often hit obstacles such as frets or the neck. To obtain displacement from velocity at a given , we may time-integrate velocity as above to produce displacement at any spatial sample along the string where a collision might be possible. However, all these integrators can be eliminated by simply going to a displacement-wave simulation, as has been done in nearly all papers to date on plucking models for digital waveguide strings. To convert our force-wave simulation to a displacement-wave simulation, we may first convert force to velocity using the Ohm's law relations and and then conceptually integrate all signals with respect to time (in advance of the simulation). is the same on both sides of the finger-junction, which means we can convert from force to velocity by simply negating all left-going signals. (Conceptually, all signals are converted from force to velocity by the Ohm's law relations and then divided by , but the common scaling by can be omitted (or postponed) unless signal values are desired in particular physical units.) An all-velocity-wave simulation can be converted to displacement waves even more easily by simply changing to everywhere, because velocity and displacement waves scatter identically. In more general situations, we can go to the Laplace domain and replace each occurrence of by , each by , divide all signals by , push any leftover around for maximum simplification, perhaps absorbing it into a nearby filter. In an all-velocity-wave simulation, each signal gets multiplied by in this procedure, which means it cancels out of all definable transfer functions. All filters in the diagram (just in this example) can be left alone because their inputs and outputs are still force-valued in principle. (We expressed each force wave in terms of velocity and wave impedance without changing the signal flow diagram, which remains a force-wave simulation until minus signs, scalings, and operators are moved around and combined.) Of course, one can absorb scalings and sign reversals into the filter(s) to change the physical input/output units as desired. Since we routinely assume zero initial conditions in an impedance description, the integration constants obtained by time-integrating velocities to get displacements are all defined to be zero. Additional considerations regarding the choice of displacement waves over velocity (or force) waves are given in §E.3.3. In particular, their initial conditions can be very different, and traveling-wave components tend not to be as well behaved for displacement waves.### Piano Hammer Modeling

The previous section treated an ideal point-mass striking an ideal string. This can be considered a simplified piano-hammer model. The model can be improved by adding a damped spring to the point-mass, as shown in Fig.9.22 (*cf.*Fig.9.12).

Thus, the scattering filters in the digital waveguide model are second order (biquads), while for the string struck by a mass (§9.3.1) we had first-order scattering filters. This is expected because we added another energy-storage element (a spring). The impedance formulation of Eq.(9.19) assumes all elements are linear and time-invariant (LTI), but in practice one can normally modulate element values as a function of time and/or state-variables and obtain realistic results for low-order elements. For this we must maintain filter-coefficient formulas that are explicit functions of physical state and/or time. For best results, state variables should be chosen so that any nonlinearities remain

*memoryless*in the digitization [361,348,554,555].

#### Nonlinear Spring Model

In the musical acoustics literature, the piano hammer is classically modeled as a*nonlinear spring*[493,63,178,76,60,486,164].

^{10.14}Specifically, the piano-hammer damping in Fig.9.22 is typically approximated by , and the spring is

*nonlinear*and

*memoryless*according to a simple power law:

(10.20) |

This force is balanced at all times by the downward string force (string tension times slope difference), exactly as analyzed in §9.3.1 above.

#### Including Hysteresis

Since the compressed hammer-felt (wool) on real piano hammers shows significant*hysteresis memory*, an improved piano-hammer felt model is

where (s), and again denotes piano key number [487]. Equation (9.21) is said to be a good approximation under normal playing conditions. A more complete hysteresis model is [487]

#### Piano Hammer Mass

The piano-hammer*mass*may be approximated across the keyboard by [487]

### Pluck Modeling

The piano-hammer model of the previous section can also be configured as a*plectrum*by making the mass and damping small or zero, and by releasing the string when the contact force exceeds some threshold . That is, to a first approximation, a plectrum can be modeled as a

*spring*(linear or nonlinear) that disengages when either it is far from the string or a maximum spring-force is exceeded. To avoid discontinuities when the plectrum and string engage/disengage, it is good to taper both the damping and spring-constant to zero at the point of contact (as shown below). Starting with the piano-hammer impedance of Eq.(9.19) and setting the mass to infinity (the plectrum holder is immovable), we define the

*plectrum impedance*as

The force-wave reflectance of impedance in Eq.(9.22), as seen from the string, may be computed exactly as in §9.3.1:

If the spring damping is much greater than twice the string wave impedance (), then the plectrum looks like a rigid termination to the string (force reflectance ), which makes physical sense. Again following §9.3.1, the transmittance for force waves is given by

*i.e.*, if the plectrum is to be modeled as a simple linear spring, then the impedance becomes , and the force-wave reflectance becomes [128]

#### Digital Waveguide Plucked-String Model

When plucking a string, it is necessary to detect ``collisions'' between the plectrum and string. Also, more complete plucked-string models will allow the string to ``buzz'' on the frets and ``slap'' against obstacles such as the fingerboard. For these reasons, it is convenient to choose*displacement waves*for the waveguide string model. The reflection and transmission filters for displacement waves are the same as for velocity, namely, and . As in the mass-string collision case, we obtain the one-filter scattering-junction implementation shown in Fig.9.23. The filter may now be digitized using the bilinear transform as previously (§9.3.1).

#### Incorporating Control Motion

Let denote the vertical position of the*mass*in Fig.9.22. (We still assume .) We can think of as the position of the

*control point*on the plectrum,

*e.g.*, the position of the ``pinch-point'' holding the plectrum while plucking the string. In a harpsichord, can be considered the

*jack*position [347]. Also denote by the

*rest length*of the spring in Fig.9.22, and let denote the position of the ``end'' of the spring while not in contact with the string. Then the plectrum makes

*contact*with the string when

*collision detection*equation. Let the subscripts and each denote one side of the scattering system, as indicated in Fig.9.23. Then, for example, is the displacement of the string on the left (side ) of plucking point, and is on the right side of (but still located at point ). By continuity of the string, we have

^{10.15}For or the applied force is zero and the entire plucking system disappears to leave and , or equivalently, the force reflectance becomes and the transmittance becomes . During contact, force equilibrium at the plucking point requires (

*cf.*§9.3.1)

where as usual (§6.1), with denoting the string tension. Using Ohm's laws for traveling-wave components (p. ), we have

Substituting and taking the Laplace transform yields

*i.e.*, when the plectrum does not affect the string displacement at the current time. It is therefore exact at the time of collision and also applicable just after release. Similarly, can be used to trigger a release of the string from the plectrum.

#### Successive Pluck Collision Detection

As discussed above, in a simple 1D plucking model, the plectrum comes up and engages the string when , and above some maximum force the plectrum releases the string. At this point, it is ``above'' the string. To pluck again in the same direction, the collision-detection must be disabled until we again have , requiring one bit of state to keep track of that.^{10.16}The harpsichord jack plucks the string only in the ``up'' direction due to its asymmetric behavior in the two directions [143]. If only ``up picks'' are supported, then engagement can be suppressed after a release until comes back down below the envelope of string vibration (

*e.g.*, ). Note that intermittent disengagements as a plucking cycle begins are normal; there is often an audible ``buzzing'' or ``chattering'' when plucking an already vibrating string. When plucking up and down in alternation, as in the

*tremolo*technique (common on mandolins), the collision detection alternates between and , and again a bit of state is needed to keep track of which comparison to use.

#### Plectrum Damping

To include damping in the plectrum model, the load impedance goes back to Eq.(9.22):#### Digitization of the Damped-Spring Plectrum

Applying the bilinear transformation (§7.3.2) to the reflectance in Eq.(9.23) (including damping) yields the following first-order digital force-reflectance filter:The transmittance filter is again , and there is a one-filter form for the scattering junction as usual.

#### Feathering

Since the pluck model is linear, the parameters are not signal-dependent. As a result, when the string and spring separate, there is a discontinuous change in the reflection and transmission coefficients. In practice, it is useful to ``feather'' the switch-over from one model to the next [470]. In this instance, one appealing choice is to introduce a*nonlinear spring*, as is commonly used for piano-hammer models (see §9.3.2 for details). Let the nonlinear spring model take the form

**Next Section:**

Piano Synthesis

**Previous Section:**

Acoustic Guitars