Convert MP3 File to MIDI: Should You Slow a Single-Note Recording?
To convert an MP3 file to MIDI, start with the original single-note recording; if you test a slower copy, convert both and return the slower draft to the original time scale before comparing pitches, attacks, endings and velocity. Data
This method performs monophonic pitch detection, one note at a time; simultaneous polyphonic transcription requires another processing path. Data
2. Keep the source and the clocks explicit
On November 12, 2026, we reused four predeclared adjacent five-second windows A–D from one archived human GuitarSet microphone performance, encoding each once to MP3 and decoding one common PCM baseline without synthesized replacement audio. Data
Each window passed unchanged through Balanced detection as the baseline, atempo factors 1.00, 0.75, 0.50 and 1.25, and an intentional half-rate playback control that keeps the baseline samples but reads them at 22,050 rather than 44,100 Hz. Data
We preserved every raw export and saved a second MIDI with times multiplied by the declared speed factor, adding twelve semitones only for half-rate playback; these are explicit coordinate corrections, not estimated source BPM or a new detector mode. Data
A: recorded MP3 · B: recorded MP3 · C: recorded MP3 · D: recorded MP3 · Original-time source labels · All inputs, factors and saved lengths
3. Tempo-filter controls: slower does not mean the same edit
Even the nominally neutral atempo=1 pass changed A’s decoded PCM and replaced its pitch-62 event with pitch 43, although both exports still contained eight events. Data
The half-tempo WAVs lasted about 9.975–9.980 seconds instead of exactly ten, whereas the half-rate files lasted exactly ten, so the two operations did not even produce identical nominally restored clip lengths. Data
At 0.75 speed, A fell from eight to six events while retaining three onset matches, but a previously matched pitch-57 attack disappeared and a pitch-62 attack became matched. Data
Slowing A further to 0.50 moved that pitch-62 onset error from about −59.336 to +45.091 milliseconds, yet its duration error worsened from about −34.494 to −115.744 milliseconds relative to the inherited interval. Data
For B, half-tempo preprocessing increased onset matches from two to five, but also raised unmatched output events from seven to ten as total events grew from nine to fifteen. Data
For C, going from 0.75 to 0.50 speed added two events, from eleven to thirteen, without adding any onset matches beyond eight, so unmatched events rose from three to five. Data
D’s neighboring reference pitch-60 attacks numbered 5 and 6 had no accepted baseline counterpart under our rule, while the half-tempo draft matched both. Data
D’s 0.75 and 0.50 drafts had identical nine-event pitch sequences and eight matches each, but their lone final pitch-53 event matched different source attacks, reference 14 versus 15. Data
A: original-speed MIDI · A: neutral-filter MIDI · A: 0.75 restored MIDI · A: 0.50 restored MIDI · B: slow-draft Piano Roll · C: 0.75 notes · C: 0.50 notes · D: repeated attacks
4. Half-rate playback needs more than an octave correction
After time and octave correction, A’s half-rate and half-tempo drafts both had nine events and four matches, yet the half-rate draft contained three pitch-103 events absent from A’s reference labels and from the half-tempo draft. Data
For C, corrected half-rate playback matched pitches 62 and 63 that half-tempo preprocessing missed, increasing matches from eight to ten while reducing unmatched events from five to one. Data
B’s newly matched pitch-62 event in the corrected half-rate draft began only about 6.202 milliseconds late but was about 847.522 milliseconds shorter than its inherited reference interval. Data
For A’s shared pitch-62 reference attack, corrected half-rate playback had about −0.119 milliseconds of duration error versus about −115.744 milliseconds for half-tempo preprocessing, despite both drafts sharing the same four-match total. Data
A: deliberate half-rate WAV · A: raw half-rate MIDI · A: octave/time corrected MIDI · C: corrected half-rate Piano Roll · B: attack versus held interval · Exact inverse mapping
5. Check attack identity and accents after restoring time
The 1.25-speed control preserved B’s nine-event pitch sequence but moved pitch 70 to about 153.976 milliseconds early, outside our matching tolerance; C’s matches fell from six to two and its last event ended near 3.948 rather than 4.319 seconds. Data
In B’s two shared matched attacks, pitches 65 and 70 had velocities 59 and 57 in the baseline but 59 and 60 after half-tempo preprocessing, reversing their stored velocity order even after time was restored. Data
B: baseline accents and starts · B: faster-source notes · B: slower-source accents · C: faster-source late coverage · All paired attacks and fields
6. Reproduce and judge the same source attacks
The independent checker pairs equal integer pitch with the nearest unused onset within 150 milliseconds in reference order after the declared mapping, excluding carried-in intervals from onset targets and applying no fitted offset, duration gate or octave-equivalence acceptance. Data
Four actual browser downloads, A’s original MP3, A’s half-tempo WAV and C’s two slowed WAVs, were byte-identical to their corresponding raw offline exports. Data
A fresh directory reproduced all 132 numerical input, raw and restored MIDI, pitch-time, Piano Roll and result files byte-for-byte with the same archived FFmpeg build; the actual browser downloads are retained separately. Data
python source-check.py
python generate.py --ffmpeg ffmpeg
node convert.mjs
python analyze.py
python compare.py
python browser-compare.py
python verify-claims.py
Reproduction contract · Original recording/annotation check · Audio transformations · Unchanged detector runner · Independent parse and mapped references · Per-attack comparisons · Claim arithmetic · SHA256 manifest · Complete sentence ledger · Full-body audit and margin
7. Limits and attribution
These correlated excerpts reuse one performance, and GuitarSet’s partly automated, sometimes overlapping reference intervals are not freshly hand-checked truth, so the reported matches cannot establish general transcription accuracy or a universally best speed. Data
The half-rate comparisons are offline controls rather than an added browser feature, and we did not run listening studies, competing converters, DAW imports or a new investigation of the sealed guitar high-event cause. Data
Qingyang Xi and colleagues provide GuitarSet 1.1.0 under CC BY 4.0; our cropping, encoding, speed transformations, explicit MIDI remapping, measurements and plots are modifications without implied endorsement. Data
8. Choose the next edit from the recording
Keep the original-speed draft beside each restored experiment, check the wanted attacks and their endings before keeping extra notes, and inspect velocity separately from the tempo correction. Data
Use the browser converter for a first draft, the quiet-note page for sensitivity, and the source-history test for resaving questions; slowing for manual listening and slowing before automatic detection are separate decisions. Data
FFmpeg tempo filter · Declared playback rate · GuitarSet source · MIDI file overview