]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/converters.itely
Add dynamic script fffff; update docs.
[lilypond.git] / Documentation / user / converters.itely
index 7ba2816ab23941d6878743b9c62153f71e735be7..5c7a6f618751970fb84117f233e86ac873424010 100644 (file)
@@ -1,4 +1,13 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @c -*- coding: utf-8; mode: texinfo; -*-
+@c This file is part of lilypond-program.tely
+@ignore
+    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+    When revising a translation, copy the HEAD committish of the
+    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
 
 @node Converting from other formats
 @chapter Converting from other formats
@@ -9,27 +18,24 @@ There are other tools that produce LilyPond input, for example GUI
 sequencers and XML converters.  Refer to the
 @uref{http://@/lilypond@/.org,website} for more details.
 
 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 ``command-line'', we mean the command
-line in the operating system.  Windows users
-might be more familiar with the terms ``DOS shell'' or
-``command shell''; OSX users might be more familiar with the
-terms ``terminal'' or ``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.
 
 @menu
 * Invoking midi2ly::            Importing MIDI.
+* Invoking musicxml2ly::        Importing MusicXML.
+* Invoking abc2ly::             Importing ABC.
 * Invoking etf2ly::             Importing Finale.
 * Invoking etf2ly::             Importing Finale.
-* Invoking musicxml2ly::        
-* Invoking abc2ly::             Importing ABC.      
-* Generating LilyPond files::   
+* Generating LilyPond files::   GUIs, transcribers, and algorithmic composition programs.
 @end menu
 
 
 @end menu
 
 
@@ -46,11 +52,11 @@ MIDI (Music Instrument Digital Interface) is a standard for digital
 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
 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.
 
 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
 for pitches, durations are only written when necessary.
 
 It is possible to record a MIDI file using a digital keyboard, and
@@ -67,8 +73,8 @@ It is invoked from the command-line as follows,
 midi2ly [@var{option}]@dots{} @var{midi-file}
 @end example
 
 midi2ly [@var{option}]@dots{} @var{midi-file}
 @end example
 
-Note that by ``command-line'', we mean the command line of the
-operating system.  See @ref{Converting from other formats} for
+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{midi2ly}.
 more information about this.
 
 The following options are supported by @command{midi2ly}.
@@ -89,21 +95,21 @@ Show summary of usage.
 @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
 @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}
 
 @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 -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.
 
 Be verbose.
 
-@item -v, --version
+@item -V, --version
 Print version number.
 
 @item -w, --warranty
 Print version number.
 
 @item -w, --warranty
@@ -114,76 +120,81 @@ Treat every text as a lyric.
 @end table
 
 
 @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.
 
 
 
 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.
+
+@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.
 
 
+It is invoked from the command-line as follows,
 @example
 @example
-etf2ly [@var{option}]@dots{} @var{etf-file}
+musicxml2ly [@var{option}]@dots{} @var{xml-file}
 @end example
 
 @end example
 
-Note that by ``command-line'', we mean the command line of the
-operating system.  See @ref{Converting from other formats} for
+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.
 
 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
 
 @table @code
+@item -a, --absolute
+convert pitches in absolute mode.
+
 @item -h,--help
 @item -h,--help
-this help
-@item -o,--output=FILE
-set output filename to FILE
-@item -v,--version
-version information
-@end table
+print usage and option summary.
 
 
+@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.
 
 
-@refbugs
+@item --lxml
+use the lxml.etree Python package for XML-parsing; uses less memory and cpu time.
 
 
-The list of articulation scripts is incomplete.  Empty measures
-confuse @command{etf2ly}.  Sequences of grace notes are ended improperly.
+@item --nd --no-articulation-directions
+do not convert directions (@code{^}, @code{_} or @code{-}) for
+articulations, dynamics, etc.
 
 
-@node Invoking musicxml2ly
-@section Invoking @code{musicxml2ly}
+@item --no-beaming
+do not convert beaming information, use LilyPond's automatic
+beaming instead.
 
 
-@uref{http://@/www.@/recordarde@/.com/xml@/.html,MusicXML} is an XML dialect
-for representing music notation.
+@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.
 
 
-@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 -r,--relative
+convert pitches in relative mode (default).
 
 
-Note that by ``command-line'', we mean the command line of the
-operating system.  See @ref{Converting from other formats} for
-more information about this.
+@item -v,--verbose
+be verbose.
 
 
-The following options are supported by @command{musicxml2ly}:
-
-@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.
 print version information.
+
+@item -z,--compressed
+input file is a zip-compressed MusicXML file.
 @end table
 
 @end table
 
+
 @node Invoking abc2ly
 @section Invoking @code{abc2ly}
 
 @node Invoking abc2ly
 @section Invoking @code{abc2ly}
 
@@ -192,7 +203,7 @@ print version information.
 ABC is a fairly simple ASCII based format.  It is described at the ABC site:
 
 @quotation
 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:
 @end quotation
 
 @command{abc2ly} translates from ABC to LilyPond.  It is invoked as follows:
@@ -204,11 +215,15 @@ abc2ly [@var{option}]@dots{} @var{abc-file}
 The following options are supported by @command{abc2ly}:
 
 @table @code
 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 -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
 
 print version information.
 @end table
 
@@ -219,7 +234,7 @@ source file.  If you say:
 %%LY voices \set autoBeaming = ##f
 @end example
 
 %%LY voices \set autoBeaming = ##f
 @end example
 
-This will cause the text following the keyword ``voices'' to be inserted
+This will cause the text following the keyword @q{voices} to be inserted
 into the current voice of the LilyPond output file.
 
 Similarly,
 into the current voice of the LilyPond output file.
 
 Similarly,
@@ -228,13 +243,13 @@ Similarly,
 %%LY slyrics more words
 @end example
 
 %%LY slyrics more words
 @end example
 
-will cause the text following the ``slyrics'' keyword to be inserted
+will cause the text following the @q{slyrics} keyword to be inserted
 into the current line of lyrics.
 
 
 into the current line of lyrics.
 
 
-@refbugs
+@knownissues
 
 
-The ABC standard is not very ``standard''.  For extended features
+The ABC standard is not very @q{standard}.  For extended features
 (e.g., polyphonic music) different conventions exist.
 
 Multiple tunes in one file cannot be converted.
 (e.g., polyphonic music) different conventions exist.
 
 Multiple tunes in one file cannot be converted.
@@ -245,6 +260,45 @@ ABC synchronizes words and notes at the beginning of a line;
 @command{abc2ly} ignores the ABC beaming.
 
 
 @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
 
 @node Generating LilyPond files
 @section Generating LilyPond files
@@ -256,9 +310,9 @@ there are some external tools that also generate LilyPond files.
 
 These tools include
 
 
 These tools include
 
-@itemize @bullet
+@itemize
 @item
 @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.
 @item
 @uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime
 monophonic MIDI to LilyPond converter.
@@ -266,7 +320,7 @@ monophonic MIDI to LilyPond converter.
 @uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an
 Emacs major mode.
 @item
 @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}
 @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}
 @item
 @uref{http://@/noteedit@/.berlios@/.de,NoteEdit}
@@ -276,6 +330,13 @@ which imports @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}
 which imports MIDI
 @item
 @uref{http://@/common-lisp@/.net/project/fomus/,FOMUS},
 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
 
 @end itemize