1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
4 Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes.
13 @c Translators: Till Paala
15 @node Allgemeine Eingabe und Ausgabe
16 @chapter Allgemeine Eingabe und Ausgabe
17 @translationof General input and output
19 Dieses Kapitel erklärt allgemeine Fragen zur Eingabe und Ausgabe von
20 Notation mit LilyPond und weniger direkte Fragen der Notation.
25 * Arbeiten an Eingabe-Dateien::
26 * Ausgabe kontrollieren::
28 * Musikalische Information extrahieren::
33 @section Eingabestruktur
34 @translationof Input structure
36 Das hauptsächliche Eingabeformat von LilyPond sind Textdateien.
37 Üblicherweise werden diese Dateien mit der Endung @file{.ly}
41 * Struktur einer Partitur::
42 * Mehrere Partituren in einem Buch::
43 * Mehrere Ausgabedateien aus einer Eingabedatei::
44 * Dateinamen der Ausgabedateien::
49 @node Struktur einer Partitur
50 @subsection Struktur einer Partitur
51 @translationof Structure of a score
55 Eine @code{\score}-Umgebung muss einen einzelnen musikalischen
56 Ausdruck beinhalten, der durch geschweifte Klammern begrenzt wird:
64 @warning{Es darf @strong{nur ein} äußerer musikalischer Ausdruck
65 in der @code{\score}-Umgebung geschrieben werden, und er @strong{muss}
66 von geschweiften Klammern umgeben sein.}
68 Dieser einzelne musikalische Ausdruck kann beliebige Größe annehmen und
69 andere musikalische Ausdrücke von beliebiger Komplexität beinhalten.
70 Alle diese Beispiele sind musikalische Ausdrücke:
76 @lilypond[verbatim,quote]
83 @lilypond[verbatim,quote]
85 \new Staff { c'4 c' c' c' }
86 \new Staff { d'4 d' d' d' }
94 \new Staff @{ \Flöte @}
95 \new Staff @{ \Oboe @}
98 \new Staff @{ \GeigeI @}
99 \new Staff @{ \GeigeII @}
105 Kommentare bilden eine Ausnahme dieser Regel. (Andere Ausnahmen
106 siehe @ref{Die Dateistruktur}.) Sowohl einzeilige als auch
107 Blockkommentare (eingegrenzt durch @code{%@{ .. %@}}) können
108 an beliebiger Stelle einer Eingabedatei geschrieben werden. Sie
109 können innerhalb oder außerhalb der @code{\score}-Umgebung vorkommen,
110 und innerhalb oder außerhalb des einzelnen musikalischen Ausdrucks
111 innerhalb der @code{\score}-Umgebung.
113 Denken Sie daran, dass auch eine Datei, die nur eine @code{\score}-Umgebung
114 enhält, implizit in eine @code{\book}-Umgebung eingeschlossen wird. Eine
115 @code{\book}-Umgebung in einer Eingabdatei produziert wenigstens eine
116 Ausgabedatei, und standardmäßig wird der Name der Ausagabedatei aus dem
117 Namen der Eingabedatei abgeleitet. @file{fandangoforelephants.ly} produziert
118 also @file{fandangoforelephants.pdf}.
120 Zu weiteren Einzelheiten zu @code{\book}-Umgebungen siehe
121 @ref{Mehrere Partituren in einem Buch},
122 @ref{Mehrere Ausgabedateien aus einer Eingabedatei} und
123 @ref{Die Dateistruktur}.
128 @rlearning{Arbeiten an Eingabe-Dateien},
129 @rlearning{Musikalische Ausdrücke erklärt},
130 @rlearning{Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck}.
133 @ref{Mehrere Partituren in einem Buch},
134 @ref{Mehrere Ausgabedateien aus einer Eingabedatei} und
135 @ref{Die Dateistruktur}.
138 @node Mehrere Partituren in einem Buch
139 @subsection Mehrere Partituren in einem Buch
140 @translationof Multiple scores in a book
143 @cindex Sätze, mehrere
145 Eine Partitur kann mehrere musikalische Stücke und verschiedene
146 Texte beinhalten. Beispiele hierzu sind etwa eine Etüdensammlung
147 oder ein Orchesterstück mit mehreren Sätzen. Jeder Satz wird
148 in einer eigenen @code{\score}-Umgebung notiert:
157 und Texte werden mit einer @code{\markup}-Umgebung geschrieben:
167 Alle Sätze und Texte, die in derselben @file{.ly}-Datei vorkommen,
168 werden normalerweise in eine einzige Ausgabedatei gesetzt.
182 Eine wichtige Ausnahme stellen Dokumente dar,
183 die mit lilypond-book erstellt werden, für die Sie explizit
184 @code{\book}-Umgebungen notieren müssen, weil sonst nur die erste
185 @code{\score}- bzw. @code{\markup}-Umgebung angezeigt wird.
187 Der Kopfbereich für jedes Musikstück kann innerhalb der @code{\score}-Umgebung
188 definiert werden. Die @code{piece}-(Stück)-Bezeichnung aus dieser
189 @code{\header}-Umgebung wird vor jedem Satz ausgegeben. Die Überschrift für
190 ein ganzes Buch kann innerhalb von @code{\book} notiert werden, aber wenn
191 diese Umgebung fehlt, wird die @code{\header}-Umgebung genommen, die auf
192 erster Ebene der Datei notiert ist.
196 title = "Acht Miniaturen"
197 composer = "Igor Stravinsky"
201 \header @{ piece = "Romanze" @}
204 ..Text der zweiten Strophe..
207 ..Text der dritten Strophe..
211 \header @{ piece = "Menuetto" @}
217 Stücke können innerhalb eines Buches mit @code{\bookpart} gruppiert
218 werden. Derartige Buchabschnitte werden durch einen Seitenumbruch
219 voneinander getrennt und können wie auch das ganze Buch selber mit
220 einem Titel innerhalb einer @code{\header}-Umgebung beginnen.
226 subtitle = "Erster Teil"
233 subtitle = "Zweiter Teil"
241 @node Mehrere Ausgabedateien aus einer Eingabedatei
242 @subsection Mehrere Ausgabedateien aus einer Eingabedatei
243 @translationof Multiple output files from one input file
245 Wenn Sie mehrere Ausgabedateien aus derselben @file{.ly}-Datei haben
246 wollen, können Sie mehrere @code{\book}-Umgebungen hinzufügen, wobei
247 jede Umgebung eine neue Ausgabedatei produziert. Wenn Sie keine
248 @code{\book}-Umgebung in der Eingabedatei angeben, wird die Datei von
249 LilyPond implizit als eine große @code{\book}-Umgebung behandelt, siehe
250 auch @ref{Die Dateistruktur}.
252 Wenn man mehrere Dateien aus einer einzigen Eingabedatei erstellt, stellt
253 LilyPond sicher, dass keine der Ausgabedateien der vorhandenen
254 @code{\book}-Umgebungen eine andere Ausgabedatei, etwa von der vorherigen
255 @code{\book}-Umgebung, überschreibt.
257 Dies geschieht, indem ein Suffix an den Ausgabenamen für jede
258 @code{\book}-Umgebung gehängt wird, die den Dateinamen der Eingabdatei
261 Das Standardverhalten ist es, einen Zahlen-Suffix für die Namen hinzuzufügen,
262 die in Konflikt stehen. Der Code
267 \layout @{ @dots{} @}
271 \layout @{ @dots{} @}
275 \layout @{ @dots{} @}
284 @file{eightminiatures.pdf},
286 @file{eightminiatures-1.pdf} and
288 @file{eightminiatures-2.pdf}.
292 @node Dateinamen der Ausgabedateien
293 @subsection Dateinamen der Ausgabedateien
294 @translationof Output file names
296 @funindex \bookOutputSuffix
297 @funindex \bookOutputName
299 LilyPond stellt die Möglichkeit zur Verfügung zu kontrollieren, welche
300 Dateinamen für welche Back-ends benutzt werden sollen, wenn die Ausgabedateien
303 Im vorhergehenden Abschnitt wurde gezeigt, wir LilyPond gleichnamige
304 Ausgabedateien verhindert, wenn mehrere Ausgabedateien aus derselben
305 Eingabedatei erstellt werden. Es gibt auch die Möglichkeit, eigene
306 Suffixe für jeden @code{\book}-Abschnitt zu definieren, sodass man etwa
307 Dateinamen wie @file{eightminiatures-Romanze.pdf}, @file{eightminiatures-Menuetto.pdf}
308 und @file{eightminiatures-Nocturne.pdf} produzieren kann, indem man
309 eine @code{\bookOutputSuffix}-Angabe in jede @code{\book}-Umgebung
314 \bookOutputSuffix "Romanze"
316 \layout @{ @dots{} @}
319 \bookOutputSuffix "Menuetto"
321 \layout @{ @dots{} @}
324 \bookOutputSuffix "Nocturne"
326 \layout @{ @dots{} @}
330 Man kann auch einen anderen Dateinamen für die Ausgabedatei einer
331 @code{\book}-Umgebung erstellen, indem man @code{\bookOutputName}-Angabe
336 \bookOutputName "Romanze"
338 \layout @{ @dots{} @}
341 \bookOutputName "Menuetto"
343 \layout @{ @dots{} @}
346 \bookOutputName "Nocturne"
348 \layout @{ @dots{} @}
352 Die obige Datei produziert folgene Ausgabedateien:
358 @file{Menuetto.pdf} and
362 @node Die Dateistruktur
363 @subsection Die Dateistruktur
364 @translationof File structure
374 @cindex Dateistruktur
375 @cindex Struktur, Datei
376 @cindex Eingabedatei, Struktur
377 @cindex Quelldatei, Struktur
379 Eine @file{.ly}-Datei kann eine beliebige Anzahl an Ausdrücken
380 auf der obersten Ebene beinhalten, wobei ein Ausdruck der obersten
381 Ebene einer der folgenden sein kann:
385 Eine Ausgabedefinition, wie @code{\paper}, @code{\midi} und
386 @code{\layout}. Derartige Definitionen auf oberster Ebene verändern
387 die globalen Einstellungen für das ganze @qq{Buch}. Wenn mehr
388 als eine derartige Definition desselben Typs angegeben wird, hat
392 Ein direkter Scheme-Ausdruck, wie etwa
393 @code{#(set-default-paper-size "a7" 'landscape)} oder
394 @code{#(ly:set-option 'point-and-click #f)}.
397 Eine @code{\header}-Umgebung. Damit wird die globale Titelei
398 eingestellt. Das ist die Umgebung, in der sich Definition für
399 das ganze Buch befinden, wie Komponist, Titel usw.
402 Eine @code{\score}-Umgebung. Die in ihr enthaltene Partitur wird
403 zusammen mit anderen vorkommenden @code{\score}-Umgebungen gesammelt
404 und in ein @code{\book} zusammengefasst. Dieses Verhalten kann
405 verändert werden, indem die Variable @code{toplevel-score-handler}
406 auf höchster Ebene gesetzt wird. Die Definition des Standards findet sich
407 in der Datei @file{../scm/lily.scm}.
410 Eine @code{\book}-Umgebung fasst mehrere Sätze (d. h. mehrere
411 @code{\score}-Umgebungen) logisch in ein Dokument zusammen.
412 Wenn mehrere @code{\score}-Partituren vorkommen, wird für jede
413 @code{\book}-Umgebung eine eigene Ausgabedatei erstellt, in der
414 alle in der Umgebung enthaltenen Partituren zusammengefasst sind.
415 Der einzige Grund, explizit eine @code{\book}-Umgebung zu setzen,
416 ist, wenn mehrere Ausgabedateien aus einer einzigen Quelldatei
417 erstellt werden sollen. Eine Ausnahme sind lilypond-book-Dokumente,
418 in denen eine @code{\book}-Umgebung explizit hinzugefügt werden
419 muss, wenn mehr als eine @code{\score}- oder @code{\markup}-Umgebung
420 im gleichen Beispiel angezeigt werden soll. Dieses Verhalten
421 kann verändert werden, indem die Variable @code{toplevel-book-handler}
422 auf höchster Ebene gesetzt wird. Die Definition des Standards
423 findet sich in der Datei @file{../scm/lily.scm}.
426 Eine @code{\bookpart}-Umgebung. Ein Buch (@code{\book}) kann in
427 mehrere Teile untergliedert sein, indem @code{\bookpart}-Umgebungen
428 eingesetzt werden. Jeder Buchabschnitt beginnt auf einer neuen
429 Seite und kann eigene Papierdefinitionen in einer @code{\paper}-Umgebung
433 Ein zusammengesetzter musikalischer Ausdruck wie etwa
438 Dieses Beispiel wird von LilyPond automatisch in einer
439 @code{\score}-Umgebung in einem Buch interpretiert und
440 mit anderen @code{\score}-Umgebungen und musikalischen
441 Ausdrücken auf der höchsten Ebene zusammen ausgegeben.
442 Anders gesagt: eine Datei, die nur das obige Beispiel
443 beinhaltet, wird übersetzt zu
460 Dieses Verhalten kann verändert werden, indem die Variable
461 @code{toplevel-music-handler} auf der obersten Ebene gesetzt
462 wird. Die Definition des Standards findet sich in der Datei
463 @file{../scm/lily.scm}.
466 Eine Textbeschriftung, eine Strophe etwa:
469 2. Die erste Zeile der zweiten Strophe.
473 Textbeschriftungen werden über, zwischen oder unter musikalischen
474 Ausdrücken gesetzt, so wie sie notiert werde.
484 Sie kann dann später in der Datei eingesetzt werden, indem @code{\foo}
485 geschrieben wird. Die Bezeichnung der Variable darf nur aus
486 alphabetischen Zeichen bestehen, keine Zahlen, Unter- oder Bindestriche.
490 Das folgende Beispiel zeigt drei Dinge, die auf der obersten Ebene
491 notiert werden können:
495 % Zeilen rechtsbündig setzen
506 An einer beliebigen Stelle der Datei kann jede der folgenden lexikalen
507 Anweisungen notiert werden:
510 @item @code{\version}
511 @item @code{\include}
512 @item @code{\sourcefilename}
513 @item @code{\sourcefileline}
515 Ein einzeiliger Kommentar, beginnend mit @code{%}.
518 Ein mehrzeiliger Kommentar, umgeben von @code{%@{ .. %@}}.
524 Leerzeichen zwischen Einheiten in der Eingabe werden generell ignoriert
525 und können nach Belieben weggelassen werden oder hinzugefügt werden,
526 um die Lesbarkeit des Codes zu verbessern. Mindestens ein Leerzeichen
527 sollte jedoch unter folgenden Umständen immer eingesetzt werden, um
532 Vor und hinter jeder schließenden oder öffnenden Klammer,
534 nach jedem Befehl oder jeder Variable, also jeder Einheit, die mit
537 nach jeder Einheit, die als Scheme-Ausdruck interpretiert werden,
538 also alle Einheiten, die mit@tie{}@code{#} beginnen.
540 Alle Einheiten von Scheme-Ausdrücken müssen mit Leerzeichen getrennt
543 in Gesangstextabschnitten (@code{lyricmode}) müssen Leerzeichen
544 zwischen alle Ausdrücke in @code{\override}- und @code{\set}-Befehlen
545 gesetzt werden. Insbesondere müssen um Punkte und Gleichzeitszeichen
546 in Befehlen wie @code{\override Score . LyricTex #'font-size = #5)}
547 und vor dem gesamten Befehl geschrieben werden.
553 @rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert}.
558 @translationof Titles and headers
560 Fast alle gedruckten Noten beinhalten einen Titel und den Namen
561 des Komponisten, teilweise wird auch noch sehr viel mehr Information
562 zur Verfügung gestellt.
565 * Titel Kopf und Fußzeilen erstellen::
566 * Eigene Kopf und Fußzeilen sowie Titel::
567 * Fußnoten erstellen::
568 * Verweis auf die Seitenzahlen::
569 * Inhaltsverzeichnis::
573 @node Titel Kopf und Fußzeilen erstellen
574 @subsection Titel, Kopf- und Fußzeilen erstellen
575 @translationof Creating titles headers and footers
578 * Wie funktioniert die Titel-Umgebung?::
579 * Standardlayout von book und Partitur Titelumgebungen::
580 * Standardlayout von Kopf und Fußzeilen::
584 @node Wie funktioniert die Titel-Umgebung?
585 @unnumberedsubsubsec Wie funktioniert die Titel-Umgebung?
586 @translationof Title blocks explained
588 @c TODO: figure out how \bookpart titles work
590 Es gibt zwei Arten von Titelumgebungen: die Hauptumgebung, die über
591 der ersten @code{\score}-Umgebung innerhalb eines @qq{book} notiert
592 wird, und individuelle Titelumgebungen, die innerhalb von
593 @code{\score} auftreten können. Textfelder für beide Typen werden
594 in der @code{\header}-Umgebung eingegeben.
596 Wenn in dem @qq{book} nur eine einzelne Partitur vorkommt,
597 kann die @code{\header}-Umgebung innheralb oder außerhalb der
598 @code{\score}-Umgebung geschrieben werden.
600 @warning{Denken Sie daran, dass zuerst ein musikalischer Ausdruck
601 notiert werden muss, wenn Sie eine @bs{}@code{header}-Umgebung innheralb
602 einer @bs{}@code{score}-Umgebung verwenden wollen.}
604 @lilypond[papersize=a5,quote,verbatim,noragged-right]
607 composer = "J. S. Bach."
611 \new Staff \relative g, {
614 \repeat unfold 2 { g16( d' b') a b d, b' d, } |
615 \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
623 \new Staff \relative b {
627 <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
628 d16( b g fis) g( e d c) b(c d e) fis( g a b) |
636 Textfelder der Haupttitelumgebung können in allen @code{\score}-Umgebungen
637 gesetzt oder manuell unterdrückt werden:
639 @lilypond[papersize=a5,quote,verbatim,noragged-right]
642 print-all-headers = ##t
645 title = "DAS WOHLTEMPERIRTE CLAVIER"
647 % Do not display the tagline for this book
650 \markup { \vspace #1 }
654 \new Staff { \clef "bass" s1 }
657 title = "PRAELUDIUM I"
659 % Do not display the subtitle for this score
666 \new Staff { \clef "bass" s1 }
670 subsubtitle = "A 4 VOCI"
672 % Do not display the subtitle for this score
681 @ref{Die Dateistruktur},
682 @ref{Angepasstes Layout für Titelumgebungen}.
685 @node Standardlayout von book und Partitur Titelumgebungen
686 @unnumberedsubsubsec Standardlayout von @code{book}- und Partitur-Titelumgebungen
687 @translationof Default layout of book and score title blocks
689 Layout und Formatierung der Titelfelder wird durch zwei
690 @code{\paper}-Variablen kontrolliert: @code{bookTitleMarkup} für
691 die Hauptumgebung und @code{scoreTitleMarkup} für einzelne
692 @code{\header}-Umgebungen innerhalb von einer @code{\score}-Umgebung.
694 @lilypond[papersize=a6,quote,verbatim,noragged-right]
696 % The following fields are centered
697 dedication = "Dedication"
699 subtitle = "Subtitle"
700 subsubtitle = "Subsubtitle"
701 instrument = "Instrument"
703 % The following fields are left-aligned on the left side
707 % The following fields are right-aligned on the right side
708 composer = "Composer"
709 arranger = "Arranger"
715 % The following fields are placed at opposite ends of the same line
722 @c Is the bit about \null markups true? -mp
724 Textfelder, die in einer @code{\header}-Umgebung nicht benutzt werden,
725 werden durch @code{\null}-Textbeschriftung ersetzt, sodass sie keinen
726 leeren Platz belegen.
728 Die Standardeinstellungen von @code{scoreTitleMarkup} platzieren
729 die Felder @code{piece} (Stück) und @code{opus} zu den gegenüberliegenden
730 Seiten der selben Zeile.
732 @funindex breakbefore
734 Mit der Variable @code{breakbefore} innerhalb einer @code{\header}-Umgebung,
735 die für sich auch eine @code{\score}-Umgebung darstellt, kann man
736 die Hauptüberschriften auf der ersten Seite allein ausgeben, sodass die
737 Noten (in der @code{score}-Umgebung definiert) erst auf der folgenden
740 @lilypond[papersize=a8landscape,verbatim,noragged-right]
743 title = "This is my Title"
744 subtitle = "This is my Subtitle"
745 copyright = "This is the bottom of the first page"
748 \repeat unfold 4 { e'' e'' e'' e'' }
750 piece = "This is the Music"
759 @rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert},
762 @ref{Die Dateistruktur}.
764 Installierte Dateien:
765 @file{ly/titling-init.ly}.
768 @node Standardlayout von Kopf und Fußzeilen
769 @unnumberedsubsubsec Standardlayout von Kopf- und Fußzeilen
770 @translationof Default layout of headers and footers
772 @emph{Kopf-} und @emph{Fußzeilen} sind Textzeilen, die ganz oben
773 und ganz unten auf der Seite stehen, unabhängig vom Textbereich eines
774 Buches. Sie können mit folgenden @code{\paper}-Variablen kontrolliert
778 @item @code{oddHeaderMarkup}
779 @item @code{evenHeaderMarkup}
780 @item @code{oddFooterMarkup}
781 @item @code{evenFooterMarkup}
784 Diese Beschriftungsvariablen können nur auf Textfelder einer
785 Haupttitelumgebung (eine @code{\header}-Umgebung auf höchster Ebene, die
786 sich auf alle @code{\score}-Umgebungen einer Datei bezieht)
787 zugreifen und sind definiert in der Datei @file{ly/titling-init.ly}. In
788 den Standardeinstellungen
793 werden Seitenzahlen automatisch ganz oben links (wenn gerade) oder ganz
794 oben rechts (wenn ungerade) gesetzt, beginnend mit der zweiten Seite.
797 wird das @code{instrument}-Textfeld auf jeder Seite zentriert, beginnend
798 mit der zweiten Seite.
801 wird der @code{copyright}-Text unten auf der ersten Zeite zentriert.
804 wird der Inhalt von @code{tagline} unten auf der letzten Seite zentriert
805 und unterhalb des @code{copyright}-Texts, wenn es sich nur um eine Seite
810 @lilypond[papersize=a8landscape]
820 Die Standardeinstellung von @code{tagline} kann verändert werden,
821 indem man ein @code{tagline}-Feld in die @code{\header}-Umgebung auf
822 höchster Ebene schreibt.
824 @lilypond[papersize=a8landscape,verbatim]
827 tagline = "... music notation for Everyone"
837 Um die @emph{tagline} ganz zu entfernen, wird ihr Inhalb als @code{##f}
841 @node Eigene Kopf und Fußzeilen sowie Titel
842 @subsection Eigene Kopf- und Fußzeilen sowie Titel
843 @translationof Custom headers footers and titles
845 @c TODO: somewhere put a link to header spacing info
846 @c (you'll have to explain it more in NR 4).
849 * Angepasste Textformatierung für Titelumgebungen::
850 * Angepasstes Layout für Titelumgebungen::
851 * Angepasstes Layout für Kopf und Fußzeilen::
855 @node Angepasste Textformatierung für Titelumgebungen
856 @unnumberedsubsubsec Angepasste Textformatierung für Titelumgebungen
857 @translationof Custom text formatting for title blocks
859 Standard-@code{\markup}-Befehle können eingesetzt werden, um jeglichen
860 Text in Titeln, Kopf- und Fußzeilen innerhalb der @code{\header}-Umgebung
863 @lilypond[quote,verbatim,noragged-right]
867 piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
868 subtitle = \markup { \italic "(Excerpt)" }
875 @ref{Text formatieren}.
878 @node Angepasstes Layout für Titelumgebungen
879 @unnumberedsubsubsec Angepasstes Layout für Titelumgebungen
880 @translationof Custom layout for title blocks
882 @code{\markup}-Befehle in der @code{\header}-Umgebung sind sinnvoll
883 für einfaches Formatieren von Text, aber sie gewähren keine genaue
884 Kontrolle über die Positionierung von Titeln. Um die Positionierung
885 von Titeltextfeldern vorzunehmen, eignen sich beide oder eine von
886 folgenden Variablen (die man in der @code{\paper}-Umgebung einsetzen muss):
889 @item @code{bookTitleMarkup}
890 @item @code{scoreTitleMarkup}
893 Diese Beschriftungsvariablen sind behandelt in
894 @ref{Standardlayout von book und Partitur Titelumgebungen}.
896 Die Standardeinstellungen von @code{scoreTitleMarkup}, wie in der
897 Datei @file{ly/titling-init.ly} definiert, sind:
900 scoreTitleMarkup = \markup @{ \column @{
901 \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
903 \fromproperty #'header:piece
904 \fromproperty #'header:opus
910 Dadurch werden die Textfelder @code{piece} (Stück) und @code{opus}
911 an den gegenüberliegenden Enden der gleichen Zeile platziert:
913 @lilypond[quote,verbatim,noragged-right]
917 piece = "PRAELUDIUM I"
923 Das folgende Beispiel verändert die Einstellungen von
924 @code{scoreTitleMarkup}, sodass das Textfeld @code{piece}
925 zentriert wird und in fetter, größerer Schrift erscheint.
927 @lilypond[papersize=a5,quote,verbatim,noragged-right]
931 scoreTitleMarkup = \markup {
934 \fontsize #4 \bold \fromproperty #'header:piece
935 \fromproperty #'header:opus
939 \header { tagline = ##f }
943 piece = "PRAELUDIUM I"
950 Textfelder, die normalerweise nur im Haupttitel ausgegeben werden,
951 können auch in die Titel einzelner Partituren aufgenommen werden,
952 indem man @code{print-all-headers} in die @code{\paper}-Umgebung einfügt.
953 Ein Nachteil dieser Methode ist, dass Textfelder, die tatsächlich nur
954 im Haupttitel erscheinen sollen, manuell für jede Partitur unterdrückt
955 werden müssen. Siehe auch @ref{Wie funktioniert die Titel-Umgebung?}.
957 Um das zu vermeiden, kann das gewünschte Feld zur Definition von
958 @code{scoreTitleMarkup} hinzugefügt werden. Im folgenden Beispiel
959 wird das Komponistenfeld (@code{composer}) (normalerweise mit
960 @code{bookTitleMarkup} assoziiert) zu @code{scoreTitleMarkup}
961 hinzugefügt, sodass jede Partitur einen eigenen Komponisten haben kann.
963 @lilypond[papersize=a5,quote,verbatim,noragged-right]
967 scoreTitleMarkup = \markup {
970 \fontsize #4 \bold \fromproperty #'header:piece
971 \fromproperty #'header:composer
975 \header { tagline = ##f }
980 composer = "Christian Petzold"
987 composer = "François Couperin"
993 Es ist auch möglich, eigene Textfelder zu erstellen und dann auf sie
994 in der Beschriftungsdefinition zu verweisen:
996 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1000 scoreTitleMarkup = \markup {
1003 \override #`(direction . ,UP) {
1005 \center-align \fontsize #-1 \bold
1006 \fromproperty #'header:mycustomtext %% User-defined field
1007 \center-align \fontsize #4 \bold
1008 \fromproperty #'header:piece
1011 \fromproperty #'header:opus
1015 \header { tagline = ##f }
1020 mycustomtext = "A 4 VOCI" %% User-defined field
1029 @ref{Wie funktioniert die Titel-Umgebung?}.
1032 @node Angepasstes Layout für Kopf und Fußzeilen
1033 @unnumberedsubsubsec Angepasstes Layout für Kopf- und Fußzeilen
1034 @translationof Custom layout for headers and footers
1036 @c can make-header and make-footer be removed from
1037 @c paper-defaults-init.ly? -mp
1039 @code{\markup}-Befehle in der @code{\header}-Umgebung sind nützlich
1040 um einfachen Text zu formatieren, erlauben aber keine Kontrolle
1041 über die Positionierung von Kopf- und Fußzeilen. Um die Positionierung
1042 der Textfelder zu ändern, eignen sich beide oder eine von
1043 folgenden Variablen (die man in der @code{\paper}-Umgebung einsetzen muss):
1046 @item @code{oddHeaderMarkup}
1047 @item @code{evenHeaderMarkup}
1048 @item @code{oddFooterMarkup}
1049 @item @code{evenFooterMarkup}
1052 Das folgende Beispiel zentriert die Seitenzahlen unten auf jeder Seite.
1053 Zuerst werden die Standardeinstellungen von @code{oddHeaderMarkup} und
1054 @code{evenHeaderMarkup} entfernt, indem sie als @qq{Null}-Beschriftung
1055 definiert werden. Dann wird @code{oddFooterMarkup} mit zentrierter
1056 Seitennummer neu definiert. Schließlich erhält @code{evenFooterMarkup}
1057 die selbe Layoutdefinition wie @code{\oddFooterMarkup}:
1059 @lilypond[papersize=a8,quote,verbatim,noragged-right]
1062 print-page-number = ##t
1063 print-first-page-number = ##t
1064 oddHeaderMarkup = \markup \null
1065 evenHeaderMarkup = \markup \null
1066 oddFooterMarkup = \markup {
1068 \on-the-fly #print-page-number-check-first
1069 \fromproperty #'page:page-number-string
1072 evenFooterMarkup = \oddFooterMarkup
1075 \new Staff { s1 \break s1 \break s1 }
1082 @ref{Wie funktioniert die Titel-Umgebung?},
1083 @ref{Standardlayout von book und Partitur Titelumgebungen}.
1086 @node Fußnoten erstellen
1087 @subsection Fußnoten erstellen
1088 @translationof Creating footnotes
1090 Zwei Arten an Fußnoten können erstellt werden: automatische und
1094 * Übersicht über Fußnoten::
1095 * Automatische Fußnoten::
1096 * Manuelle Fußnoten::
1099 @node Übersicht über Fußnoten
1100 @unnumberedsubsubsec Übersicht über Fußnoten
1101 @translationof Footnotes overview
1103 Automatische Fußnoten erstellen aufsteigende Zahlenverweise, während
1104 mit manuellen Fußnoten eigene angepasste Verweise erstellt werden
1105 können. Alle Grobs, @code{\markup}-Beschriftung auf höchster Ebene
1106 und zu Akkord zusammengefasste Noten können mit Fußnoten versehen werden.
1108 Die Reihenfolge, in welcher ein Grob erstellt wird, bestimmt die
1109 Reihenfolge der Nummerierung automatischer Fußnoten.
1112 @node Automatische Fußnoten
1113 @unnumberedsubsubsec Automatische Fußnoten
1114 @translationof Automatic footnotes
1116 @cindex Fußnoten, automatisch
1118 Automatische Fußnoten brauchen drei Argumente: das @var{Layoutobjekt}, das die
1119 Anmerkung erhalten soll, die @var{(x . y)}-Position des Indikators und
1120 eine @code{\markup}-Beschriftung, die den Inhalt der Fußnote enthält.
1122 Der Befehl @code{\footnote} muss @emph{vor} dem Grob geschrieben
1123 werden, auf den sich die Fußnote bezieht.
1126 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1128 \header { tagline = ##f }
1130 \footnote #'(0.5 . -2) #'NoteHead
1131 \markup { Die erste Note }
1133 \footnote #'(0.5 . 1) #'NoteHead
1134 \markup { Die dritte Note }
1140 Bei Noten in Akkorden muss der Befehl @code{\footnote} @emph{nach}
1141 der Note, auf der sie sich bezieht, in Form eines @code{TextScript}
1145 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1147 \header { tagline = ##f }
1150 c-\footnote #'(1 . -1.25) "Hier ein C"
1151 es-\footnote #'(2 . -0.25) \markup { \italic "Ein Es" }
1152 g-\footnote #'(2 . 3) \markup { \bold "Das ist ein G" }
1158 @warning {Wenn Fußnoten die selbe vertikale Position haben, werden
1159 sie von oben nach unten nummeriert.}
1161 Hier noch einige Beispiele von Grobs, die mit Fußnoten
1162 versehen sind, wobei auch die Position des Fußnotentextes relativ zu
1163 Tagline und Copyright gezeigt wird.
1166 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1168 \header { copyright = \markup { "Copyright 1970" } }
1170 \footnote #'(-3 . 0) #'DynamicText
1171 \markup { \bold Forte }
1173 \footnote #'(0 . 1.5) #'Slur
1174 \markup { Ein Bogen }
1177 \footnote #'(0 . -2) #'Beam
1181 \footnote #'(1 . -1) #'Stem
1182 \markup { \teeny { Das ist ein Hals } }
1185 \footnote #'(0 . 0.5) #'AccidentalCautionary
1186 \markup \italic { Ein Warnungsversetzungszeichen }
1188 \footnote #'(0.5 . -0.5) #'TextScript
1189 \markup \italic { Langsamer hier }
1195 Für eine @code{\markup}-Beschriftung auf oberster Ebene braucht man
1196 den Befehl @code{\auto-footnote}:
1199 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1201 \header { tagline = ##f }
1202 \markup { \auto-footnote "Eine einfache Melodie" \italic "Von mir" }
1210 @node Manuelle Fußnoten
1211 @unnumberedsubsubsec Manuelle Fußnoten
1212 @translationof Manual footnotes
1214 @cindex Fußnoten, manuell
1216 Manuell erstellte Fußnoten brauchen vier Argumente: das @var{Layoutobjekt},
1217 das die Anmerkung erhalten soll, die @var{(x . y)}-Position des
1218 Indikators und zwei @code{\markup}-Beschriftungen; die erste ist der
1219 Indikator, der an die Note oder den Grob gehängt wird, die zweite
1220 der Inhalt der Fußnote unten auf der Seite.
1222 Wie auch bei automatischen Fußnoten muss der Befehl @code{\footnote}
1223 @emph{nach} dem Grob kommen, an den die Fußnote gehängt wird und als
1224 @code{TextScript} geschrieben werden:
1227 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1229 \header { tagline = ##f }
1232 "1" #'(0.5 . -2) #'NoteHead \markup { \italic "1. Die erste Note" }
1235 \markup { \bold "2" } #'(0.5 . 1) #'NoteHead "2. Die zweite Note"
1237 d\p-\footnote "3" #'(0.5 . -1) #'DynamicText "3. Piano"
1242 Fußnoten für Akkordnoten werden wie folgt notiert:
1244 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1246 \header { tagline = ##f }
1249 c-\footnote "1" #'(1 . -1.25) "1. C"
1251 \markup { \bold "b" } #'(2 . -0.25) "b. E-flat"
1252 g-\footnote "3" #'(2 . 3) \markup { \italic "iii. G" }
1258 @warning {Wenn Fußnoten die selbe vertikale Position haben, werden
1259 sie von oben nach unten nummeriert.}
1261 Hier einige Beispiele manueller Fußnoten, die auch die relative
1262 Position der Fußnotentexte zu Tagline und Copyright anzeigen:
1265 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1267 \header { tagline = ##f }
1270 \markup { \teeny 1 } #'(-3 . 0) #'DynamicText
1271 \markup { 1. \bold Forte }
1274 \markup { \teeny b } #'(0 . 1.5) #'Slur
1275 \markup { b. Ein Bogen }
1279 \markup { \teeny 3 } #'(0 . -2) #'Beam
1280 \markup { 3. Balken }
1284 \markup { 4 } #'(1 . -1) #'Stem
1285 \markup { \bold 4. { Das ist ein Hals } }
1289 \markup \concat \teeny { "sharp (v)" } #'(0 . 0.5) #'AccidentalCautionary
1290 \markup \italic { v. Ein Warnungsversetzungszeichen }
1293 \markup \concat \teeny { "a" } #'(0.5 . -0.5) #'TextScript
1294 \markup \italic { a. Langsamer hier }
1299 \markup { \teeny \musicglyph #"rests.4" } #'(1.5 . -0.25) #'BreathingSign
1305 Eine @code{\markup}-Beschriftung der höchsten Ebene wird wie folgt
1308 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1310 \header { tagline = ##f }
1311 \markup { "Eine einfache Melodie" \footnote "*" \italic "* Von mir" }
1319 Handbuch zum Lernen:
1320 @rlearning{Objekte und Schnittstellen}.
1323 @ref{Erklärungen in Ballonform},
1325 @ref{Textartige Zeichen},
1329 Referenz der Interna:
1330 @rinternals{FootnoteEvent},
1331 @rinternals{FootnoteItem},
1332 @rinternals{FootnoteSpanner},
1333 @rinternals{Footnote_engraver}.
1336 Mehrere Fußnoten auf einer Seite können ausschließlich übereinander
1337 gedruckt werden und nicht auf der gleiche Zeile gesetzt werden.
1338 Fußnoten können nicht an @code{MultiMeasureRests} (mehrtaktige Pause)
1339 angehängt werden und können mit @code{Staff}-(Notensystem)-,
1340 @code{\markup}-(Beschriftungs)-Objekten und anderen Fußnoten
1341 zusammenstoßen. Wenn man den manuellen Fußnotenbefehl einsetzt,
1342 braucht man in der @code{\paper}-Umgebung den Eintrag
1343 @code{footnote-auto-number = ##f}.
1346 @node Verweis auf die Seitenzahlen
1347 @subsection Verweis auf die Seitenzahlen
1348 @translationof Reference to page numbers
1350 Eine bestimmte Stelle der Partitur kann mit einem @code{\label}-Befehl
1351 markiert werden, sowohl auf oberster Ebene als auch innerhalb eines
1352 musikalischen Ausdrucks. Auf diese Marke kann dann verwiesen werden,
1353 um die Seitenzahl zu erhalten, auf der die Marke vorkommt. Der
1354 Verweis wird mit dem Befehl @code{\page-ref} gefordert (innerhalb
1355 von @code{\markup}).
1359 \header { tagline = ##f }
1361 \label #'ErstePartitur
1365 \pageBreak \mark A \label #'ZeichenA
1369 \markup { Die erste Partitur fängt auf
1370 Seite \page-ref #'ErstePartitur "0" "?" an.}
1371 \markup { Zeichen A befindet sich auf Seite
1372 \concat { \page-ref #'ZeichenA "0" "?" . } }
1376 Der @code{\page-ref}-Textbeschriftungsbefehl braucht drei Argumente:
1380 @item die Marke, ein Scheme-Symbol, etwa @code{#'ErstePartitur},
1381 @item eine Beschriftung, die als Platzhalter benutzt wird, um die Breite des Verweisen zu schätzen,
1382 @item eine Beschriftung, die anstelle der Seitenzahl gesetzt wird, wenn die Marke unbekannt ist.
1385 Der Grund, warum ein Platzhalter benötigt wird, ist dass zu dem Zeitpunkt,
1386 an dem die Textbeschriftungen ausgewertet werden, noch keine Seitenumbrüche
1387 vorgenommen wurden und die Seitenzahlen deshalb noch nicht bekannt sind.
1388 Um hier ein Problem zu vermeiden, wird die eigentliche Auswertung der
1389 Textbeschriftung erst später ausgeführt, die Größe des Textes muss aber
1390 schon vorher bekannt sein. Die Größe wird mithilfe des Platzhalters
1391 bestimmt. Wenn eine Partitur zwischen 10 und 99 Seiten hat, kann man
1392 "00" schreiben, also eine zweistellige Zahl.
1399 @funindex \page-ref.
1403 @node Inhaltsverzeichnis
1404 @subsection Inhaltsverzeichnis
1405 @translationof Table of contents
1407 Ein Inhaltsverzeichnis kann eingefügt werden mit dem Befehl
1408 @code{\markuplist \table-of-contents}. Die Elemente, die im
1409 Inhaltsverzeichnis aufgelistet werden sollen, werden mit dem
1410 @code{\tocItem}-Befehl markiert, welches sowohl auf höchster
1411 Ebene als auch in einem musikalischen Ausdruck verwendet werden
1415 \markuplist \table-of-contents
1418 \tocItem \markup "Erste Partitur"
1422 \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur"
1427 \tocItem \markup "zweite Partitur"
1435 Die Beschriftungen, die benutzt werden um das Inhaltsverzeichnis
1436 zu formatieren, sind in der @code{\paper}-Umgebung definiert.
1437 Die Standardformatierungselemente sind @code{tocTitleMarkup}
1438 um die Überschrift zu formatieren und @code{tocItemMarkup} um
1439 die einzelnen Inhaltselemente zu formatieren, bestehend aus
1440 dem Titelelement und einer Seitenzahl. Die Variablen können
1441 durch den Benutzer geändert werden:
1445 %% Übersetzung der Inhaltsverzeichnisüberschrift nach französisch:
1446 tocTitleMarkup = \markup \huge \column {
1447 \fill-line { \null "Table des matières" \null }
1450 %% hier größere Schriftarten
1451 tocItemMarkup = \markup \large \fill-line {
1452 \fromproperty #'toc:text \fromproperty #'toc:page
1457 Die Inhaltsverzeichniselemente Text und Seitenzahl werden
1458 in der Definition von @code{tocItemMarkup} aufgerufen mit
1459 @code{#'toc:text} und @code{#'toc:page}.
1461 Neue Befehle und Beschriftungen können auch definiert werden,
1462 um eigene Inhaltsverzeichnisse zu gestalten:
1466 @item zuerst muss eine neue Beschriftungsvariable in der
1467 @code{\paper}-Umgebung definiert werden
1469 @item dann muss die musikalische Funktion definiert werden, die
1470 ein Element zum Inhaltsverzeichnis hinzufügt, indem die neue
1471 Variable benutzt wird.
1475 Das folgende Beispiel definiert einen neuen Stil um Akt-Bezeichnungen
1476 einer Oper in das Inhaltsverzeichnis aufzunehmen:
1480 tocActMarkup = \markup \large \column {
1482 \fill-line { \null \italic \fromproperty #'toc:text \null }
1488 #(define-music-function (parser location text) (markup?)
1489 (add-toc-item! 'tocActMarkup text))
1492 @lilypond[line-width=11.0\cm]
1493 \header { tagline = ##f }
1495 tocActMarkup = \markup \large \column {
1497 \fill-line { \null \italic \fromproperty #'toc:text \null }
1503 #(define-music-function (parser location text) (markup?)
1504 (add-toc-item! 'tocActMarkup text))
1507 \markuplist \table-of-contents
1508 \tocAct \markup { Atto Primo }
1509 \tocItem \markup { Coro. Viva il nostro Alcide }
1510 \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1511 \tocAct \markup { Atto Secondo }
1512 \tocItem \markup { Sinfonia }
1513 \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1518 Die Zeile zwischen dem Inhalt und der Seitenzahl kann mit einer gepunkteten
1519 Linie gefüllt werden:
1521 @lilypond[verbatim,quote]
1522 \header { tagline = ##f }
1524 tocItemMarkup = \tocItemWithDotsMarkup
1528 \markuplist \table-of-contents
1529 \tocItem \markup { Allegro }
1530 \tocItem \markup { Largo }
1537 Installierte Dateien:
1538 @file{../ly/toc-init.ly}.
1540 @funindex \table-of-contents
1544 @code{\table-of-contents},
1549 @node Arbeiten an Eingabe-Dateien
1550 @section Arbeiten an Eingabe-Dateien
1551 @translationof Working with input files
1554 * LilyPond-Dateien einfügen::
1555 * Verschiedene Editionen aus einer Quelldatei::
1560 @node LilyPond-Dateien einfügen
1561 @subsection LilyPond-Dateien einfügen
1562 @translationof Including LilyPond files
1565 @cindex einfügen von Dateien
1566 @cindex Dateien einfügen
1568 Ein größeres Projekt kann in einzelne Dateien aufgeteilt werden.
1569 Um eine andere Datei einzubinden, kann der Befehl
1572 \include "andereDatei.ly"
1578 Die Zeile @code{\include "andereDatei.ly"} benimmt sich genauso,
1579 also ob der Inhalt der Datei @file{andereDatei.ly} komplett in die
1580 Hauptdatei eingefügt werden würde. So kann man für ein größeres
1581 Projekt die einzelnen Stimmen der Instrumente getrennt notieren
1582 und sie dann in einer Partitur-Datei benutzen. Meistens werden
1583 in den eingefügten Dateien einige Variablen definiert, die dann
1584 auch in der Hauptdatei eingesetzt werden können. Mit Marken (Tags)
1585 gekennzeichnete Abschnitte können eingesetzt werden, um die
1586 entsprechenden Noten etc. an verschiedenen Stellen in der Datei
1587 zur Verfügung zu stellen. Siehe auch @ref{Verschiedene Editionen aus einer Quelldatei}.
1589 Auf Dateien im aktuellen Verzeichnis kann einfach mit dem Dateinamen
1590 nach dem @code{\include}-Befehl verwiesen werden. Dateien an anderen
1591 Stellen können eingebunden werden, indem entweder ein vollständiger
1592 Pfad oder ein relativer Pfad zu der Datei angegeben wird. Hierbei
1593 sollten die für UNIX typischen Schrägstriche (/) und nicht die
1594 rückwärtsgeneigten von Windows (\) verwendet werden, um die Verzeichnisse
1595 zu trennen. Wenn etwa die Datei @file{kram.ly} ein Verzeichnis
1596 höher liegt als das aktuelle Verzeichnis, sollte der Befehl so
1600 \include "../kram.ly"
1604 Wenn die Orchesterstimmen andererseits in einem Unterordner mit
1605 der Bezeichnung @code{stimmen} liegen, sieht er folgendermaßen
1609 \include "stimmen/VI.ly"
1610 \include "stimmen/VII.ly"
1614 Dateien, die eingebunden werden sollen, können selber auch wiederum
1615 ein @code{\include} enthalten. Diese Einbindung zweiter Ebene
1616 werden erst interpretiert, wenn sie sich in der Hauptdatei befinden,
1617 sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
1618 sondern relativ zur Hauptdatei gesetzt werden müssen. Dieses Verhalten
1619 kann jedoch auch verändert werden, indem man lilypond die Option
1620 @option{-drelative-includes} auf der Kommandozeile zuweist (oder indem
1621 man den Befehl @code{#(ly:set-option 'relative-includes #t)} an den
1622 Beginn der Quelldatei schreibt). Mit @code{relative-includes} wird
1623 der Pfad jedes @code{\include}-Befehls als relativ zu der Datei angenommen,
1624 in der sich der Befehl befindet. Dieses Verhalten wird empfohlen und wird
1625 in zukünftigen Versionen von LilyPond den Standard darstellen.
1627 Dateien können auch aus einem Verzeichnis eingebunden werden,
1628 dass im Suchpfad von LilyPond liegt. Hierzu muss auf der
1629 Kommandozeile das entsprechende Verzeichnis angegeben werden
1630 und die Dateien, die eingebunden werden, müssen nur mit ihrem Namen
1631 notiert sein. Wenn etwa die Datei @file{Haupt.ly} kompiliert
1632 werden soll, die Dateien aus dem Unterverzeichnis @file{stimmen}
1633 einbindet, müssen sie sich im Verzeichnis von @file{Haupt.ly}
1634 befinden und dann LilyPond folgendermaßen aufrufen:
1637 lilypond --include=stimmen Haupt.ly
1641 In @file{Haupt.ly} steht:
1649 Dateien, die in vielen Partituren verwendet werden sollen, können
1650 im LilyPond-Verzeichnis @file{../ly} gespeichert werden. (Die
1651 Stelle, an der dieses Verzeichnis sich befindet, hängt vom Betriebssystem
1652 ab, siehe hierzu @rlearning{Mehr Information}). Dateien
1653 in diesem Verzeichnis können einfach mit ihrem Namen eingefügt werden.
1654 So werden auch die Sprachdateien wie etwa @file{deutsch.ly} eingefügt.
1656 LilyPond lädt eine Anzahl an Dateien, wenn das Programm aufgerufen wird.
1657 Diese Dateien sind für den Benutzer nicht ersichtlich, aber die Dateien
1658 können identifiziert werden, indem LilyPond auf der Kommandozeile mit
1659 Option aufgerufen wird: @code{lilypond --verbose}. Hiermit wird
1660 neben anderer Information auch eine Liste von Pfaden und Dateien
1661 aufgeführt, die LilyPond benutzt. Die wichtigeren Dateien werden
1662 im Abschnitt @rlearning{Mehr Information} besprochen.
1663 Diese Dateien können verändert werden, aber Änderungen gehen verloren,
1664 wenn eine neue LilyPond-Version installiert wird.
1666 Einige einfache Beispiele, die die Benutzung von @code{\include} demonstrieren,
1668 @rlearning{Partituren und Stimmen}.
1671 Handbuch zum Lernen:
1672 @rlearning{Mehr Information},
1673 @rlearning{Partituren und Stimmen}.
1676 Wenn eine Datei eingebunden wird, deren Name einer Datei aus
1677 dem Installationsverzeichnis von LilyPond entspricht, wird die
1678 installierte Datei anstelle der eigenen verwendet.
1681 @node Verschiedene Editionen aus einer Quelldatei
1682 @subsection Verschiedene Editionen aus einer Quelldatei
1683 @translationof Different editions from one source
1685 Es gibt verschiedene Funktionen, die es möglich machen, unterschiedliche
1686 Versionen einer Partitur aus der gleichen Quelldatei zu produzieren.
1687 Variablen werden am besten eingesetzt, wenn es darum geht, längere
1688 Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf
1689 verschiedene Weise zu kombinieren. Tag-Marken dagegen werden am
1690 besten eingesetzt, wenn eine von mehreren kurzen alternativen
1691 Notenabschnitten ausgewählt werden soll und können auch eingesetzt
1692 werden, um Musikabschnitte an unterschiedlichen Stellen zusammenzufügen.
1694 Egal welche Methode am
1695 Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn
1696 die eigentlichen Noten und die Struktur der Partitur voneinander
1697 getrennt notiert werden -- so kann die Struktur geändert werden,
1698 ohne dass man Änderungen an den Noten vornehmen muss.
1701 * Variablen benutzen::
1703 * Globale Einstellungen benutzen::
1706 @node Variablen benutzen
1707 @unnumberedsubsubsec Variablen benutzen
1708 @translationof Using variables
1710 @cindex Variablen, Benutzung
1712 Wenn Notenabschnitt in Variablen definiert werden, können sie
1713 an unterschiedlichen Stellen in der Partitur eingesetzt werden,
1714 siehe auch @rlearning{Stücke durch Bezeichner organisieren}. Zum
1715 Beispiel enthält eine Vokalpartitur für ein @notation{a cappella}
1716 Stück oft einen Klavierauszug, der das Einüben einfacher macht.
1717 Der Klavierauszug enthält die gleichen Noten, sodass man sie nur
1718 einmal notieren muss. Noten aus zwei Variablen können auf einem
1719 System kombiniert werden, siehe @ref{Automatische Kombination von Stimmen}.
1722 @lilypond[verbatim,quote]
1723 sopranoMusic = \relative c'' { a4 b c b8( a) }
1724 altoMusic = \relative g' { e4 e e f }
1725 tenorMusic = \relative c' { c4 b e d8( c) }
1726 bassMusic = \relative c' { a4 gis a d, }
1727 allLyrics = \lyricmode {King of glo -- ry }
1729 \new Staff = "Soprano" \sopranoMusic
1730 \new Lyrics \allLyrics
1731 \new Staff = "Alto" \altoMusic
1732 \new Lyrics \allLyrics
1733 \new Staff = "Tenor" {
1737 \new Lyrics \allLyrics
1738 \new Staff = "Bass" {
1742 \new Lyrics \allLyrics
1745 \set Staff.printPartCombineTexts = ##f
1751 \set Staff.printPartCombineTexts = ##f
1761 Unterschiedliche Partituren, die entweder nur den Chor oder das
1762 Klavier zeigen, können produziert werden, indem die Struktur
1763 verändert wird; die Noten müssen dazu nicht verändert werden.
1765 Für längere Partituren können Variablen in eigene Dateien notiert
1766 werden, die dann eingebunden werden, siehe @ref{LilyPond-Dateien einfügen}.
1769 @node Marken benutzen
1770 @unnumberedsubsubsec Marken benutzen
1771 @translationof Using tags
1775 @cindex markierte Noten entfernen
1776 @cindex markierte Noten behalten
1777 @cindex in markierte Noten einfügen
1780 @funindex \keepWithTag
1781 @funindex \removeWithTag
1782 @funindex \pushToTag
1783 @funindex \appendToTag
1785 @funindex keepWithTag
1786 @funindex removeWithTag
1789 Der @code{\tag #'@var{TeilA}}-Befehl markiert einen musikalischen
1790 Ausdruck mit der Bezeichnung @var{TeilA}. Ausdrücke, die auf diese
1791 Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt
1792 bzw. ausgefiltert werden. Das geschieht mit den Befehlen
1793 @code{\keepWithTag #'@var{Bezeichnung}} bzw. @code{\removeWithTag #'@var{Bezeichnung}}.
1794 Die Wirkung dieser Filter auf die markierten Notenabschnitte ist
1797 @multitable @columnfractions .5 .5
1803 Markierte Noten mit vorgesetztem @code{\keepWithTag #'@var{Bezeichnung}}
1804 @tab Unmarkierte Noten und Noten mit der Marke @var{Bezeichnung} werden
1805 gesetzt, Noten mit einer anderen Marke werden nicht angezeigt.
1808 Markierte Noten mit vorgesetztem @code{\removeWithTag #'@var{Bezeichnung}}
1809 @tab Unmarkierte Noten und Noten mit einer anderen Marke als
1810 @var{Bezeichnung} wird angezeigt, Noten markiert mit @var{Bezeichnung}
1811 werden nicht angezeigt.
1814 Markierte Noten, weder mit vorgesetztem @code{\keepWithTag} noch
1815 @code{\removeWithTag}
1816 @tab Alle markierten und unmarkierten Noten werden angezeigt.
1820 Die Argumente der Befehle @code{\tag}, @code{\keepWithTag} und
1821 @code{\removeWithTag} sollten ein Symbol sein (wie etwa
1822 @code{#'score} oder @code{#'part}), gefolgt von einem musikalischen
1825 Im folgenden Beispiel erscheinen zwei Versionen der Noten, eine
1826 zeigt Triller in normaler Notation, die andere zeigt sie ausgeschrieben:
1828 @lilypond[verbatim,quote]
1829 music = \relative g' {
1831 \tag #'trills { d8.\trill }
1832 \tag #'expand { \repeat unfold 3 { e32 d } }
1837 \keepWithTag #'trills \music
1840 \keepWithTag #'expand \music
1845 Entsprechend können auch Abschnitte ausgeschlossen werden; das
1846 erfordert manchmal weniger Schreibarbeit:
1848 @lilypond[verbatim,quote]
1849 music = \relative g' {
1851 \tag #'trills { d8.\trill }
1852 \tag #'expand {\repeat unfold 3 { e32 d } }
1857 \removeWithTag #'expand
1861 \removeWithTag #'trills
1866 Marken können auch auf Artikulationen, Text usw angewendet werden,
1870 -\tag #'@var{your-tag}
1874 voranstellt (jedoch nach der Note, an die sie gebunden sind). Mit
1875 diesem Code etwa könnte man entweder Fingersatz oder aber einen
1880 c1-\tag #'warn ^"Achtung!"
1883 Mehrfache Marken können mithilfe von mehreren @code{\tag}-Befehlen
1886 @lilypond[quote,verbatim]
1887 music = \relative c'' {
1888 \tag #'a \tag #'both { a4 a a a }
1889 \tag #'b \tag #'both { b4 b b b }
1892 \keepWithTag #'a \music
1893 \keepWithTag #'b \music
1894 \keepWithTag #'both \music
1898 Mehrfache @code{\removeWithTag}-Filter können auf einen
1899 musikalischen Ausdruck angewendet werden, um mehrere unterschiedliche
1900 markierte Abschnitte aus dem Druckbild zu entfernen.
1902 @lilypond[verbatim,quote]
1903 music = \relative c'' {
1904 \tag #'A { a4 a a a }
1905 \tag #'B { b4 b b b }
1906 \tag #'C { c4 c c c }
1907 \tag #'D { d4 d d d }
1916 Zwei oder mehr @code{\keepWithTag}-Filter in einem musikalischen
1917 Ausdruck bewirken, dass @emph{alle} markierten Abschnitte entfernt
1918 werden, weil der erste Befehl alle markierten Abschnitt außer dem
1919 im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen
1920 eben genannten zusätzlich entfernt.
1922 Manchmal will man Noten an einem bestimmen Platz in existierenden
1923 Noten einfügen. Dafür kann entweder @code{\pushToTag} oder
1924 @code{\appendToTag} benutzt werden, um Material hinter bzw. vor den
1925 Elementen (@code{elements}) der existierenden Noten einzufügen. Nicht
1926 alle musikalischen Konstruktionen haben Elemente, aber sequentielle und
1927 simultane Noten sind ziemlich gute Kandidaten:
1929 @lilypond[verbatim,quote]
1930 test = { \tag #'here { \tag #'here <<c''>> } }
1933 \pushToTag #'here c'
1934 \pushToTag #'here e'
1935 \pushToTag #'here g' \test
1936 \appendToTag #'here c'
1937 \appendToTag #'here e'
1938 \appendToTag #'here g' \test
1942 Beide Befehle erhalten einen Tag, das Material, das bei jedem Auftreten
1943 des Tags eingefügt werden soll und den Ausdruck, der mit dem Tag versehen
1944 ist. Der Befehl stellt sicher, dass alle Änderungen kopiert werden, sodass
1945 das ursprüngliche @code{\test} seine Bedeutung behält.
1948 Handbuch zum Lernen:
1949 @rlearning{Stücke durch Bezeichner organisieren}.
1952 @ref{Automatische Kombination von Stimmen},
1953 @ref{LilyPond-Dateien einfügen}.
1957 @c This warning is more general than this placement implies.
1958 @c Rests are not merged whether or not they come from tagged sections.
1959 @c Should be deleted? -td
1963 Multiple rests are not merged if you create a score with more
1964 than one tagged section at the same place.
1969 @node Globale Einstellungen benutzen
1970 @unnumberedsubsubsec Globale Einstellungen benutzen
1971 @translationof Using global settings
1973 @funindex include-settings
1975 Man kann globale Einstellungen aus einer externen Datei einfügen:
1978 lilypond -dinclude-settings=MY_SETTINGS.ly MY_SCORE.ly
1982 Einstellungsgruppen, wie etwa Seitengröße, Schriftart oder Schriftschnitt, können
1983 in eigenen Dateien gespeichert werden. Das ermöglicht es, aus der gleichen
1984 Partitur unterschiedliche Editionen zu erstellen bzw. Standardeinstellungen
1985 für eine ganze Anzahl von Partituren wiederzuverwenden, indem man einfach
1986 die entsprechende Einstellungsdatei angibt.
1988 Diese Technik funktioniert auch gut für globale Formatierungen, wie behandelt
1989 in @rlearning{Globale Formatierung}.
1992 Handbuch zum Lernen:
1993 @rlearning{Stücke durch Bezeichner organisieren},
1994 @rlearning{Globale Formatierung}.
1997 @ref{LilyPond-Dateien einfügen}.
2001 @subsection sonderzeichen
2002 @translationof Special characters
2004 @cindex Sonderzeichen
2005 @cindex Nicht-ASCII-Zeichen
2008 * Zeichenkodierung::
2014 @node Zeichenkodierung
2015 @unnumberedsubsubsec Zeichenkodierung
2016 @translationof Text encoding
2021 LilyPond benutzt alle Zeichen, die durch das Unicode-Konsortium
2022 und ISO/IEC 10646 definiert sind. Hiermit wird den Zeichen
2023 fast aller Schriftsysteme der Welt ein eindeutiger Name und ein
2024 Code-Punkt zugewiesen, mit dem sie identifizierbar sind. Unicode
2025 kann mit mehreren Zeichenkodierungen verwirklicht werden. LilyPond
2026 benutzt die UTF-8-Kodierung (UTF = Unicode Transformation Format),
2027 in der die normalen Zeichen des lateinischen Alphabets mit einem
2028 Byte dargestellt werden, während alle anderen Zeichen zwischen
2029 zwei und vier Byte Länge haben.
2031 Das Aussehen des Zeichens wird bestimmt durch die gerade benutzte
2032 Schriftart (engl. font). In einer Schriftartdatei werden die
2033 Nummern der Unicode-Zeichen einem bestimmten Glyphen zugeordnet.
2034 LilyPond verwendet die Pango-Bibliothek um mehrsprachige Texte
2035 und komplexe Skripte korrekt zu setzen.
2037 LilyPond verändert die Kodierung der Eingabedatei nicht. Das heißt,
2038 dass jeder Text -- Überschriften, Gesangstext, Spielanweisungen etc. --
2039 der nicht nur aus ASCII-Zeichen besteht, in UTF-8 kodiert sein
2040 musst. Am einfachsten geht das, indem man einen Texteditor
2041 einsetzt, der mit Unicode-Zeichen umgehen kann. Die meisten
2042 modernen weit verbreiteten Editoren besitzen heute UTF-8-Unterstützung,
2043 wie etwa vim, Emacs, jEdit oder GEdit. Alle MS Windows-Systeme
2044 nach NT benutzen Unicode intern, sodass sogar Notepad Dateien
2045 in UTF-8 lesen und speichern kann. Ein Editor mit mehr
2046 Funktionen unter Windows ist BabelPad oder Notepad++.
2048 Wenn eine LilyPond-Eingabedatei nicht-ASCII-Zeichen enthält
2049 und nicht in UTF-8 gespeichert ist, gibt es folgende Fehlermeldung:
2052 FT_Get_Glyph_Name () error: invalid argument
2055 Heir ein Beispiel mit Kyrilliza, hebräischem und portugiesischem Text:
2058 %c No verbatim here as the code does not display correctly in PDF
2060 bulgarian = \lyricmode {
2061 Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2065 hebrew = \lyricmode {
2066 זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2070 portuguese = \lyricmode {
2071 à vo -- cê uma can -- ção legal
2077 \addlyrics { \bulgarian }
2078 \addlyrics { \hebrew }
2079 \addlyrics { \portuguese }
2084 @unnumberedsubsubsec Unicode
2085 @translationof Unicode
2089 Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
2090 bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
2091 der Befehl @code{\char ##xhhhh} oder @code{\char #dddd} innerhalb einer
2092 @code{\markup}-Umgebung benutzt werden. Hierbei bedeutet @code{hhhh} die
2093 hexadezimale Zahl und @code{ddd} die entsprechende dezimale Zahl
2094 für das erforderliche Zeichen. Nullen zu Beginn können ausgelassen werden,
2095 aber normalerweise werden alle vier Zeichen der hexadezimalen Notation
2096 notiert. (Achten Sie darauf, dass Sie @emph{nicht} UTF-8-Codepunkte
2097 einsetzen, weil UTF-8 zusätzliche Bits enthält, die die Nummer der Oktets bezeichnet.) Unicode-Tabellen und ein Verzeichnis der Zeichenbezeichnungen
2098 mit einer hexadezimalen Verweiszahl finden sich auf der Internetseite
2099 des Unicode Consortiums: @uref{http://www.unicode.org/}.
2101 Mit @code{\char ##x03BE} und @code{\char #958} wird
2102 beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
2103 Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat.
2106 Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
2107 Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
2108 gespeichert werden. Es muss natürlich auch noch eine Schriftart auf
2109 dem System installiert sein, die die notierten Zeichen darstellen kann.
2111 Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem
2112 hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen,
2113 im Gesangstext und als normaler Text außerhalb der Partitur.
2115 @lilypond[quote,verbatim]
2118 c1 \mark \markup { \char ##x03EE }
2119 c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
2121 \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2123 \markup { "Copyright 2008--2012" \char ##x00A9 }
2126 @cindex Copyright-Zeichen
2128 Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
2132 copyright = \markup @{ \char ##x00A9 "2008" @}
2138 @unnumberedsubsubsec ASCII-Aliase
2139 @translationof ASCII aliases
2141 Eine Liste von ASCII-Befehlen für Sonderzeichen kann
2144 @lilypond[quote,verbatim]
2146 #(include-special-characters)
2149 \markup "&flqq; – &OE;uvre incomplète… &frqq;"
2152 \new Staff { \repeat unfold 9 a'4 }
2154 This is al -- so wor -- kin'~in ly -- rics: –_&OE;…
2159 "The replacement can be disabled:"
2160 "– &OE; …"
2161 \override #'(replacement-alist . ()) "– &OE; …"
2165 Man kann auch eigen Aliase erstellen, entweder global:
2167 @lilypond[quote,verbatim]
2169 #(add-text-replacements!
2170 '(("100" . "hundred")
2171 ("dpi" . "dots per inch")))
2173 \markup "A 100 dpi."
2179 @lilypond[quote,verbatim]
2180 \markup \replace #'(("100" . "hundred")
2181 ("dpi" . "dots per inch")) "A 100 dpi."
2186 @ref{Liste der Sonderzeichen}.
2188 Installierte Dateien:
2189 @file{ly/text-replacements.ly}.
2192 @node Ausgabe kontrollieren
2193 @section Ausgabe kontrollieren
2194 @translationof Controlling output
2197 * Notationsfragmente extrahieren::
2198 * Korrigierte Musik überspringen::
2199 * Alternative Ausgabeformate::
2200 * Die Notationsschriftart verändern::
2204 @node Notationsfragmente extrahieren
2205 @subsection Notationsfragmente extrahieren
2206 @translationof Extracting fragments of music
2208 Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
2209 Quelldatei zu erzeugen. Das kann damit verglichen werden, dass man
2210 mit der Schere bestimmte Regionen ausschneidet.
2212 Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
2213 (engl. to clip = ausschneiden), extra definiert. Mit folgender
2214 Definition beispielsweise
2221 (make-rhythmic-location 5 1 2)
2222 (make-rhythmic-location 7 3 4)))
2227 wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
2228 beginnt und im siebten Takt endet. Die Bedeutung von @code{5 1 2} ist:
2229 nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
2232 Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
2233 werden, indem mehrere derartige Paare definiert werden.
2235 Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
2236 Parameter @option{-dclip-systems} aufgerufen werden. Die Schnipsel
2237 werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
2238 diese Formate auch als Parameter angegeben werden.
2240 Zu mehr Information über Ausgabeformate siehe @rprogram{lilypond aufrufen}.
2243 @node Korrigierte Musik überspringen
2244 @subsection Korrigierte Musik überspringen
2245 @translationof Skipping corrected music
2248 @funindex skipTypesetting
2249 @funindex showFirstLength
2250 @funindex showLastLength
2252 Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
2253 Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
2254 Korrektur. Um die Korrektur zu beschleunigen, kann eingestellt werden,
2255 dass nur die letzten paar Takte angezeigt werden. Das erreicht man
2259 showLastLength = R1*5
2264 in der Quelldatei. Damit werden nur die letzten fünf Takte (in einem
2265 4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt. Besonders
2266 bei längeren Stücken ist es meistens sehr viel schneller, nur einen
2267 kleinen Teil des Stückes zu setzen als die gesamte Länge. Wenn man
2268 am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
2269 werden soll), kann auch die @code{showFirstLength}-Eigenschaft
2272 Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
2273 Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
2274 werden. Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
2275 wird kein Notensatz ausgegeben.
2277 Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
2278 kontrollieren. Hiermit werden alle Ereignisse, auch Tempo- und
2279 Instrumentenwechsel ausgelassen. Man muss also sehr genau darauf
2280 achten, dass nichts unerwartetes geschieht.
2282 @lilypond[quote,relative=2,ragged-right,verbatim]
2284 \set Score.skipTypesetting = ##t
2286 \set Score.skipTypesetting = ##f
2290 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
2291 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
2292 Übersetzung der Datei gespart wird.
2295 @node Alternative Ausgabeformate
2296 @subsection Alternative Ausgabeformate
2297 @translationof Alternative output formats
2299 @cindex scalable vector graphics output
2300 @cindex skalierbare Vektorgraphik-Ausgabe
2302 @cindex encapsulated postscript output
2306 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
2307 Document Forma) und PS (PostScript). SVG (Scalable Vector
2308 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
2309 Network Graphics) gibt es auch als Ausgabeformate über die
2310 Kommandozeile. Siehe @rprogram{Optionen auf der Kommandozeile für lilypond}.
2313 @node Die Notationsschriftart verändern
2314 @subsection Die Notationsschriftart verändern
2315 @translationof Replacing the notation font
2317 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
2318 eingesetzt wird und kann unter der Adresse
2320 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2324 heruntergeladen werden. Hier einige Takte Noten mit der Gonville-Schriftart:
2326 @c NOTE: these images are a bit big, but that's important
2327 @c for the font comparison. -gp
2328 @sourceimage{Gonville_after,,,}
2330 Und hier einige Beispieltakte in der Feta-Schriftart:
2332 @sourceimage{Gonville_before,,,}
2334 @subsubheading Installationsanweisungen für MacOS
2336 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
2337 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
2338 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
2339 siehe @rlearning{Mehr Information}.
2340 Benennen Sie das existierende @code{fonts}-Verzeichnis in
2341 @code{fonts_orig} um und benennen Sie das Verzeichnis
2342 @code{lilyfonts} in @code{fonts}. Das alte Verzeichnis
2343 @code{fonts_orig} können Sie einfach in @code{fonts}
2344 zurückbenennen, um wieder nach Feta zu wechseln.
2347 Handbuch zum Lernen: @rlearning{Mehr Information}.
2351 Gonville kann nicht verwendet werden, um Alte Notation zu setzen und es
2352 ist wahrscheinlich, dass neuere Glyphen in späteren Versionen von
2353 LilyPond nicht in Gonville enthalten sein werden.
2354 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
2355 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
2359 @section MIDI-Ausgabe
2360 @translationof MIDI output
2365 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
2366 Kontrolle und Interaktion mit digitalen Instrumenten. Eine
2367 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
2368 Bändern/Stimmen. Es ist keine eigentliche Klangdatei, denn man
2369 benötigt spezielle Programme die die Notenereignisse in Klang
2372 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
2373 man sich anhören kann, was man notiert hat. Das hilft oft sehr gut
2374 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
2375 lassen sich meist sehr gut hören.
2377 Normale MIDI-Ausgabe ist etwas roh; optional kann eine verbesserte und
2378 realistischere MIDI-Ausgabe mit einem @ref{Artikuliere-Skript}
2381 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und reserviert
2382 Kanala 10 für Schlagzeug. Es gibt nur 16 MIDI-Kanäle pro Gerät,
2383 sodass MIDI-Kanäle mehrfach benutzt werden, wenn eine Partitur mehr
2384 als 15 Notensysteme hat.
2387 * MIDI-Dateien erstellen::
2389 * Was geht in die MIDI-Ausgabe::
2390 * Wiederholungen im MIDI::
2391 * MIDI-Lautstärke kontrollieren::
2392 * Schlagzeug in MIDI::
2393 * Artikuliere-Skript::
2397 @node MIDI-Dateien erstellen
2398 @subsection MIDI-Dateien erstellen
2399 @translationof Creating MIDI files
2401 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
2402 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
2412 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
2413 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
2414 Wenn auch die Notation gewünscht ist, muss zusätzlich die
2415 @code{\layout}-Umgebung vorhanden sein:
2425 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
2426 korrekt in das MIDI-Format übersetzt. Dynamikzeichen, Crescendo und
2427 Decrescendo werden in den MIDI-Lautstärkekanal übertragen. Dynamikzeichen
2428 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
2429 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
2430 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
2431 werden. Siehe hierzu @ref{Der MIDI-Block}.
2433 Das Anfangstempo und spätere Tempoänderungen können mit dem
2434 @code{\tempo}-Befehl innerhalb der Notation notiert werden. Er
2435 bewirkt Tempoänderungen auch in der MIDI-Datei. Der Befehl setzt
2436 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
2437 auch unterdrückt werden kann, siehe @ref{Metronomangabe}. Eine
2438 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
2439 unten gezeigt, siehe @ref{Der MIDI-Block}.
2441 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
2442 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
2443 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
2444 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
2445 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
2446 oder @code{\score}-Blocks einfügen:
2449 #(ly:set-option 'midi-extension "midi")
2452 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
2454 Als Alternative kann man diese Option auch als Kommandozeilenparameter
2458 lilypond … -dmidi-extension=midi lilyDatei.ly
2461 @unnumberedsubsubsec Instrumentenbezeichnungen
2463 @cindex Instrumentbezeichnungen
2465 @funindex Staff.midiInstrument
2467 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
2468 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
2469 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
2470 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
2471 in der dort definierten Schreibweise notiert werden.
2475 \set Staff.midiInstrument = #"glockenspiel"
2481 \new Staff \with @{midiInstrument = #"cello"@} @{
2486 Wenn die Schreibweise nicht genau einem definierten Instrument aus
2487 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
2491 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2492 {changing-midi-output-to-one-channel-per-voice.ly}
2496 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
2497 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
2498 nicht geändert werden kann.
2500 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
2501 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
2502 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2505 @node Der MIDI-Block
2506 @subsection Der MIDI-Block
2507 @translationof MIDI block
2509 @cindex MIDI-Umgebung
2511 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
2512 vorkommen, wenn MIDI-Ausgabe gewünscht ist. Sie entspricht der
2513 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut. Oft wird
2514 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
2515 Kontexte umgeändert werden, neue Kontexte definiert werden oder
2516 neue Werte definiert werden. Das folgende Beispiel etwa definiert
2517 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
2526 tempoWholesPerMinute = #(ly:make-moment 72 4)
2532 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert. Wenn
2533 das Tempo auf diese Weise definiert wird, kann keine punktierte
2534 Note als Einheit angegeben werden. Wenn sie benötigt wird, muss
2535 man sie in kleinere Einheiten auflösen. Ein Tempo von 90 punktierten
2536 Viertelnoten pro Minute kann beispielsweise dargestellt werden
2537 als 270 Achtelnoten pro Minute:
2540 tempoWholesPerMinute = #(ly:make-moment 270 8)
2543 @cindex MIDI-Kontextdefinitionen
2545 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
2546 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
2547 wird. Klangübersetzungsmodule werden @code{performer}
2548 genannt. Die Kontexte für die MIDI-Ausgabe sind in der
2549 Datei @file{../ly/performer-init.ly} definiert, siehe
2550 @rlearning{Mehr Information}. Um beispielsweise
2551 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
2552 entfernen, müssen folgende Zeilen eingefügt werden:
2559 \remove "Dynamic_performer"
2564 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
2565 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
2566 @code{\score} beginnt.
2570 @{ @dots{}Noten@dots{} @}
2576 @node Was geht in die MIDI-Ausgabe
2577 @subsection Was geht in die MIDI-Ausgabe
2578 @translationof What goes into the MIDI output?
2581 @unnumberedsubsubsec In MIDI unterstützt
2583 @cindex Tonhöhen in MIDI
2584 @cindex MIDI, Tonhöhen
2585 @cindex Vierteltöne in MIDI
2586 @cindex MIDI, Vierteltöne
2587 @cindex Mikrotöne in MIDI
2588 @cindex MIDI, Mikrotöne
2589 @cindex Akkordsymbole in MIDI
2590 @cindex MIDI, Akkordsymbole
2591 @cindex Rhythmen in MIDI
2592 @cindex MIDI, Rhythmen
2593 @cindex Artikuliere-Skript
2594 @cindex MIDI, Artikuliere-Skript
2595 @cindex MIDI, Artikulationen
2596 @cindex Triller in MIDI
2597 @cindex Verzierungen in MIDI
2598 @cindex Rallantando in MIDI
2599 @cindex Accelerando in MIDI
2601 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
2605 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
2606 Spieler benötigt, der Tonhöhen verändern kann.)
2607 @item Akkorde, die als Symbole notiert werden
2608 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
2609 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
2611 @item Dynamikzeichen
2612 @item Crescendi, decrescendi zu mehreren Noten
2613 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
2617 Durch Einsatz vom @ref{Artikuliere-Skript} können noch einige Elemente
2618 zu der Liste hinzugefügt werden:
2621 @item Artikulationen (Bögen, Staccato usw.)
2623 @item Rallentando und accelerando
2627 @unnumberedsubsubsec In MIDI nicht unterstützt
2629 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen,
2630 außer am setzt das @ref{Artikuliere-Skript} ein:
2633 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
2634 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
2635 @item Staccato und andere Artikulationen und Ornamente
2636 @item Legato- und Phrasierungsbögen
2637 @item Crescendi, decrescendi zu einer einzelnen Note
2638 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
2639 @item Bezifferter Bass
2640 @item Akkorde mit Mikrotönen
2644 @node Wiederholungen im MIDI
2645 @subsection Wiederholungen im MIDI
2646 @translationof Repeats in MIDI
2648 @cindex Wiederholungen in MIDI
2649 @cindex MIDI und Wiederholungen
2651 @funindex \unfoldRepeats
2653 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2654 auch in der MIDI-Ausgabe wiedergegeben werden. Das wird erreicht, indem
2655 die @code{\unfoldRepeats}-Funktion eingesetzt wird. Diese Funktion
2656 verändert alle Wiederholungen in ausgeschriebene Noten.
2658 @lilypond[quote,verbatim]
2660 \repeat tremolo 8 { c'32 e' }
2661 \repeat percent 2 { c''8 d'' }
2662 \repeat volta 2 { c'4 d' e' f' }
2671 In Parituren mit mehreren Stimmen funktioniert das Ausschreiben der
2672 Wiederholungen im MIDI nur richtig, wenn @emph{jede} Stimme vollständig
2673 notierte Wiederholungsanweisungen enthält.
2675 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2676 wird, ist er notwendig,
2677 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2678 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2679 in der anderen werden die Wiederholungen notiert und als Partitur
2680 gesetzt. Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2689 \unfoldRepeats @var{..music..}
2695 @node MIDI-Lautstärke kontrollieren
2696 @subsection MIDI-Lautstärke kontrollieren
2697 @translationof Controlling MIDI dynamics
2699 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2700 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2701 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2702 als auch relative Lautstärken von Dynamikanweisungen und auch
2703 relative Lautstärke von einzelnen Instrumenten einzustellen.
2706 @unnumberedsubsubsec Dynamik-Zeichen
2708 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2709 zur Verfügung stehenden MIDI-Lautstärke notiert. Die Standardbrüche
2710 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2711 @notation{fffff}. Diese Anweisung befinden sich in der Datei
2712 @file{../scm/midi.scm}, siehe auch @rlearning{Mehr Information}.
2713 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2714 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2715 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2716 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2719 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2720 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann. Gleiches gilt
2721 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2722 nicht enthalten sind. Die Scheme-Funktion, die hier definiert wird,
2723 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2724 Standardanweisungen auf:
2726 @lilypond[verbatim,quote]
2727 #(define (myDynamics dynamic)
2728 (if (equal? dynamic "rfz")
2730 (default-dynamic-absolute-volume dynamic)))
2734 \set Staff.midiInstrument = #"cello"
2735 \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2747 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2748 umdefiniert werden soll, ist es besser, die
2749 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2750 @file{../scm/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2751 zu benutzen. Das letzte Beispiel dieses Abschnittes zeigt, wie das
2752 gemacht werden kann.
2755 @unnumberedsubsubsec MIDI-Lautstärke
2757 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2758 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2759 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2760 werden. Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2761 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2762 wenn diese Einstellung von Anfang an Wirkung zeigen soll. Der Bruch,
2763 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2767 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2771 errechnet. Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2772 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2774 @lilypond[verbatim,quote]
2780 \set Staff.midiInstrument = #"flute"
2781 \new Voice \relative c''' {
2789 \set Staff.midiInstrument = #"clarinet"
2790 \new Voice \relative c'' {
2801 tempoWholesPerMinute = #(ly:make-moment 72 2)
2802 midiMinimumVolume = #0.2
2803 midiMaximumVolume = #0.5
2810 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2812 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2813 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2814 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2815 werden. Damit kann man die Qualität der MIDI-Datei
2816 merklich verbessern.
2818 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2819 zur Lautstärke der Flöte verringert. In jeder Stimme muss
2820 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2821 diese Einstellung korrekt funktioniert.
2823 @lilypond[verbatim,quote]
2829 \set Staff.midiInstrument = #"flute"
2830 \set Staff.midiMinimumVolume = #0.7
2831 \set Staff.midiMaximumVolume = #0.9
2832 \new Voice \relative c''' {
2840 \set Staff.midiInstrument = #"clarinet"
2841 \set Staff.midiMinimumVolume = #0.3
2842 \set Staff.midiMaximumVolume = #0.6
2843 \new Voice \relative c'' {
2854 tempoWholesPerMinute = #(ly:make-moment 72 2)
2861 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
2863 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2864 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
2865 Anpassungen für die Lautstärken bestimmter Instrumente vor.
2866 Diese Instrumente und ihre entsprechende Veränderung lassen
2867 sich aus der Tabelle @notation{instrument-equalizer-alist}
2868 in der Datei @file{../scm/midi.scm} entnehmen.
2870 Dieser grundlegende Equalizer kann ersetzt werden, indem die
2871 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
2872 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
2873 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
2874 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
2875 Instruments darstellt. Die Ersetzung der Standardfunktion wird
2876 auf gleiche Weise vorgenommen, wie es schon für die
2877 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
2878 gezeigt wurde. Der Standard-Equalizer,
2879 @notation{default-instrument-equalizer} in der Datei
2880 @file{../scm/midi.scm} zeigt, wie solche eine Funktion erstellt werden
2883 Das folgende Beispiel definiert für die Flöte und Klarinette relative
2884 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
2886 @lilypond[verbatim,quote]
2887 #(define my-instrument-equalizer-alist '())
2889 #(set! my-instrument-equalizer-alist
2892 ("flute" . (0.7 . 0.9))
2893 ("clarinet" . (0.3 . 0.6)))
2894 my-instrument-equalizer-alist))
2896 #(define (my-instrument-equalizer s)
2897 (let ((entry (assoc s my-instrument-equalizer-alist)))
2906 \set Score.instrumentEqualizer = #my-instrument-equalizer
2907 \set Staff.midiInstrument = #"flute"
2908 \new Voice \relative c''' {
2916 \set Staff.midiInstrument = #"clarinet"
2917 \new Voice \relative c'' {
2928 tempoWholesPerMinute = #(ly:make-moment 72 2)
2936 @node Schlagzeug in MIDI
2937 @subsection Schlagzeug in MIDI
2938 @translationof Percussion in MIDI
2940 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
2941 notiert. Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
2942 ausgegeben. Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
2943 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
2944 in einem @code{Staff}-Kontext notiert. Nur so lässt sich auch hier
2945 eine richtige MIDI-Ausgabe erreichen.
2947 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
2948 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
2949 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
2950 notiert werden. Es handelt sich
2951 um @code{melodic tom, taiko drum, synth drum} u. A.
2953 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
2954 z. B. Kastagnetten. Die einfachste Methode, derartige Instrumente
2955 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
2961 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
2962 Schlagstock (sidestick) für diesen Zweck eingesetzt.
2965 @node Artikuliere-Skript
2966 @subsection Artikuliere-Skript
2967 @translationof The Articulate script
2969 Eine realistischere MIDI-Ausgabe ist möglich, wenn man das
2970 Artikuliere-Skript einsetzt. Es versucht, Artikulationen
2971 (Bögen, Staccato) mit einzubeziehen, indem Noten mit
2972 sequentieller Musik von passender Verlängerung oder Verkürzung
2973 mit entprechenden Skips ersetzt werden. Es versucht auch,
2974 Triller usw. klingen zu lassen und rallantando und
2975 accelerando wahrzunehmen.
2977 Um das Artikuliere-Skript einzusetzen, muss oben in der
2981 \include "articulate.ly"
2985 eingefügt werden. Im @code{\score}-Abschnitt schreibt man
2988 \unfoldRepeats \articulate <<
2989 der Rest der Partitur...
2993 Wenn die Eingabedatei auf diese Art verändert wurd, wird die
2994 Notenausgabe stark verändert, aber die MIDI-Ausgabe produziert
2995 ein besseres Ergebnis.
2997 Wenn auch nicht unbedingt notwendig, damit das Artikuliere-Skript
2998 funktioniert, bietet es sich an, @code{\unfoldRepeats} wie im
2999 Beispiel oben zu verwenden, weil dadurch Abkürzungen wie etwa
3000 Triller ausgeführt werden.
3004 Articulate verkürzt Akkorde und manche Musik (besonders Orgelmusik)
3005 kann schlechter klingen.
3009 @node Musikalische Information extrahieren
3010 @section Musikalische Information extrahieren
3011 @translationof Extracting musical information
3013 Neben graphischer Ausgabe und MIDI kann LilyPond auch die musikalische
3014 Information als Text anzeigen:
3017 * LilyPond-Notation anzeigen::
3018 * Musikalische Scheme-Ausdrücke anzeigen::
3019 * Musikalische Ereignisse in einer Datei speichern::
3022 @node LilyPond-Notation anzeigen
3023 @subsection LilyPond-Notation anzeigen
3024 @translationof Displaying LilyPond notation
3026 @funindex \displayLilyMusic
3028 Mit der musikalischen Funktion @code{\displayLilyMusic} kann
3029 man einen musikalischen Ausdruck anzeigen. Um die Ausgabe zu
3030 sehen, wird LilyPond üblicherweise auf der Kommandozeile
3031 aufgerufen. Beispielsweise
3035 \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3043 @{ a,4 cis e fis g @}
3046 Standardmäßig gibt LilyPond diese Nachrichten auf die Kommandozeile
3047 aus, zusammen mit all den anderen LilyPond-Nachrichten über die
3048 Kompilation. Um die Nachrichten zu speichern, kann man die Ausgabe
3049 in eine Datei umleiten:
3052 lilypond file.ly >display.txt
3057 LilyPond zeit nicht nur die musikalischen Ausdrücke an, sondern
3058 interpretiert sie auch (weil @code{\displayLilyMusic} sie an das
3059 Programm zurückgibt, zusätzlich zur Anzeige). Das ist sehr
3060 praktisch, denn man kann einfach @code{\displayLilyMusic}
3061 in vorhandene Noten einfügen, um Informationen darüber zu erhalten.
3062 Wenn Sie nicht wollen, dass LilyPond die angezeigten
3063 musikalischen Ausdrücke auch interpretiert, muss @code{\void}
3064 eingesetzt werden, damit der Ausdruck für die Interpretation ignoriert wird:
3068 \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3073 @node Musikalische Scheme-Ausdrücke anzeigen
3074 @subsection Musikalische Scheme-Ausdrücke anzeigen
3075 @translationof Displaying scheme music expressions
3077 Siehe @rextend{Musikalische Funktionen darstellen}.
3080 @node Musikalische Ereignisse in einer Datei speichern
3081 @subsection Musikalische Ereignisse in einer Datei speichern
3082 @translationof Saving music events to a file
3084 Musikereignisse können in einer Datei Notensystem für Notensystem
3085 gespeichert werden, indem eine Datei in die Paritur eingefügt
3089 \include "event-listener.ly"
3092 Das erstellt Dateien mit der Bezeichnung @file{DATEINAME-SYSTEMNAME.notes} oder
3093 @file{DATEINAME-unnamed-staff.notes} für jedes Notensystem.
3094 Wenn mehrere Systeme ohne Bezeichnung auftreten, werden die
3095 Ereignisse aller Notensysteme zusammen in der selben Datei
3096 gemischt. Die Ausgabe sieht folgendermaßen aus:
3099 0.000 note 57 4 p-c 2 12
3101 0.250 note 62 4 p-c 7 12
3102 0.500 note 66 8 p-c 9 12
3103 0.625 note 69 8 p-c 14 12
3108 Die Syntax ist eine durch Tabulatoren getrennte Zeile mit zwei
3109 festen Zellen, gefolgt von optionalen Parametern.
3112 @var{time} @var{type} @var{...params...}
3115 Diese Information kann einfach ein ein anderes Programm wie
3116 etwa ein Python-Skript eingelsen werden und kann nützlich für
3117 Forscher sein, die musikalische Analyse- oder Wiedergabeexperimente
3118 mit LilyPond machen wollen.
3122 Nicht alle musikalischen Ereignisse werden von
3123 @file{event-listener.ly} unterstützt. Es handelt sich eher um ein
3124 gut gemachtes @qq{proof of concept}. Wenn Ereignisse, die Sie
3125 brauchen, nicht in enthalten sind, können Sie @file{event-listener.ly}
3126 in Ihr LilyPond-Verzeichnis kopieren und die Datei verändern,
3127 sodass sie die benötigte Information ausgibt.