Autor Thema: addlyrics bei Mehrstimmigkeit  (Gelesen 6171 mal)

proceder

  • Member
addlyrics bei Mehrstimmigkeit
« am: Samstag, 15. September 2007, 16:33 »
Halo zusammen,
ich stehe mal wieder vor einem Problem, wo ich Eure Hilfe benötige. Ich habe ein Lied erstellt und möchte nun den Text zufügen. Das Lied ist 2-stimmig. Jedoch will der Text nicht auf einer Zeile funktionieren, ich habe dabei Takte, die komplett in der 2. Stimme liegen, und welche, die in beiden liegen. Anbei der Quelltext zum Testen:
\version "2.11.32"

\paper {
indent = #0
ragged-right = #0
ragged-bottom = ##t
}

\header{
  title = "Freude im Advent"
  composer = "Musik: Hans Naumilkat"
  opus = ""
  poet = "Worte: Erika Engel"
}

\layout {
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
}

\relative c' {
   \clef G
   \key d \major
   \time 4/4
                      
   <<
   { \voiceOne < d fis a > 2\mf fis 4 d
   < d g b > 4.< d g b > 8 a' 4fis
   d fis e d
   < d fis > 1
   < d fis b > 4.< d fis b > 8< fis d' > 4< fis d' >
   cis' b a fis
   < d fis b > 4.< d fis b > 8< fis d' > 4 s4
   < e a cis > < d b' > a' g
   fis\mf a g e
   g b  a 2
   < d, fis b > 4< fis b d > < fis a cis > fis
   < d fis b > < fis b d > s2
   s1
   < fis a d > 1
   }
\addlyrics { Vor -- freu -- de, schön -- ste Freu -- de, Freu -- de im Ad -- vent.  1.Tan -- nen -- grün zum Kranz ge -- wun -- den, ro -- te Bän- drein ge -- bun -- den. Und das er -- ste Licht -- lein brennt, er -- stes Leuch -- ten im Ad- vent! }
   
   \\
   { \voiceTwo s1 s2 d2 b2 b2 a1 s1 eis'2 cis s2 s4 < gis' d' > 4 s2 cis, 2 < d fis > 2 cis2 cis2 d 2 s1 s2 < a' cis e > 2 < a d fis > 4\f < a d > < g b e > < g cis e > }
\addlyrics { \skip 1 \skip 1 \skip 1 \skip 1 \skip 1 \skip 2 der \skip 1 \skip 1 \skip 1 \skip 1 \skip 2 vent, Freu -- de im Ad- }
   >>
      \bar "||"
}

\markup {
\fill-line {
\hspace #0
\column {
\line { \bold "2."
\column {
"Heimlichkeit im frühen Dämmern:"
"Basteln, stricken, rascheln, hämmern."
"Und das zweite Lichtlein brennt. "
"Heimlichkeiten im Advent,"
"Freude im Advent!"
}
}

\hspace #0.1
\line { \bold "4."
\column {
"Kinderstimmen, leise, leise,"
"üben manche frohe Weise."
"Und das vierte Lichtlein brennt."
"Lieder klingen im Advent,"
"Freude im Advent!"}
}
}
\hspace #0
\column {
\line { \bold "3."
\column {
"Was tut Mutti, könnt ihr's raten?"
"Kuchen backen, Äpfel braten."
"Und das dritte Lichtlein brennt."
"Süße Düfte im Advent,"
"Freude im Advent!"}
}
}
}
}


Wie kann ich nun die addlyrics in einer Zeile darstellen? Probiert habe ich es in allen Zeilen der Noten, nach den beiden Stimmen, in jeder Stimme... So wie es jetzt aussieht, klappt es auch nicht richtig, da die zweite Stimme unter der ersten Textzeile erscheint. Irgendwie habe ich da nen Balken vorm Kopf.
Danke.

etilli33

  • Member
Re: addlyrics bei Mehrstimmigkeit
« Antwort #1 am: Sonntag, 16. September 2007, 10:25 »


Bau das mal um in eine zergliederte Datei:

ersteStimme = {\voiceOne ... }

zweiteStimme = {\voiceTwo ... }

ersterText =  { }

Dann schreibst du:

