4a8abcfString of beads: 3D bead-spring solver, control panel, waveform, spectrogram, wav, displacement viewerJeremy Magland 1import { mountBeadString } from './bead-string/page';
2cd36faBead drum: hex-lattice round head, felt mallet contact, top view and cross-section; shared instrument pageJeremy Magland 2import { mountBeadDrum } from './bead-drum/page';
c696b9aCymbal: plate bending via per-triangle shape operators, felt centre support, stick and mallet with angle and friction, far-field microphoneJeremy Magland 3import { mountBeadCymbal } from './bead-cymbal/page';
4a8abcfString of beads: 3D bead-spring solver, control panel, waveform, spectrogram, wav, displacement viewerJeremy Magland 4
5export interface Instrument {
6 id: string;
7 name: string;
8 blurb: string;
9 mount?: (root: HTMLElement) => void; // absent = not built yet
10}
12export const INSTRUMENTS: Instrument[] = [
13 {
14 id: 'bead-string',
15 name: 'String of beads',
16 blurb: 'Point masses joined by pre-tensioned springs, moving in 3D. Pluck, strike or hammer it; clamp, slide or free the ends; pin beads.',
17 mount: mountBeadString,
18 },
2cd36faBead drum: hex-lattice round head, felt mallet contact, top view and cross-section; shared instrument pageJeremy Magland 19 {
20 id: 'bead-drum',
21 name: 'Bead drum',
22 blurb: 'A round drumhead: a tensioned hex net of beads in a clamped rim. Hit it with a felt mallet, strike, push or press it.',
23 mount: mountBeadDrum,
24 },
c696b9aCymbal: plate bending via per-triangle shape operators, felt centre support, stick and mallet with angle and friction, far-field microphoneJeremy Magland 25 {
26 id: 'bead-cymbal',
27 name: 'Cymbal',
28 blurb: 'A thin bronze plate on felts at its centre, flat or with bow and bell. Hit it with a stick or mallet, at any angle; listen through a microphone.',
29 mount: mountBeadCymbal,
30 },
4a8abcfString of beads: 3D bead-spring solver, control panel, waveform, spectrogram, wav, displacement viewerJeremy Magland 31 { id: 'bead-bar', name: 'Bar', blurb: 'A stiff chain with bending springs, free ends: xylophone-like overtones.' },
32];