Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search


Stiff String Synthesis Models

Figure 4.14: Commuted simulation of a rigidly terminated, stiff string (no damping).
\includegraphics[width=\twidth]{eps/flstifftstring}

An ideal stiff-string synthesis model is drawn in Fig. 4.14 [13]. See §G.6 for a detailed derivation. The delay-line length $ N$ is the number of samples in $ K$ periods at frequency $ f_K$, where $ K$ is the number of the highest partial supported (normally the last one before $ f_s/2$). This is the counterpart of Fig. 4.11 which depicted ideal-string damping which was lumped at a single point in the delay-line loop. For the ideal stiff string, however, (no damping), it is dispersion filtering that is lumped at a single point of the loop. Dispersion can be lumped like damping because it, too, is a linear, time-invariant (LTI) filtering of a propagating wave. Because it is LTI, dispersion-filtering commutes with other LTI systems in series, such as delay elements. The allpass filter in Fig. G.9 corresponds to filter $ H_s(z)$ in Fig. 4.13 for the Extended Karplus-Strong algorithm. In practice, losses are also included for realistic string behavior (filter $ H_d(z)$ in Fig. 4.13).

Allpass filters were introduced in §1.8, and a fairly comprehensive summary is given in Book II of this series [426, Appendix D].5.5The general transfer function for an allpass filter is given (in the real, single-input, single-output case) by

$\displaystyle H_s(z) = z^{-K} \frac{\tilde{A}(z)}{A(z)}
$

where $ K\geq 0$ is an integer pure-delay in samples (all delay lines are allpass filters),

$\displaystyle A(z) \isdef 1 + a_1 z^{-1}+ a_2 z^{-2} + \cdots + a_Nz^{-N},
$

and

$\displaystyle \tilde{A}(z)\isdef z^{-N}\overline{A}(z^{-1}) =
1 + \overline{a_1} z^{-1}+ \overline{a_2} z^{-2} + \cdots + \overline{a_N}z^{-N}.
$

We may think of $ \tilde{A}(z)$ as the flip of $ A(z)$. For example, if $ A(z)=1+1.4z^{-1}+0.49z^{-2}$, we have $ \tilde{A}(z)=0.49+1.4z^{-1}+z^{-2}$. Thus, $ \tilde{A}(z)$ is obtained from $ A(z)$ by simply reversing the order of the coefficients (and conjugating them if they are complex, but normally they are real in practice). For an allpass filter $ H_s(z)$ simulating stiffness, we would normally have $ K=0$, since the filter is already in series with a delay line.

Section 4.10 below discusses some methods for designing stiffness allpass filters $ H_s(z)$ from measurements of stiff vibrating strings, and §5.2 gives further details for the case of piano string modeling.


Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

[How to cite and copy this work] 
``Physical Audio Signal Processing for Virtual Musical Instruments and Digital Audio Effects'', by Julius O. Smith III, (December 2005 Edition).
Copyright © 2006-07-01 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA  [Automatic-links disclaimer]