zweistimmiges Lied Textverteilung

Begonnen von Bastiane, Donnerstag, 29. August 2019, 11:01

« vorheriges - nächstes »

Bastiane

Hallo!
Nun habe ich ein komplett zweistimmiges Lied und bin so weit gekommen:
\version "2.19.82"
\language "deutsch"

%1. Strophe
Stimmeeins = \lyricmode {
  \set stanza = #"1."
  Wel -- le wog -- te an den Strand,
  griff nach ei -- nes Mäd -- chens Hand,
  das in A -- bend -- son -- nen -- glut
  heim -- wärts wan -- dert durch die Flut.
}

Stimmezwei = \lyricmode {
  \skip 1 \skip 1 \skip 1 \skip 1 \skip 1 \skip 1
  \set stanza = #"1."
  Wel -- le wog -- te an den Strand,
  griff nach ei -- nes Mäd -- chens Hand,
  das in A -- bend -- son -- nen -- glut
  heim -- wärts wan -- dert durch die Flut.
}

stimmeeins = \relative c' {
  \key g \major
  \time 4/4 %\partial 2
  e8 e e e g4 g4 e1 e8 e e e g4 g d1 g8 g g g a4 a h1 e,8 e e e g4 g e1 ~ e
}

stimmezwei = \relative c' {
  \key g \major
  \time 4/4 %\partial 2
  r1 e8 e e e g4 g4 e1 d8 d d d fis4 fis g2 fis g8 g g g fis4 fis g1 e8 e e e g4 g e1
}

\score {
  <<
    \new Staff \new Voice=melody { \stimmeeins }
    \new Lyrics \lyricsto melody { \Stimmeeins }
    \new Staff \new Voice=melody { \stimmezwei }
    \new Lyrics \lyricsto melody { \Stimmezwei }
  >>
}


Ich verstehe nicht alles, was hier steht (habe ein bisschen rumprobiert), aber der Text für die zweite Stimme ist nicht richtig ausgerichtet. Natürlich ist Text erst da, wo auch Noten sind. Das habe ich mit \skip verschoben, allerdings richtet er sich nun immer noch nicht nach den Noten der zweiten Stimme. Wie kann ich das denn machen?
Viele Grüße
Bastiane

Malte

Zitat von: Bastiane am Donnerstag, 29. August 2019, 11:01

\score {
  <<
    \new Staff \new Voice=melody { \stimmeeins }
    \new Lyrics \lyricsto melody { \Stimmeeins }
    \new Staff \new Voice=melody { \stimmezwei }
    \new Lyrics \lyricsto melody { \Stimmezwei }
  >>
}

Da liegt der Fehler: Du erstellst zwei Voice-Kontexte, die beide melody heißen. LilyPond weiß nicht automagisch, auf welchen davon sich die Anweisung \lyricsto melody beziehen soll. Wähle stattdessen zwei verschiedene Namen für zwei verschiedene Stimmen. (Das ist übrigens der einzige mir bekannte Haken an meiner zweiten Lösung in diesem Nachbarthread: zwei Systeme mit implizit erstellten Voices, die jeweils 1 und 2 heißen, können zu Verwirrung führen.)

Alternativ kannst du dir Tipparbeit und Namen-Ausdenken mit \addlyrics sparen:
\score {
  <<
    \new Staff \stimmeeins \addlyrics \Stimmeeins
    \new Staff \stimmezwei \addlyrics \Stimmezwei
  >>
}

Bastiane

Hallo Malte!
Vielen Dank auch hierfür. Das meiste klappt, allerdings fehlen irgendwie die End-Taktstriche. Das Problem hatte ich schon öfter (teilweise hatte ich das Gefühl, das liegt daran, dass irgendwo der Takt nicht beendet wird - sei es beim Text oder bei den Akkorden), und wenn ich es nicht anders lösen konnte, habe ich die Striche manuell eingefügt. Allerdings klappt das hier nicht. :-\
Es wäre schön, zu wissen, warum die Taktstriche nicht automatisch kommen, und auch, wie man sie manuell einführen könnte, falls nötig.
Hier mein Code:
\version "2.19.82"
\language "deutsch"


%1. Strophe
Stimmeeins = \lyricmode {
  \set stanza = #"1."
  Wel -- le wog -- te an den Strand,
  griff nach ei -- nes Mäd -- chens Hand,
  das in A -- bend -- son -- nen -- glut
  heim -- wärts wan -- dert durch die Flut.
}

