1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
4 Translation of GIT committish: 01361d46dc9d514a79683d003eeea5f4fbf2b746
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
11 @c Translators: Till Rettig, Reinhold Kainhofer
14 @chapter Grundbegriffe
15 @translationof Fundamental concepts
17 Nachdem im Tutorial gezeigt wurde, wie aus einfachen Text-Dateien
18 wunderschön formatierte Musiknoten erzeugt werden können, stellt
19 dieses Kapitel die Konzepte und Techniken vor, wie auch komplexere
20 Partituren erstellt werden können.
23 * Wie eine LilyPond-Eingabe-Datei funktioniert::
24 * Voice enthält Noten::
25 * Kontexte und Engraver::
26 * Erweiterung der Beispiele::
29 @node Wie eine LilyPond-Eingabe-Datei funktioniert
30 @section Wie eine LilyPond-Eingabe-Datei funktioniert
31 @translationof How LilyPond input files work
33 Das LilyPond Eingabeformat hat eine ziemlich freie Form, so dass
34 für erfahrene Benutzer viel Freiheit besteht, die Struktur ihrer
35 Quelldateien anzulegen. Für Neulinge kann diese Flexibilität aber
36 erst einmal verwirrend sein. In diesem Kapitel soll darum ein Teil
37 dieser Strukturen dargestellt werden, vieles aber zur Vereinfachung
38 auch weggelassen werden. Für eine komplette Beschreibung des Eingabeformats
39 siehe @ruser{Die Dateistruktur}.
41 Die meisten Beispiele in diesem Handbuch sind kleine Schnipsel, wie
48 Wie hoffentlich bekannt ist, lässt sich solch ein Schnipsel nicht
49 in dieser Form übersetzen. Diese Beispiele sind also nur Kurzformen
50 von wirklichen Beispielen. Sie müssen wenigstens zusätzlich in
51 geschweifte Klammern gesetzt werden.
59 Die meisten Beispiele benutzen auch den @code{\relative c'}-Befehl.
60 Der ist nicht nötig, um die Dateien zu übersetzen, aber in den meisten
61 Fällen sieht der Notensatz seltsam aus, wenn man den Befehl
64 @lilypond[quote,fragment,ragged-right,verbatim]
70 Eine komplette Definition des Eingabeformats findet sich
71 im Kapitel @ruser{Die Dateistruktur}.
74 * Einführung in die Dateistruktur von LilyPond::
75 * Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck::
76 * Musikalische Ausdrücke ineinander verschachteln::
77 * Über die Nicht-Schachtelung von Klammern und Bindebögen::
80 @node Einführung in die Dateistruktur von LilyPond
81 @subsection Einführung in die Dateistruktur von LilyPond
82 @translationof Introduction to the LilyPond file structure
86 @cindex Struktur, Datei
88 Ein grundlegendes Beispiel einer Eingabedatei für LilyPond lautet:
91 \version @w{"@version{}"}
94 @var{...zusammengesetzter Musik-Ausdruck...} % Die gesamten Noten kommen hier hin!
101 Aufgrund der Flexibilität von LilyPond gibt es viele Variationen dieses
102 Schemas, aber dieses Beispiel dient als einfacher Ausgangspunkt.
111 Bisher hat noch keines der Beispiele den @code{\score@{@}}-Befehl
112 benutzt, da Lilypond derartige zusätzliche Befehle automatisch
113 bei Bedarf einfügt, wenn die Eingabedatei eine einfache Struktur
116 Sehen wir uns als ein solches einfaches Beispiel an:
125 Im Hintergrund kommen hier noch einige Ebenen dazu: LilyPond-Code
126 in der obigen Form ist in Wirklichkeit eine Abkürzung. Auch wenn man so
127 Dateien schreiben kann und sie auch korrekt gesetzt werden, heißt
128 der vollständige Code, der hier gemeint ist, eigentlich:
146 Mit anderen Worten: Wenn die Eingabedatei einen einfachen Musik-Ausdruck
147 enthält, wird LilyPond die Datei so interpretieren, als ob dieser
148 Ausdruck in den oben gezeigten Befehlen eingegeben wurde. Diese nötige
149 Stuktur wird automatisch im Speicher beim Aufruf von LilyPond erzeugt,
150 ohne dass der Benutzer davon etwas bemerkt.
152 @cindex Implizite Kontexte
153 @cindex Kontexte, implizit
155 @strong{Ein Wort der Warnung ist jedoch angebracht!} Viele der Beispiele
156 in der Dokumentation von LilyPond lassen die @code{\new Staff} und @code{\new Voice}
157 Befehle zur Erzeugung einer Notenzeile und einer Stimme (beides ist in
158 LilyPond ein sogenannter Kontext) bewusst aus,
159 damit sie implizit von LilyPond im Speicher erzeugt werden.
160 Für einfache Dokumente funktioniert das im Allgemeinen sehr gut, für
161 komplexere Partituren können dadurch aber unerwartete Ergebnisse
162 entstehen, teilweise sogar unerwartete leere Notenzeilen. Um
163 die entsprechenden Kontexte in diesem Fall explizit zu erzeugen,
164 siehe @ref{Kontexte und Engraver}.
166 @warning{Wenn mehr als ein paar Zeilen an Musik eingegeben werden,
167 empfielt es sich, die Notenzeilen und die Stimmen immer explizit
168 mit @code{\new Staff} und @code{\new Voice} zu erzeugen.}
170 Im Moment wollen wir aber zu unserem ersten Beispiel zurückkehren und
171 nur den @code{\score}-Befehl näher betrachten.
173 Eine Partitur (@code{\score}) muss immer mit einem musikalischen Ausdruck
174 beginnen. Das ist letztendlich alle Musik, angefangen bei einer
176 Note bis hin zu einer riesigen Partitur mit vielen Notensystemen
177 (bezeichnet durch @code{GrandStaff}):
182 @var{...hier die gesamte Partitur...}
188 Da sich alles innerhalb der geschweiften Klammern @code{@{ ... @}}
189 befindet, wird es wie ein einziger musikalischer Ausdruck behandelt.
192 Ein @code{\score} auch andere Dinge enthalten, wie etwa
215 Wie man sieht, sind die drei Befehle @code{\header}, @code{\layout} und
216 @code{\midi} von spezieller Natur: Im Gegensatz zu vielen Anderen Befehlen,
217 die auch mit einem @code{\} beginnen, liefern sie @emph{keinen} Musikausdruck
218 und sind auch nicht Teil eines musikalischen Ausdrucks. Daher können sie
219 sowohl innerhalb eines @code{\score}-Blocks als auch außerhalb plaziert
220 werden. Tatsächlich werden einige dieser Befehle meist außerhalb des
221 @code{\score}-Blocksgesetzt, zum Beispiel findet sich der @code{\header}
222 sehr oft oberhalb der @code{\score}-Umgebung. Das
223 funktioniert genauso gut.
225 Zwei bisher noch nicht aufgetauchte Befehle sind
226 @code{\layout @{ @}} und @code{\midi @{@}}. Wenn sie in einer
227 Datei vorkommen, führt dies dazu, dass Lilypond eine druckfähige PDF-Datei
228 bzw. eine MIDI-Datei erzeugt. Genauer beschrieben werden sie im
229 Benutzerhandbuch -- @ruser{Partiturlayout} und
230 @ruser{MIDI-Dateien erstellen}.
232 @cindex Partituren, mehrfache
233 @cindex book-Abschnitte, implizit
234 @cindex implizite book-Umgebung
238 Ihr LilyPond Code kann auch mehrere @code{\score}-Blöcke enthalten.
239 Jeder davon wird als eigenständige Partitur interpretiert, die
240 allerdings alle in dieselbe Ausgabedatei plaziert weden.
241 Ein @code{\book}-Befehl ist nicht explizit notwendig -- er wird
242 implizit erzeugt. Wenn jedoch für jeden @code{\score}-Block in einer
243 einzigen @code{.ly}-Datei eine eigene Ausgabe-Datei erzeugt werden soll,
244 dann muss jeder dieser Blöcke in einen eigenen @code{\book}-Block
245 gesetzt werden: Jeder @code{\book}-Block erzeugt dann eine
250 Jeder @code{\book}-Block erzeugt eine eigene Ausgabedatei (z.B. eine
251 PDF-Datei). Wenn Sie keinen derartigen Block explizit angegeben haben,
252 setzt LilyPond den gesamten Dateiinhalt innerhalb eines einzigen
253 impliziten @code{\book}-Blocks.
255 Jeder @code{\score}-Block beschreibt ein eigenständiges Musikstück
256 innerhalb des @code{\book}-Blocks.
258 @cindex Layout-Umgebung, Platzierung
259 @cindex Platzierung von layout-Umgebung
261 Jeder @code{\layout}-Block wirkt sich auf den @code{\score}- oder
262 @code{\book}-Block aus, in dem er auftritt. So wirkt z.B. ein
263 @code{\layout}-Block innerhalb eines @code{\score}-Blocks nur auf
264 diesen einen Block und seinen gesamten Inhalt, ein @code{\layout}-Block
265 außerhalb eines @code{\score}-Blocks (und daher innerhalb des implizit
266 erzeugten oder explizit angegebenen @code{\book}-Blocks) jedoch auf
267 alle @code{\score}-Blocks innerhalb dieses @code{\book}-Blocks.
269 Nähere Details finden sich im Abschnitt @ruser{Mehrere Partituren in einem Buch}.
274 Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen.
275 Alle Vorlagen verwenden diese Möglichkeit.
278 melodie = \relative c' @{
287 Wenn LilyPond diese Datei analysiert, nimmt es den Inhalt
288 von @code{melodie} (alles nach dem Gleichheitszeichen) und
289 fügt ihn immer dann ein, wenn ein @code{\melodie}
290 vorkommt. Die Namen sind frei wählbar, die Variable kann genauso
291 gut @code{melodie}, @code{GLOBAL},
292 @code{rechteHandklavier}, oder @code{foofoobarbaz} heißen. Für mehr
294 @ref{Tipparbeit sparen durch Bezeichner und Funktionen}.
295 Als Variablenname kann fast jeder beliebige Name benutzt werden,
296 allerdings dürfen nur Buchstaben vorkommen (also keine Zahlen, Unterstriche,
297 Sonderzeichen, etc.) und er darf nicht wie ein LilyPond-Befehl
298 lauten. Die genauen Einschränkungen sind beschrieben in
299 @ruser{Die Dateistruktur}.
303 Eine vollständige Definition des Eingabeformats findet sich in
304 @ruser{Die Dateistruktur}.
307 @node Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck
308 @subsection Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck
309 @translationof Score is a (single) compound musical expression
316 @cindex zusammengesetzter Musikausdruck
317 @cindex Musikausdruck, zusammengesetzter
320 Im vorigen Kapitel, @ref{Einführung in die Dateistruktur von LilyPond},
321 wurde die allgemeine Struktur einer LilyPond-Quelldatei
322 beschrieben. Aber anscheinend haben wir die wichtigste
323 Frage ausgelassen, nämlich wie man herausfindet, was nach
324 dem @code{\score} geschrieben werden soll.
326 In Wirklichkeit ist das aber gar kein Geheimnis. Diese
327 Zeile ist die Antwort:
330 @emph{Eine Partitur fängt immer mit @code{\score} an, gefolgt
331 von einem einzelnen musikalischen Ausdruck.}
335 Vielleicht wollen Sie noch einmal
336 @ref{Musikalische Ausdrücke erklärt} überfliegen. In diesem
337 Kapitel wurde gezeigt, wie sich große musikalische Ausdrücke
338 aus kleinen Teilen zusammensetzen. Noten können zu Akkorden
339 verbunden werden usw. Jetzt gehen wir aber in die andere Richtung
340 und betrachten, wie sich ein großer musikalischer Ausdruck
345 @{ % diese Klammer startet den großen mus. Ausdruck
347 @var{...hier eine ganze Wagner-Oper einfügen...}
349 @} % diese Klammer beendet den Ausdruck
354 Eine Wagner-Oper ist mindestens doppelt so lang wie dieses Handbuch,
355 beschränken wir uns also auf einen Sänger und Klavier. Wir brauchen
356 keine ganze Orchesterpartitur, infolgedessen können wir die Systemgruppe
357 (StaffGroup) auslassen, aber wir brauchen einen Sänger und ein Klavier.
363 \new Staff = "Sänger" <<
365 \new PianoStaff = "Klavier" <<
373 Zur Erinnerung: mit @code{<<} und @code{>>} werden Noten gleichzeitig
374 gesetzt; wir wollen ja auch Klavier- und Sängerstimme gleichzeitig
375 und nicht hintereinander haben. Bei genauerem Hinsehen fällt auf, dass
376 die @code{<< ... >>}-Konstruktion für die Notenzeile des Sängers eigentlich
377 nicht unbedingt nötig wäre, da sie ja nur einen (sequenzielle) musikalischen
378 Ausdruck enthält, nämlich alle Noten des Sängers hintereinander. Daher
379 könnte an sich auch einfach ein @code{@{...@}} benutzt werden. Die
380 Spitzklammern sind allerdings notwendig, sobald die Notenzeile mehrere
381 parallelle Ausdrücke -- wie etwa zwei parallele Stimmen oder eine Stimme
382 mit zugehörigem Text -- enthält.
383 Wir werden die Musik später in das Beispiel einfügen, im Moment begnügen
384 wir uns mit einigen Platzhalter-Noten und -Texten.
386 @lilypond[verbatim,quote,ragged-right]
389 \new Staff = "Sänger" <<
390 \new Voice = "Singstimme" { c'1 }
393 \new PianoStaff = "Klavier" <<
394 \new Staff = "oben" { }
395 \new Staff = "unten" { }
402 Jetzt haben wir viel mehr Details. Wir haben ein System (engl. staff)
403 für einen Sänger, in dem sich wieder eine Stimme (engl. voice)
404 befindet. @code{Voice} bedeutet für LilyPond eine Stimme (sowohl
405 gesungen als auch gespielt) und evtl. zusätzlich einen Text. Zusätzlich
406 werden zwei Notensysteme für das Klavier mit dem Befehl @code{\new
407 PianoStaff} gesetzt. @code{PianoStaff} bezeichnet die Piano-Umgebung (etwa
408 durchgehende Taktstriche und die geschweifte Klammer am Anfang), in der
409 dann wiederum zwei eigene Systeme ("oben" für die rechte Hand und
411 für die linke) erstellt werden.
413 Jetzt könnte man in diese Umgebung Noten einfügen. Innerhalb der
414 geschweiften Klammern neben @code{\new Voice = "Singstimme"}
424 schreiben. Aber wenn man seine Datei so direkt schreibt, wird
425 der @code{\score}-Abschnitt sehr lang und es wird ziemlich schwer zu
426 verstehen, wie alles zusammenhängt. Darum bietet es sich an, Bezeichner
427 (oder Variablen) zu verwenden.
429 @lilypond[verbatim,quote,ragged-right]
430 melodie = \relative c'' { r4 d8\noBeam g, c4 r }
431 text = \lyricmode { And God said, }
432 oben = \relative c'' { <g d g,>2~ <g d g,> }
433 unten = \relative c { b2 e2 }
437 \new Staff = "Sänger" <<
438 \new Voice = "Singstimme" { \melodie }
441 \new PianoStaff = "Klavier" <<
442 \new Staff = "oben" { \oben }
443 \new Staff = "unten" {
453 Achten Sie auf den Unterschied zwischen Noten, die mit @code{\relative}
454 oder direkt in einem musikalischen Ausruck eingegeben werden, und
455 dem Text des Lieds, der innerhalb @code{\lyricmode} angegeben
456 werden muss. Diese Unterscheidung ist für LilyPond essentiell,
457 um zu entscheiden, ob der folgende Inhalt als Musik oder Text
458 interpretiert werden soll. Wie könnte LilyPond sonst entscheiden,
459 ob @code{@{a b c@}} die drei Noten a, b und c darstellen soll oder
460 den Text eines Lieds über das Alphabet!
462 Beim Schreiben (oder Lesen) einer @code{\score}-Umgebung
463 sollte man langsam und sorgfältig vorgehen. Am besten fängt
464 man mit dem größten Gebilde an und definiert dann die darin
465 enthaltenen kleineren der Reihe nach. Es hilft auch, sehr
466 genau mit den Einzügen zu sein, so dass jede Zeile, die
467 der gleichen Ebene angehört, wirklich horizontal an der
468 gleichen Stelle beginnt.
472 Benutzerhandbuch: @ruser{Struktur einer Partitur}.
475 @node Musikalische Ausdrücke ineinander verschachteln
476 @subsection Musikalische Ausdrücke ineinander verschachteln
477 @translationof Nesting music expressions
479 @cindex Notenzeilen, temporäre
481 @cindex temporäre Notenzeilen
483 Notenzeilen (die @q{Staff}-Kontexte) müssen nicht unbedingt gleich
484 zu Beginn erzeugt werden -- sie können auch zu einem späteren
485 Zeitpunkt eingeführt weden. Das ist vor allem nützlichm um
486 @rglosnamed{ossia,Ossias} zu erzeugen. Hier folgt ein kures Beispiel,
487 wie eine zusätzliche temporäre Notenzeile für nur drei Noten erzeugt
490 @lilypond[verbatim,quote,ragged-right]
507 Wie man sieht, ist die Größe des Notenschlüssels dieselbe, wie sie
508 auch bei einer Schlüsseländerung auftritt -- etwas kleiner als
509 der Schlüssel am Beginn einer Notenzeile. Dies ist normal für
510 Notenschlüssel, die innerhalb einer Notenzeile gesetzt werden.
512 @cindex Notenzeile, Positionierung
513 @cindex Positionierung einer Notenzeile
515 Der Ossia-Abschnitt kann auch oberhalb der Hauptnotenzeile
518 @lilypond[verbatim,quote,ragged-right]
519 \new Staff = "Hauptzeile" {
526 alignAboveContext = #"Hauptzeile" }
534 Dieses Beispiel benutzt den @code{\with}-Befehl, der später noch
535 genauer erklärt wird. Damit kann das Standardverhalten einer
536 einzelnen Notenzeile geändert werden: Hier wird einfach angegeben,
537 dass die neue Notenzeile oberhalb der bereits existierenden Zeile
538 mit Namen @qq{Hauptzeile} plaziert werden soll, anstatt
539 standardmäßig unterhalb.
543 Ossia werden oft ohne Notenschlüssel und Taktangabe gedruck, meist
544 auch etwas kleiner als die anderen Notenzeilen. Dies ist natürlich
545 auch in LilyPond möglich, benötigt aber Befehle, die bisher noch
546 nicht vorgestellt wurden. Siehe @ref{Größe von Objekten}
547 und @ruser{Ossia-Systeme}.
550 @node Über die Nicht-Schachtelung von Klammern und Bindebögen
551 @subsection Über die Nicht-Schachtelung von Klammern und Bindebögen
552 @translationof On the un-nestedness of brackets and ties
554 @cindex Klammern, geschachtelt
555 @cindex Schachtelung von Klammern
556 @cindex Klammer-Typen
558 Sie haben bisher zahlreiche verschiedene Arten von Klammern
559 beim Schreiben von Musik mit LilyPond kennengelernt. Diese
560 folgen verschiedenen Regeln, die zu Beginn vielleicht
561 verwirrend wirken. Bevor die genauen Regeln vorgestellt werden,
562 wollen wir die diversen Klammerarten kurz rekapitulieren:
564 @c attempt to force this onto a new page
566 @multitable @columnfractions .3 .7
569 @item @code{@{ .. @}}
570 @tab Umschließt ein sequenzielles Musiksegment
572 @tab Umschließt die Noten eines Akkords
573 @item @code{<< .. >>}
574 @tab Umschließt parallele Musikausdrücke
576 @tab Markiert den Beginn und das Ende eines Haltebogens
577 @item @code{\( .. \)}
578 @tab Markiert den Beginn und das Ende eines Phasierungsbogens
580 @tab Markiert den Beginn und das Ende eines manuell erzeugten Balkens
583 Zusätzlich sollten vielleicht noch einige weiter Konstruktionen
584 erwähnt werden, die Noten auf irgendeine Art und Weise verbinden:
585 Haltebögen (durch eine Tilde @code{~} markiert),
586 Triolen (als @code{\times x/y @{..@}} geschrieben) und
587 Vorschlagnoten (als @code{\grace@{..@}} notiert).
589 Außerhalb von LilyPond fordert die übliche Benutzung von
590 Klammern, dass die entsprechenden Arten korrekt verschachtelt
591 werden, wie z.B. in @code{<< [ @{ ( .. ) @} ] >>}. Die
592 schließenden Klammern kommen dabei in der umgekehrten Reihenfolge
593 wie die öffnenden Klammern vor. Dies ist auch in LilyPond
594 ein @strong{Muss} für die drei Klammerarten, die in obiger
595 Tabelle mit dem Wort @q{Umschließt} beschrieben werden -- sie
596 müssen korrekt geschachtelt werden.
597 Die restlichen Klammerarten (durch @q{Markiert} beschrieben),
598 die Haltebögen und die Triolen brauchen jedoch mit den
599 anderen Klammerarten @strong{nicht} unbedingt korrekt
600 geschachtelt werden. Tatsächlich sind sie auch keine Klammern
601 in dem Sinn, dass sie etwas umschließen, sondern viel mehr
602 Indikatoren, an welcher Stelle ein bestimmtes musikalisches
603 Objekt beginnt oder endet.
605 So kann also z.B. einen Phrasierungsbogen vor einem manuellen
606 Balken beginn, jedoch schon vor dem Ende des Balkens enden.
607 Dies mag zwar musikalisch wenig Sinn ergeben, ist aber in LilyPond
610 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
611 { g8\( a b[ c b\) a] }
614 Im Allgemeinen können die verschiedenen Klammerarten, Haltebögen,
615 Triolen und Vorschlagnoten beliebig kombiniert werden.
616 Das folgende Beispiel zeigt einen Balken, der in eine Triole reicht
617 (Zeile 1), eine Bindebogen, der ebenfalls in eine Triole
618 reicht (Zeile 2), einen Balken und einen Bindeboden in eine Triole,
619 ein Haltebogen, der über zwei Triolen läuft, sowie einen
620 Phrasierungsbogen, der in einer Triole beginnt (Zeilen 3 und 4).
622 @lilypond[quote,verbatim,fragment,ragged-right]
624 r16[ g16 \times 2/3 {r16 e'8] }
625 g16( a \times 2/3 {b d) e' }
626 g8[( a \times 2/3 {b d') e'~]}
627 \times 4/5 {e'32\( a b d' e'} a'4.\)
632 @node Voice enthält Noten
633 @section Voice enthält Noten
634 @translationof Voices contain music
636 Sänger brauchen Stimmen zum Singen, und LilyPond braucht sie auch:
637 in der Tat sind alle Noten für alle Instrumente in einer Partitur
638 innerhalb von Stimmen gesetzt. Die Stimme ist das grundlegendste Prinzip
643 * Stimmen explizit beginnen::
647 @node Ich höre Stimmen
648 @subsection Ich höre Stimmen
649 @translationof I'm hearing Voices
653 @cindex mehrere Stimmen
654 @cindex Stimmen, mehrere
655 @cindex Voice context
656 @cindex context, Voice
657 @cindex Kontext, Stimme
658 @cindex Stimmenkontext
659 @cindex gleichzeitige Noten
660 @cindex Stimmen versus Akkorde
661 @cindex Akkorde versus Stimmen
662 @cindex Noten gleichzeitig
664 Die grundegendsten und innersten Ebenen ein einer LilyPond-Partitur
665 werden @qq{Voice context} (Stimmenkontext) oder auch nur @qq{Voice}
666 (Stimme) genannt. Stimmen werden in anderen Notationsprogrammen
667 manchmal auch als @qq{layer} (Ebene) bezeichnet.
669 Tatsächlich ist die Stimmenebene die einzige, die wirklich Noten
670 enthalten kann. Wenn kein Stimmenkontext explizit erstellt wird,
671 wird er automatisch erstellt, wie am Anfang dieses Kapitels
672 gezeigt. Manche Instrumente wie etwa die Oboe können nur eine
673 Note gleichzeitig spielen. Noten für solche Instrumente sind
674 monophon und brauchen nur eine einzige Stimme. Instrumente, die
675 mehrere Noten gleichzeitig spielen können, wie das Klavier, brauchen
676 dagegeben oft mehrere Stimmen, um die verschiedenen gleichzeitig
677 erklingenden Noten mit oft unterschiedlichen Rhythmen darstellen
680 Eine einzelne Stimme kann natürlich auch vielen Noten in einem Akkord
681 enhalten -- wann also braucht man dann mehrere Stimmen? Schauen wir
682 uns zuerst dieses Beispiel mit vier Akkorden an:
684 @lilypond[quote,verbatim,fragment,ragged-right,relative=1]
686 <d g>4 <d fis> <d a'> <d g>
689 Das kann ausgedrückt werden, indem man die einfachen spitzen Klammern
690 @code{< ... >} benützt, um Akkorde anzuzeigen. Hierfür braucht man
691 nur eine Stimme. Aber gesetzt der Fall das Fis sollte eigentlich
692 eine Achtelnote sein, gefolgt von einer Achtelnote G (als Durchgangsnote
693 hin zum A)? Hier haben wir also zwei Noten, die zur gleichen Zeit
694 beginnen, aber unterschiedliche Dauern haben: die Viertelnote D und die
695 Achtelnote Fis. Wie können sie notiert werden? Als Akkord kann man sie
696 nicht schreiben, weil alle Noten in einem Akkord die gleiche Länge besitzen
697 müssen. Sie können auch nicht als aufeinanderfolgende Noten geschrieben
698 werden, denn sie beginnen ja zur selben Zeit. In diesem Fall also brauchen
701 Wie aber wird das in der LilyPond-Syntax ausgedrückt?
706 Die einfachste Art, Fragmente mit mehr als einer Stimme auf einem System
707 zu notieren, ist, die Stimmen nacheinander (jeweils mit den Klammern
708 @code{@{ ... @}}) zu schreiben und dann mit den spitzen Klammern
709 (@code{<<...>>}) simultan zu kombinieren. Die beiden Fragmente müssen
710 zusätzlich noch mit zwei Backslash-Zeichen (@code{\\}) voneinander
711 getrennt werden, damit sie als zwei unterschiedliche Stimmen erkannt
712 werden. Ohne diese Trenner würden sie als eine einzige Stimme notiert
713 werden. Diese Technik ist besonders dann angebracht, wenn es sich bei
714 den Noten um hauptsächlich homophone Musik handelt, in der hier und da
715 polyphone Stellen vorkommen.
717 So sieht es aus, wenn die Akkorde in zwei Stimmen aufgeteilt werden
718 und zur Durchgangsnote noch ein Bogen hinzugefügt wird:
720 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
722 % Voice "1" Voice "2"
723 << { g4 fis8( g) a4 g } \\ { d4 d d d } >> |
726 Beachte, dass die Hälse der zweiten Stimme nun nach unten zeigen.
728 Hier ein anderes Beispiel:
730 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
732 % Voice "1" Voice "2"
733 << { r4 g g4. a8 } \\ { d,2 d4 g } >> |
734 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
735 << { a2. r4 } \\ { fis2. s4 } >> |
738 Es ist nicht notwendig, für jeden Takt eine eigene
739 @code{<< \\ >>}-Konstruktion zu benutzen. Bei Musik mit nur wenigen
740 Noten pro Takt kann es die Quelldatei besser lesbar machen, aber
741 wenn in einem Takt viele Noten vorkommen, kann man die gesamten Stimmen
742 separat schreiben, wie hier:
744 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
759 Dieses Beispiel hat nur zwei Stimmen, aber die gleiche Konstruktion kann
760 angewendet werden, wenn man drei oder mehr Stimmen hat, indem man weitere
761 Backslash-Trenner hinzufügt.
763 Die Stimmenkontexte tragen die Namen @code{"1"}, @code{"2"} usw. In jedem
764 dieser Kontexte wird die vertikale Ausrichtung von Hälsen, Bögen, Dynamik-Zeichen
765 usw. entsprechend ausgerichtet.
767 @lilypond[quote,verbatim,fragment]
768 \new Staff \relative c' {
771 % Voice "1" Voice "2" Voice "3"
772 << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
773 << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
777 Diese Stimmen sind alle getrennt von der Hauptstimme, die die Noten
778 außerhalb der @code{<< .. >>}-Konstruktion beinhaltet. Lassen wir es
779 uns die @emph{simultane Konstruktion} nennen. Bindebögen und Legatobögen
780 können nur Noten in der selben Stimmen miteinander verbinden und können
781 also somit nicht aus der simultanen Konstruktion hinausreichen. Umgekehrt
782 gilt, dass parallele Stimmen aus eigenen simultanen Konstruktionen auf
783 dem gleichen Notensystem die gleiche Stimme sind. Auch andere, mit dem
784 Stimmenkontext verknüpfte Eigenschaften erstrecken sich auf alle
785 simultanen Konstrukte. Hier das gleiche Beispiel, aber mit unterschiedlichen Farben für die Notenköpfe der unterschiedlichen Stimmen.
786 Beachten Sie, dass Änderungen in einer Stimme sich nicht auf die anderen
787 Stimmen erstrecken, aber sie sind weiterhin in der selben Stimme vorhanden,
788 auch noch später im Stück. Beachten Sie auch, dass übergebundene Noten
789 über die gleiche Stimme in zwei Konstrukten verteilt werden können, wie
790 hier an der blauen Dreieckstimme gezeigt.
792 @lilypond[quote,verbatim]
793 \new Staff \relative c' {
812 { c8 b16 a b8 g ~ g2 }
822 @funindex \voiceOneStyle
823 @funindex \voiceTwoStyle
824 @funindex \voiceThreeStyle
825 @funindex \voiceFourStyle
826 @funindex \voiceNeutralStyle
828 Die Befehle @code{\voiceXXXStyle} sind vor allem dazu da, um in
829 pädagogischen Dokumenten wie diesem hier angewandt zu werden.
830 Sie verändern die Farbe des Notenkopfes, des Halses und des Balkens, und
831 zusätzlich die Form des Notenkopfes, damit die einzelnen Stimmen
832 einfach auseinander gehalten werden können. Die erste Stimme ist als
833 rote Raute definiert, die zweite Stimme als blaue Dreiecke, die dritte
834 Stimme als grüne Kreise mit Kreuz und die vierte Stimme (die hier nicht
835 benutzt wird) hat dunkelrote Kreuze. @code{\voiceNeutralStyle} (hier auch
836 nicht benutzt) macht diese Änderungen rückgängig. Später soll gezeigt
837 werden, wie Befehle wie diese vom Benutzer selber erstellt werden
838 können. Siehe auch @ref{Sichtbarkeit und Farbe von Objekten} und
839 @ref{Variablen für Optimierungen einsetzen}.
841 @cindex Polyphonie und relativer Notationsmodus
842 @cindex relativer Notationsmodus und Polyphonie
844 Polyphonie ändert nicht die Verhältnisse der Noten innerhalb eines
845 @code{\relative @{ @}}-Blocks. Jede Note wird weiterhin relativ zu
846 der vorherigen Note errechnet, oder relativ zur ersten Note des vorigen
847 Akkords. So ist etwa hier
850 \relative c' @{ NoteA << < NoteB NoteC > \\ NoteD >> NoteE @}
854 @code{NoteB} bezüglich @code{NoteA} @*
855 @code{NoteC} bezüglich @code{NoteB}, nicht @code{noteA}; @*
856 @code{NoteD} bezüglich @code{NoteB}, nicht @code{NoteA} oder
858 @code{NoteE} bezüglich @code{NoteD}, nicht @code{NoteA} errechnet.
860 Eine andere Möglichkeit ist, den @code{\relative}-Befehl vor jede
861 Stimme zu stellen. Das bietet sich an, wenn die Stimmen weit voneinander
865 \relative c' @{ NoteA ... @}
867 \relative c'' @{ < NoteB NoteC > ... @}
869 \relative g' @{ NoteD ... @}
871 \relative c' @{ NoteE ... @}
874 Zum Schluss wollen wir die Stimmen in einem etwas komplizierteren Stück
875 analysieren. Hier die Noten der ersten zwei Takte von Chopins
876 @notation{Deux Nocturnes}, Op. 32. Dieses Beispiel soll später in diesem
877 und dem nächsten Kapitel benutzt werden, um verschiedene Techniken,
878 Notation zu erstellen, zu demonstrieren. Ignorieren Sie deshalb an diesem
879 Punkt alles in folgendem Code, das Ihnen seltsam vorkommt, und konzentrieren
880 Sie sich auf die Noten und die Stimmen. Die komplizierten Dinge werden
881 in späteren Abschnitten erklärt werden.
883 @c The following should appear as music without code
884 @lilypond[quote,ragged-right]
885 \new Staff \relative c'' {
894 % Ignore these for now - they are explained in Ch 4
895 \once \override NoteColumn #'force-hshift = #0
897 \once \override NoteColumn #'force-hshift = #0.5
905 Die Richtung der Hälse wird oft benutzt, um anzuzeigen, dass zwei
906 gleichzeitige Melodien sich fortsetzen. Hier zeigen die Hälse aller
907 oberen Noten nach oben und die Hälse aller unteren Noten nach unten.
908 Das ist der erste Anhaltspunkt, dass mehr als eine Stimme benötigt
911 Aber die wirkliche Notwendigkeit für mehrere Stimmen tritt erst
912 dann auf, wenn unterschiedliche Noten gleichzeitig erklingen, aber
913 unterschiedliche Dauern besitzen. Schauen Sie sich die Noten
914 auf dem dritten Schlag im ersten Takt an. Das As ist eine punktierte
915 Viertel, das F ist eine Viertel und das Des eine Halbe. Sie können
916 nicht als Akkord geschrieben werden, denn alle Noten in einem Akkord
917 besitzen die gleiche Dauer. Sie können aber auch nicht nacheinander
918 geschrieben werden, denn sie beginnen auf der gleichen Taktzeit. Dieser
919 Taktabschnitt benötigt drei Stimmen, und normalerweise schreibt man
920 drei Stimmen für den ganzen Takt, wie im Beispiel unten zu sehen ist;
921 hier sind unterschiedliche Köpfe und Farben für die verschiedenen Stimmen
922 eingesetzt. Nocheinmal: der Quellcode für dieses Beispiel wird später
923 erklärt werden, deshalb ignorieren Sie alles, was Sie hier nicht
926 @c The following should appear as music without code
927 @c The three voice styles should be defined in -init
928 @lilypond[quote,ragged-right]
929 \new Staff \relative c'' {
940 \\ % No Voice three (we want stems down)
943 % Ignore these for now - they are explained in Ch 4
944 \once \override NoteColumn #'force-hshift = #0
946 \once \override NoteColumn #'force-hshift = #0.5
954 Versuchen wir also, diese Musik selber zu notieren. Wie wir sehen
955 werden, beinhaltet das einige Schwierigkeiten. Fangen wir an, wie
956 wir es gelernt haben, indem wir mit der @code{<< \\ >>}-Konstruktion
957 die drei Stimmen des ersten Taktes notieren:
959 @lilypond[quote,verbatim,fragment,ragged-right]
960 \new Staff \relative c'' {
963 { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
969 @cindex Hals nach unten
970 @cindex Hals nach oben
971 @cindex Notenhals, Richtung
972 @cindex Richtung des Notenhalses
973 @cindex Notenhalsrichtung
974 @cindex Stimmen und Notenhalsrichtung
975 @cindex Notenhalsrichtung in Stimmen
977 Die Richtung des Notenhalses wird automatisch zugewiesen; die ungeraden
978 Stimmen tragen Hälse nach oben, die gerade Hälse nach unten. Die Hälse
979 für die Stimmen 1 und 2 stimmen, aber die Hälse in der dritten Stimme
980 sollen in diesem Beispiel eigentlich nach unten zeigen. Wir können das
981 korrigieren, indem wir die dritte Stimme einfach auslassen und die
982 Noten in die vierte Stimme verschieben:
985 @lilypond[quote,verbatim,fragment,ragged-right]
986 \new Staff \relative c'' {
992 \\ % Stimme drei auslassen
1001 Wie zu sehen ist, ändert das die Richtung der Hälse, aber zeigt ein
1002 anderes Problem auf, auf das man manchmal bei mehreren Stimmen stößt:
1003 Die Hälse einer Stimme können mit den Hälsen anderer Stimmen kollidieren.
1004 LilyPond erlaubt Noten in verschiedenen Stimmen sich auf der gleichen
1005 vertikalen Position zu befinden, wenn die Hälse in entgegengesetzte
1006 Richtungen zeigen, und positioniert die dritte und vierte Stimme dann
1007 so, dass Zusammenstöße möglichst vermieden werden. Das funktioniert
1008 gewöhnlich recht gut, aber in diesem Beispiel sind die Noten der untersten
1009 Stimme eindeutig standardmäßig schlecht positioniert. LilyPond bietet
1010 verschiedene Möglichkeiten, die horizontale Position von Noten
1011 anzupassen. Wir sind aber noch nicht so weit, dass wir diese Funktionen
1012 anwenden könnten. Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in @ref{Überlappende Notation in Ordnung bringen}.
1016 Notationsreferenz: @ruser{Mehrere Stimmen}.
1019 @node Stimmen explizit beginnen
1020 @subsection Stimmen explizit beginnen
1021 @translationof Explicitly instantiating voices
1027 @funindex \voiceThree
1028 @funindex voiceThree
1029 @funindex \voiceFour
1033 @funindex \new Voice
1034 @cindex Voice context, erstellen von
1035 @cindex Stimmenkontexte, erstellen von
1037 Voice-Kontexte können auch manuell innerhalb
1038 eines @code{<< >>}-Abschnittes initiiert werden. Mit den Befehlen
1039 @code{\voiceOne} bis hin zu @code{\voiceFour} kann jeder Stimme
1040 entsprechendes Verhalten von vertikaler Verschiebung und Richtung
1041 von Hälsen und anderen Objekten hinzugefügt werden. In längeren
1042 Partituren können die Stimmen damit besser auseinander gehalten
1045 Die @code{<< \\ >>}-Konstruktion, die wir im vorigen Abschnitt
1051 << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
1061 \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
1062 \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
1066 Beide würden folgendes Notenbild erzeugen:
1068 @c The following example should not display the code
1069 @lilypond[ragged-right,quote]
1071 \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
1072 \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
1076 @cindex Stimmen, mehrere zu einer zusammenführen
1077 @cindex eine Stimme wiederherstellen
1079 Der @code{\voiceXXX}-Befehl setzt die Richtung von Hälsen,
1080 Bögen, Artikulationszeichen, Text, Punktierungen und Fingersätzen.
1081 @code{\voiceOne} und @code{\voiceThree} lassen diese Objekte
1082 nach oben zeigen, @code{\voiceTwo} und @code{\voiceFour}
1083 dagegen lassen sie abwärts zeigen. Diese Befehle erzeugen eine
1084 horizontale Verschiebung, wenn es erforderlich ist, um Zusammenstöße
1085 zu vermeiden. Der Befehl
1086 @code{\oneVoice} stellt wieder auf das normale Verhalten um.
1088 Schauen wir uns in einigen einfachen Beispielen an, was genau
1089 die Befehle @code{\oneVoice}, @code{\voiceOne} und @code{voiceTwo}
1090 mit Text, Bögen und Dynamikbezeichnung anstellen:
1092 @lilypond[quote,ragged-right,verbatim]
1094 % Default behavior or behavior after \oneVoice
1095 c d8 ~ d e4 ( f g a ) b-> c
1099 @lilypond[quote,ragged-right,verbatim]
1102 c d8 ~ d e4 ( f g a ) b-> c
1104 c, d8 ~ d e4 ( f g a ) b-> c
1108 @lilypond[quote,ragged-right,verbatim]
1111 c d8 ~ d e4 ( f g a ) b-> c
1113 c, d8 ~ d e4 ( f g a ) b-> c
1117 Schauen wir und nun drei unterschiedliche Arten an, den gleichen
1118 Abschnitt polyphoner Musik zu notieren, jede Art mit ihren
1119 Vorteilen in unterschiedlichen Situationen. Wir benutzen dabei
1120 das Beispiel vom vorherigen Abschnitt.
1122 Ein Ausdruck, der direkt innerhalb einer @code{<< >>}-Umgebung
1123 auftritt, gehört der Hauptstimme an. Das ist nützlich, wenn zusätzliche
1124 Stimme auftreten, während die Hauptstimme sich fortsetzt. Hier also
1125 eine bessere Version des Beispiels aus dem vorigen Abschnitt. Die
1126 farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in
1127 einem einzigen Stimmen (@code{voice})-Kontext befindet. Somit kann ein
1128 Phrasierungsbogen ober sie gesetzt werden.
1130 @lilypond[quote,ragged-right,verbatim]
1131 \new Staff \relative c' {
1133 % The following notes are monophonic
1135 % Start simultaneous section of three voices
1137 % Continue the main voice in parallel
1139 % Initiate second voice
1141 % Set stems, etc, down
1143 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
1145 % Initiate third voice
1147 % Set stems, etc, up
1155 @cindex Verschachteln von musikalischen Ausdrücken
1156 @cindex Verschachteln von gleichzeitigen Ausdrücken
1157 @cindex Ausdrücke, Verschachteln von
1158 @cindex Stimmen, temporär
1159 @cindex Stimmen, Verschachteln von
1160 @cindex Verschachteln von Stimmen
1161 @cindex temporäre Stimmen
1163 Tiefer verschachtelte polyphone Konstrukte sind möglich, und
1164 wenn eine Stimme nur kurz auftaucht, kann das der bessere Weg
1165 sein, Noten zu setzen:
1167 @lilypond[quote,ragged-right,verbatim]
1168 \new Staff \relative c' {
1176 {c8 b16 a b8 g ~ g2}
1187 @cindex Platzhalternoten
1188 @cindex unsichtbare Noten
1189 @cindex Noten verstecken
1191 Diese Methode, neue Stimmen kurzzeitig zu verschachteln, bietet sich
1192 an, wenn nur sehr kleine Abschnitte polyphonisch gesetzt sind. Wenn
1193 aber die ganze Partitur polyphon ist, ist es meistens klarer, direkt
1194 unterschiedliche Stimmen über die gesamte Partitur hinweg einzusetzen.
1195 Hierbei kann man mit unsichtbaren Noten dann die Stellen überspringen,
1196 an denen die Stimme nicht auftaucht, wie etwa hier:
1198 @lilypond[quote,ragged-right,verbatim]
1199 \new Staff \relative c' <<
1200 % Initiate first voice
1203 c16^( d e f g4 f e | d2 e2) |
1205 % Initiate second voice
1207 % Set stems, etc, down
1209 s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
1211 % Initiate third voice
1213 % Set stems, etc, up
1220 @subsubheading Notenkolumnen
1222 @cindex Notenkolumne
1223 @cindex Notenkollision
1224 @cindex Zusammenstöße von Noten
1225 @cindex Kollisionen von Noten
1226 @cindex Vertikale Position
1227 @cindex shift-Befehle
1228 @cindex Verschieben von Noten
1232 @funindex \shiftOnnn
1238 Dicht notierte Noten in einem Akkord, oder Noten auf der gleichen
1239 Taktzeit aber in unterschiedlichen Stimmen, werden in zwei, manchmal
1240 auch mehreren Kolumnen getzt, um die Noten am Überschneiden zu
1241 hindern. Wir bezeichnen sie als Notenkolumnen. Jede Stimme hat
1242 eine eigene Kolumne, und ein stimmenabhängiger Verschiebunsbefehl (engl.
1243 shift) wird eingesetzt, wenn eine Kollision auftreten könnte.
1244 Das zeigt das Beispiel oben. Im zweiten Takt wird das C der zweiten
1245 Stimme nach rechts verschoben, relativ gesehen zum D der ersten Stimme,
1246 und im letzten Akkord wird das C der dritten Stimme auch nach
1247 rechts verschoben im Verhältnis zu den anderen Stimmen.
1249 Die Befehle @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} und
1250 @code{\shiftOff} bestimmen den Grad, zu dem Noten und Akkorde
1251 verschoben werden sollen, wenn sich sonst eine Kollision nicht
1252 vermeiden ließe. Die Standardeinstellung ist, dass die äußeren
1253 Stimmen (also normalerweise Stimme 1 und 2) @code{\shiftOff}
1254 eingestellt haben, während für die inneren Stimmen (3 und 4)
1255 @code{\shiftOn} eingeschaltet ist. Wenn eine Verschiebung
1256 auftritt, werden Stimmen 1 und 3 nach rechts und Stimmen 2 und 4
1257 nach links verschoben.
1259 @code{\shiftOnn} und @code{\shiftOnnn} definieren weitere
1260 Verschiebungsebenen, die man kurzzeitig anwählen kann, um
1261 Zusammenstöße in komplexen Situationen aufzulösen, siehe auch
1262 @ref{Beispiele aus dem Leben}.
1264 Eine Notenkolumne kann nur eine Note (oder einen Akkord) von
1265 einer Stimme mit Hälsen nach oben und eine Note (oder einen
1266 Akkord) von einer Stimme mit Hälsen nach unten tragen. Wenn
1267 Noten von zwei Stimmen mit den Hälsen in die gleiche Richtung
1268 an der selben Stelle auftreten und in beiden Stimmen ist
1269 keine Verschiebung oder die gleiche Verschiebungsebene
1270 definiert, wird die Fehlermeldung
1271 @qq{zu viele kollidierende Notenspalten werden ignoriert}
1276 Notationsreferenz: @ruser{Mehrere Stimmen}.
1279 @node Stimmen und Text
1280 @subsection Stimmen und Text
1281 @translationof Voices and vocals
1283 Die Notation von Vokalmusik ihre eigene Schwierigkeit, nämlich
1284 die Kombination von zwei Ausdrücken: den Noten und dem Text.
1285 Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt.
1288 @funindex \new Lyrics
1292 @cindex Lyrics context, erstellen
1293 @cindex Gesangtext, Verbindung mit Noten
1295 Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet,
1296 mit dem einfache Partituren gut erstellt werden können.
1297 Diese Methode ist jedoch recht eingeschränkt. Wenn der Notensatz
1298 komplexer wird, muss der Gesangstext mit einem neuen
1299 @code{Lyrics}-Kontext begonnen werden (mit dem Befehl
1300 @code{\new Lyrics}) und durch den Befehl @code{\lyricsto@{@}}
1301 mit einer bestimmten Stimme verknüpft werden, indem die
1302 Bezeichnung der Stimme benutzt wird.
1304 @lilypond[quote,verbatim,fragment]
1306 \new Voice = "one" \relative c'' {
1309 c4 b8. a16 g4. f8 e4 d c2
1311 \new Lyrics \lyricsto "one" {
1312 No more let sins and sor -- rows grow.
1317 Beachten Sie, dass der Notentext nur mit einem @code{Voice}-Kontext
1318 verknüpft werden kann, nicht mit einem @code{Staff}-Kontext.
1319 In diesem Fall also müssen Sie ein System (@code{Staff}) und
1320 eine Stimme (@code{Voice}) explizit erstellen, damit alles
1323 @cindex Gesangstext und Balken
1324 @cindex Text und Balken
1325 @cindex Balken und Text
1326 @funindex \autoBeamOff
1327 @funindex autoBeamOff
1329 Die automatischen Balken, die LilyPond in der Standardeinstellung
1330 setzt, eignen sich sehr gut für instrumentale Musik, aber nicht
1331 so gut für Musik mit Text, wo man entweder gar keine Balken
1332 benutzt oder sie einsetzt, um Melismen zu verdeutlichen.
1333 Im Beispiel oben wird deshalb der Befehl @code{\autoBeamOff}
1334 eingesetzt um die automatischen Balken (engl. beam) auszuschalten.
1336 @funindex \new ChoirStaff
1337 @funindex \lyricmode
1338 @funindex ChoirStaff
1340 @cindex Vokalpartitur, Aufbau
1341 @cindex Chorpartitur, Aufbau
1343 Wir wollen das frühere Beispiel von @notation{Judas Maccabæus}
1344 benutzen, um diese flexiblere Technik für Gesangstexte
1345 zu illustrieren. Das Beispiel wurde so umgeformt, dass jetzt
1346 Variablen eingesetzt werden, um den Text und die Noten
1347 von der Partiturstruktur zu trennen. Es wurde zusätzlich
1348 eine Chorpartiturklammer hinzugefügt. Der Gesangtext muss mit
1349 @code{\lyricmode} eingegeben werden, damit er als Text und
1350 nicht als Noten interpretiert werden kann.
1352 @lilypond[quote,verbatim]
1353 global = { \time 6/8 \partial 8 \key f \major}
1354 SopOneMusic = \relative c'' {
1355 c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
1356 SopTwoMusic = \relative c' {
1357 r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
1358 SopOneLyrics = \lyricmode {
1359 Let | flee -- cy flocks the | hills a -- dorn, __ }
1360 SopTwoLyrics = \lyricmode {
1361 Let | flee -- cy flocks the | hills a -- dorn, }
1366 \new Voice = "SopOne" {
1370 \new Lyrics \lyricsto "SopOne" {
1375 \new Voice = "SopTwo" {
1379 \new Lyrics \lyricsto "SopTwo" {
1387 Dies ist die Grundstruktur für alle Chorpartituren. Mehr
1388 Systeme können hinzugefügt werden, wenn sie gebraucht werden, mehr
1389 Stimmen können zu jedem System hinzugefügt werden, mehr
1390 Strophen können zum Text hinzugefügt werden, und schließlich
1391 können die Variablen schnell in eine eigene Datei verschoben
1392 werden, wenn sie zu lang werden sollten.
1394 @cindex Choralnotation
1395 @cindex Hymnus-Notation
1396 @cindex SATB-Partitur
1397 @cindex mehrere Strophen
1398 @cindex Strophen, mehrere
1399 @cindex Choral mit mehreren Strophen
1401 Hier ein Beispiel der ersten Zeile eines Chorals mit vier
1402 Strophen für gemischten Chor. In diesem Fall ist der Text
1403 für alle vier Stimmen identisch. Beachten Sie, wie die
1404 Variablen eingesetzt werden, um Inhalt (Noten und Text) und Form
1405 (die Partitur) voneinander zu trennen. Eine Variable wurde
1406 eingesetzt, um die Elemente, die auf beiden Systemen auftauchen,
1407 aufzunehmen, nämlich Taktart und Tonart. Solch eine
1408 Variable wird oft auch mit @qq{global} bezeichnet.
1410 @lilypond[quote,verbatim]
1411 TimeKey = { \time 4/4 \partial 4 \key c \major}
1412 SopMusic = \relative c' { c4 | e4. e8 g4 g | a a g }
1413 AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e }
1414 TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1415 BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
1416 VerseOne = \lyricmode {
1417 E -- | ter -- nal fa -- ther, | strong to save, }
1418 VerseTwo = \lyricmode {
1419 O | Christ, whose voice the | wa -- ters heard, }
1420 VerseThree = \lyricmode {
1421 O | Ho -- ly Spi -- rit, | who didst brood }
1422 VerseFour = \lyricmode {
1423 O | Tri -- ni -- ty of | love and pow'r }
1429 \new Voice = "Sop" { \voiceOne \TimeKey \SopMusic }
1430 \new Voice = "Alto" { \voiceTwo \AltoMusic }
1431 \new Lyrics \lyricsto "Sop" { \VerseOne }
1432 \new Lyrics \lyricsto "Sop" { \VerseTwo }
1433 \new Lyrics \lyricsto "Sop" { \VerseThree }
1434 \new Lyrics \lyricsto "Sop" { \VerseFour }
1438 \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
1439 \new Voice = "Bass" { \voiceTwo \BassMusic }
1445 @cindex Strophe und Refrain
1448 Dieser Abschnitt schließt mit einem Beispiel, das eine Solo-Strophe
1449 mit anschließendem zweistimmigem Refrain auf zwei Systemen zeigt.
1450 Die Positionierung des einstimmigen Abschnitss und der mehrstimmigen
1451 Stelle ist etwas kompliziert; es braucht etwas Aufmerksamkeit,
1452 um der Erklärung folgen zu können.
1454 Beginnen wir mit einer @code{score}-Umgebung, in der eine
1455 Chorpartitur (@code{ChoirStaff}) gesetzt wird. Die Partitur soll
1456 schließlich mit der eckigen Klammer beginnen.
1457 Normalerweise bräuchten wir spitze Klammern im Quelltext
1458 nach dem @code{\new ChoirStaff}, damit die Systeme paralell
1459 gesetzt werden, aber hier wollen wir diese Parallelsierung
1460 ja erst nach dem Solo. Also benutzen wir geschweifte Klammern.
1461 Innerhalb der Chorpartitur erstellen wir zuerst das System,
1462 das die Strophe enthält. Es braucht Noten und Text parallel,
1463 also setzen wir hier die spitzen Klammern um @code{\new Voice}
1464 und @code{\new Lyrics}.
1466 @lilypond[quote,verbatim,ragged-right]
1467 versenotes = \relative c'' {
1470 \time 3/4 g g g b b b
1472 versewords = \lyricmode {
1473 One two three four five six
1478 \new Voice = "verse" {
1481 \new Lyrics \lyricsto verse {
1490 Damit erhalten wir die Strophe.
1492 Jetzt soll @notation{refrainA} auf dem selben System gesetzt
1493 werden, während gleichzeitig in einem neuen System darunter
1494 @notation{refrainB} gesetzt wird. Damit die Oberstimme das
1495 gleiche System benutzt, muss alles direkt auf den Zeilenumbruchbefehl
1496 (@code{\break} folgen, innerhalb der @notation{verse}-Stimme.
1497 Ja, tatsächlich, @emph{innerhalb} der @notation{verse}-Stimme.
1498 Hier haben wir diese parallele Stelle isoliert. Weitere Systeme
1499 könnten auf die gleiche Weise hinzugefügt werden.
1504 \new Lyrics \lyricsto verse @{
1508 \new Voice = "refrainB" @{
1511 \new Lyrics \lyricsto "refrainB" @{
1518 Nun schließlich das Resultat mit zwei Systemen für den Refrain,
1519 man kann gut sehen, wie sich die parallele Stelle innherhalb
1520 der @notation{verse}-Stimme befindet.
1522 @lilypond[quote,verbatim, ragged-right]
1523 versenotes = \relative c'' {
1526 \time 3/4 g g g b b b
1528 refrainnotesA = \relative c'' {
1532 refrainnotesB = \relative c {
1537 versewords = \lyricmode {
1538 One two three four five six
1540 refrainwordsA = \lyricmode {
1543 refrainwordsB = \lyricmode {
1549 \new Voice = "verse" {
1553 \new Lyrics \lyricsto "verse" {
1557 \new Voice = "refrainB" {
1560 \new Lyrics \lyricsto "refrainB" {
1566 \new Lyrics \lyricsto "verse" {
1574 @cindex book, Benutzung von
1578 Dies ist zwar eine interessante und nützliche Übung um zu
1579 verstehen, wie sequentielle und parallele Notationsumgebungen
1580 funktionieren, in der Praxis würde man diesen Code aber
1581 vielleicht eher in zwei @code{\score}-Umgebungen trennnen
1582 und diese dann innerhalb einer @code{\book}-Umgebung
1583 einsetzen, wie im folgenden Beispiel demonstriert:
1585 @lilypond[quote,verbatim,ragged-right]
1586 versenotes = \relative c'' {
1589 \time 3/4 g g g b b b
1591 refrainnotesA = \relative c'' {
1595 refrainnotesB = \relative c {
1600 versewords = \lyricmode {
1601 One two three four five six
1603 refrainwordsA = \lyricmode {
1606 refrainwordsB = \lyricmode {
1611 \new Voice = "verse" {
1614 \new Lyrics \lyricsto "verse" {
1623 \new Voice = "refrainA" {
1626 \new Lyrics \lyricsto "refrainA" {
1631 \new Voice = "refrainB" {
1634 \new Lyrics \lyricsto "refrainB" {
1644 Notation Reference: @ruser{Notation von Gesang}.
1647 @node Kontexte und Engraver
1648 @section Kontexte und Engraver
1649 @translationof Contexts and engravers
1651 Kontexte und Engraver (@qq{Stempel}) sind in den vorherigen
1652 Abschnitten schon aufgetaucht; hier wollen wir uns ihnen
1653 nun etwas ausführlicher widmen, denn sie sind sehr
1654 wichtig, um Feineinstellungen in der LilyPond-Notenausgabe
1655 vornehmen zu können.
1658 * Was sind Kontexte?::
1659 * Kontexte erstellen::
1660 * Was sind Engraver?::
1661 * Kontexteigenschaften verändern::
1662 * Engraver hinzufügen und entfernen::
1665 @node Was sind Kontexte?
1666 @subsection Was sind Kontexte?
1667 @translationof Contexts explained
1669 @cindex Kontexte erklärt
1671 Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe
1673 die im Quellcode gar nicht explizit vorkommen. Vergleichen Sie
1674 etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
1676 @lilypond[quote,verbatim,relative=2,fragment]
1680 Der Quellcode ist sehr kurz und knapp, während in der
1681 Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und
1682 eine Taktart hinzugefügt wurden. Während LilyPond
1683 den Eingabetext @emph{interpretiert}, wird die
1684 musikalische Information in zeitlicher Reihenfolge
1685 inspiziert, etwa wie man eine Partitur von links nach
1686 rechts liest. Während das Programm den Code liest,
1687 merkt es sich, wo sich Taktgrenzen befinden und
1688 für welche Tonhöhen Versetzungszeichen gesetzt werden
1689 müssen. Diese Information muss auf mehreren Ebenen
1690 gehandhabt werden, denn Versetzungszeichen etwa
1691 beziehen sich nur auf ein System, Taktlinien dagegen
1692 üblicherweise auf die gesamte Partitur.
1694 Innerhalb von LilyPond sind diese Regeln und
1695 Informationshappen in @emph{Kontexten} (engl.
1696 contexts) gruppiert. Wir sind schon auf den
1697 @code{Voice} (Stimmen)-Kontext gestoßen. Daneben
1698 gibt es noch die @code{Staff} (Notensystem-) und
1699 @code{Score} (Partitur)-Kontexte. Kontexte sind
1700 hierarchisch geschichtet um die hierarchische
1701 Struktur einer Partitur zu spiegeln. Ein @code{Staff}-Kontext
1702 kann zum Beispiel viele @code{Voice}-Kontexte beinhalten,
1703 und ein @code{Score}-Kontext kann viele
1704 @code{Staff}-Kontexte beinhalten.
1707 @sourceimage{context-example,5cm,,}
1710 Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln
1711 zu erzwingen, bestimmte Notationsobjekte zu erstellen und
1712 verbundene Elemente zu ordnen. Der @code{Voice}-Kontext
1713 zum Beispiel kann eine Vorzeichenregel einführen und der
1714 @code{Staff}-Kontext hält diese Regel dann aufrecht, um
1715 einzuordenen, ob ein Versetzungszeichen gesetzt werden
1718 Ein anderes Beispiel: die Synchronisation der Taktlinien ist
1719 standardmäßig im @code{Score}-Kontext verankert. Manchmal sollen
1720 die Systeme einer Partitur aber unterschiedliche Taktarten
1721 enthalten, etwa in einer polymetrischen Partitur mit
1722 4/4- und 3/4-Takt. In diesem Fall müssen also die Standardeinstellungen
1723 der @code{Score}- und @code{Staff}-Kontexte verändert werden.
1725 In einfachen Partituren werden die Kontexte implizit erstellt,
1726 und es kann sein, dass Sie sich dessen gar nicht bewusst sind.
1727 Für etwas größere Projekte, etwa mit vielen Systemen, müssen
1728 die Kontexte aber explizit erstellt werden, um sicher zu gehen,
1729 dass man auch wirklich die erwünschte Zahl an Systemen in der
1730 richtigen Reihenfolge erhält. Wenn Stücke mit spezialisierter
1731 Notation gesetzt werden sollen, ist es üblich, die existierenden
1732 Kontexte zu verändern oder gar gänzlich neue zu definieren.
1734 Zusätzlich zu den @code{Score,} @code{Staff} und
1735 @code{Voice}-Kontexten gibt es noch Kontexte, die zwischen
1736 der Partitur- und Systemebene liegen und Gruppen von Systemen
1737 kontrollieren. Das sind beispielsweise der
1738 @code{PianoStaff} und @code{ChoirStaff}-Kontext. Es gibt zusätzlich
1739 alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte
1740 für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw.
1742 Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren
1744 Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben
1745 begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich
1747 @code{GregorianTranscriptionStaff}.
1751 Notationreferenz: @ruser{Was sind Kontexte?}.
1754 @node Kontexte erstellen
1755 @subsection Kontexte erstellen
1756 @translationof Creating contexts
1760 @cindex Neue Kontexte
1761 @cindex Erstellen von Kontexten
1762 @cindex Kontexte, Erstellen
1764 Es gibt nur einen Kontext der obersten Ebene: der
1765 @code{Score}-Kontext. Er wird mit dem @code{\score}-Befehl,
1766 oder -- in einfacheren Partituren -- automatisch
1769 Wenn nur ein System vorhanden ist, kann man es ruhig
1770 LilyPond überlassen, die @code{Voice}- und @code{Staff}-Kontexte
1771 zu erstellen, aber für komplexere Partituren ist es notwendig,
1772 sie mit einem Befehl zu erstellen. Der einfachste Befehl
1773 hierzu ist @code{\new}. Er wird dem musikalischen Ausdruck
1774 vorangestellt, etwa so:
1777 \new @var{Typ} @var{musikalischer Ausdruck}
1781 wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
1782 @code{Voice}) ist. Dieser Befehl erstellt einen neuen Kontext und
1783 beginnt, den @var{muskalischen Ausdruck} innherhalb dieses
1784 Kontexts auszuwerten.
1786 Beachten Sie, dass es keinen @code{\new Score}-Befehl gibt: der
1787 Partitur-Kontext der obersten Ebene wird mit dem Befehl @code{\score}
1790 Wir haben schon viele explizite Beispiel gesehen, in denen
1791 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
1792 um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt
1793 werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:
1795 @lilypond[quote,verbatim,ragged-right]
1796 \score { % start of single compound music expression
1797 << % start of simultaneous staves section
1799 \new Staff { % create RH staff
1802 \new Voice { % create voice for RH notes
1803 \relative c'' { % start of RH notes
1809 \new Staff << % create LH staff; needs two simultaneous voices
1812 \new Voice { % create LH voice one
1814 \relative g { % start of LH voice one notes
1815 g8 <bes d> ees, <g c> |
1816 g8 <bes d> ees, <g c> |
1817 } % end of LH voice one notes
1818 } % end of LH voice one
1819 \new Voice { % create LH voice two
1821 \relative g { % start of LH voice two notes
1824 } % end of LH voice two notes
1825 } % end of LH voice two
1826 >> % end of LH staff
1827 >> % end of simultaneous staves section
1828 } % end of single compound music expression
1831 (Beachten Sie, dass wir hier alle Zeilen, die eine neue
1832 Umgebung entweder mit einer geschweiften Klammer (@code{@{})
1833 oder doppelten spitzen Klammern (@code{<<}) öffnen, mit
1834 jeweils zwei Leerzeichen, und die entsprechenden
1835 schließenden Klammern mit der gleichen Anzahl Leerzeichen
1836 eingerückt werden. Dies ist nicht erforderlich, es wird aber
1837 zu einem großen Teil die nicht passenden Klammerpaar-Fehler
1838 eliminieren und ist darum sehr empfohlen. Es macht es
1839 möglich, die Struktur einer Partitur auf einen Blick zu
1840 verstehen, und alle nicht passenden Klammern
1841 erschließen sich schnell. Beachten Sie auch, dass das
1842 untere Notensystem mit eckigen Klammern erstellt wird,
1843 denn innerhalb dieses Systems brauchen wir zwei Stimmen,
1844 um die Noten darzustellen. Das obere System braucht
1845 nur einen einzigen musikalischen Ausdruck und ist deshalb
1846 von geschweiften Klammern umschlossen.)
1848 @cindex Kontexte, Benennung
1849 @cindex Bennenung von Kontexten
1851 Der @code{\new}-Befehl kann einem Kontext auch einen
1852 Namen zur Identifikation geben, um ihn von anderen Kontexten des
1853 selben Typs zu unterscheiden:
1856 \new @var{Typ} = @var{Name} @var{musikalischer Ausdruck}
1859 Beachten Sie den Unterschied zwischen der Bezeichnung des
1860 Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem
1861 Namen, der aus beliebigen Buchstaben bestehen kann
1862 und vom Benutzer frei erfunden werden kann. Zahlen und
1863 Leerzeichen können auch benutzt werden, in dem Fall
1864 muss der Name aber von doppelten Anführungszeichen
1865 umgeben werden, also etwa
1866 @code{\new Staff = "Mein System 1" @var{musikalischer Ausdruck}}.
1868 benutzt, um später auf genau diesen spezifischen Kontext
1869 zu verweisen. Dieses Vorgehen wurde schon in dem Abschnitt
1870 zu Gesangstexten angewandt, siehe @ref{Stimmen und Text}.
1874 Notationsreferenz: @ruser{Kontexte erstellen}.
1877 @node Was sind Engraver?
1878 @subsection Was sind Engraver?
1879 @translationof Engravers explained
1882 @cindex Stempel (Engraver)
1884 Jedes Zeichen des fertigen Notensatzes von LilyPond wird
1885 von einem @code{Engraver} (Stempel) produziert. Es gibt
1886 also einen Engraver, der die Systeme erstellt, einen, der die
1887 Notenköpfe ausgibt, einen für die Hälse, einen für die
1888 Balken usw. Insgesamt gibt es über 120 Engraver! Zum
1889 Glück braucht man für die meisten Partituren nur ein
1890 paar Engraver, und für einfache Partituren muss man eigentlich
1891 überhaupt nichts über sie wissen.
1893 Engraver leben und wirken aus den Kontexten heraus. Engraver
1894 wie der @code{Metronome_mark_engraver}, dessen Aktion
1895 und Ausgabe sich auf die gesamte Partitur bezieht, wirken
1896 in der obersten Kontextebene -- dem @code{Score}-Kontext.
1898 Der @code{Clef_engraver} (Schlüssel-Stempel) und der
1899 @code{Key_engraver} (Vorzeichen-Stempel) finden sich in
1900 jedem @code{Staff}-Kontext, denn unterschiedliche Systeme
1901 könnten unterschiedliche Tonarten und Notenschlüssel
1904 Der @code{Note_heads_engraver} (Notenkopf-Stempel) und der
1905 @code{Stem_engraver} (Hals-Stempel) befinden sich in jedem
1906 @code{Voice}-Kontext, der untersten Kontextebene.
1908 Jeder Engraver bearbeitet die bestimmten Objekte, die mit
1909 seiner Funktion assoziiert sind, und verwaltet die Eigenschaften
1910 dieser Funktion. Diese Eigenschaften, wie etwa die Eigenschaften,
1911 die mit Kontexten assoziiert sind, können verändert werden,
1912 um die Wirkungsweise des Engravers oder das Erscheinungsbild
1913 der von ihm produzierten Elemente in der Partitur zu ändern.
1915 Alle Engraver haben zusammengesetzte Bezeichnung, die aus
1916 den (englischen) Wörtern ihrer Funktionsweise bestehen. Nur
1917 das erste Wort hat einen Großbuchstaben, und die restlichen
1918 Wörter werden mit einem Unterstrich angefügt. Ein
1919 @code{Staff_symbol_engraver} verantwortet also die Erstellung
1920 der Notenlinien, ein @code{Clef_engraver} entscheidet über die
1921 Art der Notenschlüssel und setzt die entsprechenden Symbole; damit
1922 wird gleichzeitig die Referenztonhöhe auf dem Notensystem festgelegt.
1924 Hier die meistgebräuchlichen Engraver mit ihrer Funktion.
1925 Sie werden sehen, dass es mit etwas Englischkenntnissen
1926 einfach ist, die Funktion eines Engravers von seiner Bezeichnung
1929 @multitable @columnfractions .3 .7
1932 @item Accidental_engraver
1933 @tab Erstellt Versetzungszeichen, vorgeschlagene und Warnversetzungszeichen.
1935 @tab Erstellt Balken.
1937 @tab Erstellt Notenschlüssel.
1938 @item Completion_heads_engraver
1939 @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen.
1940 @c The old Dynamic_engraver is deprecated. -jm
1941 @item New_dynamic_engraver
1942 @tab Erstellt Dynamik-Klammern und Dynamik-Texte.
1943 @item Forbid_line_break_engraver
1944 @tab Verbietet Zeilenumbrüche, solange ein musikalisches Element aktiv ist.
1946 @tab Erstellt die Vorzeichen.
1947 @item Metronome_mark_engraver
1948 @tab Erstellt Metronom-Bezeichnungen.
1949 @item Note_heads_engraver
1950 @tab Erstellt Notenköpfe.
1952 @tab Erstellt Pausen.
1953 @item Staff_symbol_engraver
1954 @tab Ersetllt die (standardmäßig) fünf Notenlinien des Systems.
1956 @tab Erstellt die Notenhälse und Tremolos mit einem Hals.
1957 @item Time_signature_engraver
1958 @tab Erstellt die Taktartbezeichnung.
1963 Es soll später gezeigt werden, wie die LilyPond-Ausgabe
1964 verändert werden kann, indem die Wirkungsweise der
1965 Engraver beeinflusst wird.
1969 Referenz der Interna: @rinternals{Engravers and Performers}.
1972 @node Kontexteigenschaften verändern
1973 @subsection Kontexteigenschaften verändern
1974 @translationof Modifying context properties
1976 @cindex Kontext-Eigenschaften, Verändern
1977 @cindex Eigenschaften von Kontexten
1978 @cindex Verändern von Kontext-Eigenschaften
1984 Kontexte sind dafür verantwortlich, die Werte bestimmter
1985 Kontext-@emph{Eigenschaften} zu speichern. Viele davon
1986 können verändert werden, um die Interpretation der
1987 Eingabe zu beeinflussen und die Ausgabe zu verändern.
1988 Kontexte werden mit dem @code{\set}-Befehl geändert.
1992 \set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert}
1996 verwendet, wobei @var{KontextBezeichnung} üblicherweise
1998 @code{Staff} oder @code{Voice} ist. Der erste Teil kann auch
1999 ausgelassen werden; in diesem Fall wird @code{Voice} eingesetzt.
2001 Die Bezeichnung von Kontexten-Eigenschaften besteht
2002 aus zwei Wörtern, die ohne Unterstrich oder Bindestrich
2003 verbunden sind. Alle außer dem ersten werden am Anfang
2004 groß geschrieben. Hier einige Beispiele der gebräuchlichsten
2005 Kontext-Eigenschaften. Es gibt sehr viel mehr.
2007 @c attempt to force this onto a new page
2009 @multitable @columnfractions .25 .15 .45 .15
2010 @headitem eigenschaftsBezeichnung
2015 @tab boolescher Wert
2016 @tab Wenn wahr, werden zusätzliche Auflösungszeichen vor Versetzungszeichen gesetzt.
2017 @tab @code{#t}, @code{#f}
2018 @item currentBarNumber
2020 @tab Setzt die aktuelle Taktnummer.
2023 @tab boolescher Wert
2024 @tab Wenn wahr, werden Legatobögen über und unter die Noten gesetzt.
2025 @tab @code{#t}, @code{#f}
2026 @item instrumentName
2028 @tab Setzt die Instrumentenbezeichnung am Anfang eines Systems.
2029 @tab @code{"Cello I"}
2032 @tab Vergrößert oder verkleinert die Schriftgröße.
2036 @tab Setzt den Text zu Beginn einer Strophe.
2041 Ein boolischer Wert ist entweder wahr (@code{#t})
2042 oder falsch (@code{#f}),
2043 ein Integer eine positive ganze Zahl, eine reale Zahl eine positive
2044 oder negative Dezimalzahl, und Text wird in doppelte
2045 Anführungszeichen (Shift+2) eingeschlossen. Beachten Sie
2046 das Vorkommen des Rautenzeichens
2047 (@code{#}) an unterschiedlichen Stellen: als Teil eines
2048 booleschen Wertes vor dem @code{t} oder @code{f}, aber
2049 auch vor einem @emph{Wert} in der
2050 @code{\set}-Befehlskette. Wenn ein boolescher Wert
2051 eingegeben werden soll, braucht man also zwei
2052 Rautenzeichen, z. B. @code{##t}.
2054 @cindex Eigenschaften in Kontexten
2055 @cindex Veränderung von Eigenschaften in Kontexten
2057 Bevor eine Eigenschaft geändert werden kann, muss man wissen,
2058 in welchem Kontext sie sich befindet. Manchmal versteht das
2059 sich von selbst, aber in einigen Fällen kann es zunächst
2060 unverständlich erscheinen. Wenn der falsche Kontext angegeben
2061 wird, wird keine Fehlermeldung produziert, aber die
2062 Veränderung wird einfach nicht ausgeführt.
2063 @code{instrumentName} befindet sich offensichtlich innerhalb
2064 von einem @code{Staff}-Kontext, denn das Notensystem soll
2065 benannt werden. In dem folgenden Beispiel erhält das erste
2066 System korrekt die Instrumentenbezeichnung, das zweite aber
2067 nicht, weil der Kontext ausgelassen wurde.
2069 @lilypond[quote,verbatim,ragged-right]
2071 \new Staff \relative c'' {
2072 \set Staff.instrumentName = #"Soprano"
2075 \new Staff \relative c' {
2076 \set instrumentName = #"Alto" % Wrong!
2082 Denken Sie daran, dass der Standardkontext @code{Voice} ist; in dem
2083 zweiten @code{\set}-Befehl wird also die Eigenschaft @code{instrumentName}
2084 im @code{Voice}-Kontext auf @qq{Alto}, gesetzt, aber weil LilyPond diese
2085 Eigenschaft nicht im @code{Voice}-Kontext vermutet, passiert einfach
2086 gar nichts. Das ist kein Fehler, und darum wird auch keine Fehlermeldung
2089 Ebenso gibt es keine Fehlermeldung, wenn die Kontext-Bezeichnung
2090 falsch geschrieben wird und die Änderung also nicht ausgeführt werden
2091 kann. Tatsächlich kann eine beliebige (ausgedachte) Kontextbezeichnung
2092 mit dem @code{\set}-Befehl eingesetzt werden, genauso wie die, die
2093 wirklich existieren. Aber wenn LilyPond diese Bezeichnung nicht
2094 zuordnen kann, bewirkt der Befehl einfach gar nichts. Manche Editoren,
2095 die Unterstützung für LilyPond-Befehle mitbringen, markieren existierende
2096 Kontextbezeichnungen mit einem Punkt, wenn man mit der Maus darüber
2097 fährt (wie etwa JEdit mit dem LilyPondTool), oder markieren
2098 unbekannte Bezeichnungen anders (wie ConTEXT). Wenn Sie keinen
2099 Editor mit LilyPond-Unterstützung einsetzen, wird empfohlen, die
2100 Bezeichnungen in der Interna-Referenz zu überprüfen: siehe
2101 @rinternals{Tunable context properties}, oder
2102 @rinternals{Contexts}.
2104 Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie
2105 ineinem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften
2106 können in mehr als einem Kontext benutzt werden. Als Beispiel mag die
2107 @code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen
2108 setzt. Die Standardeinstellung ist ##t (wahr) in allen Systemen.
2109 Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch)
2110 gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus. Wird
2111 sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das
2112 auf alle darin enthaltenen Systeme aus.
2114 Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System
2117 @lilypond[quote,verbatim,ragged-right]
2119 \new Staff \relative c'' {
2122 \new Staff \relative c'' {
2123 \set Staff.extraNatural = ##f
2130 während das dazu dient, sie in allen Systemen auszuschalten:
2132 @lilypond[quote,verbatim,ragged-right]
2134 \new Staff \relative c'' {
2137 \new Staff \relative c'' {
2138 \set Score.extraNatural = ##f
2144 Ein anderes Beispiel ist die Eigenschaft @code{clefOctavation}:
2145 wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort
2146 der Wert der Oktavierung in allen aktuellen Systemen und wird
2147 auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt.
2149 Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft
2150 effektiv wieder von dem Kontext: in den meisten Fällen wird der
2151 Kontext auf ihre Standardeinstellungen zurückgesetzt.
2152 Normalerweise wird aber @code{\unset} nicht benötigt,
2153 denn ein neues @code{\set} erledigt alles, was man braucht.
2155 Die @code{\set}- und @code{\unset}-Befehle könne überall im
2156 Eingabequelltext erscheinen und werden aktiv von dem Moment, an
2157 dem sie auftreten bis zum Ende der Partitur oder bis die Eigenschaft
2158 mit @code{\set} oder @code{\unset} neu gesetzt wird. Versuchen
2159 wir als Beispiel, die Schriftgröße mehrmals zu ändern, was sich unter anderem
2160 auf die Notenköpfe auswirkt. Die Änderung bezieht sich immer auf den Standard,
2161 nicht vom letzten gesetzten Wert.
2163 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
2165 % make note heads smaller
2168 % make note heads larger
2169 \set fontSize = #2.5
2171 % return to default size
2176 Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
2177 Eigenschaften ändern lassen. Beachten Sie, dass Integre und
2178 Zahlen immer mit einem Rautenzeichen beginnen, während
2179 die Werte wahr und falsch (mit @code{##t} und @code{##f}
2180 notiert) immer mit zwei Rauten beginnen. Eine Eigenschaft, die
2181 aus Text besteht, muss in doppelte Anführungsstriche gesetzt werden,
2182 auch wenn wir später sehen werden, dass Text auf eine sehr viel
2183 allgmeinere und mächtigere Art mit dem @code{markup}-Befehl
2184 eingegeben werden kann.
2186 @subsubheading Kontexteigenschaften mit @code{\with} setzen
2190 @cindex Kontexteigenschaft, setzen mit \with
2192 Kontexteigenschaften können auch gesetzt werden, wenn der Kontext
2193 erstellt wird. Das ist in manchen Fällen eine deutlichere Art,
2194 eine Eigenschaft zu bestimmen, die für die gesamte Partitur
2195 erhalten bleichen soll. Wenn ein Kontext mit einem
2196 @code{\new}-Befehl erstellt wird, dem direkt eine
2197 @code{\with @{ .. @}}-Umgebung folgt, können hier die
2198 Eigenschaften bestimmt werden. Wenn also die zusätzlichen
2199 Auflösungszeichen für eine ganze Partitur gelten sollen, könnte
2203 \new Staff \with @{ extraNatural = ##f @}
2209 @lilypond[quote,verbatim,ragged-right]
2215 \new Staff \with { extraNatural = ##f }
2222 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
2223 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
2224 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden.
2226 @cindex Schriftgröße, Standardeinstellung
2227 @cindex fontSize (Schriftgröße), Standardeinstellung
2229 Die @code{fontSize}-Eigenschaft wird anders behandelt. Wenn sie mit
2230 einer @code{\with}-Umgebung gesetzt wird, wird die Standardschriftgröße
2231 neu gesetzt. Wenn die Schriftgröße später mit @code{\set} verändert
2232 wird, kann dieser neue Standardwert mit dem Befehl
2233 @code{\unset fontSize} erreicht werden.
2235 @subsubheading Kontexteigenschaften mit @code{\context} setzen
2237 @cindex Kontexteigenschaften, mit \context setzen
2238 @cindex Eigenschaften von Kontexten, mit \context setzen
2242 Die Werte von Kontext-Eigenschaften können in @emph{allen} Kontexten
2243 eines bestimmten Typs (etwa alle @code{Staff}-Kontexte)
2244 gleichzeitig mit einem Befehl gesetzt werden. Der Kontext wird
2245 spezifieziert, indem seine Bezeichnung benutzt wird, also etwa
2246 @code{Staff}, mit einem Backslash davor: @code{\Staff}. Der Befehl
2247 für die Eigenschaft ist der gleiche, wie er auch in der
2248 @code{\with}-Konstruktion benutzt wird, wie oben gezeigt. Er wird in
2249 eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
2250 von einer @code{\layout}-Umgebung steht. Jede @code{\context}-Umgebung
2251 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
2252 aktuellen Partitur befinden (d. h. innherhalb einer @code{\score}-
2253 oder @code{\book}-Umgebung. Hier ist ein Beispiel, wie man diese
2256 @lilypond[verbatim,quote]
2273 Kontext-Eigenschaften, die auf diese Weise gestzt werden, können für
2274 bestimmten Kontexte überschrieben werden, indem die
2275 @code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
2276 innerhalb der aktuellen Noten.
2281 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2283 @c uncomment when backslash-node-name issue is resolved -pm
2284 @c @ruser{Der set-Befehl}.
2286 Referenz der Interna:
2287 @rinternals{Contexts},
2288 @rinternals{Tunable context properties}.
2291 @node Engraver hinzufügen und entfernen
2292 @subsection Engraver hinzufügen und entfernen
2293 @translationof Adding and removing engravers
2295 @cindex Engraver, Hinzufügen von
2296 @cindex Engraver, Entfernen von
2297 @cindex Hinzufügen von Engravern
2298 @cindex Entfernen von Engravern
2305 Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern
2306 (Stempeln) beinhaltet, von denen ein jeder einen bestimmten
2307 Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien,
2308 Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus
2309 einem Kontext entfernt wird, kann er seine Objekte nicht
2310 länger produzieren. Das ist eine eher grobe Methode, die
2311 Notenausgabe zu beeinflussen, aber es kann von großem
2315 @subsubheading Einen einzelnen Kontext verändern
2317 Um einen Engraver von einem einzelnen Kontext zu entfernen,
2318 wir der @code{\with}-Befehl eingesetzt, direkt hinter
2319 den Befehl zur Kontext-Erstellung geschrieben, wie
2320 in dem vorigen Abschnitt gezeigt.
2322 Als ein Beispiel wollen wir das Beispiel aus dem letzten
2323 Abschnitt produzieren, aber die Notenlinien entfernen. Erinnern
2324 Sie sich, dass die Notenlinien vom @code{Staff_symbol_engraver}
2327 @lilypond[quote,verbatim,ragged-right]
2329 \remove Staff_symbol_engraver
2333 \set fontSize = #-4 % make note heads smaller
2335 \set fontSize = #2.5 % make note heads larger
2337 \unset fontSize % return to default size
2342 @cindex Ambitus-Engraver
2344 Engraver können auch zu einem bestimmten
2345 Kontext hinzugefügt werden. Dies geschieht
2348 @code{\consists @var{Engraver_bezeichnung}}
2351 welcher auch wieder innerhalb der @code{\with}-Umgebung
2352 gesetzt wird. Einige Chorpartituren zeigen einen
2353 Ambitus direkt zu Beginn der ersten Notenzeile, um
2354 den Stimmumfang des Stückes anzuzeigen, siehe auch
2355 @rglos{ambitus}. Der Ambitus wird vom
2356 @code{Ambitus_engraver} erstellt, der normalerweise
2357 in keinem Kontext enthalten ist. Wenn wir
2358 ihn zum @code{Voice}-Kontext hinzufügen, errechnet
2359 er automatisch den Stimmumfang für diese einzelne Stimme
2362 @lilypond[quote,verbatim,ragged-right]
2365 \consists Ambitus_engraver
2380 wenn wir den Ambitus-Engraver allerdings zum
2381 @code{Staff}-Kontext hinzufügen, wird der Stimmumfang aller
2382 Stimmen in diesem Notensystem errechnet:
2384 @lilypond[quote,verbatim,ragged-right]
2386 \consists Ambitus_engraver
2403 @subsubheading Alle Kontexte des gleichen Typs verändern
2407 Die vorigen Beispiele zeigen, wie man Engraver in einem
2408 bestimmten Kontext hinzufügen oder entfernen kann. Es ist
2409 auch möglich, Engraver in jedem Kontext eines bestimmten
2410 Typs hinzuzufügen oder zu entfernen. Dazu werden die
2411 Befehle in dem entsprechenden Kontext in einer
2412 @code{\layout}-Umgebung gesetzt. Wenn wir also z. B.
2413 den Ambitus für jedes Notensystem in einer Partitur
2414 mit vier Systemen anzeigen wollen, könnte das so aussehen:
2416 @lilypond[quote,verbatim,ragged-right]
2420 \relative c'' { c a b g }
2423 \relative c' { c a b g }
2427 \relative c' { c a b g }
2431 \relative c { c a b g }
2437 \consists Ambitus_engraver
2444 Die Werte der Kontext-Eigenschaften können auch für
2445 alle Kontexte eines bestimmten Typs auf die gleiche
2446 Weise geändert werden, indem der @code{\set}-Befehl in
2447 einer @code{\context}-Umgebung angewendet wird.
2451 Notationsreferenz: @ruser{Umgebungs-Plugins verändern},
2452 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2455 @node Erweiterung der Beispiele
2456 @section Erweiterung der Beispiele
2457 @translationof Extending the templates
2459 Sie haben sich durch die Übung gearbeitet, Sie
2460 wissen jetzt, wie Sie Notensatz produzieren, und Sie
2461 haben die grundlegenden Konzepte verstanden. Aber wie
2462 erhalten Sie genau die Systeme, die Sie brauchen? Es
2463 gibt eine ganze Anzahl an fertigen Vorlagen
2464 (siehe @ref{Vorlagen}), mit denen Sie beginnen
2465 können. Aber was, wenn Sie nicht genau das finden,
2466 was Sie brauchen? Lesen Sie weiter.
2469 * Sopran und Cello::
2470 * Vierstimmige SATB-Partitur::
2471 * Eine Partitur von Grund auf erstellen::
2475 @node Sopran und Cello
2476 @subsection Sopran und Cello
2477 @translationof Soprano and cello
2479 @cindex Template, Verändern von
2480 @cindex Vorlage, Verändern von
2481 @cindex Veränderung von Vorlagen
2483 Beginnen Sie mit der Vorlage, die Ihren Vorstellungen
2484 am nächsten kommt. Nehmen wir einmal an, Sie wollen
2485 ein Stück für Sopran und Cello schreiben. In diesem
2486 Fall könnten Sie mit der Vorlage @qq{Noten und Text}
2487 (für die Sopran-Stimme) beginnen.
2490 \version @w{"@version{}"}
2491 melody = \relative c' @{
2498 text = \lyricmode @{
2504 \new Voice = "one" @{
2508 \new Lyrics \lyricsto "one" \text
2515 Jetzt wollen wir die Cello-Stimme hinzufügen. Schauen wir uns das
2516 Beispiel @qq{Nur Noten} an:
2519 \version @w{"@version{}"}
2520 melody = \relative c' @{
2534 Wir brauchen den @code{\version}-Befehl nicht zweimal. Wir
2535 brauchen aber den @code{melody}-Abschnitt. Wir wollen
2536 keine zwei @code{\score} (Partitur)-Abschnitte -- mit zwei
2537 @code{\score}-Abschnitten würden wir zwei Stimmen
2538 getrennt voneinander erhalten. In diesem Fall wollen wir
2539 sie aber zusammen, als Duett. Schließlich brauchen wir
2540 innerhalb des @code{\score}-Abschnittes nur einmal die
2541 Befehle @code{\layout} und @code{\midi}.
2543 Wenn wir jetzt einfach zwei @code{melody}-Abschnitte in
2544 unsere Datei kopieren würden, hätten wir zwei @code{melody}-Variable.
2545 Das würde zu keinem Fehler führen, aber die zweite von ihnen
2546 würde für beide Melodien eingesetzt werden. Wir müssen
2547 ihnen also andere Bezeichnungen zuweisen, um sie voneinander
2548 zu unterscheiden. Nennen wir die Abschnitte also @code{SopranNoten}
2549 für den Sopran und @code{CelloNoten} für die Cellostimme. Wenn
2550 wir schon dabei sind, können wir @code{text}auch nach
2551 @code{SoprText} umbenennen. Denken Sie daran, beide
2552 Vorkommen der Bezeichnung zu ändern: einmal die Definition
2553 gleich am Anfang (@code{melody = \relative c' @{ }) und
2554 dann auch noch die Benutzung der Variable innerhalb des
2555 @code{\score}-Abschnittes.
2557 Gleichzeitig können wir auch noch das Notensystem für das
2558 Cello ändern -- das Cello hat normalerweise einen Bassschlüssel.
2559 Wir ändern auch die Noten etwas ab.
2562 \version @w{"@version{}"}
2563 SopranNoten = \relative c' @{
2570 SoprText = \lyricmode @{
2574 CelloNoten = \relative c @{
2583 \new Voice = "eins" @{
2587 \new Lyrics \lyricsto "eins" \Soprantext
2594 Das sieht schon vielversprechend aus, aber die Cello-Stimme
2595 erscheint noch nicht im Notensatz -- wir haben vergessen,
2596 sie in den @code{\score}-Abschnitt einzufügen. Wenn die
2597 Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
2601 \new Staff \CelloNoten
2605 unter dem Befehl für den Sopran hinzufügen. Wir brauchen auch
2606 die spitzen Klammern (@code{<<} und @code{>>}) um die
2607 Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
2608 ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
2609 zwei @code{Staff}-Instanzen). Der @code{\score}-Abschnitt
2612 @c Indentation in this example is deliberately poor
2617 \new Voice = "eins" @{
2621 \new Lyrics \lyricsto "eins" \SoprText
2623 \new Staff \CelloNoten
2631 Das sieht etwas unschön aus, vor allem die Einrückung stimmt
2632 nicht mehr. Das können wir aber schnell in Ordnung bringen.
2633 Hier also die gesamte Vorlage für Sopran und Cello:
2635 @lilypond[quote,verbatim,ragged-right,addversion]
2636 sopranoMusic = \relative c' {
2643 sopranoLyrics = \lyricmode {
2647 celloMusic = \relative c {
2657 \new Voice = "one" {
2661 \new Lyrics \lyricsto "one" \sopranoLyrics
2663 \new Staff \celloMusic
2672 Die Vorlagen, mit denen wir begonnen haben, können im
2673 Anhang @qq{Vorlagen} gefunden werden, siehe
2674 @ref{Ein einzelnes System}.
2677 @node Vierstimmige SATB-Partitur
2678 @subsection Vierstimmige SATB-Partitur
2679 @translationof Four-part SATB vocal score
2681 @cindex Vorlage, SATB
2682 @cindex Vorlage, Chorpartitur
2683 @cindex SATB-Vorlage
2684 @cindex Chorpartitur, Vorlage
2686 Die meisten Partituren für vierstimmigen gemischten Chor
2687 mit Orchesterbegleitung (wie etwa Mendelssohns @notation{Elias}
2688 oder Händels @notation{Messias}) sind so aufgebaut, dass
2689 für jede der vier Stimmen ein eigenes System besteht und
2690 die Orchesterbegleitung dann als Klavierauszug darunter
2691 notiert wird. Hier ein Beispiel aus Händels @notation{Messias}:
2693 @c The following should appear as music without code
2694 @lilypond[quote,ragged-right]
2695 global = { \key d \major \time 4/4 }
2696 sopranoMusic = \relative c'' {
2698 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2700 sopranoWords = \lyricmode {
2701 Wor -- thy is the lamb that was slain
2703 altoMusic = \relative a' {
2705 r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2707 altoWords = \sopranoWords
2708 tenorMusic = \relative c' {
2710 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2712 tenorWords = \sopranoWords
2713 bassMusic = \relative c' {
2715 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2717 bassWords = \sopranoWords
2718 upper = \relative a' {
2721 r4 <a d fis>2 <a e' a>4 |
2722 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2723 <g cis g'>4 <a d fis> <a cis e>2 |
2725 lower = \relative c, {
2728 <d d'>4 <d d'>2 <cis cis'>4 |
2729 <b b'>4. <b' b'>8 <fis fis'>2 |
2730 <e e'>4 <d d'> <a' a'>2 |
2734 << % combine ChoirStaff and PianoStaff in parallel
2736 \new Staff = "sopranos" <<
2737 \set Staff.instrumentName = #"Soprano"
2738 \new Voice = "sopranos" { \global \sopranoMusic }
2740 \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2741 \new Staff = "altos" <<
2742 \set Staff.instrumentName = #"Alto"
2743 \new Voice = "altos" { \global \altoMusic }
2745 \new Lyrics \lyricsto "altos" { \altoWords }
2746 \new Staff = "tenors" <<
2747 \set Staff.instrumentName = #"Tenor"
2748 \new Voice = "tenors" { \global \tenorMusic }
2750 \new Lyrics \lyricsto "tenors" { \tenorWords }
2751 \new Staff = "basses" <<
2752 \set Staff.instrumentName = #"Bass"
2753 \new Voice = "basses" { \global \bassMusic }
2755 \new Lyrics \lyricsto "basses" { \bassWords }
2759 \set PianoStaff.instrumentName = #"Piano"
2760 \new Staff = "upper" \upper
2761 \new Staff = "lower" \lower
2767 Keine der Vorlage bietet diesen Aufbau direkt an. Die Vorlage, die
2768 am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer
2769 Klavierauszug}, siehe @ref{Vokalensemble}. Wir müssen diese
2770 Vorlage aber so anpassen, dass die Noten für das Klavier nicht
2771 automatisch aus dem Chorsatz generiert werden. Die Variablen
2772 für die Noten und den Text des Chores sind in Ordnung, wir
2773 müssen nun noch Variablen für die Klaviernoten hinzufügen.
2775 Die Reihenfolge, in welcher die Variablen in das Chorsystem
2776 (@code{ChoirStaff}) eingefügt werden, entspricht nicht der
2777 in dem Beispiel oben. Wir wollen sie so sortieren, dass die
2778 Texte jeder Stimme direkt unter den Noten notiert werden.
2779 Alle Stimmen sollten als @code{\voiceOne} notiert werden,
2780 welches die Standardeinstellung ist; wir können also die
2781 @code{\voiceXXX}-Befehle entfernen. Wir müssen auch noch
2782 den Schlüssel für den Tenor ändern. Die Methode, mit der
2783 der Text den Stimmen zugewiesen wird, ist uns noch nicht
2784 bekannt, darum wollen wir sie umändern auf die Weise, die
2785 wir schon kennen. Wir fügen auch noch Instrumentbezeichnungen
2786 zu den Systemen hinzu.
2788 Damit erhalten wir folgenden @code{ChoirStaff}:
2792 \new Staff = "sopranos" <<
2793 \set Staff.instrumentName = #"Soprano"
2794 \new Voice = "sopranos" @{ \global \SopranNoten @}
2796 \new Lyrics \lyricsto "sopranos" @{ \SopranText @}
2797 \new Staff = "altos" <<
2798 \set Staff.instrumentName = #"Alto"
2799 \new Voice = "altos" @{ \global \AltNoten @}
2801 \new Lyrics \lyricsto "altos" @{ \AltText @}
2802 \new Staff = "tenors" <<
2803 \set Staff.instrumentName = #"Tenor"
2804 \new Voice = "tenors" @{ \global \TenorNoten @}
2806 \new Lyrics \lyricsto "tenors" @{ \TenorText @}
2807 \new Staff = "basses" <<
2808 \set Staff.instrumentName = #"Bass"
2809 \new Voice = "basses" @{ \global \BassNoten @}
2811 \new Lyrics \lyricsto "basses" @{ \BassText @}
2812 >> % Ende ChoirStaff
2815 Als nächstes müssen wir das Klaviersystem bearbeiten.
2816 Das ist einfach: wir nehmen einfach den Klavierteil
2817 aus der @qq{Piano solo}-Vorlage:
2821 \set PianoStaff.instrumentName = #"Piano "
2822 \new Staff = "oben" \oben
2823 \new Staff = "unten" \unten
2828 und fügen die Variablen @code{oben}
2829 und @code{unten} hinzu.
2831 Das Chorsystem und das Pianosystem müssen mit
2832 spitzen Klammern kombiniert werden, damit beide
2833 übereinandern erscheinen:
2836 << % ChoirStaff und PianoStaff parallel kombinieren
2838 \new Staff = "sopranos" <<
2839 \new Voice = "sopranos" @{ \global \SopranNoten @}
2841 \new Lyrics \lyricsto "sopranos" @{ \SopranText @}
2842 \new Staff = "altos" <<
2843 \new Voice = "altos" @{ \global \AltNoten @}
2845 \new Lyrics \lyricsto "altos" @{ \AltText @}
2846 \new Staff = "tenors" <<
2847 \clef "G_8" % Tenorschlüssel
2848 \new Voice = "tenors" @{ \global \TenorNoten @}
2850 \new Lyrics \lyricsto "tenors" @{ \TenorText @}
2851 \new Staff = "basses" <<
2853 \new Voice = "basses" @{ \global \BassNoten @}
2855 \new Lyrics \lyricsto "basses" @{ \BassText @}
2856 >> % Ende ChoirStaff
2859 \set PianoStaff.instrumentName = #"Piano"
2860 \new Staff = "oben" \oben
2861 \new Staff = "unten" \unten
2866 Alles miteinander kombiniert und mit den Noten für drei
2867 Takte sieht unser Beispiel nun so aus:
2869 @lilypond[quote,verbatim,ragged-right,addversion]
2870 global = { \key d \major \time 4/4 }
2871 sopranoMusic = \relative c'' {
2873 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2875 sopranoWords = \lyricmode {
2876 Wor -- thy is the lamb that was slain
2878 altoMusic = \relative a' {
2880 r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2882 altoWords = \sopranoWords
2883 tenorMusic = \relative c' {
2885 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2887 tenorWords = \sopranoWords
2888 bassMusic = \relative c' {
2890 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2892 bassWords = \sopranoWords
2893 upper = \relative a' {
2896 r4 <a d fis>2 <a e' a>4 |
2897 <d fis d'>4. <d fis d'>8 <a d a'>2 |
2898 <g cis g'>4 <a d fis> <a cis e>2 |
2900 lower = \relative c, {
2903 <d d'>4 <d d'>2 <cis cis'>4 |
2904 <b b'>4. <b' b'>8 <fis fis'>2 |
2905 <e e'>4 <d d'> <a' a'>2 |
2909 << % combine ChoirStaff and PianoStaff in parallel
2911 \new Staff = "sopranos" <<
2912 \set Staff.instrumentName = #"Soprano"
2913 \new Voice = "sopranos" { \global \sopranoMusic }
2915 \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2916 \new Staff = "altos" <<
2917 \set Staff.instrumentName = #"Alto"
2918 \new Voice = "altos" { \global \altoMusic }
2920 \new Lyrics \lyricsto "altos" { \altoWords }
2921 \new Staff = "tenors" <<
2922 \set Staff.instrumentName = #"Tenor"
2923 \new Voice = "tenors" { \global \tenorMusic }
2925 \new Lyrics \lyricsto "tenors" { \tenorWords }
2926 \new Staff = "basses" <<
2927 \set Staff.instrumentName = #"Bass"
2928 \new Voice = "basses" { \global \bassMusic }
2930 \new Lyrics \lyricsto "basses" { \bassWords }
2934 \set PianoStaff.instrumentName = #"Piano "
2935 \new Staff = "upper" \upper
2936 \new Staff = "lower" \lower
2943 @node Eine Partitur von Grund auf erstellen
2944 @subsection Eine Partitur von Grund auf erstellen
2945 @translationof Building a score from scratch
2947 @cindex Template, eigene schreiben
2948 @cindex Vorlagen, eigene schreiben
2949 @cindex eigene Vorlagen erstellen
2950 @cindex Erstellen von eigenen Vorlagen
2951 @cindex Schreiben von eigenen Vorlagen
2953 Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code
2954 gewonnen haben, werden Sie vielleicht feststellen, dass es
2955 manchmal einfacher ist, von Grund auf anzufangen, anstatt
2956 die fertigen Vorlagen zu verändern. Auf diese Art könne Sie
2957 auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen,
2958 die Sie notieren wollen. Als Beispiel wollen wir demonstrieren,
2959 wie man die Partitur für ein Orgelpreludium von Grund auf
2962 Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt.
2963 Hier notieren wir den Titel, den Namen des Komponisten usw.
2964 Danach schreiben wir die einzelnen Variablen auf und
2965 schließlich am Ende die eigentliche Partitur, den
2966 @code{\score}-Abschnitt. Beginnen wir mit einer groben
2967 Struktur, in die wir dann die Einzelheiten nach und nach
2970 Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium
2971 @notation{Jesu, meine Freude} von J. S. Bach, notiert
2972 für zwei Manuale und Pedal. Sie können die Noten am Ende
2973 dieses Abschnittes sehen. Das obere Manual trägt zwei Stimmen,
2974 das untere und das Pedalsystem jeweils nur eine. Wir
2975 brauchen also vier Variablen für die Noten und eine, um
2976 Taktart und Tonart zu definieren.
2979 \version @w{"@version{}"}
2981 title = "Jesu, meine Freude"
2982 composer = "J. S. Bach"
2984 TimeKey = @{ \time 4/4 \key c \minor @}
2985 ManualOneVoiceOneMusic = @{s1@}
2986 ManualOneVoiceTwoMusic = @{s1@}
2987 ManualTwoMusic = @{s1@}
2988 PedalOrganMusic = @{s1@}
2994 Im Moment haben wir eine unsichtbare
2995 Note in jede Stimme eingesetzt (@code{s1}).
2996 Die Noten werden später hinzugefügt.
2998 Als nächstes schauen wir uns an, was in die
2999 Partitur (die @code{\score}-Umgebung)
3000 kommt. Dazu wird einfach die Notensystemstruktur
3001 konstruiert, die wir benötigen. Orgelmusik
3002 wird meistens auf drei Systemen notiert, eins
3003 für jedes Manual und ein drittes für die Pedalnoten.
3004 Die Systeme für die Manuale werden mit einer
3005 geschweiften Klammer verbunden, wir
3006 benutzen hier also ein @code{PianoStaff}.
3007 Das erste Manualsystem braucht zwei Stimmen,
3008 das zweite nur eine.
3012 \new Staff = "ManualOne" <<
3013 \new Voice @{ \ManualOneVoiceOneMusic @}
3014 \new Voice @{ \ManualOneVoiceTwoMusic @}
3015 >> % end ManualOne Staff context
3016 \new Staff = "ManualTwo" <<
3017 \new Voice @{ \ManualTwoMusic @}
3018 >> % end ManualTwo Staff context
3019 >> % end PianoStaff context
3022 Als nächstes soll das System für das Pedal hinzugefügt
3023 werden. Es soll unter das Klaviersystem gesetzt
3024 werden, aber muss gleichzeitig mit ihm erscheinen.
3025 Wir brauchen also spitze Klammern um beide
3026 Definitionen. Sie wegzulassen würde eine Fehlermeldung
3027 in der Log-Datei hervorrufen. Das ist ein sehr
3028 häufiger Fehler, der wohl auch Ihnen früher
3029 oder später unterläuft. Sie können das fertige
3030 Beispiel am Ende des Abschnittes kopieren und die
3031 Klammern entfernen, um zu sehen, wie die
3032 Fehlermeldung aussehen kann, die Sie in solch
3033 einem Fall erhalten würden.
3036 << % PianoStaff and Pedal Staff must be simultaneous
3038 \new Staff = "ManualOne" <<
3039 \new Voice @{ \ManualOneVoiceOneMusic @}
3040 \new Voice @{ \ManualOneVoiceTwoMusic @}
3041 >> % end ManualOne Staff context
3042 \new Staff = "ManualTwo" <<
3043 \new Voice @{ \ManualTwoMusic @}
3044 >> % end ManualTwo Staff context
3045 >> % end PianoStaff context
3046 \new Staff = "PedalOrgan" <<
3047 \new Voice @{ \PedalOrganMusic @}
3052 Es ist nicht notwendig, die simultane Konstruktion
3053 @code{<< .. >>} innerhalb des zweiten Manualsystems
3054 und des Pedalsystems zu benutzen, denn sie enthalten
3055 nur eine Stimme. Andererseits schadet es nichts, sie
3056 zu schreiben, und es ist eine gute Angewohnheit, immer
3057 die spitzen Klammern nach einem @code{\new Staff} zu
3058 schreiben, wenn mehr als eine Stimme vorkommen könnten.
3059 Für Stimmen (@code{Voice}) dagegengilt genau das
3060 Gegenteil: eine neue Stimme sollte immer von
3061 geschweiften Klammern (@code{@{ .. @}}) gefolgt
3062 werden, falls Sie ihre Noten in mehrere Variable aufteilen,
3063 die nacheinander gesetzt werden sollen.
3065 Fügen wir also diese Struktur zu der @code{\score}-Umgebung
3066 hinzu und bringen wir die Einzüge in Ordnung. Gleichzeitig
3067 wollen wir die richtigen Schlüssel setzen und die Richtung der
3068 Hälse und Bögen in den Stimmen des oberen Systems
3069 kontrollieren, indem die obere Stimme ein
3070 @code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
3071 erhält. Die Taktart und Tonart werden mit unserer fertigen
3072 Variable @code{\TimeKey} eingefügt.
3076 << % PianoStaff and Pedal Staff must be simultaneous
3078 \new Staff = "ManualOne" <<
3079 \TimeKey % set time signature and key
3081 \new Voice @{ \voiceOne \ManualOneVoiceOneMusic @}
3082 \new Voice @{ \voiceTwo \ManualOneVoiceTwoMusic @}
3083 >> % end ManualOne Staff context
3084 \new Staff = "ManualTwo" <<
3087 \new Voice @{ \ManualTwoMusic @}
3088 >> % end ManualTwo Staff context
3089 >> % end PianoStaff context
3090 \new Staff = "PedalOrgan" <<
3093 \new Voice @{ \PedalOrganMusic @}
3094 >> % end PedalOrgan Staff
3096 @} % end Score context
3099 Damit ist das Grundgerüst fertig. Jede Orgelmusik mit drei
3100 Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen
3101 in einem System sich ändern kann. Jetzt müssen wir nur noch
3102 die Noten einfügen und alle Teile zusammenfügen, indem wir
3103 die Variablen mit einem Backslash in die Partitur einbauen.
3105 @lilypond[quote,verbatim,ragged-right,addversion]
3107 title = "Jesu, meine Freude"
3108 composer = "J S Bach"
3110 TimeKey = { \time 4/4 \key c \minor }
3111 ManualOneVoiceOneMusic = \relative g' {
3112 g4 g f ees | d2 c2 |
3114 ManualOneVoiceTwoMusic = \relative c' {
3115 ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
3116 c c4 b8 c8. g16 c b c d |
3118 ManualTwoMusic = \relative c' {
3119 c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
3120 f ees f d g aes g f ees d e8~ ees16 f ees d |
3122 PedalOrganMusic = \relative c {
3123 r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
3124 r16 g ees f g f g8 c,2 |
3128 << % PianoStaff and Pedal Staff must be simultaneous
3130 \new Staff = "ManualOne" <<
3131 \TimeKey % set time signature and key
3133 \new Voice { \voiceOne \ManualOneVoiceOneMusic }
3134 \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
3135 >> % end ManualOne Staff context
3136 \new Staff = "ManualTwo" <<
3139 \new Voice { \ManualTwoMusic }
3140 >> % end ManualTwo Staff context
3141 >> % end PianoStaff context
3142 \new Staff = "PedalOrgan" <<
3145 \new Voice { \PedalOrganMusic }
3146 >> % end PedalOrgan Staff context
3148 } % end Score context