Give a sound its shape.
Choose a chord and ask Rust to design a polygonal membrane. Inspect the returned shape, animate its computed vibration modes and compare requested and obtained tones.
shape_the_soundTry the real call Shape a sound. Hear the result.
Give a sound its shape.
Choose the notes. Ask Rust to find a membrane. Explore the shape it actually returns.
Inputs only. Start the calculation with the button above. One cent is 1/100 of a semitone.
Preparing the acoustic atelier…No vibration is shown until the engine returns a modal mesh. The display mesh is coarser than the solver mesh.
From your input · fundamental 196 Hz.
No spectrum is inferred from the illustration.
Playback is a quiet 1.8-second sum of pure sine tones, not the sound of a physical drum. Requested tones use your inputs; returned tones use the engine’s frequencies. No sound starts automatically. Playback requires every tone to lie between 20 and 8,000 Hz; frequencies are never transposed.
Model: a connected, uniform, planar membrane with a fixed edge. Air, damping and material stiffness are not included. Shape refinement is checked with the shared forward solver, not an independent method.
Useful evidence needs boundaries.
- The model is a connected, uniform, planar membrane with a fixed edge. Free edges, nonuniform materials, damping and air coupling are outside its scope.
- A bounded search that does not meet the target is not a proof of impossibility. An exact-target exclusion is distinct from exclusion of the full tolerance window.
- The final check reuses the forward finite-element solver. Estimated discretization errors are not rigorous bounds and do not constitute independent certification.
- The fundamental is numerically tuned when both fundamental_hz and wave_speed are supplied. Returned values and resolution warnings remain authoritative.
- Modal displacement is normalized and exaggerated; animation is slowed. Playback uses synthetic sine tones, not a physical drum model or recording.
- The number of evaluations is bounded; the native engine does not guarantee a maximum wall-clock duration.