@c -*- coding: utf-8; mode: texinfo; -*- @c This file is part of lilypond.tely @ignore Translation of GIT committish: 9c728939dbd36dc81bf0afb29bc5fe22b66d675c When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @end ignore @c \version "2.11.61" @ignore Tutorial guidelines: - unless you have a really good reason, use either @l ilypond[quote,verbatim] or @l ilypond[quote,verbatim,fragment,relative=2] (without spaces) Don't use any other relative=X commands. - use "aes" and "ees" instead of "as" and "aes". I know it's not correct Dutch naming, but let's not confuse people with this until we get to the Basic notation chapter. - addition for German users to the pitches chapter about naming of pitches. @end ignore @node Tutorial @chapter Tutorial Diese Übung führt ein in die Notationssprache des Programmes LilyPond und erklärt, wie man damit Noten setzen kann. Nach einer ersten Einleitung wird erklärt, wie die häufigsten Notenbilder in schönen Notendruck umgesetzt werden können. @menu * First steps:: * Single staff notation:: * Multiple notes at once:: * Songs:: * Final touches:: @end menu @node First steps @section First steps In diesem Abschnitt werden die Grundlagen zur Benutzung des Programmes erklärt. @menu * Compiling a file:: * Simple notation:: * Working on input files:: * How to read the manual:: @end menu @node Compiling a file @subsection Compiling a file @cindex Kompilieren @cindex erstes Beispiel @cindex Beispiel, erstes @cindex Übersetzen von Quelltext @cindex Groß- und Kleinschreibung @cindex Quelltext, übersetzen @cindex Großbuchstaben @cindex Kleinbuchstaben @qq{Kompilation} ist der Begriff, der benutzt wird, um eine Lilypond-Eingabedatei mit dem Programm LilyPond in eine Notenausgabe umzuwandeln, die ausgedruckt werden kann. Zusätzlich besteht die Option, eine MIDI-Datei zu produzieren, die abgespielt werden kann. Das erste Beispiel zeigt, wie solch eine einfache Eingabedatei ausschauen kann. Um Notensatz zu erstellen, muss die Notation in der Eingabedatei beschrieben werden. Wenn man z.@w{}B. schreibt: @example @{ c' e' g' e' @} @end example @noindent so erhält man folgendes Resultat: @c in this case we don't want verbatim @lilypond[quote] { c' e' g' e' } @end lilypond @warning{In jeder LilyPond-Datei müssen @strong{@{ geschweifte Klammern @}} um die Noten oder Gesangstext gesetzt werden. Vor und hinter den Klammern sollten Leerzeichen eingegeben werden, damit keine Unklarheiten in Verbindung mit den eigentlichen Notensymbolen entstehen. An Anfang und Ende der Zeile können diese Leerzeichen auch weggelassen werden. Es kann sein, dass in diesem Handbuch die Klammern in manchen Beispielen fehlen, aber man sollte immer daran denken, sie in den eigenen Dateien zu benutzen! Mehr Informationen zu der Darstellung der Beispiele in diesem Handbuch gibt der Abschnitt @ref{How to read the manual}.} Zusätzlich unterscheidet LilyPond @strong{Groß- und Kleinschreibung}. @w{@code{ @{ c d e @}}} ist zulässiger Code, @w{@code{ @{ C D E @}}} dagegen resultiert in einer Fehlermeldung. @smallspace @subheading Entering music and viewing output @cindex PDF-Datei @cindex Noten anzeigen @cindex Anzeigen der Noten @cindex Ansicht von Noten @cindex Editoren @cindex Texteditoren @cindex LilyPond unter MacOS X @cindex Windows, LilyPond starten @cindex MacOS X, LilyPond starten @cindex Unix, LilyPond starten @cindex Starten von LilyPond In diesem Kapitel zeigen wir, welche Kommandos eingegeben werden müssen, um ein Notenbild zu erzeugen, und wie das Resultat dann betrachtet werden kann. Beachten Sie, dass es eine Reihe an Texteditoren mit besserer Unterstützung für LilyPond gibt. Mehr dazu im Abschnitt @rprogram{Text editor support}. @warning{Das erste Mal, wenn Sie LilyPond benutzen, kann es eine Minute oder länger dauern, weil das Programm zuerst alle Schriftarten, die auf dem System zur Verfügung stehen, untersucht. Aber nach diesem ersten Mal läuft LilyPond sehr viel schneller.} @subsubheading MacOS X Wenn Sie das @command{LilyPond.app}-Symbol doppelt klicken, öffnet sich eine Beispiel-Datei. Speichern Sie sie etwa als @file{test.ly} auf dem Desktop und übersetzen Sie sie mit dem Menü-Befehl @w{@qq{Compile > Typeset File}}. Die PDF-Datei mit dem fertigen Notensatz wird automatisch geöffnet. Das nächste Mal, wenn Sie LilyPond benutzen, sollten Sie @qq{New} oder @qq{Open} wählen. Sie müssen die Datei speichern, bevor Sie sie übersetzen können. Wenn es Fehler gibt, lesen Sie die Meldungen im Log-Fenster. @subsubheading Windows Wenn sie auf das LilyPond-Symbol auf dem Desktop doppelklicken, öffnet sich ein einfacher Texteditor mit einer Beispieldatei. Speichern Sie sie z. B. als @file{test.ly} auf dem Desktop und klicken Sie dann doppelt auf die Datei, um die Übersetzung zu beginnen (das Dateisymbol ist eine Note). Nach einigen Sekunden wird eine Datei @file{test.pdf} auf dem Desktop erscheinen. Mit einem Doppelklick kann das fertige Notenbild in der PDF-Datei angezeigt werden. Eine Alternative ist es, die @file{test.ly}-Datei mit der Maus auf das LilyPond-Symbol zu ziehen. Um eine schon existierende Datei zu bearbeiten, klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie @qq{Edit source}. Um eine leere Datei zu erhalten, mit der Sie ein neues Stück beginnen können, öffnen Sie den Texteditor durch Doppelklick auf das LilyPond-Symbol und benutzen Sie @qq{New} im @qq{File}-Menü, oder klicken Sie mit der rechten Maustaste auf den Desktop und wählen Sie @qq{Neu...Textdatei}, ändern Sie dann den Namen so wie Sie möchten und ändern Sie die Dateiendung in @code{.ly}. Doppelklicken Sie auf die Datei, um Ihren LilyPond-Eingabecode einzugeben. Mit dem Doppelklick wird nicht nur die PDF-Datei erstellt, sondern auch eine @file{.log}-Datei. Hier wird gespeichert, was LilyPond aus der Quelldatei gelesen hat. Sollten Fehler auftreten, hilft oft ein Blick in diese Datei. @subsubheading UNIX Erstellen Sie eine Text-Datei mit dem Namen @file{test.ly} und geben Sie folgenden Text ein: @example @{ c' e' g' e' @} @end example Um die Datei zu bearbeiten, geben sie an der Konsole @example lilypond test.ly @end example @noindent ein. Sie werden ungefähr folgende Meldungen sehen: @example lilypond test.ly GNU LilyPond @version{} »test.ly« wird verarbeitet Analysieren... Interpretation der Musik... Vorverarbeitung der grafischen Elemente... Ideale Seitenanzahl wird gefunden... Musik wird auf eine Seite angepasst... Systeme erstellen... Layout nach »test.ps« ausgeben... Konvertierung nach »test.pdf«... @end example Als Ergebnis erhalten Sie ein @file{test.pdf}, das Sie mit den Standardprogrammen Ihres Betriebssystemes anschauen können. @node Simple notation @subsection Simple notation @cindex einfache Notation @cindex Notation, einfach LilyPond fügt einige Bestandteile des Notenbildes automatisch hinzu. Im nächsten Beispiel sind nur vier Tonhöhen angegeben, aber LilyPond setzt trotzdem einen Schlüssel, eine Taktangabe und Notendauern. @lilypond[verbatim,quote] { c' e' g' e' } @end lilypond @noindent Diese Einstellungen können verändert werden, aber in den meisten Fällen sind die automatischen Werte durchaus brauchbar. @subheading Pitches @cindex Tonhöhen @cindex relativer Modus @cindex Apostroph @cindex Komma @cindex Versetzungszeichen und relativer Modus @cindex relativer Modus und Versetzungszeichen @funindex \relative @funindex relative @funindex ' @funindex , Glossar: @rglos{pitch}, @rglos{interval}, @rglos{scale}, @rglos{middle C}, @rglos{octave}, @rglos{accidental}. @c Addition for German users about pitch naming conventions Die Tonhöhen werden mit Kleinbuchstaben eingegeben, die den Notennamen entsprechen. Es ist jedoch wichtig zu wissen, dass LilyPond in seiner Standardeinstellung die englischen Notennamen verwendet. Bis auf eine Ausnahme entsprechen sie den deutschen, deshalb wird die Voreinstellung von LilyPond für diese Übung beibehalten. Die @emph{Ausnahme} ist das h -- in LilyPond muss man anstelle dessen b schreiben! Das deutsche b dagegen wird als bes notiert, ein his dagegen würde bis geschrieben. Siehe auch @ruser{Accidentals} und @ruser{Note names in other languages}, hier wird beschrieben, wie sich die deutschen Notennamen benutzen lassen. @c end addition Am einfachsten können Noten im @code{\relative}-Modus eingegeben werden. In diesem Modus wird die Oktave der Note automatisch gewählt, indem angenommen wird, dass die folgende Note immer so nah wie möglich in Bezug auf die vorhergehende gesetzt wird, d. h. sie wird höchstens drei Notenzeilen höher oder tiefer als die vorhergehende Note gesetzt. Fangen wir unser erstes Notationsbeispiel mit einer @notation{scale} an, wo also die nächste Note immer nur eine Notenlinie über der vorherigen steht. @c KEEP LY @lilypond[verbatim,quote] % Beginnpunkt auf das mittlere C setzen \relative c' { c d e f g a b c } @end lilypond Die erste Note ist ein @notation{eingestrichenes C}. Jede folgende Note befindet sich so nah wie möglich bei der vorherigen -- das erste @q{C} ist also das nächste C vom eingestrichenen C aus gerechnet. Darauf folgt das nächstmögliche D in Bezug auf die vorhergehende Note. Mit diesen Regeln können auch Melodien mit größeren Intervallen im @code{\relative}-Modus gebildet werden: @lilypond[verbatim,quote] \relative c' { d f a g c b f d } @end lilypond @noindent Es ist nicht notwendig, dass die erste Note der Melodie mit der Note beginnt, die die erste Tonhöhe angibt. Die erste Note (das @q{D}) des vorigen Beispiels ist das nächste D vom eingestrichenen C aus gerechnet. Indem man Apostrophe @code{'} (Taste Shift+#) oder Kommata @code{,} zu dem @w{@code{\relative c' @{}} hinzufügt oder entfernt, kann die Oktave der ersten Tonhöhe verändert werden: @c KEEP LY @lilypond[verbatim,quote] % zweigestrichenes C \relative c'' { e c a c } @end lilypond Der relative Modus kann zunächst verwirrend erscheinen, aber es ist die einfachste Art, die meisten Melodien zu notieren. Schauen wir uns an, wie diese relative Berechnung in der Praxis funktioniert. Wenn wir mit einem H beginnen (@code{b} in der LilyPond-Syntax), welches sich auf der mittleren Linie im Violinschlüssel befindet, können wir C, D und E aufwärts notieren, und A, G und F unter dem H. Wenn also die Note, die auf das H folgt, ein C, D oder E ist, setzt LilyPond es oberhalb des Hs, wenn es ein A, G oder F ist, wird es darunter gesetzt. @c KEEP LY @lilypond[verbatim,quote] \relative c'' { b c % c ist 1 Zeile aufwärts, also c über dem b b d % d ist 2 Zeilen aufwärts, oder 5 runter, also d über dem b b e % e ist 3 aufwärts oder 4 runter, also e über dem b b a % a ist 6 aufwärts oder 1 runter, also a unter dem b b g % g ist 5 aufwärts oder 2 runter, also g unter dem b b f % f ist 4 aufwärts oder 3 runter, also f unter dem b } @end lilypond Die gleiche Berechnung findet auch statt, wenn eine der Noten erhöht oder erniedrigt ist. @notation{Versetzungszeichen} werden @strong{vollständig ignoriert} bei der Berechnung. Genau die gleiche Berechnung wird analog von jeder folgenden Tonhöhe aus für die nächste Tonhöhe neu ausgeführt. Um Intervalle zu notieren, die größer als drei Notenzeilen sind, kann man die Oktave verändern. Mit einem Apostroph @code{'} (Taste Shift+#) direkt hinter dem Notennamen wird die Oktave um eins erhöht, mit einem Komma @code{,} um eins erniedrigt. @lilypond[verbatim,quote] \relative c'' { a a, c' f, g g'' a,, f' } @end lilypond @noindent Um eine Notenhöhe um zwei (oder mehr!) Oktaven zu verändern, werden sukzessive @code{''} oder @code{,,} benutzt -- es muss sich dabei wirklich um zwei einzelne Apostrophen und nicht um das Anführungszeichen @code{"}@tie{} (Taste Shift+2) handeln! Auch die Anfangsoktave für einen @w{@code{\relative c'}}-Abschnitt kann so verändert werden. @subheading Durations (rhythms) @cindex Notendauern @cindex Dauern @cindex Rhythmus @cindex Ganze Noten @cindex Halbe Noten @cindex Viertelnoten @cindex punktierte Noten Glossar: @rglos{beam}, @rglos{duration}, @rglos{whole note}, @rglos{half note}, @rglos{quarter note}, @rglos{dotted note}. Die @notation{Dauer} einer Note wird durch eine Zahl bezeichnet, die direkt auf den Notennamen folgend eingegeben wird. @code{1} für eine @notation{ganze Note}, @code{2} für eine @notation{halbe Note}, @code{4} für eine @notation{Viertelnote} und so weiter. @notation{Notenhälse} und @notation{Balken} werden automatisch hinzugefügt. Wenn keine Dauer bezeichnet wird, wird die der vorhergehenden Note verwendet. Für die erste Note ist eine Viertel als Standard definiert. @lilypond[verbatim,quote] \relative c'' { a1 a2 a4 a8 a a16 a a a a32 a a a a64 a a a a a a a a2 } @end lilypond Um @notation{punktierte Noten} zu erzeugen, wird einfach ein Punkt @code{.} hinter die Notendauer geschrieben. Die Dauer einer punktierten Note muss explizit, also inklusive der Nummer, angegeben werden. @lilypond[verbatim,quote] \relative c'' { a a a4. a8 a8. a16 a a8. a8 a4. } @end lilypond @subheading Rests @cindex Pausen @cindex schreiben von Pausen @cindex notieren von Pausen Eine @notation{Pause} wird genauso wie eine Noten eingegeben; ihre Bezeichnung ist @code{r}@tie{}: @lilypond[verbatim,quote] \relative c'' { a r r2 r8 a r4 r4. r8 } @end lilypond @subheading Time signature @cindex Taktart @funindex \time @funindex time Glossar: @rglos{time signature}. Die @notation{Taktart} kann mit dem @code{\time}-Befehl definiert werden: @lilypond[verbatim,quote] \relative c'' { \time 3/4 a4 a a \time 6/8 a4. a \time 4/4 a4 a a a } @end lilypond @subheading Clef @cindex Schlüssel @cindex Alt @cindex Sopran @cindex Tenor @cindex Bass @funindex \clef @funindex clef Glossar: @rglos{time signature}. Der @notation{Notenschlüssel} kann mit dem @code{\clef}-Befehl gesetzt werden: @lilypond[verbatim,quote] \relative c' { \clef treble c1 \clef alto c1 \clef tenor c1 \clef bass c1 } @end lilypond @subheading All together Hier ist ein kleines Beispiel, dass all diese Definitionen beinhaltet: @lilypond[verbatim,quote] \relative c, { \time 3/4 \clef bass c2 e8 c' g'2. f4 e d c4 c, r4 } @end lilypond @seealso Notationsreferenz: @ruser{Writing pitches}, @ruser{Writing rhythms}, @ruser{Writing rests}, @ruser{Time signature}, @ruser{Clef}. @node Working on input files @subsection Working on input files @cindex geschweifte Klammern @cindex Klammern, geschweift @cindex Kommentare @cindex Zeilenkommentare @cindex Block-Kommentare @cindex Groß- und Kleinschreibung @cindex Ausdrücke @cindex Großbuchstaben @cindex Kleinbuchstaben @funindex { ... } @funindex % @funindex %@{ ... %@} LilyPonds Quelldateien ähneln Dateien in den meisten Programmiersprachen: Es ist auf Groß- und Kleinschreibung zu achten und Leerzeichen werden ignoriert. Ausdrücke werden mit geschweiften Klammern @{ @} eingeklammert und Kommentare mit dem Prozentzeichen @code{%} auskommentiert oder mit @code{%@{ ... %@}} umgeben. Wenn das jetzt unverständlich erscheint, sind hier die Erklärungen: @itemize @item @strong{Groß- und Kleinschreibung:} Die Bedeutung eines Zeichens verändert sich, je nachdem, ob es groß (@w{@code{A, B, S, T}}) oder klein (@w{@code{a, b, s, t}}) geschrieben wird. Noten müssen immer klein geschrieben werden, @w{@code{@{ c d e @}}} funktioniert, während @w{@code{@{ C D E @}}} einen Fehler produziert. @item @strong{Leerzeichen:} Es spielt keine Rolle, wie viele Leerzeichen oder leere Zeilen sich zwischen den Zeichen der Quelldatei befinden. @w{@code{@{ c d e @}}} bedeutet das Gleiche wie @w{@code{@{ c @ @ @ @ @ d e @}}} oder @example @{ c d e @} @end example @noindent Natürlich ist das letzte Beispiel etwas schwer zu lesen. Eine gute Daumenregel ist es, Code-Blöcke mit der Tab-Taste oder zwei Leerzeichen einzurücken: @example @{ c d e @} @end example @item @strong{Ausdrücke:} Auch der kleinste Abschnitt an LilyPond-Code muss in @strong{@{ geschweifte Klammern @}} eingeschlossen werden. Diese Klammern zeigen LilyPond an, dass es sich um einen zusammengehörenden musikalischen Ausdruck handelt, genauso wie Klammern @q{()} in der Mathematik. Die Klammern sollten von jeweils einem Leerzeichen umgeben sein, um Zweideutigkeiten auszuschließen, es sei denn, sie befinden sich am Anfang oder Ende einer Zeile. Ein LilyPond-Befehl gefolgt von einem einfachen Ausdruck in Klammern (wie etwa @code{\relative @{ @}}) wird auch als ein einzelner Musikausdruck gewertet. @item @strong{Kommentare:} Ein Kommentar ist eine Bemerkung für den menschlichen Leser einer Quelldatei, es wird bei der Dateianalyse durch das Programm ignoriert, so dass es also keine Auswirkung auf die Druckausgabe der Noten hat. Es gibt zwei verschiedene Typen von Kommentaren. Das Prozentzeichen @q{%} geht einem Zeilen-Kommentar voraus: Alles nach diesem Zeichen wird in dieser Zeile ignoriert. Üblicherweise wird ein Kommentar @emph{über} dem Code gesetzt, auf den es sich bezieht. @example a4 a a a % Dieser Kommentar bezieht sich auf das H b2 b @end example Ein Block-Kommentar ist ein ganzer Abschnitt mit einem Kommentar. Alles, was von @code{%@{} und @code{%@}} umgeben ist, wird ignoriert. Das heißt, dass sich ein Block-Kommentar nicht ein einem anderen Blockkommentar befinden kann. Wenn Sie das versuchen sollten, beendet schon das erste @code{%@}} @emph{beide} Block-Kommentare. Das folgende Beispiel zeigt eine mögliche Anwendung von Kommentaren: @example % Noten für twinkle twinkle hier c4 c g' g a a g2 %@{ Diese Zeilen, und die Noten unten werden ignoriert, weil sie sich in einem Block-Kommentar befinden. f f e e d d c2 %@} @end example @end itemize @node How to read the manual @subsection How to read the manual @cindex Handbuch, Lesen @cindex Wie soll das Handbuch gelesen werden @cindex Lesen des Handbuchs @cindex Beispiele, klickbar @cindex klickbare Beispiele @cindex Vorlagen @cindex Templates @cindex Dateien konstruieren, Hinweise @cindex Konstruieren von Dateien, Hinweise @cindex Hinweise zur Konstruktion von Dateien LilyPond-Code muss immer von @{ @} Zeichen oder einem @code{@w{\relative c'' @{ ... @}}} umgeben sein, wie gezeigt in @ref{Working on input files}. Im Rest dieses Handbuchs werden die meisten Beispiel allerdings darauf verzichten. Um sie zu reproduzieren, können Sie den entsprechenden Quellcode kopieren und in eine Textdatei einfügen, aber Sie @strong{müssen} dabei @code{@w{\relative c'' @{ @}}} einfügen, wie hier gezeigt: @example \relative c'' @{ ... hier das Beispiel ... @} @end example Warum werden die Klammern hier meist weggelassen? Die meisten der Beispiele können in ein längeres Musikstück hineinkopiert werden, und dann ist es natürlich nicht sinnvoll, wenn auch noch @code{@w{\relative c'' @{ @}}} dazukommt; ein @code{\relative} darf nicht innerhalb eines anderen @code{\relative} gesetzt werden, deshalb wird es hier weggelassen, damit die Beispiele auch innerhalb eines anderen Kontextes funktionieren. Wenn bei jedem Beispiel @code{@w{\relative c'' @{ @}}} eingesetzt würde, könnten Sie die kleinen Beispiele der Dokumentation nicht einfach zu Ihrem eigenen Notentext hinzufügen. Die meisten Benutzer wollen Noten zu einer schon bestehenden Datei irgendwo in der Mitte hinzufügen, deshalb wurde der relative Modus für die Beispiele im Handbuch weggelassen. @subheading Clickable examples Viele Leute lernen Programme, indem sie einfach herumprobieren. Das geht auch mit LilyPond. Wenn Sie in der HTML-Version dieses Handbuchs eine Abbildung anklicken, erhalten sie exakt den LilyPond-Code, der zum Satz der Abbildung benutzt wurde. Versuchen Sie es mit dieser Abbildung: @c no verbatim here @c KEEP LY @lilypond[quote] \relative c'' { c-\markup { \bold \huge { Hier klicken! } } } @end lilypond Wenn Sie einfach alles kopieren, was im @qq{ly snippet}-Abschnitt steht, und in eine Text-Datei einfügen, haben Sie schon eine fertige Vorlage für weitere Experimente. Damit Sie genau das gleiche Erscheinungsbild wie bei dem Beispiel selber erreichen, müssen Sie alles kopieren ab der Zeile @qq{Start cut-&-pastable section} bis ganz zum Ende der Datei. @seealso Mehr Hinweise dazu, wie LilyPond-Eingabedateien konstruiert werden sollten, finden sich in @ref{Suggestions for writing LilyPond input files}. Es ist aber wahrscheinlich am Besten, zuerst die gesamte Übung zu lesen. @node Single staff notation @section Single staff notation Dieses Kapitel lehrt grundlegende Bestandteile der Notation, die für eine Stimme auf einem System gebraucht werden. @menu * Accidentals and key signatures:: * Ties and slurs:: * Articulation and dynamics:: * Adding text:: * Automatic and manual beams:: * Advanced rhythmic commands:: @end menu @node Accidentals and key signatures @subsection Accidentals and key signatures @subheading Accidentals @cindex Versetzungszeichen @cindex Akzidentien @cindex Kreuz @cindex Doppelkreuz @cindex B @cindex Doppel-B @funindex es @funindex is @funindex eses @funindex isis Glossar: @rglos{sharp}, @rglos{flat}, @rglos{double sharp}, @rglos{double flat}, @rglos{accidental}. Ein @notation{Kreuz}-Versetzungszeichen@footnote{In der Umgangssprache werden die Versetzungszeichen häufig auch Vorzeichen genannt. In diesem Handbuch wird jedoch zwischen Vorzeichen zur generellen Angabe der Tonart und den Versetzungszeichen, die direkt im Notentext erscheinen, unterschieden.} wird eingegeben, indem an den Notennamen ein @q{is} gehängt wird, ein @notation{B}-Versetzungszeichen durch Anhängen von @q{es}. Logischerweise wird dann ein @notation{Doppelkreuz} oder @notation{Doppel-B} durch Anhängen von @q{isis} oder @q{eses} geschrieben. Diese Syntax stammt aus der Tradition der germanischen Sprachen und ist also für deutsche Benutzer kein Problem. Es ist aber möglich, die Namen für die @notation{Versetzungszeichen} in anderen Sprachen zu benutzen, siehe @ruser{Note names in other languages}. @lilypond[verbatim,quote,relative=2] cis1 ees fisis, aeses @end lilypond @subheading Key signatures @cindex Tonart, Einstellung von @cindex Vorzeichen @cindex Dur @cindex Moll @cindex Vorzeichen und Versetzungszeichen @cindex Inhalt & Darstellung @cindex Darstellung & Inhalt @funindex \key @funindex key @funindex \major @funindex major @funindex \minor @funindex minor Glossar: @rglos{key signature}, @rglos{major}, @rglos{minor}. Die @notation{Tonart} eines Stückes wird erstellt mit dem Befehl @code{\key}, gefolgt von einer Notenbezeichnung und @code{\major} (für Dur) oder @code{\minor} (für Moll). @lilypond[verbatim,quote,relative=2] \key d \major a1 \key c \minor a @end lilypond @smallspace @subheading Warning: key signatures and pitches Glossar: @rglos{accidental}, @rglos{key signature}, @rglos{pitch}, @rglos{flat}, @rglos{natural}, @rglos{sharp}, @rglos{transposition}. Um zu bestimmen, ob vor einer bestimmten Note ein Versetzungszeichen erscheinen soll, untersucht LilyPond die Notenhöhen und die Tonart. Die Tonart beeinflusst nur die @emph{gedruckten} Versetzungszeichen, nicht die wirklichen Tonhöhen! Diese Besonderheit scheint am Anfang oft verwirrend, so dass sie hier etwas genauer betrachtet wird. LilyPond unterscheidet strickt zwischen dem musikalischen Inhalt und dem Satz (Layout). Die Alteration (@notation{B}, @notation{Kreuz} oder @notation{Auflösungszeichen}) einer Note gehört zur Tonhöhe dazu und ist deshalb musikalischer Inhalt. Ob ein Versetzungszeichen (also ein @emph{gedrucktes} Kreuz, b oder Auflösungszeichen) auch vor der Note erscheint, hängt vom Kontext, also vom Layout ab. Das Layout gehorcht bestimmten Regeln, und Versetzungszeichen werden automatisch nach diesen Regeln gesetzt. Die Versetzungszeichen im fertigen Notenbild sind nach den Regeln des Notensatzes gesetzt. Deshalb wird automatisch entschieden, wo sie erscheinen, und man muss den Ton eingeben, den man @emph{hören} will. In diesem Beispiel @lilypond[verbatim,quote,relative=2] \key d \major d cis fis @end lilypond @noindent hat keine der Noten ein Versetzungszeichen, trotzdem muss im Quelltext das @q{is} für @code{cis} und @code{fis} notiert werden. Der Code @q{e} heißt also nicht: @qq{Zeichne einen schwarzen Punkt auf die erste Linie des Systems.} Im Gegenteil, er heißt vielmehr: @qq{Hier soll eine Note mit der Tonhöhe E gesetzt werden.} In der Tonart As-Dur @emph{bekommt} sie ein Versetzungszeichen: @lilypond[verbatim,quote,relative=1] \key aes \major e @end lilypond Alle diese Versetzungszeichen ausdrücklich zu schreiben, bedeutet vielleicht etwas mehr Schreibarbeit, hat aber den großen Vorteil, dass @notation{Transpositionen} sehr viel einfacher gemacht wird und der Druck von Versetzungszeichen nach unterschiedlichen Regeln erfolgen kann. Siehe @ruser{Automatic accidentals} für einige Beispiele, wie Vorzeichen anhand von unterschiedlichen Regeln ausgegeben werden können. @seealso Notationsreferenz: @ruser{Note names in other languages}, @ruser{Accidentals}, @ruser{Automatic accidentals}, @ruser{Key signature}. Glossar: @rglos{Pitch names}. @node Ties and slurs @subsection Ties and slurs @cindex Legatobögen @cindex Bögen, Legato @cindex Bindebögen @cindex Phrasierungsbögen @cindex Legatobögen, Phrasierung @funindex ~ @funindex ( ... ) @funindex \( ... \) @subheading Ties Glossar: @rglos{tie}. Ein @notation{Bindebogen} wird geschrieben, indem man eine Tilde @code{~} an die erste der zu verbindenden Noten hängt. @lilypond[verbatim,quote,relative=2] g4~ g c2~ c4 ~ c8 a8 ~ a2 @end lilypond @subheading Slurs Glossar: @rglos{slur}. Ein @notation{Legatobogen} ist ein Bogen, der sich über mehrere Noten erstreckt. Seine Beginn- und Endnote werden mit @q{(} beziehungsweise @q{)} markiert. @lilypond[verbatim,quote,relative=2] d4( c16) cis( d e c cis d) e( d4) @end lilypond @subheading Phrasing slurs Glossar: @rglos{slur}, @rglos{phrasing}. Bögen, die längere Phrasierungseinheiten markieren (Phrasierungsbögen), werden mit @code{\(} und @code{\)} eingegeben. Es können sowohl Legato- als auch Phrasierungsbögen gleichzeitig vorkommen, aber es kann nicht mehr als jeweils einen Legato- und einen Phrasierungsbogen gleichzeitig geben. @lilypond[verbatim,quote,relative=2] a8(\( ais b c) cis2 b'2 a4 cis,\) @end lilypond @sp 1 @cindex Binde- versus Legatobogen @subheading Warnings: slurs vs. ties Glossar: @rglos{articulation}, @rglos{slur}, @rglos{tie}. Ein Legatobogen sieht aus wie ein @rglos{tie}, hat aber eine andere Bedeutung. Ein Bindebogen verlängert nur die vorhergehende Note und kann also nur bei zwei Noten gleicher Tonhöhe benutzt werden. Legatobögen dagegen zeigen die Artikulation von Noten an und können für größere Notengruppen gesetzt werden. Binde- und Legatobögen können geschachtelt werden. @lilypond[verbatim,quote,relative=2] c2~( c8 fis fis4 ~ fis2 g2) @end lilypond @seealso Notationsreferenz: @ruser{Ties}, @ruser{Slurs}, @ruser{Phrasing slurs}. @node Articulation and dynamics @subsection Articulation and dynamics @subheading Articulations @cindex Artikulation @cindex Akzente @cindex Staccato Glossar: @rglos{articulation}. Übliche @notation{Artikulationszeichen} können durch Anfügen von Minus (@q{-}) und einem entsprechenden Zeichen eingegeben werden: @lilypond[verbatim,quote,relative=2] c-. c-- c-> c-^ c-+ c-_ @end lilypond @subheading Fingerings @cindex Fingersatz @funindex ^ @funindex _ Glossar: @rglos{fingering}. Auf gleiche Weise können Fingersatzbezeichnungen hinzugefügt werden, indem nach dem Minus (@q{-}) eine Zahl geschrieben wird: @lilypond[verbatim,quote,relative=2] c-3 e-5 b-2 a-1 @end lilypond Artikulationszeichen und Fingersätze werden normalerweise automatisch platziert, aber man kann ihre Position auch vorgeben durch die Zeichen @q{^} (oben) oder @q{_} (unten) anstelle des Minuszeichen. An eine Note können auch mehrfache Artikulationszeichen gehängt werden. Meistens findet aber LilyPond alleine die beste Möglichkeit, wie die Artikulationen platziert werden sollen. @lilypond[verbatim,quote,relative=2] c_-^1 d^. f^4_2-> e^-_+ @end lilypond @subheading Dynamics @cindex Dynamik @cindex Crescendo @cindex Lautstärke @cindex Decrescendo @funindex \f @funindex \ff @funindex \mp @funindex \p @funindex \mf @funindex \pp @funindex \< @funindex < @funindex \> @funindex > @funindex \! @funindex ! Glossar: @rglos{dynamics}, @rglos{crescendo}, @rglos{decrescendo}. Die Dynamik innerhalb eines Stückes wird eingegeben, indem man die Markierungen (mit einem Backslash) an die Note hängt: @lilypond[verbatim,quote,relative=2] c\ff c\mf c\p c\pp @end lilypond @notation{Crescendi} und @notation{Decrescendi} werden mit dem Befehl @code{\<} beziehungsweise @code{\>} begonnen. Das nächste absolute Dynamik-Zeichen, etwa @code{\f}, beendet das (De)Crescendo. Auch mit dem Befehl @code{\!} kann es explizit beendet werden. @lilypond[verbatim,quote,relative=2] c2\< c2\ff\> c2 c2\! @end lilypond @seealso Notationsreferenz: @ruser{Articulations and ornamentations}, @ruser{Fingering instructions}, @ruser{Dynamics}. @node Adding text @subsection Adding text @cindex Text, einfügen @cindex Einfügen von Text @cindex Hinzufügen von Text @cindex Textbeschriftung @cindex markup @funindex \markup @funindex markup Text können Sie auf folgende Art in die Partitur einfügen: @lilypond[verbatim,quote,relative=2] c1^"espr" a_"legato" @end lilypond Zusätzliche Formatierung kann eingesetzt werden, wenn Sie den @code{\markup}-Befehl benutzen: @lilypond[verbatim,quote,relative=2] c1^\markup{ \bold espr} a1_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p } @end lilypond @seealso Notationsreferenz: @ruser{Writing text}. @node Automatic and manual beams @subsection Automatic and manual beams @cindex Balken, manuell @cindex automatische Balken @cindex Balken, automatisch @cindex manuelle Balken @funindex [ ... ] @funindex [ @funindex ] @funindex \autoBeamOff @funindex autoBeamOff @funindex \autoBeamOn @funindex autoBeamOn Alle @notation{Balken} werden automatisch gesetzt: @lilypond[verbatim,quote,relative=2] a8 ais d ees r d c16 b a8 @end lilypond @noindent Wenn diese automatisch gesetzten Balken nicht gewollt sind, können sie manuell geändert werden. Wenn nur ein Balken hier und da korrigiert werde muss, erhält die Note, an der der Balken anfängt, ein @q{[} (AltGr+8) und die, an der er enden soll, ein @q{]} (AltGr+9). @lilypond[verbatim,quote,relative=2] a8[ ais] d[ ees r d] a b @end lilypond Wenn Sie die automatischen Balken vollständig oder für einen längeren Abschnitt ausschalten wollen, benutzen Sie den Befehl @code{\autoBeamOff}, um die Balken abzuschalten, und @code{\autoBeamOn}, um sie wieder einzuschalten. @lilypond[verbatim,quote,relative=2] \autoBeamOff a8 c b4 d8. c16 b4 \autoBeamOn a8 c b4 d8. c16 b4 @end lilypond @seealso Notationsreferenz: @ruser{Automatic beams}, @ruser{Manual beams}. @node Advanced rhythmic commands @subsection Advanced rhythmic commands @subheading Partial measure @cindex Auftakt @funindex \partial @funindex partial Ein @notation{Auftakt} wird mit dem Befehl @code{\partial} eingegeben. Darauf folgt die Länge des Auftaktes: @code{\partial 4} heißt eine Viertelnote Auftakt und @code{\partial 8} eine Achtelnote. @lilypond[verbatim,quote,relative=2] \partial 8 f8 c2 d @end lilypond @subheading Tuplets @cindex N-tolen @cindex Triolen @cindex Rhythmische Aufteilungen @funindex \times @funindex times Glossar: @rglos{note value}, @rglos{triplet}. @notation{Triolen} und @notation{N-tolen} werden mit dem @code{\times}-Befehl erzeugt. Er braucht zwei Argumente: einen Bruch und die Noten, auf die er sich bezieht. Die Dauer des Abschnittes wird mit dem Bruch multipliziert. In einer Triole dauern die Noten 2/3 ihrer normalen Länge, also hat eine Triole 2/3 als Bruch: @lilypond[verbatim,quote,relative=2] \times 2/3 { f8 g a } \times 2/3 { c r c } \times 2/3 { f,8 g16[ a g a] } \times 2/3 { d4 a8 } @end lilypond @subheading Grace notes @cindex Verzierungen @cindex Vorschlag @cindex Vorhalt @funindex \grace @funindex grace @funindex \acciaccatura @funindex acciaccatura @funindex \appoggiatura @funindex acciaccatura Glossar: @rglos{grace notes}, @rglos{acciaccatura}, @rglos{appoggiatura}. Verzierungen werden mit dem Befehl @code{\grace} eingegeben, Vorhalte durch den Befehl @code{\appoggiatura} und Vorschläge mit @code{\acciaccatura}. @lilypond[verbatim,quote,relative=2] c2 \grace { a32[ b] } c2 c2 \appoggiatura b16 c2 c2 \acciaccatura b16 c2 @end lilypond @seealso Notationsreferenz: @ruser{Grace notes}, @ruser{Tuplets}, @ruser{Upbeats}. @node Multiple notes at once @section Multiple notes at once In diesem Kapitel wird gezeigt, wie mehr als eine Note zur gleichen Zeit gesetzt werden kann: auf unterschiedlichen Systemen für verschiedene Instrumente oder für ein Instrument (z. B. Klavier) und in Akkorden. Polyphonie nennt man in der Musik das Vorkommen von mehr als einer Stimme in einem Stück. Polyphonie bzw. Mehrstimmigkeit heißt für LilyPond allerdings das Vorkommen von mehr als einer Stimme pro System. @menu * Music expressions explained:: * Multiple staves:: * Staff groups:: * Combining notes into chords:: * Single staff polyphony:: @end menu @node Music expressions explained @subsection Music expressions explained @cindex Musikalischer Ausdruck @cindex Ausdruck @cindex zusammengesetzter musikalischer Ausdruck In LilyPond-Quelldateien wird Musik durch @emph{musikalische Ausdrücke} dargestellt. Eine einzelne Note ist ein musikalischer Ausdruck. @lilypond[verbatim,quote,relative=2] a4 @end lilypond Eine Gruppe von Noten innerhalb von Klammern bildet einen neuen Ausdruck. Dieser ist nun ein @emph{zusammengesetzter musikalischer Ausdruck}. Hier wurde solch ein zusammengesetzter musikalischer Ausdruck mit zwei Noten erstellt: @lilypond[verbatim,quote,relative=2] { a4 g4 } @end lilypond Wenn eine Gruppe von musikalischen Ausdrücken (also beispielsweise Noten) in geschweifte Klammern gesetzt wird, bedeutet das, dass eine Gruppe nach der anderen gesetzt wird. Das Resultat ist ein neuer musikalischer Ausdruck. @lilypond[verbatim,quote,relative=2] { { a4 g } f g } @end lilypond @subheading Analogy: mathematical expressions Die Anordnung von Ausrücken funktioniert ähnlich wie mathematische Gleichungen. Eine längere Gleichung entsteht durch die Kombination kleinerer Gleichungen. Solche Gleichungen werden auch Ausdruck genannt und ihre Definition ist rekursiv, sodass beliebig komplexe und lange Ausdrücke erstellt werden können. So etwa hier: @example 1 1 + 2 (1 + 2) * 3 ((1 + 2) * 3) / (4 * 5) @end example Das ist eine Folge von (mathematischen) Ausdrücken, in denen jeder Ausdruck in dem folgenden (größeren) enthalten ist. Die einfachsten Ausdrücke sind Zahlen, und größere werden durch die Kombination von Ausdrücken mit Hilfe von Operatoren (wie @q{+}, @q{*} und @q{/}) sowie Klammern. Genauso wie mathematische Ausdrücke können auch musikalische Ausdrücke beliebig tief verschachtelt werden. Das wird benötigt für komplexe Musik mit vielen Stimmen. @subheading Simultaneous music expressions: multiple staves @cindex mehrere Systeme @cindex Notensysteme, mehrere @cindex Polyphonie @cindex Mehrstimmigkeit @cindex parallele Ausdrücke @cindex Ausdrücke, parallel @cindex relative Noten und simulatane Musik @cindex gleichzeitige Noten und relativer Modus @funindex << @funindex >> @funindex << ... >> Glossar: @rglos{polyphony}. Mit dieser Technik kann @notation{polyphone} Musik gesetzt werden. Musikalische Ausdrücke werden einfach parallel kombiniert, damit sie gleichzeitig als eigene Stimmen in dem gleichen Notensystem gesetzt werden. Um anzuzeigen, dass an dieser Stelle gleichzeitige Noten gesetzt werden, muss nur ein Kombinationszeichen eingefügt werden. Parallel werden musikalische Ausdrücke kombiniert, indem man sie mit @code{<<} und @code{>>} einrahmt. Im folgenden Beispiel sind drei Ausdrücke (jeder mit zwei Noten) parallel kombiniert: @lilypond[verbatim,quote] \relative c'' { << { a4 g } { f e } { d b } >> } @end lilypond Es ist noch zu bemerken, dass wir hier für jede Ebene innerhalb der Quelldatei eine andere Einrückung geschrieben haben. Für LilyPond spielt es keine Rolle, wie viele Leerzeichen am Anfang einer Zeile sind, aber für Menschen ist es eine große Hilfe, sofort zu sehen, welche Teile des Quelltextes zusammen gehören. @warning{Jede Note ist relativ zu der vorhergehenden in der Datei, nicht relativ zu dem zweigestrichenen C (@code{c''}), das im @code{@bs{}relative}-Befehl angegeben ist. Die Klammern haben darauf keinen Einfluss.} @subheading Simultaneous music expressions: single staff Um die Anzahl der Notensysteme zu bestimmen, analysiert LilyPond den Anfang des ersten Ausdrucks. Wenn sich hier eine einzelne Note befindet, wird nur ein System gesetzt, wenn es sich um eine parallele Anordnung von Ausdrücken handelt, wird mehr als ein System gesetzt. Das folgende Beispiel beginnt mit einer Note: @lilypond[verbatim,quote] \relative c'' { c2 <> << { e f } { c <> } >> } @end lilypond @node Multiple staves @subsection Multiple staves @cindex mehrere Systeme @cindex Systeme, mehrere @cindex Kontext @cindex Notationskontext @funindex \new Staff @funindex new Staff @funindex Staff @funindex \new @funindex new @funindex Score @funindex Voice @funindex Lyrics @funindex ChordNames Wie wir in @ref{Music expressions explained} gesehen haben, sind LilyPond-Quelldateien aus musikalischen Ausdrücken konstruiert. Wenn die Noteneingabe mit parallelen Ausdrücken beginnt, werden mehrere Notensysteme erstellt. Es ist aber sicherer und einfacherer zu verstehen, wenn diese Systeme explizit erstellt werden. Um mehr als ein System zu schreiben, wird jedem Notenausdruck, der in einem eigenen System stehen soll, der Befehl @code{\new Staff} vorne angefügt. Diese @code{Staff} (engl. für Notensystem)-Elemente werden dann parallel angeordnet mit den @code{<<} und @code{>>}-Zeichen: @lilypond[verbatim,quote] \relative c'' { << \new Staff { \clef treble c } \new Staff { \clef bass c,, } >> } @end lilypond Der Befehl @code{\new} beginnt einen neuen @qq{Notationskontext}. Ein solcher Notationskontext ist eine Umgebung, in der musikalische Ereignisse (wie Noten oder @code{\clef} (Schlüssel)-Befehle) interpretiert werden. Für einfache Stücke werden diese Umgebungen automatisch erstellt. Für kompliziertere Musik ist es aber am besten, die Umgebungen explizit zu erstellen. Es gibt verschiedene Kontext-Typen. @code{Score} (Partitur), @code{Staff} (Notensystem) und @code{Voice} (Stimme) verarbeiten die Eingabe von Noten, während die @code{Lyrics} (Text)-Umgebung zum Setzen von Liedtexten und die @code{ChordNames} (Akkordbezeichnungs)-Umgebung für Akkordsymbole verwendet wird. Indem @code{\new} vor einen musikalischen Ausdruck gesetzt wird, wird ein größerer Ausdruck erstellt. In diesem Sinne erinnert die Syntax des @code{\new}-Befehls an das Minuszeichen in der Mathematik. Genauso wie @math{(4+5)} ein Ausdruck ist, der durch @math{-(4+5)} zu einem größeren Ausdruck erweitert wurde, werden auch musikalische Ausdrücke durch den @code{\new}-Befehl erweitert. Die Taktangabe, die in einem einzelnen System angegeben wird, wirkt sich auf alle anderen System aus. Die Angabe der Tonart in einem System hingegen beeinflusst @emph{nicht} die Tonart der anderen Systeme. Dieses Verhalten ist darin begründet, dass Partituren mit transponierenden Instrumenten häufiger sind als Partituren mit unterschiedlichen Taktarten. @lilypond[verbatim,quote] \relative c'' { << \new Staff { \clef treble \key d \major \time 3/4 c } \new Staff { \clef bass c,, } >> } @end lilypond @node Staff groups @subsection Staff groups @cindex Akkolade @cindex System für Klavier @cindex Notensystem für Klavier @cindex Notensystem für Chor @cindex Partitur für Chor @cindex Systemwechsel, manuell @cindex Wechsel zwischen Systemen, manuell @cindex Stimmwechsel zwischen Systemen, manuell @cindex Chorpartitur @cindex Klaviersystem @cindex Partitur @funindex PianoStaff @funindex GrandStaff @funindex ChoirStaff Glossar: @rglos{brace}. Musik für das Klavier wird üblicherweise auf zwei Systemen notiert, die durch eine @notation{geschweifte Klammer} verbunden sind (Akkolade). Um ein derartiges Notensystem zu erstellen, geht man ähnlich vor wie in dem Beispiel aus @ref{Multiple staves}, nur dass der gesamte Ausdruck jetzt in eine @code{PianoStaff}-Umgebung eingefügt wird. @example \new PianoStaff << \new Staff @dots{} \new Staff @dots{} >> >> @end example Hier ein kleines Beispiel: @lilypond[verbatim,quote] \relative c'' { \new PianoStaff << \new Staff { \time 2/4 c4 e g g, } \new Staff { \clef bass c,, c' e c } >> } @end lilypond Andere typische Gruppen von Notensystemen können mit den Befehlen @code{\new StaffGroup} für Orchestersätze und @code{\new ChoirStaff} für ein Chorsystem erstellt werden. Jede dieser Systemgruppen erstellt einen neuen Kontext, der dafür sorgt, dass die Klammern zu Beginn des Systems erstellt werden und der zusätzlich auch darüber entscheidet, ob die Taktlinien nur auf dem System oder auch zwischen System gesetzt werden. @seealso Notationsreferenz: @ruser{Keyboard and other multi-staff instruments}, @ruser{Displaying staves}. @node Combining notes into chords @subsection Combining notes into chords @cindex Akkorde @cindex Notendauer in Akkorden @funindex < @funindex > @funindex < ... > Glossar: @rglos{chord}. Wir haben schon weiter oben gesehen, wie Akkorde ersetellt werden können, indem sie mit spitzen Klammern eingeschlossen und somit als gleichzeitig erklingend markiert werden. Die normale Art, Akkorde zu notieren, ist aber, sie in @emph{einfache} spitze Klammern (@q{<} und @q{>}) einzuschließen. Beachten Sie, dass alle Noten eines Akkordes die gleiche Dauer haben müssen, und diese Dauer wird nach der schließenden Klammer geschrieben. @lilypond[verbatim,quote,relative=2] r4 4 2 @end lilypond Akkorde sind im Grunde gleichwertig mit einfachen Noten: Fast alle Markierungen, die an einfache Noten angehängt werden können, kann man auch an Akkorde hängen. So können Markierungen wie Balken oder Bögen mit den Akkorden kombiniert werden. Sie müssen jedoch außerhalb der spitzen Klammern gesetzt werden. @lilypond[verbatim,quote,relative=2] r4 8[ ]~ 2 r4 8( \> 4 \!) @end lilypond @node Single staff polyphony @subsection Single staff polyphony @cindex Mehrstimmigkeit @cindex mehrere Stimmen @cindex Stimmen, mehrere in einem System @cindex unsichtbare Noten @cindex Platzhalternoten @cindex Noten, unsichtbar @funindex << ... \\ ... >> @funindex << @funindex \\ @funindex >> Wenn unterschiedliche Melodien oder Stimmen in einem System kombiniert werden sollen, werden sie als @qq{polyphone Stimmen} realisiert: Jede Stimme hat eigene Hälse, Balken und Legatobögen, und die Hälse der oberen Stimme zeigen immer nach oben, während die Hälse der unteren Stimme nach unten zeigen. Diese Art von Notenbild wird erstellt, indem jede Stimme für sich als Abfolge notiert wird (mit @w{@code{@{...@}}}) und diese dann parallel kombiniert werden, indem die einzelnen Stimmen durch @code{\\} voneinander getrennt werden. @lilypond[verbatim,quote,relative=2] << { a4 g2 f4~ f4 } \\ { r4 g4 f2 f4 } >> @end lilypond Für den Satz von mehrstimmigen Stücken kann es auch angebracht sein, unsichtbare Pausen zu verwenden. Hiermit können Stimmen ausgefüllt werden, die gerade nicht aktiv sind. Hier ist das obige Beispiel mit einer unsichtbaren Pause (@q{s}) anstelle einer normalen (@q{r}): @lilypond[verbatim,quote,relative=2] << { a4 g2 f4~ f4 } \\ { s4 g4 f2 f4 } >> @end lilypond @noindent Auch diese Ausdrücke wiederum könne beliebig miteinander kombiniert werden. @lilypond[verbatim,quote,relative=2] << \new Staff << { a4 g2 f4~ f4 } \\ { s4 g4 f2 f4 } >> \new Staff << \clef bass { 1 ~ 4 } \\ { e,,4 d e2 ~ e4} >> >> @end lilypond @seealso Notationsreferenz: @ruser{Simultaneous notes}. @node Songs @section Songs @cindex Gesangstext, schreiben @funindex \addlyrics @funindex addlyrics In diesem Kapitel wird in die Kombination von Musik mit Text eingeführt und die Erstellung einfacher Song-Blätter gezeigt. @menu * Setting simple songs:: * Aligning lyrics to a melody:: * Lyrics to multiple staves:: @end menu @node Setting simple songs @subsection Setting simple songs @cindex Text @cindex Lieder @cindex Liedtext Glossar: @rglos{lyrics}. Hier ist der Beginn eines einfachen Kinderliedes, @notation{Girls and boys come out to play}: @lilypond[verbatim,quote] \relative c'' { \key g \major \time 6/8 d4 b8 c4 a8 d4 b8 g4 } @end lilypond Zu diesen Noten kann Text hinzugefügt werden, indem beide mit dem @code{\addlyrics}-Befehl kombiniert werden. Text wird eingegeben, indem jede Silbe durch ein Leerzeichen getrennt wird. @lilypond[verbatim,quote] << \relative c'' { \key g \major \time 6/8 d4 b8 c4 a8 d4 b8 g4 } \addlyrics { Girls and boys come out to play, } >> @end lilypond Sowohl die Noten als auch der Text sind jeweils in geschweifte Klammern eingefasst, und der gesamte Ausdruck ist zwischen @w{@code{<< ... >>}} positioniert. Damit wird garantiert, dass Text und Noten gleichzeitig gesetzt werden. @node Aligning lyrics to a melody @subsection Aligning lyrics to a melody @cindex Gesangstext, Ausrichten @cindex Ausrichten von Gesangstext @cindex Worte mit mehreren Silben @cindex mehrere Silben in Gesangstext @cindex Melisma @cindex Unterstrich @cindex Bindestrich @cindex Fülllinie Glossar: @rglos{melisma}, @rglos{extender line}. Die nächste Zeile des Kinderliedes lautet: @notation{The moon doth shine as bright as day}. So sieht es notiert aus: @lilypond[verbatim,quote] << \relative c'' { \key g \major \time 6/8 d4 b8 c4 a8 d4 b8 g4 g8 a4 b8 c b a d4 b8 g4. } \addlyrics { Girls and boys come out to play, The moon doth shine as bright as day; } >> @end lilypond Die zusätzlichen Noten sind nicht korrekt an den Noten positioniert. Das Wort @notation{shine} sollte eigentlich zu zwei Noten gesungen werden, nicht nur zu einer. Das wird als @notation{Melisma} bezeichnet, wenn eine Silbe zu mehreren Noten gesungen wird. Es gibt mehrere Möglichkeiten, eine Silbe über mehrere Noten zu erweitern. Die einfachste ist, einen Legatobogen über die betroffenen Noten zu notieren, zu Einzelheiten siehe @ref{Ties and slurs}. @lilypond[verbatim,quote] << \relative c'' { \key g \major \time 6/8 d4 b8 c4 a8 d4 b8 g4 g8 a4 b8 c( b) a d4 b8 g4. } \addlyrics { Girls and boys come out to play, The moon doth shine as bright as day; } >> @end lilypond Die Wörter orientieren sich jetzt richtig an den Noten, aber der automatische Balken für die Noten zu @notation{shine as} sieht nicht richtig aus. Wir können das korrigieren, indem wir die Balkenlänge manuell eingrenzen, damit sie der üblichen Notationsweise für Gesang entspricht. Für Einzelheiten siehe @ref{Automatic and manual beams}. @lilypond[verbatim,quote] << \relative c'' { \key g \major \time 6/8 d4 b8 c4 a8 d4 b8 g4 g8 a4 b8 c([ b]) a d4 b8 g4. } \addlyrics { Girls and boys come out to play, The moon doth shine as bright as day; } >> @end lilypond Alternativ kann das Melisma auch im Text notiert werden, indem für jede Note, die übersprungen werden soll, ein Unterstrich @code{_} im Text geschrieben wird: @lilypond[verbatim,quote] << \relative c'' { \key g \major \time 6/8 d4 b8 c4 a8 d4 b8 g4 g8 a4 b8 c[ b] a d4 b8 g4. } \addlyrics { Girls and boys come out to play, The moon doth shine _ as bright as day; } >> @end lilypond Wenn die letzte Silbe eines Wortes sich über mehrere Noten oder eine sehr lange Note erstreckt, wird üblicherweise eine Fülllinie gesetzt, die sich über alle Noten erstreckt, die zu der Silbe gehören. Diese Fülllinie wird mit zwei Unterstrichen @code{__} notiert. Hier ein Beispiel der ersten drei Takte aus @notation{Didos Klage}, aus Purcells @notation{Dido and Æneas}: @lilypond[verbatim,quote] << \relative c'' { \key g \minor \time 3/2 g2 a bes bes( a) b c4.( bes8 a4. g8 fis4.) g8 fis1 } \addlyrics { When I am laid, am laid __ in earth, } >> @end lilypond Keins der bisherigen Beispiele hat bisher Wörter benutzt, die länger als eine Silbe waren. Solche Wörter werden üblicherweise auf die Noten aufgeteilt, eine Silbe pro Note, mit Bindestrichen zwischen den Silben. Diese Silben werden durch zwei Minuszeichen notiert und von LilyPond als ein zentrierter Bindestrich zwischen den Silben gesetzt. Hier ein Beispiel, das dies und alle anderen Tricks zeigt, mit denen Text an den Noten ausgerichtet werden kann: @c no ragged-right here because otherwise the hyphens get lost, @c but the example is long enough to avoid looking strange. @lilypond[verbatim,quote,noragged-right] << \relative c' { \key g \major \time 3/4 \partial 4 d4 g4 g a8( b) g4 g4 b8( c) d4 d e4 c2 } \addlyrics { A -- way in a __ man -- ger, no __ crib for a bed, __ } >> @end lilypond Einige Texte, besonders in italienischer Sprache, brauchen das Gegenteil: mehr als eine Silbe muss zu einer einzelnen Note gesetzt werden. Das ist möglich, indem die Silben durch einen einzelnen Unterstrich @code{_} zusammengekoppelt werden. Dazwischen dürfen sich keine Leerzeichen befinden, oder indem man die relevanten Silben in Anführungszeichen @code{"} setzt. Hier ein Beispiel aus dem @notation{Figaro} von Rossini, wo die Silbe @notation{al} auf der selben Note wie @notation{go} des Wortes @notation{Largo} in Figaros Arie @notation{Largo al factotum} gesungen werden mus. @c no ragged-right here because otherwise the hyphens get lost, @c but the example is long enough to avoid looking strange. @lilypond[verbatim,quote,noragged-right] << \relative c' { \clef bass \key c \major \time 6/8 c4.~ c8 d b c([ d]) b c d b c } \addlyrics { Lar -- go_al fac -- to -- tum del -- la cit -- tà } >> @end lilypond @seealso Notationsreferenz: @ruser{Vocal music}. @node Lyrics to multiple staves @subsection Lyrics to multiple staves @cindex Gesangstext auf mehreren Systemen Die einfache Lösung mit @code{\addlyrics} kann benutzt werden, um Text zu einem oder mehreren Systemen zu setzen. Hier ein Beispiel aus Händels @notation{Judas Maccabäus}: @lilypond[verbatim,quote] << \relative c'' { \key f \major \time 6/8 \partial 8 c8 c([ bes]) a a([ g]) f f'4. b, c4.~ c4 } \addlyrics { Let flee -- cy flocks the hills a -- dorn, __ } \relative c' { \key f \major \time 6/8 \partial 8 r8 r4. r4 c8 a'([ g]) f f([ e]) d e([ d]) c bes'4 } \addlyrics { Let flee -- cy flocks the hills a -- dorn, } >> @end lilypond Aber Partituren, die komplizierter als dieses Beispiel sind, werden besser notiert, indem man die Systemstruktur von den Noten und dem Gesangstext durch Variablen trennt. Die Benutzung von Variablen wird erklärt im Abschnitt @ref{Organizing pieces with variables}. @seealso Notationsreferenz: @ruser{Vocal music}. @node Final touches @section Final touches Das ist das letzte Kapitel der Übung. Hier soll demonstriert werden, wie man den letzten Schliff an einfachen Stücken anbringen kann. Gleichzeitig dient es als Einleitung zum Rest des Handbuches. @menu * Organizing pieces with variables:: * Version number:: * Adding titles:: * Absolute note names:: * After the tutorial:: @end menu @node Organizing pieces with variables @subsection Organizing pieces with variables @cindex Variable @cindex Bezeichner @cindex Makro @cindex Variablen zuweisen @cindex Variablen benutzen @cindex Zuweisen von Variablen @cindex Variable, erlaubte Zeichen @cindex Zeichen, in Variablen erlaubt Wenn alle die Elemente, die angesprochen wurden, zu größeren Dateien zusammengefügt werden, werden auch die musikalischen Ausdrücke sehr viel größer. In polyphonen Dateien mit vielen Systemen kann das sehr chaotisch aussehen. Das Chaos kann aber deutlich reduziert werden, wenn @code{Variablen} definiert und verwendet werden. Variablen (die auch als Bezeichner oder Makros bezeichnet werden) können einen Teil der Musik aufnehmen. Sie werden wie folgt definiert: @example bezeichneteMusik = @{ @dots{} @} @end example Der Inhalt des musikalischen Ausdrucks @code{bezeichneteMusik} kann dann später wieder benutzt werden, indem man einen Backslash davor setzt (@code{\bezeichneteMusik}), genau wie bei jedem LilyPond-Befehl. @c KEEP LY @lilypond[quote,verbatim] Geige = \new Staff { \relative c'' { a4 b c b } } Cello = \new Staff { \relative c { \clef bass e2 d } } { << \Geige \Cello >> } @end lilypond @noindent In den Namen der Variablen dürfen nur Buchstaben des Alphabets verwendet werden, keine Zahlen oder Striche. Variable müssen @emph{vor} dem eigentlichen musikalischen Ausdruck definiert werden. Sie können dann aber beliebig oft verwendet werden, nachdem sie einmal definiert worden sind. Sie können sogar eingesetzt werden, um später in der Datei eine neue Variable zu erstellen. Damit kann die Schreibarbeit erleichtert werden, wenn Notengruppen sich oft wiederholen. @c KEEP LY @lilypond[verbatim,quote] trioleA = \times 2/3 { c,8 e g } TaktA = { \trioleA \trioleA \trioleA \trioleA } \relative c'' { \TaktA \TaktA } @end lilypond Man kann diese Variablen auch für viele andere Objekte verwenden, etwa: @example Breite = 4.5\cm Name = "Tim" aFünfPapier = \paper @{ paperheight = 21.0 \cm @} @end example Abhängig vom Kontext kann solch ein Bezeichner in verschiedenen Stellen verwendet werden. Das folgende Beispiel zeigt die Benutzung der eben definierten Bezeichner: @example \paper @{ \aFünfPapier line-width = \width @} @{ c4^\Name @} @end example @node Version number @subsection Version number @cindex Update @cindex Neue Version @cindex Dateien aktualisieren @cindex Aktualisieren von Dateien @cindex Versionsnummern @funindex \version @funindex version @funindex convert-ly Der @code{\version}-Befehl zeigt an, welche LilyPond-Version für eine bestimmte Quelldatei benutzt worden ist: @example \version @w{"@version{}"} @end example @noindent Üblicherweise wird dieser Befehl am Anfang der Textdatei eingefügt. Durch diese Versionsmarkierung werden zukünftige Aktualisierungen des LilyPond-Programmes einfacher gemacht. Syntax-Änderungen zwischen den Programmversionen werden von einem speziellen Programm, @command{convert-ly}, vorgenommen. Dieses Programm braucht @code{\version}, um zu entscheiden, welche Regeln angewandt werden müssen. Für Einzelheiten, siehe @rprogram{Updating files with convert-ly}. @node Adding titles @subsection Adding titles @cindex Titel @cindex header @cindex Kopf @cindex Titelei @funindex \header @funindex header Titel, Komponist, Opusnummern und ähnliche Information werden in einer @code{\header}-Umgebung eingefügt. Diese Umgebung befindet sich außerhalb der musikalischen Ausdrücke, meistens wird die @code{\header}-Umgebung direkt nach der @ref{Version number} eingefügt. @example \version @w{"@version{}"} \header @{ title = "Symphony" composer = "Ich" opus = "Op. 9" @} @{ @dots{} Noten @dots{} @} @end example Wenn die Datei übersetzt wird, werden Titel- und Komponisteneinträge über der Musik ausgegeben. Mehr Information über die Titelei findet sich im Kapitel @ruser{Creating titles}. @node Absolute note names @subsection Absolute note names @cindex Notenbezeichnungen @cindex absoluter Modus @cindex absolute Werte für Tonhöhen @cindex Tonhöhen, absolute Werte Bis jetzt haben wir immer @code{\relative} benutzt, um Tonhöhen zu bestimmen. Das ist die einfachste Eingabeweise für die meiste Musik. Es gibt aber noch eine andere Möglichkeit, Tonhöhen darzustellen: durch absolute Bezeichnung. Wenn man das @code{\relative} weglässt, werden alle Tonhöhen von LilyPond als absolute Werte interpretiert. Ein @code{c'} ist dann also immer das eingestrichene C, ein @code{b} ist immer das kleine h unter dem eingestrichenen C, und ein @code{g,} ist immer das große G -- also die Note auf der letzten Linie im Bass-Schlüssel. @lilypond[verbatim,quote] { \clef bass c' b g, g, g, f, f c' } @end lilypond Hier eine Tonleiter über vier Oktaven: @lilypond[verbatim,quote] { \clef bass c, d, e, f, g, a, b, c d e f g a b c' d' \clef treble e' f' g' a' b' c'' d'' e'' f'' g'' a'' b'' c'''1 } @end lilypond Wie leicht zu sehen ist, muss man sehr viele Apostrophe schreiben, wenn die Melodie im Sopranschlüssel notiert ist. Siehe etwa dieses Fragment von Mozart: @lilypond[verbatim,quote] { \key a \major \time 6/8 cis''8. d''16 cis''8 e''4 e''8 b'8. cis''16 b'8 d''4 d''8 } @end lilypond Alle diese Apostrophe machen den Quelltext schlecht lesbar und sind eine mögliche Fehlerquelle. Mit dem @code{\relative}-Befehl ist das Beispiel sehr viel einfacher zu lesen: @lilypond[verbatim,quote] \relative c'' { \key a \major \time 6/8 cis8. d16 cis8 e4 e8 b8. cis16 b8 d4 d8 } @end lilypond Wenn man einen Fehler durch ein Oktavierungszeichen (@code{'} oder @code{,}) im @code{\relative}-Modus macht, ist er sehr schnell zu finden, denn viele Noten sind nacheinander in der falschen Oktave. Im absoluten Modus dagegen ist ein einzelner Fehler nicht so deutlich und deshalb auch nicht so einfach zu finden. Trotz allem ist der absolute Modus gut für Musik mit sehr großen Sprüngen und vor allem für computergenerierte LilyPond-Dateien. @node After the tutorial @subsection After the tutorial Wenn Sie diese Übung absolviert haben, sollten Sie am besten ein paar Stücke selber notieren. Beginnen Sie mit den @ref{Templates} und fügen Sie einfach Ihre Noten dazu. Wenn Sie irgendetwas brauchen, das nicht in der Übung besprochen wurde, schauen Sie sich den Abschnitt Alles über die Notation an, angefangen mit @ruser{Musical notation}. Wenn Sie für ein Instrument oder Ensemble Noten schreiben wollen, für das es keine Vorlage gibt, schauen Sie sich @ref{Extending the templates} an. Wenn Sie ein paar kurze Stücke notiert haben, lesen Sie den Rest des Handbuchs zum Lernen (Kapitel 3--5). Natürlich können Sie auch sofort weiterlesen. Die nächsten Kapitel sind aber mit der Annahme geschrieben, dass Sie die Eingabesprache von LilyPond beherrschen. Sie können die weiteren Kapitel auch überfliegen und dann darauf wieder zurückkommen, wenn Sie einige Erfahrungen im Notieren gewonnen haben. In dieser Übung, genauso wie im gesamten Handbuch zum Lernen, befindet sich ein Abschnitt @strong{Siehe auch} am Ende jedes Abschnittes, wo sich Verweise auf andere Abschnitte befinden. Diesen Verweisen sollten Sie nicht beim ersten Durchlesen folgen; erst wenn Sie das gesamte Handbuch zum Lernen gelesen haben, können Sie bei Bedarf diesen Verweisen folgen, um ein Thema zu vertiefen. Bitte lesen Sie jetzt @ref{About the documentation}, wenn Sie es bisher noch nicht getan haben. Es gibt ungeheuer viel Information über LilyPond, so dass Neulinge sich nicht sofort zurecht finden. Wenn Sie auch nur ein paar Minuten in diesem Abschnitt lesen, können Sie sich Stunden frustrierendes Suchen an der falschen Stelle ersparen!