1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
4 Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
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 auf oberster Ebene
389 angegeben wird, hat die spätere Vorrang. Für Einzelheiten, wie dadurch
390 die @code{\layout}-Umgebung beeinflusst wird, siehe
391 @ref{Die layout-Umgebung}.
394 Ein direkter Scheme-Ausdruck, wie etwa
395 @code{#(set-default-paper-size "a7" 'landscape)} oder
396 @code{#(ly:set-option 'point-and-click #f)}.
399 Eine @code{\header}-Umgebung. Damit wird die globale Titelei
400 eingestellt. Das ist die Umgebung, in der sich Definition für
401 das ganze Buch befinden, wie Komponist, Titel usw.
404 Eine @code{\score}-Umgebung. Die in ihr enthaltene Partitur wird
405 zusammen mit anderen vorkommenden @code{\score}-Umgebungen gesammelt
406 und in ein @code{\book} zusammengefasst. Dieses Verhalten kann
407 verändert werden, indem die Variable @code{toplevel-score-handler}
408 auf höchster Ebene gesetzt wird. Die Definition des Standards findet sich
409 in der Datei @file{../scm/lily.scm}.
412 Eine @code{\book}-Umgebung fasst mehrere Sätze (d. h. mehrere
413 @code{\score}-Umgebungen) logisch in ein Dokument zusammen.
414 Wenn mehrere @code{\score}-Partituren vorkommen, wird für jede
415 @code{\book}-Umgebung eine eigene Ausgabedatei erstellt, in der
416 alle in der Umgebung enthaltenen Partituren zusammengefasst sind.
417 Der einzige Grund, explizit eine @code{\book}-Umgebung zu setzen,
418 ist, wenn mehrere Ausgabedateien aus einer einzigen Quelldatei
419 erstellt werden sollen. Eine Ausnahme sind lilypond-book-Dokumente,
420 in denen eine @code{\book}-Umgebung explizit hinzugefügt werden
421 muss, wenn mehr als eine @code{\score}- oder @code{\markup}-Umgebung
422 im gleichen Beispiel angezeigt werden soll. Dieses Verhalten
423 kann verändert werden, indem die Variable @code{toplevel-book-handler}
424 auf höchster Ebene gesetzt wird. Die Definition des Standards
425 findet sich in der Datei @file{../scm/lily.scm}.
428 Eine @code{\bookpart}-Umgebung. Ein Buch (@code{\book}) kann in
429 mehrere Teile untergliedert sein, indem @code{\bookpart}-Umgebungen
430 eingesetzt werden. Jeder Buchabschnitt beginnt auf einer neuen
431 Seite und kann eigene Papierdefinitionen in einer @code{\paper}-Umgebung
435 Ein zusammengesetzter musikalischer Ausdruck wie etwa
440 Dieses Beispiel wird von LilyPond automatisch in einer
441 @code{\score}-Umgebung in einem Buch interpretiert und
442 mit anderen @code{\score}-Umgebungen und musikalischen
443 Ausdrücken auf der höchsten Ebene zusammen ausgegeben.
444 Anders gesagt: eine Datei, die nur das obige Beispiel
445 beinhaltet, wird übersetzt zu
462 Dieses Verhalten kann verändert werden, indem die Variable
463 @code{toplevel-music-handler} auf der obersten Ebene gesetzt
464 wird. Die Definition des Standards findet sich in der Datei
465 @file{../scm/lily.scm}.
468 Eine Textbeschriftung, eine Strophe etwa:
471 2. Die erste Zeile der zweiten Strophe.
475 Textbeschriftungen werden über, zwischen oder unter musikalischen
476 Ausdrücken gesetzt, so wie sie notiert werde.
486 Sie kann dann später in der Datei eingesetzt werden, indem @code{\foo}
487 geschrieben wird. Die Bezeichnung der Variable darf nur aus
488 alphabetischen Zeichen bestehen, keine Zahlen, Unter- oder Bindestriche.
492 Das folgende Beispiel zeigt drei Dinge, die auf der obersten Ebene
493 notiert werden können:
497 % Zeilen rechtsbündig setzen
508 An einer beliebigen Stelle der Datei kann jede der folgenden lexikalen
509 Anweisungen notiert werden:
512 @item @code{\version}
513 @item @code{\include}
514 @item @code{\sourcefilename}
515 @item @code{\sourcefileline}
517 Ein einzeiliger Kommentar, beginnend mit @code{%}.
520 Ein mehrzeiliger Kommentar, umgeben von @code{%@{ .. %@}}.
526 Leerzeichen zwischen Einheiten in der Eingabe werden generell ignoriert
527 und können nach Belieben weggelassen werden oder hinzugefügt werden,
528 um die Lesbarkeit des Codes zu verbessern. Mindestens ein Leerzeichen
529 sollte jedoch unter folgenden Umständen immer eingesetzt werden, um
534 Vor und hinter jeder schließenden oder öffnenden Klammer,
536 nach jedem Befehl oder jeder Variable, also jeder Einheit, die mit
539 nach jeder Einheit, die als Scheme-Ausdruck interpretiert werden,
540 also alle Einheiten, die mit@tie{}@code{#} beginnen.
542 Alle Einheiten von Scheme-Ausdrücken müssen mit Leerzeichen getrennt
545 in Gesangstextabschnitten (@code{lyricmode}) müssen Leerzeichen
546 zwischen alle Ausdrücke in @code{\override}- und @code{\set}-Befehlen
547 gesetzt werden. Insbesondere müssen um Punkte und Gleichzeitszeichen
548 in Befehlen wie @code{\override Score.LyricTex.font-size = #5)}
549 und vor dem gesamten Befehl geschrieben werden.
555 @rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert}.
558 @ref{Die layout-Umgebung}.
563 @translationof Titles and headers
565 Fast alle gedruckten Noten beinhalten einen Titel und den Namen
566 des Komponisten, teilweise wird auch noch sehr viel mehr Information
567 zur Verfügung gestellt.
570 * Titel Kopf und Fußzeilen erstellen::
571 * Eigene Kopf und Fußzeilen sowie Titel::
572 * Fußnoten erstellen::
573 * Verweis auf die Seitenzahlen::
574 * Inhaltsverzeichnis::
578 @node Titel Kopf und Fußzeilen erstellen
579 @subsection Titel, Kopf- und Fußzeilen erstellen
580 @translationof Creating titles headers and footers
583 * Wie funktioniert die Titel-Umgebung?::
584 * Standardlayout von book und Partitur Titelumgebungen::
585 * Standardlayout von Kopf und Fußzeilen::
589 @node Wie funktioniert die Titel-Umgebung?
590 @unnumberedsubsubsec Wie funktioniert die Titel-Umgebung?
591 @translationof Title blocks explained
593 @c TODO: figure out how \bookpart titles work
595 Es gibt zwei Arten von Titelumgebungen: die Hauptumgebung, die über
596 der ersten @code{\score}-Umgebung innerhalb eines @qq{book} notiert
597 wird, und individuelle Titelumgebungen, die innerhalb von
598 @code{\score} auftreten können. Textfelder für beide Typen werden
599 in der @code{\header}-Umgebung eingegeben.
601 Wenn in dem @qq{book} nur eine einzelne Partitur vorkommt,
602 kann die @code{\header}-Umgebung innheralb oder außerhalb der
603 @code{\score}-Umgebung geschrieben werden.
605 @warning{Denken Sie daran, dass zuerst ein musikalischer Ausdruck
606 notiert werden muss, wenn Sie eine @bs{}@code{header}-Umgebung innheralb
607 einer @bs{}@code{score}-Umgebung verwenden wollen.}
609 @lilypond[papersize=a5,quote,verbatim,noragged-right]
612 composer = "J. S. Bach."
616 \new Staff \relative {
619 \repeat unfold 2 { g,16( d' b') a b d, b' d, } |
620 \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
628 \new Staff \relative {
632 <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
633 d16( b g fis) g( e d c) b(c d e) fis( g a b) |
641 Textfelder der Haupttitelumgebung können in allen @code{\score}-Umgebungen
642 gesetzt oder manuell unterdrückt werden:
644 @lilypond[papersize=a5,quote,verbatim,noragged-right]
647 print-all-headers = ##t
650 title = "DAS WOHLTEMPERIRTE CLAVIER"
652 % Do not display the tagline for this book
655 \markup { \vspace #1 }
659 \new Staff { \clef "bass" s1 }
662 title = "PRAELUDIUM I"
664 % Do not display the subtitle for this score
671 \new Staff { \clef "bass" s1 }
675 subsubtitle = "A 4 VOCI"
677 % Do not display the subtitle for this score
686 @ref{Die Dateistruktur},
687 @ref{Angepasstes Layout für Titelumgebungen}.
690 @node Standardlayout von book und Partitur Titelumgebungen
691 @unnumberedsubsubsec Standardlayout von @code{book}- und Partitur-Titelumgebungen
692 @translationof Default layout of book and score title blocks
694 Dieses Beispiel zeigt alle @code{\header}-(Überschrifen)-Variablen:
696 @lilypond[papersize=a7,quote,verbatim,noragged-right]
699 % The following fields are centered
700 dedication = "Dedication"
702 subtitle = "Subtitle"
703 subsubtitle = "Subsubtitle"
704 % The following fields are evenly spread on one line
705 % the field "instrument" also appears on following pages
706 instrument = \markup \with-color #green "Instrument"
708 composer = "Composer"
709 % The following fields are placed at opposite ends of the same line
711 arranger = "Arranger"
712 % The following fields are centered at the bottom
713 tagline = "tagline goes at the bottom of the last page"
714 copyright = "copyright goes at the bottom of the first page"
719 % The following fields are placed at opposite ends of the same line
727 % The following fields are placed at opposite ends of the same line
728 piece = "Piece 2 on the same page"
736 % The following fields are placed at opposite ends of the same line
737 piece = "Piece 3 on a new page"
748 Die Instrumentenbezeichnung wird auf jeder Seite wiederholt.
751 Nur @code{piece} (Stück)uand @code{opus} werden für eine Partitur
752 (@code{\score}) gesetzt, wenn die @code{\paper}-Variable
753 @code{print-all-headers} auf @code{##f} gesetzt ist (Standardeinstellung).
756 @c Is the bit about \null markups true? -mp
757 Textfelder, die in einer @code{\header}-Umgebung nicht benutzt werden,
758 werden durch @code{\null}-Textbeschriftung ersetzt, sodass sie keinen
759 leeren Platz belegen.
762 Die Standardeinstellungen von @code{scoreTitleMarkup} platzieren
763 die Felder @code{piece} (Stück) und @code{opus} zu den gegenüberliegenden
764 Seiten der selben Zeile.
768 Um die Standardeinstellungen des Layouts zu ändern, siehe
769 @ref{Angepasstes Layout für Titelumgebungen}.
771 @funindex breakbefore
773 Mit der Variable @code{breakbefore} innerhalb einer @code{\header}-Umgebung,
774 die für sich auch eine @code{\score}-Umgebung darstellt, kann man
775 die Hauptüberschriften auf der ersten Seite allein ausgeben, sodass die
776 Noten (in der @code{score}-Umgebung definiert) erst auf der folgenden
779 @lilypond[papersize=a8landscape,verbatim,noragged-right]
782 title = "This is my Title"
783 subtitle = "This is my Subtitle"
784 copyright = "This is the bottom of the first page"
787 \repeat unfold 4 { e'' e'' e'' e'' }
789 piece = "This is the Music"
798 @rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert},
801 @ref{Die Dateistruktur},
802 @ref{Angepasstes Layout für Titelumgebungen}.
804 Installierte Dateien:
805 @file{ly/titling-init.ly}.
808 @node Standardlayout von Kopf und Fußzeilen
809 @unnumberedsubsubsec Standardlayout von Kopf- und Fußzeilen
810 @translationof Default layout of headers and footers
812 @emph{Kopf-} und @emph{Fußzeilen} sind Textzeilen, die ganz oben
813 und ganz unten auf der Seite stehen, unabhängig vom Textbereich eines
814 Buches. Sie können mit folgenden @code{\paper}-Variablen kontrolliert
818 @item @code{oddHeaderMarkup}
819 @item @code{evenHeaderMarkup}
820 @item @code{oddFooterMarkup}
821 @item @code{evenFooterMarkup}
824 Diese Beschriftungsvariablen können nur auf Textfelder einer
825 Haupttitelumgebung (eine @code{\header}-Umgebung auf höchster Ebene, die
826 sich auf alle @code{\score}-Umgebungen einer Datei bezieht)
827 zugreifen und sind definiert in der Datei @file{ly/titling-init.ly}. In
828 den Standardeinstellungen
833 werden Seitenzahlen automatisch ganz oben links (wenn gerade) oder ganz
834 oben rechts (wenn ungerade) gesetzt, beginnend mit der zweiten Seite.
837 wird das @code{instrument}-Textfeld auf jeder Seite zentriert, beginnend
838 mit der zweiten Seite.
841 wird der @code{copyright}-Text unten auf der ersten Zeite zentriert.
844 wird der Inhalt von @code{tagline} unten auf der letzten Seite zentriert
845 und unterhalb des @code{copyright}-Texts, wenn es sich nur um eine Seite
850 @lilypond[papersize=a8landscape]
860 Die Standardeinstellung von @code{tagline} kann verändert werden,
861 indem man ein @code{tagline}-Feld in die @code{\header}-Umgebung auf
862 höchster Ebene schreibt.
864 @lilypond[papersize=a8landscape,verbatim]
867 tagline = "... music notation for Everyone"
877 Um die @emph{tagline} ganz zu entfernen, wird ihr Inhalb als @code{##f}
881 @node Eigene Kopf und Fußzeilen sowie Titel
882 @subsection Eigene Kopf- und Fußzeilen sowie Titel
883 @translationof Custom headers footers and titles
885 @c TODO: somewhere put a link to header spacing info
886 @c (you'll have to explain it more in NR 4).
889 * Angepasste Textformatierung für Titelumgebungen::
890 * Angepasstes Layout für Titelumgebungen::
891 * Angepasstes Layout für Kopf und Fußzeilen::
895 @node Angepasste Textformatierung für Titelumgebungen
896 @unnumberedsubsubsec Angepasste Textformatierung für Titelumgebungen
897 @translationof Custom text formatting for title blocks
899 Standard-@code{\markup}-Befehle können eingesetzt werden, um jeglichen
900 Text in Titeln, Kopf- und Fußzeilen innerhalb der @code{\header}-Umgebung
903 @lilypond[quote,verbatim,noragged-right]
907 piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
908 subtitle = \markup { \italic "(Excerpt)" }
915 @ref{Text formatieren}.
918 @node Angepasstes Layout für Titelumgebungen
919 @unnumberedsubsubsec Angepasstes Layout für Titelumgebungen
920 @translationof Custom layout for title blocks
922 @cindex bookTitleMarkup
923 @cindex scoreTitleMarkup
924 @funindex bookTitleMarkup
925 @funindex scoreTitleMarkup
927 @code{\markup}-Befehle in der @code{\header}-Umgebung sind sinnvoll
928 für einfaches Formatieren von Text, aber sie gewähren keine genaue
929 Kontrolle über die Positionierung von Titeln. Um die Positionierung
930 von Titeltextfeldern vorzunehmen, eignen sich beide oder eine von
931 folgenden Variablen (die man in der @code{\paper}-Umgebung einsetzen muss):
934 @item @code{bookTitleMarkup}
935 @item @code{scoreTitleMarkup}
938 Die Positionierung von Titeln, wenn die Standardeinstellung dieser
939 Variablen benützt werden, wird anhand einem Beispiel gezeigt in
940 @ref{Standardlayout von book und Partitur Titelumgebungen}.
942 Die Standardeinstellungen von @code{scoreTitleMarkup}, wie in der
943 Datei @file{ly/titling-init.ly} definiert, sind:
946 scoreTitleMarkup = \markup @{ \column @{
947 \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
949 \fromproperty #'header:piece
950 \fromproperty #'header:opus
956 Dadurch werden die Textfelder @code{piece} (Stück) und @code{opus}
957 an den gegenüberliegenden Enden der gleichen Zeile platziert:
959 @lilypond[quote,verbatim,noragged-right]
963 piece = "PRAELUDIUM I"
969 Das folgende Beispiel verändert die Einstellungen von
970 @code{scoreTitleMarkup}, sodass das Textfeld @code{piece}
971 zentriert wird und in fetter, größerer Schrift erscheint.
973 @lilypond[papersize=a5,quote,verbatim,noragged-right]
977 scoreTitleMarkup = \markup {
980 \fontsize #4 \bold \fromproperty #'header:piece
981 \fromproperty #'header:opus
985 \header { tagline = ##f }
989 piece = "PRAELUDIUM I"
996 Textfelder, die normalerweise nur im Haupttitel ausgegeben werden,
997 können auch in die Titel einzelner Partituren aufgenommen werden,
998 indem man @code{print-all-headers} in die @code{\paper}-Umgebung einfügt.
999 Ein Nachteil dieser Methode ist, dass Textfelder, die tatsächlich nur
1000 im Haupttitel erscheinen sollen, manuell für jede Partitur unterdrückt
1001 werden müssen. Siehe auch @ref{Wie funktioniert die Titel-Umgebung?}.
1003 Um das zu vermeiden, kann das gewünschte Feld zur Definition von
1004 @code{scoreTitleMarkup} hinzugefügt werden. Im folgenden Beispiel
1005 wird das Komponistenfeld (@code{composer}) (normalerweise mit
1006 @code{bookTitleMarkup} assoziiert) zu @code{scoreTitleMarkup}
1007 hinzugefügt, sodass jede Partitur einen eigenen Komponisten haben kann.
1009 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1013 scoreTitleMarkup = \markup {
1016 \fontsize #4 \bold \fromproperty #'header:piece
1017 \fromproperty #'header:composer
1021 \header { tagline = ##f }
1026 composer = "Christian Petzold"
1033 composer = "François Couperin"
1039 Es ist auch möglich, eigene Textfelder zu erstellen und dann auf sie
1040 in der Beschriftungsdefinition zu verweisen:
1042 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1046 scoreTitleMarkup = \markup {
1049 \override #`(direction . ,UP) {
1051 \center-align \fontsize #-1 \bold
1052 \fromproperty #'header:mycustomtext %% User-defined field
1053 \center-align \fontsize #4 \bold
1054 \fromproperty #'header:piece
1057 \fromproperty #'header:opus
1061 \header { tagline = ##f }
1066 mycustomtext = "A 4 VOCI" %% User-defined field
1075 @ref{Wie funktioniert die Titel-Umgebung?}.
1078 @node Angepasstes Layout für Kopf und Fußzeilen
1079 @unnumberedsubsubsec Angepasstes Layout für Kopf- und Fußzeilen
1080 @translationof Custom layout for headers and footers
1082 @c can make-header and make-footer be removed from
1083 @c paper-defaults-init.ly? -mp
1085 @code{\markup}-Befehle in der @code{\header}-Umgebung sind nützlich
1086 um einfachen Text zu formatieren, erlauben aber keine Kontrolle
1087 über die Positionierung von Kopf- und Fußzeilen. Um die Positionierung
1088 der Textfelder zu ändern, eignen sich beide oder eine von
1089 folgenden Variablen (die man in der @code{\paper}-Umgebung einsetzen muss):
1092 @item @code{oddHeaderMarkup}
1093 @item @code{evenHeaderMarkup}
1094 @item @code{oddFooterMarkup}
1095 @item @code{evenFooterMarkup}
1098 @cindex Beschriftung mit Bedingung
1100 @funindex \on-the-fly
1102 Der @code{\markup}-Befehl @code{\on-the-fly} kann eingesetzt werden,
1103 um Beschriftung anhand einer Bedingung zu Kopf- und Fußzeilentext
1104 innerhalb der @code{\paper}-Umgebung hinzuzufügen. Hierzu wird folgende
1108 Variable = \markup @{
1110 \on-the-fly #@var{Prozedur} @var{Beschriftung}
1115 Die @var{Prozedur} wird jedes mal aufgerufen, wenn dar
1116 @code{\markup}-Befehl, auf den sie sich auswirkt, ausgewertet wird.
1117 Die @var{Prozedur} sollte nach einer bestimmten Bedingung fragen und
1118 das @var{Beschriftung}-Argument ausführen (also setzen), wenn diese
1121 Eine Anzahl von fertigen Prozeduren, um verschiedene Bedinungen zu testen,
1122 werden bereitgestellt:
1125 @multitable {print-page-number-check-first-----} {should this page be printed-----}
1127 @headitem Prozedurbezeichnung @tab Getestete Bedinung
1129 @item print-page-number-check-first @tab sollte diese Seitenzahl gesetzt werden?
1130 @item create-page-number-stencil @tab 'print-page-numbers wahr?
1131 @item print-all-headers @tab 'print-all-headers wahr?
1132 @item first-page @tab erste Seite im Buch?
1133 @item (on-page nmbr) @tab Seitenzahl = nmbr?
1134 @item last-page @tab letzte Seite im Buch?
1135 @item not-first-page @tab nicht erste Seite im Buch?
1136 @item part-first-page @tab erste Seite im book part?
1137 @item part-last-page @tab letzte Seite im book part?
1138 @item not-single-page @tab Seiten im book part > 1?
1143 Das folgende Beispiel zentriert die Seitenzahlen unten auf jeder Seite.
1144 Zuerst werden die Standardeinstellungen von @code{oddHeaderMarkup} und
1145 @code{evenHeaderMarkup} entfernt, indem sie als @qq{Null}-Beschriftung
1146 definiert werden. Dann wird @code{oddFooterMarkup} mit zentrierter
1147 Seitennummer neu definiert. Schließlich erhält @code{evenFooterMarkup}
1148 die selbe Layoutdefinition wie @code{\oddFooterMarkup}:
1150 @lilypond[papersize=a8,quote,verbatim,noragged-right]
1153 print-page-number = ##t
1154 print-first-page-number = ##t
1155 oddHeaderMarkup = \markup \null
1156 evenHeaderMarkup = \markup \null
1157 oddFooterMarkup = \markup {
1159 \on-the-fly #print-page-number-check-first
1160 \fromproperty #'page:page-number-string
1163 evenFooterMarkup = \oddFooterMarkup
1166 \new Staff { s1 \break s1 \break s1 }
1171 Verschiedene @code{\on-the-fly}-Bedingungen können mit dem Operator
1172 @qq{UND} verknüpft werden, beispielsweise bestimmt
1175 \on-the-fly #first-page
1176 \on-the-fly #last-page
1177 @{ \markup ... \fromproperty #'header: ... @}
1181 ob es sich um eine einzelne Seite bei der Ausgabe handelt.
1185 @ref{Wie funktioniert die Titel-Umgebung?},
1186 @ref{Standardlayout von book und Partitur Titelumgebungen}.
1188 Installierte Dateien:
1189 @file{../ly/titling-init.ly}.
1192 @node Fußnoten erstellen
1193 @subsection Fußnoten erstellen
1194 @translationof Creating footnotes
1196 Zwei Arten an Fußnoten können erstellt werden: automatische und
1200 * Übersicht über Fußnoten::
1201 * Automatische Fußnoten::
1202 * Manuelle Fußnoten::
1205 @node Übersicht über Fußnoten
1206 @unnumberedsubsubsec Übersicht über Fußnoten
1207 @translationof Footnotes overview
1209 Automatische Fußnoten erstellen aufsteigende Zahlenverweise, während
1210 mit manuellen Fußnoten eigene angepasste Verweise erstellt werden
1211 können. Fußnoten werden normalerweise wie ein @code{\tweak}-Befehl
1212 an Noten gehängt und können deshalb auch direkt mit den Grobs
1213 (graphischen Objekten) verknüpft werden, die von den meisten
1214 musikalischen Elementen und Postelementen erstellt werden. In Fällen, wo
1215 das nicht funktioniert (etwa bei Taktstrichen und Taktartänderungen, wo
1216 die Grobs als Folge einer Eigenschaftsänderung erstellt werden), können
1217 Fußnoten als einzelnstehendes musikalisches Ereigenis ersetllt werden,
1218 das sich auf alle Grobs eines bestimmten Typs zu einer bestimmten Zeit
1221 Der vollständige Befehl ist:
1224 \footnote @var{Zeichen} @var{Verschiebung} @var{Grob-Bezeichnung} @var{Fußnote}
1228 Die Elemente sind folgende:
1233 ist eine Beschriftung oder Zeichenkette, die das Fußnotenzeichen
1234 angbit, welches für den Referenzpunkt als auch für die Fußnote
1235 unten auf der Seite benützt wird. Es kann ausgelassen werden
1236 (oder durch @code{\default} ersetzt werden); in diesem Fall wird
1237 eine aufsteigende Zahlenfolge erstellt.
1239 @item Verschiebung (offset)
1240 ist ein Zahlenpaar wie etwa @samp{#(2 . 1)}, das die X- und Y-Verschiebung
1241 vom Referenzpunkt aus angibt, wo das Zeichen gesetzt werden soll.
1243 @item Grob-Bezeichnung
1244 gibt die Grob-Art an, der ein Fußnotenzeichen hinzugefügt werden soll
1245 (wie etwa @samp{#'Flag}). Wenn sie angegeben wird, wird der entsprechende
1246 Grob als Referenzpunkt eingesetzt, auch wenn das referenzierte Element
1247 nicht die @var{Noten} selber sind, sondern ein Grob, der durch sie
1248 erstellt wird. Das Element kann ausgelassen werden (oder durch
1249 @code{\default} ersetzt werden); dann wird nur ein direkt erstellter Grob
1250 mit Fußnote versehen.
1253 Diese Beschriftung oder Zeichenkette bezeichnet den Fußnotentext, der
1254 am unteren Seitenrand gesetzt werden soll.
1257 Das ist das Element, ein musikalisches Ereignis oder eine Akkordkonstruktion
1258 oder ein Post-Ereignis, das die Fußnote erhält. Man kann es nicht auslassen,
1259 aber man @emph{kann} es durch @code{\default} ersetzten. In diesem Fall
1260 wird die Fußnote aber nicht an einen bestimmten musikalischen Ausdruck
1261 angehänt, sondern an einen zeitlichen Moment. In diesem Fall muss man
1262 zwingend die @var{Grob-Bezeichnung} angeben, um den Grob-Typ auszuwählen, auf
1263 den sich die Fußnote bezieht (etwa @samp{#'TimeSignature}).
1266 Wie auch mit @code{\tweak} muss dem @code{\footnote}-Befehl @code{-}
1267 vorangestellt werde,n wenn er an ein Post-Ereignis oder eine
1268 Artikulation angehängt werden soll, damit der Parser das Ergebnis
1269 der vorherigen Note oder Pause zuordnen kann.
1272 @node Automatische Fußnoten
1273 @unnumberedsubsubsec Automatische Fußnoten
1274 @translationof Automatic footnotes
1276 @cindex Fußnoten, automatisch
1278 Automatische Fußnoten haben vier Argumente: die @var{(x . y)}-Position des Indikators,
1279 die optionale @var{Grob-Bezeichnung}, die die Anmerkung erhalten soll,
1280 die @var{Fußnote}-Beschriftung, die den Inhalt der Fußnote enthält, und
1281 natürlich die @var{Noten}, welche mit einer Fußnote versehen werden sollen.
1283 Der Befehl @code{\footnote} muss @emph{vor} dem Grob geschrieben
1284 werden, auf den sich die Fußnote bezieht.
1287 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1289 \header { tagline = ##f }
1291 \footnote #'(0.5 . -2)
1292 \markup { Die erste Note }
1294 \footnote #'(0.5 . 1)
1295 \markup { Die dritte Note } Flag
1301 Noten in Akkorden stellen keine Schwierigkeit dar:
1304 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1306 \header { tagline = ##f }
1309 \footnote #'(1 . -1.25) "Hier ein C" c
1310 \footnote #'(2 . -0.25) \markup { \italic "Ein Es" } es
1311 \footnote #'(2 . 3) \markup { \bold "Das ist ein G" } g
1317 @warning {Wenn Fußnoten die selbe vertikale Position haben, werden
1318 sie von oben nach unten nummeriert.}
1320 Hier noch einige Beispiele von Grobs, die mit Fußnoten
1321 versehen sind, wobei auch die Position des Fußnotentextes relativ zu
1322 Tagline und Copyright gezeigt wird.
1325 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1327 \header { copyright = \markup { "Copyright 1970" } }
1329 a'4-\footnote #'(-3 . 0) \markup { \bold Forte } \f
1330 -\footnote #'(0 . 1.5) \markup { Ein Bogen } (
1331 b8)-\footnote #'(0 . -2) \markup { Balken } [ e]
1332 \single\footnote #'(1 . -1)
1333 \markup { \teeny { Das ist ein Hals } } Stem
1335 \single\footnote #'(0 . 0.5)
1336 \markup \italic { Ein warnendes Versetzungszeichen } AccidentalCautionary
1337 \footnote #'(1 . 1) "Die Note selber"
1338 dis?4-\footnote #'(0.5 . -0.5) \markup \italic { langsamer werden }
1344 Für eine @code{\markup}-Beschriftung auf oberster Ebene braucht man
1345 den Befehl @code{\auto-footnote}:
1348 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1350 \header { tagline = ##f }
1351 \markup { \auto-footnote "Eine einfache Melodie" \italic "Von mir" }
1359 @node Manuelle Fußnoten
1360 @unnumberedsubsubsec Manuelle Fußnoten
1361 @translationof Manual footnotes
1363 @cindex Fußnoten, manuell
1365 Manuell erstellte Fußnoten haben ein zusätzliches erstes Argument
1366 @var{Zeichen}, das das Fußnotenzeichen erstellt. Im Gegensatz zu
1367 automatisch erstellten Fußnotenzeichen erscheinen sie nicht unbedingt
1368 vor dem Fußnotentext unten auf der Seite -- das Herstellen eines visualen
1369 Zusammenhanges ist dem Setzer überlassen. LilyPond stellt nur ischer, dass
1370 der zugehörige Text unten auf der selben Seite erscheint.
1372 Davon abgesehen ist die Benutzung identisch mit automatischen Fußnoten.
1375 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1377 \header { tagline = ##f }
1381 \markup { \italic "1. Die erste Note" }
1385 \markup { \bold "2" } #'(0.5 . 1)
1386 "2. Die zweite Note"
1389 d-\footnote "3" #'(0.5 . -1) "3. Piano" \p
1394 Fußnoten für Akkordnoten werden wie folgt notiert:
1396 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1398 \header { tagline = ##f }
1401 \footnote "1" #'(1 . -1.25) "1. C" c
1403 \markup { \bold "b" } #'(2 . -0.25) "b. E-flat" es
1404 \footnote "3" #'(2 . 3) \markup { \italic "iii. G" } g
1410 @warning {Wenn Fußnoten die selbe vertikale Position haben, werden
1411 sie von oben nach unten nummeriert.}
1413 Hier einige Beispiele manueller Fußnoten, die auch die relative
1414 Position der Fußnotentexte zu Tagline und Copyright anzeigen:
1417 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1419 \header { tagline = ##f }
1422 \markup { \teeny 1 } #'(-3 . 0)
1423 \markup { 1. \bold Forte } \f
1425 \markup { \teeny b } #'(0 . 1.5)
1426 \markup { b. Ein Bogen } (
1428 \markup { \teeny 3 } #'(0 . -2)
1429 \markup { 3. Balken } [
1432 \markup { 4 } #'(1 . -1)
1433 \markup { \bold 4. { Das ist ein Hals } } Stem
1436 \markup \concat \teeny { "sharp (v)" }
1438 \markup \italic { v. Ein warndendes Versetzungszeichen } AccidentalCautionary
1440 \markup \concat \teeny { "a" } #'(0.5 . -0.5)
1441 \markup \italic { a. Langsamer werden } _"rit."
1443 \markup { \teeny \musicglyph #"rests.4" }
1445 \markup { \null } \breathe
1450 Eine @code{\markup}-Beschriftung der höchsten Ebene wird wie folgt
1454 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1456 \header { tagline = ##f }
1457 \markup { "Eine einfache Melodie" \footnote "*" \italic "* Von mir" }
1465 Handbuch zum Lernen:
1466 @rlearning{Objekte und Schnittstellen}.
1469 @ref{Erklärungen in Ballonform},
1471 @ref{Textartige Zeichen},
1475 Referenz der Interna:
1476 @rinternals{FootnoteEvent},
1477 @rinternals{FootnoteItem},
1478 @rinternals{FootnoteSpanner},
1479 @rinternals{Footnote_engraver}.
1482 Mehrere Fußnoten auf einer Seite können ausschließlich übereinander
1483 gedruckt werden und nicht auf der gleiche Zeile gesetzt werden.
1484 Fußnoten können nicht an @code{MultiMeasureRests} (mehrtaktige Pause)
1485 angehängt werden und können mit @code{Staff}-(Notensystem)-,
1486 @code{\markup}-(Beschriftungs)-Objekten und anderen Fußnoten
1487 zusammenstoßen. Wenn man den manuellen Fußnotenbefehl einsetzt,
1488 braucht man in der @code{\paper}-Umgebung den Eintrag
1489 @code{footnote-auto-number = ##f}.
1492 @node Verweis auf die Seitenzahlen
1493 @subsection Verweis auf die Seitenzahlen
1494 @translationof Reference to page numbers
1496 Eine bestimmte Stelle der Partitur kann mit einem @code{\label}-Befehl
1497 markiert werden, sowohl auf oberster Ebene als auch innerhalb eines
1498 musikalischen Ausdrucks. Auf diese Marke kann dann verwiesen werden,
1499 um die Seitenzahl zu erhalten, auf der die Marke vorkommt. Der
1500 Verweis wird mit dem Befehl @code{\page-ref} gefordert (innerhalb
1501 von @code{\markup}).
1505 \header { tagline = ##f }
1507 \label #'ErstePartitur
1511 \pageBreak \mark A \label #'ZeichenA
1515 \markup { Die erste Partitur fängt auf
1516 Seite \page-ref #'ErstePartitur "0" "?" an.}
1517 \markup { Zeichen A befindet sich auf Seite
1518 \concat { \page-ref #'ZeichenA "0" "?" . } }
1522 Der @code{\page-ref}-Textbeschriftungsbefehl braucht drei Argumente:
1526 @item die Marke, ein Scheme-Symbol, etwa @code{#'ErstePartitur},
1527 @item eine Beschriftung, die als Platzhalter benutzt wird, um die Breite des Verweisen zu schätzen,
1528 @item eine Beschriftung, die anstelle der Seitenzahl gesetzt wird, wenn die Marke unbekannt ist.
1531 Der Grund, warum ein Platzhalter benötigt wird, ist dass zu dem Zeitpunkt,
1532 an dem die Textbeschriftungen ausgewertet werden, noch keine Seitenumbrüche
1533 vorgenommen wurden und die Seitenzahlen deshalb noch nicht bekannt sind.
1534 Um hier ein Problem zu vermeiden, wird die eigentliche Auswertung der
1535 Textbeschriftung erst später ausgeführt, die Größe des Textes muss aber
1536 schon vorher bekannt sein. Die Größe wird mithilfe des Platzhalters
1537 bestimmt. Wenn eine Partitur zwischen 10 und 99 Seiten hat, kann man
1538 "00" schreiben, also eine zweistellige Zahl.
1545 @funindex \page-ref.
1549 @node Inhaltsverzeichnis
1550 @subsection Inhaltsverzeichnis
1551 @translationof Table of contents
1553 Ein Inhaltsverzeichnis kann eingefügt werden mit dem Befehl
1554 @code{\markuplist \table-of-contents}. Die Elemente, die im
1555 Inhaltsverzeichnis aufgelistet werden sollen, werden mit dem
1556 @code{\tocItem}-Befehl markiert, welches sowohl auf höchster
1557 Ebene als auch in einem musikalischen Ausdruck verwendet werden
1561 \markuplist \table-of-contents
1564 \tocItem \markup "Erste Partitur"
1568 \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur"
1573 \tocItem \markup "zweite Partitur"
1581 Die Beschriftungen, die benutzt werden um das Inhaltsverzeichnis
1582 zu formatieren, sind in der @code{\paper}-Umgebung definiert.
1583 Die Standardformatierungselemente sind @code{tocTitleMarkup}
1584 um die Überschrift zu formatieren und @code{tocItemMarkup} um
1585 die einzelnen Inhaltselemente zu formatieren, bestehend aus
1586 dem Titelelement und einer Seitenzahl. Die Variablen können
1587 durch den Benutzer geändert werden:
1591 %% Übersetzung der Inhaltsverzeichnisüberschrift nach französisch:
1592 tocTitleMarkup = \markup \huge \column {
1593 \fill-line { \null "Table des matières" \null }
1596 %% hier größere Schriftarten
1597 tocItemMarkup = \markup \large \fill-line {
1598 \fromproperty #'toc:text \fromproperty #'toc:page
1603 Die Inhaltsverzeichniselemente Text und Seitenzahl werden
1604 in der Definition von @code{tocItemMarkup} aufgerufen mit
1605 @code{#'toc:text} und @code{#'toc:page}.
1607 Neue Befehle und Beschriftungen können auch definiert werden,
1608 um eigene Inhaltsverzeichnisse zu gestalten:
1612 @item zuerst muss eine neue Beschriftungsvariable in der
1613 @code{\paper}-Umgebung definiert werden
1615 @item dann muss die musikalische Funktion definiert werden, die
1616 ein Element zum Inhaltsverzeichnis hinzufügt, indem die neue
1617 Variable benutzt wird.
1621 Das folgende Beispiel definiert einen neuen Stil um Akt-Bezeichnungen
1622 einer Oper in das Inhaltsverzeichnis aufzunehmen:
1626 tocActMarkup = \markup \large \column {
1628 \fill-line { \null \italic \fromproperty #'toc:text \null }
1634 #(define-music-function (text) (markup?)
1635 (add-toc-item! 'tocActMarkup text))
1638 @lilypond[line-width=10.0\cm]
1639 \header { tagline = ##f }
1641 tocActMarkup = \markup \large \column {
1643 \fill-line { \null \italic \fromproperty #'toc:text \null }
1649 #(define-music-function (text) (markup?)
1650 (add-toc-item! 'tocActMarkup text))
1653 \markuplist \table-of-contents
1654 \tocAct \markup { Atto Primo }
1655 \tocItem \markup { Coro. Viva il nostro Alcide }
1656 \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1657 \tocAct \markup { Atto Secondo }
1658 \tocItem \markup { Sinfonia }
1659 \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1664 Die Zeile zwischen dem Inhalt und der Seitenzahl kann mit einer gepunkteten
1665 Linie gefüllt werden:
1667 @lilypond[verbatim,quote,line-width=10.0\cm]
1668 \header { tagline = ##f }
1670 tocItemMarkup = \tocItemWithDotsMarkup
1674 \markuplist \table-of-contents
1675 \tocItem \markup { Allegro }
1676 \tocItem \markup { Largo }
1683 Installierte Dateien:
1684 @file{ly/toc-init.ly}.
1686 @funindex \table-of-contents
1690 @code{\table-of-contents},
1695 @node Arbeiten an Eingabe-Dateien
1696 @section Arbeiten an Eingabe-Dateien
1697 @translationof Working with input files
1700 * LilyPond-Dateien einfügen::
1701 * Verschiedene Editionen aus einer Quelldatei::
1706 @node LilyPond-Dateien einfügen
1707 @subsection LilyPond-Dateien einfügen
1708 @translationof Including LilyPond files
1711 @cindex einfügen von Dateien
1712 @cindex Dateien einfügen
1714 Ein größeres Projekt kann in einzelne Dateien aufgeteilt werden.
1715 Um eine andere Datei einzubinden, kann der Befehl
1718 \include "andereDatei.ly"
1724 Die Zeile @code{\include "andereDatei.ly"} benimmt sich genauso,
1725 also ob der Inhalt der Datei @file{andereDatei.ly} komplett in die
1726 Hauptdatei eingefügt werden würde. So kann man für ein größeres
1727 Projekt die einzelnen Stimmen der Instrumente getrennt notieren
1728 und sie dann in einer Partitur-Datei benutzen. Meistens werden
1729 in den eingefügten Dateien einige Variablen definiert, die dann
1730 auch in der Hauptdatei eingesetzt werden können. Mit Marken (Tags)
1731 gekennzeichnete Abschnitte können eingesetzt werden, um die
1732 entsprechenden Noten etc. an verschiedenen Stellen in der Datei
1733 zur Verfügung zu stellen. Siehe auch @ref{Verschiedene Editionen aus einer Quelldatei}.
1735 Auf Dateien im aktuellen Verzeichnis kann einfach mit dem Dateinamen
1736 nach dem @code{\include}-Befehl verwiesen werden. Dateien an anderen
1737 Stellen können eingebunden werden, indem entweder ein vollständiger
1738 Pfad oder ein relativer Pfad zu der Datei angegeben wird. Hierbei
1739 sollten die für UNIX typischen Schrägstriche (/) und nicht die
1740 rückwärtsgeneigten von Windows (\) verwendet werden, um die Verzeichnisse
1741 zu trennen. Wenn etwa die Datei @file{kram.ly} ein Verzeichnis
1742 höher liegt als das aktuelle Verzeichnis, sollte der Befehl so
1746 \include "../kram.ly"
1750 Wenn die Orchesterstimmen andererseits in einem Unterordner mit
1751 der Bezeichnung @code{stimmen} liegen, sieht er folgendermaßen
1755 \include "stimmen/VI.ly"
1756 \include "stimmen/VII.ly"
1760 Dateien, die eingebunden werden sollen, können selber auch wiederum
1761 ein @code{\include} enthalten. Diese Einbindung zweiter Ebene
1762 werden erst interpretiert, wenn sie sich in der Hauptdatei befinden,
1763 sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
1764 sondern relativ zur Hauptdatei gesetzt werden müssen. Dieses Verhalten
1765 kann jedoch auch verändert werden, indem man lilypond die Option
1766 @option{-drelative-includes} auf der Kommandozeile zuweist (oder indem
1767 man den Befehl @code{#(ly:set-option 'relative-includes #t)} an den
1768 Beginn der Quelldatei schreibt). Mit @code{relative-includes} wird
1769 der Pfad jedes @code{\include}-Befehls als relativ zu der Datei angenommen,
1770 in der sich der Befehl befindet. Dieses Verhalten wird empfohlen und wird
1771 in zukünftigen Versionen von LilyPond den Standard darstellen.
1773 Dateien können auch aus einem Verzeichnis eingebunden werden,
1774 dass im Suchpfad von LilyPond liegt. Hierzu muss auf der
1775 Kommandozeile das entsprechende Verzeichnis angegeben werden
1776 und die Dateien, die eingebunden werden, müssen nur mit ihrem Namen
1777 notiert sein. Wenn etwa die Datei @file{Haupt.ly} kompiliert
1778 werden soll, die Dateien aus dem Unterverzeichnis @file{stimmen}
1779 einbindet, müssen sie sich im Verzeichnis von @file{Haupt.ly}
1780 befinden und dann LilyPond folgendermaßen aufrufen:
1783 lilypond --include=stimmen Haupt.ly
1787 In @file{Haupt.ly} steht:
1795 Dateien, die in vielen Partituren verwendet werden sollen, können
1796 im LilyPond-Verzeichnis @file{../ly} gespeichert werden. (Die
1797 Stelle, an der dieses Verzeichnis sich befindet, hängt vom Betriebssystem
1798 ab, siehe hierzu @rlearning{Mehr Information}). Dateien
1799 in diesem Verzeichnis können einfach mit ihrem Namen eingefügt werden.
1800 So werden auch die Sprachdateien wie etwa @file{deutsch.ly} eingefügt.
1802 LilyPond lädt eine Anzahl an Dateien, wenn das Programm aufgerufen wird.
1803 Diese Dateien sind für den Benutzer nicht ersichtlich, aber die Dateien
1804 können identifiziert werden, indem LilyPond auf der Kommandozeile mit
1805 Option aufgerufen wird: @code{lilypond --verbose}. Hiermit wird
1806 neben anderer Information auch eine Liste von Pfaden und Dateien
1807 aufgeführt, die LilyPond benutzt. Die wichtigeren Dateien werden
1808 im Abschnitt @rlearning{Mehr Information} besprochen.
1809 Diese Dateien können verändert werden, aber Änderungen gehen verloren,
1810 wenn eine neue LilyPond-Version installiert wird.
1812 Einige einfache Beispiele, die die Benutzung von @code{\include} demonstrieren,
1814 @rlearning{Partituren und Stimmen}.
1817 Handbuch zum Lernen:
1818 @rlearning{Mehr Information},
1819 @rlearning{Partituren und Stimmen}.
1822 Wenn eine Datei eingebunden wird, deren Name einer Datei aus
1823 dem Installationsverzeichnis von LilyPond entspricht, wird die
1824 installierte Datei anstelle der eigenen verwendet.
1827 @node Verschiedene Editionen aus einer Quelldatei
1828 @subsection Verschiedene Editionen aus einer Quelldatei
1829 @translationof Different editions from one source
1831 Es gibt verschiedene Funktionen, die es möglich machen, unterschiedliche
1832 Versionen einer Partitur aus der gleichen Quelldatei zu produzieren.
1833 Variablen werden am besten eingesetzt, wenn es darum geht, längere
1834 Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf
1835 verschiedene Weise zu kombinieren. Tag-Marken dagegen werden am
1836 besten eingesetzt, wenn eine von mehreren kurzen alternativen
1837 Notenabschnitten ausgewählt werden soll und können auch eingesetzt
1838 werden, um Musikabschnitte an unterschiedlichen Stellen zusammenzufügen.
1840 Egal welche Methode am
1841 Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn
1842 die eigentlichen Noten und die Struktur der Partitur voneinander
1843 getrennt notiert werden -- so kann die Struktur geändert werden,
1844 ohne dass man Änderungen an den Noten vornehmen muss.
1847 * Variablen benutzen::
1849 * Globale Einstellungen benutzen::
1852 @node Variablen benutzen
1853 @unnumberedsubsubsec Variablen benutzen
1854 @translationof Using variables
1856 @cindex Variablen, Benutzung
1858 Wenn Notenabschnitt in Variablen definiert werden, können sie
1859 an unterschiedlichen Stellen in der Partitur eingesetzt werden,
1860 siehe auch @rlearning{Stücke durch Variablen organisieren}. Zum
1861 Beispiel enthält eine Vokalpartitur für ein @notation{a cappella}
1862 Stück oft einen Klavierauszug, der das Einüben einfacher macht.
1863 Der Klavierauszug enthält die gleichen Noten, sodass man sie nur
1864 einmal notieren muss. Noten aus zwei Variablen können auf einem
1865 System kombiniert werden, siehe @ref{Automatische Kombination von Stimmen}.
1868 @lilypond[verbatim,quote]
1869 sopranoMusic = \relative { a'4 b c b8( a) }
1870 altoMusic = \relative { e'4 e e f }
1871 tenorMusic = \relative { c'4 b e d8( c) }
1872 bassMusic = \relative { a4 gis a d, }
1873 allLyrics = \lyricmode {King of glo -- ry }
1875 \new Staff = "Soprano" \sopranoMusic
1876 \new Lyrics \allLyrics
1877 \new Staff = "Alto" \altoMusic
1878 \new Lyrics \allLyrics
1879 \new Staff = "Tenor" {
1883 \new Lyrics \allLyrics
1884 \new Staff = "Bass" {
1888 \new Lyrics \allLyrics
1891 \set Staff.printPartCombineTexts = ##f
1897 \set Staff.printPartCombineTexts = ##f
1907 Unterschiedliche Partituren, die entweder nur den Chor oder das
1908 Klavier zeigen, können produziert werden, indem die Struktur
1909 verändert wird; die Noten müssen dazu nicht verändert werden.
1911 Für längere Partituren können Variablen in eigene Dateien notiert
1912 werden, die dann eingebunden werden, siehe @ref{LilyPond-Dateien einfügen}.
1915 @node Marken benutzen
1916 @unnumberedsubsubsec Marken benutzen
1917 @translationof Using tags
1921 @cindex markierte Noten entfernen
1922 @cindex markierte Noten behalten
1923 @cindex in markierte Noten einfügen
1926 @funindex \keepWithTag
1927 @funindex \removeWithTag
1928 @funindex \pushToTag
1929 @funindex \appendToTag
1931 @funindex keepWithTag
1932 @funindex removeWithTag
1935 Der @code{\tag #'@var{TeilA}}-Befehl markiert einen musikalischen
1936 Ausdruck mit der Bezeichnung @var{TeilA}. Ausdrücke, die auf diese
1937 Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt
1938 bzw. ausgefiltert werden. Das geschieht mit den Befehlen
1939 @code{\keepWithTag #'@var{Bezeichnung}} bzw. @code{\removeWithTag #'@var{Bezeichnung}}.
1940 Die Wirkung dieser Filter auf die markierten Notenabschnitte ist
1943 @multitable @columnfractions .5 .5
1949 Markierte Noten mit vorgesetztem @code{\keepWithTag #'@var{Bezeichnung}}
1950 @tab Unmarkierte Noten und Noten mit der Marke @var{Bezeichnung} werden
1951 gesetzt, Noten mit einer anderen Marke werden nicht angezeigt.
1954 Markierte Noten mit vorgesetztem @code{\removeWithTag #'@var{Bezeichnung}}
1955 @tab Unmarkierte Noten und Noten mit einer anderen Marke als
1956 @var{Bezeichnung} wird angezeigt, Noten markiert mit @var{Bezeichnung}
1957 werden nicht angezeigt.
1960 Markierte Noten, weder mit vorgesetztem @code{\keepWithTag} noch
1961 @code{\removeWithTag}
1962 @tab Alle markierten und unmarkierten Noten werden angezeigt.
1966 Die Argumente der Befehle @code{\tag}, @code{\keepWithTag} und
1967 @code{\removeWithTag} sollten ein Symbol sein (wie etwa
1968 @code{#'score} oder @code{#'part}), gefolgt von einem musikalischen
1971 Im folgenden Beispiel erscheinen zwei Versionen der Noten, eine
1972 zeigt Triller in normaler Notation, die andere zeigt sie ausgeschrieben:
1974 @lilypond[verbatim,quote]
1977 \tag #'trills { d8.\trill }
1978 \tag #'expand { \repeat unfold 3 { e32 d } }
1983 \keepWithTag #'trills \music
1986 \keepWithTag #'expand \music
1991 Entsprechend können auch Abschnitte ausgeschlossen werden; das
1992 erfordert manchmal weniger Schreibarbeit:
1994 @lilypond[verbatim,quote]
1997 \tag #'trills { d8.\trill }
1998 \tag #'expand {\repeat unfold 3 { e32 d } }
2003 \removeWithTag #'expand
2007 \removeWithTag #'trills
2012 Marken können auch auf Artikulationen, Text usw angewendet werden,
2016 -\tag #'@var{your-tag}
2020 voranstellt (jedoch nach der Note, an die sie gebunden sind). Mit
2021 diesem Code etwa könnte man entweder Fingersatz oder aber einen
2026 c1-\tag #'warn ^"Achtung!"
2029 Mehrfache Marken können mithilfe von mehreren @code{\tag}-Befehlen
2032 @lilypond[quote,verbatim]
2033 music = \relative c'' {
2034 \tag #'a \tag #'both { a4 a a a }
2035 \tag #'b \tag #'both { b4 b b b }
2038 \keepWithTag #'a \music
2039 \keepWithTag #'b \music
2040 \keepWithTag #'both \music
2044 Mehrfache @code{\removeWithTag}-Filter können auf einen
2045 musikalischen Ausdruck angewendet werden, um mehrere unterschiedliche
2046 markierte Abschnitte aus dem Druckbild zu entfernen.
2048 @lilypond[verbatim,quote]
2049 music = \relative c'' {
2050 \tag #'A { a4 a a a }
2051 \tag #'B { b4 b b b }
2052 \tag #'C { c4 c c c }
2053 \tag #'D { d4 d d d }
2062 Zwei oder mehr @code{\keepWithTag}-Filter in einem musikalischen
2063 Ausdruck bewirken, dass @emph{alle} markierten Abschnitte entfernt
2064 werden, weil der erste Befehl alle markierten Abschnitt außer dem
2065 im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen
2066 eben genannten zusätzlich entfernt.
2068 Manchmal will man Noten an einem bestimmen Platz in existierenden
2069 Noten einfügen. Dafür kann entweder @code{\pushToTag} oder
2070 @code{\appendToTag} benutzt werden, um Material hinter bzw. vor den
2071 Elementen (@code{elements}) der existierenden Noten einzufügen. Nicht
2072 alle musikalischen Konstruktionen haben Elemente, aber sequentielle und
2073 simultane Noten sind ziemlich gute Kandidaten:
2075 @lilypond[verbatim,quote]
2076 test = { \tag #'here { \tag #'here <<c''>> } }
2079 \pushToTag #'here c'
2080 \pushToTag #'here e'
2081 \pushToTag #'here g' \test
2082 \appendToTag #'here c'
2083 \appendToTag #'here e'
2084 \appendToTag #'here g' \test
2088 Beide Befehle erhalten einen Tag, das Material, das bei jedem Auftreten
2089 des Tags eingefügt werden soll und den Ausdruck, der mit dem Tag versehen
2090 ist. Der Befehl stellt sicher, dass alle Änderungen kopiert werden, sodass
2091 das ursprüngliche @code{\test} seine Bedeutung behält.
2094 Handbuch zum Lernen:
2095 @rlearning{Stücke durch Variablen organisieren}.
2098 @ref{Automatische Kombination von Stimmen},
2099 @ref{LilyPond-Dateien einfügen}.
2103 @c This warning is more general than this placement implies.
2104 @c Rests are not merged whether or not they come from tagged sections.
2105 @c Should be deleted? -td
2109 Multiple rests are not merged if you create a score with more
2110 than one tagged section at the same place.
2115 @node Globale Einstellungen benutzen
2116 @unnumberedsubsubsec Globale Einstellungen benutzen
2117 @translationof Using global settings
2119 @funindex include-settings
2121 Man kann globale Einstellungen aus einer externen Datei einfügen:
2124 lilypond -dinclude-settings=MY_SETTINGS.ly MY_SCORE.ly
2128 Einstellungsgruppen, wie etwa Seitengröße, Schriftart oder Schriftschnitt, können
2129 in eigenen Dateien gespeichert werden. Das ermöglicht es, aus der gleichen
2130 Partitur unterschiedliche Editionen zu erstellen bzw. Standardeinstellungen
2131 für eine ganze Anzahl von Partituren wiederzuverwenden, indem man einfach
2132 die entsprechende Einstellungsdatei angibt.
2134 Diese Technik funktioniert auch gut für Formatvorlagen, wie
2135 in @rlearning{Formatvorlagen} behandelt.
2138 Handbuch zum Lernen:
2139 @rlearning{Stücke durch Variablen organisieren},
2140 @rlearning{Formatvorlagen}.
2143 @ref{LilyPond-Dateien einfügen}.
2147 @subsection sonderzeichen
2148 @translationof Special characters
2150 @cindex Sonderzeichen
2151 @cindex Nicht-ASCII-Zeichen
2154 * Zeichenkodierung::
2160 @node Zeichenkodierung
2161 @unnumberedsubsubsec Zeichenkodierung
2162 @translationof Text encoding
2167 LilyPond benutzt alle Zeichen, die durch das Unicode-Konsortium
2168 und ISO/IEC 10646 definiert sind. Hiermit wird den Zeichen
2169 fast aller Schriftsysteme der Welt ein eindeutiger Name und ein
2170 Code-Punkt zugewiesen, mit dem sie identifizierbar sind. Unicode
2171 kann mit mehreren Zeichenkodierungen verwirklicht werden. LilyPond
2172 benutzt die UTF-8-Kodierung (UTF = Unicode Transformation Format),
2173 in der die normalen Zeichen des lateinischen Alphabets mit einem
2174 Byte dargestellt werden, während alle anderen Zeichen zwischen
2175 zwei und vier Byte Länge haben.
2177 Das Aussehen des Zeichens wird bestimmt durch die gerade benutzte
2178 Schriftart (engl. font). In einer Schriftartdatei werden die
2179 Nummern der Unicode-Zeichen einem bestimmten Glyphen zugeordnet.
2180 LilyPond verwendet die Pango-Bibliothek um mehrsprachige Texte
2181 und komplexe Skripte korrekt zu setzen.
2183 LilyPond verändert die Kodierung der Eingabedatei nicht. Das heißt,
2184 dass jeder Text -- Überschriften, Gesangstext, Spielanweisungen etc. --
2185 der nicht nur aus ASCII-Zeichen besteht, in UTF-8 kodiert sein
2186 musst. Am einfachsten geht das, indem man einen Texteditor
2187 einsetzt, der mit Unicode-Zeichen umgehen kann. Die meisten
2188 modernen weit verbreiteten Editoren besitzen heute UTF-8-Unterstützung,
2189 wie etwa vim, Emacs, jEdit oder GEdit. Alle MS Windows-Systeme
2190 nach NT benutzen Unicode intern, sodass sogar Notepad Dateien
2191 in UTF-8 lesen und speichern kann. Ein Editor mit mehr
2192 Funktionen unter Windows ist BabelPad oder Notepad++.
2194 Wenn eine LilyPond-Eingabedatei nicht-ASCII-Zeichen enthält
2195 und nicht in UTF-8 gespeichert ist, gibt es folgende Fehlermeldung:
2198 FT_Get_Glyph_Name () error: invalid argument
2201 Heir ein Beispiel mit Kyrilliza, hebräischem und portugiesischem Text:
2204 %c No verbatim here as the code does not display correctly in PDF
2205 % Font settings for Cyrillic and Hebrew
2206 % Linux Libertine fonts contain Cyrillic and Hebrew glyphs.
2210 #:roman "Linux Libertine O,serif"
2211 #:sans "Linux Biolinum O,sans-serif"
2212 #:typewriter "Linux Libertine Mono O,monospace"
2217 bulgarian = \lyricmode {
2218 Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2222 hebrew = \lyricmode {
2223 זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2227 portuguese = \lyricmode {
2228 à vo -- cê uma can -- ção legal
2234 \addlyrics { \bulgarian }
2235 \addlyrics { \hebrew }
2236 \addlyrics { \portuguese }
2241 @unnumberedsubsubsec Unicode
2242 @translationof Unicode
2246 Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
2247 bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
2248 der Befehl @code{\char ##xhhhh} oder @code{\char #dddd} innerhalb einer
2249 @code{\markup}-Umgebung benutzt werden. Hierbei bedeutet @code{hhhh} die
2250 hexadezimale Zahl und @code{ddd} die entsprechende dezimale Zahl
2251 für das erforderliche Zeichen. Nullen zu Beginn können ausgelassen werden,
2252 aber normalerweise werden alle vier Zeichen der hexadezimalen Notation
2253 notiert. (Achten Sie darauf, dass Sie @emph{nicht} UTF-8-Codepunkte
2254 einsetzen, weil UTF-8 zusätzliche Bits enthält, die die Nummer der Oktets bezeichnet.) Unicode-Tabellen und ein Verzeichnis der Zeichenbezeichnungen
2255 mit einer hexadezimalen Verweiszahl finden sich auf der Internetseite
2256 des Unicode Consortiums: @uref{http://www.unicode.org/}.
2258 Mit @code{\char ##x03BE} und @code{\char #958} wird
2259 beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
2260 Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat.
2263 Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
2264 Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
2265 gespeichert werden. Es muss natürlich auch noch eine Schriftart auf
2266 dem System installiert sein, die die notierten Zeichen darstellen kann.
2268 Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem
2269 hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen,
2270 im Gesangstext und als normaler Text außerhalb der Partitur.
2272 @lilypond[quote,verbatim]
2275 c''1 \mark \markup { \char ##x03EE }
2276 c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
2278 \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2280 \markup { "Copyright 2008--2015" \char ##x00A9 }
2283 @cindex Copyright-Zeichen
2285 Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
2289 copyright = \markup @{ \char ##x00A9 "2008" @}
2295 @unnumberedsubsubsec ASCII-Aliase
2296 @translationof ASCII aliases
2298 Eine Liste von ASCII-Befehlen für Sonderzeichen kann
2301 @lilypond[quote,verbatim]
2303 #(include-special-characters)
2306 \markup "&flqq; – &OE;uvre incomplète… &frqq;"
2309 \new Staff { \repeat unfold 9 a'4 }
2311 This is al -- so wor -- kin'~in ly -- rics: –_&OE;…
2316 "The replacement can be disabled:"
2317 "– &OE; …"
2318 \override #'(replacement-alist . ()) "– &OE; …"
2322 Man kann auch eigen Aliase erstellen, entweder global:
2324 @lilypond[quote,verbatim]
2326 #(add-text-replacements!
2327 '(("100" . "hundred")
2328 ("dpi" . "dots per inch")))
2330 \markup "A 100 dpi."
2336 @lilypond[quote,verbatim]
2337 \markup \replace #'(("100" . "hundred")
2338 ("dpi" . "dots per inch")) "A 100 dpi."
2343 @ref{Liste der Sonderzeichen}.
2345 Installierte Dateien:
2346 @file{ly/text-replacements.ly}.
2349 @node Ausgabe kontrollieren
2350 @section Ausgabe kontrollieren
2351 @translationof Controlling output
2354 * Notationsfragmente extrahieren::
2355 * Korrigierte Musik überspringen::
2356 * Alternative Ausgabeformate::
2357 * Die Notationsschriftart verändern::
2361 @node Notationsfragmente extrahieren
2362 @subsection Notationsfragmente extrahieren
2363 @translationof Extracting fragments of music
2365 Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
2366 Quelldatei zu erzeugen. Das kann damit verglichen werden, dass man
2367 mit der Schere bestimmte Regionen ausschneidet.
2369 Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
2370 (engl. to clip = ausschneiden), extra definiert. Mit folgender
2371 Definition beispielsweise
2378 (make-rhythmic-location 5 1 2)
2379 (make-rhythmic-location 7 3 4)))
2384 wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
2385 beginnt und im siebten Takt endet. Die Bedeutung von @code{5 1 2} ist:
2386 nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
2389 Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
2390 werden, indem mehrere derartige Paare definiert werden.
2392 Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
2393 Parameter @option{-dclip-systems} aufgerufen werden. Die Schnipsel
2394 werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
2395 diese Formate auch als Parameter angegeben werden.
2397 Zu mehr Information über Ausgabeformate siehe @rprogram{lilypond aufrufen}.
2400 @node Korrigierte Musik überspringen
2401 @subsection Korrigierte Musik überspringen
2402 @translationof Skipping corrected music
2405 @funindex skipTypesetting
2406 @funindex showFirstLength
2407 @funindex showLastLength
2409 Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
2410 Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
2411 Korrektur. Um die Korrektur zu beschleunigen, kann eingestellt werden,
2412 dass nur die letzten paar Takte angezeigt werden. Das erreicht man
2416 showLastLength = R1*5
2421 in der Quelldatei. Damit werden nur die letzten fünf Takte (in einem
2422 4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt. Besonders
2423 bei längeren Stücken ist es meistens sehr viel schneller, nur einen
2424 kleinen Teil des Stückes zu setzen als die gesamte Länge. Wenn man
2425 am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
2426 werden soll), kann auch die @code{showFirstLength}-Eigenschaft
2429 Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
2430 Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
2431 werden. Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
2432 wird kein Notensatz ausgegeben.
2434 Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
2435 kontrollieren. Hiermit werden alle Ereignisse, auch Tempo- und
2436 Instrumentenwechsel ausgelassen. Man muss also sehr genau darauf
2437 achten, dass nichts unerwartetes geschieht.
2439 @lilypond[quote,ragged-right,verbatim]
2442 \set Score.skipTypesetting = ##t
2444 \set Score.skipTypesetting = ##f
2449 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
2450 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
2451 Übersetzung der Datei gespart wird.
2454 @node Alternative Ausgabeformate
2455 @subsection Alternative Ausgabeformate
2456 @translationof Alternative output formats
2458 @cindex scalable vector graphics output
2459 @cindex skalierbare Vektorgraphik-Ausgabe
2461 @cindex encapsulated postscript output
2465 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
2466 Document Forma) und PS (PostScript). SVG (Scalable Vector
2467 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
2468 Network Graphics) gibt es auch als Ausgabeformate über die
2469 Kommandozeile. Siehe @rprogram{Grundlegende Optionen auf der Kommandozeile für LilyPond}.
2472 @node Die Notationsschriftart verändern
2473 @subsection Die Notationsschriftart verändern
2474 @translationof Replacing the notation font
2476 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
2477 eingesetzt wird und kann unter der Adresse
2479 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2483 heruntergeladen werden. Hier einige Takte Noten mit der Gonville-Schriftart:
2485 @c NOTE: these images are a bit big, but that's important
2486 @c for the font comparison. -gp
2487 @sourceimage{Gonville_after,,,}
2489 Und hier einige Beispieltakte in der Feta-Schriftart:
2491 @sourceimage{Gonville_before,,,}
2493 @subsubheading Installationsanweisungen für MacOS
2495 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
2496 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
2497 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
2498 siehe @rlearning{Mehr Information}.
2499 Benennen Sie das existierende @code{fonts}-Verzeichnis in
2500 @code{fonts_orig} um und benennen Sie das Verzeichnis
2501 @code{lilyfonts} in @code{fonts}. Das alte Verzeichnis
2502 @code{fonts_orig} können Sie einfach in @code{fonts}
2503 zurückbenennen, um wieder nach Feta zu wechseln.
2506 Handbuch zum Lernen:
2507 @rlearning{Mehr Information}.
2511 Gonville kann nicht verwendet werden, um Alte Notation zu setzen und es
2512 ist wahrscheinlich, dass neuere Glyphen in späteren Versionen von
2513 LilyPond nicht in Gonville enthalten sein werden.
2514 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
2515 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
2519 @section MIDI-Ausgabe
2520 @translationof MIDI output
2525 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
2526 Kontrolle und Interaktion mit digitalen Instrumenten. Eine
2527 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
2528 Bändern/Stimmen. Es ist keine eigentliche Klangdatei, denn man
2529 benötigt spezielle Programme die die Notenereignisse in Klang
2532 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
2533 man sich anhören kann, was man notiert hat. Das hilft oft sehr gut
2534 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
2535 lassen sich meist sehr gut hören.
2537 Normale MIDI-Ausgabe ist etwas roh; optional kann eine verbesserte und
2538 realistischere MIDI-Ausgabe mit einem @ref{Artikuliere-Skript}
2541 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und reserviert
2542 Kanal 10 für Schlagzeug. Es gibt nur 16 MIDI-Kanäle pro Gerät,
2543 sodass MIDI-Kanäle mehrfach benutzt werden, wenn eine Partitur mehr
2544 als 15 Notensysteme hat.
2547 * MIDI-Dateien erstellen::
2549 * Was geht in die MIDI-Ausgabe::
2550 * Wiederholungen im MIDI::
2551 * MIDI-Lautstärke kontrollieren::
2552 * Schlagzeug in MIDI::
2553 * Artikuliere-Skript::
2557 @node MIDI-Dateien erstellen
2558 @subsection MIDI-Dateien erstellen
2559 @translationof Creating MIDI files
2561 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
2562 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
2572 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
2573 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
2574 Wenn auch die Notation gewünscht ist, muss zusätzlich die
2575 @code{\layout}-Umgebung vorhanden sein:
2585 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
2586 korrekt in das MIDI-Format übersetzt. Dynamikzeichen, Crescendo und
2587 Decrescendo werden in den MIDI-Lautstärkekanal übertragen. Dynamikzeichen
2588 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
2589 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
2590 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
2591 werden. Siehe hierzu @ref{Der MIDI-Block}.
2593 Das Anfangstempo und spätere Tempoänderungen können mit dem
2594 @code{\tempo}-Befehl innerhalb der Notation notiert werden. Er
2595 bewirkt Tempoänderungen auch in der MIDI-Datei. Der Befehl setzt
2596 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
2597 auch unterdrückt werden kann, siehe @ref{Metronomangabe}. Eine
2598 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
2599 unten gezeigt, siehe @ref{Der MIDI-Block}.
2601 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
2602 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
2603 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
2604 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
2605 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
2606 oder @code{\score}-Blocks einfügen:
2609 #(ly:set-option 'midi-extension "midi")
2612 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
2614 Als Alternative kann man diese Option auch als Kommandozeilenparameter
2618 lilypond … -dmidi-extension=midi lilyDatei.ly
2621 @unnumberedsubsubsec Instrumentenbezeichnungen
2623 @cindex Instrumentbezeichnungen
2625 @funindex Staff.midiInstrument
2627 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
2628 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
2629 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
2630 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
2631 in der dort definierten Schreibweise notiert werden.
2635 \set Staff.midiInstrument = #"glockenspiel"
2641 \new Staff \with @{midiInstrument = #"cello"@} @{
2646 Wenn die Schreibweise nicht genau einem definierten Instrument aus
2647 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
2651 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2652 {changing-midi-output-to-one-channel-per-voice.ly}
2656 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
2657 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
2658 nicht geändert werden kann.
2660 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
2661 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
2662 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2665 @node Der MIDI-Block
2666 @subsection Der MIDI-Block
2667 @translationof MIDI block
2669 @cindex MIDI-Umgebung
2671 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
2672 vorkommen, wenn MIDI-Ausgabe gewünscht ist. Sie entspricht der
2673 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut. Oft wird
2674 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
2675 Kontexte umgeändert werden, neue Kontexte definiert werden oder
2676 neue Werte definiert werden. Das folgende Beispiel etwa definiert
2677 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
2689 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert. @code{\tempo}
2690 ist eigentlich ein Musikbefehl, der die Eigenschaften während der Interpretation
2691 der Musik einstellt: im Kontext von Ausgabedefinitionen wie etwa einem
2692 @code{\midi}-Kontext werden sie neu interpretiert, als ob es sich um
2693 Kontextmodifikatoren handelte.
2695 @cindex MIDI-Kontextdefinitionen
2697 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
2698 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
2699 wird. Klangübersetzungsmodule werden @code{performer}
2700 genannt. Die Kontexte für die MIDI-Ausgabe sind in der
2701 Datei @file{../ly/performer-init.ly} definiert, siehe
2702 @rlearning{Mehr Information}. Um beispielsweise
2703 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
2704 entfernen, müssen folgende Zeilen eingefügt werden:
2711 \remove "Dynamic_performer"
2716 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
2717 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
2718 @code{\score} beginnt.
2722 @{ @dots{}Noten@dots{} @}
2728 @node Was geht in die MIDI-Ausgabe
2729 @subsection Was geht in die MIDI-Ausgabe
2730 @translationof What goes into the MIDI output?
2733 @unnumberedsubsubsec In MIDI unterstützt
2735 @cindex Tonhöhen in MIDI
2736 @cindex MIDI, Tonhöhen
2737 @cindex Vierteltöne in MIDI
2738 @cindex MIDI, Vierteltöne
2739 @cindex Mikrotöne in MIDI
2740 @cindex MIDI, Mikrotöne
2741 @cindex Akkordsymbole in MIDI
2742 @cindex MIDI, Akkordsymbole
2743 @cindex Rhythmen in MIDI
2744 @cindex MIDI, Rhythmen
2745 @cindex Artikuliere-Skript
2746 @cindex MIDI, Artikuliere-Skript
2747 @cindex MIDI, Artikulationen
2748 @cindex Triller in MIDI
2749 @cindex Verzierungen in MIDI
2750 @cindex Rallantando in MIDI
2751 @cindex Accelerando in MIDI
2753 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
2757 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
2758 Spieler benötigt, der Tonhöhen verändern kann.)
2759 @item Akkorde, die als Symbole notiert werden
2760 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
2761 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
2763 @item Dynamikzeichen
2764 @item Crescendi, decrescendi zu mehreren Noten
2765 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
2769 Durch Einsatz vom @ref{Artikuliere-Skript} können noch einige Elemente
2770 zu der Liste hinzugefügt werden:
2773 @item Artikulationen (Bögen, Staccato usw.)
2775 @item Rallentando und accelerando
2779 @unnumberedsubsubsec In MIDI nicht unterstützt
2781 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen,
2782 außer am setzt das @ref{Artikuliere-Skript} ein:
2785 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
2786 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
2787 @item Staccato und andere Artikulationen und Ornamente
2788 @item Legato- und Phrasierungsbögen
2789 @item Crescendi, decrescendi zu einer einzelnen Note
2790 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
2791 @item Bezifferter Bass
2792 @item Akkorde mit Mikrotönen
2796 @node Wiederholungen im MIDI
2797 @subsection Wiederholungen im MIDI
2798 @translationof Repeats in MIDI
2800 @cindex Wiederholungen in MIDI
2801 @cindex MIDI und Wiederholungen
2803 @funindex \unfoldRepeats
2805 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2806 auch in der MIDI-Ausgabe wiedergegeben werden. Das wird erreicht, indem
2807 die @code{\unfoldRepeats}-Funktion eingesetzt wird. Diese Funktion
2808 verändert alle Wiederholungen in ausgeschriebene Noten.
2810 @lilypond[quote,verbatim]
2812 \repeat tremolo 8 { c'32 e' }
2813 \repeat percent 2 { c''8 d'' }
2814 \repeat volta 2 { c'4 d' e' f' }
2823 In Parituren mit mehreren Stimmen funktioniert das Ausschreiben der
2824 Wiederholungen im MIDI nur richtig, wenn @emph{jede} Stimme vollständig
2825 notierte Wiederholungsanweisungen enthält.
2827 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2828 wird, ist er notwendig,
2829 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2830 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2831 in der anderen werden die Wiederholungen notiert und als Partitur
2832 gesetzt. Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2841 \unfoldRepeats @var{..music..}
2847 @node MIDI-Lautstärke kontrollieren
2848 @subsection MIDI-Lautstärke kontrollieren
2849 @translationof Controlling MIDI dynamics
2851 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2852 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2853 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2854 als auch relative Lautstärken von Dynamikanweisungen und auch
2855 relative Lautstärke von einzelnen Instrumenten einzustellen.
2858 @unnumberedsubsubsec Dynamik-Zeichen
2860 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2861 zur Verfügung stehenden MIDI-Lautstärke notiert. Die Standardbrüche
2862 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2863 @notation{fffff}. Diese Anweisung befinden sich in der Datei
2864 @file{../scm/midi.scm}, siehe auch @rlearning{Mehr Information}.
2865 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2866 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2867 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2868 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2871 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2872 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann. Gleiches gilt
2873 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2874 nicht enthalten sind. Die Scheme-Funktion, die hier definiert wird,
2875 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2876 Standardanweisungen auf:
2878 @lilypond[verbatim,quote]
2879 #(define (myDynamics dynamic)
2880 (if (equal? dynamic "rfz")
2882 (default-dynamic-absolute-volume dynamic)))
2886 \set Staff.midiInstrument = #"cello"
2887 \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2899 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2900 umdefiniert werden soll, ist es besser, die
2901 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2902 @file{../scm/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2903 zu benutzen. Das letzte Beispiel dieses Abschnittes zeigt, wie das
2904 gemacht werden kann.
2907 @unnumberedsubsubsec MIDI-Lautstärke
2909 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2910 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2911 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2912 werden. Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2913 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2914 wenn diese Einstellung von Anfang an Wirkung zeigen soll. Der Bruch,
2915 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2919 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2923 errechnet. Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2924 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2926 @lilypond[verbatim,quote]
2932 \set Staff.midiInstrument = #"flute"
2933 \new Voice \relative {
2941 \set Staff.midiInstrument = #"clarinet"
2942 \new Voice \relative {
2954 midiMinimumVolume = #0.2
2955 midiMaximumVolume = #0.5
2962 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2964 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2965 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2966 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2967 werden. Damit kann man die Qualität der MIDI-Datei
2968 merklich verbessern.
2970 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2971 zur Lautstärke der Flöte verringert. In jeder Stimme muss
2972 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2973 diese Einstellung korrekt funktioniert.
2975 @lilypond[verbatim,quote]
2981 \set Staff.midiInstrument = #"flute"
2982 \set Staff.midiMinimumVolume = #0.7
2983 \set Staff.midiMaximumVolume = #0.9
2984 \new Voice \relative {
2992 \set Staff.midiInstrument = #"clarinet"
2993 \set Staff.midiMinimumVolume = #0.3
2994 \set Staff.midiMaximumVolume = #0.6
2995 \new Voice \relative {
3010 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
3012 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
3013 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
3014 Anpassungen für die Lautstärken bestimmter Instrumente vor.
3015 Diese Instrumente und ihre entsprechende Veränderung lassen
3016 sich aus der Tabelle @notation{instrument-equalizer-alist}
3017 in der Datei @file{../scm/midi.scm} entnehmen.
3019 Dieser grundlegende Equalizer kann ersetzt werden, indem die
3020 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
3021 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
3022 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
3023 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
3024 Instruments darstellt. Die Ersetzung der Standardfunktion wird
3025 auf gleiche Weise vorgenommen, wie es schon für die
3026 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
3027 gezeigt wurde. Der Standard-Equalizer,
3028 @notation{default-instrument-equalizer} in der Datei
3029 @file{../scm/midi.scm} zeigt, wie solche eine Funktion erstellt werden
3032 Das folgende Beispiel definiert für die Flöte und Klarinette relative
3033 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
3035 @lilypond[verbatim,quote]
3036 #(define my-instrument-equalizer-alist '())
3038 #(set! my-instrument-equalizer-alist
3041 ("flute" . (0.7 . 0.9))
3042 ("clarinet" . (0.3 . 0.6)))
3043 my-instrument-equalizer-alist))
3045 #(define (my-instrument-equalizer s)
3046 (let ((entry (assoc s my-instrument-equalizer-alist)))
3055 \set Score.instrumentEqualizer = #my-instrument-equalizer
3056 \set Staff.midiInstrument = #"flute"
3057 \new Voice \relative {
3065 \set Staff.midiInstrument = #"clarinet"
3066 \new Voice \relative {
3082 @node Schlagzeug in MIDI
3083 @subsection Schlagzeug in MIDI
3084 @translationof Percussion in MIDI
3086 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
3087 notiert. Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
3088 ausgegeben. Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
3089 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
3090 in einem @code{Staff}-Kontext notiert. Nur so lässt sich auch hier
3091 eine richtige MIDI-Ausgabe erreichen.
3093 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
3094 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
3095 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
3096 notiert werden. Es handelt sich
3097 um @code{melodic tom, taiko drum, synth drum} u. A.
3099 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
3100 z. B. Kastagnetten. Die einfachste Methode, derartige Instrumente
3101 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
3107 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
3108 Schlagstock (sidestick) für diesen Zweck eingesetzt.
3111 @node Artikuliere-Skript
3112 @subsection Artikuliere-Skript
3113 @translationof The Articulate script
3115 Eine realistischere MIDI-Ausgabe ist möglich, wenn man das
3116 Artikuliere-Skript einsetzt. Es versucht, Artikulationen
3117 (Bögen, Staccato) mit einzubeziehen, indem Noten mit
3118 sequentieller Musik von passender Verlängerung oder Verkürzung
3119 mit entprechenden Skips ersetzt werden. Es versucht auch,
3120 Triller usw. klingen zu lassen und rallantando und
3121 accelerando wahrzunehmen.
3123 Um das Artikuliere-Skript einzusetzen, muss oben in der
3127 \include "articulate.ly"
3131 eingefügt werden. Im @code{\score}-Abschnitt schreibt man
3134 \unfoldRepeats \articulate <<
3135 der Rest der Partitur...
3139 Wenn die Eingabedatei auf diese Art verändert wurd, wird die
3140 Notenausgabe stark verändert, aber die MIDI-Ausgabe produziert
3141 ein besseres Ergebnis.
3143 Wenn auch nicht unbedingt notwendig, damit das Artikuliere-Skript
3144 funktioniert, bietet es sich an, @code{\unfoldRepeats} wie im
3145 Beispiel oben zu verwenden, weil dadurch Abkürzungen wie etwa
3146 Triller ausgeführt werden.
3150 Articulate verkürzt Akkorde und manche Musik (besonders Orgelmusik)
3151 kann schlechter klingen.
3155 @node Musikalische Information extrahieren
3156 @section Musikalische Information extrahieren
3157 @translationof Extracting musical information
3159 Neben graphischer Ausgabe und MIDI kann LilyPond auch die musikalische
3160 Information als Text anzeigen:
3163 * LilyPond-Notation anzeigen::
3164 * Musikalische Scheme-Ausdrücke anzeigen::
3165 * Musikalische Ereignisse in einer Datei speichern::
3168 @node LilyPond-Notation anzeigen
3169 @subsection LilyPond-Notation anzeigen
3170 @translationof Displaying LilyPond notation
3172 @funindex \displayLilyMusic
3174 Mit der musikalischen Funktion @code{\displayLilyMusic} kann
3175 man einen musikalischen Ausdruck anzeigen. Um die Ausgabe zu
3176 sehen, wird LilyPond üblicherweise auf der Kommandozeile
3177 aufgerufen. Beispielsweise
3181 \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3189 @{ a,4 cis e fis g @}
3192 Standardmäßig gibt LilyPond diese Nachrichten auf die Kommandozeile
3193 aus, zusammen mit all den anderen LilyPond-Nachrichten über die
3194 Kompilation. Um die Nachrichten zu speichern, kann man die Ausgabe
3195 in eine Datei umleiten:
3198 lilypond file.ly >display.txt
3203 LilyPond zeit nicht nur die musikalischen Ausdrücke an, sondern
3204 interpretiert sie auch (weil @code{\displayLilyMusic} sie an das
3205 Programm zurückgibt, zusätzlich zur Anzeige). Das ist sehr
3206 praktisch, denn man kann einfach @code{\displayLilyMusic}
3207 in vorhandene Noten einfügen, um Informationen darüber zu erhalten.
3208 Wenn Sie nicht wollen, dass LilyPond die angezeigten
3209 musikalischen Ausdrücke auch interpretiert, muss @code{\void}
3210 eingesetzt werden, damit der Ausdruck für die Interpretation ignoriert wird:
3214 \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3219 @node Musikalische Scheme-Ausdrücke anzeigen
3220 @subsection Musikalische Scheme-Ausdrücke anzeigen
3221 @translationof Displaying scheme music expressions
3223 Siehe @rextend{Musikalische Funktionen darstellen}.
3226 @node Musikalische Ereignisse in einer Datei speichern
3227 @subsection Musikalische Ereignisse in einer Datei speichern
3228 @translationof Saving music events to a file
3230 Musikereignisse können in einer Datei Notensystem für Notensystem
3231 gespeichert werden, indem eine Datei in die Paritur eingefügt
3235 \include "event-listener.ly"
3238 Das erstellt Dateien mit der Bezeichnung @file{DATEINAME-SYSTEMNAME.notes} oder
3239 @file{DATEINAME-unnamed-staff.notes} für jedes Notensystem.
3240 Wenn mehrere Systeme ohne Bezeichnung auftreten, werden die
3241 Ereignisse aller Notensysteme zusammen in der selben Datei
3242 gemischt. Die Ausgabe sieht folgendermaßen aus:
3245 0.000 note 57 4 p-c 2 12
3247 0.250 note 62 4 p-c 7 12
3248 0.500 note 66 8 p-c 9 12
3249 0.625 note 69 8 p-c 14 12
3254 Die Syntax ist eine durch Tabulatoren getrennte Zeile mit zwei
3255 festen Zellen, gefolgt von optionalen Parametern.
3258 @var{time} @var{type} @var{...params...}
3261 Diese Information kann einfach ein ein anderes Programm wie
3262 etwa ein Python-Skript eingelsen werden und kann nützlich für
3263 Forscher sein, die musikalische Analyse- oder Wiedergabeexperimente
3264 mit LilyPond machen wollen.
3268 Nicht alle musikalischen Ereignisse werden von
3269 @file{event-listener.ly} unterstützt. Es handelt sich eher um ein
3270 gut gemachtes @qq{proof of concept}. Wenn Ereignisse, die Sie
3271 brauchen, nicht in enthalten sind, können Sie @file{event-listener.ly}
3272 in Ihr LilyPond-Verzeichnis kopieren und die Datei verändern,
3273 sodass sie die benötigte Information ausgibt.