Hum to MIDI
Hum, sing, or whistle a melody and watch it turn into MIDI notes in real time. Then download a MIDI file you can drop straight into your DAW.
🎤 100% private — your microphone audio never leaves your devicelistening…
Turn a melody in your head into MIDI, instantly
You get a tune stuck in your head, you hum it into your phone's voice memos, and then it sits there forever because turning a recording into actual notes is a pain. This does the annoying part for you. Hum the line, watch the notes land on the piano roll as you go, and walk away with a MIDI file you can open in any music software and build on.
How it works
It listens locally
Your browser captures the live waveform from your mic with the Web Audio API. No recording is uploaded.
It finds the pitch
An autocorrelation detector estimates the fundamental frequency hundreds of times per second and converts it to a note.
It writes MIDI
Stable stretches of pitch become notes, snapped to the nearest semitone, then packed into a standard .mid file.
How is this running in my browser?
There is no server doing the work and no AI model to download. The whole pipeline is plain math on the audio samples your microphone produces. Each analysis frame, the detector shifts the recent waveform against itself and looks for the lag where it lines up best, which is the length of one pitch period. The frequency is the sample rate divided by that lag, refined with a little parabolic interpolation so the reading is smooth instead of jumping between whole samples. A small state machine then watches the stream of pitches and decides where one note ends and the next begins, ignoring blips that are too short or too quiet to be real. Because it is all local, it starts the instant you click and your voice never leaves the device.
Tips for a clean transcription
Hum one note at a time, since it tracks a single melody line rather than chords. A steady "ah" or "la" reads more cleanly than humming with a closed mouth. Leave a small gap between notes so each one gets its own bar, record somewhere quiet, and if faint background noise is creating stray notes, lower the sensitivity slider. For a song in a clear key, switch snapping to the detected key to nudge stray semitones back in line.
Is my microphone audio uploaded anywhere?
No. Everything runs locally in your browser with the Web Audio API. Your audio never touches a server, which is why it starts instantly and stays private.
How does it turn humming into notes?
It estimates the pitch of your voice many times a second using autocorrelation, groups stable stretches into notes, snaps each to the nearest semitone, and writes them into a standard MIDI file.
What should I hum into it?
One note at a time. Hum, sing on an open vowel, or whistle a single melody line. It is monophonic, so it does not detect chords.
Can I open the file in my DAW?
Yes. It exports a standard .mid file that opens in Ableton, FL Studio, Logic, GarageBand, Reaper, MuseScore, and anything else that reads MIDI.
Why are some notes wrong or doubled?
Pitch detection on a raw voice is imperfect, especially with breathy notes or background noise. Lowering the sensitivity, leaving gaps between notes, and recording somewhere quiet all help a lot.
Does it work on mobile?
Yes, in modern mobile browsers that allow microphone access over HTTPS. Hold the phone close and hum in a quiet spot for the best result.
I build tools like this every day.
Senior full-stack engineer, available for senior or contract work, fully remote. See the rest of the lab or get in touch.