A growing collection of geometric, recursive, analytic, and transformed-audio instruments.
Yoyodyne is a browser note-time test chamber and an intentionally bounded first pass at pitch-editor workflow. A 16-cell, three-role relay choir opens each bar in real polyphony: synthetic throat, mouth, and halo voices use a bounded oscillator-and-resonance model while their pitch contours remain visible. Drag a body vertically to retune it, horizontally to move its onset, or pull either bright rim to change duration while recall anchors preserve the comparison. Chromatic/free-pitch and eighth-note/free-time locking, keyboard editing, undo, deterministic recall, and a separate silent-running transport make the loop immediately playable. The vocal color is an oscillator-and-filter approximation; this MVP does not analyze, separate, retune, or time-stretch recorded audio.
Quadruped makes its feet the clock of a looping sixteen-card motion study. Elephant, Unicorn, Gazelle, Cat, Cheetah, Giraffe, and Lizard can borrow any gait in a shared dictionary spanning walks, tölt, jog, trot, passage, paces, both canter and gallop leads, bounds, stot, jump, two-legged dances, species studies, and a run–run–run–leap composition. Foot stance creates traction, momentum carries flight, gravity creates landings, and only crossed motion cards trigger percussion or the animal's frame-locked head melody. Clear every foot and the ground score coasts to a real stall; edit a new push and the instrument moves again without losing its place.
Digestazoid is a tactile digestive-system physical model: one persistent compliant stomach, small-intestine and colon pressure network carries gas, liquid, viscous sludge, bubble clouds, and travelling peristaltic constrictions between hysteretic soft valves. Push the stomach, knead the coils, stir its gas pocket, pinch and release a gate, pull the lower outlet, or play eight pressure gestures. Bubbles progress through dirty nucleation, inverse-size submerged ringing, neck pinch, surface rupture, satellite pops, and viscous glugs. Burps and farts use pressure-driven, cycle-jittered stick–slip tissue valves with noisy jet flow and real closure transients rather than sample playback or smooth sine carriers. Room, stethoscope, and inside-tube listening positions expose different parts of the same bounded live model.
FM Drums is the editable percussion lab behind the Geometry Drum Machines, with sixteen tunable, sample-free FM and shaped-noise voices. The 1234 / QWER / ASDF / ZXCV pad bank can be edited, saved locally, and copied as versioned JSON for reuse by later sonification instruments.
Rattlesnake is a continuous frequency-to-percussion instrument rather than a bank of switched voices. Its five sound models are Modal + FM, Modal, FM, Pitched Morph, and Karplus Strong. Karplus Strong turns four selectable complete string presets into a continuous low-to-high morph path; the three dotted section boundaries can be dragged horizontally without striking a note. The other models move from kick through tom and hand drum to bright noise, while Pitched Morph reorders harp, harpsichord, piano, marimba, xylophone, and kalimba bodies across the same continuum. Envelope, character, hit-density, and gliss-speed parameters can become pitch or strike-height mappings with draggable endpoints and early/linear/late curves. Decay reaches eight seconds for percussion models and sixteen seconds for Karplus. Its pluck rail and automatic micro-hit sweep cover 20 Hz to 16 kHz by default, with an adjustable upper limit.
Karplus Strong is a separate physically modeled string instrument. Each pluck sends a configurable noise/impulse burst through a tuned feedback delay. Twenty-six compact knobs expose excitation color and length, pick and pickup combs, loss and brightness, tuning and polarity, dispersion, nonlinear drive, delay modulation, roughness, body tuning and Q, sympathetic-string ratio and detune, and stereo spread. Click a string, strum across the stage, or use MIDI and the computer-key layout to play its sixteen-note field.
Karplus Carpet turns that delay-line model into an interactive microsound surface rather than a row of strings or an automatic cloud. The stage is divided into close two-dimensional areas, roughly ten CSS pixels across. Pressing enters one area, and dragging sounds each newly crossed area once per gesture; staying inside an area or holding still is silent. Every mote is a freshly rendered Karplus attack, never a loaded sample grain. An 80–400 ms body time drives a complete one-shot amplitude ADSR. Sixteen classic Materials preserve the current Carpet timing, while twelve Carpet-native Textures combine material, envelope, spread, and level behavior into markedly different felt, glass, wire, rubber, buzz, prepared, ghost, frozen, and dust families. Cell color adds four bounded, deterministic excitation variants per pitch, and coupled presets now render their second resonator into the same cached micro-attack. Low/high frequency, divisions per octave, spacing, level variation, stereo weave, and live bend reshape the field.
Rattle Snake Skin turns that continuum into a painted time-frequency sequencer. Solid colored marks trigger discrete notes, while freehand lines and ring outlines become micro-hit glissandi as a looping playhead crosses them. Each color layer can select a percussion preset or become a parameter field that reshapes the other voices at the same point in time.
Hocket Luigi distributes one composite cycle across two, three, or four colored voices. Its circular braid and linear score expose pulse ownership, handoffs, gaps, and collisions while Preserve composite moves a sounding pulse between players without changing the shared rhythm. Starting studies include Balinese nyog cag alternation and cak telu phase relations, the published Olutalo amadinda pitch cipher, a new four-part horn relay, an explicitly experimental solkattu-grid relay, and an open weave; research notes distinguish documented relationships, reductions, and new compositions.
Boidzoid releases a deterministic flock of arrow playheads across an open surface. Every arrow is one continuously moving sine voice: height sweeps frequency without a note grid, horizontal position sets stereo, and speed breathes the level. Separation, alignment, cohesion, and one Ferality macro reshape the flock while pointer attraction or repulsion steers its path. The flock always animates silently on load and sounds only after Audio is explicitly enabled.
Vector Flight fixes a wireframe ship playhead at the center of a deterministic 360-degree star field and turns its circular listening contour into the instrument. There is no score or pitch grid: star azimuth follows a seamless periodic frequency field, distance to the contour shapes level and articulation, projected radial velocity creates Doppler, projected tangential motion changes character, and ship-relative side sets stereo. Continuous sustains a soft proximity field, Notes turns every swept contour crossing into an unquantized flyby, and Triggers strike the contour with short impulses. Steering rotates and bends the field while the ship stays centered. One throttle moves late-1970s-style vector points through radial rays and hyperspace into a full polar Plaid weave.
Surround for Safety is a multichannel spatial instrument and output demonstrator. A draggable synth source feeds visible equal-power speaker sends across 7:4:1 (seven bed, four height, one LFE), 4:1, eight-speaker circle, eight-speaker cube, and custom two-to-thirty-two-channel rings. On audio start it reads the active destination's real maxChannelCount: a large enough endpoint receives numbered discrete channels through a ChannelMergerNode, while smaller endpoints receive an explicitly labeled stereo preview. Per-speaker chirps and a low-level sweep make user calibration possible because browsers report channel capacity, not physical speaker placement.
Sample Drums is the parallel 808/909 pad lab. It keeps the same sixteen-slot keyboard/MIDI layout as FM Drums, but loads pinned sample URLs on demand, decodes them into RAM, and saves pitch, decay, tone, and level edits as a separate local bank that Lattice Drum Machine can swap in.
Hiccup Head is a monophonic physical-model beatbox and full-face percussion sequencer for silly, sharply articulated human and beyond-human noises. One persistent variable-length oral waveguide—derived from Morphazoid's Pink Trombone / Throatazoid tract lineage—moves between fifty-two playable gestures. Its expanded world includes distinct lip hits, kicks, rhythmic tongue clicks, face claps, reversible breaths, open-throat vowels, rough voices, sustained alveolar ZZZZ, a vibrato-rich Pink-style EH→EE→AH carousel, HNNGH, MMOAN, LA-LA, LA-LA-LA, LLLL, RRRR, L-R-L-R, KLIK-KLAK, PB-PB, SLRRP, short HIC!, full HICCUP!, EEF!, warm HUFF, a continuously moving WAOW diphthong, an arched WHOOP, pitched DOO-DOO, low creaky PURR, a physical KSH mouth snare, tongue snap, longer cheek toms, and organic BRRAP. Seven contrasting sound banks retune the same mouth from natural through wet rubber, tongue-focused, open-throat, rough, tiny-cartoon, and air-pocket worlds; bank mutation always moves to a different world and auditions the result. Lip and tongue seals store signed pressure, local constrictions generate turbulence, and pressure-driven fold, lip, tongue-tip, throat-flap, cheek, and palm models keep every sound inside the shared travelling air column. FWEE focuses pressure through the missing upper-left central incisor, while twelve crooked visible teeth feed ordered, irregular low-Q wood modes back into the same anterior oral tube; BRUSH is one composite mouth gesture that alternates rising and falling twelve-tooth sweeps. Moving-vowel and pitch trajectories add Pink-style singing motion, and each editable voice character exposes direct vibrato rate and depth alongside pitch, breath, roughness, subharmonics, and tract scale. Every sequencer step holds at most one sound, with freely adjustable 1–64-step length and tempos up to 520 BPM. Sixteen face presets and nineteen rhythm presets include the expanded bank. The outlined goofball head has a 40%-opaque checkerboard whose colors change with every playing step, plus one feature-clear, text-free polka-dot trigger for each of its fifty-two sounds. Independent ears control stereo width, independent side hair controls delay, eye position controls plate-to-cathedral reverb, eyelids control high-pass and fuzz, and two thick draggable eyebrows contour sequence emphasis; whole-face mutation deliberately leaves those eyebrows alone. Delay, reverb, nasal routing, and stereo each have a persistent bypass, and their live face-controlled amounts stay put when presets, mutation, or reset change the rest of the face. The phone path caps canvas resolution, reduces compact painting to 24 fps, skips offscreen paint, caches the grid playhead, and removes diagnostic audio-rate scans without simplifying active tract equations.
Blowhole is a cetacean physical-model instrument descended from Hybrinx's separation of morphology and call gesture. Its delphinid path selects and drives paired nasal phonic-lip complexes, while a dedicated sperm-whale cutaway uses one right-sided source, a spermaceti reflection path, and the junk acoustic window. Its mysticete path models the coupled U-fold/cricoid-cushion gap, compliant laryngeal sac, and body radiator, with a clearly speculative fold-to-fold regime for the two-voice humpback phrase. Eight dolphin, orca, sperm-whale, humpback, and blue-whale gestures expose pressure, frequency, pulse rate, closure, focus, balance, and irregularity contours under a live playhead. The external blowhole stays visibly sealed during underwater sound; a separate surface-breath control opens it for a pneumatic whoosh. Physical-frequency readouts remain honest while an optional monitor maps ultrasonic clicks and very-low whale fundamentals into a speaker-useful band without breaking voice intervals. Blowhole opens on the mid-register orca gesture at a conservative 34% master level.
Wave Pool is a sample-free hydroacoustic rhythm instrument. A hydraulic piston bank or independently phased pneumatic caissons drive a slow finite-depth gravity-wave model; paddle reversal, breaker onset, spray contact, Minnaert-informed entrained bubbles, water-wall impact, trapped-air cushioning, wet boundary reflection, panel modes, and aerated vortex flow remain distinct audible stages. Concrete, tile/acrylic, steel, and compliant-liner presets are boundary systems rather than claims of exact material notes, and Waterline, Underwater, and Pool Deck receivers rebalance the same causes without pretending that air and water transmit identically. A four-lane sixteen-step grid allows paddle, break, wall, and vortex events to coexist while the live pool shows their travel and impact. The default Family Surge opens at a conservative 30% master level, with fixed event pools and a hard DSP ceiling.
Dentaphone is a 32-key dental marimba driven by an editable, sample-free AudioWorklet physical model. Its complete upper and lower adult arches default to a chromatic two-layer pitch map, and every tooth retunes the selected wood, glass, steel, ceramic, bronze, or imported modal body. The fixed 2D anatomy supports direct tooth playing and automatic or manual toothbrush sweeps; the optional Three.js view adds a rotatable, hinged 3D jaw that can chomp all 32 opposing teeth at contact or chew four objects into distinct note patterns. Both views share the same pitches, materials, localized tooth vibration, MIDI mapping, and model controls.
WebGPU Chiptune joins the Sequencers as its own instrument rather than replacing WebGPU 303. It ports the active path of srtuss's 2015 Chiptune (sound) Shadertoy shader to WGSL, preserving the self-running chip voices, drums, noise texture, quadratic entrance, and bounded eight-tap stereo echo. Its 150 shader parameters expose every musically meaningful active sequence and circuit value: tempo, deterministic pitch logic, a twelve-note scale mask, four variable note lanes, a normalized Arp shape lane, four binary drum-gate lanes, two variable-length gate lanes, fractional clocks and phases, spans, registers, Lead trill and phrase behavior, Arp bass-follow and octave motion, articulation, oscillator balance, drum circuitry, noise color, echo, spatial spread, intro curve, and gain. The horizontal Draw Sequence canvas shows all nine lanes and their independent local playheads together; pointer painting fills every crossed step, vertical position sets note or shape value, and SOURCE / NOTE / REST or SOURCE / HIT / OFF can be changed during playback without restarting transport. SOURCE cells retain the original shader result, including a ghosted preview of its procedural values and drum rhythm. Twenty-four factory performances keep their distinct shader patches and five voice sequences—from straight and sparse patterns through triplets, half-time, mirrored, and prime-length polymeters—while the four new drum lanes default to SOURCE so their sound is unchanged. A full-width low-resolution Pixel Ensemble turns the same master transport into five original, tightly grouped characters—one for each chip voice—whose step, size, color, silhouette, and motion remain causally tied to rhythm, level, pitch, and timbre. Rate and time controls use logarithmic travel, levels use perceptual gain travel, bipolar controls center exactly, and dependent low/high bounds are sanitized together. Sound changes replace queued shader chunks after the current chunk; intro fade controls apply when playback begins from 0:00. Numerical-stability constants, 12-TET math, BLEP calibration, sample rate, and the safety ceiling stay fixed. The separate Pattern Morph Pad maps horizontal motion to pattern seed and vertical motion to pitch range; keyboard arrows provide the same gesture without a pointer.
srtuss Master is a sound-only WebGPU instrument built from the 27 projects on the srtuss Shadertoy profile. Thirteen projects contain authored Sound passes and fourteen are image-only; ten source-verified Sound programs remain available as direct WGSL compute translations, while three stay clearly marked source-pending instead of being replaced with related remixes. Eight non-Chiptune/non-Acid programs are also split at their real WGSL summation points into 48 selectable melody, bass, percussion, texture, and effects parts. A bounded dynamic rack can combine up to sixteen voices with independent part selection, mute, solo, level, pan, rate, macros, whole-instrument presets, phase-preserving Explode, and solo-aware headroom. The page renders none of the Shadertoy visuals, and Audio arming remains separate from Play.
Sequencers groups Rubix Cube Sequencer, Sliding Puzzle, Wave Pool, Hocket Luigi, Hyper Rubix, WebGPU 303, and GPU Shader Synths. The 303 is a standalone WGSL compute-shader acid voice streamed into finished Web Audio buffers; it does not share the existing Web Audio synth engines. Its shader lineage follows the local WebGPU Audio acid synth and credits sound - acid jam by srtuss on Shadertoy. GPU Shader Synths generalizes that architecture into four sequence/modulation lanes and six continuously morphable synthesis models: spectral acid, cascade phase modulation, wavefold table, modal metal, particle cloud, and an additive organ with chorale/rotor motion. Component counts are adjustable per model, while nine editable organ ranks expose ratio, level, AM frequency, and AM depth. Cascade PM is a deterministic feed-forward phase-modulation cascade with one to twelve operators, not a mathematically chaotic system; the legacy chaos parameter is presented as Model morph depth because it moves model selection and drive. A second WGSL pass provides a causal FIR low-pass, feed-forward multi-tap delay, and waveshaping without adding another CPU round trip. Clocking, swing, lane decoding, scales, envelopes, synthesis, stereo motion, effects, drive, and limiting all run inside WGSL; Web Audio is used only to play the completed stereo buffers.
Modular Shader Synth exposes 68 playable graph modules with a purpose-built Hear patch for every added primitive. Its sample-parallel palette spans four GPU arpeggiators, AM/tremolo, additive drawbar organ, supersaw, chirps, swooshes, laser sweeps, robot and FOF voices, analytic strings, wave terrain, fractal and bytebeat sources, procedural kick/snare/hat/clap/thunder, Shepard/Risset motion, bird flocks, bitmask rhythm, morphing, excitation, CV mapping, and stereo/shaping utilities. A persistent history ring and ordered post pass provide Delay, Reverb, Flanger, Chorus, Vibrato, Doppler Sweep, Recombobulator, Sliding-DFT Resynthesis, FFT Robotizer, and Spectral Gate. The GPU Organ Lanes starter opens directly on nine storage-backed harmonic rank rows—ratio, level, AM rate, and AM depth—inside every sample invocation; the renderer keeps the graph sample-parallel because assigning one dispatch lane per partial would require an additional reduction pass.
Rubix Cube Sequencer makes visible puzzle faces the score, with one sound bank active at a time. Soft FM, Analog, Modal, and Noise kits read the two visible side faces while the upper face rests; the fifth, 303 Acid, reads only the upper face and mutes both drum lanes. Inside that acid bank, choose the classic Web Audio voice or the optional WebGPU 303, where each sticker’s live row, column, edge/corner position, current face, and projected visibility reshape that individual step. The default path reads face rows in parallel; alternate paths snake or subdivide each beat by face. Performance presets demonstrate all five banks. Apparent on-screen sticker area drives level through Visibility Dynamics, and a hidden sticker is always silent. Shape and Size controls combine a true 2 × 2 through 6 × 6 cube state with Cube, Morphix, Diamond, Stella, and Orb visual forms; every form keeps the same cube-turn mechanism. Drag a sticker to twist its slice or drag empty stage space to rotate the whole form; outgoing and newly exposed stickers change the next scheduled hits during the drag, before the move is released and committed. Optional Random Twists use an exponential 0.25×–12× speed curve independently of the sequencer tempo.
Sliding Puzzle flattens that puzzle-score idea into a resizable 2D board. Rows and columns range independently from two through eight, so squares and rectangles share the same legal line-slide model; four solid home-row colors repeat on larger boards, every numbered identity remains stable, and one cell is a true silent rest. Clicking any tile aligned with the gap shifts the complete intervening row or column in one reversible action. One tile mode follows Lines, Snake, or Spiral, while Rubix-style Lines together treats every screen row as a simultaneous lane: an R × C view becomes C pulses of R voices. A quarter-turn swaps those counts on rectangles without changing the logical permutation or Solve history. Forward, Reverse, Pendulum, and shuffled-pass directions run at 1/4 through 1/64 pulse rates with swing; bounded pitch span prevents large grids from climbing out of register, parallel voices receive equal-power headroom, and micro-strum can spread each line chord. Position pitch, filter motion, real orthogonal-neighbor response, and normalized Manhattan-disorder response adapt Hyper Rubix's meaningful mapping ideas to the flat board. Soft FM, Analog, Modal, Noise, and 303 banks reuse the Rubix color language. Size-scaled Scramble, 0.25×–12× Auto slide, Undo, Reset, and exact animated Solve preserve the running sound and board orientation where appropriate.
Lattice Drum Machine maps a moving isohedral edge field onto a sixteen-slot percussion bank, with an engine selector for FM synth voices or the 808/909 sample bank. Edge class and orientation select voices, contact height retunes them, incidence shapes character and impact, and simultaneous-contact density protects output headroom; alternate position-grid, incidence-density, and unordered touching-tile-color assignments make those relationships easy to compare. In the tile-color mode, the fifteen possible pairs use voices 1–15 and vertex junctions use voice 16.
Spiral Drum Machine maps an editable log-polar isohedral field onto the same sixteen-voice FM percussion bank, turning spiral-reader contacts and geometric characteristics into playable drum assignments.
L-System Drum Machine maps the recursive turtle-grammar traversal onto the shared sixteen-voice FM percussion bank. Each active branch head triggers as it enters a branch subdivision, while depth, inherited turn angle, generation, phase, and stage position can select or retune the drum voice.
Graph Drum Machine sends timed percussion pulses through the same directed topology family as Graph Delay. Node position, route degree, incoming turn, path depth, cycle pass, and the compact Play-panel Seed note map onto eight percussion palettes: the shared Drum Bank, Circuit, lightweight Rattlesnake, and Resonant Metal voices; the full hybrid Rattlesnake physical engine; and Karplus Strong, Karplus Tines, and Karplus Objects banks. Hardware MIDI and the shared computer-key layout can inject independent seed notes without placing a keyboard over the graph. Each Karplus bank assigns four complete string materials to four graph voices apiece, with graph position and traversal still shaping pitch and character. The primary Play controls keep Graph shape and Edge time / speed beside the launch controls. A 1×–12× distance-time ratio scales longer routes from that minimum edge time; branching and merging use constant-power normalization; switches remove individual routes. Acyclic graphs end after a finite cascade. In a cyclic graph, only the cycle-closing feedback edge applies the editable amplitude and tone loss, so a ring returns once per complete lap at the summed edge time and every repeat is quieter and darker. Short physical-model decays, per-frame and per-second strike ceilings, a silence floor, feedback-pass ceiling, event cap, and short audio lookahead keep dense networks bounded. Graphs are capped at 32 nodes; overload protection adaptively thins only excess audio attacks instead of deleting nodes or routes from that requested graph.
Shape is a two-dimensional instrument: one to twelve point playheads trace the boundary, independently orientable scan lines read contour intersections, or center-rooted radar rays rotate through every contour hit. Point, Line, and Radar share one playhead count and relative-phase layout, so switching methods preserves both number and spacing. Radar position is expressed as an angle from 0–360°. Every playhead type can loop or ping-pong, and shape rotation has its own direction and loop/ping-pong transport. Point and radar spacing markers carry mode-specific forward/reverse arrows, while each line marker carries its own 90-degree orientation toggle. A Sides / points count of 1 is a vertex-free circle, 2 is an open line, and 3–32 can be polygons or stars.
Geometric Physics is a nine-instrument collection in which physics moves geometry and the shared synth reports its position, contacts, forces, energy, curvature, or topology. Gravity Walk constrains a bead to a falling contour; Ricochet launches multiple balls through editable, rotating regular, asymmetric, star, and tunnel arenas, striking each edge like a xylophone tine with incidence-controlled pitch and velocity-controlled amplitude; Rigidity loads bar-and-joint frameworks; Rolling Measure pivots polygons through successive support vertices; Falling Forms resolves rigid-body impacts; Charge Garden follows softened electric potential fields; Packing Pressure exposes granular contact networks and jamming; Geodesic Drift compares nearby straightest paths on a plane, cylinder, sphere, and torus; and Kinetic Hull sounds convex-hull membership and Delaunay edge changes. All nine use deterministic fixed-step simulations, direct Canvas interaction, free continuous pitch, normalized voices, and bounded transient events without treating the geometry as a modeled acoustic resonator.
Lattice turns a curved isohedral tiling into one deduplicated edge field. A single centered line is the only playhead: the infinite pattern moves beneath it and sounds every edge it intersects simultaneously. Its independent motion bearing can snap from right-to-left to up-to-down or rotate continuously between them without changing the reader line angle. It never walks or serializes the lattice. All 72 Tactile isohedral families are available, with their native shape parameters and independently bendable J, U, and S edge classes; symmetry-locked I edges remain straight.
Escher turns regular plane division into eight original procedural studies informed by the geometry of named M. C. Escher works. Euclidean p3 and pg presets, a contracting similarity orbit, and exact recursive Poincaré-disk {8,3} and {6,4} tilings expose their generators and orbit structure alongside the canvas. Triple Orbit carries articulated original reptile-like figures; the other studies use distinct fish, bird, courier, metamorphic, arrow, comet, and dual counterform motifs. The page embeds no Escher artwork or traced silhouettes. Its literal rendered contours are the playhead paths: choose one shape, its real shared-border neighbors, or matching shapes across the pattern. A common geometric travel speed makes genuinely smaller outlines recur more often, while each measured perimeter, corner turn, curvature, orientation, color/aspect, and position controls phrase, pitch, timing, timbre, articulation, and stereo placement. Dynamic mapping-depth controls set how strongly those measured features affect the sound.
Spiral maps an editable isohedral tessellation into log-polar space. Radius, angle, or multi-turn spiral readers intersect the warped edge field, and each contact can map radius, reader position, orientation, or incidence into continuous, percussive, Shepard, FM, or PM voices.
Solid extends the intersection instrument into 3D. Eight wireframes—including cube, octahedron, prism, sphere, and torus—can be stretched and skewed before an oriented 2D plane cuts them. Segment/plane contacts become voices, while X/Y/Z rotation and surface yaw/pitch each have independent play and speed controls.
Möbius and Klein Bottle turn the Solid reader into two nonorientable surface instruments. A literal 2D plane sweeps each triangulated form; every topology-connected slice curve becomes a bounded core/halo voice whose height, horizontal position, transverse reach, and seam contact shape pitch, pan, color, and brightness. Möbius exposes one, three, or five odd half-twists with real lateral edges. Its optional Counterpoint weave replaces the plane with a perpendicular crossbar over 16 stations: a subject hockets between the intrinsic edges, a quieter answer enters four stations later on the offbeat, and the shadow lap swaps role registers while inverting the pitch figure around a fixed tonal axis before the two-lap return. Klein Bottle uses an explicitly labeled 3D figure-eight immersion, and its visible self-crossing never joins voices because curve continuity follows the parameter mesh. This differs from Hyper’s optional 4D Klein wireframe: these pages sonify 3D plane/surface intersection curves.
Hyper uses the same idea in 4D. Tesseract, hypersphere, hyperpyramid, and Klein-bottle wireframes can be stretched through X/Y/Z/W. XW, YW, and ZW rotation run independently while a moving W hyperplane sounds the intersected 4D segments.
Hyper Rubix is a true variable-order 4D twisty-puzzle sequencer on a tesseract boundary. Side / order selects 2 × 2 × 2 × 2, 3 × 3 × 3 × 3, or 4 × 4 × 4 × 4, so the eight cubic boundary cells carry 8, 27, or 64 colored hyper-stickers each—64, 216, or 512 total. Instrument presets (Hyper, Prism, Bit, WebGPU 303, and Rattlesnake) are independent from playback presets: View-facing reads the foreground cell from each X/Y/Z/W pair (32, 108, or 256 notes), Selected cell isolates one cubic cell, and Whole shape reads every sticker. The exact sounding sticker lights in the eight-lane matrix with no authored rests. Every instrument keeps home color as an identity while projected XYZW position, screen depth, current tangent-neighbor cohesion and faults, radial class, displacement, and global disorder shape pitch, filter, stereo placement, resonance, transients, drive, or seed-shell grain motion. Orbit and Fold W remap the clocked score and future note geometry without starting a separate sustained gesture synth; manual quarter-turns audition the affected visible slice and replace the unscheduled portion of the running loop without rewinding its clock. Body and neighbor decay can be linked for one clear envelope or separated for independent resonator tails. Pitch, filter, stereo, neighbor response, W depth, and disorder retain independent 0–200% controls, the topology bank can expose up to six actual connections per sticker, and pulse divisions extend from 1/4 to 1/64. Scramble records the path and Unwind reverses it exactly while the loop can keep playing.
L-System traces recursive turtle grammars including Pythagorean trees, Koch and Sierpiński forms, Hilbert and Gosper curves, Cantor rests, Lévy C, dragon, and terdragon curves. Its default sine begins as one voice and bifurcates through 2, 4, 8, 16, and onward; branch power is rescaled so the combined level stays bounded, while cumulative branch angle determines inherited pitch. Rendering starts from a proven 128-voice budget, then admits more voices in guarded steps when the active structure asks for them and measured audio load has headroom, up to a 4,096-voice hard guard. The Structure pane can read the final expansion, give every iteration equal sequential time, phase-lock them together, accumulate them, or stagger them as a canon. Turn asymmetry creates unequal pitch branches, while branch length taper controls only grammar levels marked by > and <.
Graph Synth turns those inherited-branch ideas into a general directed-network instrument. One note pulse retains incoming-route provenance through splits and merges, so each local turn can add a quantized interval while node height, degree, or left-to-right progress offer alternate pitch mappings. Sine, triangle, saw, square, FM, PM, and Shepard-stack one-shots are scheduled on the Web Audio clock. A compact Seed note control sets Play, Send, and Space, while hardware MIDI and the shared computer-key piano inject independent polyphonic roots without covering the graph. Graph shape and Edge time / speed sit beside those Play controls because they establish the network's audible phrase. Graph presets change only topology and timing: the selected voice, tuning, pitch mapping, articulation, and ADSR remain performance controls. The graph on screen is the score: its 1×–12× distance-time ratio scales longer routes from the minimum edge time, and dragging a node changes both edge time and note geometry without launching another pulse. Cyclic topologies reuse Graph Delay's safety rule—decay is applied once on each cycle-closing edge—while a separate brightness-retention control darkens every repeated voice. Dense and cyclic scores retain their complete topology up to the shared 32-node ceiling while adaptive attack thinning limits only excess oscillator work.
Algorithmic Mazes builds orthogonal, radial, and hexagonal polygon fields with depth-first backtracking, randomized Prim or Kruskal, and Wilson loop-erased walks. Each opening simultaneously removes a shared wall and creates a centerline passage, yielding two coupled vector scores sounded by one passage voice and one wall voice by default. Construction is the primary performance: backtracking exposes its recursion spine, Prim its frontier, Kruskal its merging islands, and Wilson each loop-erased walk, with matching pitch and articulation behavior. Trace, Tour, and secondary Solve views traverse the finished topology; optional polyphony, loop openings, layer visibility, pitch mappings, register, and junction accents reshape the result. SVG export preserves the straight wall, passage, and solution layers separately.
Paths treats generative topology as one continuous vector score. Gilbert, Hilbert, Gosper, Dragon, and seeded Walk generators share a Draw/Trace timeline: Draw reveals the line itself, while Trace sends one to five explicitly selected heads around the finished geometry at constant path speed. Direction, height, curvature, or recursive hierarchy can drive pitch; turning shapes timbre and accents; frame ratio, detail, and seed alter the exact straight geometry used by the canvas and synth. SVG export preserves the generated path.
Recursion presents Fuzzy Donut, a single bounded recursive audio instrument driven by deterministic noise, sparse impulses, a finite microphone capture, or a local audio file. Playback begins inside the dense accumulated canopy. Timbre, Pitch, Rhythm, Phrase, Twist, and Memory reshape its filters, rates, timing, source windows, recursive orientation, and normalized ancestor layers in real time. Orbit, Stack, and Causal project the same sounding structure as a twisted manifold, a time–spectrum stack, and a DSP-routing braid.
Julia finds every closed boundary of an escape-time Julia set with marching squares and traverses the longest loop at constant spatial speed. Each signed left or right turn bends a seventeen-partial Shepard tone in the corresponding direction; at the default mapping, one complete signed revolution crosses five cyclic octaves. The listening default is c = -0.788 + 0.1191i at 32 escape iterations, a 320² boundary grid, raw contour treatment, and 0.017 circuits/second. A quieter companion keeps the turn melody intact while mapping vertical location from a minor-third to a perfect-fifth interval, so the set's exact antipodal halves remain audibly related without becoming identical at the five-octave wrap. Complex constant, grid resolution, signed smoothing/reduction, turn polarity, pitch sensitivity, and corner glide remain playable controls. Wheel/slider zoom resamples the complex-plane viewport at full grid resolution, dragging empty stage space (or Shift-dragging) pans it, and Reset view returns to the complete set without breaking the sounding loop. Its Self-similarity lab takes a short playhead-centered boundary motif through the exact inverse branches ±√(z−c), which predict where related arcs occur. It overlays all 2depth locations, highlights and auditions a selected repeated-sign chain, measures local tangent-pitch fidelity after normalized-time resampling, reports the nearest low-period repelling target as a separate diagnostic, and gives multiscale chorus, delayed curvature canon, timbre-separated wavelet bands, sequential whole-arc orbit, and aligned similarity-harmony distinct mono-safe listening grammars. The reproducible report adds 40-way distractor retrieval and independent zoom-field checks; local percentages in the page are signal proxies, not claims of human recognition.
Julia presets include the Unit circle, Cauliflower, San Marco, Basilica, the exact period-three Douady rabbit/dragon, Co-rabbit and Airplane centers, and the golden-mean Siegel disk. Airplane automatically raises the minimum grid and reduces contour simplification so its small Fatou components remain playable. Zero-interior examples such as the c=i dendrite and c=-2 Chebyshev interval remain intentionally absent until the renderer supports potential or distance contours.
Algorithmic Sequencers starts with Sorting Algorithms: Bubble, Insertion, Selection, Merge, and Quick Sort. A top-level randomizer shuffles one fixed value set into a new starting order; playback renders every comparison, swap, and write while optional audio maps both active values to pitch and their indices to stereo position. Five dedicated instruments extend the section: DJ Dijkstra, Hanoi Carillon, Alpha-Beta Minimax, N-Queens Backtracker, and Euclidean Pulse. Each has its own route, starting patch, musical control language, output-stage character, deterministic mutation, direct score scrubbing, rhythmic swing, FM/noise layers, and protected feedback space. The section also keeps a working longlist for future sonification scores.
Shepard–Risset combines two related barber-pole instruments. Octave Bank retains the clean Morphazoid illusion: phase-staggered octave voices rise or fall continuously through a bounded spectral window. Morphisma Sweep restores all twelve source presets and their original 1–64 voices, 0.01–10 cycle-per-second sweep, 10–3000 Hz starting frequency, direction, and quadratic Sweep range control. The legacy tuples and sound grammar remain intact, while every requested voice is now rendered, out-of-band motion tapers safely, the original requested-voice level scaling is retained, and both modes share the protected output path.
Slippery Resynthesis analyzes microphone or local-file audio with a real-time FFT, tracks its logarithmic spectral bands, and rebuilds them through phase-staggered Shepard glissando banks. Adaptive stochastic excitation keeps unvoiced consonants inside the fully wet resynthesis path, while live/held tracking, transpose, nonlinear glide contour, spectral tilt, harmonic color, octave spread, response, gate, and dry/slip mix stretch the source from intelligible speech-glass to dissolving vowel vortices.
FFmpeg Wasm Lab is an intentionally chunked microphone-processing proof of concept. A silent AudioWorklet captures bounded mono PCM windows, one FFmpeg/Wasm worker applies an allowlisted filter graph, and returned blocks are crossfaded through Web Audio with visible processing time, end-to-end latency, and stale-window drops. Clean relay, communications-band compression, tremolo, bit crushing, and per-window reversal are playable now; waveform, spectrum, phase, tempo/pitch, normalization, and camera-microphone renders are clearly marked as later bounded-render examples rather than live-video claims. The pinned core is downloaded and checksum-verified only after user action; captured audio remains in the browser.
Fabric Filter is a zero-input colored-noise instrument built from two interacting filter families on the same noise field. The X/warp family organizes horizontal frequency and focus; the Y/weft family organizes vertical width, edge, and resonant character. Their static analytic 2D fields bend Shepard-wrapped filter positions and collide into moiré gain and resonance contours. The log-frequency field is also a deterministic, fixed-frame damped membrane whose physical resolution ranges from 3×3 to 16×12 sections. Grid-spacing normalization keeps the membrane's wave speed consistent as section count changes, while Panel variation still changes actual cell spans, vertex masses, damping, and horizontal/vertical edge springs. Tension controls neighbor-to-neighbor wave travel, inertia controls sheet mass, and modal damping ranges from ringing to a quick physical stop without the overdamped slow creep of a global return spring. Motion is deliberately manual-only: there are no hidden audio-only LFOs, texture or sculpt drifts, motors, self-excitation, or automatic plucks. A held grab receives a strong direct spectral override, but that override ends on release; stored strain then launches a broad wave back along the pull axis, with measured flick speed adding directional momentum and no unconditional release kick. Taps and Enter drop a single pebble, a deterministic multi-pebble cluster, or one broad rectangular brick contact. A fixed pool carries impact rings, circular harmonics, spirals, shocks, gravity waves, stationary nodal patterns, planar ocean waves, and directional elastic sheets at 1–50 Hz; X and Y launch position, direction, distance, and pressure remain distinct through fabric motion and FFT/Q sculpting. The phase-preserving 1024-point FFT mask and resonant Q bank share one continuously variable filter-method control, with independent cut depth, sharpness, and character. Brown-to-blue colored noise plus violet, crackle, stepped, fractal, and chaotic generators move the machine from broad weather to exact silent bands and ringing spectral seams. A hard 24-pair / 48-filter budget, fixed 12-propagation pool, bounded fabric state, Q limits, output ceiling, and adaptive load shedding keep dense patches safe.
Drum Roll Please! moves the same Shepard–Risset illusion from pitch into rhythm. Octave-related pulse trains accelerate or decelerate together, exchange complete phase and voice state at silent bank edges, and remain perceptually in motion forever. A constant-CPU AudioWorklet gives every tempo layer its own struck Rattlesnake-style resonators: arriving layers morph from kick through tom and hand drum to air, while an optional Pitch follows tempo mode couples each rhythmic octave to a pitch octave. Tempo glissando speed, center tempo, bank width, stripe angle, decay, morph depth, center pitch, brightness ceiling, and spread remain live controls inside a protected output path.
Ouroborousel makes the relationship recursive: every tempo-octave pulse can repeat a Hann-windowed chunk of a phase-coherent note several octaves above it, strike the corresponding Ouroboros kick-to-air drum body, or layer both materials. Separate note chunks read as rhythm below the fusion band, then use a complementary correlated-signal crossfade into the same continuous carrier as repetition becomes pitch; fast drum trains cross the threshold through resonator overlap. Because pulse rate and source note share one octave coordinate, the bank can keep climbing or falling through the rhythm–pitch threshold, while cosine edge windows and complete note/drum state rotation hide each octave return. Live controls choose Notes, Ouroboros Drums, or Notes + Drums and shape their shared carousel direction, rate, bank width, spread, and output; Notes and Combo additionally expose note lift, chunk duty, fusion point and bridge, and carrier brightness.
Ouroboros keeps a single steady drum clock while moving the struck body itself through a Shepard octave bank. Every hit excites octave-related Rattlesnake resonators that fade at the low and high edges, exchange complete ringing state at the silent seam, and return under a new octave identity. The result can keep sounding higher or lower indefinitely without leaving its bounded register; live controls shape glissando speed, strike rate, center pitch, bank width, stereo spread, decay, kick-to-air character, noise, brightness, and output level.
Ouroboros Borealis crosses that endless pitch coil with the tempo-octave bank from Drum Roll Please!, so both the body pitch and the rhythm can appear to climb or fall forever. Independent pitch and rhythm directions, glissando rates, centers, bank widths, and half-to-two-octave layer intervals support same-direction or counter-direction motion; phase offset, signed fast-rhythm-to-pitch mapping, and coupling focus continuously rearrange how the two illusions meet. One-octave layer spacing remains the most convincing setting, while narrower, stretched, clustered, or sharply coupled fields deliberately reveal and distort the seams. A double interactive racetrack keeps both autonomous playheads visible and lets pointer gestures audition the sounding field without moving either transport.
Candy Coil Delay sends microphone or local-file audio through phase-staggered centered-hump delay heads. Each head moves from one side of the source pitch through the original and out the other side; direction reverses that path, while Tap Range, reciprocal 1:1 locking, density, tilt, feedback, mix, and a low-cost display keep the sweep playable inside a bounded audio path.
Sandy Syrup Delay turns microphone or local-file audio into a phase-staggered granular pitch field. Twelve original presets span held-rate Sand and continuously moving Syrup, backed by 24 preallocated grain streams, a bounded 16-second stereo history, protected feedback, and a liquid low-cost display.
Recursive FM preserves the six original Morphisma parameter sets while rebuilding their carrier, offset operator, and recursively nested frequency modulators as one bounded Web Audio graph. Recursion depth, carrier frequency, offset, modulation amount, and divisor remain playable without the old render-time listener leaks or undefined-signal path.
Recursive PM preserves the five original recursive phase-modulation settings while rebuilding the carrier and independently decaying phase operators in a zero-allocation AudioWorklet. Depth changes crossfade, live frequency/index controls glide, and the single audible operator passes through a normalized, protected output path.
Chaotic FM preserves the five original nonlinear recursive patches while making their algorithm explicit: a carrier sweeps an entry oscillator, then each tanh-shaped signal drives the next oscillator's signed frequency. The old “filter” control is now accurately labeled Nonlinearity rate, with bounded render-thread math, depth crossfades, and a protected output.
Chaotic PM preserves the eight exact work-in-progress tuples and their signed-remainder, frequency-squared transfer as an optional Legacy / Raw mode, while the default Smooth mode removes that transfer's phase-wrap discontinuity. Each production turn continuously tanh-shapes the previous sine, blends it with the linear signal by the chaos amount, applies the result as a radian phase displacement, and sounds the periodic sine output. At zero chaos this reduces to Recursive PM; increasing chaos adds bounded nonlinear feedback without exposing a modulo seam. The repaired presets keep every requested turn and finish between 40 and 389.6 Hz, transfer changes use a finite crossfade, and render-level regressions guard against full-scale sample jumps and excessive ultrasonic energy.
Cascading FM runs a linear chain whose base frequencies can rise, repeat, or fall from the root. Each sine offsets the next oscillator's instantaneous frequency in hertz, while a per-stage taper controls how that frequency deviation travels through the cascade.
Cascading PM keeps the same bidirectional operator-chain idea but changes the modulation domain: each sine offsets the next operator's phase in radians while its base frequency continues to advance unchanged. Phase index and index taper therefore replace Cascading FM's hertz depth and frequency-depth taper.
The four Recursive and Chaotic FM/PM pages share an exact browser MIDI implementation while retaining their original Drone modes: monophonic last-note priority, velocity, pitch bend, root-note time scaling of the complete oscillator system, ADSR, sustain, expression, portamento, the same factory performance CCs, permission-gated Web MIDI without SysEx, and safe page-exit cleanup. Shape, FM Drums, and Sample Drums also retain page-native MIDI behavior. Their analyzers show the live spectrum and foreground oscilloscope together instead of a scrolling spectrogram.
Every playable catalog page now exposes the shared top-bar MIDI control in the normal website as well as WAX. The seven page-native instruments keep their exact mappings; every other page receives a conservative universal layer: where a safe note target exists, notes retune or trigger explicit pads, steps, strikes, or Play controls; pitch bend follows the unbent base; common CCs target matching labeled controls; controller-profile macros address the first eight sliders; Program Change selects presets; aftertouch targets pressure or intensity; and MIDI Clock, Start, and Stop follow tempo and transport where those controls exist. Incoming messages are also published as a cancelable morphazoid:midi-input event so a later exact page adapter can take ownership without double handling.
The performance header keeps MIDI In and its receive light visible beside a real pre-destination stereo L/R meter, master level, and icon-only Audio switch. Separate channel levels reveal hard panning, imbalance, and channel-specific clipping; the speaker button uses a slashed off state and a filled, glowing on state. A far-right Settings disclosure groups Audio Out, Mic / Audio In, MIDI In, MIDI Out, and MIDI Map without pretending every route or browser has identical devices: browser sink choice is feature-detected, live-input permission remains with the instrument, normal-browser MIDI Out is explicitly preview-only until mapping and routing exist, and WAX labels host-owned audio and MIDI routes explicitly.
Output-capable browser instruments also expose a flow-contained MIDI Out Monitor at the bottom of their control rail. It previews exact page-origin note onsets where an instrument publishes them, recent live controls as unassigned 0–127 CC candidates, real BPM clock candidates or explicitly unmapped timebases, and transport state. The monitor never requests MIDI permission and never routes or sends these values; it is the observable signal layer for a later mapping system.
Where a safe note action exists, the shared MIDI control includes a hardware-free computer keyboard. Melodic pages use Z S X D C V G B H N J M for C3–B3 and Q 2 W 3 E R 5 T 6 Y 7 U for C4–B4; drum pages use 1–4 / Q–R / A–F / Z–V as a 4 × 4 pad grid. Brackets change octave and minus/equal change velocity. Mapped keys are captured only while MIDI is on so they cannot also fire a page shortcut. Wheel of Organs, Throatazoid, Spelling Synthesizer, Lumber Loops, and L-system Delay reserve their existing typing or recording shortcuts instead; pages without a safe generic note target leave the shared note keys disabled. Their top MIDI controls still accept hardware input for labeled parameters without stealing page-owned keys.
Morphazoid for WAX is a separate generated site artifact for AudioFusion’s browser-host plug-ins. It keeps the same browser MIDI mappings, while npm run build:wax additionally supplies project state, host play/stop/BPM/PPQ, one-port MIDI output with panic/hot-plug safety, and a compact routing panel to all catalog instruments. The panel offers Audio, MIDI only, or Audio + MIDI where the page is classified for WAX MIDI FX; no incoming event is echoed automatically. A searchable guide on wax.html explains the fixed WAX Instrument, Audio FX, and MIDI FX DAW roles and recommends a wrapper for every catalog page. Chaotic FM retains its bespoke state/performance adapter, while the wider catalog begins with conservative controller and deterministic companion-sequence fallbacks that can be replaced by page-native event adapters as they are validated in WAX.
Weierstrass rebuilds the original fractal oscillator bank and FM experiments as two modes of one instrument. Wave mode directly sounds a normalized sum of exponentially spaced partials; FM mode uses that same bounded bank as a signed frequency trajectory. All seven source preset tuples remain traceable, while the port restores every dropped eighth term, converts the legacy half-rate display to its actual audible frequency, removes the one-minute reset click, and fades or excludes unsafe high-frequency terms before normalization.
Plasma Ball extends Chaotic Synths into a pointer-played electric field. Quiet, intermittent synth-static forks from a charged core through the near and far depths of the globe. Mouse or touch contact attracts only part of the field, leaving the other branching discharges free to flicker, drop out, and restrike elsewhere.
Order Tones is a tiny classical simulation of quantum order finding. Modular orbits for 15, 21, and 35 become circular sequences; an inverse-QFT view exposes their interference peaks, while individual and repeated measurement shots feed an honest continued-fraction and greatest-common-divisor factor receipt. Residues, probability bins, and measurements become bounded arpeggios, spectral voices, and bell strikes.
Bell Square is an exact two-qubit classical simulation staged as two atoms colliding in an optical lattice. Collision phase entangles and disentangles the joint state, independent local measurement axes reveal its correlations, and one-shot or repeated measurements become paired stereo dyads. Each local stream remains random; only their comparison exposes the joint structure.
Entanglement Dance slows quantum entanglement to dance tempo so you can hear the correlation. Two qubit dancers — Alice and Bob — precess as Bloch-sphere phasors on a shared dance floor; their melodic arcs follow or oppose each other depending on the chosen Bell state. Square dance figures (Promenade, Do-Si-Do, Swing, Allemande, Honor) cycle automatically while measurement collapses to a correlated dyad, and decoherence gradually untangles the partners into independent voices.
Quantum Square Dance slows the controlled spin-exchange interaction of paired atoms into a musical time lens. An exact ideal two-state classical simulation follows the joint state through prepare, square-root-of-SWAP entanglement, SWAP, and return; left and right atomic parts trade melodic contour while exchange phase, concurrence, pair count, and decoherence reshape rhythm, timbre, spatial texture, dynamics, and ensemble density. The square dance is an audible geometric analogy, not literal atomic motion, QPU output, or sound emitted by atoms.
Annealogue evolves an exact three-qubit state under a transverse-field annealing Hamiltonian. Eight bitstrings form a distorted cube whose energy, probability, and phase are both visible and audible; three small landscapes can be annealed, measured, and compared with a classical greedy walker without making a speedup claim.
Experiments collects compact sonification studies for overlooked low-friction math and science demos. RISSET-MOIRE crosses rising green and falling pink Shepard lattices with one oscillator per line, angle-derived independent glissando rates, optional doubled pairs, and locally whitened amplitude crossings, Chladni Plate maps square-plate nodal modes to modal partials, Spring Choir projects a coupled mass-spring chain onto normal-mode oscillators, Gear Ratio Drums converts meshed cog tooth contacts into polyrhythms, and Automatapoeia foregrounds exact binary cellular-automaton evolution: selectable elementary radius-1 and totalistic radius-2 families, searchable vector atlases for all 256 elementary rules and all 64 totalistic codes, their 88 symmetry and 36 color-conjugacy representatives, the appropriate eight-pattern or six-total lookup, a reproducible initial row, explicit fixed-zero or periodic boundary conditions, and generation tracking. Family, rule/code, and boundary changes continue from the current row as an explicit piecewise evolution. Its optional mono sonification extracts run motion, expansion, persistence, symmetry, birth/death balance, and edge flux into pitch ancestry, run-band timing, signed swing, adjustable ADSR overlap, and eight finite physical, FM/PM, additive, wavefold, and noise-resonator timbres. Prime Sieve makes prime discoveries a sparse rising melody; Lissajous Orbits shares one integer ratio between a curve and an interval; Pendulum Wave sounds phase drift and recurrence; and Double Pendulum turns sensitive divergence into widening detuning. Reaction-Diffusion drones from Gray-Scott concentration and edge energy, Atomic Orbitals maps hydrogenic nodes to partials, DNA Translator reads bases and codons as a genetic score, Neural Pulse sounds activation through a fixed weighted network, Fourier Epicycles uses the same partials for rotating vectors and additive synthesis, and Gravity Lens gives two idealized lensed images separate pitch, level, and delay relationships. Three finite classical Fourier experiments approach the fractal uncertainty principle without presenting browser numerics as a proof. Cantor Lock optimizes simultaneous concentration inside Cantor-shaped position and frequency masks: retained addresses become a glass pitch-and-pulse lattice, depth widens its register and ensemble, optimization accelerates its phrase, and complementary leakage becomes an amber inharmonic air halo. Escape Dust compares classical survivors with unnormalized wave loss in an open triadic baker map, holding phase-space position to melody and pan, spread and entropy to PM texture, survivor branches to dry rhythmic subdivisions, wave norm to orchestral density, and escape flux to noisy accents. Linebreaker rotates a probe through crossed lines, a Sierpiński carpet, and Cantor dust to expose the extra line-porosity condition needed in higher dimensions; occupied runs sustain organ rails, gaps articulate rests and grains, probe motion bends the phrase, and dominant two-dimensional Fourier bins supply the changing harmonic ensemble.
Wheel of Organs grows every typed letter occurrence into its own mouth on a quiet, still one-shot wheel. A spin accelerates, coasts through at least six turns, and brakes with physical inertia; a mouth sounds only when it crosses the fixed organ reader at three o'clock. The winning organ lands at the reader, holds for 1.6 seconds, and fades for 2.4 seconds before the wheel unlocks for another spin. A bounded twelve-slot vocal engine recycles across as many as thirty-two visual mouths: glottal excitation passes through moving oral, throat, nasal, and slime resonances while pull, push, lip pinch, whole-mouth size/stretch, an extensible tongue, dirt, breath, depth, and screech continuously reshape each crossing.
Plugazoid is an honest browser plug-in host MVP: explicit Audio arm and on-demand microphone capture feed a compact VST3-shaped source-port processor before the shared audio output. Its Port Drive reference effect runs in an AudioWorklet, exposes a WebAssembly adapter seam, and makes drive, tone, wet mix, bypass, input, and output levels visibly causal without stopping the live stream. VST3 is the first portability target, with CLAP and macOS Audio Unit shown as the next native adapters; the page identifies those native package types but does not pretend a browser can execute their binaries. Source-owned DSP can be compiled for AudioWorklet/WebAssembly and packaged as a Web Audio Module, while arbitrary installed plug-ins require a separately trusted local host bridge.
Lumber Loops is a live audio looper drawn as thin, differently colored concentric rings. Each ring has inline direction, relative volume, centered L/R pan, mute, solo, and delete controls. Straight radial handles apply duration-preserving local pitch: inward lowers and outward raises only adjacent loop sections. Additional controls provide movable playback heads, per-ring clocks, one-click global length/phase sync, per-ring filtering, and optional 3D depth. A pale outer Delay ring can be toggled for the complete mix: its neutral shape is dry, inward pulls shorten the echo, and outward pulls add feedback and wet level. It has an independent rotation transport and stereo spread control.
L-system Delay is a live recursive microphone whose fitted L-system tree is both the score and the level display: microphone loudness visibly travels from the fixed trunk through every sounding descendant. Full binary rewriting is structural; child-time ratio can contract or expand inherited intervals, branch turns accumulate as pitch, and mutation/asymmetry alter both drawing and audio. The default Economy renderer uses Graph Delay’s overlapping-grain family inside one 40-second raw-history worklet. Its 24 internal pitch classes are shared targets rather than 24 processor nodes: every audible branch retains its own delayed read head, so substantially more than 24 branches can sound while overflow pitches map to the nearest retained class and unison remains exact. Optional Silky 3/7/10/16 Signalsmith pools remain available when audio is stopped. Audible polyphony starts at the conservative 48-branch budget, measures whole-context audio-deadline load when available, probes toward the complete 1,022-descendant topology under a 1,024-voice allocation guard, and rolls back on overload or an underrun. Browsers with only partial renderer timing probe no higher than 256; browsers without trustworthy telemetry remain at 48. The page starts with all thirteen generations and breadth-first pruning, while the gray tree continues to show the complete structural rewrite. Time Fold spans whole milliseconds from 1–3000, with 75% of its slider travel dedicated to 50–1000 ms. Child Time Ratio remains an independent 0.2–2× rewrite: changing either timing control never changes the other, and branches landing beyond the 39-second usable history remain visibly structural but inaudible. Drawing compresses expansion perceptually while audio keeps the exact timing ratio, preventing the fixed trunk from disappearing. Sixteen plant-named presets run from 1 ms robotic micro-combs through measured rhythms and spacious pulses to smooth three-second recursive folds. The final Current settings section consolidates branch counts, timing levels, and turn-to-pitch mapping as percentage of an octave; the input button starts or pauses the microphone, and Stop audio disconnects it.
THROATAZOID speaks through one to seven pieces of soft membrane anatomy from three switchable excitation sources: conditioned live microphone, a permission-free internal glottis, or both at once. The synthetic source follows Pink Trombone's fundamental model—a modified LF-style vocal-fold pulse plus aspiration—with playable pitch, intensity, tenseness, breath, vibrato, and slow wobble. Thirteen specimens span the range from one-throat Oracle and Monolith to five-mouth colonies and the seven-mouth Hydra, with Triune, Hive, Razor, Siren, Larva, Cathedral, Needle, Maw, Choir, and Void between them. A colony of up to five draggable tongues changes height, frontness, and curl; every active tongue is blended into the sounding throats, so extra articulators remain audible even when they outnumber the mouths. Up to three separately gated noses run parallel pole/notch resonators with independent length, resonance, delay, and stereo position; oral closure can divert the organism into nasal sound. The on-stage A/E/I/O/U/S/K/M/N bank loads playable articulatory gestures, including sustained sibilance, nasal closures, and an automatically released K burst, while Type-to-speak turns the same keys into hold-and-release performance controls. The organism is directly playable through soft stage blisters: throat nodes reshape aperture and length, selected tongues expose a curl nub, selected nasal sacs expose a resonance rim, and body/closure nodes control length, tension, oral seal, and coupling. Mic mode disables browser voice processing, applies gentle input conditioning, and exposes time-based stability smoothing instead of abrupt automatic trim jumps. Pressure bubbles visualize excitation moving from the root through every unsealed lip ring. The stage also supports keyboard-accessible anatomy and articulation controls, complete sever/panic behavior, compression and output limiting, local processed-output capture, and microphone cleanup whenever the page is hidden or left.
Pink Trombonazoid turns Throatazoid's one-mouth, 44-section physical vocal tract into an editable word sequencer. A bundled CMU pronunciation dictionary converts local text into phonemes, then aligned segments and automation lanes control pitch, intensity, breath, tongue position and height, lip opening, nasal coupling, and mutation while Say word advances a visible playhead through the tract gestures. Segment timing and curves stay draggable after lookup, tract personalities provide different starting anatomies, and compact pitch and breath LFOs add motion without replacing the phoneme score. Drive, tone, vocal echo, loop, tempo, and bypass controls extend the performance while keeping the generated pronunciation visible and editable; no speech service or upload is used.
Throat Singing is a research-informed physical overtone voice that keeps a pressure-driven glottal drone and tract-selected upper melody inside one 44-section airway. Its Tuvan Sygyt, Xöömei / Khöömei, Kargyraa, Borbangnadyr, and Ezengileer starting points reshape two constrictions and an F2/F3 focus, while Kargyraa adds ventricular-fold period division; clearly separated comparison presets avoid presenting related techniques as Tuvan traditions. Drag the tongue and pharynx, choose harmonics H4–H20, or use A S D F G H J K to retune the drone.
Vocalzoid is a compact one-word singing sequencer inspired by the broad score-to-phonemes-to-pitched-samples architecture of classic Vocaloid and UTAU, without claiming compatibility with either. A local CMU dictionary turns English lyrics into phones; each syllable becomes a piano-roll note whose vowel lands on the score line and sustains beneath pitch-aware consonant pickups and codas. Notes can be added, moved, resized, cut into phrases, or deleted with pointer, touch, and keyboard controls. Randomize produces six to ten new playable phone chains and varies their notes, tempo, vibrato, glide, and KAL color without autoplaying or replacing the chosen voice source. Each rectangle shows its phoneme chain, and role-safe pull-downs can replace any of 39 ARPAbet sounds while preserving the sustained vowel nucleus. KAL16 supplies the general fallback voice in three rendering colors. Eight reproducibly derived demo banks—CC0 OddVoices Air, Cicada, and Quake plus permissively licensed CMU ARCTIC BDL, CLB, JMK, KSP, and SLT—supply contrasting speakers for the default lyric, with unmatched notes falling back visibly to KAL16. Extracted classic UTAU/OpenUtau folders can be loaded locally: Vocalzoid reads recursive oto.ini files, Shift-JIS or UTF-8 metadata, WAV-compatible samples, and optional FRQ average pitch without uploading the bank. Exact aliases remain editable because CV, VCV, CVVC, VCCV, and Arpasing banks are not automatically interchangeable. The lightweight Web Audio path uses looped vowel regions, playback-rate pitch, vibrato, glide, and equal-power joins; unlike a full resampler or phase vocoder, pitch and duration are not completely independent.
Lattice keeps its prototile editor permanently visible. Movable corners are projected onto the selected family's native Tactile parameter space, while an overlap guard rejects self-crossing edits and a density guard limits visual/audio overload.
Head spacing can be edited while the instrument runs: drag the markers in the compact head-layout control, or reset them to an equidistant distribution. The Sides / points control chooses circle, open line, polygon, or star topology; signed controls then stretch, skew, round outward, or bow inward, with a center reset beside each slider. Reset form restores those shaping parameters without changing the side/point count. Every transform is normalized so the whole rotating form remains inside the stage. Drag the contour itself to spin it whenever auto-rotation is off.
Sound modes are exclusive, and every active contact has its own synth path. Except for the circle, continuous synths use an editable per-contact Corner Amplitude ADSR across each directed corner-to-corner interval, with short Pluck, Note, Sustain, and Pad presets and an on/off control that defaults to on. The editor reports each node's current millisecond endpoint from the trigger; Point playback uses the form's actual edge timing, while nonlinear Line and Radar motion uses a clearly marked even-corner nominal estimate. Swell values instead show symmetric offsets from the corner peak. Zero playhead speed is shown as stopped rather than infinite time; if Line or Radar contacts are moving from form rotation alone, the editor reports that no stable millisecond estimate exists. Release at zero rests the synth until the next corner trigger; a nonzero release holds that level until the next trigger. Optional corner swell mirrors the envelope from each adjacent edge midpoint into the corner peak and back out again, using each edge's own length. The evaluated envelope level can then be scaled per Synth by a selected stage-position or contour source without changing A/D/S/R timing. The circle is a continuous, vertex-free contour with constant gain, no vertex handles, and no ADSR. Percussion instead produces discrete corner strikes through a separate absolute-time Percussion ADSR with draggable millisecond nodes and the same four presets. Strike level scales each mapped trigger before Master level, and Attack noise blends in a short bounded noise transient. Shepard Glissandi use seventeen overlapping octave partials around a fixed Base-frequency anchor, so the transport supplies the cyclic pitch motion without a competing geometry-pitch curve; unwrapped travel keeps fractional octaves-per-circuit continuous across the contour seam. FM and PM use their full index/depth controls by default, with optional geometry-driven scaling and independent source choices. Active synths are level-normalized, and the Master level beside the top Audio button adjusts the combined output.
Lattice reuses the same click-safe voice pool, synth modes, pitch curves, stereo mapping, level normalization, and lazy Web Audio lifecycle. Every selected contact is one patch, with guarded onset accents and crossfaded percussion retriggers. Dense fields retain a centered adjacent contact window so tighter visual spacing produces tighter pitch spacing, while density also increases the exact lattice-cycle rate. Form edits temporarily suppress onset detection to avoid ripping or level surges.
Shape mapping always uses fixed stage/screen axes; there is no form-local coordinate mode. Pitch defaults to vertical position with higher points producing higher pitches, and can instead follow horizontal position or distance from center through a draggable five-node response curve with linear, exponential, logarithmic, smooth, and inverted presets. Stereo position can use the same three dimensions, with direction flip and width controls. Corner ADSR level, FM index, PM phase depth, and percussion amplitude can independently use Direct, Left → right, Up → down, Center → edge, corner sharpness, crossing angle, or contour position sources; percussion also retains inner/outer polarity. The Output dashboard exposes the live values and planned Web MIDI, OSC, and JSON-stream destinations. Every page starts from its baseline settings when loaded, and the bottom-of-panel reset returns the complete instrument to that baseline.
On small screens the stage stays visible while the controls scroll independently. Play, Form, Sound, Mapping, and Output are collapsible so the most useful controls can stay close together during performance.
Morphazoid runs on plain HTML, CSS, JavaScript modules, Canvas, and Web Audio; there is no application framework or required production build step. Optional development tools can build static documentation and release artifacts.
Continuous voices render in an AudioWorklet. Moving geometry sends short look-ahead trajectories to that render thread, while transport time prefers the audio clock and the canvas follows it. Canvas resolution is pixel-budgeted on large/retina windows so display work cannot grow without bound.
The live UI component catalog documents reusable tokens, controls, patterns, and interaction states.
The GitHub Pages deployment remains a
secondary mirror of main.
npm ci
npm run devOpen the localhost URL printed by the server. It starts at port 3435 and
automatically tries the next port when that address is already in use.
The reusable UI primitives and design tokens are documented in
DESIGN_SYSTEM.md. Run the component catalog locally with
npm run storybook, or generate its static HTML/CSS/JavaScript output with
npm run build:storybook.
npm run build:deploy assembles the production site, hosted WAX site, and
component catalog together under dist/; Storybook is published at
dist/storybook/.
See CONTRIBUTING.md for repository layout, coding and build conventions, generated artifacts, and the verification matrix. Agent and MCP maintenance decisions are documented in docs/agent-tooling.md.
npm run verify
npm run analyze:julia-similaritynpm run verify covers JavaScript parsing, Node tests, and committed WAX
parity. It does not run Playwright; choose the applicable browser suite from
QA_AUTOMATION.md.
Morphazoid is available under the MIT License. Bundled third-party components retain the terms listed in THIRD_PARTY_NOTICES.md.