\score {
\new Staff = Lied
  << %Damit die Stimmen gleichzeitig gesetzt werden
    \new Voice = ersteStimme {\ersteStimme }
    \new Voice = zweite Stimme {\zweiteStimme }
  >>
\context Lyrics =
      ersterText \lyricsto ersteStimme { \ersterText}

}

Damit folgt der Text genau den Noten, mit \skip kann jeweils eine Note übersprungen werden, bzw. mit _ wenn ich mich richtig erinnere.
Damit du dann die Stimme an einer Stelle wechseln kannst, kannst du

a) den billigen Trick verwenden: du schreibst die Noten der zweiten Stimme in die erste Stimme, mit \voiceTwo davor, dann wechselst du wieder zur ersten Stimme und umgekehrt für die zweite Stimme.

b) du lässt in der zweiten Stimme mit \skip einige Noten aus und schreibst über einen kurzen Abschnitt << \\ >> in der ersten Stimme, dann schaust du in Kap. 7.3.5.2 und 7.3.5.3 die Tricks nach, die verwendet werden können, um von einer Stimme zur anderen zu wechseln.

Es ist immer etwas Fummelei, und pass auf, wenn du die Fehlermeldung kriegst, dass die Stimme nicht gefunden werden konnte, dann hast du wahrscheinlich keinen Text. Mit anderen Worten: in dem obigen Konstrukt wird eine Stimme mit dem Namen ersteStimme konstruiert, in die der Inhalt der Variabel ersteStimme eingefügt wird. Dann wird dem Namen ersteStimme ein Text zugewiesen (mit \lyricsto) und zwar der Text aus der Variabel ersterText. Da kommen schnell kleine Schreibfehler und dann findet das Programm die Stimme nicht und kann auch keinen Text zuweisen. Ich habe das Beispiel oben auch nicht geprüft, du kannst es mal vergleichen mit der Vorlage für vierstimmigen Chorsatz, hinten im Anahng der Dokumentation.
Ich hoffe, das funktioniert für dich.

Gruß
Till

proceder

  • Member
Re: addlyrics bei Mehrstimmigkeit
« Antwort #2 am: Freitag, 28. September 2007, 22:38 »
Hatte wenig Zeit und bin deshalb lange nicht dagewesen. So richtig haut das nicht mit dem lyricsto hin. Hier meine Umstrukturierungen:

ersteStimme = \relative c' {
   \clef G
   \key d \major
   \time 4/4

    \voiceOne < d fis a > 2\mf fis 4 d
   < d g b > 4.< d g b > 8 a' 4fis
   d fis e d
   < d fis > 1
   < d fis b > 4.< d fis b > 8< fis d' > 4< fis d' >
   cis' b a fis
   < d fis b > 4.< d fis b > 8< fis d' > 4 s4
   < e a cis > < d b' > a' g
   fis\mf a g e
   g b  a 2
   < d, fis b > 4< fis b d > < fis a cis > fis
   < d fis b > < fis b d > s2
   s1
   < fis a d > 1
   \bar "|."
}

   
zweiteStimme = \relative c' {
   \voiceTwo s1 s2 d2 b2 b2 a1 s1 eis'2 cis s2 s4 < gis' d' > 4 s2 cis, 2 < d fis > 2 cis2 cis2 d 2 s1 s2 < a' cis e > 2 < a d fis > 4\f < a d > < g b e > < g cis e > 
}

ersterText = { Vor -- freu -- de, schön -- ste Freu -- de, Freu -- de im Ad -- vent.  1.Tan -- nen -- grün zum Kranz ge -- wun -- den, ro -- te Bän- drein ge -- bun -- den. Und das er -- ste Licht -- lein brennt, er -- stes Leuch -- ten im Ad -- vent, Freu -- de im Ad- vent! }


\score {
\new Staff = Lied
  << %Damit die Stimmen gleichzeitig gesetzt werden
    \new Voice = ersteStimme {\ersteStimme }
    \new Voice = zweiteStimme {\zweiteStimme }
  >>
\context Lyrics = ersterText \lyricsto ersteStimme { \ersterText }
}

proceder

  • Member
Re: addlyrics bei Mehrstimmigkeit
« Antwort #3 am: Montag, 8. Oktober 2007, 21:36 »
Ich habe jetzt mich an die Gliederung aus Anhang D 1.4 gehalten und die 2-stimmigen Dateien folgendermaßen umgebaut:

