string-pluck-v1: plucked damped string, pickup velocity#
This is the hello-world challenge of the collection. The model is a linear damped string with fixed ends, released from rest from a smooth plucked shape. The deliverable is a two second mono wav file containing the transverse velocity of the string at a fixed pickup point. Every quantity below is defined in the continuum, so the true solution is a specific function of time that does not depend on any discretization. A modal series solution is given in the appendix; it converges to the true solution and can be evaluated to machine precision, so this challenge is mainly a test of the submission and scoring pipeline.
The machine-readable version of this specification is challenge.json.
Model#
Let denote the transverse displacement in meters of the string at position and time . The string satisfies
with fixed ends
and initial conditions
Here is the wave speed, is a frequency-independent loss rate, and is a Kelvin-Voigt viscosity that damps high frequencies faster than low ones. The initial shape is a raised cosine bump of height and half-width centered at the pluck point :
Note that is continuously differentiable and vanishes at both ends, since .
Parameters#
| Symbol | Value | Unit | Meaning |
|---|---|---|---|
| 0.65 | m | string length | |
| 143 | m/s | wave speed (fundamental Hz) | |
| 3 | 1/s | frequency-independent loss rate | |
| 0.004 | m^2/s | Kelvin-Voigt viscosity | |
| 0.002 | m | pluck height | |
| 0.1625 | m | pluck center () | |
| 0.03 | m | pluck half-width | |
| 0.54 | m | pickup position |
All values are exact decimal numbers, not rounded measurements.
Output signal#
The audio signal is the transverse velocity of the string at the pickup point,
The deliverable is a wav file with the following properties.
| Property | Value |
|---|---|
| channels | 1 |
| sample rate | 48000 Hz |
| number of samples | 96000 (2.0 s) |
| sample format | 32-bit IEEE float (WAVE_FORMAT_IEEE_FLOAT) |
| sample , for | |
see output.signal_scale in challenge.json (m/s) |
The first sample is at , where . Samples are pointwise values of the continuum signal. No anti-aliasing filter is applied, even though contains frequency content above the Nyquist frequency; that content is heavily damped by the Kelvin-Voigt term and is part of the exact answer. The scale is a fixed constant chosen so that the peak sample magnitude is roughly 0.5. Do not normalize the signal; absolute amplitude is compared.
Error measures#
Let and , , be the samples of a submitted solution and of the reference solution. Two error measures are computed. Both are relative and dimensionless, and both are reported for every solution.
Waveform error (primary):
Spectrogram error. Let be the frame length and the hop. The periodic Hann window is for . Frame of a signal is , for , with no zero padding at either end. Let , , be its discrete Fourier transform, . Then
The spectrogram error ignores phase within a frame and is less sensitive than the waveform error to small frequency errors that accumulate into phase drift over the two seconds.
Reference solution#
There is no externally supplied ground truth. The reference is chosen automatically from the submitted solutions by the procedure described in the collection README, unless reference_solution in challenge.json names one explicitly. For this particular challenge the modal series in the appendix gives an essentially exact answer, which is expected to be selected.
Appendix: modal series solution#
This appendix is provided for convenience and verification; it is not part of the challenge definition, and a submission may use any method.
Expanding with , each coefficient satisfies
with and , where
With the parameters above, for every integer , since is not an integer. For every mode that matters (the modes are underdamped up to roughly ), and in that case, with ,
The pickup velocity is then
Since and carries an extra factor of , the terms decay like before damping is taken into account, and for the exponential factor makes the series converge rapidly. In practice a few hundred modes give the signal to single precision for all ; at the exact value is .