Local audio to MIDI

MP3 to MIDI Converter

Choose one recording of a single instrument or a voice, and this page writes a downloadable MIDI file from the notes it finds.

Drop an audio file here

or choose one stored on this device

No audio selected

Choose an audio file to begin. The file stays on this device.

Notes written
Notes per secondin the analysed part
Conversion time
Processor

What this converter is for

  • One instrument or one voice at a time. Guitar, piano, strings, and unaccompanied singing all work. Thirty seconds or less gives the best result.
  • Bass needs its own warning. Low-frequency material comes out with noticeably more notes that have to be deleted, so allow more time for manual cleanup.
  • Do not use this on a complete song. Drums, bass, vocals, and several instruments sounding together turn into a pile of notes.
  • The result is a draft, not a transcription. Expect more notes than you played, and plan to trim them in your DAW.
  • Everything runs in your browser. Your audio is never uploaded.

What this mp3 to MIDI converter does

You give it one audio file — an mp3, wav, m4a, or ogg recording of a single instrument or a single voice — and it gives back a standard MIDI file containing the notes it heard, with a start time, a duration, and a velocity for each one. The file is decoded, resampled to 22.05 kHz mono, and analysed on your own machine, and the MIDI is assembled in memory before you download it. Nothing is sent to a server, so there is no upload step, no queue, and no account.

It does not name the key of the recording and it does not attempt a chord chart. Note detection and key detection are separate problems, and this page only does the first one. If what you want from a recording is its key, use the key and BPM finder instead.

How to convert audio to MIDI in three steps

The tool at the top of this page is the whole interface. There is nothing to install and nothing to configure before you start.

  1. Press Choose audio, or drag a file onto the dashed area. The file name appears underneath, along with a note about how much of it will be analysed.
  2. Leave How much to analyse at 30 seconds and Maximum notes sounding at once at 2 unless you have a reason to change them, then press Convert to MIDI. The progress bar fills as the analyser works through the recording.
  3. When the bar reaches the end, press Download .mid to save the file, then open it in your DAW or notation program.

How to clean up the MIDI draft

The extra notes are not spread evenly. They cluster in three places, and knowing which is which saves most of the editing time.

Overtones above the written note. A plucked or struck string sounds several pitches at once, and the analyser can report the louder overtones as notes in their own right. This is why a single guitar line often arrives four or five notes thick, and it is the main reason the draft has more notes than the performance.

Notes that run together. Fast or slurred passages lose their gaps, so pairs of notes get joined into one long note, or a held note gets cut into two. Sorting the track by pitch makes these visible quickly.

Notes shorter than the grid. A few very short notes usually mark an attack rather than a real pitch. Deleting everything under about 80 ms is a fast first pass.

The Maximum notes sounding at once control is the blunt version of the first fix. Setting it to 2 keeps the loudest two notes at any instant, which cleans up a solo line, but it also deletes real notes: on the dense middle of one measured guitar recording the share of output notes landing on a real attack rose from 44% to 56% while the pitch-class hit rate fell from 81% to 63%. Setting it to 1 removes genuine notes along with the overtones. The sparse opening of that same recording was unaffected at either setting, so expect the control to help on some passages and do nothing on others.

Which recordings this audio to MIDI tool can read

The deciding factor is how many instruments are sounding at the same moment, not the file format, the bitrate, or the length. A single line is easy to follow; a dense mixture is not.

Kind of recordingWindows that cleared the usable thresholdMedian strength vs chance
Unaccompanied voice3 / 310.6×
Acoustic guitar, solo5 / 56.2×
Solo violin (unaccompanied Bach)5 / 55.8×
Electric guitar, solo5 / 55.3×
Piano, solo5 / 54.8×
Fretless bass, solo1 / 32.4×
Full mix, 1970s concert band0 / 52.2×
Full mix, modern rock band1 / 52.1×

Solo instruments and unaccompanied voices. This is the intended use. Each recording above was split into three to five windows of thirty seconds, and every window of the guitar, piano, violin, and voice recordings cleared the threshold. The measured column is the share of the recording's pitch classes that the MIDI reproduced, divided by what a random answer would score — a value near 1× means the output carries no more pitch information than guessing.

Complete songs. Do not expect a usable result. Neither full mix cleared more than one window, and the output is a dense pile of notes rather than a part. There is one useful exception: a solo passage inside a mix can still come through, which is why the deciding factor is the number of simultaneous instruments rather than the genre.

Bass. It works, but worse than the other solo instruments, and only one of three measured windows cleared the threshold. The fundamental is low, the overtones are strong, and the octave is easy to get wrong.

MP3 to MIDI questions

How long a file can I convert?

Thirty seconds by default, and sixty seconds at most. Anything longer is cut to the length you selected, and the page tells you so as soon as you pick the file. The limit exists because the analysis runs on your own processor: on a machine with no usable graphics chip, which is the slowest case, thirty seconds takes about six seconds and the full sixty takes about thirteen. A three-minute recording would take over a minute of waiting, which is a poor trade for a first attempt.

Which browsers does this work in?

Any current version of Chrome, Edge, Firefox, or Safari. The page needs WebAssembly with SIMD, which every browser released since 2021 has, plus the browser's own audio decoder for reading the file. It will not run on a browser old enough to lack WebAssembly, and it needs about 950 KB of runtime to be downloaded on the first conversion — that part is fetched only after you choose a file, so the page itself opens immediately.

What exactly do I get back?

A standard MIDI file with one note track at 480 ticks per quarter note, written at 120 BPM. It opens in any DAW or notation program. Set the real tempo in your DAW before you work with it, or measure the tempo first with the BPM finder. Each note carries a start time, a duration, and a velocity taken from how loud the note was in the recording.

Do I have to install anything, or make an account?

No. There is no extension, no plugin, no sign-up, and no file size tier. The page loads the note-detection model the same way it loads its stylesheet, and after that it works offline until you close the tab.

Where does my audio go?

Nowhere. The file is read with your browser's own decoder and analysed in the tab you are looking at. The only things downloaded are the page, its scripts, the model, and the WebAssembly runtime — none of which contain your audio. You can watch this yourself in your browser's network panel: no request carries the file or any part of it.

The audio you select stays on this device. Decoding, note detection, the piano roll, and the MIDI file are all produced in this browser.