summaryrefslogtreecommitdiff
path: root/support/xml2pmx/doc/Readme.XML2PMX
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-07-01 03:03:30 +0000
committerNorbert Preining <norbert@preining.info>2020-07-01 03:03:30 +0000
commitd79a721c345c9a2ced6c0640e88c10cc3378c1f0 (patch)
tree400d84326bfe896b980146734c9650006b72e550 /support/xml2pmx/doc/Readme.XML2PMX
parent70c32b2936f7dac3a0898faafe7c554c3bedeae9 (diff)
CTAN sync 202007010303
Diffstat (limited to 'support/xml2pmx/doc/Readme.XML2PMX')
-rw-r--r--support/xml2pmx/doc/Readme.XML2PMX135
1 files changed, 135 insertions, 0 deletions
diff --git a/support/xml2pmx/doc/Readme.XML2PMX b/support/xml2pmx/doc/Readme.XML2PMX
new file mode 100644
index 0000000000..04165c2269
--- /dev/null
+++ b/support/xml2pmx/doc/Readme.XML2PMX
@@ -0,0 +1,135 @@
+(***************************************************************************)
+(****************Copyright 2015,2016,2017 Dieter Gloetzel ******************)
+(***************************************************************************)
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+1. Introduction
+ "MusicXML", ( http://www.musicxml.com/ ) originally developed by Recordare INC
+ and now owned by Finale ( https://www.finalemusic.com/ ), is the leading
+ musical data exchange format. XML2PMX provides an import facility for
+ sheet music stored in MusicXML format to PMX and MusiXTeX, the leading free
+ software for musical typesetting. Thus we are now able to import published MusicXML sources
+ as well as MusicXML sources created by OCR scanning,
+ e.g. with Sharpeye of VISIV ( http://www.visiv.co.uk ).
+
+2. PMX
+ developed by Don Simons (dsimons(at)roadrunner(dot)com) is an easy to use,
+ yet powerful preprocessor for the musical typesetting system MusiXTeX.
+ http://icking-music-archive.org/software/htdocs/index.html
+ An excellent introduction to using PMX is
+ http://icking-music-archive.org/software/pmx/pmxccn.pdf
+
+3. XML2PMX
+ has been developed by the author with "Oberon Plugin for Windows
+ Version 2.5" of ETHZ Zürich on Windows 10.
+ https://github.com/Spirit-of-Oberon/ETH-Oberon-PlugIn-Win32
+
+ XML2PMX is available as Windows-EXE (32 Bit) and as Linux binary (32 Bit).
+ XML2PMX requires a TeX, MusiXTeX and PMX installation.
+ For Unix please see: https://tug.org/texlive/
+ For Windows please see: https://miktex.org/2.9/setup
+
+4. Coverage of MusicXML
+ The following MusicXML features are detected and translated to PMX:
+ - maximum of 24 staves/voices and 400 measures
+ - two voices per staff
+ - maximum of two staves per instrument
+ - notes and rests up to 64th, including tuplets and grace notes,
+ - maximum of 2 dots
+ - chords, accidentals
+ - some annotations like Fermata, Staccato, Tremolo etc.
+ - ties, slurs and beams
+ - definition of meter, fifths, clefs and their changes on the fly
+ - dynamic marks: hairpins, "ff" etc., piano damping pedal
+ - title and composer, and texts above or below the staff
+ - barlines, repeats, volta
+ - instrument names,
+ - origin of XML file copied to the resulting PMX file
+ - accepts Windows files (records ended by 0DX OAX)
+ as well as Unix files (records ended by 0AX)
+ - resulting PMX-file on Unix has records ended by 0AX.
+ - resulting PMX-file on Windows has records ended by 0DX 0AX.
+
+5. New features:
+ - There is a new command line field "options",
+ which may contain one or several of the five letters "PDVSL"
+ in arbitrary sequence in upper or lower case.
+ - Lyrics are extracted and stored in a separate file (option L=Lyrics)
+ - several options for console output (P=parsed data, D=directions, V=voices, S=statistics,)
+ - automatic detection of pickup
+ - incomplete measures or voices are automatically filled with blind rests
+
+6. Limitations
+ Some more elaborate situations like beams crossing staves or chords crossing staves
+ have not yet been covered.
+
+7. Usage on MS Windows command line:
+ ===================================================================
+ XML2PMX "xml-file with path" "pmx-file with path" "options"
+ ===================================================================
+ The doublequotes are required.
+ "options" contains a sequence (without blanks) of one or several of
+ the letters "p", "d", "v", "s" and "l" .
+ Their meaning is the following:
+ _______________________________________________________________
+ | p | XML parser output; not recommended unless the terminal |
+ | | window process has enough storage |
+ |-------------------------------------------------------------|
+ | d | information on "directions" (dynamical marks etc) |
+ |-------------------------------------------------------------|
+ | v | distribution of voices over instruments and measures |
+ |-------------------------------------------------------------|
+ | s | statistics of MusicXML tags like <note>, <measure> etc|
+ |-------------------------------------------------------------|
+ | l | for extracting lyrics in a separate file |
+ |_____________________________________________________________|
+
+ The generated PMX file will in general be complete and can be processed by "musixtex".
+
+ If not, you can often solve the problem with minor changes in the PMX code.
+
+ After the XML2PMX run you will find intermediate results in the
+ terminal window which may be helpful for debugging.
+
+ Once you have a generated PMX file with all of the notes extracted, the bulk work has been done.
+ It is then easy to improve the results on the PMX side.
+
+8.1 MusicXML test data
+ You will find MusicXML-sources for testing under:
+
+ http://www.musicxml.com/music-in-musicxml/example-set/
+
+ The following pieces from this source (and a few more) have been tested:
+
+ - Schubert: "Ave Maria" (Ellen’s Gesang III), D. 839 "SchbAvMaSample.xml"
+
+ - Beethoven: "An die ferne Geliebte", Op. 98 "BeetAnGeSample.xml"
+
+ - Lee Actor "Prelude to a tragedy": "ActorPreludeSample.xml"
+ sample with 22 instruments and 41 measures
+
+ - Mahler: "Lieder eines fahrenden Gesellen", "MahlFaGe4Sample.xml"
+
+8.2 OCR scanned sheet music
+ The MusicXML results from the tool Sharpeye from VISIV
+ (http://www.visiv.co.uk/) have been tested successfully.
+
+Contact:
+
+ Feel free to contact me at <d.gloetzel(at)web(dot)de>
+ in order to report errors, propose improvements or
+ other comments.
+
+