< Back to IRCAM Forum

MusicXML exported from OpenMusic is invalid

Hi Nige,

What do you mean by enhanced XML export functionality ?
I have fixed most of the problematic issues. The code is waiting to be included in the Kernel of the new release of OM. (it should be compile din an image in order to override the already existent code.)
Now what works and what doesn’t :

  • Fixed the clef bug (this needs to be included in the kernel but it can be overriden by using the function itself export-musicxml with the “G” Uppercase argument for the clef c.f screenshot)
  • Fixed correct rhythm compatibility for Finale and Sibelius
  • Fixed time signature redundancy
  • Fixed Beams connection issue (still to be thoroughly tested)

Now what doesn’t work :

  • Microtones export is correct but is not handled pretty well by some typesetters
  • Nested tuplets, works fine only with Finale. (didn’t test it yet in sibelius)

Now if you need the code (work in progress i will post it here as a lisp patch).
But please be aware this is ONLY temporary…

Best
K

export.png

Dear Karim,

Many thanks for your very quick response!

Please do provide your work-in-progress code - I’ll happily take my chances and also I can report on the success with which Sibelius imports the XML exports.

Many thanks again, and best wishes,

Nige

… and here is the temporary code. [to be put in the patches folder]

and use it only with the export-musicxml function (see post above).

Best
K

export-mxml-new-vers5.lisp (65.5 KB)

Dear Nige,

Thanx i will really appreciate to see also compatibility with Sibelius. Hope It will work for you. (didn’t test nested tuplets on Sibelius).
Soon i will be working to fix the 1/4 tone issue. apparently it is not due to our export code but to the parser’s support in Finale and others (such as musescore, etc…) .

Anyhow, all feedback will be appreciated.

Best
K

Thanks for this, Karim.

Here are the results from the export-function you included previously. Transcribe by hand it is! Not such a chore really, as I have to do this in Illustrator anyway!

This is slightly off-topic, but I would love a function to export groups of measures, or individual measures in SVG/EPS format from VOICE/CHORD-SEQ and so on. That would be very useful for me.

Thanks again for your help,
Nige

Finale_example.png

I think the Finale import may be getting confused because 1) the nested tuplets don’t seem to add up, and 2) OpenMusic doesn’t seem to be exporting some of the tuplets correctly.

For 1), what does that lone 9 mean in the first nested tuplet? To add up in the larger tuplet, it seems like it would need to be 9:2. Apparently OpenMusic is exporting it as 9:6. If it’s 9:6, it doesn’t seem the nested tuplets add up into the 26:24.

If OpenMusic is exporting the 2nd nested tuplet as 12 in 15 instead of 6 in 5, that would also cause a problem for the importers. Similarly for the remaining tuplets, which all seem to be off by the same 2 to 3 ratio.

If I am misunderstanding something please let me know. If you could please post the MusicXML exported from OpenMusic for this example, that could also help figure out where the problems may be.

Dear Michael,

Thanks for following this up.

I’ve transcribed the structure of the first bar, which I’m attaching, but we’ve arrived at the same conclusion.

Please find attached the XML file as well.

Best,

Nige

Test_export.xml (388 KB)

Hi Nige, Hi Michael,

Can you send me the om voice of this rhythm ?
I will check it out for sure. I might have forgotten something.

Best
K

…Looking at it now i think the problem comes from the meter.
OM doesn’t take into account explicitly beat = dotted quarter note
In fact it depends on how we write the om tree here. 12/8 could be considered in om as as equal to 6/4 or 3/2
(This might explain the 13:10 => 26:15 )
so it is difficult for me to perceive the original rhythm.
Will work on this as soon as i have the original om tree,

best
K

…nevermind, got your tree is it this (without the rests of course)? :

(? (((12 8) ((12 ((4 (1 4 4)) (5 (2 1 1)) (7 (3 2 1 1 1 1)) (10 (1 2 3 7))))))))

Will test it right now on Finale.
Best
K

Ok
Got it … Bug… in the tuplets, will fix this asap !
Sorry My bad!
K

Hi all,

Ok here is a fix. Please do replace [if you did put the patch export-mxml-new-vers5.lisp ] with this.
And please do feel free to report any kind of problem.
It is still not definitive. I have jsut noticed that automatic beaming is not that efficient and will try to fix it…

Best
K

export-mxml-new-vers7.lisp (67.8 KB)

Dear Karim,

Thanks for your work on this. I’m on the road but will report back when I’m home. Greetings from Darmstadt,

Nige

Hi
this is the latest version where hopefully nested tuplets are correct (works only on Finale , Sibelius (maybe ?))
and fixed group beaming

Enjoy.
K
PS: Please do feel free to report any problems and issues. I will try to fix these. However remember 1/4 tones are not
really well supported by other applications.

export-mxml-new-vers8.lisp (66.9 KB)

Dear Karim,

Thanks and congratulations on this fix! The Finale results are as expected and correct. The Sibelius results are much improved, but the last tuplet [13:10] seems to be missing. What I suspect has happened is that the rhythm is correct, and Sibelius has failed to place the tuplet bracket in the right place, rather placing it somewhere inappropriate or inaccessible. I could however be wrong!

Thanks, and best,

Nige

Finale_output.png

Hi Nige,

Great to know. Unfortunately we can’t test if it is a specific Sibelius issue or the export’s one.
However your examples show also a small flow with my export. It’s the beaming. Sibelius apparently automatize it and not Finale when there are rest in between Beams. I think i can manage this. As soon as i fix it i will send another update.
I really appreciate your feedback.
Thanx a lot.

Best
K

Dear Karim,

I’ve found another issue. When attempting to export a musicXML file from a voice instance, I get the following error:

Error while evaluating the box EXPORT-MUSICXML : Arithmetic error in > of ((4 11) 0): Arguments must be real numbers.

Please find attached the .omi

All best,

Nige

test4.omi (653 KB)

Thx Nige,

Located and fixed the bug. But thanks to your example i located another one that i am fixing.
I will be posting a new release ASAP.

Best
K

Dear Karim,

I would like to use OM with Sibelius and i have the same problem: i can’t export files with nested tuplets. I’ve tried all of your lisp files from this topic - none of them work… With OM 6.18 i have the same result. Xml file produced by OM looks like that in Sibelius.

Thanks,

Alex

hi viatoris

can you pleqse:
1 try to remove all extra code from ini file
2 restart om
3 try again

if doesn’t work please can u tell what version of sibelius
thx
k