1---2name: performing-orthonotone-polychoral-instrument3description: Guides agents through launching, playing, sculpting, and capturing performances with the Orthonotone polychoral instrument MVP. Use when generating music, soundscapes, or live demos from this repository.4---56# Performing Orthonotone Polychoral Instrument78## Contents9- [Stage setup](#stage-setup)10- [Performance quickstart](#performance-quickstart)11- [Control surface map](#control-surface-map)12- [Gestural choreography](#gestural-choreography)13- [Scene design and snapshots](#scene-design-and-snapshots)14- [Tempo and groove engine](#tempo-and-groove-engine)15- [Recording and sharing takes](#recording-and-sharing-takes)16- [Troubleshooting cues](#troubleshooting-cues)17- [Reference atlas](#reference-atlas)1819## Stage setup201. **Serve the project** – run any static server from the repo root (`npx http-server .` is sufficient) and open `polychoral-instrument-mvp.html` in a Chromium-based browser for best WebAudio timing.212. **Prime Playwright harness (optional)** – `npm install` once, then `npm run check` to ensure the QA hooks remain healthy before and after your session.223. **Warm the audio graph** – click **Enable Audio** in either the toolbar or System section of the Controls panel. Browsers insist on a user gesture before sound.234. **Set your monitoring level** – adjust **Master Volume** immediately; presets and snapshots respect the level currently set.2425## Performance quickstart26- **Canvas focus** – keep the canvas in view (toggle Focus Mode if panels crowd the stage). The hypercube visualization reacts to the same modulation that drives the synth.27- **Baseline scene** – start from **Neutral Lattice** or **Prismatic Bloom** in *Quick Scene* to align with the sound you want. Custom tweaks always begin from the current selection.28- **Check system status** – expand the **Live State Vectors** panel for meters showing axis energy, edge resonance, and face harmonic bloom. Use these readouts to balance the mix while improvising.29- **Keep audio alive** – if silence returns after inactivity, tap **Enable Audio** again; the button mirrors the AudioContext state.3031## Control surface map32### State Space33- **Quick Scene selector**: instant morph targets (Neutral, Drift, Bloom, Pulse).34- **Snapshots**: name and store mixes for instant recall mid-set.35- **Dimension / Morph / Grid / Fidelity** sliders: reshape the rendered hyper lattice and corresponding harmonic density.3637### Timbre Architecture38- **Line Thickness, Shell Width, Tetra Density**: sculpt the visual-acoustic shell; thicker values emphasize lower resonances.39- **Color Shift & Glitch Intensity**: paint spectral hue and sprinkle jittered overtones.4041### Rotation Velocities42- Six sliders (XY…ZW) drive base angular speed in radians/sec. Pair them with gestures for evolving drones versus rhythmic pulses.4344### System Suite45- **Master Volume** controls output gain post-fader.46- **Enable Audio** toggles the synth graph.47- **Symmetry Snap** recenters rotation for crystalline chords.48- **Reset State** returns sliders to defaults while leaving audio on.49- **Freeze Rotation** halts motion for sustained pads.50- **MIDI Bridge** connects controllers, enabling external modulation.51- **Tempo Sync** buttons follow external MIDI clock or rephase the internal clock.5253## Gestural choreography54- **Pointer drags**: default drags modulate XY/YZ/XZ; hold **Shift** for XW/YW, **Alt** for XZ/ZW, **Ctrl / ⌘** for fine isoclinic blends.55- **Touchscreens**: second finger emulates Shift, third finger unlocks Alt; no hardware keyboard required.56- **Motion input (beta)**: enable via Gesture panel for accelerometer blending; calibrate neutral tilt before performing.57- **Focus Mode & Hide Panels**: reclaim screen real estate mid-performance without losing panel state.5859## Scene design and snapshots601. **Choose or sculpt a starting scene** via Quick Scene.612. **Dial lattice parameters** (Dimension/Morph/Grid/Fidelity) to set harmonic density.623. **Shape timbre** with Shell/Line/Tetra and Color/Glitch controls.634. **Balance rotation speeds** so Status panel meters pulse in complementary patterns (e.g., pair XY with XZ for shimmering fifths).645. **Store the state**: enter a descriptive name and click **Save Snapshot**; it appears in the snapshot list for one-click recall.656. **Annotate experiments** – log notable parameter sets in `audio-upgrade-turn2-core-dsp.md` or related plan docs so future performers can reproduce them.6667## Tempo and groove engine68- **Clock Division & Rhythm Pattern** choose internal sequencer grids (Quarter, Eighth, Triplet, Sixteenth; Drive Pulse, Syncopated Lift, Euclidean Five, Ambient Bloom, Custom Sculpt).69- **Groove Swing** introduces humanized delay; values above 0.3 create loping polyrhythms.70- **Pattern Sculptor** appears when *Custom Sculpt* is selected—paint per-step intensities, use **Euclidise** for evenly spaced hits, **Humanise** for slight randomness, or **Clear** to reset.71- **MIDI Clock Follow** syncs modulation to external gear; monitor **Tempo Sync** and **Clock Phase** in the Status panel to verify lock.7273## Recording and sharing takes741. **Screen capture** – use system-level screen/audio recorder (e.g., QuickTime, OBS) to capture both visuals and sound; ensure desktop audio is routed from the browser.752. **Snapshot setlists** – before recording, queue snapshots in performance order for rapid transitions.763. **Document presets** – after recording, export slider values by copying the QA report (Status → QA Diagnostics → Copy Report) to archive performance settings.774. **Share context** – attach relevant plan doc links or commit hashes when distributing audio/video so collaborators can align with the build you used.7879## Troubleshooting cues80- **No sound after enabling**: confirm Master Volume > 0 and the Status panel shows AudioContext "Running". Reload the page if the context gets stuck in "Suspended".81- **Gestures feel unresponsive**: check if **Freeze Rotation** is active, or if axis sliders are pegged at zero. Recenter with **Reset State**.82- **Panel clutter**: toggle **Hide Panels** then reopen only what you need; Focus Mode hides panels but keeps toggles docked.83- **MIDI not detected**: ensure browser permissions allow MIDI, press **Connect MIDI** again, and verify device appears in the dropdown.8485## Reference atlas86- **Instrument surface**: [`polychoral-instrument-mvp.html`](../../polychoral-instrument-mvp.html) – main performance canvas, panels, and synth wiring.87- **Render & audio theory**: [`hypercube_core_webgl_system.md`](../../hypercube_core_webgl_system.md), [`audio-synthesis-master-plan.md`](../../audio-synthesis-master-plan.md), [`audio-upgrade-turn2-core-dsp.md`](../../audio-upgrade-turn2-core-dsp.md).88- **Roadmaps**: [`mvp-roadmap.md`](../../mvp-roadmap.md), [`development-expansion-plan.md`](../../development-expansion-plan.md), [`interface-responsiveness-plan.md`](../../interface-responsiveness-plan.md).89- **QA harness**: [`check-instrument.js`](../../check-instrument.js) for Playwright-driven regression playback.