4 @chapter Converting to LilyPond format.
19 Midi2ly translates a MIDI input file to a LilyPond source file. MIDI
20 (Music Instrument Digital Interface) is a standard for digital
21 instruments: it specifies cabling, a serial protocol and a file format.
23 The MIDI file format is a de facto standard format for exporting music
24 from other programs, so this capability may come in useful when you want
25 to import files from a program that has no converter for its native
28 It is possible to record a MIDI file using a digital keyboard, and then
29 convert it to @file{.ly}. However, human players are not rhythmically
30 exact enough to make a MIDI to LY conversion trivial. midi2ly tries to
31 compensate for these timing errors, but is not very good at this. It is
32 therefore not recommended to use midi2ly for human-generated midi
33 files. Correcting the quantization mistakes of the human player takes a
36 Hackers who know about signal processing are invited to write a more
37 robust midi2ly. midi2ly is written in Python, using a module written in
38 C to parse the MIDI files.
41 @subsection Invoking midi2ly
44 midi2ly [@var{OPTION}]@dots{} @var{MIDI-FILE}
47 @unnumberedsubsec Options
50 @item -b, --no-quantify,
51 Write exact durations, e.g.: `a4*385/384'.
53 Print lots of debugging stuff.
55 Show a summary of usage.
56 @item -I, --include=@file{DIR},
57 Add DIR to search path.
58 @item -k, --key=ACC[:MINOR],
59 Set default key. ACC > 0 sets number of sharps; ACC < 0 sets number
60 of flats. A minor key is indicated by ":1".
62 Assume no plets or double dots, assume smallest (reciprocal) duration 16.
63 @item -o, --output=@file{FILE},
64 Set @file{FILE} as default output.
69 @item -s, --smallest=N,
70 Assume no shorter (reciprocal) durations than N.
74 Show the warranty with which midi2ly comes. (It comes with @strong{NO WARRANTY}!)
75 @item -x, --no-double-dots,
76 Assume no double dotted notes.
84 ETF (Enigma Transport Format) is a format used by Coda Music
85 Technology's Finale product. This program will convert part of an ETF
86 file to a ready-to-use LilyPond file.
88 @subsection Invoking etf2ly
92 etf2ly [@var{OPTION}]@dots{} @var{ETF-FILE}
95 Convert ETF to LilyPond.
97 @unnumberedsubsec Options
101 @item -o,--output=FILE
102 set output filename to FILE
110 The list of articulation scripts is incomplete. Empty measures confuse
117 ABC is a fairly simple ASCII based format. It is described at
118 @uref{http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt}.
120 @subsection Invoking abc2ly
123 abc2ly [@var{OPTION}]@dots{} @var{ABC-FILE}
126 Convert ABC to LilyPond.
128 There is a rudimentary facility for adding lilypond code to the ABC
129 source file. If you say:
132 %%LY voices \property Voice.noAutoBeaming=##t
135 This will cause the text following the keyword ``voices'' to be inserted
136 into the current voice of the lilypond output file.
141 %%LY slyrics more words
144 will cause the text following the ``slyrics'' keyword to be inserted
145 into the current line of lyrics.
147 @unnumberedsubsec Options
151 @item -o,--output=FILE
152 set output filename to FILE
159 The ABC standard is not very "standard". For extended features
160 (eg. polyphonic music) different conventions exist.
162 Multiple tunes in one file cannot be converted.
164 ABC synchronizes words and notes at the beginning of a line; abc2ly does
167 abc2ly ignores the ABC beaming.
172 PMX is a MusiXTeX preprocessor written by Don Simons, see
173 @uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
176 @subsection Invoking pmx2ly
179 pmx2ly [@var{OPTION}]@dots{} @var{PMX-FILE}
182 Convert PMX to LilyPond.
184 @unnumberedsubsec Options
189 @item -o,--output=FILE
190 set output filename to FILE
199 Musedata (@uref{http://www.musedata.org/}) is an electronic library of
200 classical music scores, currently comprising about 800 composition
201 dating from 1700 to 1825. The music is encoded in so-called Musedata
203 (@uref{http://www.ccarh.org/publications/books/beyondmidi/online/musedata}).
204 musedata2ly converts a set of musedata files to one .ly file, and will
205 include a @code{\header} field if a @file{.ref} file is supplied
207 @subsection Invoking musedata2ly
210 musedata2ly [@var{OPTION}]@dots{} @var{MUSEDATA-FILE}
213 Convert Musedata to LilyPond.
215 @unnumberedsubsec Options
220 @item -o,--output=@var{file}
221 set output filename to @var{file}
224 @item -r,--ref=@var{reffile}
225 read background information from ref-file
233 MUP (Music Publisher) is a shareware music notation program by Arkkra
234 Enterprises. It is also the name of the input format. Mup2ly will
235 convert part of a Mup file to a ready-to-use LilyPond file.
237 @subsection Invoking mup2ly
240 mup2ly [@var{OPTION}]@dots{} @var{MUP-FILE}
243 Convert Mup to LilyPond.
245 @unnumberedsubsec Options
249 show what constructs are not converted, but skipped.
250 @item D, --define=@var{NAME}[=@code{EXP}]
251 define macro @var{NAME} with opt expansion @code{EXP}
252 @item -E,--pre-process
253 only run the pre-processor
256 @item -o,--output=FILE
257 write output to @var{FILE}
261 print warranty and copyright. Mup2ly comes with absolutely @strong{NO WARRANTY}.
267 Currently, only plain notes (pitches, durations), voices and staves are