# Coherent plate activity in a browser music visualizer

Technical report - 9 October 2026, with an implementation update on 10 October. Software snapshot: Resonance Lab 0.8.1, prepared for archival deposit on 10 October 2026. No DOI or public deposition is asserted in this snapshot.

## Abstract

Resonance Lab combines signal displays, a truncated bending-plate model, and designed musical mappings. This report examines one reproducible numerical problem in its Plate model and Measured layers: replacing a spatial mean-square response with a sum of independent modal powers. Oscillators with different natural frequencies can respond coherently to the same forcing frequency, so that replacement discards interference. We implemented full modal second moments and compared their spatial reconstruction with an independently summed complex harmonic field. For ten specified square and rectangular cases, the previous relative spatial L2 error ranged from 0.00240 to 0.912; corrected double-precision reconstruction agreed to below 1.2 × 10⁻¹⁵ for the same truncated bank. A separate modal-refinement comparison exposes large high-frequency truncation errors that the correction does not remove. These results validate a reconstruction method for stated inputs, not a calibrated physical sand simulation or perceptual advantage.

## Scope and contribution

The contribution is an inspectable implementation correction, numerical comparison, regression tests, and documentation of model limits. The analytical plate modes, forced-oscillator solution, second-moment identity, and stochastic transport ideas are established methods. This report claims no new physical law, original theory of cymatics, or demonstrated listener preference.

The original broad review of fifteen visualization families is preserved as the [literature review](literature-review.md). The [model specification](mathematical-models.md) contains equations and a dated implementation history. The [annotated bibliography](annotated-bibliography.md) and [source registry](sources.json) record the wider literature; those references are not all evidence for the narrow experiment here. The [study plan](study-and-publication-plan.md) remains a proposal.

