mp3tomidiflowOpen converter

AUDIO TO MIDI CONVERTER · FREE · NO UPLOAD

Audio to MIDI Converter

An audio to MIDI converter turns a recording into an editable .mid file of notes. On this site that job runs entirely in your browser: choose MP3, WAV or another supported file (including the audio from MP4/MOV), convert with WebAssembly Basic Pitch on your device, and download the MIDI. Your audio is not uploaded. Open the free converter to start, or read below for what loads, how to prove no upload in DevTools, formats and limits.

Convert audio to MIDI now

What this audio to MIDI converter does

You give it one audio file. It detects pitched notes (pitch, start time, length and a velocity from loudness) and writes them into a standard single-track MIDI file. The MIDI stores instructions, not the recorded sound, so playback later depends on the instrument you assign in a DAW or notation editor.

The same converter handles every supported format on one page. Format-specific tips live on WAV to MIDI, vocal to MIDI, piano to MIDI, guitar to MIDI and the step guide how to convert audio to MIDI. For both audio→MIDI and MIDI→audio directions, see MIDI converter.

No-upload proof: what loads, and what never leaves

Competitors often claim privacy; few show you how to verify it. Here is what this site's converter actually fetches from our own origin when you convert, based on the live app.js and the files under /vendor/ on this deployment.

What the browser loads from this site

Assets fetched from mp3tomidiflow.com during conversion (not your audio)
PathRoleApprox. size on this build
/app.jsConverter UI and orchestration9,048 bytes
/vendor/transcribe.jsWeb Worker that runs note detection1,176,739 bytes
/vendor/model/model.json + group1-shard1of1.binBasic Pitch model weightsmodel shard 742,392 bytes
/vendor/wasm/*.wasmTensorFlow.js WASM backends (incl. SIMD variants)e.g. tfjs-backend-wasm.wasm 275,675 bytes
/vendor/core/ffmpeg-core.js + ffmpeg-core.part0.bin + ffmpeg-core.part1.binBundled FFmpeg WASM decoder (used when the browser cannot decode the file itself)parts total 32,232,419 bytes (sha256 in ffmpeg-core.json)

These requests are GETs for tools this site hosts. They are not your recording. The model is Spotify's open-source Basic Pitch, packaged to run locally via WebAssembly.

What never leaves the device

How to check in DevTools that no audio request is sent

  1. Open the converter in Chrome, Edge, Firefox or Safari.
  2. Open DevTools → Network. Enable Preserve log. Clear the list.
  3. Choose a short test file (for example a few seconds of WAV or MP3 under the 50 MB / 3 minute limits) and click Convert to MIDI.
  4. Watch the Network list while status text moves through “Reading your audio…”, “Decoding audio…”, “Loading the note-detection model…” and “Detecting notes…”.
  5. Expected: requests whose URLs stay on mp3tomidiflow.com (or the same origin) for paths under /app.js, /vendor/transcribe.js, /vendor/model/, /vendor/wasm/ and /vendor/core/. Method is GET. Payloads are the tool files listed above.
  6. Not expected: any request whose request body or FormData contains your audio filename or PCM/MP3 bytes, or a POST/PUT of the file to another host. Filter by your filename in the Network search box — it should not match a network transfer of that file.
  7. When finished, the result line shows something like N notes · X.X seconds and a Download .mid link. The .mid comes from a blob: URL, not from a server response that uploaded your audio.

If a consent banner for site statistics appears, that is separate from conversion. Decline or accept per the privacy policy; neither path sends your audio file for note detection. Statistics, when consented, do not replace the local model.

We observed this flow against the shipped app.js: size gate at 50,000,000 bytes; duration gate after decode at about 180 seconds (-t 180.1 in the FFmpeg args, then a length check); silent-input rejection when RMS is below a fixed threshold; and error strings that refuse to invent MIDI when no notes are detected.

Supported formats (including video audio)

The file picker accepts: MP3, WAV, OGG, M4A, AAC, FLAC, WMA, and the audio track of MP4 and MOV videos. For video containers the converter strips video (-vn) and keeps audio for analysis. Encrypted, DRM-protected, damaged or unusual codec variants may fail to decode; the UI reports that instead of inventing notes.

One file at a time. Batch conversion is not supported.

Limits

How to convert, step by step

  1. Open the converter. No install, no account.
  2. Choose one audio or video-audio file within the limits above.
  3. Convert and keep the tab open. Optionally open DevTools Network first if you want to verify the no-upload behaviour.
  4. Download the .mid and edit it in a DAW. See what is in your MIDI download and how to convert audio to MIDI for checking notes before you edit.

Questions

Is this audio to MIDI converter free?

Yes. There is no account, no payment and no daily quota. Each file can be up to 50 MB and 3 minutes long.

Is my audio uploaded when I convert audio to MIDI?

No. Decoding and note detection run in your browser with WebAssembly Basic Pitch. The site only delivers the converter, model and decoder files. You can confirm in DevTools Network that no request sends your audio file.

Which formats does the audio to MIDI converter accept?

MP3, WAV, OGG, M4A, AAC, FLAC and WMA, plus the audio track of MP4 and MOV videos. Encrypted, DRM-protected, damaged or unusual codec variants may not decode.

How do I verify that no audio is uploaded?

Open DevTools Network before you convert. During conversion you should see requests only for this site's script, model and decoder files under paths such as /app.js, /vendor/transcribe.js, /vendor/model/ and /vendor/core/. Your chosen audio file should not appear as a POST or PUT body to any server.

Open the free audio to MIDI converter