importing XML created with Noteflight
I created a score in the online notation app Noteflight
http://www.noteflight.com
then exported it as a MusicXML file
I imported it into MuseScore in order to work on it further
there are mistakes in where bar lines were placed
as well as incorrect ties and rests hidden underneath notes
I've attached the .xml file here as an example
config:
MuseScore 1.9.5; revision: expo
Ubuntu 9.04
Linux 2.6.28-13-generic
Qt Open Source Edition version 4.5.0
Attachment | Size |
---|---|
trombone_piece2.xml | 24.75 KB |
Comments
Thanks for reporting.
In reply to Looking into it by Thomas
I looked into it. I see 2 problems.
The division needs to be chosen in a way that you can represent every note value in the score as an integer included tuplets.
So if you have a tuplet with an half and quarter. If division is 64, an half is 128 and a quarter in the tuplet is 128/3. That's not an integer...
From MusicXML schema definition
Duration and divisions are used directly for generating sound output, so they must be chosen to take tuplets into account.
Apparently Sibelius is less restrictive on this matter and somehow change a tie into a slur if the next note is not on the same pitch. MuseScore musicXML import could be changed to implement the same behavior.
In reply to MusicXML issues by [DELETED] 5
thanks for looking into this but I'm not sure I follow your explanation --
1) are you saying that there was no division defined in the file I attached?
and if so then what defines this 'division'?
is it the definition of [quarter note=xxxx] in the tempo marking?
edit: I see the division tag in the xml file is set to <64>
but how does one adjust this division and why isn't it corrected when tuplets are used in a piece?
2) the piece I attached should not have contained any slurs - but I did see one which was a mistake in the fifth measure
would the lack of a defined 'division' plus the inclusion of a 'slur' have caused this mangling of bar lines?
thanks again for your reply
In reply to importing XML created with Noteflight by anechoicmedia_
The mangling is due to the first problem only.
Division is defined at the beginning of the MusicXML file, in the first measure attributes tag. It's not related to the tempo mark at all. The division needs to be define as the least common multiple of all note values included tuplets by the exporter.
For me, it looks like a problem in Noteflight MusicXML export.
Even if something can be done by MuseScore to fix Noteflight bad export when importing, I'm not sure it's the best way to go to impose best practise on a open format.
Find attached a working MusicXML.
In reply to Mangling by [DELETED] 5
When opening the xml file in Sibelius 5.1, the score does not seem to have the 'problems' MuseScore has. So, you could call the importer of Sibelius less restrictive and more pragmatic. What's more, Sibelius' MusicXML export with Dolet returns an xml which does not have the 'problems' anymore from the imported file. If you open that exported file in Sibelius, the score does not contain the 'problems' anymore.
MuseScore could follow the same pragmatic path as Sibelius, but as lasconic pointed out, perhaps MuseScore can be the software package in the market which actually challenges other music notation developers to export good MusicXML files. The MuseScore source code is open and thus the way it writes the MusicXML can be a good lead for others.
My conclusion would be to bring this issue to the attention of the NoteFlight developers and see how they respond to it.
In reply to Making a conclusion by Thomas
I see this issue as similar to checking HTML code on different browsers
and the use of html validation services to see if the code complies with the standard
I don't have access to Sibelius or Finale but could Lilypond be used as a validation method on Linux?
i.e. if Lilypond deals with the code 'properly' then it's clean musicXML code?
In reply to musicXML validation? by anechoicmedia_
Unfortunatly, Lilypond does not have MusicXML export. Btw, the mangling problem is with score containing tuplets.
MusicXML "validation" can be more complicated than just normal xml validation with a schema.
For example if division is 6, and you have a quarter, his "duration" tag should be 4. If you have a eight, the duration tag should be 3, a eight in a tuplet, 2 etc ... So it's a matter of validate the links between the content of the tags, a kind of semantic validation.
In reply to Unfortunatly, Lilypond does by [DELETED] 5
yes Lilypond can't export (write) xml
but it can import (read) it which might be a useful way of checking xml?
just taking a guess here
edit:
http://lilypond.org/doc/v2.13/input/regression/musicxml/collated-files…
the reason I suggest Lilypond is that it seems to be the most comprehensive notation app on Linux
it's a real shame there isn't a decent front end to it
In reply to Mangling by [DELETED] 5
thanks for fixing this
q: what besides changing the divisions from 64 to 12 did you do?
In reply to thanks! by anechoicmedia_
a: I didn't do it by hand bu with sibelius export, import in musescore, export to MusicXML from MuseScore.
What happens is that division has been changed to sensible value and all "duration" element has been changed accordingly. (I also removed the tie/slur we discuss previously)
In reply to a: I didn't do it by hand bu by [DELETED] 5
thanks again for your help! :)
I appreciate it
I also wrote an email explaining all this to the Noteflight customer service
and they wrote back that they would check out the problem and get back to me
I'll post a response from them when I get it
ciao!
KIM
In reply to email to Noteflight by anechoicmedia_
Noteflight has issued a new release and apparently it supports slurs now. Time to test the MusicXML export I presume.
In reply to New noteflight release by Thomas
here is a zip with a one bar four note example using various accidentals, diminuendo and a slur
In reply to a: I didn't do it by hand bu by [DELETED] 5
also, sorry for the questions
I should RTFM
but how did you add the measure count at the beginning of each line?
edit: never mind I think I understand now
In reply to measure count by anechoicmedia_
From a Noteflight developer, thanks for the in-depth discussion on this. I agree with lasconic and thomas_ on the difficulty of truly validating MusicXML documents and we hope to rise to the "challenge" put forth here. We are continually looking to improve our score interchange and we're working on improvements that will produce better results with MuseScore.
Specifically on divisions, this is indeed a Noteflight issue and we've made some improvements that will be reflected in a future release. The attached file was generated by Noteflight and imports successfully into MuseScore.
There still seems to be a remaining issue with one of the ties, and we will spend some more time in the future testing Noteflight-generated MusicXML documents with MuseScore.
In reply to Noteflight improvements by chirgwin
This seems like very good news, even though it probably won't affect me.
Thanks a lot.
Regards.