Runs on your own hardware
Partitura
Give it a folder of songs and get back a first draft of the sheet music for every instrument.
Musicians who want a starting point for a transcription instead of a blank page.
03 - Song.flac118.4 BPM · 4/4
- vocalsBasic Pitch
- drumsnot transcribed
- bassBasic Pitch
- pianoByteDance piano model
- guitarBasic Pitch
- otherBasic Pitch
bass · notes, 20 raw → 16 kept
- 1 shorter than 30 ms
- 1 in the quietest 5%
- 1 an octave ghost
- 1 split note joined
bass · staff and tablature
What it does
Turn an album of recordings into sheet music, offline.
Everything runs on your own machine, and a test makes sure it never touches the network. The result is a first draft for a musician to clean up, not a finished score. Accuracy varies a lot by instrument, and drums aren’t transcribed at all because the models that do it well can’t be used commercially.
- 01
Per-instrument MIDI, MusicXML and PDF, with tablature for guitar and bass
- 02
Fully offline, enforced by a test that blocks network access
- 03
The same input always gives byte-for-byte the same output
- 04
A license check that refuses to run with non-commercial model weights
The pipeline
Seven stages, all on your machine.
Each stage reads files from disk and writes files to disk. You get MIDI, MusicXML and a PDF for every instrument it finds. It’s a prototype, so there’s nothing to download yet.
- S1Decodeffmpeg reads the file and pyloudnorm evens out the loudness.
- S2SeparateDemucs (htdemucs_6s) splits the mix into six stems.
- S3Find the beatBeat This! tracks beats and downbeats on the full mix.
- S4TranscribeBasic Pitch for most stems, and a ByteDance model made for piano on the piano stem.
- S6Clean upDrops short, quiet and ghost notes, then snaps the rest to the beat grid.
- S7Notatemusic21 writes MusicXML with the key, the meter, the staves, and tablature for guitar and bass.
- S8EngraveMuseScore 4 turns the MusicXML into a PDF.
Limits
What to expect from it.
- 01
Drums are left alone
The drum stem is separated and not transcribed. The models that do it well depend on madmom, whose model files don’t allow commercial use. Every run says so with a
drums_not_transcribedflag. - 02
It’s a first draft
Accuracy varies a lot from one instrument to another. The output is a starting point to fix up in MuseScore.
- 03
Same input, same output
Run it twice on the same file and you get byte-for-byte the same files. Each stage skips work it’s already done.
- 04
Nothing goes online
Model weights download once, during setup. After that it doesn’t touch the network, and a test that blocks network access makes sure of it.
partitura doctoralso refuses any weights with a non-commercial license.
Specification
What it’s built with, and when.
Pulled from the repository each time this site is built.
- State
- Prototype
- Discipline
- Applications
- Shape
- Installed software
- Started
- Sep 2026
- Last change
- Sep 2026
- Commits
- 38
- Python
- Demucs
- Basic Pitch
- ONNX
- music21
- MuseScore
- Python 100%
Related work
Built alongside Partitura
Next
Get Partitura
Ask about availability, a build for your platform, or a license.