... direction.2.1
To determine whether a surface is effectively flat, it may first be smoothed so that variations less than a wavelength in size are ignored. That is, waves do not ``see'' variations on a scale much less than a wavelength.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...2.2
In the code of Fig.1.9, the first executable line changes the global STK sampling-rate from 44100 Hz (the default) to that of the input soundfile. If this is not done, there is a hidden sampling-rate conversion using linear interpolation when the input file is read, if its sampling rate is different from the global STK sampling-rate. This default rate conversion could alternatively be canceled by saying input.setRate(1.0); after the input file is opened.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....2.3
It is easy to see that the exponential function $ f(x)=e^{x}$ has the property $ f(a+b)=f(a)f(b)$. To show that all differentiable functions with this property are exponentials, one can look at the definition of the derivative of $ f(x)$ with respect to $ x$:

$\displaystyle f^\prime(x)\isdef \lim_{\Delta\to0}\frac{f(x+\Delta) - f(x)}{\Del...
...elta) - f(x)}{\Delta}
=f(x)\cdot\lim_{\Delta\to0}\frac{f(\Delta) - 1}{\Delta}.
$

Since $ f(a+0)=f(a)f(0)$, we must have $ f(0)=1$. Therefore, the last limit above converges to some constant $ \alpha=f^\prime(0)$, and $ f^\prime(x)=\alpha f(x)$. In this way, it is shown that $ f$ satisfies a differential equation whose solution space consists of exponential functions of the form $ f(x)=ae^{\alpha x}$, and to obtain $ f(0)=1$, we must have $ a=1$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... dispersion2.4
Dispersion occurs in a traveling wave whenever the propagation speed is different at two or more frequencies.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... as2.5
Note that Fig.1.18 is given in direct form 2, so its describing equations are $ v(n) = x(n) - a_M v(n-M);\; y(n) = b_0 v(n)$. To make the figure correspond exactly to the direct-form-1 difference equation, simply move $ b_0$ from the output arrow to the input arrow. That is, commute the scaling by $ b_0$ and the feedback loop so that $ b_0$ is first.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... filter|textbf,2.6
Readers of this book are not expected to know linear algebra, but one does not have to learn much to follow the discussion in this section. See, for example, [456, available online] for the basic matrix operations. An excellent linear algebra text is [333].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....2.7
The $ T$ superscript denotes matrix transposition (see any linear algebra text).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....2.8
If $ \mathbf{A}$ is complex, transposition must include complex conjugation, i.e., $ \mathbf{A}^\ast \isdef \overline{\mathbf{A}^T}$. The conjugate-transpose $ \mathbf{A}^\ast$ is called the Hermitian transpose of $ \mathbf{A}$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 1,2.9
By definition, $ \mathbf{Q}\mathbf{Q}^T=\mathbf{I}$, so that all singular values of an orthogonal matrix are equal to 1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... line.2.10
This structure may be quickly derived by forming a series combination of a feedback comb filter followed by a feedforward comb filter, and noticing that the two delay lines contain the same numbers at all times. Therefore, the two delay lines can be replaced by a single shared delay line.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...causal|textbf2.11
A filter is said to be causal if its impulse response $ h(n)$ is zero for $ n<0$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...fbffcf.2.12
Gerzon's starting point was Schroeder's allpass which differs slightly from Eq.$ \,$(1.15), having difference equation [414]

\begin{eqnarray*}
v(n) &=& x(n) + g v(n-M)\\
y(n) &=& -g x(n) + (1-g^2) v(n-M),
\end{eqnarray*}

