Das archivierte Lilypond-Forum von 2017 ist hier als Lese-Archiv wieder verfügbar!

Hauptmenü

'Lyrics' nur an wenigen Stellen ?

Begonnen von ingmar, Mittwoch, 4. Februar 2026, 20:31

Vorheriges Thema - Nächstes Thema

ingmar

Liebe Freunde,

ich habe hier ein Instrumentalstück, wo an mehreren Stellen gesungener Text drunter steht, der größere Teil ist aber ohne "Lyrics". Ich arbeite meistens mit dem Text in einer Variablen, die dann per \lyricsto ... an die Voice  geklebt wird. – Frage nun, wie gehe ich mit den langen textlosen Stellen um!

In meinem ersten Versuch sah die Textdefinition dann so aus:
text = {
   { s1 *2 }
   \lyricmode {
       la la la la la
   }
   { s1 }
   \lyricmode {
       li la lu li la lu
   }

Leider hat sich meine Hoffnung, dass die Stellen { s1 *2 } bzw. { s1 } als textlose Takte interpretiert werden, nicht erfüllt. eds wird dann nur an jeder solchen Stelle eine einzige Note ausgelassen (in meinem Stück kommen durchaus 80 und mehr Noten vor, ehe wieder eine zehn Töne mit Lyrics auftreten, das ist also nicht nutzbar...)

Hat jemand von euch sich ausgiebig mit 'Lyrics' beschäftigt und kann einen Tipp geben? : - )

Gruß; Danke!
--ingmar

Malte

Hab nicht viel Zeit, aber das hier funktioniert und ließe sich sicher in eine Funktion einbauen:

{ \repeat unfold 80 c'4 }
\addlyrics {
  bla
  \repeat unfold 78 _
  blubb
}

ingmar

Danke! Ich werds mal ausprobieren und berichten.

Gruß,
--ingmar

Malte

Ach ja, statt _ kann man auch \skip 1 schreiben (die 1 ist hier nötig aber bedeutungslos), dann wird die Silbe davor nicht linksbündig (als wäre das ein langes Melisma) sondern zentriert.

Lilysetter


ingmar

#5
\skip ist natürlich besser – dann versteht der Leser, was dort passiert. (Nimmt man c' , dann steht letzteres als Text unter den Noten...)

ingmar

#6
Danke, Malte.

Das funktioniert grundsätzlich. Man müsste dann also in jeder einzelnen Stimme der Partitur die Noten zählen, die die 'Lyrics' zwischen allen ihren Einsätzen ignorieren sollen. Wenn dann jemand ein Jahr später irgendwo einen Haltebogen ergänzt oder entfernt oder sowas, muss derjenige immer auch daran denken, die gleiche Stelle im zugehörigen Lyrics-File zu finden und am richtigen \repeat die Zahl ändern – auch und gerade an den langen Strecken, wo überhaupt kein Text steht.

Das funktioniert, ist aber nicht besonders elegant. Wenn ich drüber nachdenke, scheint es mir doch wesentlich praktischer, in meinem Notenfile immer da, wo wieder ein Abschnitt mit Text beginnt, eine Funktion aufrufen, die diesen liefert.

So etwa müsste dann mein Notenfile aussehen
noten = \relative {
   c'4 d e f g2 g
   a4\startLyrics a a a g1
   f4 f f\startLyrics f e2 2
   d4 d d d c1
}

In einem anderen File würde ich eine Liste der Lyricschnipsel notieren:

#( define lyric-fragments '(
    "schwim -- men auf dem See."
    "in das Was -- ser"
)

...aber dann müsste man noch die Funktion definieren, die bei jedem Aufruf das nächste Schnipsel nimmt und per \addLyrics an den Notentext klebt. (EDIT: Halt, erst müsste wahrscheinlich der String in 'Lyric' umgewandelt werden.) Aber das funktioniert so nicht; ich ahne auch warum... aber da komm ich nicht weiter.

Für Hilfe bin ich dankbar! : - )
--ingmar

Lilysetter

Die andere Möglichkeit ist, die Lyrics unabhängig von Noten einzugeben, dazu muss man die Silbendauer -wie bei Noten- angeben:
<<{ \repeat unfold 99 c'4 }
  \new Lyrics \lyricmode{aa4bb2.cc2dd ee ff ""1*6gg4""hh2ii jj kk ll }
  >>