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
39 @subsection Invoking midi2ly
42 midi2ly [@var{OPTION}]@dots{} @var{MIDI-FILE}
45 @unnumberedsubsec Options
48 @item -b, --no-quantify,
49 Write exact durations, e.g.: `a4*385/384'.
51 Print lots of debugging stuff.
53 Show a summary of usage.
54 @item -I, --include=@file{DIR},
55 Add DIR to search path.
56 @item -k, --key=ACC[:MINOR],
57 Set default key. ACC > 0 sets number of sharps; ACC < 0 sets number
58 of flats. A minor key is indicated by ":1".
60 Assume no plets or double dots, assume smallest (reciprocal) duration 16.
61 @item -o, --output=@file{FILE},
62 Set @file{FILE} as default output.
67 @item -s, --smallest=N,
68 Assume no shorter (reciprocal) durations than N.
72 Show the warranty with which midi2ly comes. (It comes with @strong{NO WARRANTY}!)
73 @item -x, --no-double-dots,
74 Assume no double dotted notes.
78 Report bugs to @email{bug-gnu-music@@gnu.org}.
81 Written by @email{Jan Nieuwenhuizen, janneke@@gnu.org}.
88 ETF (Enigma Transport Format) is a format used by Coda Music
89 Technology's Finale product. This program will convert part of an ETF
90 file to a ready-to-use LilyPond file.
92 @subsection Invoking etf2ly
96 etf2ly [@var{OPTION}]@dots{} @var{ETF-FILE}
99 Convert ETF to LilyPond.
101 @unnumberedsubsec Options
105 @item -o,--output=FILE
106 set output filename to FILE
114 Known: articulation scripts are buggy. Empty measures confuse etf2ly.
116 Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
118 Report bugs to @email{bug-gnu-music@@gnu.org}.
123 ABC is a fairly simple ASCII based format. It is described at
124 @uref{http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt}.
126 @subsection Invoking abc2ly
129 abc2ly [@var{OPTION}]@dots{} @var{ABC-FILE}
132 Convert ABC to LilyPond.
134 There is a rudimentary facility for adding lilypond code to the ABC
135 source file. If you say:
138 %%LY voices \property Voice.noAutoBeaming=##t
141 This will cause the text following the keyword ``voices'' to be inserted
142 into the current voice of the lilypond output file.
147 %%LY slyrics more words
150 will cause the text following the ``slyrics'' keyword to be inserted
151 into the current line of lyrics.
153 @unnumberedsubsec Options
157 @item -o,--output=FILE
158 set output filename to FILE
165 The ABC standard is not very "standard". For extended features
166 (eg. polyphonic music) different conventions exist.
168 Multiple tunes in one file cannot be converted.
170 ABC synchronizes words and notes at the beginning of a line; abc2ly does
173 abc2ly ignores the ABC beaming.
175 Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
176 @c How about Laura? /MB
178 Report bugs to @email{bug-gnu-music@@gnu.org}.
183 PMX is a Musixtex preprocessor written by Don Simons, see
184 @uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
186 Report bugs to @email{bug-gnu-music@@gnu.org}.
188 @subsection Invoking pmx2ly
191 pmx2ly [@var{OPTION}]@dots{} @var{PMX-FILE}
194 Convert PMX to LilyPond.
196 @unnumberedsubsec Options
201 @item -o,--output=FILE
202 set output filename to FILE
207 Report bugs to @email{bug-gnu-music@@gnu.org}.
209 Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
215 Musedata (@uref{http://www.musedata.org/}) is an electronic library of
216 classical music scores, currently comprising about 800 composition
217 dating from 1700 to 1825. The music is encoded in so-called Musedata
219 (@uref{http://www.ccarh.org/publications/books/beyondmidi/online/musedata}).
220 musedata2ly converts a set of musedata files to one .ly file, and will
221 include a @code{\header} field if a @file{.ref} file is supplied
223 @subsection Invoking musedata2ly
226 musedata2ly [@var{OPTION}]@dots{} @var{MUSEDATA-FILE}
229 Convert Musedata to LilyPond.
231 @unnumberedsubsec Options
236 @item -o,--output=@var{file}
237 set output filename to @var{file}
240 @item -r,--ref=@var{reffile}
241 read background information from ref-file
245 Report bugs to @email{bug-gnu-music@@gnu.org}.
247 Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
253 MUP (Music Publisher) is a shareware music notation program by Arkkra
254 Enterprises. It is also the name of the input format. Mup2ly will
255 convert part of a Mup file to a ready-to-use LilyPond file.
257 @subsection Invoking mup2ly
260 mup2ly [@var{OPTION}]@dots{} @var{MUP-FILE}
263 Convert Mup to LilyPond.
265 @unnumberedsubsec Options
269 show what constructs are not converted, but skipped.
270 @item D, --define=@var{NAME}[=@code{EXP}]
271 define macro @var{NAME} with opt expansion @code{EXP}
272 @item -E,--pre-process
273 only run the pre-processor
276 @item -o,--output=FILE
277 write output to @var{FILE}
281 print warranty and copyright. Mup2ly comes with absolutely @strong{NO WARRANTY}.
287 Currently, only plain notes (pitches, durations), voices and staffs are
290 Written by @email{Jan Nieuwenhuizen,janneke@@gnu.org}, based on pmx2ly.
292 Report bugs to @email{bug-gnu-music@@gnu.org}.