ORIGINAL TEST · OCTOBER 1, 2026

Does MP3 to MIDI keep pitch bends?

This converter currently exports detected notes without MIDI pitch-bend events. Our continuous-slide MP3 produced seven notes and zero bend events in the downloaded file. If the slide or vibrato matters, keep the source audio and recreate that expression after import rather than treating the note draft as a complete performance.

Three sources, one export setting

We made three original two-second mono sine-wave clips. Sound occupies 0.2–1.8 seconds; the remaining time is silent. One holds MIDI pitch 60, one oscillates around it, and one rises continuously from pitch 60 toward pitch 64. These are controlled signals, not recordings of a guitar or singer.

The vibrato definition is 60 + 0.35 × sin(2π × 6 × t) in semitones, with t measured from the start of the active sound. The slide is 60 + 4 × t / 1.6. Frequency is calculated as 440 × 2^((pitch − 69)/12). The script integrates oscillator phase, applies a peak amplitude of 0.52 and 220-sample edge fades, and writes 22,050 Hz mono WAV before encoding MP3 at 128 kbit/s.

The offline run used BasicPitch 1.0.1 on the Node CPU backend and the site's unchanged note-writing pipeline. Onset and frame thresholds were 0.25; minimum note length was five frames. All decoded sources contained 44,100 samples. Counts below come from the generated MIDI files parsed back with @tonejs/midi 2.0.28.

Steady pitch

Two exported note events, 108 bytes, zero pitch-bend events. The model's note annotations contained 142 contour-offset samples, 141 of them nonzero.

Source MP3 · Offline MIDI

Vibrato

Sixteen exported note events, 223 bytes, zero pitch-bend events. The model's note annotations contained 142 contour-offset samples, 102 of them nonzero.

Source MP3 · Offline MIDI

Continuous slide

Seven exported note events, 152 bytes, zero pitch-bend events. The model's note annotations contained 124 contour-offset samples, 98 of them nonzero.

Source MP3 · Offline MIDI

Those internal offset counts are not MIDI event counts or accuracy scores. Even the steady source produced nonzero internal offsets. Their presence alone does not establish that an accurate bend curve was detected, and it says nothing about whether the file writer saved one.

Defined continuous rising source compared with seven exported constant-pitch note events and no bend events
The upper line is the source definition, not an estimated contour. The lower bars use the parsed offline MIDI pitches, starts and durations. They are note events, not a stored bend curve.

We also ran the slide on the public tool

On October 1, 2026, we selected that generated MP3 in Chrome at the live converter, pressed Convert to MIDI and downloaded the result. The page reported seven detected notes, a 2.0-second source and 152 bytes. Parsing the actual downloaded MIDI confirmed seven note events and zero pitch-bend events.

The browser file and the offline file have the same note pitches, rounded start times and durations in these reports, but their file hashes differ. They are published separately; matching counts are not a claim that their bytes or all other properties are identical. Only this slide was run in the browser. The steady and vibrato rows above are offline results.

Download the actual browser MIDI · Read the browser inspection report

Actual public converter showing the slide MP3 and a completed seven-note, 152-byte MIDI result
Actual public-tool result. This is a desktop Chrome conversion, not a phone or DAW compatibility test.

Why model detection is not the same as export

We checked this site's source alongside the measured files. The extraction stage attaches pitch-bend annotations to note objects. The export loop then copies only each note's pitch, start, duration and velocity into the MIDI track. It does not copy the pitch-bend annotation into the track's bend-event list. This observation describes the current writer; it does not show that the underlying library lacks bend support.

The vibrato fixture illustrates the practical difference: its output contained sixteen separate events, all at MIDI pitch 60, and no bend events. The changing source pitch was not present as a MIDI bend curve. In the slide fixture, the exported pitches were 61, 62, 63 and 64 across seven events. A set of note steps is not evidence that the continuous source motion was preserved.

Our recommendation, inferred from these fixtures and this writer, is to review two separate things after conversion: the note draft and the expression data. Do not approve a vibrato or slide just because the piano roll shows plausible notes. Keep the audio reference while you edit, and inspect the bend lane or event list as well.

What to do with a note-only result

  1. Import the MIDI and assign an instrument. The DAW handoff guide covers this first step.
  2. Compare the note draft with the source before adding expression. If a held sound became several fragments, consult the split-note test; do not blindly merge a changing melody.
  3. In Ableton Live 12, open the MIDI clip's envelope editor, choose MIDI Ctrl and inspect or create the Pitch Bend envelope. Draw the movement against the original audio, then check the receiving instrument's bend range.
  4. Listen to the edited part beside the source. If the original performance itself is the result you need, retain the audio instead of expecting the note-only draft to carry it.

The envelope workflow is documented by Ableton's MIDI controller clip-envelope manual; instrument bend-range behavior is covered in its instrument reference. These are documentation-guided editing steps, not a DAW test we performed here.

Files, settings and limits of this check

Inspect the offline raw report or download the original generation and measurement script. The report records Node v24.19.0, Windows and the CPU backend. To rerun inside a site-project directory with the listed packages and model installed, put the script in its scripts directory and run node scripts/reproduce.cjs PATH_TO_SITE_PROJECT. It writes generated fixtures to that project's dated evidence directory.

Original WAVs are available too: steady pitch, vibrato and continuous slide. No user's recording was used or uploaded for this check.

This fixture set does not establish accuracy for singing, guitar bends, overlapping instruments or complete songs. It does not compare the transcription quality of competing converters. What it establishes is narrower: the exported event types of this writer, plus the actual browser result for one defined slide.

Pitch-bend questions

Does using BasicPitch guarantee bend events in the download?

No. Spotify's library supports pitch-bend detection, but a site still has to write that information into its output. Our current writer exports notes without bend events.

Why did the vibrato become many notes?

In this controlled fixture, the exported file contained sixteen pitch-60 note events rather than a bend curve. That is a measured result for this signal and these settings, not a universal explanation of every vocal recording.

Can I recover the original bend just from this MIDI?

The tested file contains no bend events to recover. Use the source audio as the reference when recreating the movement; an instrument's own glide effect is not proof that the original curve survived conversion.

Were all three clips converted on a phone?

No. Three clips were measured offline; the slide was also converted and downloaded in desktop Chrome. The article's mobile layout is a separate check.