MakeMusic
SmartMusic Finale Garritan MusicXML

MusicXML Sanitizer/Validator

Moderator: Michael Good

MusicXML Sanitizer/Validator

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

http://www.musicxmlsanitizer.io

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:

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

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

checkClef
will add a standard treble clef when no clef is present

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

checkDoubleAccidental
checks for a single note head with multiple accidentals

checkDuration
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)

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

checkPedal
checks correct pedal start - (change -) stop

checkScaling
will add a scaling (configurable) when none is given

checkSlur
correct slur start - (continue -) stop

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

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

checkTuplets
checks correct tuplet start - stop

checkWavyLine
checks wavyline start - stop

checkChordNoteDurations
checks whether all notes in a chord have the same duration

mergeBackups
will merge consecutive backup and forward elements

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

missingStems
will add a stem to notes who need one

sibeliusDoletCrossStaff
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!

sibeliusVoicing
this module tries to fix sibelius voicing in multiple staff parts

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

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

tiedChecker
correct tied start - stop

wordsVsDynamics
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
Mogens Lundholm
 
Posts: 60
Joined: March, 2014
Reputation: 0

Who is online

Users browsing this forum: No registered users and 2 guests

cron