About this tool
Audio to MIDI turns a recording into the notes that were played: which pitch, when it started, how long it lasted and how hard it was hit. Use it to get a piano or guitar part into a DAW and change the sound, to write down a melody you hummed, or to pick out the notes of a tune you are learning. The model is Basic Pitch by Spotify (Apache-2.0). It runs in this tab, so the recording is never uploaded.
From sound to notes
The page decodes the file, mixes it to mono at 22,050 Hz and feeds it to the model in short overlapping windows. The model answers, for every 11 ms slice and each of the 88 piano keys, how likely a note is to be sounding and how likely one just started. Your settings turn that into notes: sensitivity decides how clear an attack has to be, the sustain threshold decides when a note stops, and the shortest-note and pitch-range limits throw away blips. Changing them only redoes this last step, so the piano roll updates right away. Play the result as a plain synth, or put the original in the left ear and the MIDI in the right to hear what was missed.
Honest limits
It works best on one instrument in a clean recording. A full mix with drums, bass and vocals together comes out messy; separate the part you want first. Drums and other sounds without a pitch are not turned into notes. The tempo and bar lines are a guess, or whatever you type: notes keep their exact times and are not snapped to the beat, so quantize in your DAW if you need that. The output is a MIDI file, not sheet music. Bends are written assuming a range of 2 semitones, and some synths ignore them.
What it downloads and what it keeps
The first time you use the page it downloads the note model, 230 KB, and the engine that runs it, ONNX Runtime for WebAssembly, about 13 MB from the jsDelivr CDN. The browser keeps both afterwards. There is no upload endpoint for your audio. Clips up to 10 minutes are accepted; the work runs in a background worker and you can cancel at any time. The .mid file is a Standard MIDI file with one track, written at the tempo you pick, and is named after your original file.