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{The \layout block}.
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 g, {
619 \repeat unfold 2 { g16( d' b') a b d, b' d, } |
620 \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
628 \new Staff \relative b {
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 @code{Variable} = @code{\markup} @{
1110 @code{\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 @code{\on-the-fly #first-page}
1176 @code{\on-the-fly #last-page}
1177 @code{@{ \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 (parser location 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 (parser location 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 Bezeichner 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 c'' { a4 b c b8( a) }
1870 altoMusic = \relative g' { e4 e e f }
1871 tenorMusic = \relative c' { c4 b e d8( c) }
1872 bassMusic = \relative c' { 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]
1975 music = \relative g' {
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]
1995 music = \relative g' {
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 Bezeichner 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 globale Formatierungen, wie behandelt
2135 in @rlearning{Globale Formatierung}.
2138 Handbuch zum Lernen:
2139 @rlearning{Stücke durch Bezeichner organisieren},
2140 @rlearning{Globale Formatierung}.
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
2206 bulgarian = \lyricmode {
2207 Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2211 hebrew = \lyricmode {
2212 זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2216 portuguese = \lyricmode {
2217 à vo -- cê uma can -- ção legal
2223 \addlyrics { \bulgarian }
2224 \addlyrics { \hebrew }
2225 \addlyrics { \portuguese }
2230 @unnumberedsubsubsec Unicode
2231 @translationof Unicode
2235 Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
2236 bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
2237 der Befehl @code{\char ##xhhhh} oder @code{\char #dddd} innerhalb einer
2238 @code{\markup}-Umgebung benutzt werden. Hierbei bedeutet @code{hhhh} die
2239 hexadezimale Zahl und @code{ddd} die entsprechende dezimale Zahl
2240 für das erforderliche Zeichen. Nullen zu Beginn können ausgelassen werden,
2241 aber normalerweise werden alle vier Zeichen der hexadezimalen Notation
2242 notiert. (Achten Sie darauf, dass Sie @emph{nicht} UTF-8-Codepunkte
2243 einsetzen, weil UTF-8 zusätzliche Bits enthält, die die Nummer der Oktets bezeichnet.) Unicode-Tabellen und ein Verzeichnis der Zeichenbezeichnungen
2244 mit einer hexadezimalen Verweiszahl finden sich auf der Internetseite
2245 des Unicode Consortiums: @uref{http://www.unicode.org/}.
2247 Mit @code{\char ##x03BE} und @code{\char #958} wird
2248 beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
2249 Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat.
2252 Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
2253 Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
2254 gespeichert werden. Es muss natürlich auch noch eine Schriftart auf
2255 dem System installiert sein, die die notierten Zeichen darstellen kann.
2257 Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem
2258 hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen,
2259 im Gesangstext und als normaler Text außerhalb der Partitur.
2261 @lilypond[quote,verbatim]
2264 c1 \mark \markup { \char ##x03EE }
2265 c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
2267 \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2269 \markup { "Copyright 2008--2014" \char ##x00A9 }
2272 @cindex Copyright-Zeichen
2274 Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
2278 copyright = \markup @{ \char ##x00A9 "2008" @}
2284 @unnumberedsubsubsec ASCII-Aliase
2285 @translationof ASCII aliases
2287 Eine Liste von ASCII-Befehlen für Sonderzeichen kann
2290 @lilypond[quote,verbatim]
2292 #(include-special-characters)
2295 \markup "&flqq; – &OE;uvre incomplète… &frqq;"
2298 \new Staff { \repeat unfold 9 a'4 }
2300 This is al -- so wor -- kin'~in ly -- rics: –_&OE;…
2305 "The replacement can be disabled:"
2306 "– &OE; …"
2307 \override #'(replacement-alist . ()) "– &OE; …"
2311 Man kann auch eigen Aliase erstellen, entweder global:
2313 @lilypond[quote,verbatim]
2315 #(add-text-replacements!
2316 '(("100" . "hundred")
2317 ("dpi" . "dots per inch")))
2319 \markup "A 100 dpi."
2325 @lilypond[quote,verbatim]
2326 \markup \replace #'(("100" . "hundred")
2327 ("dpi" . "dots per inch")) "A 100 dpi."
2332 @ref{Liste der Sonderzeichen}.
2334 Installierte Dateien:
2335 @file{ly/text-replacements.ly}.
2338 @node Ausgabe kontrollieren
2339 @section Ausgabe kontrollieren
2340 @translationof Controlling output
2343 * Notationsfragmente extrahieren::
2344 * Korrigierte Musik überspringen::
2345 * Alternative Ausgabeformate::
2346 * Die Notationsschriftart verändern::
2350 @node Notationsfragmente extrahieren
2351 @subsection Notationsfragmente extrahieren
2352 @translationof Extracting fragments of music
2354 Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
2355 Quelldatei zu erzeugen. Das kann damit verglichen werden, dass man
2356 mit der Schere bestimmte Regionen ausschneidet.
2358 Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
2359 (engl. to clip = ausschneiden), extra definiert. Mit folgender
2360 Definition beispielsweise
2367 (make-rhythmic-location 5 1 2)
2368 (make-rhythmic-location 7 3 4)))
2373 wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
2374 beginnt und im siebten Takt endet. Die Bedeutung von @code{5 1 2} ist:
2375 nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
2378 Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
2379 werden, indem mehrere derartige Paare definiert werden.
2381 Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
2382 Parameter @option{-dclip-systems} aufgerufen werden. Die Schnipsel
2383 werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
2384 diese Formate auch als Parameter angegeben werden.
2386 Zu mehr Information über Ausgabeformate siehe @rprogram{lilypond aufrufen}.
2389 @node Korrigierte Musik überspringen
2390 @subsection Korrigierte Musik überspringen
2391 @translationof Skipping corrected music
2394 @funindex skipTypesetting
2395 @funindex showFirstLength
2396 @funindex showLastLength
2398 Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
2399 Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
2400 Korrektur. Um die Korrektur zu beschleunigen, kann eingestellt werden,
2401 dass nur die letzten paar Takte angezeigt werden. Das erreicht man
2405 showLastLength = R1*5
2410 in der Quelldatei. Damit werden nur die letzten fünf Takte (in einem
2411 4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt. Besonders
2412 bei längeren Stücken ist es meistens sehr viel schneller, nur einen
2413 kleinen Teil des Stückes zu setzen als die gesamte Länge. Wenn man
2414 am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
2415 werden soll), kann auch die @code{showFirstLength}-Eigenschaft
2418 Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
2419 Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
2420 werden. Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
2421 wird kein Notensatz ausgegeben.
2423 Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
2424 kontrollieren. Hiermit werden alle Ereignisse, auch Tempo- und
2425 Instrumentenwechsel ausgelassen. Man muss also sehr genau darauf
2426 achten, dass nichts unerwartetes geschieht.
2428 @lilypond[quote,relative=2,ragged-right,verbatim]
2430 \set Score.skipTypesetting = ##t
2432 \set Score.skipTypesetting = ##f
2436 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
2437 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
2438 Übersetzung der Datei gespart wird.
2441 @node Alternative Ausgabeformate
2442 @subsection Alternative Ausgabeformate
2443 @translationof Alternative output formats
2445 @cindex scalable vector graphics output
2446 @cindex skalierbare Vektorgraphik-Ausgabe
2448 @cindex encapsulated postscript output
2452 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
2453 Document Forma) und PS (PostScript). SVG (Scalable Vector
2454 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
2455 Network Graphics) gibt es auch als Ausgabeformate über die
2456 Kommandozeile. Siehe @rprogram{Optionen auf der Kommandozeile für lilypond}.
2459 @node Die Notationsschriftart verändern
2460 @subsection Die Notationsschriftart verändern
2461 @translationof Replacing the notation font
2463 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
2464 eingesetzt wird und kann unter der Adresse
2466 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2470 heruntergeladen werden. Hier einige Takte Noten mit der Gonville-Schriftart:
2472 @c NOTE: these images are a bit big, but that's important
2473 @c for the font comparison. -gp
2474 @sourceimage{Gonville_after,,,}
2476 Und hier einige Beispieltakte in der Feta-Schriftart:
2478 @sourceimage{Gonville_before,,,}
2480 @subsubheading Installationsanweisungen für MacOS
2482 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
2483 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
2484 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
2485 siehe @rlearning{Mehr Information}.
2486 Benennen Sie das existierende @code{fonts}-Verzeichnis in
2487 @code{fonts_orig} um und benennen Sie das Verzeichnis
2488 @code{lilyfonts} in @code{fonts}. Das alte Verzeichnis
2489 @code{fonts_orig} können Sie einfach in @code{fonts}
2490 zurückbenennen, um wieder nach Feta zu wechseln.
2493 Handbuch zum Lernen:
2494 @rlearning{Mehr Information}.
2498 Gonville kann nicht verwendet werden, um Alte Notation zu setzen und es
2499 ist wahrscheinlich, dass neuere Glyphen in späteren Versionen von
2500 LilyPond nicht in Gonville enthalten sein werden.
2501 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
2502 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
2506 @section MIDI-Ausgabe
2507 @translationof MIDI output
2512 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
2513 Kontrolle und Interaktion mit digitalen Instrumenten. Eine
2514 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
2515 Bändern/Stimmen. Es ist keine eigentliche Klangdatei, denn man
2516 benötigt spezielle Programme die die Notenereignisse in Klang
2519 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
2520 man sich anhören kann, was man notiert hat. Das hilft oft sehr gut
2521 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
2522 lassen sich meist sehr gut hören.
2524 Normale MIDI-Ausgabe ist etwas roh; optional kann eine verbesserte und
2525 realistischere MIDI-Ausgabe mit einem @ref{Artikuliere-Skript}
2528 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und reserviert
2529 Kanala 10 für Schlagzeug. Es gibt nur 16 MIDI-Kanäle pro Gerät,
2530 sodass MIDI-Kanäle mehrfach benutzt werden, wenn eine Partitur mehr
2531 als 15 Notensysteme hat.
2534 * MIDI-Dateien erstellen::
2536 * Was geht in die MIDI-Ausgabe::
2537 * Wiederholungen im MIDI::
2538 * MIDI-Lautstärke kontrollieren::
2539 * Schlagzeug in MIDI::
2540 * Artikuliere-Skript::
2544 @node MIDI-Dateien erstellen
2545 @subsection MIDI-Dateien erstellen
2546 @translationof Creating MIDI files
2548 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
2549 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
2559 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
2560 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
2561 Wenn auch die Notation gewünscht ist, muss zusätzlich die
2562 @code{\layout}-Umgebung vorhanden sein:
2572 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
2573 korrekt in das MIDI-Format übersetzt. Dynamikzeichen, Crescendo und
2574 Decrescendo werden in den MIDI-Lautstärkekanal übertragen. Dynamikzeichen
2575 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
2576 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
2577 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
2578 werden. Siehe hierzu @ref{Der MIDI-Block}.
2580 Das Anfangstempo und spätere Tempoänderungen können mit dem
2581 @code{\tempo}-Befehl innerhalb der Notation notiert werden. Er
2582 bewirkt Tempoänderungen auch in der MIDI-Datei. Der Befehl setzt
2583 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
2584 auch unterdrückt werden kann, siehe @ref{Metronomangabe}. Eine
2585 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
2586 unten gezeigt, siehe @ref{Der MIDI-Block}.
2588 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
2589 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
2590 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
2591 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
2592 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
2593 oder @code{\score}-Blocks einfügen:
2596 #(ly:set-option 'midi-extension "midi")
2599 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
2601 Als Alternative kann man diese Option auch als Kommandozeilenparameter
2605 lilypond … -dmidi-extension=midi lilyDatei.ly
2608 @unnumberedsubsubsec Instrumentenbezeichnungen
2610 @cindex Instrumentbezeichnungen
2612 @funindex Staff.midiInstrument
2614 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
2615 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
2616 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
2617 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
2618 in der dort definierten Schreibweise notiert werden.
2622 \set Staff.midiInstrument = #"glockenspiel"
2628 \new Staff \with @{midiInstrument = #"cello"@} @{
2633 Wenn die Schreibweise nicht genau einem definierten Instrument aus
2634 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
2638 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2639 {changing-midi-output-to-one-channel-per-voice.ly}
2643 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
2644 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
2645 nicht geändert werden kann.
2647 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
2648 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
2649 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2652 @node Der MIDI-Block
2653 @subsection Der MIDI-Block
2654 @translationof MIDI block
2656 @cindex MIDI-Umgebung
2658 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
2659 vorkommen, wenn MIDI-Ausgabe gewünscht ist. Sie entspricht der
2660 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut. Oft wird
2661 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
2662 Kontexte umgeändert werden, neue Kontexte definiert werden oder
2663 neue Werte definiert werden. Das folgende Beispiel etwa definiert
2664 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
2676 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert. @code{\tempo}
2677 ist eigentlich ein Musikbefehl, der die Eigenschaften während der Interpretation
2678 der Musik einstellt: im Kontext von Ausgabedefinitionen wie etwa einem
2679 @code{\midi}-Kontext werden sie neu interpretiert, als ob es sich um
2680 Kontextmodifikatoren handelte.
2682 @cindex MIDI-Kontextdefinitionen
2684 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
2685 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
2686 wird. Klangübersetzungsmodule werden @code{performer}
2687 genannt. Die Kontexte für die MIDI-Ausgabe sind in der
2688 Datei @file{../ly/performer-init.ly} definiert, siehe
2689 @rlearning{Mehr Information}. Um beispielsweise
2690 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
2691 entfernen, müssen folgende Zeilen eingefügt werden:
2698 \remove "Dynamic_performer"
2703 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
2704 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
2705 @code{\score} beginnt.
2709 @{ @dots{}Noten@dots{} @}
2715 @node Was geht in die MIDI-Ausgabe
2716 @subsection Was geht in die MIDI-Ausgabe
2717 @translationof What goes into the MIDI output?
2720 @unnumberedsubsubsec In MIDI unterstützt
2722 @cindex Tonhöhen in MIDI
2723 @cindex MIDI, Tonhöhen
2724 @cindex Vierteltöne in MIDI
2725 @cindex MIDI, Vierteltöne
2726 @cindex Mikrotöne in MIDI
2727 @cindex MIDI, Mikrotöne
2728 @cindex Akkordsymbole in MIDI
2729 @cindex MIDI, Akkordsymbole
2730 @cindex Rhythmen in MIDI
2731 @cindex MIDI, Rhythmen
2732 @cindex Artikuliere-Skript
2733 @cindex MIDI, Artikuliere-Skript
2734 @cindex MIDI, Artikulationen
2735 @cindex Triller in MIDI
2736 @cindex Verzierungen in MIDI
2737 @cindex Rallantando in MIDI
2738 @cindex Accelerando in MIDI
2740 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
2744 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
2745 Spieler benötigt, der Tonhöhen verändern kann.)
2746 @item Akkorde, die als Symbole notiert werden
2747 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
2748 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
2750 @item Dynamikzeichen
2751 @item Crescendi, decrescendi zu mehreren Noten
2752 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
2756 Durch Einsatz vom @ref{Artikuliere-Skript} können noch einige Elemente
2757 zu der Liste hinzugefügt werden:
2760 @item Artikulationen (Bögen, Staccato usw.)
2762 @item Rallentando und accelerando
2766 @unnumberedsubsubsec In MIDI nicht unterstützt
2768 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen,
2769 außer am setzt das @ref{Artikuliere-Skript} ein:
2772 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
2773 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
2774 @item Staccato und andere Artikulationen und Ornamente
2775 @item Legato- und Phrasierungsbögen
2776 @item Crescendi, decrescendi zu einer einzelnen Note
2777 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
2778 @item Bezifferter Bass
2779 @item Akkorde mit Mikrotönen
2783 @node Wiederholungen im MIDI
2784 @subsection Wiederholungen im MIDI
2785 @translationof Repeats in MIDI
2787 @cindex Wiederholungen in MIDI
2788 @cindex MIDI und Wiederholungen
2790 @funindex \unfoldRepeats
2792 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2793 auch in der MIDI-Ausgabe wiedergegeben werden. Das wird erreicht, indem
2794 die @code{\unfoldRepeats}-Funktion eingesetzt wird. Diese Funktion
2795 verändert alle Wiederholungen in ausgeschriebene Noten.
2797 @lilypond[quote,verbatim]
2799 \repeat tremolo 8 { c'32 e' }
2800 \repeat percent 2 { c''8 d'' }
2801 \repeat volta 2 { c'4 d' e' f' }
2810 In Parituren mit mehreren Stimmen funktioniert das Ausschreiben der
2811 Wiederholungen im MIDI nur richtig, wenn @emph{jede} Stimme vollständig
2812 notierte Wiederholungsanweisungen enthält.
2814 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2815 wird, ist er notwendig,
2816 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2817 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2818 in der anderen werden die Wiederholungen notiert und als Partitur
2819 gesetzt. Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2828 \unfoldRepeats @var{..music..}
2834 @node MIDI-Lautstärke kontrollieren
2835 @subsection MIDI-Lautstärke kontrollieren
2836 @translationof Controlling MIDI dynamics
2838 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2839 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2840 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2841 als auch relative Lautstärken von Dynamikanweisungen und auch
2842 relative Lautstärke von einzelnen Instrumenten einzustellen.
2845 @unnumberedsubsubsec Dynamik-Zeichen
2847 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2848 zur Verfügung stehenden MIDI-Lautstärke notiert. Die Standardbrüche
2849 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2850 @notation{fffff}. Diese Anweisung befinden sich in der Datei
2851 @file{../scm/midi.scm}, siehe auch @rlearning{Mehr Information}.
2852 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2853 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2854 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2855 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2858 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2859 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann. Gleiches gilt
2860 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2861 nicht enthalten sind. Die Scheme-Funktion, die hier definiert wird,
2862 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2863 Standardanweisungen auf:
2865 @lilypond[verbatim,quote]
2866 #(define (myDynamics dynamic)
2867 (if (equal? dynamic "rfz")
2869 (default-dynamic-absolute-volume dynamic)))
2873 \set Staff.midiInstrument = #"cello"
2874 \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2886 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2887 umdefiniert werden soll, ist es besser, die
2888 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2889 @file{../scm/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2890 zu benutzen. Das letzte Beispiel dieses Abschnittes zeigt, wie das
2891 gemacht werden kann.
2894 @unnumberedsubsubsec MIDI-Lautstärke
2896 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2897 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2898 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2899 werden. Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2900 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2901 wenn diese Einstellung von Anfang an Wirkung zeigen soll. Der Bruch,
2902 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2906 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2910 errechnet. Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2911 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2913 @lilypond[verbatim,quote]
2919 \set Staff.midiInstrument = #"flute"
2920 \new Voice \relative c''' {
2928 \set Staff.midiInstrument = #"clarinet"
2929 \new Voice \relative c'' {
2941 midiMinimumVolume = #0.2
2942 midiMaximumVolume = #0.5
2949 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2951 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2952 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2953 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2954 werden. Damit kann man die Qualität der MIDI-Datei
2955 merklich verbessern.
2957 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2958 zur Lautstärke der Flöte verringert. In jeder Stimme muss
2959 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2960 diese Einstellung korrekt funktioniert.
2962 @lilypond[verbatim,quote]
2968 \set Staff.midiInstrument = #"flute"
2969 \set Staff.midiMinimumVolume = #0.7
2970 \set Staff.midiMaximumVolume = #0.9
2971 \new Voice \relative c''' {
2979 \set Staff.midiInstrument = #"clarinet"
2980 \set Staff.midiMinimumVolume = #0.3
2981 \set Staff.midiMaximumVolume = #0.6
2982 \new Voice \relative c'' {
2997 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
2999 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
3000 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
3001 Anpassungen für die Lautstärken bestimmter Instrumente vor.
3002 Diese Instrumente und ihre entsprechende Veränderung lassen
3003 sich aus der Tabelle @notation{instrument-equalizer-alist}
3004 in der Datei @file{../scm/midi.scm} entnehmen.
3006 Dieser grundlegende Equalizer kann ersetzt werden, indem die
3007 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
3008 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
3009 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
3010 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
3011 Instruments darstellt. Die Ersetzung der Standardfunktion wird
3012 auf gleiche Weise vorgenommen, wie es schon für die
3013 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
3014 gezeigt wurde. Der Standard-Equalizer,
3015 @notation{default-instrument-equalizer} in der Datei
3016 @file{../scm/midi.scm} zeigt, wie solche eine Funktion erstellt werden
3019 Das folgende Beispiel definiert für die Flöte und Klarinette relative
3020 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
3022 @lilypond[verbatim,quote]
3023 #(define my-instrument-equalizer-alist '())
3025 #(set! my-instrument-equalizer-alist
3028 ("flute" . (0.7 . 0.9))
3029 ("clarinet" . (0.3 . 0.6)))
3030 my-instrument-equalizer-alist))
3032 #(define (my-instrument-equalizer s)
3033 (let ((entry (assoc s my-instrument-equalizer-alist)))
3042 \set Score.instrumentEqualizer = #my-instrument-equalizer
3043 \set Staff.midiInstrument = #"flute"
3044 \new Voice \relative c''' {
3052 \set Staff.midiInstrument = #"clarinet"
3053 \new Voice \relative c'' {
3069 @node Schlagzeug in MIDI
3070 @subsection Schlagzeug in MIDI
3071 @translationof Percussion in MIDI
3073 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
3074 notiert. Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
3075 ausgegeben. Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
3076 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
3077 in einem @code{Staff}-Kontext notiert. Nur so lässt sich auch hier
3078 eine richtige MIDI-Ausgabe erreichen.
3080 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
3081 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
3082 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
3083 notiert werden. Es handelt sich
3084 um @code{melodic tom, taiko drum, synth drum} u. A.
3086 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
3087 z. B. Kastagnetten. Die einfachste Methode, derartige Instrumente
3088 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
3094 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
3095 Schlagstock (sidestick) für diesen Zweck eingesetzt.
3098 @node Artikuliere-Skript
3099 @subsection Artikuliere-Skript
3100 @translationof The Articulate script
3102 Eine realistischere MIDI-Ausgabe ist möglich, wenn man das
3103 Artikuliere-Skript einsetzt. Es versucht, Artikulationen
3104 (Bögen, Staccato) mit einzubeziehen, indem Noten mit
3105 sequentieller Musik von passender Verlängerung oder Verkürzung
3106 mit entprechenden Skips ersetzt werden. Es versucht auch,
3107 Triller usw. klingen zu lassen und rallantando und
3108 accelerando wahrzunehmen.
3110 Um das Artikuliere-Skript einzusetzen, muss oben in der
3114 \include "articulate.ly"
3118 eingefügt werden. Im @code{\score}-Abschnitt schreibt man
3121 \unfoldRepeats \articulate <<
3122 der Rest der Partitur...
3126 Wenn die Eingabedatei auf diese Art verändert wurd, wird die
3127 Notenausgabe stark verändert, aber die MIDI-Ausgabe produziert
3128 ein besseres Ergebnis.
3130 Wenn auch nicht unbedingt notwendig, damit das Artikuliere-Skript
3131 funktioniert, bietet es sich an, @code{\unfoldRepeats} wie im
3132 Beispiel oben zu verwenden, weil dadurch Abkürzungen wie etwa
3133 Triller ausgeführt werden.
3137 Articulate verkürzt Akkorde und manche Musik (besonders Orgelmusik)
3138 kann schlechter klingen.
3142 @node Musikalische Information extrahieren
3143 @section Musikalische Information extrahieren
3144 @translationof Extracting musical information
3146 Neben graphischer Ausgabe und MIDI kann LilyPond auch die musikalische
3147 Information als Text anzeigen:
3150 * LilyPond-Notation anzeigen::
3151 * Musikalische Scheme-Ausdrücke anzeigen::
3152 * Musikalische Ereignisse in einer Datei speichern::
3155 @node LilyPond-Notation anzeigen
3156 @subsection LilyPond-Notation anzeigen
3157 @translationof Displaying LilyPond notation
3159 @funindex \displayLilyMusic
3161 Mit der musikalischen Funktion @code{\displayLilyMusic} kann
3162 man einen musikalischen Ausdruck anzeigen. Um die Ausgabe zu
3163 sehen, wird LilyPond üblicherweise auf der Kommandozeile
3164 aufgerufen. Beispielsweise
3168 \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3176 @{ a,4 cis e fis g @}
3179 Standardmäßig gibt LilyPond diese Nachrichten auf die Kommandozeile
3180 aus, zusammen mit all den anderen LilyPond-Nachrichten über die
3181 Kompilation. Um die Nachrichten zu speichern, kann man die Ausgabe
3182 in eine Datei umleiten:
3185 lilypond file.ly >display.txt
3190 LilyPond zeit nicht nur die musikalischen Ausdrücke an, sondern
3191 interpretiert sie auch (weil @code{\displayLilyMusic} sie an das
3192 Programm zurückgibt, zusätzlich zur Anzeige). Das ist sehr
3193 praktisch, denn man kann einfach @code{\displayLilyMusic}
3194 in vorhandene Noten einfügen, um Informationen darüber zu erhalten.
3195 Wenn Sie nicht wollen, dass LilyPond die angezeigten
3196 musikalischen Ausdrücke auch interpretiert, muss @code{\void}
3197 eingesetzt werden, damit der Ausdruck für die Interpretation ignoriert wird:
3201 \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3206 @node Musikalische Scheme-Ausdrücke anzeigen
3207 @subsection Musikalische Scheme-Ausdrücke anzeigen
3208 @translationof Displaying scheme music expressions
3210 Siehe @rextend{Musikalische Funktionen darstellen}.
3213 @node Musikalische Ereignisse in einer Datei speichern
3214 @subsection Musikalische Ereignisse in einer Datei speichern
3215 @translationof Saving music events to a file
3217 Musikereignisse können in einer Datei Notensystem für Notensystem
3218 gespeichert werden, indem eine Datei in die Paritur eingefügt
3222 \include "event-listener.ly"
3225 Das erstellt Dateien mit der Bezeichnung @file{DATEINAME-SYSTEMNAME.notes} oder
3226 @file{DATEINAME-unnamed-staff.notes} für jedes Notensystem.
3227 Wenn mehrere Systeme ohne Bezeichnung auftreten, werden die
3228 Ereignisse aller Notensysteme zusammen in der selben Datei
3229 gemischt. Die Ausgabe sieht folgendermaßen aus:
3232 0.000 note 57 4 p-c 2 12
3234 0.250 note 62 4 p-c 7 12
3235 0.500 note 66 8 p-c 9 12
3236 0.625 note 69 8 p-c 14 12
3241 Die Syntax ist eine durch Tabulatoren getrennte Zeile mit zwei
3242 festen Zellen, gefolgt von optionalen Parametern.
3245 @var{time} @var{type} @var{...params...}
3248 Diese Information kann einfach ein ein anderes Programm wie
3249 etwa ein Python-Skript eingelsen werden und kann nützlich für
3250 Forscher sein, die musikalische Analyse- oder Wiedergabeexperimente
3251 mit LilyPond machen wollen.
3255 Nicht alle musikalischen Ereignisse werden von
3256 @file{event-listener.ly} unterstützt. Es handelt sich eher um ein
3257 gut gemachtes @qq{proof of concept}. Wenn Ereignisse, die Sie
3258 brauchen, nicht in enthalten sind, können Sie @file{event-listener.ly}
3259 in Ihr LilyPond-Verzeichnis kopieren und die Datei verändern,
3260 sodass sie die benötigte Information ausgibt.