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