\version "2.11.33"

\header{
  title = "Oh Weihnachtszeit"
  composer = "Volksweise"
  opus = ""
  poet = ""
}

\paper {
   #(set-paper-size "a5")
   indent = #0
   ragged-right = #0
   ragged-bottom = ##t
}

melody = \relative c' {
\clef G
\key f \major
\time 3/4
<<
   { \voiceOne
                      
   \partial 4 s4 |
   < a' c > 8.< g bes > 16< f a > 4 s4 |   % 3
   s4 s s |
   < g e > 4.< f a > 8< g bes > < g c > |   % 5
   < g bes > 4< f a > < f g >\mf |
   < e g > 4.e'8 d c |   % 7
   < a c > 8.< f a > 16< e g > 4< f g >\p |
   < e g > 4.e'8 d c |   % 9
   < a c > 8.< f a > 16< e g > 4s | < a c > 8.< g bes > 16< f a > 4s |   % 11
   s8 s16 s4 < f d' > s16 | < e d' > 4.< e g > 8< e a > _\(< e g >\) |   % 13
   < e g > 4 f
   \bar "|."
   }
   \\
   {   \voiceTwo
   
   \partial 4 c'4\f
   s8 s16 s4 s8 f,8 [f']  % 3
   < d f > 8.[< c e > 16]    < bes d > 4< bes d >
   s2 s8 s32   % 5
   s2 s4 s4 s8 s32 g4.   % 7
   s2. s4.  g   % 9
   s8.  s16 s4 c\f s2 f,8[ f']   % 11
   < d f > 8.< c e > 16< bes d > 4
   }
>>
}
     
text = \lyricmode {    \set fontSize = #-2
O Weihnachtszeit, o Weihnachtszeit, Du hast die schönsten Bäume!  Manch Blümlein blüht im Gartenraum, Doch glänzet keins wie Weihnachtsbaum!  O Weihnachtszeit, o Weihnachtszeit,  Du hast die schönsten Bäume!
}
     
harmonies = \chordmode {
   s4 f4 s2 s32 b4 s2 c4 s2 f4 s4 c4 c4 s8 s8 s8 s8 f4 c4 g:7 c4 s2 f4 c4 c4:7 f8. s16 s4 s8 s8  b8. s16 s4 s4 c4. s8 s8 s8 c4 f4
}
     
\score {
   <<
    \new ChordNames {
    %\set chordChanges = ##t
    \harmonies
    }

    \new Voice = "one" {
    \autoBeamOff
    \melody
    }

    \new Lyrics \lyricsto "one" \text 
    >>

    \layout {
    \context {
     \Score
     \remove "Bar_number_engraver"
     }
    }
 
    %\midi { }
}

Leider wird auch hier der Text nicht angezeigt, er ist zwar noch nicht aufgeteilt, aber irgendwo habe ich das Teil hier verrammelt. Im Logfile steht folgendes:
D:/liederbuch/o_weihnachtszeit.ly:72:16: Warnung: Stimme kann nicht gefunden werden: »one«

    \new Lyrics
                \lyricsto "one" \text

Wenn ich die 2. Stimme herausnehme wird der Text angezeigt, aber irgendwie muss es doch möglich sein, Lyrics bei merhstimmigen Liedern in einer Zeile anzugeben. Hat von Euch jemand einen Tip für mich?
Danke im Voraus.

etilli33

  • Member
Re: addlyrics bei Mehrstimmigkeit
« Antwort #4 am: Montag, 15. Oktober 2007, 13:41 »
Ich weiss auch nie, woran es eigentlich liegt, habe aber auch bisher immer wieder Probleme mit dieser Zuweisung gehabt und viel rumbasteln müssen, bis es klappt. Das ganze ist sehr fehleranfällig. Versuch es mal mit Klammern um den \text, oder Ähnlichem.

Till

proceder

  • Member
Re: addlyrics bei Mehrstimmigkeit
« Antwort #5 am: Mittwoch, 17. Oktober 2007, 20:54 »
Lied 33 habe ich geschafft und habe es raus, welche Synthax verwandt werden muss. Ich werde, wenn ich fertig bin, ein Lilypond-Design ins Forum stellen.