]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/learning/fundamental.itely
Doc-de: move working.itely to application.tely and updates from master
[lilypond.git] / Documentation / de / learning / fundamental.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2
3 @ignore
4     Translation of GIT committish: 67373601dabc72e32e3e7a4364c8be123d785e0b
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.12.0"
11 @c Translators: Till Rettig, Reinhold Kainhofer
12
13 @node Grundbegriffe
14 @chapter Grundbegriffe
15 @translationof Fundamental concepts
16
17 Nachdem im Tutorial gezeigt wurde, wie aus einfachen Text-Dateien
18 wunderschön formatierte Musiknoten erzeugt werden können, stellt
19 dieses Kapitel die Konzepte und Techniken vor, wie auch komplexere
20 Partituren erstellt werden können.
21
22 @menu 
23 * Wie eine LilyPond-Eingabe-Datei funktioniert::
24 * Voice enthält Noten::
25 * Kontexte und Engraver::
26 * Erweiterung der Beispiele::
27 @end menu
28
29 @node Wie eine LilyPond-Eingabe-Datei funktioniert
30 @section Wie eine LilyPond-Eingabe-Datei funktioniert
31 @translationof How LilyPond input files work
32
33 Das LilyPond Eingabeformat hat eine ziemlich freie Form, so dass 
34 für erfahrene Benutzer viel Freiheit besteht, die Struktur ihrer 
35 Quelldateien anzulegen.  Für Neulinge kann diese Flexibilität aber 
36 erst einmal verwirrend sein.  In diesem Kapitel soll darum ein Teil 
37 dieser Strukturen dargestellt werden, vieles aber zur Vereinfachung 
38 auch weggelassen werden.  Für eine komplette Beschreibung des Eingabeformats 
39 siehe @ruser{Die Dateistruktur}.
40
41 Die meisten Beispiele in diesem Handbuch sind kleine Schnipsel, wie 
42 etwa dieser:
43
44 @example
45 c4 a b c
46 @end example
47
48 Wie hoffentlich bekannt ist, lässt sich solch ein Schnipsel nicht 
49 in dieser Form übersetzen.  Diese Beispiele sind also nur Kurzformen 
50 von wirklichen Beispielen.  Sie müssen wenigstens zusätzlich in 
51 geschweifte Klammern gesetzt werden.
52
53 @example
54 @{
55   c4 a b c
56 @}
57 @end example
58
59 Die meisten Beispiele benutzen auch den @code{\relative c'}-Befehl. 
60 Der ist nicht nötig, um die Dateien zu übersetzen, aber in den meisten 
61 Fällen sieht der Notensatz seltsam aus, wenn man den Befehl 
62 weglässt.
63
64 @lilypond[quote,fragment,ragged-right,verbatim]
65 \relative c'' {
66   c4 a b c
67 }
68 @end lilypond
69
70 Eine komplette Definition des Eingabeformats findet sich
71 im Kapitel @ruser{Die Dateistruktur}.
72
73 @menu
74 * Einführung in die Dateistruktur von LilyPond::
75 * Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck::
76 * Musikalische Ausdrücke ineinander verschachteln::
77 * Über die Nicht-Schachtelung von Klammern und Bindebögen::
78 @end menu
79
80 @node Einführung in die Dateistruktur von LilyPond
81 @subsection Einführung in die Dateistruktur von LilyPond
82 @translationof Introduction to the LilyPond file structure
83
84 @cindex Eingabeformat
85 @cindex Dateistruktur
86 @cindex Struktur, Datei
87
88 Ein grundlegendes Beispiel einer Eingabedatei für LilyPond lautet:
89
90 @example
91 \version @w{"@version{}"}
92 \header @{ @}
93 \score @{
94   @var{...zusammengesetzter Musik-Ausdruck...}  % Die gesamten Noten kommen hier hin!
95   \layout @{ @}
96   \midi @{ @}
97 @}
98 @end example
99
100 @noindent
101 Aufgrund der Flexibilität von LilyPond gibt es viele Variationen dieses 
102 Schemas, aber dieses Beispiel dient als einfacher Ausgangspunkt.
103
104 @funindex \book
105 @funindex \score
106 @funindex book
107 @funindex score
108 @cindex book
109 @cindex score
110
111 Bisher hat noch keines der Beispiele den @code{\score@{@}}-Befehl
112 benutzt, da Lilypond derartige zusätzliche Befehle automatisch
113 bei Bedarf einfügt, wenn die Eingabedatei eine einfache Struktur 
114 hat.
115
116 Sehen wir uns als ein solches einfaches Beispiel an:
117
118 @example
119 \relative c'' @{
120   c4 a d c
121 @}
122 @end example
123
124 @noindent
125 Im Hintergrund kommen hier noch einige Ebenen dazu: LilyPond-Code 
126 in der obigen Form ist in Wirklichkeit eine Abkürzung.  Auch wenn man so 
127 Dateien schreiben kann und sie auch korrekt gesetzt werden, heißt 
128 der vollständige Code, der hier gemeint ist, eigentlich:
129
130 @example
131 \book @{
132   \score @{
133     \new Staff @{
134       \new Voice @{
135         \relative c'' @{
136           c4 a b c
137         @}
138       @}
139     @}
140     \layout @{ @}
141   @}
142 @}
143 @end example
144
145 @noindent
146 Mit anderen Worten:  Wenn die Eingabedatei einen einfachen Musik-Ausdruck
147 enthält, wird LilyPond die Datei so interpretieren, als ob dieser
148 Ausdruck in den oben gezeigten Befehlen eingegeben wurde.  Diese nötige 
149 Stuktur wird automatisch im Speicher beim Aufruf von LilyPond erzeugt, 
150 ohne dass der Benutzer davon etwas bemerkt.
151
152 @cindex Implizite Kontexte
153 @cindex Kontexte, implizit
154
155 @strong{Ein Wort der Warnung ist jedoch angebracht!} Viele der Beispiele
156 in der Dokumentation von LilyPond lassen die @code{\new Staff} und @code{\new Voice}
157 Befehle zur Erzeugung einer Notenzeile und einer Stimme (beides ist in 
158 LilyPond ein sogenannter Kontext) bewusst aus, 
159 damit sie implizit von LilyPond im Speicher erzeugt werden.
160 Für einfache Dokumente funktioniert das im Allgemeinen sehr gut, für 
161 komplexere Partituren können dadurch aber unerwartete Ergebnisse 
162 entstehen, teilweise sogar unerwartete leere Notenzeilen.  Um 
163 die entsprechenden Kontexte in diesem Fall explizit zu erzeugen,
164 siehe @ref{Kontexte und Engraver}.
165
166 @warning{Wenn mehr als ein paar Zeilen an Musik eingegeben werden,
167 empfielt es sich, die Notenzeilen und die Stimmen immer explizit
168 mit @code{\new Staff} und @code{\new Voice} zu erzeugen.}
169
170 Im Moment wollen wir aber zu unserem ersten Beispiel zurückkehren und
171 nur den @code{\score}-Befehl näher betrachten.
172
173 Eine Partitur (@code{\score}) muss immer mit einem musikalischen Ausdruck 
174 beginnen.  Das ist letztendlich alle Musik, angefangen bei einer 
175 einzelnen
176 Note bis hin zu einer riesigen Partitur mit vielen Notensystemen 
177 (bezeichnet durch @code{GrandStaff}):
178
179 @example
180 @{
181   \new GrandStaff <<
182     @var{...hier die gesamte Partitur...}
183   >>
184 @}
185 @end example
186
187 @noindent
188 Da sich alles innerhalb der geschweiften Klammern @code{@{ ... @}} 
189 befindet, wird es wie ein einziger musikalischer Ausdruck behandelt.
190
191
192 Ein @code{\score} auch andere Dinge enthalten, wie etwa
193
194 @example
195 \score @{
196   @{ c'4 a b c' @}
197   \layout @{ @}
198   \midi @{ @}
199   \header @{ @}
200 @}
201 @end example
202
203 @funindex \header
204 @funindex \layout
205 @funindex \midi
206 @funindex header
207 @funindex layout
208 @funindex midi
209 @cindex header
210 @cindex midi
211 @cindex Layout
212 @cindex Kopfzeile
213
214 @noindent
215 Wie man sieht, sind die drei Befehle @code{\header}, @code{\layout} und
216 @code{\midi} von spezieller Natur: Im Gegensatz zu vielen Anderen Befehlen, 
217 die auch mit einem @code{\} beginnen, liefern sie @emph{keinen} Musikausdruck
218 und sind auch nicht Teil eines musikalischen Ausdrucks.  Daher können sie
219 sowohl innerhalb eines @code{\score}-Blocks als auch außerhalb plaziert
220 werden.  Tatsächlich werden einige dieser Befehle meist außerhalb des 
221 @code{\score}-Blocksgesetzt, zum Beispiel findet sich der @code{\header} 
222 sehr oft oberhalb der @code{\score}-Umgebung.  Das 
223 funktioniert genauso gut.
224
225 Zwei bisher noch nicht aufgetauchte Befehle sind 
226 @code{\layout @{ @}} und @code{\midi @{@}}.  Wenn sie in einer 
227 Datei vorkommen, führt dies dazu, dass Lilypond eine druckfähige PDF-Datei
228 bzw. eine MIDI-Datei erzeugt.  Genauer beschrieben werden sie im 
229 Benutzerhandbuch -- @ruser{Partiturlayout} und
230 @ruser{MIDI-Dateien erstellen}.
231
232 @cindex Partituren, mehrfache
233 @cindex book-Abschnitte, implizit
234 @cindex implizite book-Umgebung
235 @funindex \book
236 @funindex book
237
238 Ihr LilyPond Code kann auch mehrere @code{\score}-Blöcke enthalten. 
239 Jeder davon wird als eigenständige Partitur interpretiert, die 
240 allerdings alle in dieselbe Ausgabedatei plaziert weden.
241 Ein @code{\book}-Befehl ist nicht explizit notwendig -- er wird 
242 implizit erzeugt.  Wenn jedoch für jeden @code{\score}-Block in einer 
243 einzigen @code{.ly}-Datei eine eigene Ausgabe-Datei erzeugt werden soll,
244 dann muss jeder dieser Blöcke in einen eigenen @code{\book}-Block
245 gesetzt werden: Jeder @code{\book}-Block erzeugt dann eine
246 eigene Ausgabedatei.
247
248 Zusammenfassung:
249
250 Jeder @code{\book}-Block erzeugt eine eigene Ausgabedatei (z.B. eine
251 PDF-Datei).  Wenn Sie keinen derartigen Block explizit angegeben haben,
252 setzt LilyPond den gesamten Dateiinhalt innerhalb eines einzigen 
253 impliziten @code{\book}-Blocks.
254
255 Jeder @code{\score}-Block beschreibt ein eigenständiges Musikstück 
256 innerhalb des @code{\book}-Blocks.
257
258 @cindex Layout-Umgebung, Platzierung
259 @cindex Platzierung von layout-Umgebung
260
261 Jeder @code{\layout}-Block wirkt sich auf den @code{\score}- oder
262 @code{\book}-Block aus, in dem er auftritt.  So wirkt z.B. ein 
263 @code{\layout}-Block innerhalb eines @code{\score}-Blocks nur auf 
264 diesen einen Block und seinen gesamten Inhalt, ein @code{\layout}-Block 
265 außerhalb eines @code{\score}-Blocks (und daher innerhalb des implizit 
266 erzeugten oder explizit angegebenen @code{\book}-Blocks) jedoch auf 
267 alle @code{\score}-Blocks innerhalb dieses @code{\book}-Blocks.
268
269 Nähere Details finden sich im Abschnitt @ruser{Mehrere Partituren in einem Buch}.
270
271 @cindex Variablen
272 @cindex Bezeichner
273
274 Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen (siehe auch @ref{Organizing pieces with variables}.)
275 Alle Vorlagen verwenden diese Möglichkeit.
276
277 @example
278 melodie = \relative c' @{
279   c4 a b c
280 @}
281
282 \score @{
283   @{ \melodie @}
284 @}
285 @end example
286
287 Wenn LilyPond diese Datei analysiert, nimmt es den Inhalt
288 von @code{melodie} (alles nach dem Gleichheitszeichen) und 
289 fügt ihn immer dann ein, wenn ein @code{\melodie} 
290 vorkommt.  Die Namen sind frei wählbar, die Variable kann genauso
291 gut  @code{melodie}, @code{GLOBAL},
292 @code{rechteHandklavier}, oder @code{foofoobarbaz} heißen.  Für mehr
293 Information siehe
294 @ref{Tipparbeit sparen durch Bezeichner und Funktionen}.
295 Als Variablenname kann fast jeder beliebige Name benutzt werden,
296 allerdings dürfen nur Buchstaben vorkommen (also keine Zahlen, Unterstriche,
297 Sonderzeichen, etc.) und er darf nicht wie ein LilyPond-Befehl
298 lauten.  Die genauen Einschränkungen sind beschrieben in 
299 @ruser{Die Dateistruktur}.
300
301
302 @seealso
303 Eine vollständige Definition des Eingabeformats findet sich in 
304 @ruser{Die Dateistruktur}.
305
306
307 @node Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck
308 @subsection Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck
309 @translationof Score is a (single) compound musical expression
310
311 @funindex \score
312 @funindex score
313 @cindex score
314 @cindex Partitur
315 @cindex Musikstück
316 @cindex zusammengesetzter Musikausdruck
317 @cindex Musikausdruck, zusammengesetzter
318
319
320 Im vorigen Kapitel, @ref{Einführung in die Dateistruktur von LilyPond}, 
321 wurde die allgemeine Struktur einer LilyPond-Quelldatei 
322 beschrieben.  Aber anscheinend haben wir die wichtigste 
323 Frage ausgelassen, nämlich wie man herausfindet, was nach 
324 dem @code{\score} geschrieben werden soll.
325
326 In Wirklichkeit ist das aber gar kein Geheimnis.  Diese 
327 Zeile ist die Antwort:
328
329 @quotation
330 @emph{Eine Partitur fängt immer mit @code{\score} an, gefolgt 
331 von einem einzelnen musikalischen Ausdruck.}
332 @end quotation
333
334 @noindent
335 Vielleicht wollen Sie noch einmal 
336 @ref{Musikalische Ausdrücke erklärt} überfliegen.  In diesem
337 Kapitel wurde gezeigt, wie sich große musikalische Ausdrücke 
338 aus kleinen Teilen zusammensetzen.  Noten können zu Akkorden 
339 verbunden werden usw. Jetzt gehen wir aber in die andere Richtung 
340 und betrachten, wie sich ein großer musikalischer Ausdruck 
341 zerlegen lässt. Zur Einfachheit soll nur ein Sänger und Klavier
342 in unserem Beispiel eingesetzt werden.  Wir brauchen 
343 keine Systemgruppe (StaffGroup), die einfach nur bewirkt,
344 dass die Systeme mit einer Klammer zusammengefasst werden; sie
345 wird also entfernt.  Wir @emph{brauchen} aber einen Sänger und ein Klavier.
346
347 @example
348 \score @{
349   @{
350     <<
351       \new Staff = "Sänger" <<
352       >>
353       \new PianoStaff = "Klavier" <<
354       >>
355     >>
356   @}
357   \layout @{ @}
358 @}
359 @end example
360
361 Hier wurden die Systeme (Staff) benannt: @qq{Sänger} und
362 @qq{Klavier}.  Das ist nicht direkt notwendig in diesem Fall,
363 aber es ist gut, sich diese Schreibweise anzugewöhnen, damit man
364 immer sofort erkennt, um welches System es sich handelt.
365
366 Zur Erinnerung: mit @code{<<} und @code{>>} werden Noten gleichzeitig
367 gesetzt.  Dadurch werden Vokalstimme und Klaviersysteme übereinander
368 ausgegeben.  Die @code{<< ... >>}-Konstruktion ist für das
369 Sänger-System nicht notwendig, wenn hier nur die Noten einer
370 einzigen Stimme eingefügt werden sollen, aber @code{<< ... >>}
371 anstelle von geschwungenen Klammern sind notwendig,
372 sobald mehr als eine Stimme oder etwa eine Notenstimme und
373 Gesangstext eingefügt werden sollen.  In unserem Fall soll eine
374 Stimme mit Gesangstext notiert werden, sodass die spitzen Klammern
375 benötigt werden.  Die Noten sollen erst später hinzugefügt werden,
376 hier also erstmal nur ein paar Platzhalternoten und Text.  Wenn
377 Sie sich nicht erinnern, wie man Gesangstext notiert, lesen
378 Sie noch einmal @code{\addlyrics} in @ref{Setting simple songs}.
379
380 @lilypond[verbatim,quote,ragged-right]
381 \score {
382   <<
383     \new Staff = "Sänger" <<
384       \new Voice = "Singstimme" { c'1 }
385       \addlyrics { And }
386     >>
387     \new PianoStaff = "Klavier" <<
388       \new Staff = "oben" { }
389       \new Staff = "unten" { }
390     >>
391   >>
392   \layout { }
393 }
394 @end lilypond
395
396 Jetzt haben wir viel mehr Details.  Wir haben ein System (engl. staff) 
397 für einen Sänger, in dem sich wieder eine Stimme (engl. voice) 
398 befindet.  @code{Voice} bedeutet für LilyPond eine Stimme (sowohl 
399 gesungen als auch gespielt) und evtl. zusätzlich einen Text.  Zusätzlich 
400 werden zwei Notensysteme für das Klavier mit dem Befehl @code{\new 
401 PianoStaff} gesetzt.  @code{PianoStaff} bezeichnet die Piano-Umgebung (etwa 
402 durchgehende Taktstriche und die geschweifte Klammer am Anfang), in der 
403 dann wiederum zwei eigene Systeme ("oben" für die rechte Hand und 
404 "unten" 
405 für die linke) erstellt werden, auch wenn das untere System noch
406 einen Bassschlüssel erhalten muss.
407
408 Jetzt könnte man in diese Umgebung Noten einfügen.  Innerhalb der 
409 geschweiften Klammern neben @code{\new Voice = "Singstimme"}
410 könnte man
411
412 @example
413 \relative c'' @{
414   r4 d8\noBeam g, c4 r
415 @}
416 @end example
417
418 @noindent
419 schreiben.  Aber wenn man seine Datei so direkt schreibt, wird 
420 der @code{\score}-Abschnitt sehr lang und es wird ziemlich schwer zu 
421 verstehen, wie alles zusammenhängt.  Darum bietet es sich an, Bezeichner 
422 (oder Variablen) zu verwenden.  Sie wurden zu Beginn des vorigen
423 Abschnitts erklärt, erinnern Sie sich?  Damit wir sicher gehen
424 können, dass der Inhalt der @code{text}-Variable als Gesangstext
425 interpretiert wird, wird ihm @code{\lyricmode} vorangesetzt.  Wie
426 @code{\addlyrics} wird hiermit in den Eingabemodus für Gesangstext
427 gewechselt. Ohne diesen Befehl würde LilyPond versuchen, den Inhalt
428 der Variable als Noten zu interpretieren und dabei eine Menge
429 Fehler produzieren. (Einige andere Eingabemodi sind außerdem noch
430 verfügtbar, siehe @ruser{Input modes}.)
431
432 Also haben wir, wenn wir ein paar Noten und einen Bassschlüssel
433 für die linke Hand hinzufügen, folgendes Beispiel:
434
435 @lilypond[verbatim,quote,ragged-right]
436 melodie = \relative c'' { r4 d8\noBeam g, c4 r }
437 text    = \lyricmode { And God said, }
438 oben    = \relative c'' { <g d g,>2~ <g d g,> }
439 unten   = \relative c { b2 e2 }
440
441 \score {
442   <<
443     \new Staff = "Sänger" <<
444       \new Voice = "Singstimme" { \melodie }
445       \addlyrics { \text }
446     >>
447     \new PianoStaff = "Klavier" <<
448       \new Staff = "oben" { \oben }
449       \new Staff = "unten" {
450         \clef "bass"
451         \unten
452       }
453     >>
454   >>
455   \layout { }
456 }
457 @end lilypond
458
459 Beim Schreiben (oder Lesen) einer @code{\score}-Umgebung 
460 sollte man langsam und sorgfältig vorgehen.  Am besten fängt 
461 man mit dem größten Gebilde an und definiert dann die darin 
462 enthaltenen kleineren der Reihe nach.  Es hilft auch, sehr 
463 genau mit den Einzügen zu sein, so dass jede Zeile, die 
464 der gleichen Ebene angehört, wirklich horizontal an der 
465 gleichen Stelle beginnt.
466
467
468 @seealso
469 Benutzerhandbuch: @ruser{Struktur einer Partitur}.
470
471
472 @node Musikalische Ausdrücke ineinander verschachteln
473 @subsection Musikalische Ausdrücke ineinander verschachteln
474 @translationof Nesting music expressions
475
476 @cindex Notenzeilen, temporäre
477 @cindex Ossia
478 @cindex temporäre Notenzeilen
479
480 Notenzeilen (die @q{Staff}-Kontexte) müssen nicht unbedingt gleich
481 zu Beginn erzeugt werden -- sie können auch zu einem späteren
482 Zeitpunkt eingeführt weden.  Das ist vor allem nützlichm um 
483 @rglosnamed{ossia,Ossias} zu erzeugen.  Hier folgt ein kures Beispiel,
484 wie eine zusätzliche temporäre Notenzeile für nur drei Noten erzeugt 
485 werden kann:
486
487 @lilypond[verbatim,quote,ragged-right]
488 \new Staff {
489   \relative g' {
490     r4 g8 g c4 c8 d |
491     e4 r8
492     <<
493       { f c c }
494       \new Staff {
495         f8 f c
496       }
497     >>
498     r4 |
499   }
500 }
501 @end lilypond
502
503 @noindent
504 Wie man sieht, ist die Größe des Notenschlüssels dieselbe, wie sie 
505 auch bei einer Schlüsseländerung auftritt -- etwas kleiner als
506 der Schlüssel am Beginn einer Notenzeile.   Dies ist normal für
507 Notenschlüssel, die innerhalb einer Notenzeile gesetzt werden.
508
509 @cindex Notenzeile, Positionierung
510 @cindex Positionierung einer Notenzeile
511
512 Der Ossia-Abschnitt kann auch oberhalb der Hauptnotenzeile
513 gesetzt werden:
514
515 @lilypond[verbatim,quote,ragged-right]
516 \new Staff = "Hauptzeile" {
517   \relative g' {
518     r4 g8 g c4 c8 d |
519     e4 r8
520     <<
521       { f c c }
522       \new Staff \with {
523         alignAboveContext = #"Hauptzeile" }
524       { f8 f c }
525     >>
526     r4 |
527   }
528 }
529 @end lilypond
530
531 Dieses Beispiel benutzt den @code{\with}-Befehl, der später noch
532 genauer erklärt wird.  Damit kann das Standardverhalten einer
533 einzelnen Notenzeile geändert werden: Hier wird einfach angegeben,
534 dass die neue Notenzeile oberhalb der bereits existierenden Zeile
535 mit Namen @qq{Hauptzeile} plaziert werden soll, anstatt 
536 standardmäßig unterhalb.
537
538
539 @seealso
540 Ossia werden oft ohne Notenschlüssel und Taktangabe gedruck, meist 
541 auch etwas kleiner als die anderen Notenzeilen.  Dies ist natürlich 
542 auch in LilyPond möglich, benötigt aber Befehle, die bisher noch 
543 nicht vorgestellt wurden.  Siehe @ref{Größe von Objekten}
544 und @ruser{Ossia-Systeme}.
545
546
547 @node Über die Nicht-Schachtelung von Klammern und Bindebögen
548 @subsection Über die Nicht-Schachtelung von Klammern und Bindebögen
549 @translationof On the un-nestedness of brackets and ties
550
551 @cindex Klammern, geschachtelt
552 @cindex Schachtelung von Klammern
553 @cindex Klammer-Typen
554
555 Sie haben bisher zahlreiche verschiedene Arten von Klammern
556 beim Schreiben von Musik mit LilyPond kennengelernt.  Diese
557 folgen verschiedenen Regeln, die zu Beginn vielleicht 
558 verwirrend wirken.  Bevor die genauen Regeln vorgestellt werden,
559 wollen wir die diversen Klammerarten kurz rekapitulieren:
560
561 @c attempt to force this onto a new page
562 @need 50
563 @multitable @columnfractions .3 .7
564 @headitem Klammerart
565   @tab Funktion
566 @item @code{@{ .. @}}
567   @tab Umschließt ein sequenzielles Musiksegment
568 @item @code{< .. >}
569   @tab Umschließt die Noten eines Akkords
570 @item @code{<< .. >>}
571   @tab Umschließt parallele Musikausdrücke
572 @item @code{( .. )}
573   @tab Markiert den Beginn und das Ende eines Haltebogens
574 @item @code{\( .. \)}
575   @tab Markiert den Beginn und das Ende eines Phasierungsbogens
576 @item @code{[ .. ]}
577   @tab Markiert den Beginn und das Ende eines manuell erzeugten Balkens
578 @end multitable
579
580 Zusätzlich sollten vielleicht noch einige weiter Konstruktionen
581 erwähnt werden, die Noten auf irgendeine Art und Weise verbinden:
582 Haltebögen (durch eine Tilde @code{~} markiert),
583 Triolen (als @code{\times x/y @{..@}} geschrieben) und
584 Vorschlagnoten (als @code{\grace@{..@}} notiert).
585
586 Außerhalb von LilyPond fordert die übliche Benutzung von 
587 Klammern, dass die entsprechenden Arten korrekt verschachtelt
588 werden, wie z.B. in @code{<< [ @{ ( .. ) @} ] >>}.  Die 
589 schließenden Klammern kommen dabei in der umgekehrten Reihenfolge
590 wie die öffnenden Klammern vor.  Dies ist auch in LilyPond 
591 ein @strong{Muss} für die drei Klammerarten, die in obiger 
592 Tabelle mit dem Wort @q{Umschließt} beschrieben werden -- sie 
593 müssen korrekt geschachtelt werden.
594 Die restlichen Klammerarten (durch @q{Markiert} beschrieben),
595 die Haltebögen und die Triolen brauchen jedoch mit den 
596 anderen Klammerarten @strong{nicht} unbedingt korrekt 
597 geschachtelt werden.  Tatsächlich sind sie auch keine Klammern
598 in dem Sinn, dass sie etwas umschließen, sondern viel mehr
599 Indikatoren, an welcher Stelle ein bestimmtes musikalisches 
600 Objekt beginnt oder endet.
601
602 So kann also z.B. einen Phrasierungsbogen vor einem manuellen 
603 Balken beginn, jedoch schon vor dem Ende des Balkens enden.
604 Dies mag zwar musikalisch wenig Sinn ergeben, ist aber in LilyPond
605 auch möglich:
606
607 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
608  { g8\( a b[ c b\) a] }
609 @end lilypond
610
611 Im Allgemeinen können die verschiedenen Klammerarten, Haltebögen,
612 Triolen und Vorschlagnoten beliebig kombiniert werden.
613 Das folgende Beispiel zeigt einen Balken, der in eine Triole reicht 
614 (Zeile 1), eine Bindebogen, der ebenfalls in eine Triole 
615 reicht (Zeile 2), einen Balken und einen Bindeboden in eine Triole,
616 ein Haltebogen, der über zwei Triolen läuft, sowie einen 
617 Phrasierungsbogen, der in einer Triole beginnt (Zeilen 3 und 4).
618
619 @lilypond[quote,verbatim,fragment,ragged-right]
620 {
621   r16[ g16 \times 2/3 {r16 e'8] }
622   g16( a \times 2/3 {b d) e' }
623   g8[( a \times 2/3 {b d') e'~]}
624   \times 4/5 {e'32\( a b d' e'} a'4.\)
625 }
626 @end lilypond
627
628
629 @node Voice enthält Noten
630 @section Voice enthält Noten
631 @translationof Voices contain music
632
633 Sänger brauchen Stimmen zum Singen, und LilyPond braucht sie auch:
634 in der Tat sind alle Noten für alle Instrumente in einer Partitur
635 innerhalb von Stimmen gesetzt.  Die Stimme ist das grundlegendste Prinzip
636 von LilyPond.
637
638 @menu 
639 * Ich höre Stimmen::
640 * Stimmen explizit beginnen::
641 * Stimmen und Text::
642 @end menu 
643
644 @node Ich höre Stimmen
645 @subsection Ich höre Stimmen
646 @translationof I'm hearing Voices
647
648 @cindex Polyphonie
649 @cindex Ebenen
650 @cindex mehrere Stimmen
651 @cindex Stimmen, mehrere
652 @cindex Voice context
653 @cindex context, Voice
654 @cindex Kontext, Stimme
655 @cindex Stimmenkontext
656 @cindex gleichzeitige Noten
657 @cindex Stimmen versus Akkorde
658 @cindex Akkorde versus Stimmen
659 @cindex Noten gleichzeitig
660
661 Die grundegendsten und innersten Ebenen ein einer LilyPond-Partitur
662 werden @qq{Voice context} (Stimmenkontext) oder auch nur @qq{Voice}
663 (Stimme) genannt.  Stimmen werden in anderen Notationsprogrammen
664 manchmal auch als @qq{layer} (Ebene) bezeichnet.
665
666 Tatsächlich ist die Stimmenebene die einzige, die wirklich Noten 
667 enthalten kann.  Wenn kein Stimmenkontext explizit erstellt wird, 
668 wird er automatisch erstellt, wie am Anfang dieses Kapitels
669 gezeigt.  Manche Instrumente wie etwa die Oboe können nur eine
670 Note gleichzeitig spielen.  Noten für solche Instrumente sind
671 monophon und brauchen nur eine einzige Stimme.  Instrumente, die
672 mehrere Noten gleichzeitig spielen können, wie das Klavier, brauchen
673 dagegeben oft mehrere Stimmen, um die verschiedenen gleichzeitig
674 erklingenden Noten mit oft unterschiedlichen Rhythmen darstellen 
675 zu können.
676
677 Eine einzelne Stimme kann natürlich auch vielen Noten in einem Akkord
678 enhalten -- wann also braucht man dann mehrere Stimmen? Schauen wir
679 uns zuerst dieses Beispiel mit vier Akkorden an:
680
681 @lilypond[quote,verbatim,fragment,ragged-right,relative=1]
682 \key g \major
683 <d g>4 <d fis> <d a'> <d g>
684 @end lilypond
685
686 Das kann ausgedrückt werden, indem man die einfachen spitzen Klammern
687 @code{< ... >} benützt, um Akkorde anzuzeigen.  Hierfür braucht man
688 nur eine Stimme.  Aber gesetzt der Fall das Fis sollte eigentlich
689 eine Achtelnote sein, gefolgt von einer Achtelnote G (als Durchgangsnote
690 hin zum A)? Hier haben wir also zwei Noten, die zur gleichen Zeit
691 beginnen, aber unterschiedliche Dauern haben: die Viertelnote D und die
692 Achtelnote Fis.  Wie können sie notiert werden? Als Akkord kann man sie 
693 nicht schreiben, weil alle Noten in einem Akkord die gleiche Länge besitzen
694 müssen.  Sie können auch nicht als aufeinanderfolgende Noten geschrieben
695 werden, denn sie beginnen ja zur selben Zeit.  In diesem Fall also brauchen
696 wir zwei Stimmen.
697
698 Wie aber wird das in der LilyPond-Syntax ausgedrückt?
699
700 @funindex << \\ >>
701 @funindex \\
702
703 Die einfachste Art, Fragmente mit mehr als einer Stimme auf einem System
704 zu notieren, ist, die Stimmen nacheinander (jeweils mit den Klammern
705 @code{@{ ... @}}) zu schreiben und dann mit den spitzen Klammern
706 (@code{<<...>>}) simultan zu kombinieren.  Die beiden Fragmente müssen
707 zusätzlich noch mit zwei Backslash-Zeichen (@code{\\}) voneinander
708 getrennt werden, damit sie als zwei unterschiedliche Stimmen erkannt 
709 werden.  Ohne diese Trenner würden sie als eine einzige Stimme notiert
710 werden.  Diese Technik ist besonders dann angebracht, wenn es sich bei
711 den Noten um hauptsächlich homophone Musik handelt, in der hier und da
712 polyphone Stellen vorkommen.
713
714 So sieht es aus, wenn die Akkorde in zwei Stimmen aufgeteilt werden
715 und zur Durchgangsnote noch ein Bogen hinzugefügt wird:
716
717 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
718 \key g \major
719 %    Voice "1"                  Voice "2"
720 << { g4 fis8( g) a4 g }    \\ { d4 d d d }  >> |
721 @end lilypond
722
723 Beachte, dass die Hälse der zweiten Stimme nun nach unten zeigen.
724
725 Hier ein anderes Beispiel:
726
727 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
728 \key d \minor
729 %    Voice "1"             Voice "2"
730 << { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
731 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
732 << { a2. r4 }         \\ { fis2. s4 }       >> |
733 @end lilypond
734
735 Es ist nicht notwendig, für jeden Takt eine eigene
736 @code{<< \\ >>}-Konstruktion zu benutzen.  Bei Musik mit nur wenigen
737 Noten pro Takt kann es die Quelldatei besser lesbar machen, aber
738 wenn in einem Takt viele Noten vorkommen, kann man die gesamten Stimmen
739 separat schreiben, wie hier:
740
741 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
742 \key d \minor
743 << {
744   % Voice "1"
745   r4 g g4. a8 |
746   bes4 bes c bes |
747   a2. r4 |
748 } \\ {
749   % Voice "2"
750   d,2 d4 g |
751   g4 g g8( a) g4 |
752   fis2. s4 |
753 } >>
754 @end lilypond
755
756 Dieses Beispiel hat nur zwei Stimmen, aber die gleiche Konstruktion kann
757 angewendet werden, wenn man drei oder mehr Stimmen hat, indem man weitere
758 Backslash-Trenner hinzufügt.
759
760 Die Stimmenkontexte tragen die Namen @code{"1"}, @code{"2"} usw. In jedem
761 dieser Kontexte wird die vertikale Ausrichtung von Hälsen, Bögen, Dynamik-Zeichen
762 usw. entsprechend ausgerichtet.
763
764 @lilypond[quote,verbatim,fragment]
765 \new Staff \relative c' {
766   % Main voice
767   c16 d e f
768   %    Voice "1"     Voice "2"                 Voice "3"
769   << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
770   << { d2 e2 }  \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
771 }
772 @end lilypond
773
774 Diese Stimmen sind alle getrennt von der Hauptstimme, die die Noten 
775 außerhalb der @code{<< .. >>}-Konstruktion beinhaltet.  Lassen wir es
776 uns die @emph{simultane Konstruktion} nennen.  Bindebögen und Legatobögen
777 können nur Noten in der selben Stimmen miteinander verbinden und können
778 also somit nicht aus der simultanen Konstruktion hinausreichen.  Umgekehrt
779 gilt, dass parallele Stimmen aus eigenen simultanen Konstruktionen auf
780 dem gleichen Notensystem die gleiche Stimme sind.  Auch andere, mit dem
781 Stimmenkontext verknüpfte Eigenschaften erstrecken sich auf alle
782 simultanen Konstrukte.  Hier das gleiche Beispiel, aber mit unterschiedlichen Farben für die Notenköpfe der unterschiedlichen Stimmen.
783 Beachten Sie, dass Änderungen in einer Stimme sich nicht auf die anderen
784 Stimmen erstrecken, aber sie sind weiterhin in der selben Stimme vorhanden,
785 auch noch später im Stück.  Beachten Sie auch, dass übergebundene Noten
786 über die gleiche Stimme in zwei Konstrukten verteilt werden können, wie
787 hier an der blauen Dreieckstimme gezeigt.
788
789 @lilypond[quote,verbatim]
790 \new Staff \relative c' {
791   % Main voice
792   c16 d e f
793   << % Bar 1
794     {
795       \voiceOneStyle
796       g4 f e
797     }
798   \\
799     {
800       \voiceTwoStyle
801       r8 e4 d c8 ~
802     }
803   >>
804   << % Bar 2
805      % Voice 1 continues
806     { d2 e2 }
807   \\
808      % Voice 2 continues
809     { c8 b16 a b8 g ~ g2 }
810   \\
811     {
812       \voiceThreeStyle
813       s4 b4 c2
814     }
815   >>
816 }
817 @end lilypond
818
819 @funindex \voiceOneStyle
820 @funindex \voiceTwoStyle
821 @funindex \voiceThreeStyle
822 @funindex \voiceFourStyle
823 @funindex \voiceNeutralStyle
824
825 Die Befehle @code{\voiceXXXStyle} sind vor allem dazu da, um in
826 pädagogischen Dokumenten wie diesem hier angewandt zu werden.
827 Sie verändern die Farbe des Notenkopfes, des Halses und des Balkens, und
828 zusätzlich die Form des Notenkopfes, damit die einzelnen Stimmen
829 einfach auseinander gehalten werden können.  Die erste Stimme ist als
830 rote Raute definiert, die zweite Stimme als blaue Dreiecke, die dritte
831 Stimme als grüne Kreise mit Kreuz und die vierte Stimme (die hier nicht
832 benutzt wird) hat dunkelrote Kreuze.  @code{\voiceNeutralStyle} (hier auch
833 nicht benutzt) macht diese Änderungen rückgängig.  Später soll gezeigt
834 werden, wie Befehle wie diese vom Benutzer selber erstellt werden 
835 können.  Siehe auch @ref{Sichtbarkeit und Farbe von Objekten} und
836 @ref{Variablen für Optimierungen einsetzen}.
837
838 @cindex Polyphonie und relativer Notationsmodus
839 @cindex relativer Notationsmodus und Polyphonie
840
841 Polyphonie ändert nicht die Verhältnisse der Noten innerhalb eines
842 @code{\relative @{ @}}-Blocks.  Jede Note wird weiterhin relativ zu 
843 der vorherigen Note errechnet, oder relativ zur ersten Note des vorigen
844 Akkords.  So ist etwa hier
845
846 @example
847 \relative c' @{ NoteA << < NoteB NoteC > \\ NoteD >> NoteE @}
848 @end example
849
850 @noindent
851 @code{NoteB} bezüglich @code{NoteA}                      @*
852 @code{NoteC} bezüglich @code{NoteB}, nicht @code{noteA};   @*
853 @code{NoteD} bezüglich @code{NoteB}, nicht @code{NoteA} oder
854 @code{NoteC};                                                 @*
855 @code{NoteE} bezüglich @code{NoteD}, nicht @code{NoteA} errechnet.
856
857 Eine andere Möglichkeit ist, den @code{\relative}-Befehl vor jede
858 Stimme zu stellen.  Das bietet sich an, wenn die Stimmen weit voneinander
859 entfernt sind.
860
861 @example
862 \relative c' @{ NoteA ... @}
863 <<
864   \relative c'' @{ < NoteB NoteC > ... @}
865 \\
866   \relative g' @{ NoteD ... @}
867 >>
868 \relative c' @{ NoteE ... @}
869 @end example
870
871 Zum Schluss wollen wir die Stimmen in einem etwas komplizierteren Stück
872 analysieren.  Hier die Noten der ersten zwei Takte von Chopins
873 @notation{Deux Nocturnes}, Op. 32.  Dieses Beispiel soll später in diesem
874 und dem nächsten Kapitel benutzt werden, um verschiedene Techniken,
875 Notation zu erstellen, zu demonstrieren.  Ignorieren Sie deshalb an diesem
876 Punkt alles in folgendem Code, das Ihnen seltsam vorkommt, und konzentrieren
877 Sie sich auf die Noten und die Stimmen.  Die komplizierten Dinge werden
878 in späteren Abschnitten erklärt werden.
879
880 @c The following should appear as music without code
881 @lilypond[quote,ragged-right]
882 \new Staff \relative c'' {
883   \key aes \major
884   << % Voice one
885     { c2 aes4. bes8 }
886   \\ % Voice two
887     { aes2 f4 fes }
888   \\ % No voice three
889   \\ % Voice four
890     {
891       % Ignore these for now - they are explained in Ch 4
892       \once \override NoteColumn #'force-hshift = #0
893       <ees c>2
894       \once \override NoteColumn #'force-hshift = #0.5
895       des2
896     }
897   >> |
898   <c ees aes c>1 |
899 }
900 @end lilypond
901
902 Die Richtung der Hälse wird  oft benutzt, um anzuzeigen, dass zwei 
903 gleichzeitige Melodien sich fortsetzen.  Hier zeigen die Hälse aller
904 oberen Noten nach oben und die Hälse aller unteren Noten nach unten.
905 Das ist der erste Anhaltspunkt, dass mehr als eine Stimme benötigt 
906 wird.
907
908 Aber die wirkliche Notwendigkeit für mehrere Stimmen tritt erst
909 dann auf, wenn unterschiedliche Noten gleichzeitig erklingen, aber
910 unterschiedliche Dauern besitzen.  Schauen Sie sich die Noten 
911 auf dem dritten Schlag im ersten Takt an.  Das As ist eine punktierte
912 Viertel, das F ist eine Viertel und das Des eine Halbe.  Sie können
913 nicht als Akkord geschrieben werden, denn alle Noten in einem Akkord
914 besitzen die gleiche Dauer.  Sie können aber auch nicht nacheinander
915 geschrieben werden, denn sie beginnen auf der gleichen Taktzeit.  Dieser
916 Taktabschnitt benötigt drei Stimmen, und normalerweise schreibt man
917 drei Stimmen für den ganzen Takt, wie im Beispiel unten zu sehen ist;
918 hier sind unterschiedliche Köpfe und Farben für die verschiedenen Stimmen
919 eingesetzt.  Nocheinmal: der Quellcode für dieses Beispiel wird später 
920 erklärt werden, deshalb ignorieren Sie alles, was Sie hier nicht 
921 verstehen können.
922
923 @c The following should appear as music without code
924 @c The three voice styles should be defined in -init
925 @lilypond[quote,ragged-right]
926 \new Staff \relative c'' {
927   \key aes \major
928   <<
929     { % Voice one
930       \voiceOneStyle
931       c2 aes4. bes8
932     }
933   \\  % Voice two
934     { \voiceTwoStyle
935       aes2 f4 fes
936     }
937   \\  % No Voice three (we want stems down)
938   \\  % Voice four
939     { \voiceThreeStyle
940       % Ignore these for now - they are explained in Ch 4
941       \once \override NoteColumn #'force-hshift = #0
942       <ees c>2
943       \once \override NoteColumn #'force-hshift = #0.5
944       des2
945     }
946   >> |
947   <c ees aes c>1 |
948 }
949 @end lilypond
950
951 Versuchen wir also, diese Musik selber zu notieren.  Wie wir sehen 
952 werden, beinhaltet das einige Schwierigkeiten.  Fangen wir an, wie
953 wir es gelernt haben, indem wir mit der @code{<< \\  >>}-Konstruktion
954 die drei Stimmen des ersten Taktes notieren:
955
956 @lilypond[quote,verbatim,fragment,ragged-right]
957 \new Staff \relative c'' {
958   \key aes \major
959   <<
960     { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
961   >>
962   <c ees aes c>1
963 }
964 @end lilypond
965
966 @cindex Hals nach unten
967 @cindex Hals nach oben
968 @cindex Notenhals, Richtung
969 @cindex Richtung des Notenhalses
970 @cindex Notenhalsrichtung
971 @cindex Stimmen und Notenhalsrichtung
972 @cindex Notenhalsrichtung in Stimmen
973
974 Die Richtung des Notenhalses wird automatisch zugewiesen; die ungeraden
975 Stimmen tragen Hälse nach oben, die gerade Hälse nach unten.  Die Hälse
976 für die Stimmen 1 und 2 stimmen, aber die Hälse in der dritten Stimme
977 sollen in diesem Beispiel eigentlich nach unten zeigen.  Wir können das
978 korrigieren, indem wir die dritte Stimme einfach auslassen und die
979 Noten in die vierte Stimme verschieben.  Das wird einfach vorgenommen,
980 indem noch ein Paar @code{\\}-Stimmen hinzugefügt wird.
981
982 @c KEEP LY
983 @lilypond[quote,verbatim,fragment,ragged-right]
984 \new Staff \relative c'' {
985   \key aes \major
986   << % erste Stimme
987     { c2 aes4. bes8 }
988   \\ % zweite Stimme
989     { aes2 f4 fes   }
990   \\ % Stimme drei auslassen
991   \\ % vierte Stimme
992     { <ees c>2 des2 }
993   >> |
994   <c ees aes c>1 |
995 }
996 @end lilypond
997
998 @noindent
999 Wie zu sehen ist, ändert das die Richtung der Hälse, aber zeigt ein
1000 anderes Problem auf, auf das man manchmal bei mehreren Stimmen stößt:
1001 Die Hälse einer Stimme können mit den Hälsen anderer Stimmen kollidieren.
1002 LilyPond erlaubt Noten in verschiedenen Stimmen sich auf der gleichen
1003 vertikalen Position zu befinden, wenn die Hälse in entgegengesetzte
1004 Richtungen zeigen, und positioniert die dritte und vierte Stimme dann
1005 so, dass Zusammenstöße möglichst vermieden werden.  Das funktioniert
1006 gewöhnlich recht gut, aber in diesem Beispiel sind die Noten der untersten
1007 Stimme eindeutig standardmäßig schlecht positioniert.  LilyPond bietet
1008 verschiedene Möglichkeiten, die horizontale Position von Noten
1009 anzupassen.  Wir sind aber noch nicht so weit, dass wir diese Funktionen
1010 anwenden könnten.  Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in @ref{Überlappende Notation in Ordnung bringen}.
1011
1012
1013 @seealso
1014 Notationsreferenz: @ruser{Mehrere Stimmen}.
1015
1016
1017 @node Stimmen explizit beginnen
1018 @subsection Stimmen explizit beginnen
1019 @translationof Explicitly instantiating voices
1020
1021 @funindex \voiceOne
1022 @funindex voiceOne
1023 @funindex \voiceTwo
1024 @funindex voiceTwo
1025 @funindex \voiceThree
1026 @funindex voiceThree
1027 @funindex \voiceFour
1028 @funindex voiceFour
1029 @funindex \oneVoice
1030 @funindex oneVoice
1031 @funindex \new Voice
1032 @cindex Voice context, erstellen von
1033 @cindex Stimmenkontexte, erstellen von
1034
1035 Voice-Kontexte können auch manuell innerhalb 
1036 eines @code{<< >>}-Abschnittes initiiert werden.  Mit den Befehlen 
1037 @code{\voiceOne} bis hin zu @code{\voiceFour} kann jeder Stimme 
1038 entsprechendes Verhalten von vertikaler Verschiebung und Richtung 
1039 von Hälsen und anderen Objekten hinzugefügt werden.  In längeren 
1040 Partituren können die Stimmen damit besser auseinander gehalten 
1041 werden.
1042
1043 Die @code{<< \\ >>}-Konstruktion, die wir im vorigen Abschnitt
1044 verwendet haben:
1045
1046 @example
1047 \new Staff @{
1048   \relative c' @{
1049     << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
1050   @}
1051 @}
1052 @end example
1053
1054 @noindent
1055 ist identisch mit
1056
1057 @example
1058 \new Staff <<
1059   \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
1060   \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
1061 >>
1062 @end example
1063
1064 Beide würden folgendes Notenbild erzeugen:
1065
1066 @c The following example should not display the code
1067 @lilypond[ragged-right,quote]
1068 \new Staff <<
1069   \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
1070   \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
1071 >>
1072 @end lilypond
1073
1074 @cindex Stimmen, mehrere zu einer zusammenführen
1075 @cindex eine Stimme wiederherstellen
1076
1077 Der @code{\voiceXXX}-Befehl setzt die Richtung von Hälsen, 
1078 Bögen, Artikulationszeichen, Text, Punktierungen und Fingersätzen.
1079 @code{\voiceOne} und @code{\voiceThree} lassen diese Objekte
1080 nach oben zeigen, @code{\voiceTwo} und @code{\voiceFour}
1081 dagegen lassen sie abwärts zeigen. Diese Befehle erzeugen eine
1082 horizontale Verschiebung, wenn es erforderlich ist, um Zusammenstöße
1083 zu vermeiden.  Der Befehl 
1084 @code{\oneVoice} stellt wieder auf das normale Verhalten um.
1085
1086 Schauen wir uns in einigen einfachen Beispielen an, was genau
1087 die Befehle @code{\oneVoice}, @code{\voiceOne} und @code{voiceTwo}
1088 mit Text, Bögen und Dynamikbezeichnung anstellen:
1089
1090 @lilypond[quote,ragged-right,verbatim]
1091 \relative c'{
1092   % Default behavior or behavior after \oneVoice
1093   c d8 ~ d e4 ( f g a ) b-> c
1094 }
1095 @end lilypond
1096
1097 @lilypond[quote,ragged-right,verbatim]
1098 \relative c'{
1099   \voiceOne
1100   c d8 ~ d e4 ( f g a ) b-> c
1101   \oneVoice
1102   c, d8 ~ d e4 ( f g a ) b-> c
1103 }
1104 @end lilypond
1105
1106 @lilypond[quote,ragged-right,verbatim]
1107 \relative c'{
1108   \voiceTwo
1109   c d8 ~ d e4 ( f g a ) b-> c
1110   \oneVoice
1111   c, d8 ~ d e4 ( f g a ) b-> c
1112 }
1113 @end lilypond
1114
1115 Schauen wir und nun drei unterschiedliche Arten an, den gleichen
1116 Abschnitt polyphoner Musik zu notieren, jede Art mit ihren 
1117 Vorteilen in unterschiedlichen Situationen.  Wir benutzen dabei
1118 das Beispiel vom vorherigen Abschnitt.
1119
1120 Ein Ausdruck, der direkt innerhalb einer @code{<< >>}-Umgebung 
1121 auftritt, gehört der Hauptstimme an.  Das ist nützlich, wenn zusätzliche 
1122 Stimme auftreten, während die Hauptstimme sich fortsetzt.  Hier also 
1123 eine bessere Version des Beispiels aus dem vorigen Abschnitt.  Die 
1124 farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in 
1125 einem einzigen Stimmen (@code{voice})-Kontext befindet.  Somit kann ein
1126 Phrasierungsbogen ober sie gesetzt werden.
1127
1128 @lilypond[quote,ragged-right,verbatim]
1129 \new Staff \relative c' {
1130   \voiceOneStyle
1131   % The following notes are monophonic
1132   c16^( d e f
1133   % Start simultaneous section of three voices
1134   <<
1135     % Continue the main voice in parallel
1136     { g4 f e | d2 e2) }
1137     % Initiate second voice
1138     \new Voice {
1139       % Set stems, etc, down
1140       \voiceTwo
1141       r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
1142     }
1143     % Initiate third voice
1144     \new Voice {
1145       % Set stems, etc, up
1146       \voiceThree
1147       s2. | s4 b4 c2
1148     }
1149   >>
1150 }
1151 @end lilypond
1152
1153 @cindex Verschachteln von musikalischen Ausdrücken
1154 @cindex Verschachteln von gleichzeitigen Ausdrücken
1155 @cindex Ausdrücke, Verschachteln von
1156 @cindex Stimmen, temporär
1157 @cindex Stimmen, Verschachteln von
1158 @cindex Verschachteln von Stimmen
1159 @cindex temporäre Stimmen
1160
1161 Tiefer verschachtelte polyphone Konstrukte sind möglich, und
1162 wenn eine Stimme nur kurz auftaucht, kann das der bessere Weg
1163 sein, Noten zu setzen:
1164
1165 @lilypond[quote,ragged-right,verbatim]
1166 \new Staff \relative c' {
1167   c16^( d e f
1168   <<
1169     { g4 f e | d2 e2) }
1170     \new Voice {
1171       \voiceTwo
1172       r8 e4 d c8 ~ |
1173       <<
1174         {c8 b16 a b8 g ~ g2}
1175         \new Voice {
1176           \voiceThree
1177           s4 b4 c2
1178         }
1179       >>
1180     }
1181   >>
1182 }
1183 @end lilypond
1184
1185 @cindex Platzhalternoten
1186 @cindex unsichtbare Noten
1187 @cindex Noten verstecken
1188
1189 Diese Methode, neue Stimmen kurzzeitig zu verschachteln, bietet sich
1190 an, wenn nur sehr kleine Abschnitte polyphonisch gesetzt sind.  Wenn
1191 aber die ganze Partitur polyphon ist, ist es meistens klarer, direkt
1192 unterschiedliche Stimmen über die gesamte Partitur hinweg einzusetzen.
1193 Hierbei kann man mit unsichtbaren Noten dann die Stellen überspringen,
1194 an denen die Stimme nicht auftaucht, wie etwa hier:
1195
1196 @lilypond[quote,ragged-right,verbatim]
1197 \new Staff \relative c' <<
1198   % Initiate first voice
1199   \new Voice {
1200     \voiceOne
1201     c16^( d e f g4 f e | d2 e2) |
1202   }
1203   % Initiate second voice
1204   \new Voice {
1205     % Set stems, etc, down
1206     \voiceTwo
1207     s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
1208   }
1209   % Initiate third voice
1210   \new Voice {
1211     % Set stems, etc, up
1212     \voiceThree
1213     s1 | s4 b4 c2 |
1214   }
1215 >>
1216 @end lilypond
1217
1218 @subsubheading Notenkolumnen
1219
1220 @cindex Notenkolumne
1221 @cindex Notenkollision
1222 @cindex Zusammenstöße von Noten
1223 @cindex Kollisionen von Noten
1224 @cindex Vertikale Position
1225 @cindex shift-Befehle
1226 @cindex Verschieben von Noten
1227 @funindex \shiftOff
1228 @funindex \shiftOn
1229 @funindex \shiftOnn
1230 @funindex \shiftOnnn
1231 @funindex shiftOff
1232 @funindex shiftOn
1233 @funindex shiftOnn
1234 @funindex shiftOnnn
1235
1236 Dicht notierte Noten in einem Akkord, oder Noten auf der gleichen
1237 Taktzeit aber in unterschiedlichen Stimmen, werden in zwei, manchmal
1238 auch mehreren Kolumnen getzt, um die Noten am Überschneiden zu 
1239 hindern.  Wir bezeichnen sie als Notenkolumnen.  Jede Stimme hat
1240 eine eigene Kolumne, und ein stimmenabhängiger Verschiebunsbefehl (engl.
1241 shift) wird eingesetzt, wenn eine Kollision auftreten könnte.  
1242 Das zeigt das Beispiel oben.  Im zweiten Takt wird das C der zweiten
1243 Stimme nach rechts verschoben, relativ gesehen zum D der ersten Stimme,
1244 und im letzten Akkord wird das C der dritten Stimme auch nach 
1245 rechts verschoben im Verhältnis zu den anderen Stimmen.
1246
1247 Die Befehle @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} und
1248 @code{\shiftOff} bestimmen den Grad, zu dem Noten und Akkorde
1249 verschoben werden sollen, wenn sich sonst eine Kollision nicht
1250 vermeiden ließe.  Die Standardeinstellung ist, dass die äußeren
1251 Stimmen (also normalerweise Stimme 1 und 2) @code{\shiftOff}
1252 eingestellt haben, während für die inneren Stimmen (3 und 4)
1253 @code{\shiftOn} eingeschaltet ist.  Wenn eine Verschiebung
1254 auftritt, werden Stimmen 1 und 3 nach rechts und Stimmen 2 und 4
1255 nach links verschoben.
1256
1257 @code{\shiftOnn} und @code{\shiftOnnn} definieren weitere
1258 Verschiebungsebenen, die man kurzzeitig anwählen kann, um
1259 Zusammenstöße in komplexen Situationen aufzulösen, siehe auch
1260 @ref{Beispiele aus dem Leben}.
1261
1262 Eine Notenkolumne kann nur eine Note (oder einen Akkord) von
1263 einer Stimme mit Hälsen nach oben und eine Note (oder einen
1264 Akkord) von einer Stimme mit Hälsen nach unten tragen.  Wenn
1265 Noten von zwei Stimmen mit den Hälsen in die gleiche Richtung
1266 an der selben Stelle auftreten und in beiden Stimmen ist
1267 keine Verschiebung oder die gleiche Verschiebungsebene
1268 definiert, wird die Fehlermeldung 
1269 @qq{zu viele kollidierende Notenspalten werden ignoriert}
1270 ausgegeben.
1271
1272
1273 @seealso
1274 Notationsreferenz: @ruser{Mehrere Stimmen}.
1275
1276
1277 @node Stimmen und Text
1278 @subsection Stimmen und Text
1279 @translationof Voices and vocals
1280
1281 Die Notation von Vokalmusik ihre eigene Schwierigkeit, nämlich
1282 die Kombination von zwei Ausdrücken: den Noten und dem Text.
1283 Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt.
1284
1285
1286 @funindex \new Lyrics
1287 @funindex \lyricsto
1288 @funindex lyricsto
1289 @funindex Lyrics
1290 @cindex Lyrics context, erstellen
1291 @cindex Gesangtext, Verbindung mit Noten
1292
1293 Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet,
1294 mit dem einfache Partituren gut erstellt werden können.  
1295 Diese Methode ist jedoch recht eingeschränkt.  Wenn der Notensatz
1296 komplexer wird, muss der Gesangstext mit einem neuen
1297 @code{Lyrics}-Kontext begonnen werden (mit dem Befehl
1298 @code{\new Lyrics}) und durch den Befehl @code{\lyricsto@{@}}
1299 mit einer bestimmten Stimme verknüpft werden, indem die
1300 Bezeichnung der Stimme benutzt wird.
1301
1302 @lilypond[quote,verbatim,fragment]
1303 <<
1304   \new Voice = "one" \relative c'' {
1305     \autoBeamOff
1306     \time 2/4
1307     c4 b8. a16 g4. f8 e4 d c2
1308   }
1309   \new Lyrics \lyricsto "one" {
1310     No more let sins and sor -- rows grow.
1311   }
1312 >>
1313 @end lilypond
1314
1315 Beachten Sie, dass der Notentext nur mit einem @code{Voice}-Kontext
1316 verknüpft werden kann, nicht mit einem @code{Staff}-Kontext.
1317 In diesem Fall also müssen Sie ein System (@code{Staff}) und 
1318 eine Stimme (@code{Voice}) explizit erstellen, damit alles 
1319 funktioniert.
1320
1321 @cindex Gesangstext und Balken
1322 @cindex Text und Balken
1323 @cindex Balken und Text
1324 @funindex \autoBeamOff
1325 @funindex autoBeamOff
1326
1327 Die automatischen Balken, die LilyPond in der Standardeinstellung
1328 setzt, eignen sich sehr gut für instrumentale Musik, aber nicht
1329 so gut für Musik mit Text, wo man entweder gar keine Balken 
1330 benutzt oder sie einsetzt, um Melismen zu verdeutlichen.
1331 Im Beispiel oben wird deshalb der Befehl @code{\autoBeamOff}
1332 eingesetzt um die automatischen Balken (engl. beam) auszuschalten.
1333
1334 @funindex \new ChoirStaff
1335 @funindex \lyricmode
1336 @funindex ChoirStaff
1337 @funindex lyricmode
1338 @cindex Vokalpartitur, Aufbau
1339 @cindex Chorpartitur, Aufbau
1340
1341 Wir wollen das frühere Beispiel von @notation{Judas Maccabæus}
1342 benutzen, um diese flexiblere Technik für Gesangstexte
1343 zu illustrieren.  Das Beispiel wurde so umgeformt, dass jetzt
1344 Variablen eingesetzt werden, um den Text und die Noten
1345 von der Partiturstruktur zu trennen.  Es wurde zusätzlich
1346 eine Chorpartiturklammer hinzugefügt.  Der Gesangtext muss mit
1347 @code{\lyricmode} eingegeben werden, damit er als Text und
1348 nicht als Noten interpretiert werden kann.
1349
1350 @lilypond[quote,verbatim]
1351 global = { \time 6/8 \partial 8 \key f \major}
1352 SopOneMusic = \relative c'' {
1353   c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
1354 SopTwoMusic = \relative c' {
1355   r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
1356 SopOneLyrics = \lyricmode {
1357   Let | flee -- cy flocks the | hills a -- dorn, __ }
1358 SopTwoLyrics = \lyricmode {
1359   Let | flee -- cy flocks the | hills a -- dorn, }
1360
1361 \score {
1362   \new ChoirStaff <<
1363     \new Staff <<
1364       \new Voice = "SopOne" {
1365         \global
1366         \SopOneMusic
1367       }
1368       \new Lyrics \lyricsto "SopOne" {
1369         \SopOneLyrics
1370       }
1371     >>
1372     \new Staff <<
1373       \new Voice = "SopTwo" {
1374         \global
1375         \SopTwoMusic
1376       }
1377       \new Lyrics \lyricsto "SopTwo" {
1378         \SopTwoLyrics
1379       }
1380     >>
1381   >>
1382 }
1383 @end lilypond
1384
1385 Dies ist die Grundstruktur für alle Chorpartituren.  Mehr
1386 Systeme können hinzugefügt werden, wenn sie gebraucht werden, mehr
1387 Stimmen können zu jedem System hinzugefügt werden, mehr
1388 Strophen können zum Text hinzugefügt werden, und schließlich
1389 können die Variablen schnell in eine eigene Datei verschoben 
1390 werden, wenn sie zu lang werden sollten.
1391
1392 @cindex Choralnotation
1393 @cindex Hymnus-Notation
1394 @cindex SATB-Partitur
1395 @cindex mehrere Strophen
1396 @cindex Strophen, mehrere
1397 @cindex Choral mit mehreren Strophen
1398
1399 Hier ein Beispiel der ersten Zeile eines Chorals mit vier
1400 Strophen für gemischten Chor.  In diesem Fall ist der Text
1401 für alle vier Stimmen identisch.  Beachten Sie, wie die
1402 Variablen eingesetzt werden, um Inhalt (Noten und Text) und Form
1403 (die Partitur) voneinander zu trennen.  Eine Variable wurde
1404 eingesetzt, um die Elemente, die auf beiden Systemen auftauchen,
1405 aufzunehmen, nämlich Taktart und Tonart.  Solch eine 
1406 Variable wird oft auch mit @qq{global} bezeichnet.
1407
1408 @lilypond[quote,verbatim]
1409 TimeKey = { \time 4/4 \partial 4 \key c \major}
1410 SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
1411 AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
1412 TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1413 BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
1414 VerseOne   = \lyricmode {
1415   E -- | ter -- nal fa -- ther, | strong to save, }
1416 VerseTwo   = \lyricmode {
1417   O | Christ, whose voice the | wa -- ters heard, }
1418 VerseThree = \lyricmode {
1419   O | Ho -- ly Spi -- rit, | who didst brood }
1420 VerseFour  = \lyricmode {
1421   O | Tri -- ni -- ty of | love and pow'r }
1422
1423 \score {
1424   \new ChoirStaff <<
1425     \new Staff <<
1426       \clef "treble"
1427       \new Voice = "Sop"  { \voiceOne \TimeKey \SopMusic }
1428       \new Voice = "Alto" { \voiceTwo \AltoMusic }
1429       \new Lyrics \lyricsto "Sop" { \VerseOne   }
1430       \new Lyrics \lyricsto "Sop" { \VerseTwo   }
1431       \new Lyrics \lyricsto "Sop" { \VerseThree }
1432       \new Lyrics \lyricsto "Sop" { \VerseFour  }
1433     >>
1434     \new Staff <<
1435       \clef "bass"
1436       \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
1437       \new Voice = "Bass"  { \voiceTwo \BassMusic  }
1438     >>
1439   >>
1440 }
1441 @end lilypond
1442
1443 @cindex Strophe und Refrain
1444 @cindex Refrain
1445
1446 Dieser Abschnitt schließt mit einem Beispiel, das eine Solo-Strophe
1447 mit anschließendem zweistimmigem Refrain auf zwei Systemen zeigt.
1448 Die Positionierung des einstimmigen Abschnitss und der mehrstimmigen
1449 Stelle ist etwas kompliziert; es braucht etwas Aufmerksamkeit,
1450 um der Erklärung folgen zu können.
1451
1452 Beginnen wir mit einer @code{score}-Umgebung, in der eine
1453 Chorpartitur (@code{ChoirStaff}) gesetzt wird.  Die Partitur soll
1454 schließlich mit der eckigen Klammer beginnen.
1455 Normalerweise bräuchten wir spitze Klammern im Quelltext
1456 nach dem @code{\new ChoirStaff}, damit die Systeme paralell
1457 gesetzt werden, aber hier wollen wir diese Parallelsierung
1458 ja erst nach dem Solo.  Also benutzen wir geschweifte Klammern.
1459 Innerhalb der Chorpartitur erstellen wir zuerst das System, 
1460 das die Strophe enthält.  Es braucht Noten und Text parallel,
1461 also setzen wir hier die spitzen Klammern um @code{\new Voice} 
1462 und @code{\new Lyrics}.
1463
1464 @lilypond[quote,verbatim,ragged-right]
1465 versenotes = \relative c'' {
1466   \clef "treble"
1467   \key g \major
1468   \time 3/4 g g g b b b
1469 }
1470 versewords = \lyricmode {
1471   One two three four five six
1472 }
1473 \score {
1474   \new ChoirStaff {
1475     \new Staff <<
1476       \new Voice = "verse" {
1477         \versenotes \break
1478       }
1479       \new Lyrics \lyricsto verse {
1480         \versewords
1481       }
1482     >>
1483   }
1484 }
1485 @end lilypond
1486
1487 @noindent
1488 Damit erhalten wir die Strophe.
1489
1490 Jetzt soll @notation{refrainA} auf dem selben System gesetzt
1491 werden, während gleichzeitig in einem neuen System darunter 
1492 @notation{refrainB} gesetzt wird.  Damit die Oberstimme das
1493 gleiche System benutzt, muss alles direkt auf den Zeilenumbruchbefehl
1494 (@code{\break} folgen, innerhalb der @notation{verse}-Stimme.
1495 Ja, tatsächlich, @emph{innerhalb} der @notation{verse}-Stimme.
1496 Hier haben wir diese parallele Stelle isoliert.  Weitere Systeme
1497 könnten auf die gleiche Weise hinzugefügt werden.
1498
1499 @example
1500 <<
1501   \refrainnotesA
1502   \new Lyrics \lyricsto verse @{
1503     \refrainwordsA
1504   @}
1505   \new Staff <<
1506     \new Voice = "refrainB" @{
1507       \refrainnotesB
1508     @}
1509     \new Lyrics \lyricsto "refrainB" @{
1510       \refrainwordsB
1511     @}
1512   >>
1513 >>
1514 @end example
1515
1516 Nun schließlich das Resultat mit zwei Systemen für den Refrain,
1517 man kann gut sehen, wie sich die parallele Stelle innherhalb
1518 der @notation{verse}-Stimme befindet.
1519
1520 @lilypond[quote,verbatim, ragged-right]
1521 versenotes = \relative c'' {
1522   \clef "treble"
1523   \key g \major
1524   \time 3/4 g g g b b b
1525 }
1526 refrainnotesA = \relative c'' {
1527   \time 2/4
1528   c c g g \bar "|."
1529 }
1530 refrainnotesB = \relative c {
1531   \clef "bass"
1532   \key g \major
1533   c e d d
1534 }
1535 versewords = \lyricmode {
1536   One two three four five six
1537 }
1538 refrainwordsA = \lyricmode {
1539   la la la la
1540 }
1541 refrainwordsB = \lyricmode {
1542   dum dum dum dum
1543 }
1544 \score {
1545   \new ChoirStaff {
1546     \new Staff <<
1547       \new Voice = "verse" {
1548         \versenotes \break
1549         <<
1550           \refrainnotesA
1551           \new Lyrics \lyricsto "verse" {
1552             \refrainwordsA
1553           }
1554           \new Staff <<
1555             \new Voice = "refrainB" {
1556               \refrainnotesB
1557             }
1558             \new Lyrics \lyricsto "refrainB" {
1559               \refrainwordsB
1560             }
1561           >>
1562         >>
1563       }
1564       \new Lyrics \lyricsto "verse" {
1565         \versewords
1566       }
1567     >>
1568   }
1569 }
1570 @end lilypond
1571
1572 @cindex book, Benutzung von
1573 @funindex \book
1574 @funindex book
1575
1576 Dies ist zwar eine interessante und nützliche Übung um zu
1577 verstehen, wie sequentielle und parallele Notationsumgebungen
1578 funktionieren, in der Praxis würde man diesen Code aber
1579 vielleicht eher in zwei @code{\score}-Umgebungen trennnen
1580 und diese dann innerhalb einer @code{\book}-Umgebung
1581 einsetzen, wie im folgenden Beispiel demonstriert:
1582
1583 @lilypond[quote,verbatim,ragged-right]
1584 versenotes = \relative c'' {
1585   \clef "treble"
1586   \key g \major
1587   \time 3/4 g g g b b b
1588 }
1589 refrainnotesA = \relative c'' {
1590   \time 2/4
1591   c c g g \bar "|."
1592 }
1593 refrainnotesB = \relative c {
1594   \clef "bass"
1595   \key g \major
1596   c e d d
1597 }
1598 versewords = \lyricmode {
1599   One two three four five six
1600 }
1601 refrainwordsA = \lyricmode {
1602   la la la la
1603 }
1604 refrainwordsB = \lyricmode {
1605   dum dum dum dum
1606 }
1607 \score {
1608   \new Staff <<
1609     \new Voice = "verse" {
1610       \versenotes
1611     }
1612     \new Lyrics \lyricsto "verse" {
1613       \versewords
1614     }
1615   >>
1616 }
1617
1618 \score {
1619   \new ChoirStaff <<
1620     \new Staff <<
1621       \new Voice = "refrainA" {
1622         \refrainnotesA
1623       }
1624       \new Lyrics \lyricsto "refrainA" {
1625         \refrainwordsA
1626       }
1627     >>
1628     \new Staff <<
1629       \new Voice = "refrainB" {
1630         \refrainnotesB
1631       }
1632       \new Lyrics \lyricsto "refrainB" {
1633         \refrainwordsB
1634       }
1635     >>
1636   >>
1637 }
1638 @end lilypond
1639
1640
1641 @seealso
1642 Notation Reference: @ruser{Notation von Gesang}.
1643
1644
1645 @node Kontexte und Engraver
1646 @section Kontexte und Engraver
1647 @translationof Contexts and engravers
1648
1649 Kontexte und Engraver (@qq{Stempel}) sind in den vorherigen
1650 Abschnitten schon aufgetaucht; hier wollen wir uns ihnen
1651 nun etwas ausführlicher widmen, denn sie sind sehr
1652 wichtig, um Feineinstellungen in der LilyPond-Notenausgabe
1653 vornehmen zu können.
1654
1655 @menu 
1656 * Was sind Kontexte?::
1657 * Kontexte erstellen::
1658 * Was sind Engraver?::
1659 * Kontexteigenschaften verändern::
1660 * Engraver hinzufügen und entfernen::
1661 @end menu
1662
1663 @node Was sind Kontexte?
1664 @subsection Was sind Kontexte?
1665 @translationof Contexts explained
1666
1667 @cindex Kontexte erklärt
1668
1669 Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe
1670 hinzugefügt werden,
1671 die im Quellcode gar nicht explizit vorkommen.  Vergleichen Sie
1672 etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
1673
1674 @lilypond[quote,verbatim,relative=2,fragment]
1675 cis4 cis2. g4
1676 @end lilypond
1677
1678 Der Quellcode ist sehr kurz und knapp, während in der
1679 Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und
1680 eine Taktart hinzugefügt wurden.  Während LilyPond
1681 den Eingabetext @emph{interpretiert}, wird die
1682 musikalische Information von rechts nach links gelesen,
1683 in etwa, wie man eine Partitur von links nach
1684 rechts liest.  Während das Programm den Code liest,
1685 merkt es sich, wo sich Taktgrenzen befinden und
1686 für welche Tonhöhen Versetzungszeichen gesetzt werden
1687 müssen.  Diese Information muss auf mehreren Ebenen
1688 gehandhabt werden, denn Versetzungszeichen etwa
1689 beziehen sich nur auf ein System, Taktlinien dagegen
1690 üblicherweise auf die gesamte Partitur.
1691
1692 Innerhalb von LilyPond sind diese Regeln und 
1693 Informationshappen in @emph{Kontexten} (engl.
1694 contexts) gruppiert.  Der @code{Voice} (Stimmen)-Kontext
1695 wurde schon vorgestellt.  Daneben
1696 gibt es noch die @code{Staff} (Notensystem-) und
1697 @code{Score} (Partitur)-Kontexte.  Kontexte sind
1698 hierarchisch geschichtet um die hierarchische
1699 Struktur einer Partitur zu spiegeln.  Ein @code{Staff}-Kontext
1700 kann zum Beispiel viele @code{Voice}-Kontexte beinhalten,
1701 und ein @code{Score}-Kontext kann viele
1702 @code{Staff}-Kontexte beinhalten.
1703
1704 @quotation
1705 @sourceimage{context-example,5cm,,}
1706 @end quotation
1707
1708 Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln
1709 zu erzwingen, bestimmte Notationsobjekte zu erstellen und
1710 verbundene Elemente zu ordnen.  Der @code{Voice}-Kontext
1711 zum Beispiel kann eine Vorzeichenregel einführen und der
1712 @code{Staff}-Kontext hält diese Regel dann aufrecht, um
1713 einzuordenen, ob ein Versetzungszeichen gesetzt werden
1714 muss oder nicht.
1715
1716 Ein anderes Beispiel: die Synchronisation der Taktlinien ist
1717 standardmäßig im @code{Score}-Kontext verankert.  Manchmal sollen
1718 die Systeme einer Partitur aber unterschiedliche Taktarten
1719 enthalten, etwa in einer polymetrischen Partitur mit 
1720 4/4- und 3/4-Takt.  In diesem Fall müssen also die Standardeinstellungen
1721 der @code{Score}- und @code{Staff}-Kontexte verändert werden.
1722
1723 In einfachen Partituren werden die Kontexte implizit erstellt,
1724 und es kann sein, dass Sie sich dessen gar nicht bewusst sind.
1725 Für etwas größere Projekte, etwa mit vielen Systemen, müssen
1726 die Kontexte aber explizit erstellt werden, um sicher zu gehen,
1727 dass man auch wirklich die erwünschte Zahl an Systemen in der
1728 richtigen Reihenfolge erhält.  Wenn Stücke mit spezialisierter
1729 Notation gesetzt werden sollen, ist es üblich, die existierenden
1730 Kontexte zu verändern oder gar gänzlich neue zu definieren.
1731
1732 Zusätzlich zu den @code{Score,} @code{Staff} und
1733 @code{Voice}-Kontexten gibt es noch Kontexte, die zwischen
1734 der Partitur- und Systemebene liegen und Gruppen von Systemen
1735 kontrollieren.  Das sind beispielsweise der 
1736 @code{PianoStaff} und @code{ChoirStaff}-Kontext.  Es gibt zusätzlich
1737 alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte
1738 für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw.
1739
1740 Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren
1741 englischen
1742 Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben
1743 begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich
1744 angeschlossen, etwa 
1745 @code{GregorianTranscriptionStaff}.
1746
1747
1748 @seealso
1749 Notationreferenz: @ruser{Was sind Kontexte?}.
1750
1751
1752 @node Kontexte erstellen
1753 @subsection Kontexte erstellen
1754 @translationof Creating contexts
1755
1756 @funindex \new
1757 @funindex new
1758 @cindex Neue Kontexte
1759 @cindex Erstellen von Kontexten
1760 @cindex Kontexte, Erstellen
1761
1762 Es gibt nur einen Kontext der obersten Ebene: der 
1763 @code{Score}-Kontext.  Er wird mit dem @code{\score}-Befehl, 
1764 oder -- in einfacheren Partituren -- automatisch
1765 erstellt.
1766
1767 Wenn nur ein System vorhanden ist, kann man es ruhig
1768 LilyPond überlassen, die @code{Voice}- und @code{Staff}-Kontexte
1769 zu erstellen, aber für komplexere Partituren ist es notwendig, 
1770 sie mit einem Befehl zu erstellen.  Der einfachste Befehl 
1771 hierzu ist @code{\new}.  Er wird dem musikalischen Ausdruck 
1772 vorangestellt, etwa so:
1773
1774 @example
1775 \new @var{Typ} @var{musikalischer Ausdruck}
1776 @end example
1777
1778 @noindent
1779 wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
1780 @code{Voice}) ist.  Dieser Befehl erstellt einen neuen Kontext und
1781 beginnt, den @var{muskalischen Ausdruck} innherhalb dieses
1782 Kontexts auszuwerten.
1783
1784 Beachten Sie, dass es keinen @code{\new Score}-Befehl gibt: der
1785 Partitur-Kontext der obersten Ebene wird mit dem Befehl @code{\score}
1786 begonnen.
1787
1788 Wir haben schon viele explizite Beispiel gesehen, in denen
1789 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
1790 um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt
1791 werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:
1792
1793 @lilypond[quote,verbatim,ragged-right]
1794 \score {  % start of single compound music expression
1795   <<  % start of simultaneous staves section
1796     \time 2/4
1797     \new Staff {  % create RH staff
1798       \key g \minor
1799       \clef "treble"
1800       \new Voice {  % create voice for RH notes
1801         \relative c'' {  % start of RH notes
1802           d4 ees16 c8. |
1803           d4 ees16 c8. |
1804         }  % end of RH notes
1805       }  % end of RH voice
1806     }  % end of RH staff
1807     \new Staff <<  % create LH staff; needs two simultaneous voices
1808       \key g \minor
1809       \clef "bass"
1810       \new Voice {  % create LH voice one
1811         \voiceOne
1812         \relative g {  % start of LH voice one notes
1813           g8 <bes d> ees, <g c> |
1814           g8 <bes d> ees, <g c> |
1815         }  % end of LH voice one notes
1816       }  % end of LH voice one
1817       \new Voice {  % create LH voice two
1818         \voiceTwo
1819         \relative g {  % start of LH voice two notes
1820           g4 ees |
1821           g4 ees |
1822         }  % end of LH voice two notes
1823       }  % end of LH voice two
1824     >>  % end of LH staff
1825   >>  % end of simultaneous staves section
1826 }  % end of single compound music expression
1827 @end lilypond
1828
1829 (Beachten Sie, dass wir hier alle Zeilen, die eine neue
1830 Umgebung entweder mit einer geschweiften Klammer (@code{@{})
1831 oder doppelten spitzen Klammern (@code{<<}) öffnen, mit
1832 jeweils zwei Leerzeichen, und die entsprechenden 
1833 schließenden Klammern mit der gleichen Anzahl Leerzeichen
1834 eingerückt werden.  Dies ist nicht erforderlich, es wird aber
1835 zu einem großen Teil die nicht passenden Klammerpaar-Fehler
1836 eliminieren und ist darum sehr empfohlen.  Es macht es 
1837 möglich, die Struktur einer Partitur auf einen Blick zu
1838 verstehen, und alle nicht passenden Klammern 
1839 erschließen sich schnell.  Beachten Sie auch, dass das
1840 untere Notensystem mit eckigen Klammern erstellt wird,
1841 denn innerhalb dieses Systems brauchen wir zwei Stimmen,
1842 um die Noten darzustellen.  Das obere System braucht
1843 nur einen einzigen musikalischen Ausdruck und ist deshalb
1844 von geschweiften Klammern umschlossen.)
1845
1846 @cindex Kontexte, Benennung
1847 @cindex Bennenung von Kontexten
1848
1849 Der @code{\new}-Befehl kann einem Kontext auch einen
1850 Namen zur Identifikation geben, um ihn von anderen Kontexten des
1851 selben Typs zu unterscheiden:
1852
1853 @example
1854 \new @var{Typ} = @var{Name} @var{musikalischer Ausdruck}
1855 @end example
1856
1857 Beachten Sie den Unterschied zwischen der Bezeichnung des
1858 Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem
1859 Namen, der aus beliebigen Buchstaben bestehen kann
1860 und vom Benutzer frei erfunden werden kann.  Zahlen und 
1861 Leerzeichen können auch benutzt werden, in dem Fall
1862 muss der Name aber von doppelten Anführungszeichen
1863 umgeben werden, also etwa  
1864 @code{\new Staff = "Mein System 1" @var{musikalischer Ausdruck}}.
1865 Der Name wird
1866 benutzt, um später auf genau diesen spezifischen Kontext 
1867 zu verweisen.  Dieses Vorgehen wurde schon in dem Abschnitt
1868 zu Gesangstexten angewandt, siehe @ref{Stimmen und Text}.
1869
1870
1871 @seealso
1872 Notationsreferenz: @ruser{Kontexte erstellen}.
1873
1874
1875 @node Was sind Engraver?
1876 @subsection Was sind Engraver?
1877 @translationof Engravers explained
1878
1879 @cindex Engraver
1880 @cindex Stempel (Engraver)
1881
1882 Jedes Zeichen des fertigen Notensatzes von LilyPond wird
1883 von einem @code{Engraver} (Stempel) produziert.  Es gibt
1884 also einen Engraver, der die Systeme erstellt, einen, der die
1885 Notenköpfe ausgibt, einen für die Hälse, einen für die
1886 Balken usw. Insgesamt gibt es über 120 Engraver! Zum
1887 Glück braucht man für die meisten Partituren nur ein
1888 paar Engraver, und für einfache Partituren muss man eigentlich
1889 überhaupt nichts über sie wissen.
1890
1891 Engraver leben und wirken aus den Kontexten heraus.  Engraver
1892 wie der @code{Metronome_mark_engraver}, dessen Aktion
1893 und Ausgabe sich auf die gesamte Partitur bezieht, wirken
1894 in der obersten Kontextebene -- dem @code{Score}-Kontext.
1895
1896 Der @code{Clef_engraver} (Schlüssel-Stempel) und der 
1897 @code{Key_engraver} (Vorzeichen-Stempel)  finden sich in
1898 jedem @code{Staff}-Kontext, denn unterschiedliche Systeme
1899 könnten unterschiedliche Tonarten und Notenschlüssel
1900 brauchen.
1901
1902 Der @code{Note_heads_engraver} (Notenkopf-Stempel) und der
1903 @code{Stem_engraver} (Hals-Stempel) befinden sich in jedem
1904 @code{Voice}-Kontext, der untersten Kontextebene.
1905
1906 Jeder Engraver bearbeitet die bestimmten Objekte, die mit
1907 seiner Funktion assoziiert sind, und verwaltet die Eigenschaften
1908 dieser Funktion.  Diese Eigenschaften, wie etwa die Eigenschaften,
1909 die mit Kontexten assoziiert sind, können verändert werden,
1910 um die Wirkungsweise des Engravers oder das Erscheinungsbild
1911 der von ihm produzierten Elemente in der Partitur zu ändern.
1912
1913 Alle Engraver haben zusammengesetzte Bezeichnung, die aus
1914 den (englischen) Wörtern ihrer Funktionsweise bestehen.  Nur
1915 das erste Wort hat einen Großbuchstaben, und die restlichen
1916 Wörter werden mit einem Unterstrich angefügt.  Ein
1917 @code{Staff_symbol_engraver}  verantwortet also die Erstellung
1918 der Notenlinien, ein @code{Clef_engraver} entscheidet über die
1919 Art der Notenschlüssel und setzt die entsprechenden Symbole; damit
1920 wird gleichzeitig die Referenztonhöhe auf dem Notensystem festgelegt.
1921
1922 Hier die meistgebräuchlichen Engraver mit ihrer Funktion.
1923 Sie werden sehen, dass es mit etwas Englischkenntnissen
1924 einfach ist, die Funktion eines Engravers von seiner Bezeichnung
1925 abzuleiten.
1926
1927 @multitable @columnfractions .3 .7
1928 @headitem Engraver
1929   @tab Funktion
1930 @item Accidental_engraver
1931   @tab Erstellt Versetzungszeichen, vorgeschlagene und Warnversetzungszeichen.
1932 @item Beam_engraver
1933   @tab Erstellt Balken.
1934 @item Clef_engraver
1935   @tab Erstellt Notenschlüssel.
1936 @item Completion_heads_engraver
1937   @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen.
1938 @c The old Dynamic_engraver is deprecated. -jm
1939 @item New_dynamic_engraver
1940   @tab Erstellt Dynamik-Klammern und Dynamik-Texte.
1941 @item Forbid_line_break_engraver
1942   @tab Verbietet Zeilenumbrüche, solange ein musikalisches Element aktiv ist.
1943 @item Key_engraver
1944   @tab Erstellt die Vorzeichen.
1945 @item Metronome_mark_engraver
1946   @tab Erstellt Metronom-Bezeichnungen.
1947 @item Note_heads_engraver
1948   @tab Erstellt Notenköpfe.
1949 @item Rest_engraver
1950   @tab Erstellt Pausen.
1951 @item Staff_symbol_engraver
1952   @tab Ersetllt die (standardmäßig) fünf Notenlinien des Systems.
1953 @item Stem_engraver
1954   @tab Erstellt die Notenhälse und Tremolos mit einem Hals.
1955 @item Time_signature_engraver
1956   @tab Erstellt die Taktartbezeichnung.
1957 @end multitable
1958
1959 @smallspace
1960
1961 Es soll später gezeigt werden, wie die LilyPond-Ausgabe
1962 verändert werden kann, indem die Wirkungsweise der
1963 Engraver beeinflusst wird.
1964
1965
1966 @seealso
1967 Referenz der Interna: @rinternals{Engravers and Performers}.
1968
1969
1970 @node Kontexteigenschaften verändern
1971 @subsection Kontexteigenschaften verändern
1972 @translationof Modifying context properties
1973
1974 @cindex Kontext-Eigenschaften, Verändern
1975 @cindex Eigenschaften von Kontexten
1976 @cindex Verändern von Kontext-Eigenschaften
1977 @funindex \set
1978 @funindex \unset
1979 @funindex set
1980 @funindex unset
1981
1982 Kontexte sind dafür verantwortlich, die Werte bestimmter
1983 Kontext-@emph{Eigenschaften} zu speichern.  Viele davon
1984 können verändert werden, um die Interpretation der
1985 Eingabe zu beeinflussen und die Ausgabe zu verändern.
1986 Kontexte werden mit dem @code{\set}-Befehl geändert.
1987 Er wird in Form
1988
1989 @example
1990 \set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert}
1991 @end example
1992
1993 @noindent
1994 verwendet, wobei @var{KontextBezeichnung} üblicherweise
1995  @code{Score},
1996 @code{Staff} oder @code{Voice} ist.  Der erste Teil kann auch
1997 ausgelassen werden; in diesem Fall wird @code{Voice} eingesetzt.
1998
1999 Die Bezeichnung von Kontexten-Eigenschaften besteht
2000 aus zwei Wörtern, die ohne Unterstrich oder Bindestrich
2001 verbunden sind.  Alle außer dem ersten werden am Anfang
2002 groß geschrieben.  Hier einige Beispiele der gebräuchlichsten
2003 Kontext-Eigenschaften.  Es gibt sehr viel mehr.
2004
2005 @c attempt to force this onto a new page
2006 @need 50
2007 @multitable @columnfractions .25 .15 .45 .15
2008 @headitem eigenschaftsBezeichnung
2009   @tab Typ
2010   @tab Funktion
2011   @tab Beispiel-Wert
2012 @item extraNatural
2013   @tab boolescher Wert
2014   @tab Wenn wahr, werden zusätzliche Auflösungszeichen vor Versetzungszeichen gesetzt. 
2015   @tab @code{#t}, @code{#f}
2016 @item currentBarNumber
2017   @tab Integer
2018   @tab Setzt die aktuelle Taktnummer.
2019   @tab @code{50}
2020 @item doubleSlurs
2021   @tab boolescher Wert
2022   @tab Wenn wahr, werden Legatobögen über und unter die Noten gesetzt.
2023   @tab @code{#t}, @code{#f}
2024 @item instrumentName
2025   @tab Text
2026   @tab Setzt die Instrumentenbezeichnung am Anfang eines Systems.
2027   @tab @code{"Cello I"}
2028 @item fontSize
2029   @tab reale Zahl
2030   @tab Vergrößert oder verkleinert die Schriftgröße.
2031   @tab @code{2.4}
2032 @item stanza
2033   @tab Text
2034   @tab Setzt den Text zu Beginn einer Strophe.
2035   @tab @code{"2"}
2036 @end multitable
2037
2038 @noindent
2039 Ein boolischer Wert ist entweder wahr  (@code{#t}) 
2040 oder falsch (@code{#f}),
2041 ein Integer eine positive ganze Zahl, eine reale Zahl eine positive
2042 oder negative Dezimalzahl, und Text wird in doppelte
2043 Anführungszeichen (Shift+2) eingeschlossen.  Beachten Sie
2044 das Vorkommen des Rautenzeichens
2045 (@code{#}) an unterschiedlichen Stellen: als Teil eines
2046 booleschen Wertes vor dem @code{t} oder @code{f}, aber
2047 auch vor einem @emph{Wert} in der
2048 @code{\set}-Befehlskette.  Wenn ein boolescher Wert
2049 eingegeben werden soll, braucht man also zwei
2050 Rautenzeichen, z. B. @code{##t}.
2051
2052 @cindex Eigenschaften in Kontexten
2053 @cindex Veränderung von Eigenschaften in Kontexten
2054
2055 Bevor eine Eigenschaft geändert werden kann, muss man wissen,
2056 in welchem Kontext sie sich befindet.  Manchmal versteht das
2057 sich von selbst, aber in einigen Fällen kann es zunächst
2058 unverständlich erscheinen.  Wenn der falsche Kontext angegeben
2059 wird, wird keine Fehlermeldung produziert, aber die
2060 Veränderung wird einfach nicht ausgeführt. 
2061 @code{instrumentName} befindet sich offensichtlich innerhalb
2062 von einem @code{Staff}-Kontext, denn das Notensystem soll
2063 benannt werden.  In dem folgenden Beispiel erhält das erste
2064 System korrekt die Instrumentenbezeichnung, das zweite aber
2065 nicht, weil der Kontext ausgelassen wurde.
2066
2067 @lilypond[quote,verbatim,ragged-right]
2068 <<
2069   \new Staff \relative c'' {
2070     \set Staff.instrumentName = #"Soprano"
2071     c4 c
2072  }
2073   \new Staff \relative c' {
2074   \set instrumentName = #"Alto"  % Wrong!
2075   d4 d
2076  }
2077 >>
2078 @end lilypond
2079
2080 Denken Sie daran, dass der Standardkontext @code{Voice} ist; in dem
2081 zweiten @code{\set}-Befehl wird also die Eigenschaft @code{instrumentName}
2082 im @code{Voice}-Kontext auf @qq{Alto}, gesetzt, aber weil LilyPond diese
2083 Eigenschaft nicht im @code{Voice}-Kontext vermutet, passiert einfach
2084 gar nichts.  Das ist kein Fehler, und darum wird auch keine Fehlermeldung
2085 prodziert.
2086
2087 Ebenso gibt es keine Fehlermeldung, wenn die Kontext-Bezeichnung
2088 falsch geschrieben wird und die Änderung also nicht ausgeführt werden
2089 kann.  Tatsächlich kann eine beliebige (ausgedachte) Kontextbezeichnung
2090 mit dem @code{\set}-Befehl eingesetzt werden, genauso wie die, die
2091 wirklich existieren.  Aber wenn LilyPond diese Bezeichnung nicht
2092 zuordnen kann, bewirkt der Befehl einfach gar nichts.  Manche Editoren,
2093 die Unterstützung für LilyPond-Befehle mitbringen, markieren existierende
2094 Kontextbezeichnungen mit einem Punkt, wenn man mit der Maus darüber
2095 fährt (wie etwa JEdit mit dem LilyPondTool), oder markieren
2096 unbekannte Bezeichnungen anders (wie ConTEXT).  Wenn Sie keinen
2097 Editor mit LilyPond-Unterstützung einsetzen, wird empfohlen, die
2098 Bezeichnungen in der Interna-Referenz zu überprüfen: siehe 
2099 @rinternals{Tunable context properties}, oder
2100 @rinternals{Contexts}.
2101
2102 Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie
2103 ineinem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften
2104 können in mehr als einem Kontext benutzt werden.  Als Beispiel mag die
2105 @code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen
2106 setzt.  Die Standardeinstellung ist ##t (wahr) in allen Systemen.
2107 Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch) 
2108 gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus.  Wird
2109 sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das
2110 auf alle darin enthaltenen Systeme aus.
2111
2112 Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System 
2113 ausgeschaltet sind:
2114
2115 @lilypond[quote,verbatim,ragged-right]
2116 <<
2117   \new Staff \relative c'' {
2118     ais4 aes
2119  }
2120   \new Staff \relative c'' {
2121     \set Staff.extraNatural = ##f
2122     ais4 aes
2123  }
2124 >>
2125 @end lilypond
2126
2127 @noindent
2128 während das dazu dient, sie in allen Systemen auszuschalten:
2129
2130 @lilypond[quote,verbatim,ragged-right]
2131 <<
2132   \new Staff \relative c'' {
2133     ais4 aes
2134  }
2135   \new Staff \relative c'' {
2136     \set Score.extraNatural = ##f
2137     ais4 aes
2138  }
2139 >>
2140 @end lilypond
2141
2142 Ein anderes Beispiel ist die Eigenschaft @code{clefOctavation}:
2143 wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort
2144 der Wert der Oktavierung in allen aktuellen Systemen und wird
2145 auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt.
2146
2147 Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft
2148 effektiv wieder von dem Kontext: in den meisten Fällen wird der
2149 Kontext auf ihre Standardeinstellungen zurückgesetzt.
2150 Normalerweise wird aber @code{\unset} nicht benötigt,
2151 denn ein neues @code{\set} erledigt alles, was man braucht.
2152
2153 Die @code{\set}- und @code{\unset}-Befehle könne überall im
2154 Eingabequelltext erscheinen und werden aktiv von dem Moment, an
2155 dem sie auftreten bis zum Ende der Partitur oder bis die Eigenschaft
2156 mit @code{\set} oder @code{\unset} neu gesetzt wird.  Versuchen
2157 wir als Beispiel, die Schriftgröße mehrmals zu ändern, was sich unter anderem
2158 auf die Notenköpfe auswirkt.  Die Änderung bezieht sich immer auf den Standard,
2159 nicht vom letzten gesetzten Wert.
2160
2161 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
2162 c4
2163 % make note heads smaller
2164 \set fontSize = #-4
2165 d e
2166 % make note heads larger
2167 \set fontSize = #2.5
2168 f g
2169 % return to default size
2170 \unset fontSize
2171 a b
2172 @end lilypond
2173
2174 Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
2175 Eigenschaften ändern lassen.  Beachten Sie, dass Integre und
2176 Zahlen immer mit einem Rautenzeichen beginnen, während
2177 die Werte wahr und falsch (mit @code{##t} und @code{##f}
2178 notiert) immer mit zwei Rauten beginnen.  Eine Eigenschaft, die
2179 aus Text besteht, muss in doppelte Anführungsstriche gesetzt werden,
2180 auch wenn wir später sehen werden, dass Text auf eine sehr viel
2181 allgmeinere und mächtigere Art mit dem @code{\markup}-Befehl
2182 eingegeben werden kann.
2183
2184 @subsubheading Kontexteigenschaften mit @code{\with} setzen
2185
2186 @funindex \with
2187 @funindex with
2188 @cindex Kontexteigenschaft, setzen mit \with
2189
2190 Kontexteigenschaften können auch gesetzt werden, wenn der Kontext
2191 erstellt wird.  Das ist in manchen Fällen eine deutlichere Art,
2192 eine Eigenschaft zu bestimmen, die für die gesamte Partitur
2193 erhalten bleichen soll.  Wenn ein Kontext mit einem
2194 @code{\new}-Befehl erstellt wird, dem direkt eine
2195 @code{\with @{ .. @}}-Umgebung folgt, können hier die
2196 Eigenschaften bestimmt werden.  Wenn also die zusätzlichen
2197 Auflösungszeichen für eine ganze Partitur gelten sollen, könnte
2198 man schreiben:
2199
2200 @example
2201 \new Staff \with @{ extraNatural = ##f @}
2202 @end example
2203
2204 @noindent
2205 etwa so:
2206
2207 @lilypond[quote,verbatim,ragged-right]
2208 <<
2209   \new Staff
2210   \relative c'' {
2211     gis ges aes ais
2212   }
2213   \new Staff \with { extraNatural = ##f }
2214   \relative c'' {
2215     gis ges aes ais
2216   }
2217 >>
2218 @end lilypond
2219
2220 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
2221 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
2222 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden.
2223
2224 @cindex Schriftgröße, Standardeinstellung
2225 @cindex fontSize (Schriftgröße), Standardeinstellung
2226
2227 Die @code{fontSize}-Eigenschaft wird anders behandelt.  Wenn sie mit
2228 einer @code{\with}-Umgebung gesetzt wird, wird die Standardschriftgröße
2229 neu gesetzt.  Wenn die Schriftgröße später mit @code{\set} verändert
2230 wird, kann dieser neue Standardwert mit dem Befehl
2231 @code{\unset fontSize} erreicht werden.
2232
2233 @subsubheading Kontexteigenschaften mit @code{\context} setzen
2234
2235 @cindex Kontexteigenschaften, mit \context setzen
2236 @cindex Eigenschaften von Kontexten, mit \context setzen
2237 @funindex \context
2238 @funindex context
2239
2240 Die Werte von Kontext-Eigenschaften können in @emph{allen} Kontexten
2241 eines bestimmten Typs (etwa alle @code{Staff}-Kontexte) 
2242 gleichzeitig mit einem Befehl gesetzt werden.  Der Kontext wird
2243 spezifieziert, indem seine Bezeichnung benutzt wird, also etwa 
2244 @code{Staff}, mit einem Backslash davor: @code{\Staff}.  Der Befehl
2245 für die Eigenschaft ist der gleiche, wie er auch in der 
2246 @code{\with}-Konstruktion benutzt wird, wie oben gezeigt.  Er wird in
2247 eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
2248 von einer @code{\layout}-Umgebung steht.  Jede @code{\context}-Umgebung
2249 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
2250 aktuellen Partitur befinden (d. h. innherhalb einer @code{\score}-
2251 oder @code{\book}-Umgebung.  Hier ist ein Beispiel, wie man diese
2252 Funktion anwendet:
2253
2254 @lilypond[verbatim,quote]
2255 \score {
2256   \new Staff {
2257     \relative c'' {
2258       cis4 e d ces
2259     }
2260   }
2261   \layout {
2262     \context {
2263       \Staff
2264       extraNatural = ##t
2265     }
2266   }
2267 }
2268 @end lilypond
2269
2270 @noindent
2271 Kontext-Eigenschaften, die auf diese Weise gestzt werden, können für 
2272 bestimmten Kontexte überschrieben werden, indem die 
2273 @code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
2274 innerhalb der aktuellen Noten.
2275
2276
2277 @seealso
2278 Notationsreferenz:
2279 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2280 @c FIXME
2281 @c uncomment when backslash-node-name issue is resolved -pm
2282 @c @ruser{Der set-Befehl}.
2283
2284 Referenz der Interna:
2285 @rinternals{Contexts},
2286 @rinternals{Tunable context properties}.
2287
2288
2289 @node Engraver hinzufügen und entfernen
2290 @subsection Engraver hinzufügen und entfernen
2291 @translationof Adding and removing engravers
2292
2293 @cindex Engraver, Hinzufügen von
2294 @cindex Engraver, Entfernen von
2295 @cindex Hinzufügen von Engravern
2296 @cindex Entfernen von Engravern
2297
2298 @funindex \consists
2299 @funindex \remove
2300 @funindex consists
2301 @funindex remove
2302
2303 Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern
2304 (Stempeln) beinhaltet, von denen ein jeder einen bestimmten
2305 Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien,
2306 Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus
2307 einem Kontext entfernt wird, kann er seine Objekte nicht
2308 länger produzieren.  Das ist eine eher grobe Methode, die
2309 Notenausgabe zu beeinflussen, aber es kann von großem
2310 Nutzen sein.
2311
2312
2313 @subsubheading Einen einzelnen Kontext verändern
2314
2315 Um einen Engraver von einem einzelnen Kontext zu entfernen,
2316 wir der @code{\with}-Befehl eingesetzt, direkt hinter
2317 den Befehl zur Kontext-Erstellung geschrieben, wie
2318 in dem vorigen Abschnitt gezeigt.
2319
2320 Als ein Beispiel wollen wir das Beispiel aus dem letzten
2321 Abschnitt produzieren, aber die Notenlinien entfernen.  Erinnern
2322 Sie sich, dass die Notenlinien vom @code{Staff_symbol_engraver}
2323 erstellt werden.
2324
2325 @lilypond[quote,verbatim,ragged-right]
2326 \new Staff \with {
2327   \remove Staff_symbol_engraver
2328 }
2329 \relative c' {
2330   c4
2331   \set fontSize = #-4  % make note heads smaller
2332   d e
2333   \set fontSize = #2.5  % make note heads larger
2334   f g
2335   \unset fontSize  % return to default size
2336   a b
2337 }
2338 @end lilypond
2339
2340 @cindex Ambitus-Engraver
2341
2342 Engraver können auch zu einem bestimmten
2343 Kontext hinzugefügt werden.  Dies geschieht
2344 mit dem Befehl
2345
2346 @code{\consists @var{Engraver_bezeichnung}}
2347
2348 @noindent
2349 welcher auch wieder innerhalb der @code{\with}-Umgebung
2350 gesetzt wird.  Einige Chorpartituren zeigen einen
2351 Ambitus direkt zu Beginn der ersten Notenzeile, um
2352 den Stimmumfang des Stückes anzuzeigen, siehe auch
2353 @rglos{ambitus}.  Der Ambitus wird vom
2354 @code{Ambitus_engraver} erstellt, der normalerweise
2355 in keinem Kontext enthalten ist.  Wenn wir
2356 ihn zum @code{Voice}-Kontext hinzufügen, errechnet
2357 er automatisch den Stimmumfang für diese einzelne Stimme 
2358 und zeigt ihn an:
2359
2360 @lilypond[quote,verbatim,ragged-right]
2361 \new Staff <<
2362   \new Voice \with {
2363     \consists Ambitus_engraver
2364   }
2365   \relative c'' {
2366     \voiceOne
2367     c a b g
2368   }
2369   \new Voice
2370   \relative c' {
2371     \voiceTwo
2372     c e d f
2373   }
2374 >>
2375 @end lilypond
2376
2377 @noindent
2378 wenn wir den Ambitus-Engraver allerdings zum
2379 @code{Staff}-Kontext hinzufügen, wird der Stimmumfang aller
2380 Stimmen in diesem Notensystem errechnet:
2381
2382 @lilypond[quote,verbatim,ragged-right]
2383 \new Staff \with {
2384     \consists Ambitus_engraver
2385   }
2386   <<
2387   \new Voice
2388   \relative c'' {
2389     \voiceOne
2390     c a b g
2391   }
2392   \new Voice
2393   \relative c' {
2394     \voiceTwo
2395     c e d f
2396   }
2397 >>
2398 @end lilypond
2399
2400
2401 @subsubheading Alle Kontexte des gleichen Typs verändern
2402
2403 @funindex \layout
2404
2405 Die vorigen Beispiele zeigen, wie man Engraver in einem
2406 bestimmten Kontext hinzufügen oder entfernen kann.  Es ist
2407 auch möglich, Engraver in jedem Kontext eines bestimmten
2408 Typs hinzuzufügen oder zu entfernen.  Dazu werden die
2409 Befehle in dem entsprechenden Kontext in einer
2410 @code{\layout}-Umgebung gesetzt.  Wenn wir also z. B. 
2411 den Ambitus für jedes Notensystem in einer Partitur 
2412 mit vier Systemen anzeigen wollen, könnte das so aussehen:
2413
2414 @lilypond[quote,verbatim,ragged-right]
2415 \score {
2416   <<
2417     \new Staff <<
2418       \relative c'' { c a b g }
2419     >>
2420     \new Staff <<
2421       \relative c' { c a b g }
2422     >>
2423     \new Staff <<
2424       \clef "G_8"
2425       \relative c' { c a b g }
2426     >>
2427     \new Staff <<
2428       \clef "bass"
2429       \relative c { c a b g }
2430     >>
2431   >>
2432   \layout {
2433     \context {
2434       \Staff
2435       \consists Ambitus_engraver
2436     }
2437   }
2438 }
2439 @end lilypond
2440
2441 @noindent
2442 Die Werte der Kontext-Eigenschaften können auch für 
2443 alle Kontexte eines bestimmten Typs auf die gleiche
2444 Weise geändert werden, indem der @code{\set}-Befehl in
2445 einer @code{\context}-Umgebung angewendet wird.
2446
2447
2448 @seealso
2449 Notationsreferenz: @ruser{Umgebungs-Plugins verändern},
2450 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2451
2452
2453 @node Erweiterung der Beispiele
2454 @section Erweiterung der Beispiele
2455 @translationof Extending the templates
2456
2457 Sie haben sich durch die Übung gearbeitet, Sie
2458 wissen jetzt, wie Sie Notensatz produzieren, und Sie
2459 haben die grundlegenden Konzepte verstanden.  Aber wie
2460 erhalten Sie genau die Systeme, die Sie brauchen? Es
2461 gibt eine ganze Anzahl an fertigen Vorlagen
2462 (siehe @ref{Vorlagen}), mit denen Sie beginnen 
2463 können.  Aber was, wenn Sie nicht genau das finden,
2464 was Sie brauchen? Lesen Sie weiter.
2465
2466 @menu
2467 * Sopran und Cello::
2468 * Vierstimmige SATB-Partitur::
2469 * Eine Partitur von Grund auf erstellen::
2470 * Tipparbeit durch Variablen und Funktionen ersparen::
2471 * Partitur und Stimmen::
2472 @end menu
2473
2474
2475 @node Sopran und Cello
2476 @subsection Sopran und Cello
2477 @translationof Soprano and cello
2478
2479 @cindex Template, Verändern von
2480 @cindex Vorlage, Verändern von
2481 @cindex Veränderung von Vorlagen
2482
2483 Beginnen Sie mit der Vorlage, die Ihren Vorstellungen
2484 am nächsten kommt.  Nehmen wir einmal an, Sie wollen
2485 ein Stück für Sopran und Cello schreiben.  In diesem 
2486 Fall könnten Sie mit der Vorlage @qq{Noten und Text} 
2487 (für die Sopran-Stimme) beginnen.
2488
2489 @example
2490 \version @w{"@version{}"}
2491 melody = \relative c' @{
2492   \clef treble
2493   \key c \major
2494   \time 4/4
2495   a4 b c d
2496 @}
2497
2498 text = \lyricmode @{
2499   Aaa Bee Cee Dee
2500 @}
2501
2502 \score @{
2503   <<
2504     \new Voice = "one" @{
2505       \autoBeamOff
2506       \melody
2507     @}
2508     \new Lyrics \lyricsto "one" \text
2509   >>
2510   \layout @{ @}
2511   \midi @{ @}
2512 @}
2513 @end example
2514
2515 Jetzt wollen wir die Cello-Stimme hinzufügen.  Schauen wir uns das
2516 Beispiel @qq{Nur Noten} an:
2517
2518 @example
2519 \version @w{"@version{}"}
2520 melody = \relative c' @{
2521   \clef treble
2522   \key c \major
2523   \time 4/4
2524   a4 b c d
2525 @}
2526
2527 \score @{
2528   \new Staff \melody
2529   \layout @{ @}
2530   \midi @{ @}
2531 @}
2532 @end example
2533
2534 Wir brauchen den @code{\version}-Befehl nicht zweimal.  Wir
2535 brauchen aber den @code{melody}-Abschnitt.  Wir wollen 
2536 keine zwei @code{\score} (Partitur)-Abschnitte -- mit zwei
2537 @code{\score}-Abschnitten würden wir zwei Stimmen
2538 getrennt voneinander erhalten.  In diesem Fall wollen wir
2539 sie aber zusammen, als Duett.  Schließlich brauchen wir 
2540 innerhalb des @code{\score}-Abschnittes nur einmal die
2541 Befehle @code{\layout} und @code{\midi}.
2542
2543 Wenn wir jetzt einfach zwei @code{melody}-Abschnitte in 
2544 unsere Datei kopieren würden, hätten wir zwei @code{melody}-Variable.
2545 Das würde zu keinem Fehler führen, aber die zweite von ihnen
2546 würde für beide Melodien eingesetzt werden.  Wir müssen
2547 ihnen also andere Bezeichnungen zuweisen, um sie voneinander
2548 zu unterscheiden.  Nennen wir die Abschnitte also @code{SopranNoten}
2549 für den Sopran und @code{CelloNoten} für die Cellostimme.  Wenn
2550 wir schon dabei sind, können wir @code{text}auch nach
2551 @code{SoprText} umbenennen.  Denken Sie daran, beide
2552 Vorkommen der Bezeichnung zu ändern: einmal die Definition
2553 gleich am Anfang (@code{melody = \relative c' @{ }) und
2554 dann auch noch die Benutzung der Variable innerhalb des
2555 @code{\score}-Abschnittes.
2556
2557 Gleichzeitig können wir auch noch das Notensystem für das
2558 Cello ändern -- das Cello hat normalerweise einen Bassschlüssel.
2559 Wir ändern auch die Noten etwas ab.
2560
2561 @example
2562 \version @w{"@version{}"}
2563 SopranNoten = \relative c' @{
2564   \clef treble
2565   \key c \major
2566   \time 4/4
2567   a4 b c d
2568 @}
2569
2570 SoprText = \lyricmode @{
2571   Aaa Bee Cee Dee
2572 @}
2573
2574 CelloNoten = \relative c @{
2575   \clef bass
2576   \key c \major
2577   \time 4/4
2578   d4 g fis8 e d4
2579 @}
2580
2581 \score @{
2582   <<
2583     \new Voice = "eins" @{
2584       \autoBeamOff
2585       \SopranNoten
2586     @}
2587     \new Lyrics \lyricsto "eins" \Soprantext
2588   >>
2589   \layout @{ @}
2590   \midi @{ @}
2591 @}
2592 @end example
2593
2594 Das sieht schon vielversprechend aus, aber die Cello-Stimme 
2595 erscheint noch nicht im Notensatz -- wir haben vergessen,
2596 sie in den @code{\score}-Abschnitt einzufügen.  Wenn die
2597 Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
2598 wir
2599
2600 @example
2601 \new Staff \CelloNoten
2602 @end example
2603
2604 @noindent
2605 unter dem Befehl für den Sopran hinzufügen.  Wir brauchen auch
2606 die spitzen Klammern (@code{<<} und @code{>>}) um die
2607 Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
2608 ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
2609 zwei @code{Staff}-Instanzen).  Der @code{\score}-Abschnitt
2610 sieht jetzt so aus:
2611
2612 @c Indentation in this example is deliberately poor
2613 @example
2614 \score @{
2615   <<
2616   <<
2617     \new Voice = "eins" @{
2618       \autoBeamOff
2619       \SopranNoten
2620     @}
2621     \new Lyrics \lyricsto "eins" \SoprText
2622   >>
2623   \new Staff \CelloNoten
2624   >>
2625   \layout @{ @}
2626   \midi @{ @}
2627 @}
2628 @end example
2629
2630 @noindent
2631 Das sieht etwas unschön aus, vor allem die Einrückung stimmt
2632 nicht mehr.  Das können wir aber schnell in Ordnung bringen.
2633 Hier also die gesamte Vorlage für Sopran und Cello:
2634
2635 @lilypond[quote,verbatim,ragged-right,addversion]
2636 sopranoMusic = \relative c' {
2637   \clef treble
2638   \key c \major
2639   \time 4/4
2640   a4 b c d
2641 }
2642
2643 sopranoLyrics = \lyricmode {
2644   Aaa Bee Cee Dee
2645 }
2646
2647 celloMusic = \relative c {
2648   \clef bass
2649   \key c \major
2650   \time 4/4
2651   d4 g fis8 e d4
2652 }
2653
2654 \score {
2655   <<
2656     <<
2657       \new Voice = "one" {
2658         \autoBeamOff
2659         \sopranoMusic
2660       }
2661       \new Lyrics \lyricsto "one" \sopranoLyrics
2662     >>
2663     \new Staff \celloMusic
2664   >>
2665   \layout { }
2666   \midi { }
2667 }
2668 @end lilypond
2669
2670
2671 @seealso
2672 Die Vorlagen, mit denen wir begonnen haben, können im
2673 Anhang @qq{Vorlagen} gefunden werden, siehe
2674 @ref{Ein einzelnes System}.
2675
2676
2677 @node Vierstimmige SATB-Partitur
2678 @subsection Vierstimmige SATB-Partitur
2679 @translationof Four-part SATB vocal score
2680
2681 @cindex Vorlage, SATB
2682 @cindex Vorlage, Chorpartitur
2683 @cindex SATB-Vorlage
2684 @cindex Chorpartitur, Vorlage
2685
2686 Die meisten Partituren für vierstimmigen gemischten Chor
2687 mit Orchesterbegleitung (wie etwa Mendelssohns @notation{Elias}
2688 oder Händels @notation{Messias})  sind so aufgebaut, dass
2689 für jede der vier Stimmen ein eigenes System besteht und
2690 die Orchesterbegleitung dann als Klavierauszug darunter
2691 notiert wird.  Hier ein Beispiel aus Händels @notation{Messias}:
2692
2693 @c The following should appear as music without code
2694 @lilypond[quote,ragged-right]
2695 global = { \key d \major \time 4/4 }
2696 sopranoMusic = \relative c'' {
2697   \clef "treble"
2698   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2699 }
2700 sopranoWords = \lyricmode {
2701   Wor -- thy is the lamb that was slain
2702 }
2703 altoMusic = \relative a' {
2704   \clef "treble"
2705   r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2706 }
2707 altoWords = \sopranoWords
2708 tenorMusic = \relative c' {
2709   \clef "G_8"
2710   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2711 }
2712 tenorWords = \sopranoWords
2713 bassMusic = \relative c' {
2714   \clef "bass"
2715   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2716 }
2717 bassWords = \sopranoWords
2718 upper = \relative a' {
2719   \clef "treble"
2720   \global
2721   r4 <a d fis>2 <a e' a>4 |
2722   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2723   <g cis g'>4 <a d fis> <a cis e>2 |
2724 }
2725 lower = \relative c, {
2726   \clef "bass"
2727   \global
2728   <d d'>4 <d d'>2 <cis cis'>4 |
2729   <b b'>4. <b' b'>8 <fis fis'>2 |
2730   <e e'>4 <d d'> <a' a'>2 |
2731 }
2732
2733 \score {
2734   <<  % combine ChoirStaff and PianoStaff in parallel
2735     \new ChoirStaff <<
2736       \new Staff = "sopranos" <<
2737         \set Staff.instrumentName = #"Soprano"
2738         \new Voice = "sopranos" { \global \sopranoMusic }
2739       >>
2740       \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2741       \new Staff = "altos" <<
2742         \set Staff.instrumentName = #"Alto"
2743         \new Voice = "altos" { \global \altoMusic }
2744       >>
2745       \new Lyrics \lyricsto "altos" { \altoWords }
2746       \new Staff = "tenors" <<
2747         \set Staff.instrumentName = #"Tenor"
2748         \new Voice = "tenors" { \global \tenorMusic }
2749       >>
2750       \new Lyrics \lyricsto "tenors" { \tenorWords }
2751       \new Staff = "basses" <<
2752         \set Staff.instrumentName = #"Bass"
2753         \new Voice = "basses" { \global \bassMusic }
2754       >>
2755       \new Lyrics \lyricsto "basses" { \bassWords }
2756     >>  % end ChoirStaff
2757
2758     \new PianoStaff <<
2759       \set PianoStaff.instrumentName = #"Piano"
2760       \new Staff = "upper" \upper
2761       \new Staff = "lower" \lower
2762     >>
2763   >>
2764 }
2765 @end lilypond
2766
2767 Keine der Vorlage bietet diesen Aufbau direkt an.  Die Vorlage, die
2768 am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer 
2769 Klavierauszug}, siehe @ref{Vokalensemble}.  Wir müssen diese
2770 Vorlage aber so anpassen, dass die Noten für das Klavier nicht
2771 automatisch aus dem Chorsatz generiert werden.  Die Variablen
2772 für die Noten und den Text des Chores sind in Ordnung, wir
2773 müssen nun noch Variablen für die Klaviernoten hinzufügen.
2774
2775 Die Reihenfolge, in welcher die Variablen in das Chorsystem
2776 (@code{ChoirStaff}) eingefügt werden, entspricht nicht der
2777 in dem Beispiel oben.  Wir wollen sie so sortieren, dass die
2778 Texte jeder Stimme direkt unter den Noten notiert werden.
2779 Alle Stimmen sollten als @code{\voiceOne} notiert werden,
2780 welches die Standardeinstellung ist; wir können also die 
2781 @code{\voiceXXX}-Befehle entfernen.  Wir müssen auch noch
2782 den Schlüssel für den Tenor ändern.  Die Methode, mit der
2783 der Text den Stimmen zugewiesen wird, ist uns noch nicht 
2784 bekannt, darum wollen wir sie umändern auf die Weise, die
2785 wir schon kennen.  Wir fügen auch noch Instrumentbezeichnungen
2786 zu den Systemen hinzu.
2787
2788 Damit erhalten wir folgenden @code{ChoirStaff}:
2789
2790 @example
2791     \new ChoirStaff <<
2792       \new Staff = "sopranos" <<
2793         \set Staff.instrumentName = #"Soprano"
2794         \new Voice = "sopranos" @{ \global \SopranNoten @}
2795       >>
2796       \new Lyrics \lyricsto "sopranos" @{ \SopranText @}
2797       \new Staff = "altos" <<
2798         \set Staff.instrumentName = #"Alto"
2799         \new Voice = "altos" @{ \global \AltNoten @}
2800       >>
2801       \new Lyrics \lyricsto "altos" @{ \AltText @}
2802       \new Staff = "tenors" <<
2803         \set Staff.instrumentName = #"Tenor"
2804         \new Voice = "tenors" @{ \global \TenorNoten @}
2805       >>
2806       \new Lyrics \lyricsto "tenors" @{ \TenorText @}
2807       \new Staff = "basses" <<
2808         \set Staff.instrumentName = #"Bass"
2809         \new Voice = "basses" @{ \global \BassNoten @}
2810       >>
2811       \new Lyrics \lyricsto "basses" @{ \BassText @}
2812     >>  % Ende ChoirStaff
2813 @end example
2814
2815 Als nächstes müssen wir das Klaviersystem bearbeiten.
2816 Das ist einfach: wir nehmen einfach den Klavierteil
2817 aus der @qq{Piano solo}-Vorlage:
2818
2819 @example
2820 \new PianoStaff <<
2821   \set PianoStaff.instrumentName = #"Piano  "
2822   \new Staff = "oben" \oben
2823   \new Staff = "unten" \unten
2824 >>
2825 @end example
2826
2827 @noindent
2828 und fügen die Variablen @code{oben}
2829 und @code{unten} hinzu.
2830
2831 Das Chorsystem und das Pianosystem müssen mit
2832 spitzen Klammern kombiniert werden, damit beide
2833 übereinandern erscheinen:
2834
2835 @example
2836 <<  % ChoirStaff und PianoStaff parallel kombinieren
2837   \new ChoirStaff <<
2838     \new Staff = "sopranos" <<
2839       \new Voice = "sopranos" @{ \global \SopranNoten @}
2840     >>
2841     \new Lyrics \lyricsto "sopranos" @{ \SopranText @}
2842     \new Staff = "altos" <<
2843       \new Voice = "altos" @{ \global \AltNoten @}
2844     >>
2845     \new Lyrics \lyricsto "altos" @{ \AltText @}
2846     \new Staff = "tenors" <<
2847       \clef "G_8"  % Tenorschlüssel
2848       \new Voice = "tenors" @{ \global \TenorNoten @}
2849     >>
2850     \new Lyrics \lyricsto "tenors" @{ \TenorText @}
2851     \new Staff = "basses" <<
2852       \clef "bass"
2853       \new Voice = "basses" @{ \global \BassNoten @}
2854     >>
2855     \new Lyrics \lyricsto "basses" @{ \BassText @}
2856   >>  % Ende ChoirStaff
2857
2858   \new PianoStaff <<
2859     \set PianoStaff.instrumentName = #"Piano"
2860     \new Staff = "oben" \oben
2861     \new Staff = "unten" \unten
2862   >>
2863 >>
2864 @end example
2865
2866 Alles miteinander kombiniert und mit den Noten für drei
2867 Takte sieht unser Beispiel nun so aus:
2868
2869 @lilypond[quote,verbatim,ragged-right,addversion]
2870 global = { \key d \major \time 4/4 }
2871 sopranoMusic = \relative c'' {
2872   \clef "treble"
2873   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2874 }
2875 sopranoWords = \lyricmode {
2876   Wor -- thy is the lamb that was slain
2877 }
2878 altoMusic = \relative a' {
2879   \clef "treble"
2880   r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2881 }
2882 altoWords = \sopranoWords
2883 tenorMusic = \relative c' {
2884   \clef "G_8"
2885   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2886 }
2887 tenorWords = \sopranoWords
2888 bassMusic = \relative c' {
2889   \clef "bass"
2890   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2891 }
2892 bassWords = \sopranoWords
2893 upper = \relative a' {
2894   \clef "treble"
2895   \global
2896   r4 <a d fis>2 <a e' a>4 |
2897   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2898   <g cis g'>4 <a d fis> <a cis e>2 |
2899 }
2900 lower = \relative c, {
2901   \clef "bass"
2902   \global
2903   <d d'>4 <d d'>2 <cis cis'>4 |
2904   <b b'>4. <b' b'>8 <fis fis'>2 |
2905   <e e'>4 <d d'> <a' a'>2 |
2906 }
2907
2908 \score {
2909   <<  % combine ChoirStaff and PianoStaff in parallel
2910     \new ChoirStaff <<
2911       \new Staff = "sopranos" <<
2912         \set Staff.instrumentName = #"Soprano"
2913         \new Voice = "sopranos" { \global \sopranoMusic }
2914       >>
2915       \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2916       \new Staff = "altos" <<
2917         \set Staff.instrumentName = #"Alto"
2918         \new Voice = "altos" { \global \altoMusic }
2919       >>
2920       \new Lyrics \lyricsto "altos" { \altoWords }
2921       \new Staff = "tenors" <<
2922         \set Staff.instrumentName = #"Tenor"
2923         \new Voice = "tenors" { \global \tenorMusic }
2924       >>
2925       \new Lyrics \lyricsto "tenors" { \tenorWords }
2926       \new Staff = "basses" <<
2927         \set Staff.instrumentName = #"Bass"
2928         \new Voice = "basses" { \global \bassMusic }
2929       >>
2930       \new Lyrics \lyricsto "basses" { \bassWords }
2931     >>  % end ChoirStaff
2932
2933     \new PianoStaff <<
2934       \set PianoStaff.instrumentName = #"Piano  "
2935       \new Staff = "upper" \upper
2936       \new Staff = "lower" \lower
2937     >>
2938   >>
2939 }
2940 @end lilypond
2941
2942
2943 @node Eine Partitur von Grund auf erstellen
2944 @subsection Eine Partitur von Grund auf erstellen
2945 @translationof Building a score from scratch
2946
2947 @cindex Template, eigene schreiben
2948 @cindex Vorlagen, eigene schreiben
2949 @cindex eigene Vorlagen erstellen
2950 @cindex Erstellen von eigenen Vorlagen
2951 @cindex Schreiben von eigenen Vorlagen
2952
2953 Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code
2954 gewonnen haben, werden Sie vielleicht feststellen, dass es
2955 manchmal einfacher ist, von Grund auf anzufangen, anstatt
2956 die fertigen Vorlagen zu verändern.  Auf diese Art könne Sie
2957 auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen,
2958 die Sie notieren wollen.  Als Beispiel wollen wir demonstrieren,
2959 wie man die Partitur für ein Orgelpreludium von Grund auf
2960 konstruiert.
2961
2962 Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt.
2963 Hier notieren wir den Titel, den Namen des Komponisten usw.
2964 Danach schreiben wir die einzelnen Variablen auf und
2965 schließlich am Ende die eigentliche Partitur, den
2966 @code{\score}-Abschnitt.  Beginnen wir mit einer groben
2967 Struktur, in die wir dann die Einzelheiten nach und nach
2968 eintragen.
2969
2970 Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium
2971 @notation{Jesu, meine Freude} von J. S. Bach, notiert
2972 für zwei Manuale und Pedal.  Sie können die Noten am Ende
2973 dieses Abschnittes sehen.  Das obere Manual trägt zwei Stimmen,
2974 das untere und das Pedalsystem jeweils nur eine.  Wir 
2975 brauchen also vier Variablen für die Noten und eine, um
2976 Taktart und Tonart zu definieren.
2977
2978 @example
2979 \version @w{"@version{}"}
2980 \header @{
2981   title = "Jesu, meine Freude"
2982   composer = "J. S. Bach"
2983 @}
2984 TimeKey = @{ \time 4/4 \key c \minor @}
2985 ManualOneVoiceOneMusic = @{s1@}
2986 ManualOneVoiceTwoMusic = @{s1@}
2987 ManualTwoMusic = @{s1@}
2988 PedalOrganMusic = @{s1@}
2989
2990 \score @{
2991 @}
2992 @end example
2993
2994 Im Moment haben wir eine unsichtbare
2995 Note in jede Stimme eingesetzt (@code{s1}).
2996 Die Noten werden später hinzugefügt.
2997
2998 Als nächstes schauen wir uns an, was in die
2999 Partitur (die @code{\score}-Umgebung)
3000 kommt.  Dazu wird einfach die Notensystemstruktur
3001 konstruiert, die wir benötigen.  Orgelmusik
3002 wird meistens auf drei Systemen notiert, eins
3003 für jedes Manual und ein drittes für die Pedalnoten.
3004 Die Systeme für die Manuale werden mit einer
3005 geschweiften Klammer verbunden, wir 
3006 benutzen hier also ein @code{PianoStaff}.
3007 Das erste Manualsystem braucht zwei Stimmen,
3008 das zweite nur eine.
3009
3010 @example
3011   \new PianoStaff <<
3012     \new Staff = "ManualOne" <<
3013       \new Voice @{ \ManualOneVoiceOneMusic @}
3014       \new Voice @{ \ManualOneVoiceTwoMusic @}
3015     >>  % end ManualOne Staff context
3016     \new Staff = "ManualTwo" <<
3017       \new Voice @{ \ManualTwoMusic @}
3018     >>  % end ManualTwo Staff context
3019   >>  % end PianoStaff context
3020 @end example
3021
3022 Als nächstes soll das System für das Pedal hinzugefügt
3023 werden.  Es soll unter das Klaviersystem gesetzt
3024 werden, aber muss gleichzeitig mit ihm erscheinen.
3025 Wir brauchen also spitze Klammern um beide
3026 Definitionen.  Sie wegzulassen würde eine Fehlermeldung
3027 in der Log-Datei hervorrufen.  Das ist ein sehr
3028 häufiger Fehler, der wohl auch Ihnen früher 
3029 oder später unterläuft.  Sie können das fertige
3030 Beispiel am Ende des Abschnittes kopieren und die
3031 Klammern entfernen, um zu sehen, wie die
3032 Fehlermeldung aussehen kann, die Sie in solch
3033 einem Fall erhalten würden.
3034
3035 @example
3036 <<  % PianoStaff and Pedal Staff must be simultaneous
3037   \new PianoStaff <<
3038     \new Staff = "ManualOne" <<
3039       \new Voice @{ \ManualOneVoiceOneMusic @}
3040       \new Voice @{ \ManualOneVoiceTwoMusic @}
3041     >>  % end ManualOne Staff context
3042     \new Staff = "ManualTwo" <<
3043       \new Voice @{ \ManualTwoMusic @}
3044     >>  % end ManualTwo Staff context
3045   >>  % end PianoStaff context
3046   \new Staff = "PedalOrgan" <<
3047     \new Voice @{ \PedalOrganMusic @}
3048   >>
3049 >>
3050 @end example
3051
3052 Es ist nicht notwendig, die simultane Konstruktion
3053 @code{<< .. >>} innerhalb des zweiten Manualsystems
3054 und des Pedalsystems zu benutzen, denn sie enthalten
3055 nur eine Stimme.  Andererseits schadet es nichts, sie
3056 zu schreiben, und es ist eine gute Angewohnheit, immer
3057 die spitzen Klammern nach einem @code{\new Staff} zu
3058 schreiben, wenn mehr als eine Stimme vorkommen könnten.
3059 Für Stimmen (@code{Voice}) dagegengilt genau das
3060 Gegenteil: eine neue Stimme sollte immer von 
3061 geschweiften Klammern (@code{@{ .. @}}) gefolgt
3062 werden, falls Sie ihre Noten in mehrere Variable aufteilen,
3063 die nacheinander gesetzt werden sollen.
3064
3065 Fügen wir also diese Struktur zu der @code{\score}-Umgebung
3066 hinzu und bringen wir die Einzüge in Ordnung.  Gleichzeitig
3067 wollen wir die richtigen Schlüssel setzen und die Richtung der
3068 Hälse und Bögen in den Stimmen des oberen Systems
3069 kontrollieren, indem die obere Stimme ein
3070 @code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
3071 erhält.  Die Taktart und Tonart werden mit unserer fertigen
3072 Variable @code{\TimeKey} eingefügt.
3073
3074 @example
3075 \score @{
3076   <<  % PianoStaff and Pedal Staff must be simultaneous
3077     \new PianoStaff <<
3078       \new Staff = "ManualOne" <<
3079         \TimeKey  % set time signature and key
3080         \clef "treble"
3081         \new Voice @{ \voiceOne \ManualOneVoiceOneMusic @}
3082         \new Voice @{ \voiceTwo \ManualOneVoiceTwoMusic @}
3083       >>  % end ManualOne Staff context
3084       \new Staff = "ManualTwo" <<
3085         \TimeKey
3086         \clef "bass"
3087         \new Voice @{ \ManualTwoMusic @}
3088       >>  % end ManualTwo Staff context
3089     >>  % end PianoStaff context
3090     \new Staff = "PedalOrgan" <<
3091       \TimeKey
3092       \clef "bass"
3093       \new Voice @{ \PedalOrganMusic @}
3094     >>  % end PedalOrgan Staff
3095   >>
3096 @}  % end Score context
3097 @end example
3098
3099 Damit ist das Grundgerüst fertig.  Jede Orgelmusik mit drei
3100 Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen
3101 in einem System sich ändern kann.  Jetzt müssen wir nur noch
3102 die Noten einfügen und alle Teile zusammenfügen, indem wir
3103 die Variablen mit einem Backslash in die Partitur einbauen.
3104
3105 @lilypond[quote,verbatim,ragged-right,addversion]
3106 \header {
3107   title = "Jesu, meine Freude"
3108   composer = "J S Bach"
3109 }
3110 TimeKey = { \time 4/4 \key c \minor }
3111 ManualOneVoiceOneMusic = \relative g' {
3112   g4 g f ees | d2 c2 |
3113 }
3114 ManualOneVoiceTwoMusic = \relative c' {
3115   ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
3116   c c4 b8 c8. g16 c b c d |
3117 }
3118 ManualTwoMusic = \relative c' {
3119   c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
3120   f ees f d g aes g f ees d e8~ ees16 f ees d |
3121 }
3122 PedalOrganMusic = \relative c {
3123   r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
3124   r16 g ees f g f g8 c,2 |
3125   }
3126
3127 \score {
3128   <<  % PianoStaff and Pedal Staff must be simultaneous
3129     \new PianoStaff <<
3130       \new Staff = "ManualOne" <<
3131         \TimeKey  % set time signature and key
3132         \clef "treble"
3133         \new Voice { \voiceOne \ManualOneVoiceOneMusic }
3134         \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
3135       >>  % end ManualOne Staff context
3136       \new Staff = "ManualTwo" <<
3137         \TimeKey
3138         \clef "bass"
3139         \new Voice { \ManualTwoMusic }
3140       >>  % end ManualTwo Staff context
3141     >>  % end PianoStaff context
3142     \new Staff = "PedalOrgan" <<
3143       \TimeKey
3144       \clef "bass"
3145       \new Voice { \PedalOrganMusic }
3146     >>  % end PedalOrgan Staff context
3147   >>
3148 }  % end Score context
3149 @end lilypond
3150
3151
3152 @node Tipparbeit durch Variablen und Funktionen ersparen
3153 @subsection Tipparbeit durch Variablen und Funktionen ersparen
3154 @translationof Saving typing with variables and functions
3155
3156 @cindex Variablen
3157
3158 Bis jetzt wurde immer derartige Notation vorgestellt:
3159
3160 @lilypond[quote,verbatim,ragged-right]
3161 hornNotes = \relative c'' { c4 b dis c }
3162 \score {
3163   {
3164     \hornNotes
3165   }
3166 }
3167 @end lilypond
3168
3169 Sie können sich vorstellen, dass das etwa für minimalistische
3170 Musik sehr nützlich sein könnte:
3171
3172 @lilypond[quote,verbatim,ragged-right]
3173 fragmentA = \relative c'' { a4 a8. b16 }
3174 fragmentB = \relative c'' { a8. gis16 ees4 }
3175 violin = \new Staff { \fragmentA \fragmentA \fragmentB fragmentA }
3176 \score {
3177   {
3178     \violin
3179   }
3180 }
3181 @end lilypond
3182
3183 Diese Variablen (die man auch als Makros oder Benutzer-Befehl
3184 bezeichnet) können jedoch auch für eigene Anpassungen eingesetzt
3185 werden:
3186
3187 @c TODO Avoid padtext - not needed with skylining
3188 @lilypond[quote,verbatim,ragged-right]
3189 dolce = \markup{ \italic \bold dolce }
3190 padText = { \once \override TextScript #'padding = #5.0 }
3191 fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p }
3192 violin = \relative c'' {
3193   \repeat volta 2 {
3194     c4._\dolce b8 a8 g a b |
3195     \padText
3196     c4.^"hi there!" d8 e' f g d |
3197     c,4.\fthenp b8 c4 c-. |
3198   }
3199 }
3200 \score {
3201   {
3202     \violin
3203   }
3204 \layout{ragged-right=##t}
3205 }
3206 @end lilypond
3207
3208 Derartige Variablen sind offensichtlich sehr nützlich, zu Tipparbeit zu ersparen.  Aber es lohnt sich schon, sie zu
3209 benutzen, wenn man sie nur einmal benutzen will, denn sie
3210 vereinfachen die Struktur einer Datei sehr stark.  Hier das
3211 vorige Beispiel ohne jede Benutzung von Variablen.  Es ist
3212 sehr viel schwerer lesbar, besonders die letzte Zeile.
3213
3214 @example
3215 violin = \relative c'' @{
3216   \repeat volta 2 @{
3217     c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
3218     \once \override TextScript #'padding = #5.0
3219     c4.^"hi there!" d8 e' f g d |
3220     c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
3221       \hspace #0.1 \dynamic p @} b8 c4 c-. |
3222   @}
3223 @}
3224 @end example
3225
3226 @c TODO Replace the following with a better example  -td
3227 @c Skylining handles this correctly without padText
3228
3229 Bisher haben wir vor allem statische Ersetzungen betrachtet:
3230 wenn LilyPond etwa @code{\padText} sieht, wird es ersetzt mit
3231 all dem Code, mit dem wir es definiert haben (also alles,
3232 was sich rechts von @code{padtext=} befindet).
3233
3234 LilyPond kann auch nicht-statische Ersetzungen bewältigen.  Man
3235 kann sie sich als Funktionen vorstellen.
3236
3237 @lilypond[quote,verbatim,ragged-right]
3238 padText =
3239 #(define-music-function (parser location padding) (number?)
3240   #{
3241     \once \override TextScript #'padding = #$padding
3242   #})
3243
3244 \relative c''' {
3245   c4^"piu mosso" b a b
3246   \padText #1.8
3247   c4^"piu mosso" d e f
3248   \padText #2.6
3249   c4^"piu mosso" fis a g
3250 }
3251 @end lilypond
3252
3253 Die Benutzung von Variablen ist auch eine gute Möglichkeit,
3254 Arbeit zu vermeiden, wenn sich einmal die Syntax von LilyPond
3255 ändern sollte (siehe auch @rprogram{Updating old input iles}).
3256 Wenn man eine einzige Definition hat (wie etwa @code{\dolce}),
3257 die für alle Vorkommen in der Notation eingesetzt wird, muss
3258 man auch nur einmal diese Definition aktualisieren, anstatt
3259 dass man sie in jeder @code{.ly}-Datei einzeln ändern müsste.
3260
3261
3262 @node Partitur und Stimmen
3263 @subsection Partitur und Stimmen
3264 @translationof Scores and parts
3265
3266 In Orchestermusik werden alle Noten zweimal gedruckt.  Einmal
3267 in einer Stimme für die Spieler, und einmal ein der Partitur
3268 für den Dirigenten.  Variablen können benutzen, um sich doppelte
3269 Arbeit zu ersparen.  Die Noten werden nur einmal eingegeben und
3270 in einer Variable abgelegt.  Der Inhalt der Variable wird dann
3271 benutzt um sowohl die Stimme als auch die Paritur zu erstellen.
3272
3273 Es bietet sich an, die Noten in einer extra Datei abzulegen.
3274 Nehmen wir an, dass die Datei @file{horn-music.ly} folgende
3275 Noten eines Horn/@/Fagott-Duos enthält:
3276
3277 @example
3278 hornNotes = \relative c @{
3279   \time 2/4
3280   r4 f8 a cis4 f e d
3281 @}
3282 @end example
3283
3284 @noindent
3285 Eine Stimme wird also erstellt, indem man folgendes in eine
3286 Datei schreibt:
3287
3288 @example
3289 \include "horn-music.ly"
3290 \header @{
3291   instrument = "Horn in F"
3292 @}
3293
3294 @{
3295  \transpose f c' \hornNotes
3296 @}
3297 @end example
3298
3299 Die Zeile
3300
3301 @example
3302 \include "horn-music.ly"
3303 @end example
3304
3305 @noindent
3306 ersetzt den Inhalt von @file{horn-music.ly} an dieser Position
3307 in der Datei, sodass @code{hornNotes} im Folgenden definiert
3308 ist.  Der Befehl @code{\transpose f@tie{}c'} zeigt an, dass
3309 das Argument (@code{\hornNotes}) eine Quinte nach oben transponiert
3310 werden soll.  Klingendes @code{f} wird als @code{c'}, wie es
3311 die Stimmung eines normalen F-Hornes verlangt.  Die Transposition
3312 kann in folgender Notenausgabe gesehen werden:
3313
3314 @lilypond[quote,ragged-right]
3315 \transpose f c' \relative c {
3316   \time 2/4
3317   r4 f8 a cis4 f e d
3318 }
3319 @end lilypond
3320
3321 In Ensemblestücken sind manche Stimmen für viele Takte stumm.
3322 Das wird durch eine besondere Pause notiert, die Mehrtaktpause.
3323 Sie wird mit einem großen @code{R} notiert, gefolgt von der
3324 Dauer (@code{1}@tie{}für eine Ganze, @code{2}@tie{}für eine Halbe usw.).  Indem man die Dauern multipliziert, kann man auch
3325 längere Dauern erzeugen.  Diese Pause etwa dauert drei Takte
3326 in einem 2/4-Takt:
3327
3328 @example
3329 R2*3
3330 @end example
3331
3332 Wenn die Stimme gesetzt wird, werden Mehrtaktpausen komprimiert.  Das schieht, indem man folgendes in die Datei
3333 schreibt:
3334
3335 @example
3336 \set Score.skipBars = ##t
3337 @end example
3338
3339 @noindent
3340 Dieser Befehl setzt die Eigenschaft @code{skipBars} im
3341 @code{Score}-Kontext auf wahr (@code{##t}).  Die Pause und diese Option zu der Musik von oben hinzugefügt, ergibt folgendes
3342 Beispiel:
3343
3344 @lilypond[quote,ragged-right]
3345 \transpose f c' \relative c {
3346   \time 2/4
3347   \set Score.skipBars = ##t
3348   R2*3
3349   r4 f8 a cis4 f e d
3350 }
3351 @end lilypond
3352
3353 Die Partitur wird erstellt, indem man alle Noten kombiniert.
3354 Angenommen, die andere Stimme ist in @code{bassoonNotes}
3355 in der Datei @file{bassoon-music.ly} definiert, würde eine
3356 Paritur erstellt mit:
3357
3358 @example
3359 \include "bassoon-music.ly"
3360 \include "horn-music.ly"
3361
3362 <<
3363   \new Staff \hornNotes
3364   \new Staff \bassoonNotes
3365 >>
3366 @end example
3367
3368 @noindent
3369 leading to
3370
3371 @lilypond[quote,ragged-right]
3372 \relative c <<
3373   \new Staff {
3374     \time 2/4 R2*3
3375     r4 f8 a cis4 f e d
3376   }
3377   \new Staff {
3378     \clef bass
3379     r4 d,8 f | gis4 c | b bes |
3380     a8 e f4 | g d | gis f
3381   }
3382 >>
3383 @end lilypond
3384
3385
3386