SmartMusic Finale Garritan MusicXML

MusicXML Sanitizer/Validator

Moderator: Michael Good

MusicXML Sanitizer/Validator

Postby Hans Vereyken » Mon Apr 20, 2015 2:58 am

Together with the MusicXML Community Meeting we launched our MusicXML Sanitizer/Validator.
It scans trough a MusicXML file and searches for semantical errors and tries to fix them.
When using the sanitizer you'll get a download with a 'corrected' MusicXML file and a log file (csv) of which corrections were made (with line numbers of the original MusicXML file).

Internally the sanitizer is build with modules, each module scans for a certain problem, modules can depend on each other.
For now we didn't surface the configuration possibilities, but this will be done in future versions. You'll be able to enable/disable modules and configure the modules itself.

The original idea was to fix problems originating in MusicXML exporters. After reading trough this blog we decided to also look at problems emerged from score-application limitations. While working on it we saw a very thin line between score-applications limitations and engraver 'mistakes' (engravers using the wrong tools to get a certain visual result). Using the example in the blog above, we need to implement a module to detect barlines drawn with the line-tool, which is mostly an 'engraver mistake', but the engraver needs to make this mistake to get the desired result.

So we try to detect/fix 3 kinds of problems:
- MusicXML export error
- Score-application limitation
- Engraver mistake

Please go to our bitbucket issue tracker if you want to request new modules and/or file bugs.

For best results use Chrome on desktop.

These are the published modules:

checking for correct beaming (begin - (continue -) end)

checking for slurs going cross system but entered as 2 seperate slurs

will add a standard treble clef when no clef is present

will check for different direction types inside a single direction-type element (eg <direction-type><words>...</words><dynamics>...</dynamics></direction-type>

checks for a single note head with multiple accidentals

this module checks all durations (and divisions) to make sure that a all measures have the same length (except when non-controlling is set, it will check that all parts have the same length)

if a voice has only one whole rest in an entire measure this rest will convert to a measure rest

checks correct pedal start - (change -) stop

will add a scaling (configurable) when none is given

correct slur start - (continue -) stop

sometimes the default-y and bezier-y does not reflect the placement of the slur

adds a staves attributes when none is present and the part has notes on at least 2 staves

checks correct tuplet start - stop

checks wavyline start - stop

checks whether all notes in a chord have the same duration

will merge consecutive backup and forward elements

checks whether pitch is correctly presented with accidentals. How accidentals should be added will be configurable using this as a reference

will add a stem to notes who need one

this module tries to fix cross staff problems in sibelius cross staff notes. It will help you fix most of the cross staff problems but can't be trusted!

this module tries to fix sibelius voicing in multiple staff parts

will scan for all durations in a part and recalculate to the smallest possible division element

will check whether all stems under a single beam are pointing in the same direction

correct tied start - stop

wil convert words to dynamics (eg 'p', 'f', 'sfz' ...)
Hans Vereyken
Posts: 36
Joined: March, 2014
Reputation: 0

Re: MusicXML Sanitizer/Validator

Postby Andreas Wenger » Mon Mar 07, 2016 1:18 am

I'd like to use the tool and contribute code to it, however the website seems to be offline?
User avatar
Andreas Wenger
Posts: 83
Joined: December, 2013
Location: Schrobenhausen, Germany
Reputation: 0
Software Owned:
Zong! Music Notation Project

Re: MusicXML Sanitizer/Validator

Postby Mogens Lundholm » Wed Mar 16, 2016 1:46 am

Same problem - is the link wrong or server down?
Mogens Lundholm
Posts: 60
Joined: March, 2014
Reputation: 0

Who is online

Users browsing this forum: No registered users and 2 guests