Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: Köbi am Donnerstag, 15. September 2016, 21:46
-
Hallo zusammen
Beim Importieren von MusicXML wird ein fehlerhaftes ly-File erstellt. Bei Texten (Strings) ist jedes zweite Zeichen ein hexadezimales Null (x00). Unicode? Frescobaldi kann damit allerdings nicht umgehen, es verhaut ihn. Das Problem tritt zumindest mit den Versionen 2.19.46 und 2.19.47 auf. Mit 2.18.2 funktioniert alles wie es soll. Das MusicXML ist von Capella exportiert worden und sieht korrekt aus. Ich habe es als Anhang beigelegt. Kann jemand das Problem reproduzieren? Dann würde ich versuchen, einen Bug zu erfassen.
Gruss, Köbi
-
Also ich habs jetzt mit 2.18.2 probiert. Terminal nicht Frescobaldi.
Das terminal-log:
musicxml2ly IMSLP303752-PMLP491495-Stamtiz_C_6_duets_op_27_2_fl163.xml
musicxml2ly: Reading MusicXML from IMSLP303752-PMLP491495-Stamtiz_C_6_duets_op_27_2_fl163.xml ...
musicxml2ly: Converting to LilyPond expressions...
musicxml2ly: warning: Negative skip -1/4 (from position 1/4 to 0)
musicxml2ly: warning: Negative skip -1/4 (from position 1/4 to 0)
musicxml2ly: warning: Negative skip -1/4 (from position 1/4 to 0)
musicxml2ly: warning: Negative skip -1 (from position 2 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -1 (from position 2 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -1 (from position 2 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -1/8 (from position 913/8 to 114)
musicxml2ly: warning: Negative skip -1/8 (from position 913/8 to 114)
musicxml2ly: warning: Negative skip -1/8 (from position 913/8 to 114)
musicxml2ly: warning: Cannot have two simultaneous slurs
In: <slur placement=above type=start number=1>
In: <notations >
In: <note >
In: <measure number=188>
In: <part id=P1>
In: <score-partwise version=2.0>
musicxml2ly: warning: Cannot have two simultaneous (closing) slurs
In: <slur type=stop number=1>
In: <notations >
In: <note >
In: <measure number=188>
In: <part id=P1>
In: <score-partwise version=2.0>
musicxml2ly: warning: Negative skip -1/8 (from position 301/2 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -1/8 (from position 301/2 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -1/8 (from position 301/2 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -1/8 (from position 321/2 to 1283/8)
musicxml2ly: warning: Negative skip -3/32 (from position 5135/32 to 1283/8)
musicxml2ly: warning: Negative skip -3/32 (from position 5135/32 to 1283/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1389/8 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1389/8 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1389/8 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1437/8 to 1431/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1435/8 to 1431/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1435/8 to 1431/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1533/8 to 1527/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1531/8 to 1527/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1531/8 to 1527/8)
musicxml2ly: warning: Negative skip -1 (from position 1583/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -1 (from position 1583/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -1 (from position 1583/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -1 (from position 1839/8 to 1831/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1837/8 to 1831/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1837/8 to 1831/8)
musicxml2ly: warning: Negative skip -1 (from position 3359/8 to 3351/8)
musicxml2ly: Converting to LilyPond expressions...
musicxml2ly: warning: Negative skip -1 (from position 2 to 1)
musicxml2ly: warning: Negative skip -7/8 (from position 15/8 to 1)
musicxml2ly: warning: Negative skip -7/8 (from position 15/8 to 1)
musicxml2ly: warning: Negative skip -1/8 (from position 913/8 to 114)
musicxml2ly: warning: Negative skip -1/8 (from position 301/2 to 1203/8)
musicxml2ly: warning: Negative skip -1/8 (from position 321/2 to 1283/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1389/8 to 1383/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1387/8 to 1383/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1387/8 to 1383/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1437/8 to 1431/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1435/8 to 1431/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1435/8 to 1431/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1533/8 to 1527/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1531/8 to 1527/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1531/8 to 1527/8)
musicxml2ly: warning: Negative skip -1 (from position 1583/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -1 (from position 1839/8 to 1831/8)
musicxml2ly: warning: Negative skip -1 (from position 3359/8 to 3351/8)
musicxml2ly: Converting to LilyPond expressions...
musicxml2ly: warning: Negative skip -1/4 (from position 1/4 to 0)
musicxml2ly: warning: Negative skip -1/4 (from position 1/4 to 0)
musicxml2ly: warning: Negative skip -1 (from position 2 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -1 (from position 2 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -3/4 (from position 7/4 to 1)
musicxml2ly: warning: Negative skip -1/8 (from position 913/8 to 114)
musicxml2ly: warning: Negative skip -1/8 (from position 913/8 to 114)
musicxml2ly: warning: Cannot have two simultaneous slurs
In: <slur placement=above type=start number=1>
In: <notations >
In: <note >
In: <measure number=188>
In: <part id=P1>
In: <score-partwise version=2.0>
musicxml2ly: warning: Cannot have two simultaneous (closing) slurs
In: <slur type=stop number=1>
In: <notations >
In: <note >
In: <measure number=188>
In: <part id=P1>
In: <score-partwise version=2.0>
musicxml2ly: warning: Negative skip -1/8 (from position 301/2 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -1/8 (from position 301/2 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -3/32 (from position 4815/32 to 1203/8)
musicxml2ly: warning: Negative skip -1/8 (from position 321/2 to 1283/8)
musicxml2ly: warning: Negative skip -3/32 (from position 5135/32 to 1283/8)
musicxml2ly: warning: Negative skip -3/32 (from position 5135/32 to 1283/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1389/8 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1389/8 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -2/3 (from position 4165/24 to 1383/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1437/8 to 1431/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1435/8 to 1431/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1435/8 to 1431/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1533/8 to 1527/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1531/8 to 1527/8)
musicxml2ly: warning: Negative skip -1/2 (from position 1531/8 to 1527/8)
musicxml2ly: warning: Negative skip -1 (from position 1583/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -1 (from position 1583/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1581/8 to 1575/8)
musicxml2ly: warning: Negative skip -1 (from position 1839/8 to 1831/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1837/8 to 1831/8)
musicxml2ly: warning: Negative skip -3/4 (from position 1837/8 to 1831/8)
musicxml2ly: warning: Negative skip -1 (from position 3359/8 to 3351/8)
musicxml2ly: Converting to LilyPond expressions...
musicxml2ly: Output to `IMSLP303752-PMLP491495-Stamtiz_C_6_duets_op_27_2_fl163.ly'
musicxml2ly: warning: Grace note with no following music: <musicexp.SequentialMusic instance at 0x7fee714223f8>
musicxml2ly: warning: Grace note with no following music: <musicexp.SequentialMusic instance at 0x7fee71424a28>
musicxml2ly: warning: Grace note with no following music: <musicexp.SequentialMusic instance at 0x7fee71376a28>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee712976c8>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee712a4830>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee712a5ef0>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee712b3050>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee712be998>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee712bf878>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee712ca758>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee7121c638>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee7121d2d8>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee711f60e0>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee711c0320>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee7112e0e0>
musicxml2ly: warning: Grace note with no following music: <musicexp.SequentialMusic instance at 0x7fee71093c68>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee7104df38>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee7104e2d8>
musicxml2ly: warning: Grace note with no following music: <musicexp.SequentialMusic instance at 0x7fee7117d050>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70f44440>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70f5add0>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70f5db48>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70f72638>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70f05d88>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70f083b0>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70f1a1b8>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70e9bbd8>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70e9c878>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70e665f0>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70e307a0>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70d9d488>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70cbd098>
musicxml2ly: warning: Encountered unprocessed marker <__main__.RepeatMarker instance at 0x7fee70cbd3f8>
Mit 2.18.2 funktioniert alles wie es soll
Kann ich wirklich nicht bestätigen. Mit 2.19.48 hab ichs dann gar nicht erst probiert
Das pdf aus dem entstandenen ly-file ist auch nix.
Bei soooo heftigen allergischen Reaktionen ist für gewöhnlich schon der input kaputt.
Gruß,
Harm
-
Hallo Harm
Bei mir reagiert es definitiv anders. Beiliegend die ly-Files, die mit 2.18.2, resp. 2.19.48 erzeugt werden. Das 2.18.2-File sieht doch durchaus Ok aus.
Kann vielleicht noch jemand anders versuchen, das oben angehängte MusicXML mit den beiden Versionen zu importieren? Danke.
Gruss, Köbi
-
Ich kann harms Antwort für 2.18.2 nur bestätigen: das musicxml2ly-log sieht genauso aus, das lilypond-log ist ebenfalls furchtbar (lauter angefangene Balken, die nicht beendet werden, falsche Takt- und Taktzahlüberprüfungen, dadurch nicht mögliche erzwungene Zeilenumbrüche etc.) und das PDF sieht auch kaputt aus. In 2.19.47 sieht das musicxml2ly-log inhaltlich ähnlich, aber länger aus, lilypond bricht ab, weil ein String nicht beendet wird.
-
Hallo Köbi,
weitere Tests:
Ich habe musicxml2ly angewendet auf Dein IMSLP-xml-file, sowohl mit 2.18.2 als auch mit 2.19.48.
Beide musicxml2ly-Versionen geben im log einen Haufen von Warnungen, schreiben aber ein lesbare ly-files.
Diese ly-files compilieren ebenfalls mit einem Haufen von Warnungen. Tatsächlich ist das 2.19.48-pdf aber etwas besser, wenn auch ebenfalls unbrauchbar.
Wie schon gesagt halte ich das IMSLP-xml-file für kaputt.
Aber keine Fassung liefert ein unlesbares ly-file, wie bei Deiner 2.19.48-Fassung.
Ich bin auf 64-bit Ubuntu.
Da es in letzter Zeit zahlreiche Änderungen gegeben hat, die hier ins Spiel kommen könnten, wäre ein weiteres testen schön.
Um einen möglichen bug zu verifizieren oder zu falsifizieren, mache weitere Tests bitte nur direkt im Terminal, ohne Frescobaldi (um einen Einfluß von dort auszuschließen).
Gerade weil Du auf windows bist, iiuc, sind Deine Ergebnisse interessant.
Falls es sich um einen bug handelt, sollten wir versuchen ein minimal-Beispiel zu bekommen.
Versuch doch mal folgenden xml-code mit 2.19.48-musicxml2ly zu bearbeiten.
(Stammt von der musicxml-home-page (http://usermanuals.musicxml.com/MusicXML/MusicXML.htm#TutMusicXML2-1.htm%3FTocPath%3DMusicXML%25203.0%2520Tutorial%7C_____1), deren "Hello world"-code)
Und berichte bitte was passiert.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC
"-//Recordare//DTD MusicXML 3.0 Partwise//EN"
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.0">
<part-list>
<score-part id="P1">
<part-name>Music</part-name>
</score-part>
</part-list>
<part id="P1">
<measure number="1">
<attributes>
<divisions>1</divisions>
<key>
<fifths>0</fifths>
</key>
<time>
<beats>4</beats>
<beat-type>4</beat-type>
</time>
<clef>
<sign>G</sign>
<line>2</line>
</clef>
</attributes>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>whole</type>
</note>
</measure>
</part>
</score-partwise>
Gruß,
Harm
P.S.
lilyponds musicxml import ist generell verbesserungs-würdig.
Und ein export ist momentan überhaupt nicht codiert, Frescobaldi hat aber ein entsprechendes feature (wird aber selbst von deren Entwicklern momentan noch als experimentell bezeichnet).
Tatsächlich ist das xml-format an sich m.E. noch nicht ausgereift, sondern hängt viel zu sehr davon ab wie versiert der Ersteller mit dem jeweiligen Notensatzprogram ist.
Der Denemo-Entwickler hat versucht mit diesen Unwägbarkeiten bei xml-files besser umzugehen, was letztlich zu einer eigenen xml-Variante geführt hat, iirc.
Scheint aber besser zu funktionieren als anderes. Wäre vielleicht eine Möglichkeit!?