AUD · Audio tools

Audio to MIDI

Notespitch / time

Shareable link

Settings are written to the URL as you change them. Nothing differs from the defaults yet.

Convert a monophonic recording into MIDI notes. The pitch of the recording is tracked, that curve is cut into notes at the points where the pitch steps, and the result is written as a .mid file.

One line at a time

The limit is the detector, and it is not a setting. It estimates one fundamental per window, so it can follow a melody and cannot follow a chord.

That covers more than it sounds like. A sung or hummed idea, a bass part, a synth lead, a saxophone line, a whistled hook: all monophonic, all convertible. What fails is anything with two pitches sounding together, including a guitar strum, a piano part with a left hand, and any finished mix.

Cutting a curve into notes

A pitch track is continuous. A MIDI note is not, so the interesting work is deciding where one ends.

A note stays open while the pitch stays within the tolerance of where it started, and closes when the pitch moves past it or the signal goes unvoiced. The pitch tolerance control is that window, in cents.

Set it low, near 40, and a slide between two notes becomes several short notes. Set it high, near 120, and a semitone trill collapses into one held note. Vibrato is the case that decides the value: a singer with wide vibrato crosses the semitone boundary and comes back several times a second, and a narrow tolerance turns one note into a stutter.

Shortest note is the cleanup pass behind it. Anything briefer than the value is dropped, and two notes of the same pitch separated by less than the value are rejoined, which repairs the hole vibrato leaves.

Quantizing

Quantizing snaps note starts and ends to a grid derived from the tempo.

It is off by default because it is destructive in a way the other controls are not: a wrong tempo moves every note to the wrong place, and a performance that was never on a grid gets stiffer rather than tighter. Turn it on when the recording was played to a click and you want the export to line up with one in a DAW.

The tempo follows the file’s own onsets when the checkbox is ticked. On a sparse melody with no percussion, tempo detection has little to work with, so set it by hand.

Notes about the file

The export is a format 0 Standard MIDI File at 480 ticks per quarter note, with a tempo event, a program change on channel 1, and the notes.

Timing is stored in ticks against that tempo, which means the notes play back at the wall-clock seconds they were performed at whether or not the tempo is right. A wrong tempo shows the wrong bar lines. It does not shift the music.

Placement is accurate to roughly 50 ms. The pitch is measured over a window rather than at an instant, so each reading describes the 80 ms behind it; half of that is taken back off, and what is left is a note end that tends to run slightly long, because the tail of a note keeps the window periodic after it has stopped. That is well inside a 1/16 note at 120 BPM, which is what quantizing needs, and it is audible if you layer the MIDI against the original recording.

Where the transcription goes wrong

Low notes are hardest. One cycle of a low E on a bass takes 24 ms, and the detector needs several before it reports anything, so the first fraction of each note is missing and short notes may vanish entirely.

Breathy or whispered singing, distorted guitar, and heavy reverb all reduce how periodic the signal is, and less periodic means more dropouts and more spurious short notes. Reverb is the one worth removing first: the tail of the previous note overlaps the next one, which is a chord as far as the detector is concerned.

Expect to edit the result. A transcription is a starting point that saves the tedious part, not a finished part.

Frequently Asked Questions

One note at a time. A vocal take, a bass part, a lead line, or a hummed or whistled melody converts; a chord, a drum loop, or a full mix does not. It reads WAV, MP3, M4A, AAC, Ogg, Opus, FLAC, AIFF, and WebM audio.

The detector tracks a single fundamental. Given a chord it reports the pitch the notes all divide into, which is usually not one of them. A C major triad reads as a C two octaves below its lowest note.

Shortest note drops anything briefer than the value, which removes slides and detector wobble. Pitch tolerance is how far the pitch may wander before the note is split in two, so wide vibrato needs a high value and a stepwise line reads better with a low one.

No. Timing comes from the recording and is written as ticks against the tempo in the file, so the notes play back at the seconds they were performed at. The tempo decides where the bar lines fall around them, and it also drives quantizing.

A format 0 Standard MIDI File: one track at 480 ticks per quarter note, holding a tempo event, a program change on channel 1, and the note events. Any DAW or notation program will open it.

Velocity is one value you set, not a measurement. The pitch track carries no per-note loudness, so a varying velocity would be invented rather than transcribed. Edit dynamics in the DAW after import.

Explore Our Tools

Browse all tools