@c -*- coding: utf-8; mode: texinfo; -*-
-@c This file is part of lilypond.tely
+@c This file is part of lilypond-program.tely
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
version that you are working on. See TRANSLATION for details.
@end ignore
+@c \version "2.12.0"
+
@node Converting from other formats
@chapter Converting from other formats
sequencers and XML converters. Refer to the
@uref{http://@/lilypond@/.org,website} for more details.
-These are separate programs from lilypond itself, and are run
-on the command-line. By @q{command-line}, we mean the command
-line in the operating system. Windows users
-might be more familiar with the terms @q{DOS shell} or
-@q{command shell}; OSX users might be more familiar with the
-terms @q{terminal} or @q{console}. OSX users should also
-consult @ref{Notes for the MacOS X app}.
-
-Describing how to use
-this part of an operating system is outside the scope of this
-manual; please consult other documentation on this topic if
-you are unfamiliar with the command-line.
+These are separate programs from @command{lilypond} itself, and are
+run on the command line; see @ref{Command-line usage} for more
+information. If you have MacOS 10.3 or 10.4 and you have trouble
+running some of these scripts, e.g. @code{convert-ly}, see @ref{Setup
+for MacOS X}.
+@knownissues
+We unfortunately do not have the resources to maintain these
+programs; please consider them @qq{as-is}. Patches are appreciated, but
+bug reports will almost certainly not be resolved.
@menu
* Invoking midi2ly:: Importing MIDI.
+* Invoking musicxml2ly:: Importing MusicXML.
+* Invoking abc2ly:: Importing ABC.
* Invoking etf2ly:: Importing Finale.
-* Invoking musicxml2ly::
-* Invoking abc2ly:: Importing ABC.
-* Generating LilyPond files::
+* Generating LilyPond files:: GUIs, transcribers, and algorithmic composition programs.
@end menu
instruments: it specifies cabling, a serial protocol and a file
format. The MIDI file format is a de facto standard format for
exporting music from other programs, so this capability may come in
-useful when importing files from a program that has a convertor for a
+useful when importing files from a program that has a converter for a
direct format.
-@command{midi2ly} converts tracks into @internalsref{Staff} and
-channels into @internalsref{Voice} contexts. Relative mode is used
+@command{midi2ly} converts tracks into @rinternals{Staff} and
+channels into @rinternals{Voice} contexts. Relative mode is used
for pitches, durations are only written when necessary.
It is possible to record a MIDI file using a digital keyboard, and
@end example
Note that by @q{command-line}, we mean the command line of the
-operating system. See @ref{Converting from other formats} for
+operating system. See @ref{Converting from other formats}, for
more information about this.
The following options are supported by @command{midi2ly}.
@item -k, --key=@var{acc}[:@var{minor}]
Set default key. @math{@var{acc} > 0} sets number of sharps;
@math{@var{acc} < 0} sets number of flats. A minor key is indicated by
-":1".
+@code{:1}.
@item -o, --output=@var{file}
Write output to @var{file}.
@item -s, --start-quant=@var{DUR}
-Quantize note starts on DUR.
+Quantize note starts on @var{DUR}.
@item -t, --allow-tuplet=@var{DUR}*@var{NUM}/@var{DEN}
Allow tuplet durations @var{DUR}*@var{NUM}/@var{DEN}.
-@item -V, --verbose
+@item -v, --verbose
Be verbose.
-@item -v, --version
+@item -V, --version
Print version number.
@item -w, --warranty
@end table
-@refbugs
+@knownissues
Overlapping notes in an arpeggio will not be correctly rendered. The
first note will be read and the others will be ignored. Set them all
to a single duration and add phrase markings or pedal indicators.
-@node Invoking etf2ly
-@section Invoking @command{etf2ly}
+@node Invoking musicxml2ly
+@section Invoking @code{musicxml2ly}
-@cindex ETF
-@cindex enigma
-@cindex Finale
-@cindex Coda Technology
+@cindex MusicXML
-ETF (Enigma Transport Format) is a format used by Coda Music
-Technology's Finale product. @command{etf2ly} will convert part of an ETF
-file to a ready-to-use LilyPond file.
+@uref{http://@/www.@/musicxml@/.org/,MusicXML} is an XML dialect
+for representing music notation.
-It is invoked from the command-line as follows.
+@command{musicxml2ly} extracts the notes, articulations, score structure,
+lyrics, etc. from part-wise MusicXML files, and writes them to a .ly
+file. It is invoked from the command-line.
+
+It is invoked from the command-line as follows,
@example
-etf2ly [@var{option}]@dots{} @var{etf-file}
+musicxml2ly [@var{option}]@dots{} @var{xml-file}
@end example
Note that by @q{command-line}, we mean the command line of the
-operating system. See @ref{Converting from other formats} for
+operating system. See @ref{Converting from other formats}, for
more information about this.
-The following options are supported by @command{etf2ly}:
+If the given filename is @file{-}, @command{musicxml2ly} reads input
+from the command line.
+
+The following options are supported by @command{musicxml2ly}:
@table @code
-@item -h,--help
-this help
-@item -o,--output=FILE
-set output filename to FILE
-@item -v,--version
-version information
-@end table
+@item -a, --absolute
+convert pitches in absolute mode.
+@item -h,--help
+print usage and option summary.
-@refbugs
+@item -l, --language=LANG
+use a different language file 'LANG.ly' and corresponding pitch names,
+e.g. 'deutsch' for deutsch.ly and German note names.
-The list of articulation scripts is incomplete. Empty measures
-confuse @command{etf2ly}. Sequences of grace notes are ended improperly.
+@item --lxml
+use the lxml.etree Python package for XML-parsing; uses less memory and cpu time.
-@node Invoking musicxml2ly
-@section Invoking @code{musicxml2ly}
+@item --nd --no-articulation-directions
+do not convert directions (@code{^}, @code{_} or @code{-}) for
+articulations, dynamics, etc.
-@uref{http://@/www.@/recordarde@/.com/xml@/.html,MusicXML} is an XML dialect
-for representing music notation.
+@item --no-beaming
+do not convert beaming information, use LilyPond's automatic
+beaming instead.
-@command{musicxml2ly} extracts the notes from part-wise MusicXML
-files, and writes it to a .ly file. It is invoked from the command-line.
+@item -o,--output=@var{file}
+set output filename to @var{file}. If @var{file} is @file{-}, the output
+will be printed on stdout. If not given, @var{xml-file}@file{.ly} will
+be used.
-Note that by @q{command-line}, we mean the command line of the
-operating system. See @ref{Converting from other formats} for
-more information about this.
+@item -r,--relative
+convert pitches in relative mode (default).
-The following options are supported by @command{musicxml2ly}:
+@item -v,--verbose
+be verbose.
-@table @code
-@item -h,--help
-print usage and option summary.
-@item -o,--output=@var{file}
-set output filename to @var{file}. (default: print to stdout)
-@item -v,--version
+@item --version
print version information.
+
+@item -z,--compressed
+input file is a zip-compressed MusicXML file.
@end table
+
@node Invoking abc2ly
@section Invoking @code{abc2ly}
ABC is a fairly simple ASCII based format. It is described at the ABC site:
@quotation
-@uref{http://@/www@/.gre@/.ac@/.uk/@/~c.walshaw/@/abc2mtex/@/abc@/.txt}.
+@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/learn@/.html}.
@end quotation
@command{abc2ly} translates from ABC to LilyPond. It is invoked as follows:
The following options are supported by @command{abc2ly}:
@table @code
+@item -b,--beams=None
+preserve ABC's notion of beams
@item -h,--help
this help
@item -o,--output=@var{file}
set output filename to @var{file}.
-@item -v,--version
+@item -s,--strict
+be strict about success
+@item --version
print version information.
@end table
into the current line of lyrics.
-@refbugs
+@knownissues
The ABC standard is not very @q{standard}. For extended features
(e.g., polyphonic music) different conventions exist.
@command{abc2ly} ignores the ABC beaming.
+@node Invoking etf2ly
+@section Invoking @command{etf2ly}
+
+@cindex ETF
+@cindex enigma
+@cindex Finale
+@cindex Coda Technology
+
+ETF (Enigma Transport Format) is a format used by Coda Music
+Technology's Finale product. @command{etf2ly} will convert part of an ETF
+file to a ready-to-use LilyPond file.
+
+It is invoked from the command-line as follows.
+
+@example
+etf2ly [@var{option}]@dots{} @var{etf-file}
+@end example
+
+Note that by @q{command-line}, we mean the command line of the
+operating system. See @ref{Converting from other formats}, for
+more information about this.
+
+The following options are supported by @command{etf2ly}:
+
+@table @code
+@item -h,--help
+this help
+@item -o,--output=@var{FILE}
+set output filename to @var{FILE}
+@item --version
+version information
+@end table
+
+
+@knownissues
+
+The list of articulation scripts is incomplete. Empty measures
+confuse @command{etf2ly}. Sequences of grace notes are ended improperly.
+
@node Generating LilyPond files
@section Generating LilyPond files
These tools include
-@itemize @bullet
+@itemize
@item
-@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}, a graphical score editor.
+@uref{http://@/www@/.denemo@/.org/,Denemo}, a graphical score editor.
@item
@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime
monophonic MIDI to LilyPond converter.
@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an
Emacs major mode.
@item
-@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, which imports
+@uref{http://@/www@/.nongnu@/.org/@/xml2ly/,xml2ly}, which imports
@uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}
@item
@uref{http://@/noteedit@/.berlios@/.de,NoteEdit}
which imports MIDI
@item
@uref{http://@/common-lisp@/.net/project/fomus/,FOMUS},
-a LISP library to generate music notation
+a LISP library to generate music notation
+@item
+@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml},
+has experimental export for LilyPond.
+@item
+@uref{http://www.tuxguitar.com.ar/}, can export to LilyPond.
+@item
+@uref{http://musescore.org} can also export to LilyPond.
@end itemize