Autor Thema: Problem bei Text in der Wiederholung in einem Chorsatz  (Gelesen 3469 mal)

Jonathan.Scholbach

  • Member
Problem bei Text in der Wiederholung in einem Chorsatz
« am: Mittwoch, 28. Dezember 2011, 03:48 »
Hallo!

Ich habe versucht, einen Chorsatz mit Text zwischen den Systemen zu setzen. Das Stück hat eine Wiederholung in den Noten, bei der der Text allerdings variiert. Ich möchte gern den Text der Wiederholung unter den Text des ersten Durchgangs setzen. Das habe ich auch hinbekommen. Nur gibt es ein Problem mit der Textverteilung, das ich mir nicht erklären kann:

[Das Bild mit dem Problem ist im Anhang]

In der Wiederholung kollidiert der Text in den Unterstimmen.

Dieses Problem taucht nicht auf, wenn ich die Unterstimmen allein setze. Es taucht auch nicht auf, wenn ich die Unterstimmen über die Oberstimmen setze. Sobald ich aber die Alt- oder die Sopranstimme (oder beide) über die Unterstimmen setze, taucht es auf.

Mein Code sieht folgendermaßen aus. Zuerst definiere ich mir meine Stimmen (ich zeige hier nur die Sopran- und die Bassstimme, weil das Problem auch schon auftaucht, wenn ich nur den Bass unter den Sopran setzen will:

SNEsisteinRos = \relative c'' {
      \repeat volta 2{ 
  c2 c4 c
  d c c2
  a2 bes
  a4 g2 f4~
  f4 e4 f2
     }
r4 a g e
f d c2
r4 c' c c
d c c2
a2 bes2
a4 g2 f4~
f4 e4 f2 \bar "|."
   }

STEsisteinRos = \lyricmode {
  <<
    \set stanza = #"1. "
      { Es ist ein Ros ent- sprung- en aus ei- ner Wur- zel zart. }
      \new Lyrics {
      \set associatedVoice = "STEsisteinRos"
  { Wie uns die Al- ten sung- en von Jes- se kam die Art. }
      }
   >> 
      Und hat ein Blüm- lein bracht mit- ten im kal- ten Win- ter
      wohl zu der hal- ben Nacht.
}

BNEsisteinRos= \relative c {
  \clef "bass" 
  \repeat volta 2 {
     f2 f4 f4
     bes4 f4 c2
     d2 bes2
     f'4 e d2
     c2 f,2
  }
     r4 f'4 g4 a4
     f4 g4 c,2
     r4 c4 e4 f4
     bes,4 f'4 c2
     d2 g,2
     a4 bes4 c2
     c2 f,2
}
   
BTEsisteinRos= \lyricmode {
  <<
    \set stanza = #"1. "       
      { Es2 ist4 ein4 Ros4 ent-4 sprung-2 en2 aus2 ei-4 ner4 Wur-2 zel2 zart.2 }
    \new Lyrics {
    \set associatedVoice = "BTEsisteinRos"
Wie2 uns4 die4 Al-4 ten4 sung-2 en2 von2 Jes-4 se4 kam2 die2 Art.2
    }
  >> 
      Und hat ein Blüm- lein bracht mit- ten im kal- ten Win- ter
      wohl zu der hal- ben Nacht.
}

(Die Längen-Angaben im Basstext BTEsisteinRos sind korrekt. Das Problem tritt auch auf, wenn ich sie weglasse.)

Dann binde ich die Stimmen wie folgt ein:

\score {
      \new ChoirStaff <<
         
      \new Staff = Sopran
       
          \new Voice = "Sopran" { \SNEsisteinRos }
          \new Lyrics \lyricsto "Sopran" {  \STEsisteinRos }
       
        \new Staff = Alt
          \new Voice = "Alt" { \ANEsisteinRos }
          \new Lyrics \lyricsto "Alt" { \ATEsisteinRos }
       
        \new Staff = Tenor
          \new Voice = "Tenor" { \TNEsisteinRos }
          \new Lyrics \lyricsto "Tenor" { \TTEsisteinRos }
       
        \new Staff = Bass
          \new Voice = "Bass" { \BNEsisteinRos }
          \new Lyrics \lyricsto "Bass" { \BTEsisteinRos }
     >>
    }

Ich habe keine Ahnung, was die Ursache des Problems ist. Irgendwie muss es eine Interaktion der Stimmen geben, die die Textpositionierung in den Unterstimmen beeinflusst. Ich vermute, dass es irgendwie mit dem \lyricsto zusammenhängt. Aber auch eine Einbettung der Stimmen mit \addlyrics löst das Problem nicht.

Habe ich was falsch gemacht? Wenn ja, was? Oder handelt es sich vielleicht um einen Bug? Kennt ihr gegebenenfalls ein Workaround?

Viele Grüße, und vielen Dank für Eure Hilfe,

Jonathan

PS. Ich hoffe, ich habe alles gut dokumentiert. Ich kann nicht programmieren und das ist mein erstes Projekt mit lilypond, deswegen kenne ich mich mit den geschriebenen und ungeschriebenen Gesetzen bei der Fehlersuche nicht aus. Sorry, falls ich was unklar oder unzureichend beschrieben haben sollte.

Achso. Falls das von Interesse sein sollte (was ich mir aber nicht vorstellen kann): in global stehen nur folgende unschuldige Zeilen, die für das Problem auch nicht verantwortlich sind:

  global = {
      \key f \major
      \time 2/2
    }

harm6

  • Member
Re: Problem bei Text in der Wiederholung in einem Chorsatz
« Antwort #1 am: Mittwoch, 28. Dezember 2011, 23:02 »
Hallo,

zunächst mal herzlich willkommen hier im Forum!

Zum Problem: Wenn Du \set associatedVoice streichst funktioniert es.

\version "2.14.2"


 global = {
      \key f \major
      \time 2/2
    }
   
SNEsisteinRos = \relative c'' {
      \repeat volta 2{ 
  c2 c4 c
  d c c2
  a2 bes
  a4 g2 f4~
  f4 e4 f2
     }
r4 a g e
f d c2
r4 c' c c
d c c2
a2 bes2
a4 g2 f4~
f4 e4 f2 \bar "|."
   }

STEsisteinRos = \lyricmode {
  <<
    \set stanza = #"1. "
      { Es ist ein Ros ent- sprung- en aus ei- ner Wur- zel zart. }
      \new Lyrics {
  { Wie uns die Al- ten sung- en von Jes- se kam die Art. }
      }
   >> 
      Und hat ein Blüm- lein bracht mit- ten im kal- ten Win- ter
      wohl zu der hal- ben Nacht.
}

BNEsisteinRos= \relative c {
  \clef "bass" 
  \repeat volta 2 {
     f2 f4 f4
     bes4 f4 c2
     d2 bes2
     f'4 e d2
     c2 f,2
  }
     r4 f'4 g4 a4
     f4 g4 c,2
     r4 c4 e4 f4
     bes,4 f'4 c2
     d2 g,2
     a4 bes4 c2
     c2 f,2
}
   
BTEsisteinRos= \lyricmode {
  <<
    \set stanza = #"1. "       
      { Es2 ist4 ein4 Ros4 ent-4 sprung-2 en2 aus2 ei-4 ner4 Wur-2 zel2 zart.2 }
    \new Lyrics {
Wie2 uns4 die4 Al-4 ten4 sung-2 en2 von2 Jes-4 se4 kam2 die2 Art.2
    }
  >> 
      Und hat ein Blüm- lein bracht mit- ten im kal- ten Win- ter
      wohl zu der hal- ben Nacht.
}

\score {
      \new ChoirStaff <<
         
      \new Staff = Sopran
       
          \new Voice = "Sopran" { \SNEsisteinRos }
          \new Lyrics \lyricsto "Sopran" {  \STEsisteinRos }
       
%        \new Staff = Alt
%          \new Voice = "Alt" { \ANEsisteinRos }
%          \new Lyrics \lyricsto "Alt" { \ATEsisteinRos }
%       
%        \new Staff = Tenor
%          \new Voice = "Tenor" { \TNEsisteinRos }
%          \new Lyrics \lyricsto "Tenor" { \TTEsisteinRos }
%       
        \new Staff = Bass
          \new Voice = "Bass-" { \BNEsisteinRos }
          \new Lyrics \lyricsto "Bass-" { \BTEsisteinRos }
     >>
    }

Fehlersuche: Du hast ja schon Stimmen ausgeschlossen! Wenn Du damit weiter gemacht hättest, (also Teile von Stimmen, Takte einzelne Zeichen etc) hättest Du es wahrscheinlich auch gefunden.
Siehe auch: http://lilypond.org/doc/v2.15/Documentation/usage-big-page#troubleshooting

Anmerkungen:

1. Die ganze Sache mit den Lyrics sieht mir nur halb verstanden aus. (z.B. verwendest Du LyricHyphen nicht).
Da solltest Du noch mal genauer nachlesen: NR 2.1 Notation von Gesang. (Ich selbst wäre die Sache anders angegangen)
2. Bitte poste ein kompilierbares Beispiel mit Angabe der Versions-Nummer! (Ich habe jetzt nach "2.15" verlinkt)

HTH,
  Harm

Jonathan.Scholbach

  • Member
Re: Problem bei Text in der Wiederholung in einem Chorsatz
« Antwort #2 am: Donnerstag, 29. Dezember 2011, 23:22 »
Hallo Harm,

vielen Dank für Deine Antwort!

Ich hatte und habe das in der Tat noch nicht richtig verstanden, sondern hatte mir die einzelnen Komponenten aus dem Handbuch zusammengeschustert. Ich habe von dem Handbuch den Eindruck, dass es sehr stark induktiv vorgeht: Es sagt mir, was ich machen will, wenn ich dies oder jenes vorhabe. Mich würde eine Einführung interessieren, die stärker deduktiv vorgeht, sodass ich besser lerne, den Code selbst zu synthetisieren, statt nur bestimmte Teile zusammenzustellen und zu hoffen, dass es klappt. Gibt es noch eine andere Einführung in lilypond?

Mit der Fehlersuche brauche ich wohl noch ein bisschen Übung. Ich hatte das Kapitel Fehlersuche schon gelesen, und habe auch versucht, einzelne Teile zu separieren, war dabei aber nicht konsequent genug vorgegangen. Deswegen danke ich Dir für Deine geduldige Hilfe!

Viele Grüße,

Jonathan