Vocals to MIDI
A sung or hummed melody comes back as a single MIDI line with its bends, a score in the detected key and a piano roll you can play against your voice. One instrument per file: for a whole song, split it firstDrums in a mix mask the quieter parts: the bass line comes through, but chords and vocals lose notes. Split the song with the stem splitter and convert the bass, vocals or other stem on its own for a cleaner result. with the stem splitter. It asks for your email once per browser.
No drums here. This tool hears pitched instruments only. Drum loops and drum stems go to WAV to MIDI drums.
One instrument per file.
What you get
One line, followed closely
A monophonic tracker follows the voice and decides each note's pitch; the note starts and ends come from the polyphonic model.
Hum it in
Record straight from the microphone on this page, or upload a take. Ten minutes at most.
Bends and scoops kept
Pitch bends go into the MIDI, so a scoop into a note stays a scoop; the score shows the note it lands on.
A melody you can build on
Drop the MIDI on a synth track and the hummed idea is a part; open the MusicXML in a notation program and it is a lead sheet in the making; the piano roll plays it back against your voice.
Questions
Something missing? Ask us.
Answers searches like: vocals to midi, voice to midi, hum to midi, singing to midi, melody to midi, acapella to midi, convert vocals to midi online.
Can I use the vocal from a song?
Yes: extract it first with the acapella extractor and upload that stem here. Backing vocals and harmonies confuse a single-line tracker, so a lead-only stem works best.
Does it write lyrics?
No. It writes the notes; the score has no words.
How exact are the pitches?
Each note is placed on the nearest semitone and the bend inside the note is kept in the MIDI. A wobbly held note becomes one note with a bend, not a run of short ones, unless you lower the minimum note length.
What do I get back?
A monophonic MIDI file, MusicXML, a printable score and a piano roll with playback. It asks for your email once per browser.