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