Frage zur Ausrichtung von Texten an Alternativmelodien

Begonnen von flatfoot, Samstag, 29. April 2017, 18:44

« vorheriges - nächstes »

flatfoot

Hallo zusammen,

ich habe hier ein kleines Problem, an dessen Lösung ich mich schon seit langer Zeit immer wieder versuche:
Es geht um ein Lied mit zwei Strophen, deren Melodien sich nur an einer Stelle unterscheiden (vgl. Beispiel unten).

Wie kann ich bewerkstelligen, dass der Text der ersten Strophe durchgehend an der Primämelodie ausgerichtet wird, während der Text der zweiten Strophe an der Stelle mit der Alternativmelodie sich kurzzeitig nach dieser richtet?
Bzw. wenn man es mit einem zusätzlichen Textschnipsel macht wie ich in meinem Beispiel: Wie kann ich den Text des Schnipsels so anheben, dass er sich in den Rest der zweiten Strophe fügt?

Mir ist nur wichtig, dass sich die Texte der Strophen nach ihren jeweiligen Melodien richten und auch der Text der zweiten Strophe ganz normal in einer Zeile steht.

Ich hoffe, ich konnte halbwegs rüberbringen, worum es geht und freue mich auf Eure Vorschläge. :D

LG und noch ein schönes verlängertes Restwochenende,
flatfoot



\version "2.18.0"

melEins = \relative c' {
c4 d e f | g4 << {\voiceOne a} \new Voice = "alternative" { \voiceTwo f8 d } >> b'4 c |
}

\score {
<<
\new Voice = "Melodie" { \melEins }



\new Lyrics \lyricsto "Melodie" { eins eins eins eins eins eins eins eins}

\new Lyrics \lyricsto "Melodie" { zwei zwei zwei zwei zwei "" zwei zwei }
\new Lyrics \lyricsto "alternative" { zwei zwei }
>>

\layout{}
}

Manuela

Hast du schon mal probiert, die Silben anhand von Notendauern auszurichten?

\version "2.18.0"

melEins = \relative c' {
  c4 d e f | g4
  <<
    { \voiceOne a }
    \new Voice = "alternative"
    { \voiceTwo f8 d }
  >> b'4 c |
}

\score {
  <<
    \new Voice = "Melodie" { \melEins }

    \new Lyrics \lyricsto "Melodie" {
      eins eins eins eins eins eins eins eins
    }

    \new Lyrics \lyricmode {
      zwei4 zwei zwei zwei zwei zwei8 zwei8 zwei4 zwei
    }

  >>

  \layout{}
}


BTW, vor und nach geschweiften Klammern immer ein Leerzeichen einfügen.
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6


melEins = \relative c' {
c4 d e f | g4
<< { \voiceOne a }
  \new Voice = "alternative" { \voiceTwo f8 d }
    >>
    b'4 c |
}

\score {
<<
\new Voice = "Melodie" \melEins
\new Lyrics \lyricsto "Melodie" { eins eins eins eins eins eins eins eins}
\new Lyrics
  \lyricsto "Melodie" {
    zwei zwei zwei zwei
    \set associatedVoice = "alternative"
    zwei
    \override LyricText.font-shape = #'italic
    zwei
    \set associatedVoice = "Melodie"
    zwei
    \revert LyricText.font-shape
    zwei zwei
  }
>>

\layout{}
}


HTH,
  Harm

flatfoot

Zitat von: Manuela am Sonntag, 30. April 2017, 00:28
Hast du schon mal probiert, die Silben anhand von Notendauern auszurichten?

...

Ja, inzwischen schon, aber dann kann man bei Melismen keine Haltestriche ausgeben lassen.


Zitat von: Manuela am Sonntag, 30. April 2017, 00:28
BTW, vor und nach geschweiften Klammern immer ein Leerzeichen einfügen.

Mache ich normalerweise immer. ;)

Danke für deinen Input!

flatfoot

Danke, Harm. Das war die Lösung!

Noch der Vollständigkeit halber: Damit die Hauptmelodie nach der Stelle mit der Alternative sich wieder normal verhält und nicht als \voiceOne (Ausrichtung von Bindebögen etc.), muss man nach den Abschließenden ">>" nochmal "\oneVoice" setzen. Das hat in meinem Ursprünglichen Beispiel gefehlt.

Für die Nachwelt hier die komplette Lösung:


melEins = \relative c' {
c4 d e f | g4  << { \voiceOne a } \new Voice = "alternative" { \voiceTwo f8 d } >> \oneVoice b'4 c |
}

\score {
<<
\new Voice = "Melodie" \melEins
\new Lyrics \lyricsto "Melodie" { eins eins eins eins eins eins eins eins }
\new Lyrics
  \lyricsto "Melodie" {
    zwei zwei zwei zwei
    \set associatedVoice = "alternative"
    zwei
    \override LyricText.font-shape = #'italic
    zwei
    \set associatedVoice = "Melodie"
    zwei
    \revert LyricText.font-shape
    zwei zwei
  }
>>

\layout{}
}

Manuela

Zitat von: flatfoot am Sonntag, 30. April 2017, 14:52
Noch der Vollständigkeit halber: Damit die Hauptmelodie nach der Stelle mit der Alternative sich wieder normal verhält und nicht als \voiceOne (Ausrichtung von Bindebögen etc.), muss man nach den Abschließenden ">>" nochmal "\oneVoice" setzen. Das hat in meinem Ursprünglichen Beispiel gefehlt.


Danke für die ausführliche Erläuterung.

Jetzt muss doch noch mal meinen Senf dazu geben.  ;)

