gitwtfhub

wtf is muscriptor?

geocine/muscriptor — explained in plain English

Analysis updated 2026-05-18

0PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

MuScriptor is an AI model, extended in this fork with a web UI and easier local setup, that transcribes multi-instrument audio into MIDI notes.

Mindmap

mindmap
  root((muscriptor))
    What it does
      Multi-instrument transcription
      Audio to MIDI
      Web UI piano roll
      Note event streaming
    Tech stack
      Python
      PyTorch
      Hugging Face
      FastAPI
    Use cases
      Music transcription
      MIDI export
      Custom audio pipelines
    Model sizes
      Small CPU friendly
      Medium default
      Large GPU accurate

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Upload an audio recording and get back which instruments played which notes, exported as MIDI.

REASON 2

Run a local web UI to transcribe music with a live piano-roll view and download synthesized audio.

REASON 3

Use the Python library directly to stream note-start and note-end events for a custom audio pipeline.

What's in the stack?

PythonPyTorchFastAPIHugging FaceMIDI

How it stacks up

geocine/muscriptor0xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultymoderatemoderatemoderate
Complexity3/52/54/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a free Hugging Face account and accepting the model's non-commercial license before weights can download.

Model weights are gated under CC BY-NC 4.0, meaning free use is allowed but commercial use of the weights is restricted.

Wtf does this do

MuScriptor is an AI model that listens to an audio recording of music and automatically writes out what each instrument is playing, a process called music transcription. It was originally built by the research groups Kyutai and Mirelo and trained on a huge collection of 170,000 songs spanning genres from classical music to heavy metal, and this particular repository is a fork that adds a number of practical improvements on top of that original work. The fork adds a web interface with controls for telling the model which instruments to expect and for adjusting how the AI generates its output, more reliable audio playback in the browser using proper instrument sound banks, and the ability to download the transcribed result as either a synthesized audio file or the original MIDI file, which is a standard format for representing musical notes digitally. It also adds a way to convert saved MIDI files back into playable audio without having to re-run the whole transcription process, plus improvements aimed at deploying the tool on cloud GPU servers. Before using it, someone needs a free Hugging Face account, since the model's weights are hosted there under a non-commercial license and must be downloaded on first use after accepting that license. Once set up, a person can run it either as a local web app with a single command, or from the command line to transcribe a specific audio file. The project ships three model sizes, small, medium, and large, trading off speed and accuracy, where the smallest is practical to run on a regular computer while the largest is most accurate but really wants a graphics card. Developers can also use it directly as a Python library, importing a transcription model and calling a function that streams back musical note events, such as when a note starts and ends and which instrument played it, or requesting the output directly as a MIDI file.

Yoink these prompts

Prompt 1
Walk me through logging into Hugging Face and running muscriptor serve for the first time.
Prompt 2
Write Python code that transcribes an audio file to MIDI using the medium MuScriptor model.
Prompt 3
Explain the difference between the small, medium, and large MuScriptor model variants and when to use each.
Prompt 4
Show me how to restrict transcription to only piano and drums using the instruments parameter.

Frequently asked questions

wtf is muscriptor?

MuScriptor is an AI model, extended in this fork with a web UI and easier local setup, that transcribes multi-instrument audio into MIDI notes.

What language is muscriptor written in?

Mainly Python. The stack also includes Python, PyTorch, FastAPI.

What license does muscriptor use?

Model weights are gated under CC BY-NC 4.0, meaning free use is allowed but commercial use of the weights is restricted.

How hard is muscriptor to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is muscriptor for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.