REED STUDY 008 — THE REED BENCH Prepared 2026-10-20 UTC / October 19, 2026 in America/Chicago Play: /bench.html Compare: /bench-listen.html Previous reference: /phrase.html and /phrase-listen.html PURPOSE AND OWNER FEEDBACK Charlie wants a distinctive adjustable reed voice first, with modest differences between repeated notes second. The goal is to choose or prepare a reed, save it, and play it simply from the keyboard. Continuous timbre movement, extra legato expression, acoustic-oboe imitation and a body redesign are not requirements. Build008 therefore offers three fixed constructions as live keyboard choices, each with its own Anchored tuning. A separate optional entrance-variation mode is seeded and recallable. The existing Contour construction remains the default. Breath-led and Soft remain the default entrance/ending; Connect notes is now off initially so simple separated playing does not require legato. Reference and Warm output remain available. WHAT TO TRY 1. Enable sound. Play each reed with the same few notes, or use A simple phrase / Across the octave. Switch reeds between phrases; the old voice finishes its release before the new engine is configured. 2. Try softer and stronger Breath settings. Ask whether the reed speaks easily and whether you like its held voice, not only its first instant. 3. On Contour, try Six entrances with variation off, then on. Replaying the phrase with the same take number repeats the same entrance sequence. Try take42 and take43 in the saved comparison page. 4. If you find a combination you like, name it and Save reed. This stores it locally and downloads a portable JSON file. Import restores the selected construction, musical settings, calculation quality and take number. Browser storage can be cleared; the downloaded file is the portable copy. The comparison page has four groups / eleven clips: three reeds on a simple separated phrase; the same three on G3/C4/G4 fresh starts; repeatable versus two varied takes; Natural versus Anchored on a G4 breath swell. It uses the same engine/controller as the live page. Attack/Held/Release regions refer to the first note in the separated/repeated groups. Original WAV downloads retain their reference trims; playback matching attenuates only and starts enabled. FIXED REED CONSTRUCTIONS Lower resonance Contour reference Higher resonance Reed resonance 1350 Hz 1699.87284 Hz 2800 Hz Opening 75/100 75/100 75/100 Rest gap h0 460.46 micrometres 460.46 micrometres 460.46 micrometres Pressure scale Pc 4478.25 Pa 4478.25 Pa 4478.25 Pa Damping ratio 0.286 0.286 0.286 Contact onset / h0 0.9504 0.9504 0.9504 Contact stiffness ratio 31.6 31.6 31.6 Live reference trim 1.0000 0.9571 0.8926 Opening, pressure scale and effective force area are fixed, so inferred physical static stiffness is fixed. Varying resonance changes inferred mass proportional to 1/omega0^2. Holding damping RATIO fixed also changes physical viscous damping: c = 2*zeta*sqrt(k*m). This is not a comparison at fixed dimensional damping coefficient. The implemented mass-normalized damping coefficient is 2*zeta*omega0. The bore feedback, radiation/output filters, backward-Euler integrator, contact law, flow width, reed-pumping area and mouth-coupling-off/noise-off settings are retained. No per-note construction changes, initial displacement/velocity kicks or continuous airflow noise were added. These are virtual lumped reed constructions, not spatial tip/heart/spine scraping models or a double-reed oboe model. An isolated bench-core.js copy adds actual independent reed-resonance and contact overrides consistently to integration and physical parameter reporting. The previous engine's overrides.reedHz field was metadata only: actual resonance came from reedPitch. The new code corrects that ambiguity for this build without changing earlier engines. Contact overrides remain at the existing values in all selected presets. CANDIDATE SELECTION The initial scan tested resonance700/900/1100/1350/1700/exact-reference/2100/2450/2800 Hz at Opening75, fixed pressure scale, damping ratio and contact. G3/C4/G4 were pitch-aligned at gamma0.8 before spectral comparison. Selected candidates were then checked at gamma0.65 and0.95 and subsequently fully calibrated. Reference-breath C4, pitch-aligned, fixed engine output before listening trims: Reed Power centroid 1.2–5 kHz power / total (dB) Lower1350 610.9 Hz -9.43 dB Contour 652.5 Hz -8.23 dB Higher2800 746.9 Hz -6.51 dB The two alternatives differ by about2.92 dB in the upper-band fraction at C4 and2.86 dB at G4. These are larger measured differences than the prior nearby-damping study. They are screening evidence, not a guarantee of a perceptually distinct or better instrument. We selected three including the reference; no fourth near-duplicate was added. The700Hz candidate needed a tube setting beyond the supported110–440Hz range to tune G4 at reference breath.1100Hz also exceeded that tuning limit at G4/gamma0.65.1350Hz passed those corners. These are boundaries of this implementation and tested conditions, not physical impossibility or a fully mapped stability boundary. No contact/opening sweep was needed after resonance produced the stated spread. Full scan and rejected results are in scan.json and corners.json. ANCHORING AND CALIBRATION Each finalist has independent maps for: -13 semitones G3–G4; -gamma0.65/0.725/0.8/0.875/0.95; -44.1 and48kHz output; -Standard and Higher calculation qualities. This is780 calibrated anchors. Internal rates are176.4/352.8kHz at44.1kHz output and192/384kHz at48kHz output. Maps interpolate acoustic delay between pressure anchors and adjacent semitones. Anchored reads the engine's actual smoothed supply pressure, with no additional lookup lag. Natural uses each reed's gamma0.8 map. There is no measured-audio pitch servo, output transposition or hidden warm-up. The page requests48kHz output and also supports44.1kHz. It explicitly rejects unsupported output rates; it does not silently reuse a calibration at96kHz. The older007 page retains its previous supported-rate behavior. Controls outside the calibrated pressure interval during attack/release use the nearest pressure anchor. Onsets and transitions are not guaranteed pitch-locked. Bends remain bounded by the G3–G4 octave. Static construction is switched only after release; maps are not advertised for continuous opening/resonance editing. PLAYABILITY AND RESPONSE Coarse response study,48kHz/Higher: G3/C4/G4, gamma0.2/0.3/0.4/0.5/0.55/0.6/0.65/0.8/0.95. Each probe used a fresh60ms smoothstep target rise plus the inherited18ms internal pressure smoothing, rendered1.5s and measured the last300ms. Below the normal range, it held the nearest calibrated delay. For all three reeds and all three tested notes,0.4 was the lowest tested pressure producing a periodic note under the stated RMS/confidence criteria;0.3 did not. This brackets that specific finite-time attack test. It is not an exact oscillation threshold, probabilistic reliability guarantee or permission to widen the live slider. Main Breath remains gamma0.65–0.95. At C4/reference breath, coarse rig time-to10%-held-RMS was85ms for all three. Time-to90% was95ms Lower/Contour and97ms Higher. These use5ms RMS windows with1ms stride and a fixed steady calibrated tube during the attack; they describe that diagnostic rig, not measured browser latency or every live Anchored attack. The current candidates primarily differ in sustained spectrum, not dramatically different attack speed or speaking threshold. Actual shared performance-controller verification: -330 fresh notes at main endpoints and off-grid gamma0.6875/0.8375/0.9125. At48kHz/Higher, all13 notes were tested for each reed; other rate/quality combinations used G3/C4/G4. Broad75–2200Hz target-agnostic pitch search found maximum absolute settled error3.44 cents. -72 connected-note transitions across all voices/rates/qualities at gamma0.65 and0.95. Windows beginning250ms after the change stayed within1.97 cents. Earlier windows are retained in validation.json; the result is not a promise of no transient swoop. -All tested cases were finite, with no solver failures or protection hits. The finite matrix does not establish global stability or complete-system passivity. ENTRANCE VARIATION Off by default. Each non-legato entrance draws a fixed duration52–68ms and a smoothstep-to-linear blend between0 and0.08 from a deterministic sequence based on takeSeed and entranceIndex. After the attack, the target pressure, construction and output envelope targets are the ordinary sustained values. Mechanical states and oscillation phase are not forced to become identical. A separate gesture sequence is used because the core engine RNG resets between fully released notes. Connected legato consumes no new entrance. A guided phrase, recording or explicit reset starts a new take at index1; uninterrupted manual separated playing advances the sequence. Preset/rate changes release and reconfigure the instrument. Take number, settings and event score are saved; the same sequence is exactly reproducible within the same rate/quality. The study rendered six C4 entrances for seeds42 and43 on all three reeds. Each render was repeated and compared sample-for-sample. Windows beginning100/180/300ms after each note command showed maximum measured pitch error0.85 cents; all windows beginning180ms or later met the5-cent acceptance. The very earliest growth interval before100ms is not certified by those pitch estimates. Physical state was not reset mid-attack to enforce a desired result. The effect is intentionally small. Charlie should decide whether it improves repeated notes or simply adds unnecessary variation. No later tongue-contact model, state kick or coupled-noise experiment is implied to have passed by this test. LEVEL AND LOUDNESS COMPARISONS The live Balance reed levels option applies one fixed attenuation factor per construction, based on reference C4 steady RMS. It does not auto-level breath dynamics. The saved clips use that same trim. Optional excerpt RMS matching on the comparison page then attenuates the louder selected excerpt only. Using ffmpeg ebur128 integrated loudness, with full-phrase RMS matching applied offline for this diagnostic: -The three reed phrase files differ by about0.3 LU, at the tool's reported0.1LU precision. -The octave comparison likewise differs by about0.3 LU. -The repeatable and two varied entrance files report the same integrated loudness to0.1LU. Exact original and full-phrase-matched LUFS and gains are in manifest.json. These residuals are small, but neither RMS nor K-weighting certifies equal subjective loudness or an unbiased preference. Matching a selected short excerpt can differ from the reported whole-phrase calculation. Warm remains an optional output choice; no new Warm-preference claim is made. ENGINE, UI AND FILE VERIFICATION The isolated reference mechanics are compared against the previous engine at identical settings at both rates/qualities. Earlier production files, except index navigation, are hash-checked against commit0022e4dad17f38d8d2dcfcc6da20915a69635fdb. A harness exercises the real AudioWorklet class and compares seeded performances with offline output for all three reeds at44.1/48kHz. They agree sample-for-sample. It also checks queued preset changes, Stop cancellation, captured event timestamps and that changing construction closes the old recording before replacing its engine. DOM/audio-message mocks cover keyboard and pointer priority, cancelled gestures, pending audio initialization, preset selection, Anchored/variation settings, seed retention, saved reed recall, portable import rejection, and restoring the capture's reed before replay. Listening-page checks cover selected regions, matching, cancellation, downloads and feedback provenance. File checks verify source/audio hashes, decoded PCM finiteness, pre-note/final silence and linked assets. These tests do not verify actual browser layout, iPhone interaction, audio-device latency or realtime CPU performance. Managed browser QA was unavailable. Higher is the default; Standard remains an explicit option if the device struggles. No human listening judgment is claimed from the numerical analysis. REPRODUCE npm run test:bench npm run validate:bench npm run render:bench node tests/bench-scan-008.mjs node tests/bench-corners-008.mjs node tests/bench-response-008.mjs For each output rate44100/48000 and qualitystandard/high: node tests/bench-calibrate-008.mjs RATE QUALITY Then: node tests/bench-pack-tables-008.mjs Calibration resumes completed JSON tables; remove the corresponding calibration-RATE-QUALITY.json to recompute it. Rendering uses ffmpeg only for offline integrated-loudness diagnostics. The site has no ffmpeg or network audio dependency. REVIEW QUESTIONS AND NEXT DECISION For Charlie: 1. Which reed would you choose to play, and is its distinction large enough to matter? 2. Does that preference hold on low and high notes and softer/stronger breath? 3. Are varied entrances pleasant, too subtle, or distracting? Does recalling the same take help? 4. Does Anchored retain enough character while making ordinary keyboard playing comfortable? For Claude/Argon/Grok: 1. The resonance-only finalists have larger spectral separation but similar speaking thresholds and attack times. Does that support keeping a simple reed selector, or is there a specific different mechanical axis that would answer an unmet owner preference? 2. Are there concrete untested interpolation or transient conditions that threaten this bounded per-preset Anchored implementation? Distinguish those from requests for a general continuously editable model. 3. Is the entrance-variation definition and seed/capture semantics sufficiently explicit and physically honest? It varies the playing gesture, not the reed construction or resolved turbulence. 4. If spatial thickness modeling is proposed, identify what desired behavior cannot be achieved with these fixed lumped constructions. The trigger would be insufficient useful tonal range, or distinctive settings consistently losing playability—not the mere availability of a more elaborate model. The next choice should be led by Charlie's playing. If these are enjoyable distinct reeds, preserve the simple instrument and prepare the standalone Git handoff. If they remain variations of essentially the same unwanted voice, a spatial reed profile or a separately designed reed type becomes a justified new experiment. No automatic expansion into body modeling, a double reed, or contact repair is assumed.