M4A to MIDI:
when a WAV copy helps
To convert M4A to MIDI, use Local note transcription for a short recording of one instrument, then check and edit the downloaded notes; the tested AAC and sixteen-bit ALAC examples now complete locally, while an unsupported codec may still need a local WAV copy. Evidence
Open the converter · See the twelve attempts · Download the comparison files
Current converter: same files, new local analysis path
The repaired default Local note transcription path produced twelve nonempty browser downloads from the same twelve inputs that previously produced six files, with three ALAC decoding failures and three no-note outcomes. Evidence
This is three reused human-performance windows through four paths each, all with Balanced sensitivity, rather than twelve independent recordings or a measured real-user conversion rate. Evidence
Across the four guitar paths, the saved MIDI now matches sixteen of sixteen reference attacks, misses none and contains twenty-seven unmatched events out of forty-three outputs. Evidence
The first piano window now matches twenty-four of twenty-five reference attacks and misses one, with sixty AAC-path outputs versus sixty-two ALAC-path outputs and thirty-six versus thirty-eight unmatched events. Evidence
The second piano window now matches twenty-one of twenty-four reference attacks and misses three, with fifty-five outputs in three paths and fifty-six in the AAC-decoded WAV path, leaving thirty-four or thirty-five unmatched events. Evidence
Exact MIDI pitch and an onset within fifty milliseconds are still required in reference order, without a fitted shift or octave credit, so a successful download does not mean that every generated event is correct. Evidence
The local ALAC fallback returned exactly 242550 samples for each of the three controlled inputs, with zero PCM differences against the corresponding decoded WAV, after correcting the decoder’s final-frame padding. Evidence
That fallback currently handles sixteen-bit ALAC, while twenty-four-bit ALAC and other untested M4A profiles may still need a browser-supported local WAV copy rather than an unsupported compatibility promise. Evidence
Silence and the declared broadband white-noise control produced no notes after the signal guard was added, while all three real windows remained eligible, which does not establish rejection of every possible noise recording. Evidence
The model, decoder and note analysis run locally, with same-site software downloads kept separate from audio-file processing, a source-verified application path that does not make claims about browser extensions or operating-system traffic. Evidence
The default path uses Spotify Basic Pitch with pinned settings and may create simultaneous note events, but these one-instrument excerpts do not establish reliable full-mix separation or eliminate the editing indicated by the unmatched counts. Evidence
The Original single-note detector remains selectable for comparison, and the earlier measurements below retain their original files, hashes, labels and scoring rather than being rewritten as repaired results. Evidence
All twelve measured rows · Recalculate from saved MIDI · Native records · Validation scope · Current revision audit · Processing source · Libraries and licenses
Earlier original-detector baseline — retained unchanged
1. The same extension can reach different stages
Our controlled files put AAC or Apple Lossless audio in an M4A container and make a local PCM16 WAV counterpart, so the comparison changes the decoding path without claiming an authentic iPhone recording. Evidence
All three ALAC M4A inputs stopped with the browser’s decode error, whereas their WAV counterparts reached note detection, identifying a codec-entry failure separately from the notes found afterward. Evidence
Actual ALAC error · Same-source WAV result · Twelve actual UI records
2. Real guitar: a usable file still needs an ending check
The guitar’s compatible paths each returned six events against sixteen scored attacks, with one strict match, fifteen missed references and five outputs not matched as new attacks. Evidence
The accepted pitch-62 attack arrived 24.06 milliseconds early under the unchanged fifty-millisecond rule, giving one concrete timing check instead of a general accuracy promise. Evidence
Its stored duration was 81.18 milliseconds shorter than the reference duration, so acceptance of that attack did not establish the correct release. Evidence
The first saved pitch-58 event lasted 1.068 seconds from the crop boundary, while the same-pitch carried-in reference ended after 0.106 seconds, exposing a held-note length discrepancy outside the new-attack score. Evidence
The saved guitar events ended at 4.086 seconds, before the two annotated pitch-53 attacks at 4.356 and 4.598 seconds, so a file that downloads can still omit the phrase’s tail. Evidence
Carried-in notes are retained separately from newly annotated attacks, and an unmatched event under this rule is not automatically a fabricated sound. Evidence
3. First piano excerpt: decoded audio without a download
The first piano window contains twenty-five scored key attacks, but its AAC M4A and both WAV paths reported no stable melody notes and offered no MIDI download. Evidence
Its ALAC M4A stopped earlier at decoding, so making the WAV copy cleared that entry gate without recovering a note in this example. Evidence
The webpage used the same generic decode-failure heading for this no-note result, but the detailed message and audio duration distinguished it from the ALAC decoder error. Evidence
Actual detail: No stable melody notes were detected. · ALAC detail: Unable to decode audio data
4. Second piano excerpt: one low event is not the performance
The second piano window has twenty-four scored attacks, yet its compatible paths each saved one pitch-38 event with zero strict matches, twenty-four missed attacks and one unmatched output. Evidence
That event began at 4.644 seconds and lasted 186.46 milliseconds in the downloaded MIDI, giving a specific location to inspect before editing. Evidence
A separate fifty-millisecond pitch-class check finds references both one and three octaves higher, so the low event has two register candidates rather than a uniquely diagnosed octave error or a correct-pitch credit. Evidence
Three already-held piano keys are retained as crop context rather than counted as new attacks, and hardware key release is not the same measurement as audible pedal decay. Evidence
5. Twelve actual browser attempts
| Source / input path | Actual outcome | Saved events | Strict matches | Evidence |
|---|---|---|---|---|
| guitar15-aac-m4a | Downloaded MIDI | 6 | 1 | UI record · Actual MIDI |
| guitar15-aac-wav | Downloaded MIDI | 6 | 1 | UI record · Actual MIDI |
| guitar15-alac-m4a | Decode stopped | Not reached | Not reached | UI record |
| guitar15-alac-wav | Downloaded MIDI | 6 | 1 | UI record · Actual MIDI |
| piano36-aac-m4a | No stable notes | 0 | 0; no export | UI record |
| piano36-aac-wav | No stable notes | 0 | 0; no export | UI record |
| piano36-alac-m4a | Decode stopped | Not reached | Not reached | UI record |
| piano36-alac-wav | No stable notes | 0 | 0; no export | UI record |
| piano61-aac-m4a | Downloaded MIDI | 1 | 0 | UI record · Actual MIDI |
| piano61-aac-wav | Downloaded MIDI | 1 | 0 | UI record · Actual MIDI |
| piano61-alac-m4a | Decode stopped | Not reached | Not reached | UI record |
| piano61-alac-wav | Downloaded MIDI | 1 | 0 | UI record · Actual MIDI |
For each nonempty clip, the actual AAC M4A, AAC WAV and ALAC WAV downloads were byte-identical, so WAV preparation changed neither the accepted nor rejected note events in these saved results. Evidence
All six actual downloads also matched their corresponding offline MIDI bytes, while the three empty offline MIDI files remain offline artifacts rather than invented browser downloads. Evidence
Reference-order nearest-unused matching requires the exact integer pitch and an onset within fifty milliseconds, without a fitted time shift, octave credit or a relaxed posthoc window. Evidence
The AAC decoder produced 138 extra tail samples in this fixed FFmpeg path, but that input difference must not be turned into an unmeasured claim about a global Chrome or iPhone onset shift. Evidence
6. Download the inputs, notes and Piano Rolls
guitar15
Original crop WAV · Controlled AAC M4A · AAC-decoded WAV · Controlled ALAC M4A · ALAC-decoded WAV · Reference attacks · Offline output notes
piano36
Original crop WAV · Controlled AAC M4A · AAC-decoded WAV · Controlled ALAC M4A · ALAC-decoded WAV · Reference attacks · Offline output notes
piano61
Original crop WAV · Controlled AAC M4A · AAC-decoded WAV · Controlled ALAC M4A · ALAC-decoded WAV · Reference attacks · Offline output notes
The Piano Rolls are generated plots rather than DAW screenshots, and the empty piano plot represents the independently scored offline result because the webpage did not export a file for that case. Evidence
Fresh regeneration matched eighty-five common inputs, MIDI files, scores, plots and metadata hashes, validating the offline pipeline separately from the twelve native browser observations. Evidence
Frozen protocol · Input transforms and SHA · Actual native records · Independent result arithmetic · Original Windows input generator · Unchanged detector runner · Independent MIDI reader · Note scorer and plots · Recheck article numbers · Fresh-run hashes · Dated source comparison · Internal sentence ledger · Internal full-body audit · Evidence SHA256
7. Scope and local processing
The batch reuses licensed GuitarSet and Vienna4x22 human performances with declared crops and controlled exports, so it is not three independent performers, natural phone-capture validation or a mobile Safari test. Evidence
Guitar string-label uncertainty, piano timing calibration, carried-in notes and acoustic sustain limit what these annotation-relative counts establish, and no overall accuracy percentage is reported. Evidence
During the observed last WAV selection and one-event MIDI generation, Chrome’s unfiltered Network list remained empty, a scoped local-conversion check that does not cover initial assets, analytics, extensions or other files. Evidence
Network before selection · Generated result and network list · Unchanged client source · Licenses and modifications
8. Choose the next repair from the failure stage
Keep a local WAV fallback for a genuine decoder failure, then inspect the saved pitches, attacks and endings; an empty or incomplete single-pitch draft calls for a clearer part or a suitable transcription method rather than another filename change. Evidence
Audio-to-MIDI measured scope · Guitar checks · Piano checks · WAV decoder checks