Audio to MIDI and sheet music
Drop a melody. Get MIDI, MusicXML and ABC files, and hear back what was recognized.
Nothing is uploaded. Everything runs in this tab with @audio/mir, @audio/beat, @audio/midi, @audio/musicxml, @audio/midi-render.
Melody transcription that runs on your device
Cloud audio-to-MIDI services upload your file and hand back a download. This page runs the whole pipeline in your browser: @audio/mir-transcribe tracks pitch continuity across @audio/mir-multif0 frames (Klapuri's 2006 iterative spectral-subtraction multi-F0 estimation) into note events, @audio/beat finds the tempo, and @audio/mir-key reads the key from chroma frames the way the Key and BPM finder does. The notes are written out with @audio/midi (Standard MIDI File), @audio/musicxml (MusicXML 4.0, quantized and spelled to the key signature, plus ABC notation) and rendered back to audio with @audio/midi-render's synthesized General MIDI instrument set, so the transcription can be checked by ear before it is opened anywhere else.
What it is good at
One instrument or voice at a time: a sung or whistled melody, a solo piano or guitar line, a bassline. The note tracker follows the strongest pitch and closes a note on a gap, so a clean monophonic recording transcribes cleanly.
What it will not do
It does not reliably separate a chord into its notes, does not follow drums, and will not cleanly split two independent melodic lines playing at once. Multi-F0 estimation reports which pitches are present, not which instrument they belong to; treat the output as a starting point, not a finished score.
Reading the report
Notes found, the tempo and key used (auto-detected or the value set above), the pitch range, and the first bars of the ABC transcription to sanity-check before downloading. A confidence percentage on an auto-detected key, or a low-confidence note on the tempo, is a signal to set that value manually instead.
Questions
Does this work on full songs with drums and vocals?
Not well. The multi-F0 tracker in @audio/mir-transcribe follows the loudest continuous pitch at each moment; a dense mix confuses it. It is built for one instrument or voice at a time: a whistled or sung melody, a solo piano line, a clean guitar or bass. For a full band mix, use a dedicated ML transcription tool.
What do I do with the MusicXML and ABC files?
Open the .musicxml file in MuseScore, Finale or Sibelius for engraved sheet music. The .abc file is plain text: paste it into any ABC renderer (abcjs, EasyABC) to see or print the same tune without installing anything. The .mid file imports into any DAW.
Why is the tempo wrong?
Tempo comes from the @audio/beat onset and beat tracker, which can lock onto half or double the real tempo, or drift on rubato playing. Type a tempo in manually if the note grid looks off.
Why is the key wrong?
Key comes from matching chroma (pitch-class) energy against major and minor key profiles over the first two minutes. Modal or ambiguous melodies can report the relative major or minor, which shares every note. Pick a key manually to force the spelling.
Is my audio uploaded anywhere?
No. Transcription, tempo and key detection run in your browser with @audio/mir and @audio/beat; the MIDI, MusicXML and ABC files are written locally with @audio/midi and @audio/musicxml. Nothing leaves your device.
More audio utilities
- Extract audio from video
- Remove or replace video audio
- Audio converter
- Loudness meter and normalizer
- Noise remover
- Remove silence from audio
- Wow and flutter fixer
- Transcribe audio to text and subtitles
- Key and BPM finder
- Vocal remover
- Pitch and tempo changer
- MIDI to MP3
- Tuner
- Audio recorder
- Lossless audio checker
- Spectrogram
- Room and speaker measurement