Since finding the intersection of
and
requires an expensive
iterative algorithm with variable convergence times, it is not well suited
for real-time operation. In this section, fast algorithms based on
precomputed nonlinearities are described.
Let
denote half-pressure
, i.e.,
and
. Then (9.43) becomes
![]() |
(10.47) |
Because the table contains a coefficient rather than a signal value, it
can be more heavily quantized both in address space and word length than
a direct lookup of a signal value such as
or the like. A
direct signal lookup, though requiring much higher resolution, would
eliminate the multiplication associated with the scattering coefficient.
For example, if
and
are 16-bit signal samples,
the table would contain on the order of 64K 16-bit
samples.
Clearly, some compression of this table would be desirable. Since
is smoothly varying, significant compression is in fact
possible. However, because the table is directly in the signal path,
comparatively little compression can be done while maintaining full
audio quality (such as 16-bit accuracy).
In the field of computer music, it is customary to use simple piecewise linear functions for functions other than signals at the audio sampling rate, e.g., for amplitude envelopes, FM-index functions, and so on [385,383]. Along these lines, good initial results were obtained [435] using the simplified qualitatively chosen reed table
Another variation is to replace the table-lookup contents by a piecewise polynomial approximation. While less general, good results have been obtained in practice [89,91,92]. For example, one of the SynthBuilder [356] clarinet patches employs this technique using a cubic polynomial.
An intermediate approach between table lookups and polynomial approximations is to use interpolated table lookups. Typically, linear interpolation is used, but higher order polynomial interpolation can also be considered (see Chapter 4).