]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/converters.itely
release: 1.5.23
[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.  midi2ly is written in Python, using a module written in
38 C to parse the MIDI files.
39
40
41 @subsection Invoking midi2ly
42
43 @example
44         midi2ly [@var{OPTION}]@dots{} @var{MIDI-FILE}
45 @end example
46
47 @unnumberedsubsec Options
48
49 @table @code
50 @item -b, --no-quantify,
51     Write exact durations, e.g.: `a4*385/384'.
52 @item -D, --debug,
53     Print lots of debugging stuff.
54 @item -h, --help,
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".
61 @item -n, --no-silly,
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.
65 @item -p, --no-plets,
66     Assume no plets.
67 @item -q, --quiet,
68     Be quiet.
69 @item -s, --smallest=N,
70     Assume no shorter (reciprocal) durations than N.
71 @item -v, --verbose,
72     Be verbose.
73 @item -w, --warranty,
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.
77 @end table
78
79
80 @node etf2ly
81 @section etf2ly
82
83
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.
87
88 @subsection Invoking etf2ly
89 Usage:
90
91 @example
92         etf2ly [@var{OPTION}]@dots{} @var{ETF-FILE}
93 @end example
94
95 Convert ETF to LilyPond.
96
97 @unnumberedsubsec Options
98 @table @code
99 @item   -h,--help
100 this help
101 @item  -o,--output=FILE
102 set output filename to FILE
103 @item  -v,--version
104 version information
105 @end table
106
107
108 @refbugs
109
110 The list of articulation scripts is incomplete.  Empty measures confuse
111 etf2ly.
112
113
114 @node abc2ly
115 @section abc2ly
116
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}.
119
120 @subsection Invoking abc2ly
121
122 @example
123         abc2ly [@var{OPTION}]@dots{} @var{ABC-FILE}
124 @end example
125
126 Convert ABC to LilyPond.
127
128 There is a rudimentary facility for adding lilypond code to the ABC
129 source file.  If you say:
130
131 @example
132         %%LY voices \property Voice.noAutoBeaming=##t
133 @end example
134
135 This will cause the text following the keyword ``voices'' to be inserted 
136 into the current voice of the lilypond output file.
137
138 Similarly:
139
140 @example
141         %%LY slyrics more words
142 @end example
143
144 will cause the text following the ``slyrics'' keyword to be inserted
145 into the current line of lyrics.
146
147 @unnumberedsubsec Options
148 @table @code
149 @item   -h,--help
150 this help
151 @item  -o,--output=FILE
152 set output filename to FILE
153 @item  -v,--version
154 version information
155 @end table
156
157 @refbugs
158
159 The ABC standard is not very "standard". For extended features
160 (eg. polyphonic music) different conventions exist. 
161
162 Multiple tunes in one file cannot be converted.
163
164 ABC synchronizes words and notes at the beginning of a line; abc2ly does 
165 not.
166
167 abc2ly ignores the ABC beaming.
168
169 @node pmx2ly
170 @section pmx2ly
171
172 PMX is a MusiXTeX preprocessor written by Don Simons, see
173 @uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
174
175
176 @subsection Invoking pmx2ly
177
178 @example
179         pmx2ly [@var{OPTION}]@dots{} @var{PMX-FILE}
180 @end example
181
182 Convert PMX to LilyPond.
183
184 @unnumberedsubsec Options
185
186 @table @code
187 @item   -h,--help
188 this help
189 @item  -o,--output=FILE
190 set output filename to FILE
191 @item  -v,--version
192 version information
193 @end table
194
195
196 @node musedata2ly
197 @section musedata2ly
198
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
202 format
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
206
207 @subsection Invoking musedata2ly
208
209 @example
210         musedata2ly [@var{OPTION}]@dots{} @var{MUSEDATA-FILE}
211 @end example
212
213 Convert Musedata to LilyPond.
214
215 @unnumberedsubsec Options
216
217 @table @code
218 @item   -h,--help
219 print help
220 @item  -o,--output=@var{file}
221 set output filename to @var{file}
222 @item  -v,--version
223 version information
224 @item  -r,--ref=@var{reffile}
225  read background information from ref-file
226 @var{REFFILE}
227 @end table
228
229
230 @node mup2ly
231 @section mup2ly
232
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.
236
237 @subsection Invoking mup2ly
238
239 @example
240         mup2ly [@var{OPTION}]@dots{} @var{MUP-FILE}
241 @end example
242
243 Convert Mup to LilyPond.
244
245 @unnumberedsubsec Options
246
247 @table @code
248 @item   -d,--debug
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
254 @item   -h,--help
255 print help
256 @item  -o,--output=FILE
257 write output to @var{FILE}
258 @item  -v,--version
259 version information
260 @item  -w,--warranty
261 print warranty and copyright.  Mup2ly comes with absolutely @strong{NO WARRANTY}.
262 @end table
263
264
265 @refbugs
266
267 Currently, only plain notes (pitches, durations), voices and staves are
268 converted.
269
270
271