Autor Thema: cueDuring mit Lyrics die zweite  (Gelesen 4683 mal)

chf

  • Member
cueDuring mit Lyrics die zweite
« am: Samstag, 7. März 2015, 11:18 »
Hallo,

Es hat mir keine Ruhe gelassen.\version "2.16.2"
\relative c'' {
{R1 R} <<{R1 r4}
\new CueVoice {\clef bass \autoBeamOff c,,8 g' g g as g16 f g4 g8 g}
                \addlyrics {wa -- rum spricht der äl -- te -- re Mann lei -- ser }>>
\clef treble b16\pp c b8 r4 r R1 R  }

Jetzt ist zu sehen, wohin ich will.
Warum geht es nach den Stichnoten nicht weiter?

Gruß
chf

ingmar

  • Member
re: cueDuring mit Lyrics die zweite
« Antwort #1 am: Sonntag, 8. März 2015, 15:27 »
Hm.

In den <<...>> hast du zwei parallele 'Ströme'. Der erste lautet {R1 r4 r2.}, dauert also genau zwei Takte. Danach geht es auch tatsächlich weiter. Wo liegt das Problem?

Falls dein Problem ist, dass du nach den beiden Achteln mit den Silben "leiser" sofort weitermachen will, sollte dein erster Strom nur ein voller Takt und eine Viertelpause lang sein. Die oben rot markierte Pause muss also aus den <<...>>-Klammern verschwinden. Aber vielleicht verstehe ich auch dein Problem nicht richtig?

Es wäre übrigens besser gewesen, du hättest dies als Antwort auf deinen ersten Beitrag geschrieben; nun haben wir zwei Threads, über deren Unterschied wir uns nicht im Klaren sind...

--ingmar
« Letzte Änderung: Sonntag, 8. März 2015, 15:34 von ingmar »

chf

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #2 am: Sonntag, 8. März 2015, 16:55 »
Zitat
Zitat
nun haben wir zwei Threads, über deren Unterschied wir uns nicht im Klaren sind...

Hallo ingmar,

wo siehst du r2.?
Ich habe R1 r4 - es muss tatsächlich auf 2 weitergehen.

Ursprünglich wollte ich beim ersten Thread weitermachen, habe aber befürchtet, der wäre wegen Unzulänglichkeit schon abgehakt...
Es gibt keinen Unterschied im Anliegen - ich habe nur versucht, ein Beispiel nachzuschieben.
Auch meine weiteren Experimente bringen mich nicht zum Ziel. Ich kriege den Text nicht drunter.

Christa

ingmar

  • Member
re: cueDuring mit Lyrics die zweite
« Antwort #3 am: Sonntag, 8. März 2015, 17:10 »
ach Mist, da muss mir beim Kopieren was schiefgelaufen sein... nun hab ichs alles noch komplizierter gemacht, als es eh schon war.

Ich bitte um Entschuldigung!
--ingmar

chf

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #4 am: Sonntag, 8. März 2015, 17:18 »

Inzwischen habe ich weiter probiert. Jetzt stimmen wenigstens die Noten, und der Code ist näher an der Vorgabe.
Es kann doch nur eine Kleinigkeit sein, an der es fehlt?

\version "2.16.2"

stimmeNotes = \relative c {
 \clef bass
 \autoBeamOff R1*2 c8 g' g g as g16 f g4 g8 g
}
\addQuote "stimme" { \stimmeNotes }

lyr = \lyricmode {wa -- rum spricht der äl -- te -- re Mann lei -- ser}
\addQuote "lyr" {\lyr }

mndNotes = \relative c'' {
  \clef treble
  R1 R
  \new CueVoice { \set instrumentCueName = "stimme" }
  <<\cueDuringWithClef #"stimme" #DOWN "bass" { R1 r4}
   \cueLyr #"lyr" {R1 r4}>>                     
 \clef treble b16\pp c b8 r4 r R1 R  }
}

\new Staff {
  \mndNotes
}
« Letzte Änderung: Sonntag, 8. März 2015, 17:28 von chf »

chf

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #5 am: Sonntag, 15. März 2015, 23:43 »
Es sieht aus, als wäre mir nicht zu helfen? Soll ich das glauben?
Gruß
chf

trulli

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #6 am: Montag, 16. März 2015, 20:03 »
Geht nicht gibts nicht....  :)

So genau habe ich aber noch nicht verstanden, was du willst...

Geht das hier in deine Richtung?

\version "2.16.0"

