3 @node Importing other formats
4 @chapter Importing other formats
11 * Importing Musedata ::
16 @section Importing MIDI
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.
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
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.
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.
39 It is invoked as follows:
41 midi2ly [@var{option}]@dots{} @var{midi-file}
44 The following options are supported by midi2ly:
47 @item -b, --no-quantify,
48 Write exact durations, e.g.: `a4*385/384'.
50 Print lots of debugging stuff.
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
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=@var{file},
62 Set @var{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 @node Importing Finale
79 @section Importing Finale
84 @cindex Coda Technology
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.
90 It is invoked as follows:
92 etf2ly [@var{option}]@dots{} @var{etf-file}
95 The following options are supported by etf2ly.
99 @item -o,--output=FILE
100 set output filename to FILE
108 The list of articulation scripts is incomplete. Empty measures confuse
113 @section Importing ABC
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:
122 abc2ly [@var{option}]@dots{} @var{abc-file}
125 The following options are supported by abc2ly:
130 @item -o,--output=@var{file}
131 set output filename to @var{file}.
133 print version information.
136 There is a rudimentary facility for adding lilypond code to the ABC
137 source file. If you say:
140 %%LY voices \property Voice.autoBeaming=##f
143 This will cause the text following the keyword ``voices'' to be inserted
144 into the current voice of the lilypond output file.
149 %%LY slyrics more words
152 will cause the text following the ``slyrics'' keyword to be inserted
153 into the current line of lyrics.
158 The ABC standard is not very ``standard''. For extended features
159 (eg. polyphonic music) different conventions exist.
161 Multiple tunes in one file cannot be converted.
163 ABC synchronizes words and notes at the beginning of a line; abc2ly does
166 abc2ly ignores the ABC beaming.
169 @section Importing PMX
171 PMX is a MusiXTeX preprocessor written by Don Simons. More information
172 on PMX is available from the following site:
175 @uref{http://icking-music-archive.sunsite.dk/Misc/Music/musixtex/software/pmx/}.
182 pmx2ly converts from PMX to LilyPond input. The program is invoked as
186 pmx2ly [@var{option}]@dots{} @var{pmx-file}
189 The following options are supported by pmx2ly:
194 @item -o,--output=FILE
195 set output filename to FILE
201 @node Importing Musedata
202 @section Importing Musedata
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:
215 musedata2ly [@var{option}]@dots{} @var{musedata-files}
218 The following options are supported by musedata2ly:
223 @item -o,--output=@var{file}
224 set output filename to @var{file}
227 @item -r,--ref=@var{reffile}
228 read background information from ref-file
234 musedata2ly converts only a small subset musedata.
237 @section Importing MUP
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
244 @cindex Music Publisher
249 mup2ly [@var{option}]@dots{} @var{mup-file}
252 The following options are supported by mup2ly:
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
263 @item -o,--output=@var{file}
264 write output to @var{file}
268 print warranty and copyright.
274 Currently, only plain notes (pitches, durations), voices and staves are