Torsten Goerke

Networked Music Research

Malleable Music

Building

Developer working on malleable music ensembles, networked instruments, and local-first infrastructure for live performance.

The Proposal

Decentralized music ensembles face a fundamental constraint: sharing audio in real time is hostage to latency. One productive escape hatch is to share musical information instead — patch state, clock signals, structural intent — and let each performer’s local environment render it. This shifts the problem from networking audio to synchronizing meaning across heterogeneous tools.

That shift, however, exposes a deeper fragmentation. The live music software ecosystem is fractured along tool boundaries. A performer working in VCV Rack inhabits a completely different schema of modules, cables, and knob positions than a livecoder writing TidalCycles patterns, or a musician patching Max/MSP. Today, these worlds do not compose. The result is that ensemble practice in modular and livecoded music remains either expensive (physical hardware) or artistically constrained by the lowest common denominator of a single shared tool.

The expressiveness of genres like livecoding is already shaped by tool restrictions: slow-building textures, “from scratch” performance rituals, and the gradual accumulation of structure over a set. These are compelling aesthetics, but they are partly accidents of limitation. The question we are asking is: what new forms of collective expression become possible when the tool boundary dissolves?

We propose Malleable Music Ensembles (MME) — a framework that uses generalized algebraic theories (GATs) and categorical lenses (as implemented in panproto, built on GATlab) to define schemas for each musical environment and to specify structure-preserving morphisms between them. Rather than ad-hoc format converters, these morphisms are algebraically grounded: they compose, they respect the semantics of each schema, and their laws are enforced at runtime on every edit, not merely stated in design-time proofs. Panproto ships check_lens, check_edit_laws, check_refinements (for domain-specific constraints such as “no cable creates a cycle” or “tempo is always positive”), and check_morphism for modality extensions; on every edit arriving at a live session, the relevant subset runs on the affected sub-instance before the edit is accepted, and any edit that violates a round-trip or refinement law is rejected with the session state preserved. The claim “algebraically grounded” is therefore defensible not because we have written a proof, but because the runtime enforces the laws on every keystroke. This enables networked music ensembles to tell a more live-first-friendly story, and this is precisely what our demo would show. A VCV Rack patch — modules, cable topology, knob state — becomes a term in one schema; a TidalCycles pattern inhabits a corresponding schema of its own; and a bidirectional edit translation mediates between them in a way that is transparent.

Local-first ensembles where performers keep full control of their setup and are still able to co-create art. There is no canonical server-side representation. Schema morphisms run at the edge, on each participant’s machine, composing patch information without requiring any participant to abandon their preferred instrument or environment. This enables user-malleable, interoperable, local-first infrastructure for networked music ensembles.

Our MVP demo would sync a VCV Rack clock via OSC to a TidalCycles session, with the morphism layer adding rhythmic structure — a beat and bass line — derived from the patch state. Timing runs on OSC, which is sub-millisecond on localhost and is deliberately not CRDT-merged — clock signals are authoritative, not collaborative. A more ambitious demo would show two performers, one patching VCV Rack and one writing Tidal, co-shaping a live piece in real time: the same music, two incompatible tools, one shared local-first substrate.

Ensembles

MME is a live framework. These are the ensembles already in the network — and the open pilot slots where new ones can join.

Current

OpenGuitar × MMEFernando Bravo (OpenGuitar, University of Cambridge) and Torsten Goerke (malleable.music). An open-source experimental classical guitar with onboard partitioned convolution and a MaxMSP IR-convolution reverb tail, playing into an MME ensemble alongside VCV Rack and built-in synths. First performed as “OpenGuitar convolved soundscapes” at SMC 2021; returning at MozFest 2026 on the AT-Protocol stack.

Open pilot slots

We’re recruiting two pilot cohorts of working musicians to co-design schemas and lenses for their own tools — livecoders, modular-synth players, MaxMSP patchers, hybrid rigs, anyone whose ensemble practice gets squeezed by tool monoculture.

The pilot covers panproto Theory authoring (the algebraic spec for your tool’s schema), lens design (the bidirectional translation between your tool and the rest of the network), and a guided session bringing your ensemble onto a shared local-first substrate.

If you play in a group and want to compose across tool boundaries with law-checked translation under the hood, get in touch.

About

Fernando Bravo

Fernando Bravo

Neuroscientist & classical guitarist

Clinical psychologist, neuroscience researcher, classical guitar performer and composer. Designer of OpenGuitar — an open-source experimental guitar for STEM education with disadvantaged children. Post-doc at the University of Cambridge.

Neuroscience of Music Classical Guitar Open-Hardware Instruments
Torsten Goerke

Torsten Goerke

Computer Science researcher & musician

Developer working on malleable music ensembles, networked instruments, and local-first infrastructure for live performance.

Networked Music Live Coding AT Protocol
Aaron Steven White

Aaron Steven White

Computational Semanticist

Computational semanticist, into modular synths and rum.

Computational Semantics Modular Synthesis Networked Music

Get in Touch

Logo

Connect

Interested in collaborating on networked music or local-first infrastructure?

✓ Copied to clipboard!
Send a message

Find me on