smallerFontsize = { \set fontSize = #-6 }

\addQuote stimme \new Voice = "cue" \relative c { c8 g' g g as g16 f g4 g8 g   }

\score {
  \new Staff = "cuelyricdemo"
    <<
    \new Voice
      \relative c'' {
        \cueDuringWithClef #"stimme" #1 "bass" { R1 r4 }
        b16\pp c b8 r4 r
      }
    \new Lyrics = "cueLyrics"
      \lyricsto "cue" {
        \smallerFontsize
        Wa -- rum spricht der äl -- te -- re Mann lei -- ser
      }
    >>
}

LG

harm6

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #7 am: Montag, 16. März 2015, 21:59 »
Zitat von: chf
Jetzt ist zu sehen, wohin ich will.



Zitat von: chf
Warum geht es nach den Stichnoten nicht weiter?

Weil Du nichts anderes geschrieben hast.

Zitat von: chf
Es sieht aus, als wäre mir nicht zu helfen? Soll ich das glauben?

Ohne aussagekräftigen, kurzen, compilierbaren Code?
Sowie ohne eine sinnvolle Frage?

Nein.


[...]
Mit http://lsr.di.unimi.it/LSR/Item?id=347 komme ich nicht weiter....
[...]

Dann stell eine Frage dazu. Vielleicht kann ich sie beantworten, schließlich habe ich dieses snippet ja geschrieben.



Ich zumindest habe nicht die leiseste Ahnung, was das Problem oder das Ziel ist oder sein soll.



-Harm

chf

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #8 am: Dienstag, 17. März 2015, 02:30 »
Hallo trulli und harm,

danke für euere Reaktion.
Das Bild von trulli ist, was ich will.
Und, harm, ich weiß, dass an meinem Beispiel was nicht stimmt.
Ich habe sehr viele solche "Baustellen" in meinem Stück.  Muss ich die Zitate alle (mit einem Zusatz zur Unterscheidung) voranstellen? Und wie
binde ich sie dann alle in die Stimme ein? Hier habe ich eine totale Blockade.
Entschuldigt bitte - ich kann es nicht besser erklären...
Ich kann natürlich die ganze Sache zweistimmig schreiben, aber das sollte nicht sein...

Christa


harm6

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #9 am: Donnerstag, 19. März 2015, 11:11 »
Ich poste mal was ich habe. Ich denke, es braucht ein paar Erläuterungen.
Da hab ich allerdings momentan keine Zeit zu. Zumindest hast Du jetzt aber einen Code an der Hand mit dem Du experimentieren kannst.

%% http://lilypond.1069038.n5.nabble.com/Cue-notes-with-lyrics-tt171864.html#none

\version "2.19.16"

\layout {
  \context {
    \Score
    \accepts "CueLyrics"
    quotedCueEventTypes =
      #'(note-event rest-event tie-event
         beam-event tuplet-span-event
         dynamic-event slur-event lyric-event skip-event)
  }
  %% maybe other contexts have to accept "CueLyrics" as well!
  \context {
    \ChoirStaff
    \accepts "CueLyrics"
  }
  \context{
   \Lyrics
   \name CueLyrics
   \alias Lyrics
   fontSize = #-6
   \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
     #'((basic-distance . 3)
        (minimum-distance . 2)
        (padding . 0.8)
        (stretchability . 10))
  }
}

cueLyr =
#(define-music-function
   (parser location what main-music) (string? ly:music?)
   (_i "Insert contents of quote @var{what} corresponding to @var{main-music},
in CueLyrics oriented by @var{dir}.")
   (make-music 'QuoteMusic
           'element main-music
           'quoted-context-type 'CueLyrics
           'quoted-context-id "cue-lyr"
           'quoted-music-name what
           ))
           
%%%%%%%%%%%%%%%%%%
%% EXAMPLE
%%%%%%%%%%%%%%%%%%

song =
\relative c {
\clef bass
\time 2/4
\key c \major
c8 d e f g4 g
a8 a a a g2
a8 a a a g2
f8 f f f e4 e
g8 f e d c2
\bar "|."
}

\addQuote "song" \song

song-text =
\lyricmode {
Al -- le mei -- ne Ent -- chen
schwim -- men auf dem See
schwim -- men auf dem See
Köpf -- chen in das Was -- ser
Schwänz -- chen in die Höh'.
}

%% the drawback:
%% quotable lyrics _needs_ durations!!
song-text-with-dur =
\lyricmode {
Al8 -- le mei -- ne Ent4 -- chen
schwim8 -- men auf dem See2
schwim8 -- men auf dem See2
Köpf8 -- chen in das Was4 -- ser
Schwänz8 -- chen in die Höh'2
}

\addQuote "lyr" \song-text-with-dur

beet =
\relative c'' {
\time 2/4
\key c \minor
r8 g g g
ees2
<<
\cueDuringWithClef #"song" #1 "bass" { R2 R2 }
\cueLyr #"lyr" { \skip2 \skip2 }
        >>
r8 g g g
ees2
<<
\cueDuringWithClef #"song" #1 "bass" { R2 R2 }
\cueLyr #"lyr" { \skip2 \skip2 }
        >>
r8 g g g
ees2
}

<<
\new Staff \new Voice = "lied" \song
\new Lyrics \lyricsto "lied" \song-text

\new Staff \beet
>>