with $ \vert g\vert<1$ required for stability. This structure can be derived from Eq.$ \,$(1.15) on page [*] by moving the feedforward path to the other side of the input summer and deriving the new gain for $ v(n-M)$. Gerzon's idea was to replace the $ M$-sample delay by a multi-input, multi-output (MIMO) allpass-filter matrix; Gerzon's ``unitary frequency-response matrices'' correspond to paraunitary matrix transfer functions [455, Appendix D].

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... response|textbf2.13
A (possibly complex) matrix $ \mathbf{U}$ is said to be unitary if $ \mathbf{U}^\ast\mathbf{U}=I$, where the `$ *$' superscript denotes complex-conjugate transposition: $ W^\ast\isdef
\overline{W^T}$ (also called the Hermitian transpose). A real unitary matrix is said to be orthogonal, and this is the case most commonly used in practice.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... impedance2.14
See §K.1 for definitions and discussion regarding impedance.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ear,3.1
It is also possible to use one delay line for a single source to multiple ears, or multiple sources to one ear.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... time3.2
Reverberation time is typically defined as $ t_{60}$, the time, in seconds, to decay by 60 dB.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... shown3.3
A simple proof for rectangular rooms can be based on considering a single spherical wave produced from a point source in the room. Imagine tesselating all of 3D space with copies of the original room (minus the source), all in the same orientation. As the spherical wave expands, it intersects a number of rooms that is roughly proportional to its radius squared. Since the radius is proportional to time for an expanding spherical wavefront ($ r=ct$), the number of rooms containing a wave section grows as $ t^2$. By adding all the rooms together (flipping every other one along $ x$ and $ y$), we obtain the acoustic field in the original reverberant room at time $ t$, for the case of lossless wall reflections of pressure waves. (This is the dual of the usual image method for computing the impulse response of a room [16].) Since each wave-section traverses each point exactly once in each room image (disregarding reflections, which are accounted for by different room images), the number of echoes at any point in the room during the time it takes a plane wave to traverse the room is very close to the number of wave sections in the room at the beginning of that time interval.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... shown3.4
As described in virtually any acoustics textbook, the resonant modes of a rectangular room are given by (see, e.g., [353, pp. 284-286])

$\displaystyle k^2(l,m,n) = k^2_x(l) + k^2_y(m) + k^2_z(n) \protect$ (3.1)

where $ k_x(l) = l\pi/L_x$ denotes the $ l$th harmonic frequency (radian/meter) of the fundamental standing wave in the $ x$ direction ($ L_x$ being the length of the room along $ x$), and similarly for the $ y$ and $ z$ directions. Thus, the mode frequencies of a room can be enumerated on a uniform 3D Cartesian grid indexed by $ (l,m,n)$. The grid spacings along $ x$, $ y$, and $ z$ are taken to be $ \pi/L_x$, $ \pi/L_y$, and $ \pi/L_z$, respectively. From Eq.$ \,$(2.1), the spatial frequency $ k$ of mode $ (l,m,n)$ is given by the distance from the origin of the grid to the point indexed by $ (l,m,n)$. Therefore, the number of room modes having spatial frequency between $ k$ and $ k+\Delta$ is equal to the number of grid points lying in the spherical annulus between radius $ k$ and $ k+\Delta$. Since the grid is uniform, this number grows as $ k^2$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...3.5
One definition of when late reverberation begins is when it begins to look Gaussian, since a random sum of plane waves uniformly distributed over all angles of arrival yields a Gaussian distributed pressure field. (The fact that late reverberation in a rectangular room always approaches a superposition of plane waves traveling in all directions can be seen from the ``image-method dual'' argument in §2.2.1.) One way to test for Gaussianness is to form a histogram of impulse response sample values over a finite window (say 10ms, or roughly 500 samples), and compare the normalized histogram $ h(p)$ to a standard Gaussian bell curve $ G(p)$ computed using the measured sample variance. A threshold can be placed on $ \vert\vert\,h-G\,\vert\vert $, or some number of higher order sample moments can be compared. A simpler test is to determine when roughly 30% of the samples in a frame have magnitude larger than one standard deviation ( $ \vert x(n)\vert>\sigma_x$) [4], since the probability of this occurring in truly Gaussian sequences is $ 1-$erf$ (1/\sqrt{2})= 0.3173\ldots\,$, where erf$ (x)$ denotes the ``error function'' (integral from $ -x$ to $ x$ of the Gaussian probability density function with normalized variance $ \sigma^2=1/2$). For a zero-mean signal $ x(n)$, the sample standard deviation $ \sigma_x$ is given by the root-mean-square (RMS level). Another desired property of ``late reverb'' is that the remaining energy in the impulse response (Schroeder's Energy Decay Curve (EDC) [415]), has begun what appears to be an exponential decay. This can be ascertained by fitting an exponential to the EDC using, e.g., Prony's method.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...MoorerReverb79.3.6
In computer music, an old trick for making a synthesized tone sound reverberated is to randomly modulate its amplitude envelope, and to append a low-level exponentially decaying tail to the amplitude envelope (also modulated). This can produce a very convincing illusion.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...ffcf).3.7
Since typically $ \vert g\vert<1$, one might wonder why $ \hbox{FFCF}_{N}^{\,g}$ is not defined instead as $ 1 + g\,z^{-N}$ in order to better model a direct signal and a secondary reflection (as discussed in §1.2.7). The current definition is based merely on historical precedent. There is little or no difference in practice (when $ \vert g\vert$ is not too small) because the amplitude response is the same in both cases.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... filters,3.8
While allpass filters are ``colorless'' in theory, perceptually, their impulse responses are only colorless when they are extremely short (less than 10 ms or so). Longer allpass impulse responses sound similar to feedback comb-filters. For steady-state tones, however, such as sinusoids, the allpass property gives the same gain at every frequency, unlike feedback comb filters.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... integer.3.9
As an alternative to the output delay values shown in Fig.2.5, the values $ [0.013, 0.011, 0.019, 0.017]f_s$ have been used.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... alone.3.10
There is a Freeverb pd ``external'' in both the pd-extended and faust-pd packages, and it appears in the muse sequencer, kdemultimedia, clm, and faust language packages, all included with Planet CCRMA. Other versions may be found by a Web search for ``Freeverb source'', but I have not found any version that isn't essentially the same June 2000 version by Jezar at Dreampoint.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... (LBCF3.11
``Lowpass-Back-Comb-Filter''--to keep all the comb-filter acronyms down to four characters: FFCF, FBCF, LBCF. Author's perogative!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... matrix.3.12
A second-order Hadamard matrix may be defined by

$\displaystyle \mathbf{H}_2 \isdef
\frac{1}{\sqrt{2}}
\left[\begin{array}{rr}
1 & 1\\
-1 & 1
\end{array}\right],
$

with higher order Hadamard matrices defined by recursive embedding, e.g.,

$\displaystyle \mathbf{H}_4 \isdef
\frac{1}{\sqrt{2}}
\left[\begin{array}{rr}
\...
...}{rrrr}
1& 1& 1&1\\
-1& 1&-1&1\\
-1&-1& 1&1\\
1&-1&-1&1
\end{array}\right].
$

An $ n\times n$ Hadamard matrix has the maximum possible determinant of any $ n\times n$ complex matrix containing elements which are bounded by $ 1$ in magnitude. This can be seen as an optimal mixing and scattering property of the matrix.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... diagonal.3.13
This is easy to show by performing an expansion by minors to calculate $ \det(z\mathbf{I}-
\mathbf{A})$, always choosing to expand along the top row (for lower triangular) or first column (for upper triangular).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...3.14
This substitution was first applied to complete reverberators by Jot [217,218]. The idea is closely related to the approximate pole analysis in [319, p. 17], [432, pp. 170-172], and [211], and somewhat also to the allpass conformal maps used in [320,463].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....3.15
See [432, pp. 171-172] for a more detailed derivation which allows $ G(z)$ to have arbitrary phase, which results in shifting of the pole frequencies.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Kendall84.3.16
Of course, correct angles-of-arrival for early reflections are more straightforward to implement using an array of loudspeakers enclosing the listener.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... sound.4.1
For sound examples, see http://www.harmony-central.com/Effects/Articles/Flanging/.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...notches4.2
The term notch here refers to the elimination of sound energy at a single frequency or over a narrow frequency interval. Another term for this is ``null''.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... notches.4.3
The author discovered this by looking at the circuit for the MXR phase shifter in 1975.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...eq:dopplershift).4.4
If the tape travels in a loop, then Fig.3.10 provides a model for the Echoplex (Maestro, 1960), which consists of a tape loop with a fixed write-head and movable read-head.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... first4.5
The ``first'' write-pointer is defined as the one writing farthest ahead in time; it must overwrite memory, instead of summing into it, when a circular buffer is being used, as is typical.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Leslie,4.6
http://en.wikipedia.org/wiki/Leslie_speaker
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... derivation)5.1
Note that $ f_r$ and $ f_l$, as defined, are traveling-wave components of the force acting to the right on the string. That is, their sum $ f(t,x)=f_r+f_l$ is physically the force that the string-segment to the left of position $ x$ applies (in the upward direction) to the string-segment to the right of point $ x$. In other words, $ f(t,x)$ denotes the vertical force applied by the left segment to the right segment at time $ t$ and position $ x$; thus, it ``acts to the right'', even though its traveling-wave components, $ f_l$ and $ f_r$, travel to the left and right, respectively, at speed $ c$. The net physical force acting to the right at each point is exactly canceled by an equal and opposite force acting to the left at each point $ x$. See §G.7.2 for a detailed derivation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... inversion:5.2
All wave phenomena involve two physical state variables--one force-like and the other velocity-like. When one of these variables reflects from a termination with a sign inversion, the other reflects with no sign inversion, and vice versa. In acoustic systems, the force-like variable is pressure, and the velocity-like variable is either particle velocity (in open air) or volume velocity (in acoustic tubes--see §E.5.2 for definitions). In electromagnetic systems, the state variables are electric and magnetic field strengths or voltage and current. In a mass-spring oscillator, we may choose the velocity and acceleration of the mass as the coordinates of our state space, or position and velocity. For transverse waves on vibrating strings, it is usually preferable to use transverse force and velocity waves as described above.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...fMovingTermb,5.3
This diagram can be seen animated along with Figure 4.3 at
http://ccrma.stanford.edu/~jos/swgt/movet.html .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...,5.4
In somewhat more detail,

\begin{eqnarray*}
v^{+}&=&\frac{f^{{+}}}{R}\isdef \frac{-Ky'^{+}}{\sqrt{K\epsilo...
...ac{f^{{-}}}{R}\isdef \frac{Ky'^{-}}{\sqrt{K\epsilon }} = cy'^{-}
\end{eqnarray*}

so that $ v=v^{+}+v^{-}=c(y'^{-}-y'^{+})$, and $ y=c\int(y'^{-}-y'^{+})dx$.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...fsstring5.5
We should use the notation $ {\hat G}_N(z)$ for this loop-filter, since it depends on the string length $ N/2$ (in samples). The dependence of $ {\hat G}(z)$ on $ N$ is suppressed for simplicity of notation.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... response:5.6
The corresponding impulse response is $ h=[\ldots,0,{\hat g}(1),{\hat g}(0),{\hat g}(1),0,\ldots]$, where $ {\hat g}(0)$ occurs at time 0, and the transfer function is $ {\hat G}(z) = {\hat g}(0) +
{\hat g}(1)[z+z^{-1}]$. In practice, this filter is typically implemented in causal form, i.e., $ h = [{\hat g}(1),{\hat g}(0),{\hat g}(1),0,\ldots]$ starting at time 0, and one sample of delay is subtracted from a delay-line preceding or following the filter.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...JOSFP.5.7
http://ccrma.stanford.edu/~jos/filters/Allpass_Filters.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...OppenheimAndSchafer,JOSFP.5.8
http://ccrma.stanford.edu/~jos/filters/Transposed_Direct_Forms.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... transform5.9
http://ccrma.stanford.edu/~jos/filters/Introduction_Laplace_Transform_Analysis.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...JOSFP.5.10
http://ccrma.stanford.edu/~jos/filters/Differentiation.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... function,5.11
$ u(t)=0$ for $ t<0$ and 1 for $ t\ge 0$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...JOSFP,5.12
http://ccrma.stanford.edu/~jos/filters/Filters_Preserving_Phase.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...invfreqz5.13
In Matlab, the Signal Processing Tool Box is required, and in Octave, the Octave-Forge package is needed.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...KlapuriMohonk05,KlapuriSAP03,Klapuri01.5.14
Klapuri's publication home page: http://www.cs.tut.fi/~klap/iiro/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... time-slices:5.15
Note that this derivation also holds if the power `2' is replaced by an arbitrary $ p$, thereby supporting a generalization from the EDR to what might be called the ``LPDR'' using a kind of $ Lp$ norm on the remaining decay, where the EDR is regarded as the $ L2$ case.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....5.16
The delay-line length $ N$ is only the ``quasi-period'' in samples when the phase delay associated with $ H_l(z)$ can be neglected. $ N$ is never a true ``period'' because the synthesized signal is decaying from one block to the next.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... instrument.5.17
Electric guitars with magnetic pickups have nearly rigid terminations, but even then, coupling phenomena are clearly observed, especially above the sixth partial or so.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... be5.18
http://ccrma.stanford.edu/~jos/filters/Finding_Eigenvalues_Practice.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... law,5.19
A function $ f(x)$ is said to be odd if $ f(-x) = -f(x)$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... function:5.20
See http://www.trueaudio.com/at_eetjlm.htm for further discussion.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...SB.5.21
SynthBuilder is now a proprietary in-house tool at Analog Devices, Inc. See Appendix A for a description of the STK software prototyping environment that many of us use today. In particular, the Mandolin.cpp patch in the STK distribution is based on commuted synthesis. Some of us are also using the STK package in conjunction with pd [361] in order to obtain drag-and-drop graphical user interface support and a large library of MIDI processing tools.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... D.6.1
The PC88 stretching begins in the fourth octave, while the measured Steinway stretching is greatest in the first octave (reaching nearly -20 cents relative to ``nominal tuning'' for the first note A0) and picking up again, going sharp, in the sixth octave. See http://www.precisionstrobe.com/apps/stretchdata/stretchdata.html for the measured curves.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... impulse.6.2
We use the term ``pulse'' to refer to a filtered impulse, while the term ``impulse'' will always denote an isolated nonzero sample at some amplitude.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... excited.6.3
In other words, to obtain maximum signal-to-noise ratio in a finite dynamic range, it is better numerically to amplitude-scale at the final output rather than prior to any recursive digital filters (e.g., at the excitation before the string). However, such output scaling will distort the relative amplitude of one note with respect to a previous note that is still ringing in the string. For this reason, one might use some scaling both before and after the string, using powers of 2 scaling for one of them to avoid a second multiply.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... manner6.4
Implementation of a ``soft pedal'' can be done by suppressing the input to one of the delay lines, as if the hammer were ``shifted over'' a little so as to miss one of the strings.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... signals.6.5
In the Synthesis Tool Kit [90], vectorized signals are implemented by the tickFrame() member function, replacing the single-sample tick() function.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... order,7.1
It is valid to neglect the reed mass when the first reed resonance is well above the fundamental frequency of the played note, as is normally the case.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... closure.7.2
For operation in fixed-point DSP chips, the independent variable $ h_{\Delta}^{+}
\isdeftext p_m/2 - p_b^{+}$ is generally confined to the interval $ [-1,1)$. Note that having the table go all the way to zero at the maximum negative pressure $ h_{\Delta}^{+}= -1$ is not physically reasonable (0.8 would be more reasonable), but it has the practical benefit that when the lookup-table input signal is about to clip, the reflection coefficient goes to zero, thereby opening the feedback loop.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...exponentially9.1
If the flare of the bell is expressed as $ r(x)=ae^{\alpha x}+b$, where $ r(x)$ denotes the horn radius at position $ x$ along the bore axis, then $ \alpha$ is called the flare constant of the bell.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... pressure9.2
As always in this book, by ``air pressure'' we mean the excess air pressure above ambient air pressure. In the case of brass instruments, excess air pressure is created by the muscles of the lungs.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... mouthpiece.9.3
When the kinetic energy of a jet is converted back into air pressure, this is called pressure recovery. We assume, following [97] and others, that pressure recovery does not occur in this model. Instead, the kinetic energy of the ket is assumed to be dissipated in the form of turbulence (vortices and ultimately heat). Note that air flow is therefore assumed inviscid within the mouth and between the lips, but viscous around the jet in the mouthpiece.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Putland.9.4
For velocity waves, the flare may be hyperbolic [50].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... STK.A.1
This procedure is used in the author's teaching at CCRMA.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...MakefilesA.2
Only STK makefiles are generated by configure--the files myproj/Makefile and myproj/Makefile.proj must be edited by hand, if needed.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... kind.A.3
The STK has a compile-time macro called RAWWAVE_PATH which defaults to ``../../rawwaves/''. This works for programs located in directories such as projects/someproject/ within the top-level STK directory. One can set the rawwaves path at run time with the message Stk::setRawwavePath() sent to the global Stk object; similar messages set other global variables such as the sampling rate.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... system.A.4
http://ccrma.stanford.edu/~jos/mypc/Things_Do_after_Installing.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...A.5
Standard AC '97 single-chip CODECs common on many PC motherboards, such as the Intel ICH5, do not support a 44100 Hz sampling rate; however, 48000 Hz is supported in all implementations of the AC '97 CODEC standard. (See http://www.intel.com/design/chipsets/audio/ for further details on AC '97.) The STK system-wide default sampling-rate is set by the line ``const StkFloat SRATE = 44100.0;'' in ~/stk/stk/include/Stk.h. The main demo program, stk/projects/demo/demo.cpp, explicitly sets the sampling rate to 44100 Hz, so it must be changed there as well if you have this problem. Search for setSampleRate in demo.cpp to change it there, or use the '-s' option of the demo program. Similarly, most of the example programs (~/stk/stk/projects/examples/) set the sampling rate explicitly, and must be edited to change it.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... <Enter>.A.6
The notation M-x, pronounced ``meta x,'' means to hold down the Alt key and press the x key. Alternatively, one can type the Esc key followed by the x key. In either case, emacs will prompt for a command line input. The notation <Enter> means, of course, the Enter key (sometimes labeled Return).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... below.B.1
For further introductory information regarding compiling, linking, and debugging programs in the UNIX environment, see http://cslibrary.stanford.edu/107/.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... APIB.2
API stands for ``Application Programming Interface''
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... VSTiB.3
VST stands for ``Virtual Studio Technology,'' and VSTi stands for ``VST Instrument.''
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... daemonB.4
a daemon is a program that runs in the ``background'' to provide services to other programs.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... host.B.5
While optimization level 2 interferes with detailed single-stepping and variable inspection, it does not interfere with setting breakpoints and general looking around, which is all we need for the host program.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... install.B.6
Some prefer to type su -c "make install", but then you have to give the root password every time.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... messageC.1
In C++, ``sending message $ x$ to object $ y$'' amounts simply to executing function $ x$ in struct $ y$. This is sometimes referred to static binding, as opposed to dynamic binding.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...dAlembert.D.1
For a short biography of d'Alembert, see http: //www-groups.dcs.st-and.ac.uk/~history/Mathematicians/D'Alembert.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... (1685-1731)D.2
http: //<ibidem>/Taylor.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... (1707-1783)D.3
http: //<ibidem>/Euler.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... eyeglasses.D.4
http://www.mathphysics.com/pde/history.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... vibrations.D.5
http: //www.stetson.edu/~efriedma/periodictable/html/B.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...ZadehAndDesoer,Kailath80,Depalle.D.6
http://ccrma.stanford.edu/~jos/PianoString/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...strain.D.7
http://www.efunda.com/formulae/solid_mechanics/mat_mechanics/hooke.cfm
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... public.D.8
http: //cnx.rice.edu/content/m0050/latest/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...FettweisMain.D.9
Derivation: http://ccrma.stanford.edu/~jos/pasp/Wave_Digital_Filters.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Belevitch.D.10
http://www.ieee.org/organizations/history_center/oral_histories/transcripts/fettweis.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Flanagan72,FlanaganAndRabinerEds,RabinerAndSchafer78,SchaferAndMarkel79,OShaughnessy87,DPH93,Keller94.D.11
The overview [308] of early speech production models is freely available online, thanks to the Smithsonian Speech Synthesis History Project.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... formulation.D.12
http: en.wikipedia.org/wiki/Oliver_Heaviside
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... phenomenon.D.13
http:www.microwaves101.com/encyclopedia/history.cfm
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...D.14
Scattering theory: http://ccrma.stanford.edu/~jos/pasp/Scattering_Impedance_Changes.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... method.D.15
``Bicycle Built for Two'' by Kelly, Lochbaum, and Matthews, 1961: http://ccrma.stanford.edu/~jos/wav/daisy-klm.wav
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... completion.D.16
http://www.bell-labs.com/news/1997/march/5/2.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...PRCT.D.17
http: www.cs.princeton.edu/~prc/SingingSynth.html (includes sound examples)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...PainterAndSpanias2000.D.18
In particular, CELP is used in the free, open-source speech codec called Speex (http://www.speex.org).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...SchellengA,SchellengB,CremerC.D.19
http://www.zainea.com/Oscilationsofbowedstring.htm
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... simpleE.1
While this formula seems fairly simple now, in Newton's day, it was necessary to invent calculus before it could be stated in this way.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... velocity.E.2
The only massless particles are the photon and graviton (presuming it exists), and massless particles can only travel at the speed of light. By Einstein's famous formula $ E=mc^2$, we know that a particle's mass is proportional to its energy at rest.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... constant|textbf.E.3
The gravitation constant is given in International Standard Units (``SI units'') by

\begin{eqnarray*}
G &=& 6.672 \times 10^{-11} \mbox{ N}\mbox{ m}^2 \mbox{ kg}^{-2} (\mbox{ m}^2\mbox{ kg}^{-1}\mbox{ s}^{-2}) % \quad\mbox{(MKS)}
\end{eqnarray*}

where the following physical units abbreviations are used:

\begin{eqnarray*}
\mbox{ m}&\isdef & \mbox{meters = (length)}\\
\mbox{ kg}&\isd...
...box{seconds (time)}\\
\mbox{ N}&\isdef & \mbox{Newtons (force)}
\end{eqnarray*}

These physical units for $ G$ come directly from Newton's second law of motion (§E.1).

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...force|textbf.E.4
From a modern point of view, all forces are ``mediated'' by some particle, and there are only four basic forces: The electromagnetic force is mediated by the photon, the strong nuclear force is mediated by the gluon, the weak nuclear force is mediated the $ W$ and $ Z$ bosons, and gravity is thought to be mediated by the graviton, although gravity is not yet incorporated into the Standard Model of theoretical physics. Only the electromagnetic and gravitational forces are encountered in everyday life, since the strong and weak nuclear forces decay exponentially on the scale of an atomic nucleus. The approximate relative strengths of the strong:weak:EM:gravity forces are $ 10^40:10^5:40:1$. At very high energies, the weak and EM forces unify, according to the Standard Model.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... force.E.5
In this example, the mass-spring system is in equilibrium (not moving), so all forces in the system must sum to zero. Equilibrium also must hold if the whole system is traveling with a constant velocity; in other words, it is the lack of relative motion that matters.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... displacements.E.6
To show this quantitatively, consider two electrons, each having electric charge $ e$, separated by $ r$ meters. Then the Coulomb force between the electrons is proportional to $ e^2/r^2$. Adding a small perturbation $ \Delta r$ to $ r$ yields a new force proportional to

$\displaystyle \frac{e^2}{(r+\Delta r)^2}
= \frac{e^2}{r^2}\left(1+\frac{\Delta ...
...\approx \frac{e^2}{r^2} +
\underbrace{\left(-\frac{2}{r^3}\right)}_k\Delta r,
$

where we used the binomial expansion to obtain the approximation. (The notation $ {\cal O}(\epsilon^2)$ means ``terms order of $ \epsilon^2$'', and such terms approach zero as fast as $ \epsilon^2$ approaches zero.) Thus, the effective spring constant connecting the two electrons is $ k=-2/r^3$, when $ \vert\Delta r\vert\ll r$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... yieldingE.7
A more formal methodology for arriving at differential equations by applying Newton's law and Hooke's law is described in Appendix P. In the present example, consideration of the underlying physics should convince you that the signs in Eq.$ \,$(E.4) are correct. For example, when $ x$ is positive, the spring must push the mass back to the left. Therefore, $ m{\ddot x}= -kx$ means the mass will be accelerated to the left.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... time:E.8
See, e.g., [455, p. 235-236] for a derivation, and Appendix P, specifically §P.3.6, for related analysis.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... object.E.9
In SI units, work is in units called Joules (abbreviated J). Thus, Joules are Newtons times meters.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... considered.E.10
Ok, there does exist energy fluctuation on the scale of ``Heisenberg uncertainty''. That is, it is possible to have a violation in energy conservation by an amount $ \Delta E$ over a time duration $ \Delta t$, provided $ \Delta E \cdot
\Delta t$ is sufficiently small (on the order of Planck's constant $ h$). This can be considered a form of the Heisenberg uncertainty principle.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...MDFT.E.11
http://ccrma.stanford.edu/~jos/mdft/Projection.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... potential:E.12
This was first pointed out by Rayleigh [353, p. 39].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...E.13
http://www.grc.nasa.gov/WWW/K-12/airplane/sound.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...G.1
Any function of $ (t-x/c)$, where $ t$ denotes time and $ x$ denotes position along a ``waveshape'', may be interpreted as a fixed waveshape traveling to the right (positive $ x$ direction), with speed $ c$. Similarly, any function of $ (t+x/c)$ may be seen as a waveshape traveling to the left (negative $ x$ direction) at speed $ c$ meters per second. In both cases, $ x$ denotes a position along the waveshape, and $ t$ denotes time. For any fixed $ t$, a ``snapshot'' of the waveshape may be seen by evaluating along $ x$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... velocity|textbfG.2
The term phase velocity is normally used when it differs from the group velocity, as in stiff, dispersive strings (§G.6). In the present context, the phase velocity and group velocity are the same, so the term ``wave velocity'' is unambigous here. See the analogous terms phase delay and group delay in [455] for more details about the difference.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...G.3
A detailed derivation of the usual stiff-string wave equation Eq.$ \,$(G.32) is given by Morse in [322] or [323]. Derivations of more elaborate wave equations including rotary inertia and shear effects are given in Graff [170, pp. 180-195] (``flexural waves in thin rods''). See also Kolsky [266]. See Fletcher and Rossing [142] regarding stiff piano strings, and Cremer [94] regarding stiffness effects in violin strings (principally the prevention of sharp corners in the string).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... wave.G.4
The sum of the left- and right-going components, $ f=f^{{+}}+f^{{-}}$, equals the net force acting to the right.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... junction.G.5
When the wave impedance is complex, the junction effectively has state, so that energy, but not necessarily power, is conserved. See §G.14 for an example.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... scattering.G.6
Here it is assumed that $ -k_i$ and $ 1\pm k_i$ in the Kelly-Lochbaum junction can be computed exactly from $ k_i$ in the number system being used. This is the case in two's complement arithmetic as is typically used in practice.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ``right-going.''G.7
In the acoustic tube literature which involves only a cascade chain of acoustic waveguides, $ x^{+}$ is taken to be traveling to the right along the axis of the tube [298]. In classical network theory [35] and in circuit theory, velocity (current) at the terminals of an $ N$-port device is by convention taken to be positive when it flows into the device.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... foundG.8
http://ccrma.stanford.edu/~jos/filters/Similarity_Transformations.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... magnitude:G.9
While the literature seems to mention this property only for prime numbers $ p$, it is straightforward to show that it holds in fact for all positive odd integers $ p$. Prime values of $ p$ have advantages, however, when harmonics of the ``design frequency'' are considered.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... algorithms.I.1
See [102] for discussion of a wider variety of digital sine generation methods.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... algorithm,I.2
The ``magic circle'' algorithm is so named because it generates closed curves in the $ (x_1,x_2)$ plane even when numerical precision is very low. For this reason, it has long been used as an algorithm for drawing ``circles'' (actually ellipses) in computer graphics. The algorithm is derived naturally by numerically integrating the derivative relationships between sine and cosine:

\begin{eqnarray*}
d\cos(x)/dx &=& -\sin(x) \,\,\Rightarrow\,\,d\cos(x) = -dx\cdo...
...dx &=& \;\,\cos(x) \,\,\Rightarrow\,\,d\sin(x) = dx\cdot\cos(x).
\end{eqnarray*}

The magic circle algorithm is easily shown to be equivalent to the lowpass output of the infinite-$ Q$ digital state variable filter in ``Chamberlin form'' (defined in, e.g., [486,81]).

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... amplitude),I.3
When $ r_n=r$ is constant, the time constant $ \tau$ of the ensuing exponential growth or decay may be found by solving $ r=e^{-T/\tau}$ for $ \tau$ to obtain $ \tau = -T/$ln$ (r)$, where $ T$ denotes the sampling interval, and ln$ (r)$ denotes the natural logarithm of $ r$.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... analysisI.4
http://ccrma.stanford.edu/~jos/filters/State_Space_Models.html
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... samples.J.1
Classically, an interpolati