Private notation interchange QA

MusicXML Interchange Preflight & Repair

Inspect uncompressed MusicXML or compressed MXL without rendering or uploading the score. Trace package discovery, declared and actual parts, measure identities, duration cursors, instrument links, and packaged assets before handing the file to another notation application.

MusicXML or compressed MXL

Choose one score interchange file

No file selected.

Input is limited to 64 MiB; score XML to 16 MiB. XML DTDs are recognized but never fetched or expanded.

Choose MusicXML/MXL or load the teaching package.

Private by design: score XML, titles, part names, notes, assets, and package members stay in this browser tab. ToolQuill does not render, play, or upload the score.

What this preflight checks

The tool validates bounded XML well-formedness without fetching DTDs; accepts partwise and timewise score roots; reconciles required part-list declarations with musical content; checks unique part and measure IDs, required measure numbers, score-instrument references, partwise measure-number sequences, package rootfiles, ZIP integrity, and image/link targets. It inventories software metadata, voices, staves, note counts, divisions, and meters.

Rhythmic cursor diagnostic

For each part-measure, note durations move a local cursor; chord notes and grace notes do not advance it, while backup and forward elements move it explicitly. The maximum cursor is compared with the active divisions and time signature. This catches common overfull measures, unmarked short measures, invalid duration values, and backups before the measure start, but it is not a complete interpretation of every notation construct.

Safe repair boundary

Repairs are offered only for deterministic MXL discovery metadata: the compatibility mimetype entry, canonical META-INF/container.xml path, a missing container when exactly one score root is provable, rootfile case, and MusicXML media type. A rebuilt copy preserves score XML and other readable members. Part IDs, measure numbers, note durations, pitches, voices, and musical relationships are never guessed or rewritten.

Validation boundary

This is a bounded interoperability diagnostic, not full XSD validation, notation engraving, playback, or musical analysis. It does not implement the complete MusicXML schema and ordering rules, resolve DTD entities, render visual layout, judge musical correctness, transform partwise/timewise documents, validate every notation extension, certify application compatibility, or repair musical content. Validate critical deliveries with the official schema and open them in every target application.

Frequently asked questions

Why can a measure be short without being wrong?

Pickup measures, split measures, cadenzas, and multimetric passages may intentionally be short. MusicXML provides implicit and non-controlling attributes; the tool qualifies those cases and treats other short measures as warnings rather than automatic repairs.

Why does the repaired MXL become larger?

The deterministic ZIP builder stores entries without compression to avoid changing their content or requiring a compressor. The score remains unchanged and can be recompressed by trusted notation software.

Does passing this check guarantee import?

No. Applications support different MusicXML versions and notation subsets. This preflight finds high-value structural problems, but the target applications remain the final interoperability test.

Primary references

The MusicXML 4.0 specification defines the exchange format and published schema. Its MXL container reference defines ZIP discovery and compatibility metadata, while the file-structure tutorial explains partwise and timewise organization.

Audit a REAPER project · Audit a CUE sheet · Browse music-notation tools