-Harm

chf

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #10 am: Donnerstag, 19. März 2015, 17:57 »
Hallo Harm,

danke - ich probiere...     
« Letzte Änderung: Samstag, 21. März 2015, 01:42 von chf »

prott

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #11 am: Donnerstag, 16. April 2015, 22:56 »
@Trulli: Deinen Vorschlag vom 16. März habe ich vor ein paar Tagen ausprobiert. Da ist mir eine blöde Falle aufgefallen:
Das \lyricsto "cue" spricht nicht die von Dir erstellte \new Voice = "cue" an, sondern eine vom System erstellte gleichen Namens. Das müßte reproduzierbar sein, wenn Du in Deinem Code die Namen änderst :
\new Voice = "anders"  alleine läßt alles unverändert,
mit zusätzlichem \lyricsto "anders" funktioniert es nicht mehr.
So war's mindestens bei mir. Leider sehr ärgerlich, wenn man mehr als eine Referenz in der gleichen \score hat.

Ich bin jedenfalls wieder zu meinem alten Hack gegangen, die Stichnoten nicht zu zitieren, sondern von Hand einzugeben. Häßlich, aber funktioniert.

trulli

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #12 am: Freitag, 17. April 2015, 04:16 »
Ich bin jedenfalls wieder zu meinem alten Hack gegangen, die Stichnoten nicht zu zitieren, sondern von Hand einzugeben. Häßlich, aber funktioniert.

Hallo pott,

poste doch hier mal deine Lösung als Ergänzung des Threads.

\lyricsto "cue" spricht \new voice "cue" an (sonst wäre der Text nicht passgenau zu den Noten). Aber du hast Recht, dass man die Bezeichnungen ändern kann. Außer \lyricsto "cue" braucht man sogar gar keine Bezeichnungen angeben.

LG

prott

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #13 am: Montag, 20. April 2015, 22:37 »
poste doch hier mal deine Lösung als Ergänzung des Threads.

Mache ich gleich.

\lyricsto "cue" spricht \new voice "cue" an (sonst wäre der Text nicht passgenau zu den Noten). Aber du hast Recht, dass man die Bezeichnungen ändern kann. Außer \lyricsto "cue" braucht man sogar gar keine Bezeichnungen angeben.

Ich wollte Dich darauf aufmerksam machen, daß Deine Lösung nicht so funktioniert wie gedacht. Unter 2.18.0 bleibt der folgende Code ohne Text, und Lilypond beschwert sich, daß die Stimme "anders" nicht gefunden wird:

\version "2.16.0"

smallerFontsize = { \set fontSize = #-6 }

\addQuote stimme \new Voice = "anders" \relative c { c8 g' g g as g16 f g4 g8 g   }

\score {
  \new Staff = "cuelyricdemo"
    <<
    \new Voice
      \relative c'' {
        \cueDuringWithClef #"stimme" #1 "bass" { R1 r4 }
        b16\pp c b8 r4 r
      }
    \new Lyrics = "cueLyrics"
      \lyricsto "anders" {
        \smallerFontsize
        Wa -- rum spricht der äl -- te -- re Mann lei -- ser
      }
    >>
}

Das wird bereits repariert, wenn man nur \lyricsto "anders" durch \lyricsto "cue" ersetzt.

Daraus schließe ich, daß die Stimme "cue" von Lilypond automatisch erstellt und benannt wird.

prott

  • Member
Re: cueDuring mit Lyrics die zweite
« Antwort #14 am: Montag, 20. April 2015, 22:43 »
So, nun meine Lösung:

\version "2.18.0"

smaller = {
  \set fontSize = #-2
  \override Stem #'length-fraction = #0.8
  \override Beam #'beam-thickness = #0.384
  \override Beam #'length-fraction = #0.8
}

% ----------------------------------------------------------------------------

theMusic = \relative c' {
  \tag #'nocue { R1*2 }
  \tag #'withcue {
    R1
    <<
      \new Voice = "rests" { \voiceOne R1 }
      \new Voice = "cue1" { \voiceTwo \smaller
          \relative g' { s4 a8^\markup{ "Sopran" } g f4 e } }
    >>
    \oneVoice
  }
  c4 d e f
}

% ----------------------------------------------------------------------------

\new Staff <<
  \new Voice = "MyVoice" {
    <<
      \set Score.skipBars = ##t
      \keepWithTag #'withcue \theMusic
    >>
  }
  \context Lyrics = cueLyrics \lyricsto "cue1" {
    \smaller klei -- ne Hil -- fe,
  }
>>

Die Tag-Geschichte benutze ich, weil ich in der Partitur natürlich keine Stichnoten haben möchte. Dann binde ich die Noten mit \keepWithTag #'nocue ein.
Nachteil ist offensichtlich, daß die Stichnoten noch einmal von Hand eingegeben und extra korrigiert werden müssen, obwohl sie schon einmal in der Datei stehen.