A plate and a membrane obey different spatial operators and boundary conditions. The model here is a simply supported rectangular bending plate; it does not reproduce a centrally mounted laboratory plate from photographs. Relevant foundations include [Leissa's plate vibration monograph](https://ntrs.nasa.gov/citations/19700009156) and [Brugnoli et al.'s Kirchhoff–Love formulation](https://arxiv.org/abs/1809.11136). [Müller's Numerical Chladni figures](https://arxiv.org/abs/1308.5523) is a membrane example, not interchangeable validation of this plate.

## Implemented model

Let width and height be Lx and Ly, thickness h, density ρ, elastic modulus E, and Poisson ratio ν. The surface mass is μ = ρh and flexural rigidity is D = Eh³/[12(1−ν²)]. Simply supported sine modes and their natural frequencies are

φ_mn(x,y) = sin(mπx/Lx) sin(nπy/Ly),

f_mn = (π/2) sqrt(D/μ) [(m/Lx)² + (n/Ly)²].

The short edge is 0.30 m, h = 0.002 m, E = 200 GPa, ρ = 7,800 kg/m³, ν = 0.30, damping ratio ζ = 0.015, and the point exciter is at fractional coordinates (0.41, 0.38). These are declared assumptions, not measured properties. Modal mass is ρhLxLy/4. The live model retains m,n = 1…4: sixteen sine modes, grouped when their frequencies coincide.

For a group g, B_g contains the sum of each member's sine shape times its exciter coupling divided by modal mass. The common force-response state satisfies

q̈_g + 2ζω_g q̇_g + ω_g² q_g = F(t),

w(x,y,t) = Σ_g B_g(x,y) q_g(t).

The input is the mean of left and right audio samples with a nominal full-scale point-force amplitude of 1 N. It is an arbitrary force mapping, not a microphone pressure calibration. Listening volume is applied after analysis.

Each oscillator uses an exact zero-order-hold state transition at the audio sample rate. Exactness applies to the assumed held input and linear oscillator; it does not make sampled audio identical to a continuous sinusoid. The worklet emits measurements over blocks of at least 2,048 samples.

## Correct spatial activity

The field is a windowed second moment:

C_ij = mean(q_i q_j),

V(x,y) = Σ_i Σ_j B_i(x,y) B_j(x,y) C_ij.

No mean is subtracted from q: C is a second-moment matrix, despite the conventional covariance name in the packet API. Off-diagonal entries carry interference. They need not vanish when natural frequencies differ: under a common sinusoidal drive, all steady responses oscillate at the drive frequency, with different phases.

The former renderer used only diagonal entries. Orthogonality can make its spatially integrated activity correct while its local field is wrong. A test of total modal energy therefore cannot establish the accuracy of the displayed pattern.

The corrected worklet measures every pair in the broadband bank and each of three filtered banks. Symmetric matrices are packed into 55 values for ten square groups or 136 for sixteen nondegenerate groups. The renderer accumulates spatial terms in Float64, then stores its grid in Float32 and normalizes by the spatial maximum. Broadband display memory is 0.18 s. Measured layers smooths the complete matrix after relative band exposure, with an effective minimum Field memory of 0.20 s. Those normalizations and memories are display decisions.

Paused tone previews use analytical harmonic second moments. Equal stereo tones are coherent. Unequal stereo tones are averaged as separate drive components, omitting finite-window beat terms between the two drive frequencies. Live measurement includes finite-window terms. Paused files and captured audio retain their last measured signal snapshot; switching to Trace or Spectrum no longer substitutes the tone preview.

## Reproducible comparison

Run from the repository root:

~~~sh
npm test
npm run validate:modal
npm run dev
# In a second terminal, with Chrome installed:
npm run test:research
npm run test:alignment
npm run test:browser
npm run test:forms
npm run test:a11y
~~~

The analytical comparison uses a unit sinusoidal force, the stated parameters, an 81 × 81 grid including the zero boundary, and frequencies 200, 267.2, 535, 1,000, and 2,000 Hz at aspect ratios 1 and 1.5. The independent reference sums individual complex sine-mode responses before taking half the squared magnitude. The production second-moment reconstruction is compared before spatial normalization.

Relative L2 is sqrt[Σ(V_test−V_reference)² / ΣV_reference²]. The code is tools/validate-modal-field.mjs in the source archive; exact values, environment, timing protocol, and base Git revision are in [modal-validation.json](results/modal-validation.json). Its working tree is explicitly identified as a local candidate rather than an existing tag.

| Aspect | Drive, Hz | Previous diagonal error, % | Corrected same-bank error | 4 × 4 bank vs 24 × 24 reference, % |
| --- | ---: | ---: | ---: | ---: |
| 1 | 200 | 66.181 | 7.13e−16 | 1.126 |
| 1 | 267.2 | 0.240 | 6.97e−16 | 0.013 |
| 1 | 535 | 0.713 | 6.85e−16 | 0.072 |
| 1 | 1,000 | 66.235 | 1.13e−15 | 7.785 |
| 1 | 2,000 | 82.527 | 6.34e−16 | 98.819 |
| 1.5 | 200 | 76.739 | 7.14e−16 | 2.875 |
| 1.5 | 267.2 | 2.749 | 7.61e−16 | 0.160 |
| 1.5 | 535 | 72.716 | 8.93e−16 | 11.399 |
| 1.5 | 1,000 | 78.626 | 8.91e−16 | 62.753 |
| 1.5 | 2,000 | 91.240 | 5.53e−16 | 99.304 |

The tiny corrected errors describe double-precision numerical reconstruction for the same modes, not display pixels, measured displacement, or accuracy against a complete plate. Final Float32 storage and normalization have finite precision.

Refinement separately compares banks with indices 1…4, 1…8, and 1…16 against 1…24. At 2,000 Hz, the square errors are 98.819%, 1.773%, and 0.200%; the aspect-1.5 errors are 99.304%, 66.095%, and 0.445%. A 24 × 24 bank is still a truncated analytical reference. These ten cases are not a uniform error bound or proof of convergence at all frequencies.

The original sixteen-mode bank's highest square natural frequency is about 1,711.6 Hz. Its display at 2,000 Hz consequently misses important resonant modes. The code retains the small bank for interactive cost and comparison with earlier versions; the model card now states its low-order nature. A higher-order live solver needs a separate cost and accuracy design, rather than a claim that this fix makes the whole audio range physically faithful.

![Mean-square square-plate activity at 200 and 2,000 Hz: previous diagonal reconstruction, corrected coherent reconstruction, and a 24 × 24 truncated reference.](results/modal-comparison.png)

Figure 1. Each panel is divided by its own spatial maximum to show geometry. Numerical L2 errors in the table use raw fields before normalization. The high-frequency reference exposes missing modes as well as the interference error.

## Implementation checks and computational cost

At the 9 October checkpoint, the numerical suite contained 50 tests. Three new regressions check coherent harmonic reconstruction, the actual Plate/Measured-layer renderers with destructive interference, and the actual worklet's sample-window moments against independent analytical free motion. The worklet test also verifies sample-frame metadata, diagonal powers, and aspect-change resets.

A separate Chrome regression checks identity of the last measured file snapshot through pause, frozen Spectrum/Trace pixels, explicit tone-preview selection, the effective memory control, and live off-diagonal worklet measurements. The full browser and rectangle/GPU suites pass. Automated axe checks report no violations in their 33 tested states; this is limited automated coverage, not a complete accessibility certification.

A warmed Node microbenchmark of 100 reconstructions per case records median costs on the order of milliseconds (the exact per-case values are in the result file) for 80²/96² grids and the two aspect ratios on the recorded CPU. These timings exclude audio processing, particles, browser scheduling, and GPU work. They do not demonstrate sustained 60 fps or total latency. Only the active sand behavior is reconstructed during animation.

## Demo correspondence update — 10 October 2026

The interface now states each view's input, quantity, clock, domain, evidence, and limits in Model & evidence. The original six views and three sand behaviors remain available. Plate model can display its existing normalized activity field beneath the grains; toggling this overlay leaves the field and grain positions unchanged. Its Grain response control scales only activity-dependent diffusivity, with the original law preserved at the default response. This is a transport display choice, not a change to the plate equations or a calibration.

Trace now obtains both channels from the same 2,048-sample AudioWorklet ring window, with a shared end-frame timestamp and immutable transferred copies. This replaces separate analyser reads that could occasionally return different channel windows. Spectrum and musical FFT processing remain unchanged.

The research page reads the ten saved rows directly from the result JSON. Links to the 200 Hz coherence and 2,000 Hz truncation cases select square-plate analytical tone previews with a field overlay. They do not rerun the independent numerical comparison. Differences between the analytical preview and live finite-window response remain stated above.

The numerical/input suite has 54 passing tests, including four new context, preset, diffusion, and paired-window regressions. The alignment browser suite preserves the field and grains when toggling the overlay, checks 1,000 mono signal snapshots for channel equality, verifies the saved-result table and study links, and checks mobile layout. Automated axe coverage now includes the expanded notes and activity overlay, for 36 tested states without reported violations. These checks establish interface correspondence and specified numerical behavior; they add no measured-plate validation or perceptual evidence.

## Relationship between research and the demo

Plate model uses the stated low-order bending response and corrected mean-square activity. Its diffusion-only grains remain illustrative. Measured layers uses the same response with three overlapping filtered inputs, relative exposure, gradient attraction, diffusion, and a diffusivity floor.

The default Five-band sand is a different designed mapping: each band peak drives a scaled 36-mode virtual plate and a selected phase slice, with the common boundary factor removed to emphasize interior zeros. Its colors are fixed frequency populations, not separated instruments. These three behaviors change several variables simultaneously, so their visual comparison is not a controlled physical/artistic/hybrid experiment.

Research on stochastic Chladni transport motivates mechanisms, but does not calibrate the chosen metal-plate renderer. [Arango and Reyes](https://doi.org/10.1017/S0013091515000139) and [Abramian et al.](https://doi.org/10.1103/PhysRevResearch.7.L032001) concern specified models and regimes; borrowing a mechanism is not experimental replication.

Trace and Spectrum display sampled signals. Waves uses a normalized numerical wave equation with a visual clock. Flow orb and Constellation are designed audio-controlled geometry. The orb's researched curl construction does not supply pressure, viscosity, or a full fluid solver. None of these views establishes new physics or source separation.

## Archival status

A stable source release and this report can be archived as software with supporting documentation. Zenodo accepts software and research artifacts at different stages; deposition supplies preservation and a DOI, not peer review. See its [resource types](https://help.zenodo.org/docs/deposit/describe-records/resource-type/) and [policies](https://about.zenodo.org/policies/). The prepared local bundle has not been uploaded. The [archive notes](archive-notes.md) supply a suggested record description and identify the remaining release choices.

## AI assistance and limitations

**AI-assisted project.** Developed with the help of AI tools, including Codex, in literature exploration, technical writing, implementation, code review, and numerical verification. Methods and outputs are provided for inspection and reproduction.

There are no participants, listener ratings, measured plate data, calibrated grain coefficients, external finite-element benchmark, full-audio-range accuracy guarantee, or independent reproduction in this report. Those are explicit limits of the present artifact, not completed work.
