]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/converters.itely
b6d09011ad02c343ddfc56887ee214eaa4bb468e
[lilypond.git] / Documentation / user / converters.itely
1 @c -*-texinfo-*-
2
3 @node Conversion tools
4 @chapter Converting to LilyPond format.
5
6
7 @menu
8 * midi2ly::                     
9 * etf2ly::                      
10 * abc2ly::                      
11 * pmx2ly::                      
12 * musedata2ly::                 
13 * mup2ly::                      
14 @end menu
15
16 @node midi2ly
17 @section midi2ly
18
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.
22
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
26 format.
27
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
34 lot of time.
35
36 Hackers who know about signal processing are invited to write  a more
37 robust midi2ly.
38
39 @subsection Invoking midi2ly
40
41 @example
42         midi2ly [@var{OPTION}]@dots{} @var{MIDI-FILE}
43 @end example
44
45 @unnumberedsubsec Options
46
47 @table @code
48 @item -b, --no-quantify,
49     Write exact durations, e.g.: `a4*385/384'.
50 @item -D, --debug,
51     Print lots of debugging stuff.
52 @item -h, --help,
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".
59 @item -n, --no-silly,
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.
63 @item -p, --no-plets,
64     Assume no plets.
65 @item -q, --quiet,
66     Be quiet.
67 @item -s, --smallest=N,
68     Assume no shorter (reciprocal) durations than N.
69 @item -v, --verbose,
70     Be verbose.
71 @item -w, --warranty,
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.
75 @end table
76
77
78 Report bugs to @email{bug-gnu-music@@gnu.org}.
79
80
81 Written by @email{Jan Nieuwenhuizen, janneke@@gnu.org}.
82
83
84 @node etf2ly
85 @section etf2ly
86
87
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.
91
92 @subsection Invoking etf2ly
93 Usage:
94
95 @example
96         etf2ly [@var{OPTION}]@dots{} @var{ETF-FILE}
97 @end example
98
99 Convert ETF to LilyPond.
100
101 @unnumberedsubsec Options
102 @table @code
103 @item   -h,--help
104 this help
105 @item  -o,--output=FILE
106 set output filename to FILE
107 @item  -v,--version
108 version information
109 @end table
110
111
112 @refbugs
113
114 Known: articulation scripts are buggy.  Empty measures confuse etf2ly.
115
116 Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
117
118 Report bugs to @email{bug-gnu-music@@gnu.org}.
119
120 @node abc2ly
121 @section abc2ly
122
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}.
125
126 @subsection Invoking abc2ly
127
128 @example
129         abc2ly [@var{OPTION}]@dots{} @var{ABC-FILE}
130 @end example
131
132 Convert ABC to LilyPond.
133
134 There is a rudimentary facility for adding lilypond code to the ABC
135 source file.  If you say:
136
137 @example
138         %%LY voices \property Voice.noAutoBeaming=##t
139 @end example
140
141 This will cause the text following the keyword ``voices'' to be inserted 
142 into the current voice of the lilypond output file.
143
144 Similarly:
145
146 @example
147         %%LY slyrics more words
148 @end example
149
150 will cause the text following the ``slyrics'' keyword to be inserted
151 into the current line of lyrics.
152
153 @unnumberedsubsec Options
154 @table @code
155 @item   -h,--help
156 this help
157 @item  -o,--output=FILE
158 set output filename to FILE
159 @item  -v,--version
160 version information
161 @end table
162
163 @refbugs
164
165 The ABC standard is not very "standard". For extended features
166 (eg. polyphonic music) different conventions exist. 
167
168 Multiple tunes in one file cannot be converted.
169
170 ABC synchronizes words and notes at the beginning of a line; abc2ly does 
171 not.
172
173 abc2ly ignores the ABC beaming.
174
175 Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
176 @c How about Laura?   /MB
177
178 Report bugs to @email{bug-gnu-music@@gnu.org}.
179
180 @node pmx2ly
181 @section pmx2ly
182
183 PMX is a MusiXTeX preprocessor written by Don Simons, see
184 @uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
185
186 Report bugs to @email{bug-gnu-music@@gnu.org}.
187
188 @subsection Invoking pmx2ly
189
190 @example
191         pmx2ly [@var{OPTION}]@dots{} @var{PMX-FILE}
192 @end example
193
194 Convert PMX to LilyPond.
195
196 @unnumberedsubsec Options
197
198 @table @code
199 @item   -h,--help
200 this help
201 @item  -o,--output=FILE
202 set output filename to FILE
203 @item  -v,--version
204 version information
205 @end table
206
207 Report bugs to @email{bug-gnu-music@@gnu.org}.
208
209 Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
210
211
212 @node musedata2ly
213 @section musedata2ly
214
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
218 format
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
222
223 @subsection Invoking musedata2ly
224
225 @example
226         musedata2ly [@var{OPTION}]@dots{} @var{MUSEDATA-FILE}
227 @end example
228
229 Convert Musedata to LilyPond.
230
231 @unnumberedsubsec Options
232
233 @table @code
234 @item   -h,--help
235 print help
236 @item  -o,--output=@var{file}
237 set output filename to @var{file}
238 @item  -v,--version
239 version information
240 @item  -r,--ref=@var{reffile}
241  read background information from ref-file
242 @var{REFFILE}
243 @end table
244
245 Report bugs to @email{bug-gnu-music@@gnu.org}.
246
247 Written by @email{Han-Wen Nienhuys,hanwen@@cs.uu.nl}.
248
249
250 @node mup2ly
251 @section mup2ly
252
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.
256
257 @subsection Invoking mup2ly
258
259 @example
260         mup2ly [@var{OPTION}]@dots{} @var{MUP-FILE}
261 @end example
262
263 Convert Mup to LilyPond.
264
265 @unnumberedsubsec Options
266
267 @table @code
268 @item   -d,--debug
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
274 @item   -h,--help
275 print help
276 @item  -o,--output=FILE
277 write output to @var{FILE}
278 @item  -v,--version
279 version information
280 @item  -w,--warranty
281 print warranty and copyright.  Mup2ly comes with absolutely @strong{NO WARRANTY}.
282 @end table
283
284
285 @refbugs
286
287 Currently, only plain notes (pitches, durations), voices and staffs are
288 converted.
289
290 Written by @email{Jan Nieuwenhuizen,janneke@@gnu.org}, based on pmx2ly.
291
292 Report bugs to @email{bug-gnu-music@@gnu.org}.
293
294
295