Free, open-source (MIT) pattern groovebox for the uDos (Universal Device Operating Surface) family: local FastAPI + static UI, optional Songscribe bridge, pattern library, exports, and USXD interchange JSON.
| Version | 2.2.1 — see VERSION · package.json |
| License | MIT |
| Repository | github.com/fredporter/Groovebox |
| Quick start | QUICKSTART.md (about five minutes) |
| Learning intake | docs/learning/README.md (Sonic-style hub: beginner path + public uDos links) |
Family context: this repo versions independently. Public uDos governance and teaching surfaces: uDosDev, AppStoreDocs (docs/public/). Optional local sibling: uDosConnect/uDosDev when you have it checked out.
Contributing: CONTRIBUTING.md · Public posture: docs/PUBLIC.md
Groovebox is the repository and user-facing product name. Interchange
and validation scripts still use the stable wire id uDOS-groovebox on JSON
owner fields and related checks — do not rename those without a coordinated
schema bump.
Pattern-first music sequencing, transport bridges, and portable composition artifacts for uDos.
- groovebox pattern structures and library shape
- transport bridge surfaces between Songscribe and pattern data
- portable sequencing examples, exports, and music-oriented config
- local-first composition workflows that do not require a network runtime
- canonical shell command ownership
- Wizard API or provider ownership
- DAW-grade audio workstation UI ownership
- canonical runtime semantics that belong in
uDOS-core
app/containers/src/docs/tests/scripts/config/examples/
Keep musical artifacts text-first, deterministic, and portable across shell, Wizard, and local export tooling.
Groovebox should own composition and pattern artifacts that Shell and Wizard can consume without inheriting sequencing ownership. Songscribe bridges may live here, while shell command routing remains outside this repo.
The current MVP includes:
- a local web UI for workspace browsing, pattern-library import/save, and markdown-driven sequencing, including multi-bar step patterns and automation lanes
- visual composer editing for section-local phrase cells, automation lanes,
arrangement repeats, transition tags, and timeline-aware section switching,
with markdown kept in sync through a dedicated
groovebox-sectionsfence - backend-generated transport events, phrase semantics, song-mode arrangement, and Web Audio playback preview
- MIDI JSON inspection plus file-producing
.midand.wavexports undersessions/exports/ - stereo WAV rendering with instrument-aware panning and transition-shaped dynamics
- plain-text notation export for phrase review and diffable arrangement output
- MusicXML export for structured notation interchange
- MML export for text-first sequence interchange
- a Songscribe container lane under
containers/songscribe/ - binder and vault workspace browsing through checked-in config
Root package.json defines packages/* for future shared UI tokens with
Songscribe. The Groovebox app stays Python/FastAPI; run npm install only
when developing those packages. See docs/groovebox-songscribe-convergence.md.
docs/product-checklist.md— release and operator checklistdocs/sound-library.md— pattern library, samples, presets, exportsdocs/songscribe-contract.md— Songscribe API and operationsdocs/docker-posture.md— when Docker is optional vs required
AGENTS.md— agent / Cursor map ·DEV.md— commands ·TASKS.md— backlog ·docs/dev/WORKFLOW.md—.local// compost discipline
The repo activation path is documented in docs/activation.md.
Run the current repo validation entrypoint with:
bash scripts/run-groovebox-checks.shRun the local UI with:
bash scripts/run-groovebox-ui.sh