Hello all,I have some ABC notation that can be converted to a score using abcm2ps without problems. I wanted to try if PMX/MusiXTeX might produce a nicer result via conversion with abc2xml and xml2pmx.
I converted the ABC notation to MusicXML with abc2xml. The resulting XML can be opened with MuseScore and creates the expected score. This means both the ABC file and the XML file seem to be correct for their respective tools.
Then I used xml2pmx to convert the XML to PMX. With the resulting file, PMX reports an error in a triplet.
You entered an invalid note-length value: 5 See below for details and source.To reproduce the problem I reduced the input to 2 bars that contain special triplet patterns, with an empty bar in between.
The first bar results in an error. The third seems to work. Is this a problem with PMX or xml2pmx?The music is a Polska (Swedish folk tune/dance) and irregular triplets seem to be common.
If the list accept PDF attachments, the attached file shows the expected score output.
Description in case the PDF attachment gets removed. The music in in 3/4.The first bar consists of a triplet of two beamed 1/8 notes and two 1/4 notes, followed by a triplet of 3 beamed 1/8 notes. The first triplet seems to be problematic. The third bar consists of a triplet of one 1/4 note, one dotted 1/4 note and one 1/8 note, followed by two beamed notes dotted 1/8 + 1/16. This seems to be OK.
Best regards,
Bodo
Resulting PMX file
------------------
---
%\input musixlyr
%\special{papersize=297mm,420mm}%
---
%|
%<?xmlversion='1.0'encoding='utf-8'?>
%<!DOCTYPEscore-partwisePUBLIC"-//Recordare//DTDMusicXML3.0Partwise//EN""http://www.musicxml.org/dtds/partwise.dtd">
%Polska Nymphaea Bar 4 and 7
%Johannes Mayr
%
%
%Part P1 :
%
%
% nv, -noinst, nostaves per instrument
1 -1 1
% mtrnuml,mtrdenl,mtrnmp,mtrdnp,xmtrnum0,isig
3 4 3 4 0 1
%
% npages,nsyst,musicsize,fracindent
0 5 16 0.07
t
./
Tt
Polska Nymphaea Bar 4 and 7
Tc
Johannes Mayr
Abepl
\\input musixper\
%%w277m
%%h390m
% ( 1| 1| 1) 1
\zcharnote{12}{\metron{\qu}{80}}\ [ g24x3 a4 b4 c5 [ a44x3 g4 f4 ] /
% ( 1| 1| 1) 2
rp /
% ( 1| 1| 1) 3
c24x3 cd5 b4 [ a8d4 g14 ] /
------------------
Error message:
$ pmxab PNBar4-7
This is PMX, Version 2.94 , 17 Mar 20
Opening PNBar4-7.pmx
Starting first PMX pass
You entered an invalid note-length value: 5
--------------------------
Original file PNBar4-7.abc
--------------------------
%abc-2.1
X:1
T:Polska Nymphaea Bar 4 and 7
C:Johannes Mayr
M:3/4
L:1/8
Q:1/4=80
K:G
"Em"(3:2:4 GAB2c2 "D"(3 AGF | z6 | "Am"(3 C2c3B "C"A>G |
--------------------------
Converted with abc2xml revision 229
abc2xml -b -o . PNBar4-7.abc
to PNBar4-7.xml
-----------------------------------
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.0
Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
<work>
<work-title>Polska Nymphaea Bar 4 and 7</work-title>
</work>
<identification>
<creator type="composer">Johannes Mayr</creator>
<encoding>
<encoder>abc2xml version 229</encoder>
<supports attribute="new-system" element="print" type="yes"
value="yes" />
<encoding-date>2020-11-29</encoding-date>
</encoding>
</identification>
<part-list>
<score-part id="P1">
<part-name />
</score-part>
</part-list>
<part id="P1">
<measure number="1">
<direction placement="above">
<direction-type>
<metronome>
<beat-unit>quarter</beat-unit>
<per-minute>80</per-minute>
</metronome>
</direction-type>
<sound tempo="80.00" />
</direction>
<attributes>
<divisions>120</divisions>
<key>
<fifths>1</fifths>
<mode>major</mode>
</key>
<time>
<beats>3</beats>
<beat-type>4</beat-type>
</time>
</attributes>
<harmony>
<root>
<root-step>E</root-step>
</root>
<kind>minor</kind>
</harmony>
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>40</duration>
<voice>1</voice>
<type>eighth</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
<normal-type>quarter</normal-type>
</time-modification>
<beam number="1">begin</beam>
<notations>
<tuplet bracket="yes" type="start" />
</notations>
</note>
<note>
<pitch>
<step>A</step>
<octave>4</octave>
</pitch>
<duration>40</duration>
<voice>1</voice>
<type>eighth</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
<normal-type>quarter</normal-type>
</time-modification>
<beam number="1">end</beam>
</note>
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>80</duration>
<voice>1</voice>
<type>quarter</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
<normal-type>quarter</normal-type>
</time-modification>
</note>
<note>
<pitch>
<step>C</step>
<octave>5</octave>
</pitch>
<duration>80</duration>
<voice>1</voice>
<type>quarter</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
<normal-type>quarter</normal-type>
</time-modification>
<notations>
<tuplet type="stop" />
</notations>
</note>
<harmony>
<root>
<root-step>D</root-step>
</root>
<kind>major</kind>
</harmony>
<note>
<pitch>
<step>A</step>
<octave>4</octave>
</pitch>
<duration>40</duration>
<voice>1</voice>
<type>eighth</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
</time-modification>
<beam number="1">begin</beam>
<notations>
<tuplet bracket="yes" type="start" />
</notations>
</note>
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>40</duration>
<voice>1</voice>
<type>eighth</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
</time-modification>
<beam number="1">continue</beam>
</note>
<note>
<pitch>
<step>F</step>
<alter>1</alter>
<octave>4</octave>
</pitch>
<duration>40</duration>
<voice>1</voice>
<type>eighth</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
</time-modification>
<beam number="1">end</beam>
<notations>
<tuplet type="stop" />
</notations>
</note>
</measure>
<measure number="2">
<note>
<rest measure="yes" />
<duration>360</duration>
<voice>1</voice>
</note>
</measure>
<measure number="3">
<harmony>
<root>
<root-step>A</root-step>
</root>
<kind>minor</kind>
</harmony>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>80</duration>
<voice>1</voice>
<type>quarter</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
<normal-type>quarter</normal-type>
</time-modification>
<notations>
<tuplet bracket="yes" type="start" />
</notations>
</note>
<note>
<pitch>
<step>C</step>
<octave>5</octave>
</pitch>
<duration>120</duration>
<voice>1</voice>
<type>quarter</type>
<dot />
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
<normal-type>quarter</normal-type>
</time-modification>
</note>
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>40</duration>
<voice>1</voice>
<type>eighth</type>
<time-modification>
<actual-notes>3</actual-notes>
<normal-notes>2</normal-notes>
<normal-type>quarter</normal-type>
</time-modification>
<notations>
<tuplet type="stop" />
</notations>
</note>
<harmony>
<root>
<root-step>C</root-step>
</root>
<kind>major</kind>
</harmony>
<note>
<pitch>
<step>A</step>
<octave>4</octave>
</pitch>
<duration>90</duration>
<voice>1</voice>
<type>eighth</type>
<dot />
<beam number="1">begin</beam>
</note>
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>30</duration>
<voice>1</voice>
<type>16th</type>
<beam number="1">end</beam>
</note>
</measure>
</part>
</score-partwise>
---------------------------------
Conversion with xml2pmx version 2020-08-12
xml2pmx PNBar4-7.xml PNBar4-7.pmx
creates the PMX file shown above and prints this output
---------------------------------
This is xml2pmx, version 2020-08-12.
Copyright (C) 2015-20 Dieter Gloetzel, Mike Spivey and Bob Tennent
License GNU GPL version 3 or later <http://gnu.org/licences/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
PNBar4-7.xml
PNBar4-7.pmx
soutPNBar4-7.txt
Linux Binary XML2PMX Copyright 2016/2017 Dieter Gloetzel
This is XML2PMX.EXE Version 15.
<?xmlversion='1.0'encoding='utf-8'?>
<!DOCTYPEscore-partwisePUBLIC"-//Recordare//DTDMusicXML3.0Partwise//EN""http://www.musicxml.org/dtds/partwise.dtd">
part : number of staves : 1 1
maxpart 1
maxmeasure 3
maximum directionnumber : 1
Intermediate output file: PNBar4-7.pmxprep created.
3:Allstaves done!
equalkeys = TRUE 1
4:ControlProp done!
Enrich
Enrich2
5: Enrich done!
6 : Voicing done!
*************** voices per measure and instrument (part/staff)
PROCEDURE Pickup :
13 : 1 : 0 0 1 0 0 0 0- 0 0 0
0 0 <measure>number=1|
Duration of 1st measure : 360 beats, beattype and divisions : 3 4 120 Pickup : 0 360 7. Pickup 0 7: Pickup done! pickup : 0 pickup-real : 0control data : i, part, staff, sign, line, clef special clef 0 1 1
unknown Clef symbol t 0t| nach ControlData 8:ControlData done! 9: progress done!EnumerateTags : part, staff, voice, measure, note, tag, names/values, between
metronome : \metron{\qu}{80}
10: EnumerateTags done!
nach enumerate
list all direction-Types
vor WritePMX
Divisions :
1 120
11: nach WritePMX
intermediate data deleted
PMX registered
PNBar4-7.pdf
Description: Adobe PDF document
------------------------------- [email protected] mailing list If you want to unsubscribe or look at the archives, go to https://tug.org/mailman/listinfo/tex-music

