]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/converters.itely
man fixes
[lilypond.git] / Documentation / user / converters.itely
1 @c -*-texinfo-*-
2
3 @node Importing other formats
4 @chapter Importing other formats
5
6 @menu
7 * Importing MIDI::              
8 * Importing Finale ::           
9 * Importing ABC::               
10 * Importing PMX::               
11 * Importing Musedata ::         
12 * Importing MUP::               
13 @end menu
14
15 @node  Importing MIDI
16 @section Importing MIDI
17
18 @cindex MIDI
19
20 Midi2ly translates a MIDI input file to a LilyPond source file. MIDI
21 (Music Instrument Digital Interface) is a standard for digital
22 instruments: it specifies cabling, a serial protocol and a file format.
23
24 The MIDI file format is a de facto standard format for exporting music
25 from other programs, so this capability may come in useful when you want
26 to import files from a program that has no converter for its native
27 format.
28
29 It is possible to record a MIDI file using a digital keyboard, and then
30 convert it to @file{.ly}. However, human players are not rhythmically
31 exact enough to make a MIDI to LY conversion trivial.  midi2ly tries to
32 compensate for these timing errors, but is not very good at this. It is
33 therefore not recommended to use midi2ly for human-generated midi files.
34
35 Hackers who know about signal processing are invited to write a more
36 robust midi2ly.  midi2ly is written in Python, using a module written in
37 C to parse the MIDI files.
38
39 It is invoked as follows:
40 @example
41         midi2ly [@var{option}]@dots{} @var{midi-file}
42 @end example
43
44 The following options are supported by midi2ly:
45
46 @table @code
47 @item -b, --no-quantify,
48     Write exact durations, e.g.: `a4*385/384'.
49 @item -D, --debug,
50     Print lots of debugging stuff.
51 @item -h, --help,
52     Show a summary of usage.
53 @item -I, --include=@var{dir},
54     Add @var{dir} to search path.
55 @item -k, --key=@var{acc}[:@var{minor}],
56     Set default key.  @var{acc} > 0 sets number of sharps; @var{acc} < 0
57 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=@var{file},
62     Set @var{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 @node Importing Finale 
79 @section Importing Finale
80
81 @cindex ETF
82 @cindex enigma
83 @cindex Finale
84 @cindex Coda Technology
85
86 ETF (Enigma Transport Format) is a format used by Coda Music
87 Technology's Finale product. etf2ly will convert part of an ETF
88 file to a ready-to-use LilyPond file.
89
90 It is invoked as follows:
91 @example
92         etf2ly [@var{option}]@dots{} @var{etf-file}
93 @end example
94
95 The following options are supported by etf2ly.
96 @table @code
97 @item   -h,--help
98 this help
99 @item  -o,--output=FILE
100 set output filename to FILE
101 @item  -v,--version
102 version information
103 @end table
104
105
106 @refbugs
107
108 The list of articulation scripts is incomplete.  Empty measures confuse
109 etf2ly.
110
111
112 @node Importing ABC
113 @section Importing ABC
114
115 @cindex ABC
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}. abc2ly
119 translates from ABC to LilyPond. It is invoked as follows:
120
121 @example
122         abc2ly [@var{option}]@dots{} @var{abc-file}
123 @end example
124
125 The following options are supported by abc2ly:
126
127 @table @code
128 @item   -h,--help
129 this help
130 @item  -o,--output=@var{file}
131 set output filename to @var{file}.
132 @item  -v,--version
133 print version information.
134 @end table
135
136 There is a rudimentary facility for adding lilypond code to the ABC
137 source file.  If you say:
138
139 @example
140         %%LY voices \property Voice.autoBeaming=##f
141 @end example
142
143 This will cause the text following the keyword ``voices'' to be inserted 
144 into the current voice of the lilypond output file.
145
146 Similarly:
147
148 @example
149         %%LY slyrics more words
150 @end example
151
152 will cause the text following the ``slyrics'' keyword to be inserted
153 into the current line of lyrics.
154
155
156 @refbugs
157
158 The ABC standard is not very ``standard''. For extended features
159 (eg. polyphonic music) different conventions exist. 
160
161 Multiple tunes in one file cannot be converted.
162
163 ABC synchronizes words and notes at the beginning of a line; abc2ly does 
164 not.
165
166 abc2ly ignores the ABC beaming.
167
168 @node Importing PMX
169 @section Importing PMX
170
171 PMX is a MusiXTeX preprocessor written by Don Simons. More information
172 on PMX is available from the following site:
173
174 @quotation
175 @uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
176 @end quotation
177
178 @cindex PMX
179 @cindex MusiXTeX
180 @cindex Simons, Don
181
182 pmx2ly converts from PMX to LilyPond input. The program is invoked as
183 follows:
184
185 @example
186         pmx2ly [@var{option}]@dots{} @var{pmx-file}
187 @end example
188
189 The following options are supported by pmx2ly:
190
191 @table @code
192 @item   -h,--help
193 this help
194 @item  -o,--output=FILE
195 set output filename to FILE
196 @item  -v,--version
197 version information
198 @end table
199
200
201 @node Importing Musedata 
202 @section Importing Musedata
203
204 @cindex Musedata
205 @cindex CCARH
206
207 Musedata (@uref{http://www.musedata.org/}) is an electronic library of
208 classical music scores, currently comprising about 800 composition
209 dating from 1700 to 1825.  The music is encoded in so-called Musedata
210 format.  musedata2ly converts a set of musedata files to one .ly file,
211 and will include a @code{\header} field if a @file{.ref} file is
212 supplied. It is invoked as follows:
213
214 @example
215         musedata2ly [@var{option}]@dots{} @var{musedata-files}
216 @end example
217
218 The following options are supported by musedata2ly:
219
220 @table @code
221 @item   -h,--help
222 print help
223 @item  -o,--output=@var{file}
224 set output filename to @var{file}
225 @item  -v,--version
226 version information
227 @item  -r,--ref=@var{reffile}
228  read background information from ref-file
229 @var{reffile}
230 @end table
231
232 @refbugs
233
234 musedata2ly converts only a small subset musedata. 
235
236 @node Importing MUP
237 @section Importing MUP
238
239 MUP (Music Publisher) is a shareware music notation program by Arkkra
240 Enterprises.  It is also the name of the input format.  Mup2ly will
241 convert part of a Mup file to a ready-to-use LilyPond file. Mup2ly is
242 invoked as follows:
243
244 @cindex Music Publisher
245 @cindex MUP
246 @cindex Arkkra
247
248 @example
249         mup2ly [@var{option}]@dots{} @var{mup-file}
250 @end example
251
252 The following options are supported by mup2ly:
253
254 @table @code
255 @item   -d,--debug
256 show what constructs are not converted, but skipped.
257 @item D, --define=@var{name}[=@code{exp}]
258 define macro @var{name} with opt expansion @code{exp}
259 @item   -E,--pre-process
260 only run the pre-processor
261 @item   -h,--help
262 print help
263 @item  -o,--output=@var{file}
264 write output to @var{file}
265 @item  -v,--version
266 version information
267 @item  -w,--warranty
268 print warranty and copyright. 
269 @end table
270
271
272 @refbugs
273
274 Currently, only plain notes (pitches, durations), voices and staves are
275 converted.
276
277
278