Das \oneVoice ist nur deswegen notwendig, weil du \voiceOne ausdrücklich angibst. Wenn du das weglässt, kannst du auch \oneVoice einsparen.

\version "2.19.56"

melEins = \relative c' {
  c4 d e f | g4  << {  a } \new Voice = "alternative" { \voiceTwo f8 d } >>
  b'4 c |
}

\score {
  <<
    \new Voice = "Melodie" \melEins
    \new Lyrics \lyricsto "Melodie" { eins eins eins eins eins eins eins eins }
    \new Lyrics
    \lyricsto "Melodie" {
      zwei zwei zwei zwei
      \set associatedVoice = "alternative"
      zwei
      \override LyricText.font-shape = #'italic
      zwei
      \set associatedVoice = "Melodie"
      zwei
      \revert LyricText.font-shape
      zwei zwei
    }
  >>

  \layout{}
}
Danke für eure Hilfe
viele Grüße
-- Manuela

flatfoot

Aber dann können sich die Notenhälse in die Quere kommen, weil die der Hauptstimme ab dem b' abwärts gerichtet sind, oder nicht?

Manuela

Zitat von: flatfoot am Montag,  1. Mai 2017, 06:42
Aber dann können sich die Notenhälse in die Quere kommen,

Du hast natürlich recht, ich war irrtümlich der Meinung, dass das Konstrukt << { } \\ {} >> voiceOne und voiceTwo automatisch setzt.

Irgendwo erklärt Harm genau, was passiert, müsste im Archiv zu finden sein.
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6

Zitat von: Manuela
Du hast natürlich recht, ich war irrtümlich der Meinung, dass das Konstrukt << { } \\ {} >> voiceOne und voiceTwo automatisch setzt.
Tut es doch auch.
Aber flatfoot verwendet es gar nicht, sondern << ... ... >> also ohne VoiceSeparator: "\\"

Damit entsteht simultaneous music, bei simultanen Voices muss man sich dann Gedanken über \voiceXxx bzw \oneVoice machen. ;)


Gruß,
  Harm

P.S.
Mittlerweile gibt es auch das \voices command.
Bin grad nicht sicher, ob es schon in einer release ist.
Falls nicht, info hier:
https://sourceforge.net/p/testlilyissues/issues/5114/
sowie Diskussion auf Rietveld
http://codereview.appspot.com/320820043

Malte

Zitat von: flatfoot am Sonntag, 30. April 2017, 14:45
Zitat von: Manuela am Sonntag, 30. April 2017, 00:28
Hast du schon mal probiert, die Silben anhand von Notendauern auszurichten?

...

Ja, inzwischen schon, aber dann kann man bei Melismen keine Haltestriche ausgeben lassen.
Doch, kann man:\version "2.19.56"

\relative {
  c'4( d e f) g2 a
}
\addlyrics {
  bla __ bla bla
}
Oder hab ich dich mißverstanden?

flatfoot

Zitat von: Malte am Montag,  1. Mai 2017, 12:40
Zitat von: flatfoot am Sonntag, 30. April 2017, 14:45
Zitat von: Manuela am Sonntag, 30. April 2017, 00:28
Hast du schon mal probiert, die Silben anhand von Notendauern auszurichten?

...

Ja, inzwischen schon, aber dann kann man bei Melismen keine Haltestriche ausgeben lassen.
Doch, kann man:\version "2.19.56"

\relative {
  c'4( d e f) g2 a
}
\addlyrics {
  bla __ bla bla
}
Oder hab ich dich mißverstanden?

Japp, missverstanden. ;)

Anhand von Notendauern wäre in deinem Beispiel

\relative {
  c'4( d e f) g2 a
}
\addlyrics {
  bla1 __ bla2 bla2
}


... und da funktioniert der doppelte Unterstrich nicht, weil die Silben nicht an den Noten ausgerichtet sind, sondern unabhängig von diesen an den Zählzeiten. Das System weiß also in diesem Fall nicht, wo Melismen sind.

Malte

\version "2.18.0"

\relative {
  c'4( d e f) g2 a
}
\addlyrics {
  bla1 __ bla2 bla2
}
funktioniert bei mir wie erwartet. Und für andere Versionen (2.18.2, 2.19.56) ebenfalls.

flatfoot

Zitat von: Malte am Montag,  1. Mai 2017, 14:03
\version "2.18.0"

\relative {
  c'4( d e f) g2 a
}
\addlyrics {
  bla1 __ bla2 bla2
}
funktioniert bei mir wie erwartet. Und für andere Versionen (2.18.2, 2.19.56) ebenfalls.

Bei Verwendung von \addlyrics { ... } werden die im Text angegebenen Dauern ignoriert und der Text wird ganz normal verteilt. Es handelt sich dann also nicht um manuelle Notendauern im Text.
Verwendet man hingegen \new Lyrics \lyricmode { ... }, werden die im Text angegebenen Dauern beachtet und der Strich funktioniert nicht mehr, weil der Text nicht an den darüberstehenden Noten ausgerichtet wird, wie auch an der entsprechenden Stelle in der Dokumentation vermerkt:

Zitat
By default, syllables will be left-aligned to the corresponding musical moment. Hyphenated lines may be drawn between syllables as usual, but extender lines cannot be drawn when there is no associated voice.
(Hervorhebung von mir.)

Hier ein Vergleich mit absichtlich im Text falsch gesetzter Dauer:

\version "2.18.0"

<<
\relative {
  c'4( d e f) g2 a
}
\addlyrics {
  bla4 __ bla2 bla2
}
>>


<<
\relative {
  c'4( d e f) g2 a
}
\new Lyrics \lyricmode {
  bla4 __ bla2 bla2
}
>>

\layout{}