back to the wallSimmonsBench / 54 of 60
ALGORITHM · AUDIO

Build an MP3-to-MIDI converter

the prompt
Build me a browser app that converts an audio file (MP3/WAV) into a MIDI file by actually detecting the notes — pitch, timing, and duration — and lets me play both back to compare. Requirements: 1. Load ./input.mp3 from the working folder (and also accept a user-uploaded audio file). Decode it to raw audio samples in the browser. 2. The core test — real pitch/note detection: analyze the audio (FFT / autocorrelation / a real pitch-detection method like YIN) to extract the sequence of notes — for each note, its pitch (mapped to the nearest MIDI note number), its start time (onset detection), and its duration. Quantize timing to a sensible grid. Explain in one line what detection method you used. Do NOT stub this with random or hardcoded notes. 3. Write a real, standard .mid file from the detected notes that I can download and open in any DAW. 4. Playback + comparison in the browser: play the original audio, and play the transcribed MIDI (Web Audio synth or Tone.js), ideally side by side or toggleable, with a simple piano-roll visualization of the detected notes so I can see the transcription. 5. Show the detected note list (e.g. C4 @ 0.00s, 0.5s; E4 @ 0.50s, 0.5s …). Research a pitch-detection approach first (YIN / autocorrelation for monophonic audio), then build, then QA: run it on ./input.mp3, play the MIDI back, and confirm the transcribed melody actually resembles the source pitches and rhythm. Deploy live to Vercel. DONE when: the deployed app takes the input audio, detects real notes, exports a playable .mid, and the MIDI playback is recognizably the same melody. If the notes are random, hardcoded, or the MIDI sounds nothing like the source, it's not done — keep improving the detection.
GENERATION · LOCKED
Drag back for older model generations · coming soon
🔒 LOCKED
JAN '25
JUNE '26
All 0 models · same prompt · $0.00 total
sort: