@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @c This file is part of lilypond-program.tely @ignore Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421 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" @c Translators: Reinhold Kainhofer @c Translation checkers: Till Rettig @node Converting from other formats @chapter Converting from other formats LilyPond kann auch Musik aus diversen anderen Formaten importieren. Dieses Kapitel beschreibt die dazu mit LilyPond mitgelieferten Hilfsprogramme. Daneben existieren natürlich auch noch weitere Programme, die Dateien für LilyPond erstellen können, wie etwa graphische Sequenzierprogramme und XML-Konverter. Näheres dazu findet sich auf der @uref{http://@/lilypond@/.org,Homepage} von LilyPond. Die im Folgenden beschriebenen Programme sind eigenständige Hilfsprogramme und werden üblicherweise von der Kommandozeile aufgerufen. Siehe @ref{Command-line usage} für weitere Informationen. Wenn Sie MacOS 10.3 oder 10.4 benutzen und Probleme mit diesen Skripten (z. B. @code{convert-ly}) haben, lesen Sie @ref{Setup for MacOS X}. @knownissues Leider haben wir nicht ausreichend viele Entwickler, um all die folgenden Hilfsprogramme ständig zu warten. Wir stellen den aktuellen Stand zur Verfügung, können aber leider Fehlerberichte nur selten bearbeiten. Selbstverständlich sind Patches von Ihnen sehr willkommen! @menu * Invoking midi2ly:: Import von MIDI. * Invoking musicxml2ly:: Import von MusicXML. * Invoking abc2ly:: Import von ABC. * Invoking etf2ly:: Import von (alten) Finale-Dateien. * Generating LilyPond files:: Grafische Benutzeroberflächen, Musikübersetzer und Programme zur algorithmischen Komposition. @end menu @node Invoking midi2ly @section Invoking @command{midi2ly} @cindex MIDI @command{midi2ly} übersetzt eine Typ@tie{}1 MIDI-Datei in eine Eingabedatei für LilyPond. MIDI (Music Instrument Digital Interface) ist ein internationaler Standard für digitale Instrumente: Es spezifiziert die Verkabelung, ein serielles Protokoll und ein Dateiformat. Das MIDI-Dateiformat ist der de-facto Standard um Musik von vielen Programmen zu exportieren. Allerdings fehlen in den MIDI-Dateien viele Ausdrucks- und Artikulationszeichen. Dennoch kann MIDI vielfach nützlich sein, um Musik von einem Programm zu importieren, für das kein spezielles Hilfsprogramm den direkten Import nach LilyPond unterstützt. @command{midi2ly} konvertiert die MIDI-Spuren nach @rinternals{Staff} und MIDI-Kanäle in @rinternals{Voice} Kontexte. Tonhöhen werden relativ angegeben, Tondauern nur wenn nötig. MIDI-Dateien können auch direkt von einem digitalen Keyboard aufgenommen und dann in eine @file{.ly}-Datei konvertiert werden. Allerdings sind Musikinterpretationen von Menschen (aus gutem Grund!) rhythmisch nicht exakt genug um die Konvertierung von MIDI nach LY trivial zu gestalten. Wenn @command{midi2ly} mit Quantisierung (@code{-s} und @code{-d} Kommandozeilenoptionen) aufgerufen wird, versucht es diese Unschärfen im Zeitablauf zu korrigieren, ist allerdings nicht sonderlich gut darin. Daher können wir diese Technik leider nicht für die Konvertierung von MIDI-Aufnahmen empfehlen. @command{midi2ly} wird von der Kommandozeile folgendermaßen aufgerufen: @example midi2ly [@var{Optionen}]@dots{} @var{MIDI-Datei} @end example Unter @q{Kommandozeile} verstehen wir dabei die Kommandozeile des jeweiligen Betriebssystems. Für nähere Informationen hierzu siehe @ref{Converting from other formats}. Die folgenden Kommandozeilenoptionen werden von @command{midi2ly} unterstützt: @table @code @item -a, --absolute-pitches Gibt absolute Tonhöhen aus. @item -d, --duration-quant=@var{LÄNGE} Quantisiert Tondauern zu Vielfachen von @var{LÄNGE}. @item -e, --explicit-durations Gibt alle Tondauern explizit an. @item -h,--help Zeigt eine Zusammenfassung der Programmbenutzung und der Optionen. @item -k, --key=@var{acc}[:@var{Moll}] Setzt die Standard-Tonart. @math{@var{acc} > 0} gibt die Anzahl der Kreuze an, @math{@var{acc} < 0} gibt die Anzahl der Bs der Tonart an. Eine Moll-Tonart wird durch @code{:1} angegeben. @item -o, --output=@var{Datei} Die Ausgabe wird in die Datei @var{Datei}@file{.ly} geschrieben. @item -s, --start-quant=@var{LÄNGE} Quantisiert den Beginn der Noten zu Vielfachen von @var{LÄNGE}. @item -t, --allow-tuplet=@var{DUR}*@var{NUM}/@var{DEN} Erlaubt Tuplet-Dauern der Form @var{DUR}*@var{NUM}/@var{DEN}. @item -V, --verbose Gibt ausführliche informative Meldungen während der Konvertierung aus. @item -v, --version Gibt die Versionsnummer aus. @item -w, --warranty Zeigt die Lizenzbedingungen und Urheberrechtshinweise. @item -x, --text-lyrics Interpretiert alle Texte als Liedtexte. @end table @knownissues Überlappende Noten in einem Arpeggio werden nicht korrekt dargestellt. Nur die erste Note wird eingelesen und konvertiert, die restlichen werden ignoriert. Als Abhilfe können Sie alle Noten auf dieselbe Tonlänge setzen und Phrasierungszeichen oder Pedalindikatoren hinzufügen. @node Invoking musicxml2ly @section Invoking @code{musicxml2ly} @cindex MusicXML @uref{http://@/www.@/musicxml@/.org/,MusicXML} ist ein XML-Dialekt zur Darstellung von Musiknotation. @command{musicxml2ly} wandelt eine MusicXML-Datei nach LilyPond um, wobei sowohl die Noten, Artikulationszeichen, Struktur der Partitur, Liedtexte etc. einer MusicXML-Datei (im @q{part-wise}-Format) in eine .ly-Datei um. @command{musicxml2ly} wird von der Kommandozeile folgendermaßen aufgerufen: @example musicxml2ly [@var{Optionen}]@dots{} @var{XML-Datei} @end example Unter @q{Kommandozeile} verstehen wir dabei die Kommandozeile des jeweiligen Betriebssystems. Für nähere Informationen hierzu siehe @ref{Converting from other formats}. Wenn als Dateiname @file{-} angegeben wird, liest @command{musicxml2ly} Daten direkt von der Kommandozeile ein. Die folgenden Kommandozeilenoptionen werden von @command{musicxml2ly} unterstützt: @table @code @item -a, --absolute Konvertiert in absolute Tonhöhen. @item -h,--help Zeigt eine Zusammenfassung der Programmbenutzung und der Optionen. @item -l, --language=LANG Inkludiert die Sprachdatei @var{LANG}@file{.ly} in der Ausgabe. Wird z.B. 'deutsch' angegeben, wird @file{deutsch.ly} in die .ly-Datei eingebunden und deutsche Notenbezeichnungen benutzt. @item --lxml Benutzt das lxml.etree Python-Paket für die Verarbeitung von XML (benötigt weniger Speicher und Rechenleistung) @item --nd --no-articulation-directions Konvertiert keine Richtungsangaben (@code{^}, @code{_} oder @code{-}) von Artikulations- und Lautstärkebezeichnungen. @item --no-beaming Konvertiert keine Informationen über die Balkensetzung aus der MusicXML-Datei. Stattdessen wird dies LilyPond überlassen. @item -o,--output=@var{Dateiname} Die Ausgabe wird in die Datei @var{Dateiname}@file{.ly} geschrieben. Wird als @var{Dateiname} nur @file{-} angegeben, wird das Ergebnis der Konvertierung an der Kommandozeile ausgegeben. Wird diese Option nicht angegeben, so erfolgt die Ausgabe in die Datei @var{XML-Datei}@file{.ly}. @item -r,--relative Konvertiert in relative Tonhöhen. (Standardeinstellung) @item -v, --verbose Gibt ausführliche informative Meldungen während der Konvertierung aus. @item --version Gibt die Versionsnummer aus. @item -z,--compressed Die Eingabedatei wird als komprimierte MusicXML-Datei eingelesen. Dies ist die Standardeinstellung für Dateien mit der Erweiterung @file{.mxl}. @end table @node Invoking abc2ly @section Invoking @code{abc2ly} @cindex ABC ABC ist ein relativ einfaches ASCII-basierendes Musikformat und ist dokumentiert auf der ABC-Homepage: @quotation @uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/learn@/.html}. @end quotation @command{abc2ly} konvertiert ABC-Dateien nach LilyPond und wird von der Kommandozeile folgendermaßen aufgerufen: @example abc2ly [@var{Optionen}]@dots{} @var{ABC-Datei} @end example Unter @q{Kommandozeile} verstehen wir dabei die Kommandozeile des jeweiligen Betriebssystems. Für nähere Informationen hierzu siehe @ref{Converting from other formats}. Die folgenden Kommandozeilenoptionen werden von @command{abc2ly} unterstützt: @table @code @item -b,--beams=None Die Balkensetzung aus der ABC-Datei erhalten. @item -h,--help Zeigt eine Zusammenfassung der Programmbenutzung und der Optionen. @item -o,--output=@var{Dateiname} Die Ausgabe wird in die Datei @var{Dateiname}@file{.ly} geschrieben. @item -s,--strict Strenge Auslegung einer erfolgreichen Konvertierung. @item -v,--version Gibt die Versionsnummer aus. @end table Es existiert außerdem die Möglichkeit, LilyPond-Befehle für die Konvertierung mit @command{abc2ly} gleich in der ABC-Datei anzugeben. Wenn sich etwa in der ABC-Datei das Kommentar @example %%LY voices \set autoBeaming = ##f @end example @noindent befindet, so wird der Text nach dem Schlüsselwort @q{voices} direkt in die aktuelle Stimme in der LilyPond-Datei eingefügt. Ebenso bewirkt @example %%LY slyrics more words @end example @noindent dass alles nach dem @q{slyrics} Schlüsselwort an der aktuellen Stelle im Liedtext eingefügt wird. @knownissues Der ABC-Standard ist eigentlich kein wirklich vollständiger Standard. Für komplexere Notation wie etwa Polyphonie existieren verschiedene Konventionen. Mehrere Lieder in einer Datei können nicht konvertiert werden. ABC synchronisiert den Liedtext am Anfang jeder Zeile mit den Noten, @command{abc2ly} macht dies nicht. @command{abc2ly} ignoriert die Balkensetzung in der ABC-Datei. @node Invoking etf2ly @section Invoking @command{etf2ly} @cindex ETF @cindex enigma @cindex Finale @cindex Coda Technology ETF (Enigma Transport Format) ist ein Dateiformat, das Coda Music Technology in älteren Versionen des Programms Finale benutzt hat. @command{etf2ly} konvertiert Teile einer ETF-Datei nach LilyPond und wird von der Kommandozeile folgendermaßen aufgerufen: @example etf2ly [@var{Optionen}]@dots{} @var{ETF-Datei} @end example Unter @q{Kommandozeile} verstehen wir dabei die Kommandozeile des jeweiligen Betriebssystems. Für nähere Informationen hierzu siehe @ref{Converting from other formats}. Die folgenden Kommandozeilenoptionen werden von @command{etf2ly} unterstützt: @table @code @item -h,--help Zeigt eine Zusammenfassung der Programmbenutzung und der Optionen. @item -o,--output=@var{Dateiname} Die Ausgabe wird in die Datei @var{Dateiname}@file{.ly} geschrieben. @item --version Gibt die Versionsnummer aus. @end table @knownissues Die Liste der Artikulationszeichen is unvollständig. Leere Takte verwirren @command{etf2ly}. Mehrfache Vorschlagnoten werden falsch beendet. @node Generating LilyPond files @section Generating LilyPond files @cindex Externe Programme, LilyPond-Dateien erzeugen LilyPond selbst wird nur mit den oben genannten Konvertierprogrammen ausgeliefert und unterstützt keine weiteren Formate. Es existieren allerdings externe Hilfsprogramme, die auch LilyPond-Dateien erzeugen können. Diese umfassen unter anderem: @itemize @item @uref{http://@/www@/.denemo@/.org/,Denemo}, ein grafisches Programm zum Musiksatz. @item @uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, ein MIDI-nach-LilyPond Konverter, der monophone MIDI-Eigaben in Echtzeit konvertiert. @item @uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, ein Emacs-Modus. @item @uref{http://@/www@/.nongnu@/.org/@/xml2ly/,xml2ly}, ein Konverter für @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML}, der auf XML-Transformationen mittels XSLT basiert. @item @uref{http://@/noteedit@/.berlios@/.de,NoteEdit}, ein grafisches Programm zum Notensatz, das auch @uref{http://@/www@/.musicxml@/.com/xml@/.html,MusicXML} importieren kann. @item @uref{http://@/www@/.rosegardenmusic@/.com,Rosegarden}, das MIDI importieren kann. @item @uref{http://@/common-lisp@/.net/project/fomus/,FOMUS}, eine LISP-Bibliothek, um Musiknotation zu erzeugen. @item @uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml}, ein Notensatzprogramm mit experimentellem Export nach LilyPond. @item @uref{http://www.tuxguitar.com.ar/,TuxGuitar}, ein Programm zur Erzeugung von Gitarren-Tabulaturen, unterstützt den Export nach LilyPond. @item @uref{http://musescore.org/,MuseScore} unterstützt ebenfalls den Export nach LilyPond. @end itemize