X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fde%2Fuser%2Ffundamental.itely;h=476f39ead4539440c7456468da2f9c160331def6;hb=58c52ba19b44e3ea54584fb4a076e42d2c568e81;hp=64ce1cbc31662033bf16e9a8efb979a89772d18f;hpb=9afca041a3068199609d98f580ffe2a175b90b0f;p=lilypond.git diff --git a/Documentation/de/user/fundamental.itely b/Documentation/de/user/fundamental.itely index 64ce1cbc31..476f39ead4 100644 --- a/Documentation/de/user/fundamental.itely +++ b/Documentation/de/user/fundamental.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @c This file is part of lilypond-learning.tely @ignore - Translation of GIT committish: 86df5f5861aa3bd43c425064edc5a839a9f4de5b + Translation of GIT committish: 598a7ff07bb4752ea9169e592e3369016f014b57 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @@ -1227,15 +1227,372 @@ ausgegeben. Notationsreferenz: @ruser{Multiple voices}. + @node Voices and vocals @subsection Voices and vocals -@untranslated +Die Notation von Vokalmusik ihre eigene Schwierigkeit, nämlich +die Kombination von zwei Ausdrücken: den Noten und dem Text. +Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt. + + +@funindex \new Lyrics +@funindex \lyricsto +@cindex Lyrics context, erstellen +@cindex Gesangtext, Verbindung mit Noten + +Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet, +mit dem einfache Partituren gut erstellt werden können. +Diese Methode ist jedoch recht eingeschränkt. Wenn der Notensatz +komplexer wird, muss der Gesangstext mit einem neuen +@code{Lyrics}-Kontext begonnen werden (mit dem Befehl +@code{\new Lyrics}) und durch den Befehl @code{\lyricsto@{@}} +mit einer bestimmten Stimme verknüpft werden, indem die +Bezeichnung der Stimme benutzt wird. + +@lilypond[quote,verbatim,fragment] +<< + \new Voice = "one" \relative c'' { + \autoBeamOff + \time 2/4 + c4 b8. a16 g4. f8 e4 d c2 + } + \new Lyrics \lyricsto "one" { + No more let sins and sor -- rows grow. + } +>> +@end lilypond + +Beachten Sie, dass der Notentext nur mit einem @code{Voice}-Kontext +verknüpft werden kann, nicht mit einem @code{Staff}-Kontext. +In diesem Fall also müssen Sie ein System (@code{Staff}) und +eine Stimme (@code{Voice}) explizit erstellen, damit alles +funktioniert. + +@cindex Gesangstext und Balken +@cindex Text und Balken +@cindex Balken und Text +@funindex \autoBeamOff + +Die automatischen Balken, die LilyPond in der Standardeinstellung +setzt, eignen sich sehr gut für instrumentale Musik, aber nicht +so gut für Musik mit Text, wo man entweder gar keine Balken +benutzt oder sie einsetzt, um Melismen zu verdeutlichen. +Im Beispiel oben wird deshalb der Befehl @code{\autoBeamOff} +eingesetzt um die automatischen Balken (engl. beam) auszuschalten. + +@funindex \new ChoirStaff +@funindex \lyricmode +@cindex Vokalpartitur, Aufbau +@cindex Chorpartitur, Aufbau + +Wir wollen das frühere Beispiel von @notation{Judas Maccabæus} +benutzen, um diese flexiblere Technik für Gesangstexte +zu illustrieren. Das Beispiel wurde so umgeformt, dass jetzt +Variablen eingesetzt werden, um den Text und die Noten +von der Partiturstruktur zu trennen. Es wurde zusätzlich +eine Chorpartiturklammer hinzugefügt. Der Gesangtext muss mit +@code{\lyricmode} eingegeben werden, damit er als Text und +nicht als Noten interpretiert werden kann. + +@lilypond[quote,verbatim] +global = { \time 6/8 \partial 8 \key f \major} +SopOneMusic = \relative c'' { + c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 } +SopTwoMusic = \relative c' { + r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' } +SopOneLyrics = \lyricmode { + Let | flee -- cy flocks the | hills a -- dorn, __ } +SopTwoLyrics = \lyricmode { + Let | flee -- cy flocks the | hills a -- dorn, } + +\score { + \new ChoirStaff << + \new Staff << + \new Voice = "SopOne" { + \global + \SopOneMusic + } + \new Lyrics \lyricsto "SopOne" { + \SopOneLyrics + } + >> + \new Staff << + \new Voice = "SopTwo" { + \global + \SopTwoMusic + } + \new Lyrics \lyricsto "SopTwo" { + \SopTwoLyrics + } + >> + >> +} +@end lilypond + +Dies ist die Grundstruktur für alle Chorpartituren. Mehr +Systeme können hinzugefügt werden, wenn sie gebraucht werden, mehr +Stimmen können zu jedem System hinzugefügt werden, mehr +Strophen können zum Text hinzugefügt werden, und schließlich +können die Variablen schnell in eine eigene Datei verschoben +werden, wenn sie zu lang werden sollten. + +@cindex Choralnotation +@cindex Hymnus-Notation + +Hier ein Beispiel der ersten Zeile eines Chorals mit vier +Strophen für gemischten Chor. In diesem Fall ist der Text +für alle vier Stimmen identisch. Beachten Sie, wie die +Variablen eingesetzt werden, um Inhalt (Noten und Text) und Form +(die Partitur) voneinander zu trennen. Eine Variable wurde +eingesetzt, um die Elemente, die auf beiden Systemen auftauchen, +aufzunehmen, nämlich Taktart und Tonart. Solch eine +Variable wird oft auch mit @qq{global} bezeichnet. + +@lilypond[quote,verbatim] +TimeKey = { \time 4/4 \partial 4 \key c \major} +SopMusic = \relative c' { c4 | e4. e8 g4 g | a a g } +AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e } +TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 } +BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 } +VerseOne = \lyricmode { + E -- | ter -- nal fa -- ther, | strong to save, } +VerseTwo = \lyricmode { + O | Christ, whose voice the | wa -- ters heard, } +VerseThree = \lyricmode { + O | Ho -- ly Spi -- rit, | who didst brood } +VerseFour = \lyricmode { + O | Tri -- ni -- ty of | love and pow'r } + +\score { + \new ChoirStaff << + \new Staff << + \clef "treble" + \new Voice = "Sop" { \voiceOne \TimeKey \SopMusic } + \new Voice = "Alto" { \voiceTwo \AltoMusic } + \new Lyrics \lyricsto "Sop" { \VerseOne } + \new Lyrics \lyricsto "Sop" { \VerseTwo } + \new Lyrics \lyricsto "Sop" { \VerseThree } + \new Lyrics \lyricsto "Sop" { \VerseFour } + >> + \new Staff << + \clef "bass" + \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic } + \new Voice = "Bass" { \voiceTwo \BassMusic } + >> + >> +} +@end lilypond + +@cindex Strophe und Refrain +@cindex Refrain + +Dieser Abschnitt schließt mit einem Beispiel, das eine Solo-Strophe +mit anschließendem zweistimmigem Refrain auf zwei Systemen zeigt. +Die Positionierung des einstimmigen Abschnitss und der mehrstimmigen +Stelle ist etwas kompliziert; es braucht etwas Aufmerksamkeit, +um der Erklärung folgen zu können. + +Beginnen wir mit einer @code{score}-Umgebung, in der eine +Chorpartitur (@code{ChoirStaff}) gesetzt wird. Die Partitur soll +schließlich mit der eckigen Klammer beginnen. +Normalerweise bräuchten wir spitze Klammern im Quelltext +nach dem @code{\new ChoirStaff}, damit die Systeme paralell +gesetzt werden, aber hier wollen wir diese Parallelsierung +ja erst nach dem Solo. Also benutzen wir geschweifte Klammern. +Innerhalb der Chorpartitur erstellen wir zuerst das System, +das die Strophe enthält. Es braucht Noten und Text parallel, +also setzen wir hier die spitzen Klammern um @code{\new Voice} +und @code{\new Lyrics}. + +@lilypond[quote,verbatim,ragged-right] +versenotes = \relative c'' { + \clef "treble" + \key g \major + \time 3/4 g g g b b b +} +versewords = \lyricmode { + One two three four five six +} +\score { + \new Choirstaff { + \new Staff << + \new Voice = "verse" { + \versenotes \break + } + \new Lyrics \lyricsto verse { + \versewords + } + >> + } +} +@end lilypond + +@noindent +Damit erhalten wir die Strophe. + +Jetzt soll @notation{refrainA} auf dem selben System gesetzt +werden, während gleichzeitig in einem neuen System darunter +@notation{refrainB} gesetzt wird. Damit die Oberstimme das +gleiche System benutzt, muss alles direkt auf den Zeilenumbruchbefehl +(@code{\break} folgen, innerhalb der @notation{verse}-Stimme. +Ja, tatsächlich, @emph{innerhalb} der @notation{verse}-Stimme. +Hier haben wir diese parallele Stelle isoliert. Weitere Systeme +könnten auf die gleiche Weise hinzugefügt werden. + +@example +<< + \refrainnotesA + \new Lyrics \lyricsto verse @{ + \refrainwordsA + @} + \new Staff << + \new Voice = "refrainB" @{ + \refrainnotesB + @} + \new Lyrics \lyricsto "refrainB" @{ + \refrainwordsB + @} + >> +>> +@end example + +Nun schließlich das Resultat mit zwei Systemen für den Refrain, +man kann gut sehen, wie sich die parallele Stelle innherhalb +der @notation{verse}-Stimme befindet. + +@lilypond[quote,verbatim, ragged-right] +versenotes = \relative c'' { + \clef "treble" + \key g \major + \time 3/4 g g g b b b +} +refrainnotesA = \relative c'' { + \time 2/4 + c c g g \bar "|." +} +refrainnotesB = \relative c { + \clef "bass" + \key g \major + c e d d +} +versewords = \lyricmode { + One two three four five six +} +refrainwordsA = \lyricmode { + la la la la +} +refrainwordsB = \lyricmode { + dum dum dum dum +} +\score { + \new ChoirStaff { + \new Staff << + \new Voice = "verse" { + \versenotes \break + << + \refrainnotesA + \new Lyrics \lyricsto "verse" { + \refrainwordsA + } + \new Staff << + \new Voice = "refrainB" { + \refrainnotesB + } + \new Lyrics \lyricsto "refrainB" { + \refrainwordsB + } + >> + >> + } + \new Lyrics \lyricsto "verse" { + \versewords + } + >> + } +} +@end lilypond + +@cindex book, Benutzung von +@funindex \book + +Dies ist zwar eine interessante und nützliche Übung um zu +verstehen, wie sequentielle und parallele Notationsumgebungen +funktionieren, in der Praxis würde man diesen Code aber +vielleicht eher in zwei @code{\score}-Umgebungen trennnen +und diese dann innerhalb einer @code{\book}-Umgebung +einsetzen, wie im folgenden Beispiel demonstriert: + +@lilypond[quote,verbatim,ragged-right] +versenotes = \relative c'' { + \clef "treble" + \key g \major + \time 3/4 g g g b b b +} +refrainnotesA = \relative c'' { + \time 2/4 + c c g g \bar "|." +} +refrainnotesB = \relative c { + \clef "bass" + \key g \major + c e d d +} +versewords = \lyricmode { + One two three four five six +} +refrainwordsA = \lyricmode { + la la la la +} +refrainwordsB = \lyricmode { + dum dum dum dum +} +\score { + \new Staff << + \new Voice = "verse" { + \versenotes + } + \new Lyrics \lyricsto "verse" { + \versewords + } + >> +} + +\score { + \new ChoirStaff << + \new Staff << + \new Voice = "refrainA" { + \refrainnotesA + } + \new Lyrics \lyricsto "refrainA" { + \refrainwordsA + } + >> + \new Staff << + \new Voice = "refrainB" { + \refrainnotesB + } + \new Lyrics \lyricsto "refrainB" { + \refrainwordsB + } + >> + >> +} +@end lilypond + +@seealso + +Notation Reference: @ruser{Vocal music}. + @node Contexts and engravers @section Contexts and engravers -@untranslated +Kontexte und Engraver (@qq{Stempel}) sind in den vorherigen +Abschnitten schon aufgetaucht; hier wollen wir uns ihnen +nun etwas ausführlicher widmen, denn sie sind sehr +wichtig, um Feineinstellungen in der LilyPond-Notenausgabe +vornehmen zu können. @menu * Contexts explained:: @@ -1248,12 +1605,207 @@ Notationsreferenz: @ruser{Multiple voices}. @node Contexts explained @subsection Contexts explained -@untranslated +@cindex Kontexte erklärt + +Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe +hinzugefügt werden, +die im Quellcode gar nicht explizit vorkommen. Vergleichen Sie +etwa den Quellcode und die Notenausgabe des folgenden Beispiels: + +@lilypond[quote,verbatim,relative=2,fragment] +cis4 cis2. g4 +@end lilypond + +Der Quellcode ist sehr kurz und knapp, während in der +Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und +eine Taktart hinzugefügt wurden. Während LilyPond +den Eingabetext @emph{interpretiert}, wird die +musikalische Information in zeitlicher Reihenfolge +inspiziert, etwa wie man eine Partitur von links nach +rechts liest. Während das Programm den Code liest, +merkt es sich, wo sich Taktgrenzen befinden und +für welche Tonhöhen Versetzungszeichen gesetzt werden +müssen. Diese Information muss auf mehreren Ebenen +gehandhabt werden, denn Versetzungszeichen etwa +beziehen sich nur auf ein System, Taktlinien dagegen +üblicherweise auf die gesamte Partitur. + +Innerhalb von LilyPond sind diese Regeln und +Informationshappen in @emph{Kontexten} (engl. +contexts) gruppiert. Wir sind schon auf den +@code{Voice} (Stimmen)-Kontext gestoßen. Daneben +gibt es noch die @code{Staff} (Notensystem-) und +@code{Score} (Partitur-) Kontexte. Kontexte sind +hierarchisch geschichtet um die hierarchische +Struktur einer Partitur zu spiegeln. Ein @code{Staff}-Kontext +kann zum Beispiel viele @code{Voice}-Kontexte beinhalten, +und ein @code{Score}-Kontext kann viele +@code{Staff}-Kontexte beinhalten. + +@quotation +@sourceimage{context-example,5cm,,} +@end quotation + +Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln +zu erzwingen, bestimmte Notationsobjekte zu erstellen und +verbundene Elemente zu ordnen. Der @code{Voice}-Kontext +zum Beispiel kann eine Vorzeichenregel einführen und der +@code{Staff}-Kontext hält diese Regel dann aufrecht, um +einzuordenen, ob ein Versetzungszeichen gesetzt werden +muss oder nicht. + +Ein anderes Beispiel: die Synchronisation der Taktlinien ist +standardmäßig im @code{Score}-Kontext verankert. Manchmal sollen +die Systeme einer Partitur aber unterschiedliche Taktarten +enthalten, etwa in einer polymetrischen Partitur mit +4/4- und 3/4-Takt. In diesem Fall müssen also die Standardeinstellungen +der @code{Score}- und @code{Staff}-Kontexte verändert werden. + +In einfachen Partituren werden die Kontexte implizit erstellt, +und es kann sein, dass Sie sich dessen gar nicht bewusst sind. +Für etwas größere Projekte, etwa mit vielen Systemen, müssen +die Kontexte aber explizit erstellt werden, um sicher zu gehen, +dass man auch wirklich die erwünschte Zahl an Systemen in der +richtigen Reihenfolge erhält. Wenn Stücke mit spezialisierter +Notation gesetzt werden sollen, ist es üblich, die existierenden +Kontexte zu verändern oder gar gänzlich neue zu definieren. + +Zusätzlich zu den @code{Score,} @code{Staff} und +@code{Voice}-Kontexten gibt es noch Kontexte, die zwischen +der Partitur- und Systemebene liegen und Gruppen von Systemen +kontrollieren. Das sind beispielsweise der +@code{PianoStaff} und @code{ChoirStaff}-Kontext. Es gibt zusätzlich +alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte +für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw. + +Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren +englischen +Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben +begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich +angeschlossen, etwa +@code{GregorianTranscriptionStaff}. + +@seealso + +Notationreferenz: @ruser{Contexts explained}. + @node Creating contexts @subsection Creating contexts -@untranslated +@funindex \new +@cindex Neue Kontexte +@cindex Erstellen von Kontexten +@cindex Kontexte, Erstellen + +Es gibt nur einen Kontext der obersten Ebene: der +@code{Score}-Kontext. Er wird mit dem @code{\score}-Befehl, +oder -- in einfacheren Partituren -- automatisch +erstellt. + +Wenn nur ein System vorhanden ist, kann man es ruhig +LilyPond überlassen, die @code{Voice}- und @code{Staff}-Kontexte +zu erstellen, aber für komplexere Partituren ist es notwendig, +sie mit einem Befehl zu erstellen. Der einfachste Befehl +hierzu ist @code{\new}. Er wird dem musikalischen Ausdruck +vorangestellt, etwa so: + +@example +\new @var{Typ} @var{musikalischer Ausdruck} +@end example + +@noindent +wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder +@code{Voice}) ist. Dieser Befehl erstellt einen neuen Kontext und +beginnt, den @var{muskalischen Ausdruck} innherhalb dieses +Kontexts auszuwerten. + +Beachten Sie, dass es keinen @code{\new Score}-Befehl gibt: der +Partitur-Kontext der obersten Ebene wird mit dem Befehl @code{\score} +begonnen. + +Wir haben schon viele explizite Beispiel gesehen, in denen +neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber +um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt +werden, hier ein kommentiertes Beispiel aus dem richtigen Leben: + +@lilypond[quote,verbatim,ragged-right] +\score { % start of single compound music expression + << % start of simultaneous staves section + \time 2/4 + \new Staff { % create RH staff + \key g \minor + \clef "treble" + \new Voice { % create voice for RH notes + \relative c'' { % start of RH notes + d4 ees16 c8. | + d4 ees16 c8. | + } % end of RH notes + } % end of RH voice + } % end of RH staff + \new Staff << % create LH staff; needs two simultaneous voices + \key g \minor + \clef "bass" + \new Voice { % create LH voice one + \voiceOne + \relative g { % start of LH voice one notes + g8 ees, | + g8 ees, | + } % end of LH voice one notes + } % end of LH voice one + \new Voice { % create LH voice two + \voiceTwo + \relative g { % start of LH voice two notes + g4 ees | + g4 ees | + } % end of LH voice two notes + } % end of LH voice two + >> % end of LH staff + >> % end of simultaneous staves section +} % end of single compound music expression +@end lilypond + +(Beachten Sie, dass wir hier alle Zeilen, die eine neue +Umgebung entweder mit einer geschweiften Klammer (@code{@{}) +oder doppelten spitzen Klammern (@code{<<}) öffnen, mit +jeweils zwei Leerzeichen, und die entsprechenden +schließenden Klammern mit der gleichen Anzahl Leerzeichen +eingerückt werden. Dies ist nicht erforderlich, es wird aber +zu einem großen Teil die nicht passenden Klammerpaar-Fehler +eliminieren und ist darum sehr empfohlen. Es macht es +möglich, die Struktur einer Partitur auf einen Blick zu +verstehen, und alle nicht passenden Klammern +erschließen sich schnell. Beachten Sie auch, dass das +untere Notensystem mit eckigen Klammern erstellt wird, +denn innerhalb dieses Systems brauchen wir zwei Stimmen, +um die Noten darzustellen. Das obere System braucht +nur einen einzigen musikalischen Ausdruck und ist deshalb +von geschweiften Klammern umschlossen.) + +@cindex Kontexte, Benennung +@cindex Bennenung von Kontexten + +Der @code{\new}-Befehl kann einem Kontext auch einen +Namen zur Identifikation geben, um ihn von anderen Kontexten des +selben Typs zu unterscheiden: + +@example +\new @var{Typ} = @var{Name} @var{musikalischer Ausdruck} +@end example + +Beachten Sie den Unterschied zwischen der Bezeichnung des +Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem +Namen, der aus beliebigen Buchstaben (@strong{Achtung: keine +Zahlen}) bestehen kann +und vom Benutzer frei erfunden werden kann. Der Name wird +benutzt, um später auf genau diesen spezifischen Kontext +zu verweisen. Dieses Vorgehen wurde schon in dem Abschnitt +zu Gesangstexten angewandt, siehe @ref{Voices and vocals}. + +@seealso + +Notationreferenz: @ruser{Creating contexts}. + @node Engravers explained @subsection Engravers explained