MP4 MIDI converter:
Check for an audio track first.
An audio-based MP4 MIDI converter needs an audio track, not just moving pictures. If your MP4 contains video only, return to the recording or export and include sound. This site's pitch detector cannot read notes from video frames. If sound is present, extract it to WAV, convert that audio and inspect the MIDI draft. Our matched-video test produced four note events from one file; the video-only copy failed at audio extraction, before MIDI detection.
Same video. One missing audio track.
On October 8, 2026, we generated a 2.4-second MP4 on this Windows machine: a plain-color H.264 video and our own four-note mono sine melody encoded as AAC. We made a second MP4 by copying only its video stream. The extracted H.264 payloads had identical SHA-256 hashes, so the picture content did not change.
| MP4 fixture | Tracks found | WAV extraction | MIDI stage |
|---|---|---|---|
| With audio 28,485 bytes | Video + AAC audio | Exit 0; WAV created | 4 events; 69-byte MIDI |
| Video only 2,249 bytes | Video only | Exit 1; no WAV | Not attempted |
The second command reported Stream map '0:a:0' matches no streams. That is an absent audio-stream failure, not a quiet note, low sensitivity or a valid MIDI containing zero notes. We did not create a dummy MIDI for the failed case.
The successful extraction yielded mono, 44,100 Hz, 16-bit integer PCM: 106,496 samples, or 2.414875 seconds. The decoded length is measured, not assumed from the requested 2.4-second source. This site's unchanged production functions returned pitches 60, 64, 67 and 72 in Balanced mode. Four events show that the pipeline produced notes on this synthetic fixture; they do not establish faithful timing or performance on a song.
Check the track before changing sensitivity
- Keep the original. Work on a local copy of a video you own or have permission to process. Inspect the file's audio streams in your media editor or with the command below. A filename ending in
.mp4does not prove that a soundtrack exists. - Separate “no audio track” from “no audible sound.” A player can be muted, or an audio stream can contain silence. Neither is the same as a file with no audio stream. In our video-only fixture, both the stream list and MP4 track boxes showed that audio was absent.
- If there is no audio stream, fix the recording/export. Include the performance's actual sound and inspect the new file. Renaming the video as WAV, raising note sensitivity or adding silent audio cannot reconstruct a missing performance.
- If there is an audio stream, choose the intended one. The first audio stream may be commentary rather than the melody. Inspect and audition the selected track before transcription; extracting audio does not separate instruments inside that track.
- Convert the extracted WAV and review the draft. Choose it in the browser converter, start with Balanced and check notes against the sound. Extraction is a format step; transcription infers note events.
MP4 is a media container, and audio-only and video-bearing MP4 use different media types; see MDN's container reference. This site's visible chooser advertises audio formats including WAV and M4A, not a tested video-upload workflow. Its audio/mp4 picker hint is not a promise that every video MP4 decodes. The measurements here deliberately use extracted WAV rather than claiming browser MP4 compatibility.
A reproducible local extraction
With FFmpeg installed, inspect the local file first. This inspection-only command prints stream information; because it has no output file, it can exit nonzero without indicating that the input was unreadable. Check the printed diagnostic, not that exit code alone.
ffmpeg -hide_banner -i your-video.mp4
Look for an Audio: entry. If the intended audio is the first audio stream, extract it into a new filename:
ffmpeg -i your-video.mp4 -map 0:a:0 -vn -c:a pcm_s16le extracted.wav
-map 0:a:0 selects the first input's first audio stream; -vn excludes video from the output. pcm_s16le decodes the selected sound into signed 16-bit PCM, rather than copying AAC packets into a WAV filename. These options are documented in the official FFmpeg manual. Do not overwrite an existing recording.
For diagnosis, keep the selection mandatory: an optional map can hide a missing-stream mistake. If a file has several audio tracks, identify the desired track before adapting the map. This command does not isolate a melody from accompaniment, repair clipped sound or guarantee that notes will be detected.
Download the exact evidence
- MP4 with AAC audio · MP4 with identical video but no audio.
- Generated reference WAV · Actual WAV extracted from the MP4.
- Unedited 69-byte Balanced MIDI.
- Run times, commands, raw diagnostics, note events, versions and SHA-256 hashes.
Method and limits
The reference contains sine tones at MIDI pitches 60, 64, 67 and 72, starting at 0, 0.6, 1.2 and 1.8 seconds. Each has a 0.45-second gate and 8 ms edges. We used the installed FFmpeg build N-92722-gf22fcd4483 to encode the AAC/H.264 MP4, copy the video-only counterpart and extract PCM. We parsed each MP4's track-handler boxes independently: vide and soun in the first, only vide in the second.
We parsed the extracted WAV's actual integer samples, ran the unchanged downsample, detectNotes and buildMidi functions from the production source at Balanced sensitivity, and retained the unedited result. In the site project, reproduce with node tests/mp4-audio-track-research.mjs and FFMPEG_BIN set to a local FFmpeg executable; use a clean test checkout/output directory so the original evidence is not overwritten.
This is a controlled extraction and code-level detection test, not a browser MP4 upload test, listening test, DAW import, real vocal, full-song benchmark or commercial-tool comparison. The plain-color frames carry no notation. We did not test visual piano-roll recognition or inference from filmed hands. A missing audio track is a limit of this audio-based path, not proof that all imaginable visual transcription methods are impossible.
If a usable WAV still gives no notes, investigate a different stage: stereo channel cancellation, too few analysis windows in a short clip, or a quiet note and sensitivity. Those tests have audio samples to analyze; a video-only file does not. After a MIDI is created, use the export check to inspect it.