Download Power-Balanced Drift Regulation for Scalar Auxiliary Variable Methods: Application to Real-Time Simulation of Nonlinear String Vibrations Efficient stable integration methods for nonlinear systems are
of great importance for physical modeling sound synthesis. Specifically, a number of musical systems of interest, including vibrating
strings, bars or plates may be written as port-Hamiltonian systems
with quadratic kinetic energy and non-quadratic potential energy.
Efficient schemes have been developed for such systems through
the introduction of a scalar auxiliary variable. As a result, the stable real-time simulations of nonlinear musical systems of up to a
few thousands of degrees of freedom is possible, even for nearly
lossless systems. However, convergence rates can be slow and
seem to be system-dependent. Specifically, at audio rates, they
may suffer from numerical drift of the auxiliary variable, resulting
in dramatic unwanted effects on audio output, such as pitch drifts
after several impacts on the same resonator.
In this paper, a novel method for mitigating this unwanted drift
while preserving power balance is presented, based on a control
approach. A set of modified equations is proposed to control the
drift artefact by rerouting energy through the scalar auxiliary variable and potential energy state. Numerical experiments are run
in order to check convergence on simulations in the case of a cubic nonlinear string. A real-time implementation is provided as
a Max/MSP external. 60-note polyphony is achieved on a laptop, and some simple high level control parameters are provided,
making the proposed implementation suitable for use in artistic
contexts. All code is available in a public repository, along with
compiled Max/MSP externals1.