Conversion ratée musicxml2ly

Bonjour,

Je viens d'acquérir une partition sur musescore que je voulais convertir en lilypond à partir des sources en .mxl afin de pouvoir garder juste les voix qui m'intéressent. J'ai déjà réussi avec une autre partition, mais là je tombe sur un os:

Traceback (most recent call last):
  File "/opt/local/bin/musicxml2ly", line 3409, in <module>
    main()
  File "/opt/local/bin/musicxml2ly", line 3402, in main
    voices = convert(filename, options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 3263, in convert
    (voices, staff_info) = get_all_voices(parts)
                           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 2855, in get_all_voices
    voice = musicxml_voice_to_lily_voice(v)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 2436, in musicxml_voice_to_lily_voice
    for direction in musicxml_direction_to_lily(n):
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 1722, in musicxml_direction_to_lily
    ev = tmp_tp(entry)
         ^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 1632, in musicxml_metronome_to_ly
    if isinstance(children[index], musicxml.BeatUnitDot):
                  ~~~~~~~~^^^^^^^
IndexError: list index out of range

Ai-je trouvé un bug de musicxml2ly ou y a-t-il un contournement possible ?

Je suis sous MacOS avec lilypond2.25.13 (qui est la version à jour sur MacPort mais déjà pas mal en retard sur la version actuelle en développement).

Bonjour,

Cela pourrait aussi être un bug de MacPort.

Si vous en avez la possibilité, il faudrait pouvoir essayer avec une version lilypond directement faite pour macos (la dernière stable ou la dernière en développement).

Bonjour,

Vous pouvez aussi mettre le fichier xml ici et un de la Lilypond.communitty peut essayer le de le convertir sous Linux en 2.24 ...
Cordialement,

Voici la partition exportée depuis Musescore en .musicxml en y supprimant un maximum de chose mais qui montre encore le souci. Merci à ceux qui pourront tester de leur côté. Pour ma part, cela donne

~>musicxml2ly MWE.musicxml
musicxml2ly: Lecture du fichier MusicXML « MWE.musicxml »...
musicxml2ly: Conversion en expressions LilyPond...
Traceback (most recent call last):
  File "/opt/local/bin/musicxml2ly", line 3410, in <module>
    main()
  File "/opt/local/bin/musicxml2ly", line 3403, in main
    voices = convert(filename, options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 3264, in convert
    (voices, staff_info) = get_all_voices(parts)
                           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 2856, in get_all_voices
    voice = musicxml_voice_to_lily_voice(v)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 2437, in musicxml_voice_to_lily_voice
    for direction in musicxml_direction_to_lily(n):
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 1723, in musicxml_direction_to_lily
    ev = tmp_tp(entry)
         ^^^^^^^^^^^^^
  File "/opt/local/bin/musicxml2ly", line 1633, in musicxml_metronome_to_ly
    if isinstance(children[index], musicxml.BeatUnitDot):
                  ~~~~~~~~^^^^^^^
IndexError: list index out of range

MWE.musicxml (90,1 Ko)

Bonjour,
Converti en 2.24.4 même message d'erreurs
en 2.25.33 ou 34
Les lignes sont vides ...
joint retraivaillé pour 2.24
MWE-2.ly (15,1 Ko)

Merci Martial, cela marche effectivement avec la toute dernière version, même si ce n'est pas super facile de contourner les protections d'Apple pour réussir à exécuter les programmes qui viennent avec lilypond sous MacOS, c'est pourquoi je préfère utiliser les paquets MacPort, mais je crois qu'en ce moment c'est un peu bloqué de ce côté là.

En tous cas, merci pour le test, j'ai maintenant le moyen de faire la traduction du morceau original complet.