Music Clipboard with (optional) AI integration helps you capture, transfer, and edit music regions within or across DAWs/notation software. The program supports extraction optimized for cross-DAW transfer and translates music to text for language models.
Music Clipboard was built with both technical and non-technical musicians in mind, after the setup below the GUI requires no coding or terminal usage.
Currently up for macOS, Windows version is being updated.
Run these commands from the repository root (music_clipboard_ai/).
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtIf you only want to run the Electron UI, from the repository root:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd src/music_clipboard/electron_ui/app
npm install
npm startThe new desktop app lives at:
src/music_clipboard/electron_ui/app(Electron Forge + React + TypeScript)src/music_clipboard/electron_ui/backend(FastAPI local backend)
From repository root:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd src/music_clipboard/electron_ui/app
npm install
npm startThe Electron main process will start the local FastAPI backend automatically on 127.0.0.1 with an ephemeral port and token.
From src/music_clipboard/electron_ui/app:
source ../../../../venv/bin/activate
pip install pyinstaller
npm run bundle:backend
npm run packagebundle:backend produces a bundled backend executable in backend-dist/, and Forge packages it as an app resource.
GET /api/v1/healthPOST /api/v1/extractPOST /api/v1/midi/exportPOST /api/v1/ai/openai/edit-midiGET /api/v1/jobs/{job_id}GET /api/v1/jobs/{job_id}/events(SSE)
Launch the GUI:
scripts/macos/run_gui.shOr launch directly with Python (cross-platform):
PYTHONPATH="$(pwd)/src:$(pwd)" python3 -m music_clipboard.gui.appStart the global hotkey listener:
scripts/macos/run_hotkey_listener.shOr launch directly with Python:
PYTHONPATH="$(pwd)/src:$(pwd)" python3 -m music_clipboard.automation.hotkey_listenerGUI launcher:
scripts/macos/run_gui.shHotkey listener:
scripts/macos/run_hotkey_listener.shGUI launcher:
scripts\\windows\\run_gui.batHotkey listener:
scripts\\windows\\run_hotkey_listener.batPython module alternatives (PowerShell):
$env:PYTHONPATH = "$PWD\\src;$PWD"
python -m music_clipboard.gui.app
python -m music_clipboard.automation.hotkey_listenerGenerated files are written to:
data/outputs/textfor extracted pitch text filesdata/outputs/midifor exported MIDI files
During transition, legacy output folders may still be read if present:
clipboard-full/txtsclipboard-full/midis
- AI-integrated workflow: copy/export extracted musical material into AI editing flows from the GUI
- Supports editing within cross-DAW transfer
- Hotkey automation: global shortcut listener to trigger save-selection workflows
- Inputs: MuseScore
.mscxand.msczscores (plus MIDI handling in app workflows) - Pitch extraction: note names from score content (for example
C4,F#5) - Position-aware extraction: note names with measure/beat locations (for example
M12:3.50) - MIDI export: MIDI generation from MuseScore scores
This repository also includes a MuseScore MCP integration under:
src/music_clipboard/integrations/musescore_mcp
Entry points:
src/music_clipboard/integrations/musescore_mcp/mcp_server.pysrc/music_clipboard/integrations/musescore_mcp/musescore_mcp_websocket.qml
For setup and usage, see:
src/music_clipboard/integrations/musescore_mcp/README.md
clipboard-full/MAC and clipboard-full/WIN are legacy transitional wrappers. They remain in the repo for compatibility, but new usage should prefer src/music_clipboard modules and scripts/macos / scripts/windows launchers.
The MuseScore MCP integration in this codebase was originally based on ghchen99/mcp-musescore and then integrated and modified in this repository.