GLOOPY

Composition as Code

Script your studio. Commit your music.

Gloopy is a linear-arranger DAW whose primary surface is a diff-friendly, plain-text project format and an OSC + gRPC control API β€” so a script, an AI agent, or your CI can drive it as readily as the desktop app.

v0.1 Β· early & experimental β€” expect breakage
The Gloopy desktop app editing the "Ascension" demo: the busy Low Ostinato track is selected and open in the piano-roll editor β€” a dense field of notes over a piano keyboard, with a velocity lane below and the full colour-coded arrangement of eleven orchestral tracks above.
Piano-roll editing the busy Low Ostinato track β€” 396 notes β€” with the full 11-track β€œAscension” arrangement above.

What makes it Gloopy

Small, scriptable, and version-controllable by design.

Everything the app can do is reachable β€” and verifiable β€” without the window. The GUI is built on the same control surface your scripts use.

Control API

Drive it over OSC + gRPC

Build a track, arm a clip, set automation, bounce a mix β€” from Python, Common Lisp, a shell, or an AI agent. Stable ids, live knobs over OSC.

Composition-as-repo

Projects are plain text in git

Tracks, clips, notes and automation serialise to readable TOML and .notes/.points files. Diff a change, branch a mix, review a pull request.

Instruments

Hosts VST3 / LV2 + Surge XT

A built-in synth and sampler, native SFZ playback, hosted VST3/LV2 plugins, and the featured Surge XT synth bundled in.

Headless

Render without a display

gloopy render song/ out.wav bounces the mix in CI; export-stems writes one WAV per track. Bit-reproducible.

β—‡ AI agents Β· Model Context Protocol

Let an assistant drive Gloopy

A built-in MCP server ships inside the binary, so an AI agent β€” Claude, or any MCP client β€” can inspect and control your song through the same shared model the desktop app and your scripts use. No glue code, no separate package, no Python.

# point an MCP client at: gloopy mcp [project] # e.g. a Claude MCP config entry: "gloopy": { "command": "gloopy", "args": ["mcp"] }

Install

Grab it for your system.

On Fedora / RHEL, add the dnf repository once and future releases arrive with your normal system updates. Debian / Ubuntu and Windows install from the release downloads. Packages are the full build, with the bundled Surge XT synth.

Fedora / RHELrpm Β· dnf
# add the repo, then install sudo dnf config-manager addrepo \ --from-repofile=https://atgreen.github.io/gloopy/rpm-repo/gloopy.repo sudo dnf install gloopy
Installs /usr/bin/gloopy; deps resolve from your repos.
Debian / Ubuntudeb Β· direct
# download the .deb from Releases, then install # grab gloopy_*.deb from the # Releases page, then: sudo apt install ./gloopy_*.deb
No apt repo β€” the package bundles Surge and exceeds GitHub's file-size limit. apt pulls in the deps.
Windowsx64 Β· installer
# installer β€” recommended 1. Download gloopy-setup-x64.exe 2. Run it; tick Add to PATH for the CLI + MCP server. # or portable, no install gloopy-windows-x64.zip β€” unzip & run.
Self-contained: app, runtime DLLs, assets, and the Surge XT VST3. Releases β†’

The manual

Two front doors: play it, or script it.

A user guide for making music at the desktop, and a control-and-scripting guide for driving Gloopy from Python, Common Lisp, and the wire.