diff --git a/README.md b/README.md index acbac59..d99b5e4 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ npm run dev [Current ABC standard](https://abcnotation.com/wiki/abc:standard:v2.1) -[ABC quick reference](./ABCquickRefv0_6.pdf) +[ABC quick reference](./misc/ABCquickRefv0_6.pdf) [abc.js](https://github.com/paulrosen/abcjs) diff --git a/ABCquickRefv0_6.pdf b/misc/ABCquickRefv0_6.pdf similarity index 100% rename from ABCquickRefv0_6.pdf rename to misc/ABCquickRefv0_6.pdf diff --git a/abc_standard_v2.1 [abc wiki].mht b/misc/abc_standard_v2.1 [abc wiki].mht similarity index 100% rename from abc_standard_v2.1 [abc wiki].mht rename to misc/abc_standard_v2.1 [abc wiki].mht diff --git a/brisbane-harbor.mp3 b/misc/brisbane-harbor.mp3 similarity index 100% rename from brisbane-harbor.mp3 rename to misc/brisbane-harbor.mp3 diff --git a/misc/xml2abc.html b/misc/xml2abc.html new file mode 100644 index 0000000..a60176c --- /dev/null +++ b/misc/xml2abc.html @@ -0,0 +1,120 @@ + +
+ + + + + + +xml2abc is a command line utility that translates MusicXML into ABC+ notation. +
+Parts of MusicXML that lie beyond the scope of the ABC standard 2.1 are not translated. +For example: specific positioning information, slurs spanning staves. +
+The program translates all examples in the set from MakeMusic. +The translated examples produce reasonable score when typeset with abcm2ps. +In Mandoline, one of the samples, +you can compare the output of xml2abc (via abcm2ps) with that of MuseScore 1.2. +Another example from the set produces this score: Ave_Maria (Schubert). +(see also the generated ABC of Mandoline_abc and Ave_Maria_abc) +
+All non standard extensions of ABC supported by +abc2xml +are also supported by xml2abc. For instance, tablature +and percussion scores can be translated from MusicXML into ABC and back to MusicXML, +without significant loss of information.
+When you have Python installed:
+> python xml2abc.py [-h] [-u] [-m] [-c C] [-d D] [-v V] [-n CPL] [-b BPL] [-o DIR] [-x] [-p FMT] [-t] [-s] file1 [file2 ...]+
When you use the Win32 executable:
+> xml2abc.exe [-h] [-u] [-m] [-c C] [-d D] [-v V] [-n CPL] [-b BPL] [-o DIR] [-x] [-p FMT] [-t] [-s] file1 [file2 ...]+
Translates all .xml files (MusicXML) or compressed .mxl files in the file list +to ABC-notation. Output goes to stdout unless the -o option is given. Wildcards in +file names are expanded. +
+The python script: xml2abc.py-145.zip +(the change log) +
Stand alone win32 executable: +xml2abc.exe-145.zip
+Blechtrottel.net has developed +abc2xmlGUI, +a graphical user interface for both abc2xml and xml2abc.
+
2023-03-29 + + * Revision: 145 + - added function vertaal() as an interface when xml2abc is used as a library + - the info function stores diagnostic messages in a global list and only + writes these messages so stderr when xml2abc is run as main program + +2023-02-18 + + * Revision: 144 + - updated tabDrumDoc.html + - handle start and stop of wavy-line on a single note + - put stop of wavy-line after the ABC note + +2021-04-12 + + * Revision: 143 + - percmap translation changed (option -t) The %%voicemap line now comes + after %%MIDI lines (if any) + +2020-07-23 + + * Revision: 142 + - merged patch from Martin Tarenskeen with corrections for Python3 + +2020-07-19 + + * Revision: 141 + - check for a MuseScore bug, where the xml export file can get lots of + incorrect <backup> or <forward> elements with a duration of less than a 1/64 + note. This happens with 7 and 9 tuples. + - discard the above mentioned incorrect elements + +2020-05-27 + + * Revision: 140 + - layout change + +2019-05-20 + + * Revision: 139 + - generate !trem1!...!trem4! decorations in stead of !-/!...!-////! when + options.t is given. + +2019-05-15 + + * Revision: 138 + - allow for different xml <divisions> values per measure. previously only + one <divisions> value per part was honoured. (reported by David Webber) + +2019-05-11 + + * Revision: 137 + - better parsing of the xml part-list + - better rounding compatibility with javascript version + +2019-05-10 + + * Revision: 136 + - changed license to LGPL + +2019-01-10 + + * Revision: 135 + - new option --stems: translate MusicXML stem elements A change in stem + direction outputs [I:stemdir ..] with the new direction. Changes are + determined per voice. + + * Revision: 134 + - fingering annotations of notes in a chord go before that chord in ABC. + (string annotations in a tab staff remain with the notes in the chord) + - do not reverse order of decorations in addChord + +2019-01-08 + + * Revision: 133 + - bug: a rest in a group of beamed notes would previously stop the beam + - the staff of a direction is the staff to which we allocated the voice in + question (not the staff that follows from xml code). This matters when a + voice migrates to a different staff, while the original staff still has + directions. + +2019-01-01 + + * Revision: 132 + - handle case where <per-minute> element (metronome) does not contain a + number + +2018-12-17 + + * Revision: 131 + - handle case where staff allocation results in staff without voices + +2018-12-14 + + * Revision: 130 + - also remember Music.lastnote when it is a rest (repairs exception when a + slur starts on a rest as first note in the score) + + * Revision: 129 + - bug: writing binary string to stdout in python3 + - always write abc files with utf-8 encoding (drop preference for latin-1) + +2018-12-03 + + * Revision: 128 + - close hanging measure-repeats (started but no stop) + +2018-11-14 + + * Revision: 127 + - delete leading and trailing space from the concatenated <words> text + + * Revision: 126 + - do not skip invisible notes, translate them into invisible rests + +\ No newline at end of file diff --git a/songs/harley-quinn.txt b/songs/harley-quinn.txt new file mode 100644 index 0000000..41d3d36 --- /dev/null +++ b/songs/harley-quinn.txt @@ -0,0 +1,11 @@ +X: 1 +T: Harley Quinn +%%notecolors 1 +%%notelabels 1 +M: 3/4 +K: C +A6 | F6 | A6 | F6 | E6 | D6 | +|: "Am" EAc | ecA | ecA | "Fm" FAc fcA fcA | +"Am" EAc | ecA | ecA | "Fm" FAc fcA fcA | +"Dm" DFA | fcA | fc=A | "E" EGc | ecG | ecG | +"E#" E^GB | eB^G :| "Fm" EAC e2 ACe | [Aa] | \ No newline at end of file diff --git a/songs/leave-her-johnny.txt b/songs/leave-her-johnny.txt index 9387b61..ac8d980 100644 --- a/songs/leave-her-johnny.txt +++ b/songs/leave-her-johnny.txt @@ -31,4 +31,4 @@ w: Leave her John-ny leave her Oh _ leave her, John-ny leave _ her For the w: 12 12 12 13 2 12 1 0 2 2 2 12 2 12 2 1 0 "F"a2 a2 "C"g2 (ee) | "G"f2 f2 "C"e2 (cd) | e3 e e3 c | "G7"d2 "C"c6 | w: voyage is long and the winds don't blow and it's time for us to leave her -w: 2 2 12 2 2 0 0 2 13 12 2 2 2 13 12 13 \ No newline at end of file +w: 2 2 12 2 2 0 0 2 13 12 2 2 2 13 12 13