Stimmezwei = \lyricmode {
  \set stanza = #"1."
  Wel -- le wog -- te an den Strand,
  griff nach ei -- nes Mäd -- chens Hand,__ _
  das in A -- bend -- son -- nen -- glut
  heim -- wärts wan -- dert durch die Flut.
}

stimmeeins = \relative c' {
  \key g \major
  \time 4/4 %\partial 2
  e8 e e e g4 g4 e1 e8 e e e g4 g d1 g8 g g g a4 a h1 e,8 e e e g4 g e1 ~ e \bar"|:"
}

stimmezwei = \relative c' {
  \key g \major
  \time 4/4 %\partial 2
  r1 e8 e e e g4 g4 e1 d8 d d d fis4 fis g2 fis g8 g g g fis4 fis g1 e8 e e e g4 g e1 \bar"|:"
}

%Erklärung?
\score {
  <<
    \new Staff \stimmeeins \addlyrics \Stimmeeins
    \new Staff \stimmezwei \addlyrics \Stimmezwei   
  >>
}

Viele Grüße
Bastiane

Manuela

#3
Hallo Bastiane,

Taktstriche brauchst du (im Normalfall) nur einmal je Partitur, z.B. in der ersten Stimme.
Warum in deinem Fall gar kein Taktstrich kommt, liegt vermutlich daran, dass die Kombination "|:" nicht definiert ist (schmale Taktlinie mit Wiederholungszeichen, habe ich auch tatsächlich noch nie gesehen)

\version "2.19.82"
\language "deutsch"


%1. Strophe
Stimmeeins = \lyricmode {
  \set stanza = #"1."
  Wel -- le wog -- te an den Strand,
  griff nach ei -- nes Mäd -- chens Hand,
  das in A -- bend -- son -- nen -- glut
  heim -- wärts wan -- dert durch die Flut.
}

Stimmezwei = \lyricmode {
  \set stanza = #"1."
  Wel -- le wog -- te an den Strand,
  griff nach ei -- nes Mäd -- chens Hand,__ _
  das in A -- bend -- son -- nen -- glut
  heim -- wärts wan -- dert durch die Flut.
}

stimmeeins = \relative c' {
  \key g \major
  \time 4/4 %\partial 2
  e8 e e e g4 g4 e1 e8 e e e g4 g d1 g8 g g g a4 a h1 e,8 e e e g4 g e1 ~ e \bar"|."
}

stimmezwei = \relative c' {
  \key g \major
  \time 4/4 %\partial 2
  r1 e8 e e e g4 g4 e1 d8 d d d fis4 fis g2 fis g8 g g g fis4 fis g1 e8 e e e g4 g e1
}

%Erklärung?
\score {
  <<
    \new Staff \stimmeeins \addlyrics \Stimmeeins
    \new Staff \stimmezwei \addlyrics \Stimmezwei   
  >>
}
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Zitat von: Manuela am Donnerstag, 29. August 2019, 15:03
Warum in deinem Fall gar kein Taktstrich kommt, liegt vermutlich daran, dass die Kombination "|:" nicht definiert ist (schmale Taktlinie mit Wiederholungszeichen, habe ich auch tatsächlich noch nie gesehen)
Das ist tatsächlich der Grund – vielleicht sollte LilyPond bei unbekannten Taktstrichen lieber eine Warnung ausgeben ...

Bis Version 2.16 gab "|:" tatsächlich eine öffnende Wiederholung aus; zu Version 2.18 wurde das dann so geändert, daß die ,,Namen" der Taktstriche immer genau ihrem Erscheinungsbild entsprechen, für eine öffnende Wiederholung muß man jetzt also ".|:" schreiben (Punkt für den breiten Strich).

Ich sehe also drei mögliche Gründe für dein Problem:

  • Wolltest du eine öffnende Wiederholung? Dann muß es \bar ".|:" heißen.
  • Wolltest du eine öffnende Wiederholung nur mit einem dünnen Strich? Dann müßtest du sie dir selbst definieren: \defineBarLine "|:" #'("|" "|:" "|")
  • Wolltest du eine ganz normale ,,dünn-dick-Endlinie? Dann wars wohl ein Tippfehler und es müßte \bar "|." heißen.

Zitat von: BastianeEs wäre schön, zu wissen, warum die Taktstriche nicht automatisch kommen, und auch, wie man sie manuell einführen könnte, falls nötig.
Meinst du nur die Endtaktstriche? Klar, damit enden die meisten Stücke/Partituren. Es gibt aber genug Ausnahmen (z. B. bei Da Capo), sodaß LilyPond nicht automagisch ein \bar "|." setzt.