sgugler.ch · mol sounds
Listening to molecules
Two ways to turn a molecule into sound. MD sounds plays a molecular dynamics trajectory as a chord whose voices follow the bonds, next to an animation, and asks whether you can hear a force field fail or tell molecules apart. Molecule chords plays a molecule's vibrational spectrum, or its bond graph, as a chord and an arpeggio.
1 · Listen and watch
Drag to rotate. Bonds take their voice's colour and get brighter and thicker the further they stretch from their mean length.
Each voice's pitch offset in octaves from its base note (clipped at −2 and +3). For glyceraldehyde, the panels below show total-energy drift and the largest atomic force with the check thresholds dashed; the red line is the first automated flag. Click a plot to jump.
2 · Can you hear the force field fail?
Eleven unlabeled 30-second glyceraldehyde clips, a mix of stable and failing segments, in a fixed shuffled order. Press space or the red button the moment something sounds off. Press as often as you like; only the first press per clip is scored. Use headphones, and skip the failing run in section 1 first if you want a fair score.
Clip A
Send the JSON to Stefan, or run evaluate.py on a folder of them for the human-versus-automated plot.
3 · Which molecule is it?
Sixteen 15-second MD17 clips, two per molecule, taken from parts of each trajectory that section 1 doesn't play. Every molecule uses the same instrument: one fixed note per bond type, and the same pitch scale for all. Listen and pick.
How it works
Sound
Bonds are found in the first frame. Each frame, every bond's deviation from its mean length is taken, bonds are grouped by element pair, and each group becomes one voice whose feature ri(t) is the largest deviation in the group. The voice sounds at
fi(t) = f0,i · 2c (ri(t) − r̄i) / σi
with gain c = 0.5 octave per standard deviation and one base note per bond type, a just A-major chord: C–H 220 Hz, C–C 275, C–O 330, O–H 440, C–N 495, N–H 550. Sines with continuous phase, summed and soft-limited; 25 MD frames per second of audio.
For glyceraldehyde, r̄i and σi come from the stable run. For MD17 they are pooled over all eight molecules per bond type, so a floppier molecule really does sound wilder than a stiff one.
Automated checks
A glyceraldehyde frame is flagged when the total energy has drifted more than 11.5 kcal/mol (0.5 eV), the largest atomic force exceeds 115 kcal/mol/Å (5 eV/Å), or two atoms come closer than 0.75 Å. Both stable runs never trip a check; the failing run is first flagged at frame 333 (energy drift), then at 353 (force).
Data
Glyceraldehyde: one SchNetPack force field, NVE velocity Verlet at 0.5 fs, same start geometry; 2 000 steps from 300 K (stable), 20 000 steps from 300 K (stable, extra clips), 2 000 steps from 400 K (fails).
MD17 (Chmiela et al., 2017): DFT (PBE+vdW-TS) ab initio MD at 500 K, 0.5 fs steps; 1 500 consecutive frames per molecule in section 1.
Caveats
- The failing glyceraldehyde run starts hotter, so its voices wobble more from the first frame, before anything has gone wrong. A fair failure test needs a stable run at the same temperature.
- All four failing clips come from one trajectory and three of them overlap.
- In the quiz, the number of voices gives some molecules away: uracil is the only one with C–N and N–H bonds, benzene, toluene and naphthalene only have C–C and C–H.
Molecule chords
No dynamics here: each molecule is played from its normal modes. Vibrations uses the harmonic frequencies and IR intensities from a GFN2-xTB Hessian at the optimised geometry. Bond graph ignores the geometry and treats the molecule as balls and springs, atoms with their real masses and every bond a spring as stiff as its bond order, so it is a cartoon of the real spectrum built from connectivity alone. Click a line in the spectrum to hear and see a single mode.
Each line is one mode at its pitch (log axis); height is its loudness. In true-ratio mode the intervals between notes are exactly the ratios between the vibrational frequencies, so modes below about 100 cm⁻¹ fall under 25 Hz and are left out. While a mode plays, the molecule moves along it; in the bond graph, atom size and colour show the spring mode's amplitude.
Geometries from RDKit, optimised and analysed with xtb 6.7 (GFN2). Graph mode: frequencies are √λ of M−1/2LM−1/2, with L the bond-order-weighted graph Laplacian and M the atomic masses, scaled so a single bond to hydrogen sits at 3000 cm⁻¹.