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