vibecode
A browser-local generative music instrument with Machine, Vibe, Wub, and Loop workspaces for sequencing, directing, performing, and revisiting sound.
Type: Generative Music Instrument / Single Page Application (SPA)
Domain: Algorithmic Composition / Live Coding / Web Audio
Purpose & Origins
vibecode began as a literal experiment in vibe coding: turn a live-coding language into a playable drum machine, then let the instrument explore its own musical possibilities. That initial concept now lives across four connected workspaces: Machine, Vibe, Wub, and Loop.
vibecode is a browser-local instrument for making, directing, and returning to generative music. Machine connects editable synthesized patterns and code, with controls for sequence length, meter and note duration. Vibe develops the current music through destinations, character, voices, harmony, automation, and explicit permissions. Wub turns short gestures into playable synthesized patches, while Loop keeps a recent performance available for listening and continuation.
The instrument keeps generation interruptible and inspectable. A visitor can change a step or a sound control, write and run a draft, hold a voice against Vibe's changes, or stop and return to the beginning. The current session remains useful without an account or a server.
Architecture & Technology
The release is a self-contained HTML page with a framework-free interface and embedded Strudel 1.3.0 and Hydra 1.3.29 distributions. Built-in workflows use the page's local runtime. Strudel evaluates musical patterns; Vibecode maps them to its native drums, synth voices, FM controls, and loop sources. Hydra is an optional WebGL visual surface with built-in sketches and no camera, microphone, or stream capture.
The instrument synthesizes its voices and effects through Web Audio and schedules events against the audio clock. Machine compilation is bounded and reuses unchanged work. Wub provides 24 original patches across bass, signals, and transitions, with hold and repeat gestures. Loop records bounded performance events, code and control changes, Wub gestures, and repeats rather than continuously recording audio. A selected passage can be listened to, continued, saved as a clip, exported as event data, or rendered to WAV on demand.
Sessions, settings, moments, saved clips, and imported sample data stay in browser storage. Portable backups include the session and the data needed by its saved branches. The page can save its source and reports its local runtime state. There is no application backend, account system, or outbound runtime request in the built-in workflows.
Scope & Uniqueness
vibecode 1.2.4 includes a searchable library of starting pieces, from original grooves to folk and classical themes, alongside its musical destinations. Machine supports different sequence lengths, meters and step durations, with additional synthesized instruments alongside the original voices. Vibe’s Musical ↔ Chaotic control guides development within the permissions the visitor chooses. Vibe can change arrangement, harmony, direction and optionally the added instruments, while protected voices, manual mix decisions, and the output ceiling remain authoritative. A visitor can keep a moment as a branch point and explore from it without losing the earlier state.
The instrument also leaves room for direct performance. Wub's 24 patches respond to keyboard or pointer gestures, and repeat can hold a recent passage against the live clock. Loop's timeline makes those changes readable after they happen, so a visitor can inspect a performance, hear a bounded selection again, or carry an accepted passage forward. The result is a small studio that treats generated music as something to conduct, inspect, and revisit.
Screenshots



