RETAINED-MIDI EDIT / OCTOBER 13, 2026
MP3 to MIDI.
Join a pitch. Keep the others.
Same-pitch joining reduced our fundamental controls from nine and eight events to four when gaps up to 30 ticks were allowed. Both stronger-partial controls still had twelve events. Joining can connect fragments, but this rule never deletes a different pitch. These are offline edits of retained MIDI, not a recommended setting or a transcription accuracy score.
Fewer events.
The same pitch set.
| Retained file | Off | 0 | 30 | 60 | 120 |
|---|---|---|---|---|---|
| Fundamental WAV | 9 | 5 | 4 | 4 | 4 |
| Fundamental MP3 | 8 | 5 | 4 | 4 | 4 |
| Stronger-partial WAV | 13 | 12 | 12 | 12 | 12 |
| Stronger-partial MP3 | 14 | 12 | 12 | 12 | 12 |
Fundamental WAV
Off / 0 / 30 / 60 / 120 ticks: 9 / 5 / 4 / 4 / 4.
Fundamental MP3
Off / 0 / 30 / 60 / 120 ticks: 8 / 5 / 4 / 4 / 4.
Stronger-partial WAV
Off / 0 / 30 / 60 / 120 ticks: 13 / 12 / 12 / 12 / 12.
Stronger-partial MP3
Off / 0 / 30 / 60 / 120 ticks: 14 / 12 / 12 / 12 / 12.
With joining disabled, the fundamental WAV contains nine events and the MP3 eight. The zero-gap rule allows touching or overlapping intervals of the same pitch; both files then contain five events. Allowing a gap of 30 ticks reduces both to four. Raising the allowance to 60 or 120 changes neither count further in these controls. We do not interpret that plateau as a universal threshold.
The stronger-partial WAV starts with thirteen events and loses one through zero-gap joining. Its MP3 counterpart starts with fourteen and loses two. Both remain at twelve for every larger allowance. The merge rule compares equal pitches only, so it cannot remove the different-pitch upper layers documented in the harmonic experiment. A smaller event count alone does not prove a more faithful transcription.
Bridging a gap adds held time.
The sum of event durations in fundamental WAV is 1562 ticks with Off and zero-gap joining. With a 30-tick allowance it becomes 1563, and remains there at 60 and 120. Fundamental MP3 similarly moves from 1561 to 1562. These one-tick increases are measured from re-parsed exports, not estimated from a chart. Touching fragments can join without extending their combined duration; bridging a positive gap fills the interval between their edges.
The stronger-partial WAV has a sum of 3860 ticks in every case, and its MP3 has 3893. Their reductions in count do not add a positive gap under these rules. Files with actual overlapping same-pitch intervals could have a lower duration sum after unioning them because overlapped time is no longer counted twice. That last statement follows from the disclosed union operation; it is not an additional observed result in these four controls.
Same pitch. Sorted starts. Disclosed union.
We group by MIDI pitch, sort each group by start tick and original event index, and maintain an active interval. Join when nextStart - currentUnionEnd <= gapTicks. Keep the first start, keep the maximum end and preserve the first event's velocity. The active union can absorb subsequent eligible events, making the rule transitive. Different pitches never join. Off skips the operation completely.
At zero, negative gaps representing overlap and exact touching are eligible. The chosen positive allowances are 30, 60 and 120 ticks. At the selected 120 BPM and 480 ticks per quarter, time equals ticks * 60 / (120 * 480) seconds. These choices are an experimental protocol, not settings tested in a DAW or prescribed for natural music. No extra minimum duration is imposed.
Each result group records the original event indices it absorbed, its pitch, start, end and retained velocity. The script saves each actual Standard MIDI export, parses it back and compares the multiset of pitch/start/end tuples with the intended groups. It also checks that the set of distinct pitches remains unchanged. Original hashes are checked against the preceding retained evidence before any edit; original files and old pages are not modified.
Twenty re-exports, four originals, two measured charts, the result JSON and the reproduction script form the evidence set. The JSON records the actual Node and MIDI package versions, hashes and parsed note fields. Same-start events may reorder during serialization, so tuple comparison does not assume their array positions identify the same event.
A repair instruction, tested as a limited rule.
MP3MIDITool's repair guidance tells readers to merge short fragments belonging to a held note. That observed instruction prompted this independent edit experiment. Our gap allowances and velocity rule are disclosed choices, not its implementation. We do not assume every nearby same-pitch event is a fragment: a repeated strike could be intentionally separate.
No model inference, browser conversion, physical phone, listening or DAW test took place. This rule cannot decide whether a merged note matches a performer. Harmonic input evidence explains the retained controls; independent grid interventions measure a different edit. The live converter remains unchanged.
Follow each original member.
Download full results for original notes, merge membership, parsed exports and hashes. Reproduction code runs as node scripts/measure-fragment-joining.cjs in this project, using the preceding retained evidence. Only generated-control MIDI is used; no visitor media is accepted or uploaded by this experiment.
- Fundamental WAV originalSHA-256:
236a9a0bdc9d098423d2a22c4a961fe29f4280fed166eae518648bf3def4129a. Exports: Off / Gap 0 / Gap 30 / Gap 60 / Gap 120. - Fundamental MP3 originalSHA-256:
c41e8d4c2a19289c6386ae24b8e20386e76bd6739489f6f818e9dfe02598ef66. Exports: Off / Gap 0 / Gap 30 / Gap 60 / Gap 120. - Stronger-partial WAV originalSHA-256:
626e284560282a80f1ac066c47c35ca3d85d47dc49808eea0c554d2935cf14f3. Exports: Off / Gap 0 / Gap 30 / Gap 60 / Gap 120. - Stronger-partial MP3 originalSHA-256:
d90c17b72c3c322540ee3eb54528766fcd80a96cac92d4d0301d484dd12fdbe8. Exports: Off / Gap 0 / Gap 30 / Gap 60 / Gap 120.