REED STUDY 004 — REED, BREATH, AND HISTORY Prepared for Charlie and external review. Generated 2026-10-18T00:41:42.682Z. Listening lab: https://reed-study.charlesmish.chatgpt.site/lab.html WHAT WAS BUILT A comparison lab beside the existing playable instrument. The production engine, keyboard, tuning tables, response-map engine, and breath shaper remain unchanged. The lab offers 25 unique synthetic WAVs in 7 comparison groups, exact settings, measured responses, WAV downloads, and a notes export. These are physical-model renders, not recordings of real reeds. Original levels are the default. Optional level matching only turns the louder whole recording down; it does not alter the saved WAVs or measurements. The most useful musical questions are whether the loose voice keeps its character at matched relative pressure, whether deliberate closure is interesting, and whether the two paths to the same note should remain an expressive feature. This build does not select a new default voice for Charlie. RESULTS IN PLAIN LANGUAGE 1. Loose lip retains a measurable spectral difference after matching relative breath pressure. Hidden harder blowing is not the whole explanation. The measurements do not prove which feature Charlie hears as grain. 2. Reachable closure produces an actual high-pressure choke, followed by recovery when breath drops. It changes the instrument's behavior and may remove a sustained region Charlie enjoys. 3. Refining the old equations gives modest changes in the two tested C4 voices. This does not establish uniform convergence throughout the control space. 4. The earlier low-lip fresh-versus-held pitch difference is reproducible and persists at a finer step and longer hold. The ordinary lip 15% pressure sweep does not expose it. The same visible controls can therefore retain materially different sounding states. COMMON METHOD All audition files are mono PCM16 at 48 kHz, with fixed engine output scaling and no normalization. Internal rates are separately specified at 192, 384, or 768 kHz. The original Supple tube calibration is frozen, even where an intervention changes pitch. Mouth coupling and tongue load are off. Reed resonance is fixed within each comparison. Controls retain the model's 18 ms smoothing. The controlled trials disable the tiny per-internal-step random width perturbation. The reference group separately compares the original perturbed engine and the otherwise identical unperturbed engine. Identical seeds at different internal rates would not imply identical continuous-time noise, so that shortcut is not used. Targeted history tests also reproduce the original noisy probes before making noise-free comparisons. Primary level and pitch measurements use each row's declared held window. Peak covers the whole clip. Spectral centroid is power-weighted from an 8192-point Hann-window FFT. Odd/even balance is a coarse ratio of energy around the first sixteen harmonics. Autocorrelation is checked across half windows, but a multiphonic signal can still yield a strong common-period or subharmonic estimate. 'Periodic' is an estimator result, not proof of a single physical mode. There is no universal quality score. Contact duty counts displacement beyond lay-contact onset. Endpoint closure duty and actual flow-aperture closure duty are separate: midpoint mechanics evaluates flow at midpoint variables. The statistics count every internal step. Quiet, uncertain, or invalid results are not silently converted into a target note. LIP DECOMPOSITION The effective mapping is: h0 = .00046 (1 − .60 E) metres Pc = (9000 − 5000 S) (.76 + .62 E) pascals f_reed = 700 × 4^R hertz mechanical damping ratio = .08 + .65 D + .16 E supply = 9000 P pascals supply γ = supply/Pc flow ζ = Zb W h0 sqrt(2/(rho Pc)), with W=.018 m Supply γ is not the instantaneous differential pressure across a sounding reed. The damping ratio and flow ζ are different quantities. Changing h0 or Pc while fixing reed resonance implies changes in inferred stiffness and mass; these interventions isolate effective coefficients, not independent anatomical actions. Five arms start from lip 85%: the firm reference, the full lip 15% mapping, opening alone, closing-pressure scale alone, and damping alone. They are measured at G3/C4/G4, once at a common 3600 Pa and at matched supply γ=.45/.6/.8: 60 rows. All arms share reed resonance and tube tuning. C4 at matched supply γ=.8: Arm | Level dBFS RMS | Pitch cents from C4 | Centroid Hz | Odd/even dB --- | --- | --- | --- | --- Firm lip reference | -20.82 | 52.55 | 413.0 | 23.13 Loose lip · full mapping | -23.86 | 0.18 | 490.0 | 14.20 Opening changed alone | -20.45 | 17.80 | 450.0 | 16.95 Closing-pressure scale alone | -24.42 | 39.40 | 410.9 | 20.73 Damping changed alone | -20.68 | 54.71 | 428.0 | 23.13 At the common 3600 Pa, the full loose arm is brighter by this centroid measure and louder. At matched γ=.8 it remains spectrally different while being about 3 dB quieter than the firm reference. Opening alone carries more of the odd/even change than damping alone in this C4 comparison. The complete loose response is interactive; these results do not establish one universal 'grain knob.' Listen at original levels first, then use the optional attenuation-only match to reduce the loudness confound. INTERNAL-RATE REFINEMENT These are complete-engine comparisons: acoustic filters, fractional delay, and reed integration all refine together. They do not attribute every difference specifically to backward Euler. Voice | 192→768 pitch change cents | 192→768 level change dB | 192→768 centroid change Hz --- | --- | --- | --- Supple | -2.39 | 0.061 | 11.9 High resonance / low damping | -2.83 | 0.106 | 15.9 The 384→768 kHz pitch differences are under one cent in these two cases. Separate isolated-reed tests reproduce backward Euler's analytic decay and show that the midpoint/discrete-gradient mechanical step avoids that artificial decay in the undamped test. This is stronger evidence about the isolated integrator than an audio comparison alone. It is not evidence that the entire current voice is an artifact or that the new method must sound preferable. CONTACT AND INTEGRATION The old spring begins before zero flow gap. Without tongue load its static sealing budget is: a=.97−.07 C; κ=12+70 C γ_seal = 1 + κ(1−a) For Supple contact C=.28, this is 2.56736. Supple at lip 15% can supply at most γ=2.00971 with the existing slider. Thus its static contact law does not reach full closure in that supply range; dynamic overshoot can and does close it transiently. The earlier quoted maximum 2.96 belongs to the globally softest mapping, not the Supple preset. The experimental spring uses F_contact=A max(x−a h0,0)^2 with A=k h0(γ_seal−1)/(h0−a h0)^2, setting the static differential-pressure closure target to 1.3. This modifies the force budget before closure; a hard stop alone would not do so. Compression-only contact damping is explicit and dissipative. It is a designed dashpot, not a fitted Hunt–Crossley material law. Penetration past zero flow gap remains possible in this compliant model. Old/new contact is crossed with backward Euler/midpoint mechanics, all at 384 kHz, on the same G3 pressure gesture: rise to 95%, then return to 40%. Primary metrics cover the strong push; recovery is measured separately. Contact / integration | Push dBFS RMS | Flow closed % | Recovery pitch cents --- | --- | --- | --- Existing contact · backward Euler | -40.11 | 0.0 | -1.97 Existing contact · midpoint | -40.09 | 0.0 | -2.54 Closure target 1.3 · backward Euler | -153.34 | 100.0 | -4.05 Closure target 1.3 · midpoint | -153.31 | 100.0 | -4.42 The new spring seals and becomes essentially silent during this push, while the old spring sustains. Both resume a sounding response at 40% pressure. The extra 768 kHz sealing checks retain the choke/recovery behavior; recovery pitch changes by less than 0.6 cents from 384 kHz. That supports the result within these tests, not a universal stability claim. Midpoint applies to reed mechanics, using a discrete gradient of elastic-contact potential and explicit compression damping. Flow uses midpoint gap/velocity in that mode. Isolated energy, work, and Jacobian checks passed. The acoustic delay line, loss filters, radiation path, and upstream RLC retain their existing discretization. No whole-network energy-conservation claim is made. Changing the integrator and contact together could hide their separate effects; the four crossed arms avoid that confound. PRESSURE HISTORY: TWO DIFFERENT FINDINGS At lip 15%, G3, the 15-level up/down sweep holds each level 1.5 s and measures the last 0.5 s. It covers γ=.05…1.95 without resets. The maximum measured up/down pitch gap is below 0.008 cents at both tested rates. The first observed sounding level is γ=.45714; γ=.32143 is quiet. These are sampled levels, not exact onset/extinction thresholds. No longer full sweep or extra noise phases were justified by a branch gap here. See pressure-history.svg for the measured curves. The exact earlier problem uses lip 5%, breath 95%, reached either fresh or after 0.7 s at lip 15%/breath 40%. G3 and G4 are checked at 192/768 kHz, with 1.55 s endpoints and 3.1 s follow-ups wherever the short test shows a material gap. The original noisy 192 kHz probes reproduce the previously reported frequencies and levels. Noise-free endpoint held for 3.1 s (held entry minus fresh start): Note | Internal rate kHz | Pitch gap cents | Level gap dB --- | --- | --- | --- G3 | 192 | -27.31 | 6.48 G4 | 192 | -55.51 | 6.49 G3 | 768 | -28.38 | 6.28 G4 | 768 | -57.72 | 6.27 This rules out the original random perturbation and simple settling within these durations as sufficient explanations. Persistence at 768 kHz makes an artifact that disappears on this refinement unlikely. It still does not prove asymptotic physical bistability: only this model, two rates, two finite durations, and these paths were tested. The original final windows give G4 about 424.73 Hz fresh versus 411.33 Hz held; the fresh pitch is roughly 139 cents sharp, not merely 'around a semitone.' The audible G4 pair pads the fresh start with 0.7 s of silence; the held-entry clip spends that same time sounding the lower-pressure reference. Both then use the identical endpoint controls for 3.1 s and release for 0.3 s. This intentionally compares entry history, not identical preceding gestures. A tuning table indexed only by note and γ cannot resolve two persistent states at the same endpoint. A future pitch-assistance design must define its entry-state policy or explicitly expose that choice. VERIFICATION AND LIMITS New lab suite passed: true. All 95 measurement rows report aggregate counters {"faultCount":0,"clippedSamples":0,"solverFailures":0,"mechanicalFailures":0}. Zero counters are bounded empirical evidence; maximum residuals remain in the data. New mechanical pressure solves allow up to 24 iterations, while the exact old path retains 10. Both seek 0.001 Pa residual; the inherited failure count only flags residuals over 0.5 Pa, so counts alone are not enough. The independent checks cover exact old-engine sample parity during changing controls at 44.1/48/96 kHz, true internal-step counts, static closure, isolated nonlinear energy/work balance, finite-difference Jacobians, broad pitch-estimator edge cases, canonical measurement/manifest agreement, and independent WAV decoding. UI mocks cover cancellation during loading/decoding, exact selected-file playback, Stop/blur/Escape, fixed gain, bounded matching, and settings/feedback export. The existing production regression suite also passed this round. Not performed: no supported browser QA surface was available. DOM and audio mocks do not verify layout, autoplay, downloads, or iPhone playback. No subjective human listening approval is asserted. The comparisons are intentionally offline; the new solver is not a realtime performance promise for an iPhone. The model remains lumped, quasi-steady, and uncalibrated to a particular real instrument. WHAT CHARLIE SHOULD TRY • Start with the loose-lip pair at matched γ. Does the character you preferred survive? Which isolated arm comes closest? • Compare the two G4 entry histories. Is that catch useful, frustrating, or useful only when explicitly selected? • In the contact group, hear the strong push and the recovery. Would you want closure as a deliberate alternate behavior rather than a replacement? • Save the selected comparison with notes. 'A is more woody,' 'B's attack is better,' or 'I cannot hear it' are useful; wind-playing expertise is unnecessary. QUESTIONS FOR CLAUDE, ARGON, AND GROK 1. Given the matched-γ rows, what is the smallest additional experiment that distinguishes opening/flow geometry from effective mass and pumping-coupling effects? Avoid equating centroid with perceived grain. 2. Should the persistent low-lip paths be exposed as an entry/articulation choice, or should a playable mode guide the reed onto one path? What measurement would distinguish a basin-of-attraction effect from still-unresolved numerical behavior? 3. Does the quadratic closure variant preserve enough recovery character to justify a controllable sealing target? What physical contact parameterization would better separate onset, near-closure stiffness, and loss without making zero gap unreachable? 4. Before introducing windway droop or mouth coupling changes, what minimal energy-consistent boundary improvement would resolve the most important remaining risk? A resistance alone does not supply an elastic air reservoir. DEFERRED No live normalized-breath mode, automatic retuning, mouth-reconnection change, windway-droop model, drawn body, or free-reed/harmonica engine is added here. The mouth is held out of the comparisons. The earlier decoupled-cavity driving concern remains a separate task; arbitrary state zeroing and power-consistent coupling are different interventions. The free reed remains a separate architecture. REPRODUCTION From the source checkout: node tests/lab-render.mjs all node tests/lab-history.mjs node tests/lab-render.mjs merge python3 tests/lab-figures.py node tests/lab-check.mjs node tests/lab-report.mjs results.json contains the full measurement rows, exact windows, physical mappings, source hashes, and optional refinement/history comparisons. verification.json contains the test evidence. engine.js is the frozen live model; lab-engine.js is the isolated experimental branch. ENGINE-LAB.md records the mechanics and numerical contract. PRIMARY REFERENCES / CONTEXT Chatziioannou & van Walstijn (2015), Energy conserving schemes for the simulation of musical instrument contact dynamics: https://arxiv.org/abs/1501.01493 Used as context for discrete-gradient contact and the distinction between local energy checks and a full-system claim. Darabundit & Scavone (2025), Discrete port-Hamiltonian system model of a single-reed woodwind instrument: https://www.frontiersin.org/journals/signal-processing/articles/10.3389/frsip.2025.1519450/full Context for contact onset versus flow closure, coupled energetics, and reed pumping. This prototype does not reproduce their complete scheme. Silva et al. (2008), Interaction of reed and acoustic resonator in clarinetlike systems: https://arxiv.org/abs/0810.2870 Dalmont & Frappé (2007), Oscillation and extinction thresholds of the clarinet: https://pubmed.ncbi.nlm.nih.gov/17672663/ The numerical findings above come from this implementation and its saved renders. Literature establishes relevant mechanisms, not validation of these particular sounds.