AI-assisted Audio + MIDI music workspace built around Stable Audio and MuScriptor
HTML
5
0 commits
updated Jul 14, 2026
AI-assisted Audio + MIDI music workspace
Make sound. See its shape. Edit its notes.
MuScriptor Studio is a web-based music creation tool that connects text-to-audio generation, timeline-based audio editing, automatic MIDI transcription, and Piano Roll editing in one focused workspace.
The product is built around a simple flow:
Text prompt
↓
Stable Audio generation
↓
Audio clip on the timeline
↓
MuScriptor transcription
↓
MIDI clip / Piano Roll editing
↓
Audio + MIDI playback and export
MuScriptor Studio is designed as a DAW with AI inside, not as a generic AI dashboard. The main surface is an arrangement timeline; generation is a tool invoked from the workspace, and MIDI remains editable musical data rather than a final opaque result.
See the design language document for the initial visual and interaction system.
MuScriptor Studio is fundamentally a personal desktop application, with a matching Colab deployment for development and remote access.
The default user experience should not require an account, cloud deployment, or always-on remote server. Colab is an additional way to host the same web app for development and testing. See Deployment and Runtime Modes.
The model integration has been functionally validated on a real Colab Tesla T4:
stabilityai/stable-audio-open-1.0 and MuScriptor/muscriptor-medium loaded on the same GPUThe Studio now has a real model-backed browser path on the Colab T4 deployment:
200 through the HTTPS URLCOLAB T4 · HTTPS and Tesla T4 · colab-t4ready8.916s0The current functional boundary is generation, WAV storage, MIDI extraction, polling, playback, and artifact download. Dynamic insertion into the arrangement timeline, non-destructive editing, and full project export remain next.
This repository is the product workspace. The upstream model fork is maintained separately at acidsound/muscriptor, currently using the ui-improvements branch for the verified model/UI work.
The application core is shared across deployment targets. Only the host and local execution backend change.
┌──────────────────────────────┐
│ Shared Studio application │
│ Timeline · Audio · MIDI │
│ Piano Roll · Project / Jobs │
└──────────────┬───────────────┘
│
┌─────────────────────────────┴─────────────────────────────┐
│ │
┌─────────┴─────────┐ ┌─────────────┴─────────────┐
│ Desktop deployment │ │ Colab T4 deployment │
│ Browser → localhost│ │ Browser → HTTPS URL │
│ Studio server │ │ HTTPS tunnel / ingress │
│ Local GPU or CPU │ │ Studio server on T4 │
└─────────┬─────────┘ │ Stable Audio + MuScriptor │
│ └─────────────┬─────────────┘
└───────────────────────┬─────────────────────────────────────┘
│
WAV / MIDI / Project storage and export
Inside either deployment, the runtime selects a local GPU when available and falls back to CPU when necessary. Colab is not a runtime selector inside the local Studio; it is a separate way to launch and expose the same web app. The first implementation should keep GPU work conservative with one Stable Audio generation at a time, serialized variations, and clear job states in the UI.
The server uses Python's standard library for HTTP and loads the model runtime lazily when the first job is submitted. Install the model dependencies and configure HF_TOKEN before requesting real inference.
python3 server.py --host 127.0.0.1 --port 7860 --deployment desktop
Open http://127.0.0.1:7860 in a browser. The server exposes:
GET /api/healthGET /api/runtimeGET /api/projectPOST /api/jobsGET /api/jobs/<job_id>GET /api/artifacts/<job_id>/audio.wavGET /api/artifacts/<job_id>/notes.midA job runs through:
queued → loading_models → generating → transcribing → ready
└→ failed
The T4 deployment uses a single worker to avoid unsafe VRAM concurrency.
Upload the repository files to /content/muscriptor-studio, then run the scripts in order:
colab exec --session studio-t4 --file scripts/colab_start_studio.py --timeout 60
colab exec --session studio-t4 --file scripts/colab_wait_for_studio.py --timeout 150
colab exec --session studio-t4 --file scripts/colab_start_tunnel.py --timeout 180
colab exec --session studio-t4 --file scripts/colab_wait_for_tunnel.py --timeout 120
The final script returns an HTTPS URL for the browser. Stop the app and tunnel before stopping the Colab session:
colab exec --session studio-t4 --file scripts/colab_stop_studio.py --timeout 60
colab stop --session studio-t4
The deployment scripts are intentionally separate from the model installation scripts so the web shell can be validated before loading the large model weights.
.
├── README.md
├── server.py
├── model_runtime.py
├── web/
│ └── index.html
├── scripts/
│ ├── colab_start_studio.py
│ ├── colab_wait_for_studio.py
│ ├── colab_start_tunnel.py
│ ├── colab_wait_for_tunnel.py
│ └── colab_stop_studio.py
└── docs/
├── design-language.md
└── runtime-modes.md
.env files, cookies, or access credentials.License terms for the Studio product have not been selected yet. The project currently depends on the separately licensed MuScriptor and Stable Audio components; review their licenses before distributing a combined application.
AI-assisted Audio + MIDI music workspace built around Stable Audio and MuScriptor
HTML
5
0 commits
updated Jul 14, 2026
AI-assisted Audio + MIDI music workspace
Make sound. See its shape. Edit its notes.
MuScriptor Studio is a web-based music creation tool that connects text-to-audio generation, timeline-based audio editing, automatic MIDI transcription, and Piano Roll editing in one focused workspace.
The product is built around a simple flow:
Text prompt
↓
Stable Audio generation
↓
Audio clip on the timeline
↓
MuScriptor transcription
↓
MIDI clip / Piano Roll editing
↓
Audio + MIDI playback and export
MuScriptor Studio is designed as a DAW with AI inside, not as a generic AI dashboard. The main surface is an arrangement timeline; generation is a tool invoked from the workspace, and MIDI remains editable musical data rather than a final opaque result.
See the design language document for the initial visual and interaction system.
MuScriptor Studio is fundamentally a personal desktop application, with a matching Colab deployment for development and remote access.
The default user experience should not require an account, cloud deployment, or always-on remote server. Colab is an additional way to host the same web app for development and testing. See Deployment and Runtime Modes.
The model integration has been functionally validated on a real Colab Tesla T4:
stabilityai/stable-audio-open-1.0 and MuScriptor/muscriptor-medium loaded on the same GPUThe Studio now has a real model-backed browser path on the Colab T4 deployment:
200 through the HTTPS URLCOLAB T4 · HTTPS and Tesla T4 · colab-t4ready8.916s0The current functional boundary is generation, WAV storage, MIDI extraction, polling, playback, and artifact download. Dynamic insertion into the arrangement timeline, non-destructive editing, and full project export remain next.
This repository is the product workspace. The upstream model fork is maintained separately at acidsound/muscriptor, currently using the ui-improvements branch for the verified model/UI work.
The application core is shared across deployment targets. Only the host and local execution backend change.
┌──────────────────────────────┐
│ Shared Studio application │
│ Timeline · Audio · MIDI │
│ Piano Roll · Project / Jobs │
└──────────────┬───────────────┘
│
┌─────────────────────────────┴─────────────────────────────┐
│ │
┌─────────┴─────────┐ ┌─────────────┴─────────────┐
│ Desktop deployment │ │ Colab T4 deployment │
│ Browser → localhost│ │ Browser → HTTPS URL │
│ Studio server │ │ HTTPS tunnel / ingress │
│ Local GPU or CPU │ │ Studio server on T4 │
└─────────┬─────────┘ │ Stable Audio + MuScriptor │
│ └─────────────┬─────────────┘
└───────────────────────┬─────────────────────────────────────┘
│
WAV / MIDI / Project storage and export
Inside either deployment, the runtime selects a local GPU when available and falls back to CPU when necessary. Colab is not a runtime selector inside the local Studio; it is a separate way to launch and expose the same web app. The first implementation should keep GPU work conservative with one Stable Audio generation at a time, serialized variations, and clear job states in the UI.
The server uses Python's standard library for HTTP and loads the model runtime lazily when the first job is submitted. Install the model dependencies and configure HF_TOKEN before requesting real inference.
python3 server.py --host 127.0.0.1 --port 7860 --deployment desktop
Open http://127.0.0.1:7860 in a browser. The server exposes:
GET /api/healthGET /api/runtimeGET /api/projectPOST /api/jobsGET /api/jobs/<job_id>GET /api/artifacts/<job_id>/audio.wavGET /api/artifacts/<job_id>/notes.midA job runs through:
queued → loading_models → generating → transcribing → ready
└→ failed
The T4 deployment uses a single worker to avoid unsafe VRAM concurrency.
Upload the repository files to /content/muscriptor-studio, then run the scripts in order:
colab exec --session studio-t4 --file scripts/colab_start_studio.py --timeout 60
colab exec --session studio-t4 --file scripts/colab_wait_for_studio.py --timeout 150
colab exec --session studio-t4 --file scripts/colab_start_tunnel.py --timeout 180
colab exec --session studio-t4 --file scripts/colab_wait_for_tunnel.py --timeout 120
The final script returns an HTTPS URL for the browser. Stop the app and tunnel before stopping the Colab session:
colab exec --session studio-t4 --file scripts/colab_stop_studio.py --timeout 60
colab stop --session studio-t4
The deployment scripts are intentionally separate from the model installation scripts so the web shell can be validated before loading the large model weights.
.
├── README.md
├── server.py
├── model_runtime.py
├── web/
│ └── index.html
├── scripts/
│ ├── colab_start_studio.py
│ ├── colab_wait_for_studio.py
│ ├── colab_start_tunnel.py
│ ├── colab_wait_for_tunnel.py
│ └── colab_stop_studio.py
└── docs/
├── design-language.md
└── runtime-modes.md
.env files, cookies, or access credentials.License terms for the Studio product have not been selected yet. The project currently depends on the separately licensed MuScriptor and Stable Audio components; review their licenses before distributing a combined application.