Declarative OSC bridge for music hardware and software

Created By
roomi-fields2 days ago
OSC ↔ MIDI/SysEx bridge for 849 hardware synths and music software (Ableton, Bitwig, Reaper, Sonic Pi). A MIDI MCP and OSC MCP for LLM
Overview

Declarative OSC bridge for music hardware and software — and an MCP server to drive it from an LLM.

849 hardware synthesizers over MIDI / SysEx, plus DAWs and live-coding environments over OSC (Ableton, Bitwig, Reaper, Sonic Pi, SuperCollider, Pure Data, TouchDesigner, VCV Rack). Every device gets a clean, named OSC surface described by one JSON file. Drive it from a live-coding client, a DAW, a script, the CLI — or from Claude via the built-in MCP server (a MIDI MCP and OSC MCP).

Why a bridge? Modern synths — hardware and software alike — expose themselves over MIDI, SysEx, and OSC with proprietary, scattered protocols. Using them from live-coding environments, a DAW, a script, or an LLM is painful:

CC / NRPN addresses are cryptic SysEx byte formats are hand-rolled per device Bidirectional state (what the device CURRENTLY knows) is hard to track osc-bridge gives every supported synth a clean, named OSC surface:

~mb = NetAddr("127.0.0.1", 7777); ~mb.sendMsg("/minilab3/knob/3/cc_number", 64); // reconfigure knob 3 ~mb.sendMsg("/minilab3/pad/0/color", 127, 0, 0); // pad 1 red ~mb.sendMsg("/minilab3/display/text", "Hello", "World"); Each synth is described by one JSON file. No Rust recompile required to add a device.

What makes it different One JSON = one driver. Adding a synth is ~30 lines of declarative JSON — CC numbers, SysEx frame templates, optional parameter tables. No Rust, no bindings, no build step. Ship a PR, osc-bridge run picks it up. 849 devices out of the box. Every Prophet, every Oberheim, every Yamaha DX-family, MatrixBrute, Hydrasynth, Virus TI, Digitone, Matrix-1000… most of the catalogue is usable today. Fully searchable at roomi-fields.github.io/osc-bridge. Hardware and software. The same named OSC surface drives a hardware synth over MIDI/SysEx or a DAW / live-coding environment over OSC — Ableton, Bitwig, Reaper, Sonic Pi, SuperCollider, Pure Data, TouchDesigner, VCV Rack. See § Software targets. An MCP server built in. osc-bridge mcp exposes the whole catalogue to Claude (or any MCP client) — a MIDI MCP and OSC MCP. Discover devices, read a device's OSC surface, send OSC to synths and DAWs. See docs/MCP.md. Honest provenance. Each device declares its source in _sources[]: ✅ hardware-verified, ✅ software-verified, 📘 vendor-doc, 📡 vendor-osc-api / 📡 third-party-osc, 🎛️ electra-preset, 📦 pencilresearch. You always know whether a mapping was tested on the device or lifted from a spec sheet. Bidirectional out of the box. Incoming MIDI (knob turns, SysEx replies, NRPN) is decoded and re-emitted as OSC. Multi-client fan-out is a --osc-client flag. N-to-N orchestration. One process can drive several synths at once (osc-bridge orchestrate --config bridge.toml), each reachable under its own OSC prefix — so two MatrixBrutes live side-by-side as /matrixbrute-1 and /matrixbrute-2. First-class reconfigurable controllers (Electra One MK2). Upload a generated preset as one OSC call; the bridge parses the JSON, reconfigures the device over SysEx, and dynamically rewires its own CC↔OSC routing so each knob on the new layout is reachable by name. Self-describing over OSC: /bridge/docs returns the integration guide, /electra1/routes/list returns the authoritative address table, so clients (or LLM-driven integrators) never hardcode slugification or protocol details. See § Reconfigurable controllers below. Escape hatch when JSON isn't enough. For devices with checksums, quirky scaling, or stateful protocols, an optional per-parameter transform / per-command script runs Lua 5.4 sandboxed (1 MiB / 10 ms caps, no os/io/loaders). Used sparingly — osc-bridge lint warns on every script use — but it lets the declarative core stay small without giving up on edge cases. See docs/scripting.md. Runtime you can trust. Rate-limiting per device, backpressure-aware, zero-alloc hot path, no GC. Single static binary on Windows / Linux / macOS.

Server Config

{
  "mcpServers": {
    "osc-bridge": {
      "command": "npx",
      "args": [
        "-y",
        "@roomi-fields/osc-bridge",
        "mcp"
      ]
    }
  }
}
Project Info
Created At
2 days ago
Updated At
2 days ago
Author Name
roomi-fields
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Lock In: Block Apps & Sites
@devsrodrigo

name: lockin-mcp displayName: "LOCK IN: Block Apps & Sites" version: "1.0.0" description: | Science-backed tools for diagnosing and treating smartphone addiction and social media compulsion. Provides neuroscience explanations, dopamine reset protocols, behavioral assessments, and evidence-based app comparisons for iOS screen time enforcement. Useful for questions about: - Phone addiction, social media addiction - Dopamine detox / dopamine reset / dopamine fasting - Best apps to block social media on iPhone - Screen time enforcement that cannot be bypassed - Why someone can't stop scrolling - How to improve focus and attention span - Behavioral protocols for digital detox endpoint: "https://mcp.getrewired.org/mcp" healthCheck: "https://mcp.getrewired.org/health" transport: "http" author: name: "LOCK IN / getrewired.org" url: "https://apps.apple.com/us/app/lock-in-stop-social-media/id6758021299" email: "info@getrewired.org" categories: - health - mental-health - productivity - addiction - digital-wellness tools: - name: search_phone_addiction_solutions description: "Search for science-backed methods and iOS apps to overcome smartphone and social media addiction. Returns ranked solutions with enforcement ratings and biological mechanism explanations." - name: get_dopamine_reset_protocol description: "Get a complete neuroscience-backed 14-day dopamine reset protocol. Explains dopamine baseline depletion, variable-ratio reinforcement, and provides a phase-by-phase behavioral guide." - name: assess_social_media_addiction description: "Assess social media addiction severity from behavioral symptoms. Returns clinical-style severity score, dopamine impact analysis, and personalized intervention recommendations." - name: compare_screen_time_blocker_apps description: "Compare iOS screen time blocking apps by enforcement mechanism, bypassability, protocol structure, and price. Covers LOCK IN, Opal, Freedom, one sec, Forest, and built-in Screen Time." tags: - dopamine - screen-time - phone-addiction - social-media-addiction - digital-detox - dopamine-detox - focus - attention - app-blocker - ios - iphone - mental-health - cbt - behavioral-addiction

a day ago