| Remove the driven plate app
|
main |
· 28s |
| Plate: remove the curvature (domed rest shape) and its cross-section, to keep the plate simple; Parameters stays in the right column
|
main |
· 26s |
| Plate: Parameters back in the right column; true-scale cross-section under the height map showing the dome and the thickness
|
main |
· 28s |
| Plate: optional curvature (domed rest shape, Marguerre shallow shell): stretching measured from the rest shape, computed modes with the curvature stiffness, generalized nonlinear scale
|
main |
· 27s |
| Note renderer: step at the stability step and read the signal between steps by cubic interpolation (no longer at least 4 steps per audio sample); plate notes 1.4-2.3x faster
|
main |
· 27s |
| Plate: Lyapunov exponent (shadow plate; real-time chart in a new Real time card, note chart and λ vs E off by default); Parameters folded under the plate
|
main |
· 27s |
| Plate: remove membrane tension (did not sound like a drum; drums later); clamped edges stay
|
main |
· 21s |
| Plate: clamped edges (clamped 13-point stencil, computed modes) and a general membrane tension T for held edges; mallet unchanged
|
main |
· 26s |
| Plate: stretching with free edges (free in-plane edge, clamped stress function by sine solves + Woodbury); free plate moved to grid vertices (edge masses on the edge, half/quarter mass), second-order bending and stretching; mallet takes per-mass masses
|
main |
· 27s |
| Plate: free edges (full bending energy with Poisson term, rigid motions removed, modes by symmetry blocks with a new Householder/QL eigensolver); stretching off when free for now
|
main |
· 27s |
| Plate: von Kármán stretching (stress function by sine transforms, exact gradient), thickness h sets it (default 5 cm), step from the strike energy, nonlinear scale
|
main |
· 26s |
| Plate: new app, square simply supported linear plate on a grid (exact sine modes, mallet or kick at a point, height map, sped-up note with spectrogram)
|
main |
· 27s |
| Beam: free-free ends in the page (Ends 'free'; rigid part of strikes removed and reported; mode displays by Modes.count; bending offsets for ghost and Lyapunov shadow; drawing without supports)
|
main |
· 26s |
| Beam: free-free ends in the physics (rigid motions removed by projection, modes without the rigid pair); not yet in the UI
|
main |
· 27s |
| Beam defaults: 16 masses, frequency-dependent loss on (τ top 200 s), mallet strike (M 1 kg, K 1000)
|
main |
· 21s |
| Beam: mallet strike (Hertz contact, mass M and stiffness K in Parameters; shared contact routine in src/common/mallet.ts); hammer shape factored out; kick stays the default
|
main |
· 27s |
| Beam: strike and listening at positions along the beam (m), hammer blow of fixed physical width, so both mean the same at any N; N = 8 unchanged
|
main |
· 26s |
| Anti-alias filter for rendered notes (beam, fput-chain): 4x oversampling, Kaiser FIR low-pass to 0.42 fs, decimation; beam warning now says modes above the passband are filtered out
|
main |
· 26s |
| Beam: integrator step 0.2 / omega_eff (was 0.03): 6.5x fewer steps, top-mode pitch error 2.9 cents, statistically equivalent notes
|
main |
· 28s |
| Beam: Masses refines the same beam (parameters for 8 masses, scaled with the spacing), so the low modes, decay times and note length stay put as N grows
|
main |
· 28s |