Interactive modal vibration and sound synthesis. Click an object to strike it and hear its modes.
(Inspired by the Sonic Explorer demo from [van den Doel and Pai 1998])
When a solid object is struck, the impact excites vibrational modes, which are standing wave patterns each with its own frequency, spatial shape, and decay rate. The total sound is the superposition of all excited modes, each ringing as a decaying sinusoid [1].
This demo implements four analytical models from classical vibration theory, organized by spatial dimension (1D or 2D) and restoring-force type (tension or bending stiffness):
The key perceptual distinction is between harmonic and inharmonic spectra. When mode frequencies fall in integer ratios (as in the string), the auditory system fuses them into a single pitch. When they do not (as in the beam, membrane, and plate), the result is a more complex, often metallic or percussive timbre without a clearly defined pitch [1, 4, 5].
Strike-position coupling: The excitation amplitude of mode n is proportional to the mode shape evaluated at the strike point, ψn(xs). Striking a nodal line (where ψn = 0) silences that mode entirely [1].
Rayleigh damping models energy dissipation as D = αM + βK. In the modal domain, mode n has decay rate αn = α/2 + β ωn2/2. The α term gives a constant decay rate across all modes (mass-proportional); the β term preferentially damps high-frequency modes (stiffness-proportional). Their balance determines material character: metals have low α and β (long ring), wood has high α (short, warm), rubber has both high (dead thud) [3].
Material presets are perceptually tuned within physically plausible ranges. The implied loss factors (η = 2ξ) at each preset's fundamental frequency fall within values reported in the vibration engineering literature: steel and glass at η ≈ 0.006, aluminum at η ≈ 0.014, ceramic at η ≈ 0.04, wood at η ≈ 0.1, and rubber at η ≈ 1.0 [8, 9]. The fundamental frequencies are free parameters chosen for perceptual clarity; in physical objects they would be determined by geometry, density, and stiffness.
Each preset sets three Rayleigh damping parameters. The table below shows the preset values and the physical quantities they imply at the fundamental frequency.
| Material | f1 (Hz) | α (1/s) | β (s) | ξ1 | η1 | T60 (s) |
|---|---|---|---|---|---|---|
| Steel | 440 | 1.0 | 2×10−6 | 0.003 | 0.006 | 1.70 |
| Aluminum | 520 | 2.0 | 4×10−6 | 0.007 | 0.014 | 0.62 |
| Glass | 880 | 0.5 | 1×10−6 | 0.003 | 0.006 | 0.89 |
| Wood | 220 | 40.0 | 5×10−5 | 0.049 | 0.098 | 0.20 |
| Ceramic | 660 | 5.0 | 1×10−5 | 0.021 | 0.043 | 0.16 |
| Rubber | 110 | 200 | 1×10−3 | 0.49 | 0.98 | 0.04 |
ξ1 is the damping ratio (fraction of critical damping) at the fundamental: ξ = α/(2ω) + βω/2. η1 = 2ξ is the loss factor, the quantity typically tabulated in materials science handbooks. T60 is the time for the fundamental mode to decay by 60 dB (a factor of 1000 in amplitude): T60 = 6 ln(10)/decay ≈ 13.8/decay.