Chorpartitur mit ausgeblendeten Soli

Begonnen von Grisu76, Mittwoch, 25. Januar 2023, 17:08

« vorheriges - nächstes »

Grisu76

Liebe Spezialisten,
ich schreibe eine Messe für Soli und Chor. Die Chorpartitur soll die Soli NICHT enthalten, dafür aber die zusammengefassten Pausen für die Choristen. Ich habe versucht, das mit \tag'# zu lösen, d.h. wenn die Solisten \removeWithTag #'Solo haben, dann kommt der Tag bei den Solostellen \tag #'Solo {c d e...} und dann \tag #'Coro {R1*3/4*2} zum Einsatz - weil ich ja für die Chorstellen die Pausen haben will. Das funktioniert, sogar mit Text;

Wenn ich aber die Gesamtpartitur schreiben will, dann brauche ich die Soli und die Chorstellen - lass ich das \remove \keep drinnen, habe ich ja dann bei den Soli die Pausen in der Chorstimme zuviel. Meine Lösung war, nach den TAGs der Solostimme ein \tab #'CoroS einzufügen - und dann \keepWithTag #'Solo und removewithTag #'CoroS zu arbeiten, also die Pausen der Choristen wegzulassen, wenn die Soli gedruckt werden sollen. Das funktioniert nicht. Die zusammengefassten Pausen werden nicht gedruckt. Hat bitte wer Lösungsvorschläge? Danke und Cheers, Christian

Hier ist mein Minimal-Exemple (bitte nicht schmimpfen, es ist wirklich so wenig wie möglich  8) ):
% ************ DEFINITIONEN ALLGEMEIN *******************
\version "2.23.2"
\include "deutsch.ly"


#(set-global-staff-size 17)
#(set-default-paper-size "a4")


\bookpart {
\score{

%*** TAGS

  \removeWithTag #'Solo
%\keepWithTag #'Solo   
  \keepWithTag #'Coro
  \keepWithTag #'CoroS
%\removeWithTag #'Coro
{
\new GrandStaff
\compressEmptyMeasures
 
<<


% *************** CHORSTIMMEN ***************************

\new ChoirStaff
<<

\new Staff = Soprano
{

<<

                          \new Voice {

                            \set Staff.instrumentName = #"Soprano"


                   \relative c''{
                                    \set Score.tempoHideNote = ##t

                              \clef "treble"
                                  \key c \major
                                  \time 2/2
                                  \tempo"Allegro vivace"
                                 
                                  \autoBeamOff
                                 
                                  c4. ^\markup{Tut[ti]} \ff c8 c2
                                   e4. e8 e2
                                                                 
                                  R1*2/2*1
                                 
                                  \bar "||"
                              % 51
                              \time 6/8
                              \key f \major
                              \tempo "Andante"
                             
                             
                              \tag #'Solo {a,8. ^\markup{Solo} _\markup{p} b16 c8 f,8. g16 a8}
                                                             
                             
                             \tag #'CoroS {R1*6/8*2}
                            % \tag #'Coro {R1*6/8*2}
                             
                              \bar "||"
                              \tempo "piu moto"   
                              a4. ^\markup{Tut[ti]} \f a4 a8
     
                                 \bar "||"
                              % 119
                              \time 2/4
                              \key g \major
                             
                              \tag #'Coro {R1*2/4*5}
                             
                              \bar "||"
                              % 222
                              \time 3/4
                              \key c \major
                              \tempo "Adagio"
                             
                              c4 ^\markup{Tut[ti]} \f c4 c4
                               
                               
                              \bar "|."
                             
                              \autoBeamOn
                             
                              }


                          }

                  \addlyrics{\lyricmode{
 
                          Glo -- ri -- a Glo -- ri -- a 
                                  % Gratias
                                   \tag #'Solo {Gra -- ti -- as gra -- ti -- as }
                     
                                    Qui tol -- lis 
                                  %Quoniam tacet

                              Cum Sanc -- to

                                  }}
                        >>

}





\new Staff = Alto
{

<<

                          \new Voice {

                            \set Staff.instrumentName = #"Alto"


                   \relative c'{

                              \clef "treble"
                                  \key c \major
                                  \time 2/2

                                 
                                  \autoBeamOff
                                 
                                  g'4. ^\markup{\italic{\tiny{[Tutti]}}} \ff g8 g2
                               g4. g8 g2
                                                                 
                                  R1*2/2*1
                                 
                                  \bar "||"
                              % 51
                              \time 6/8
                              \key f \major
                              \tempo "Andante"
                             
                                 
                              \tag #'Coro {R1*6/8*2}
                             
                              \bar "||"
                              \tempo "piu moto"   
                              f4. ^\markup{Tut[ti]} \f f4 f8
     
                                 \bar "||"
                              % 119
                              \time 2/4
                              \key g \major
                             
                              \tag #'Coro {R1*2/4*5}
                             
                              \bar "||"
                              % 222
                              \time 3/4
                              \key c \major
                              \tempo "Adagio"
                             
                              \tempo "Adagio" g4 \f  ^\markup{\tiny{\italic{[Tutti]}}} g4 g4
                               
                               
                              \bar "|."
                             
                              \autoBeamOn
                             
                              }


                          }

                  \addlyrics{\lyricmode{
 
                          Glo -- ri -- a Glo -- ri -- a 
                                  % Gratias tacet
                     
                                    Qui tol -- lis 
                                  %Quoniam tacet

                              Cum Sanc -- to

                                  }}
                        >>

}

\new Staff = Tenore
{

<<

                          \new Voice {

                            \set Staff.instrumentName = #"Tenore"


                   \relative c''{
                                    \set Score.tempoHideNote = ##t

                              \clef "treble"
                                  \key c \major
                                  \time 2/2
                                 
                                  \autoBeamOff
                                 
                                  e4. ^\markup{\tiny{\italic{[Tutti]}}} \f e8 e2
                               c4. c8 c2
                                                                 
                                  R1*2/2*1
                                 
                                  \bar "||"
                              % 51
                              \time 6/8
                              \key f \major
                              \tempo "Andante"
                             
                             
                              \tag #'Coro {R1*6/8*2}
                             
                              \bar "||"
                              \tempo "piu moto"   
                              d4. ^\markup{Tut[ti]} \f d4 d8
     
                                 \bar "||"
                              % 119
                              \time 2/4
                              \key g \major
                             
                              \tag #'Coro {R1*2/4*5}
                             
                              \bar "||"
                              % 222
                              \time 3/4
                              \key c \major
                              \tempo "Adagio"
                             
                              e4 ^\markup{Tut[ti]} \f e4 e4
                               
                               
                              \bar "|."
                             
                              \autoBeamOn
                             
                              }


                          }

                  \addlyrics{\lyricmode{
 
                          Glo -- ri -- a Glo -- ri -- a 
                                  % Gratias
                                   \tag #'Solo {Gra -- ti -- as gra -- ti -- as }
                     
                                    Qui tol -- lis 
                                  %Quoniam tacet

                              Cum Sanc -- to

                                  }}
                        >>

}

\new Staff = Basso
{

<<

                          \new Voice {

                            \set Staff.instrumentName = #"Basso"


                   \relative c{
                                    \set Score.tempoHideNote = ##t

                              \clef "bass"
                                  \key c \major
                                  \time 2/2
                                  \tempo"Allegro vivace"
                                 
                                  \autoBeamOff
                                 
                                c4. ^\markup{\italic{\tiny{[Tutti]}}} _\markup{ff} c'8 c2
                                 c,4. c'8 c2
                                                                 
                                  R1*2/2*1
                                 
                                  \bar "||"
                              % 51
                              \time 6/8
                              \key f \major
                              \tempo "Andante"
                             
                              \tag #'Coro {R1*6/8*2}
                             
                              \bar "||"
                              \tempo "piu moto"   
                              d,4. ^\markup{Tut[ti]} \f d4 d8
     
                                 \bar "||"
                              % 119
                              \time 2/4
                              \key g \major
                             
                              \tempo "Allegretto"

                                \tag #'Solo {g8. \fp ^\markup{Solo} d16 d8 [( h'8) ]
                                %120
                                h8. a16 g8 h8
                                 d8 d8 d4
                                  h4 r4
                                   R1*2/4*1}
                               
                              \tag #'CoroS {R1*2/4*5}
                              %\tag #'Coro {R1*2/4*5}
                                                             
                              \bar "||"
                              % 222
                              \time 3/4
                              \key c \major
                              \tempo "Adagio"
                             
                              c,4 ^\markup{Tut[ti]} \f c4 c4
                               
                               
                              \bar "|."
                             
                              \autoBeamOn
                             
                              }


                          }

                  \addlyrics{\lyricmode{
 
                          Glo -- ri -- a Glo -- ri -- a 
                                  % Gratias tacet
                                                         
                                    Qui tol -- lis 
                                  %Quoniam
                                  \tag #'Solo {Quo -- ni -- am quo -- ni -- am tu so -- lus sanc -- tus}
                                   

                              Cum Sanc -- to

                                  }}
                        >>

}

>>


>>
}

  }



}

Lazy

Ob das ganz minimal ist, ist sicherlich fragwürdig  ;D .

`\removeWithTag` entfernt alles, was den gegebenen Tag hat und `\keepWithTag` entfernt alles, was den gegebenen Tag nicht hat oder nicht getagt ist.

Damit funktioniert dein Ansatz theoretisch schon, es reicht dann einfach `\removeWithTag #'Solo` oder `\keepWithTag #'CoroS`, um ohne Solo auszugeben und umgekehrt um das Solo auszugeben. Du musst aber konsequent zu jedem Solo einen Nichtsoloteil von gleicher Länge angeben. (Wobei in deinem Fall die keep-Varianten nicht funktionieren, da du andere Tags hast).

Dein Code hat im ersten (Sopran)-Solo einen Takt Solo mit zwei Taken Nicht-Solo. Das führt somit je nach Tag zu unterschiedlicher Sopranlänge. Erweitert man das Sopran-Solo um einen Takt Pause (oder reduziert man das Nichtsolo um einen Takt) so funktiert dein Code:

%    ************        DEFINITIONEN ALLGEMEIN        *******************
\version "2.23.2"
\include "deutsch.ly"


#(set-global-staff-size 17)
#(set-default-paper-size "a4")


\bookpart {
\score{

%*** TAGS

 \removeWithTag #'Solo
    {
        \new GrandStaff
        \compressEmptyMeasures
 
        <<


%    ***************        CHORSTIMMEN    ***************************

            \new ChoirStaff
            <<
           
                \new Staff = Soprano
                {

                <<

                              \new Voice {

                                    \set Staff.instrumentName = #"Soprano"


                           \relative c''{
                                    \set Score.tempoHideNote = ##t

                                  \clef "treble"
                                      \key c \major
                                      \time 2/2
                                      \tempo"Allegro vivace"
                                     
                                      \autoBeamOff
                                     
                                      c4. ^\markup{Tut[ti]} \ff c8 c2
                                       e4. e8 e2
                                                                     
                                      R1*2/2*1
                                     
                                      \bar "||"
                              % 51
                                  \time 6/8
                                  \key f \major
                                  \tempo "Andante"
                                 
                                     
                                  \tag #'Solo {a,8. ^\markup{Solo} _\markup{p} b16 c8 f,8. g16 a8 R2. }
                                                                     
                                 
                                 \tag #'CoroS {R1*6/8*2}
                                % \tag #'Coro {R1*6/8*2}
                                 
                                  \bar "||"
                                  \tempo "piu moto"   
                                  a4. ^\markup{Tut[ti]} \f a4 a8
     
                                     \bar "||"
                              % 119
                                  \time 2/4
                                  \key g \major
                                 
                                  \tag #'Coro {R1*2/4*5}
                                 
                                  \bar "||"
                              % 222
                                  \time 3/4
                                  \key c \major
                                  \tempo "Adagio"
                                 
                                  c4 ^\markup{Tut[ti]} \f c4 c4
                                   
                                   
                                  \bar "|."
                                 
                                  \autoBeamOn
                             
                                      }
       
       
                              }
   
                          \addlyrics{\lyricmode{
     
                              Glo -- ri -- a Glo -- ri -- a
                                  % Gratias
                                   \tag #'Solo {Gra -- ti -- as gra -- ti -- as }
                     
                                    Qui tol -- lis
                                  %Quoniam tacet

                                  Cum Sanc -- to

                                  }}
                            >>

                }
               
               
               
               
               
                \new Staff = Alto
                {

                    <<

                              \new Voice {

                                    \set Staff.instrumentName = #"Alto"


                           \relative c'{

                                  \clef "treble"
                                      \key c \major
                                      \time 2/2

                                     
                                      \autoBeamOff
                                     
                                      g'4. ^\markup{\italic{\tiny{[Tutti]}}} \ff g8 g2
                                   g4. g8 g2
                                                                     
                                      R1*2/2*1
                                     
                                      \bar "||"
                              % 51
                                  \time 6/8
                                  \key f \major
                                  \tempo "Andante"
                                 
                                   
                                  \tag #'Coro {R1*6/8*2}
                                 
                                  \bar "||"
                                  \tempo "piu moto"   
                                  f4. ^\markup{Tut[ti]} \f f4 f8
     
                                     \bar "||"
                              % 119
                                  \time 2/4
                                  \key g \major
                                 
                                  \tag #'Coro {R1*2/4*5}
                                 
                                  \bar "||"
                              % 222
                                  \time 3/4
                                  \key c \major
                                  \tempo "Adagio"
                                 
                                  \tempo "Adagio" g4 \f  ^\markup{\tiny{\italic{[Tutti]}}} g4 g4
                                   
                                   
                                  \bar "|."
                                 
                                  \autoBeamOn
                             
                                      }
       
       
                              }
   
                          \addlyrics{\lyricmode{
     
                              Glo -- ri -- a Glo -- ri -- a
                                  % Gratias tacet
                     
                                    Qui tol -- lis
                                  %Quoniam tacet

                                  Cum Sanc -- to

                                  }}
                            >>

                }
       
                \new Staff = Tenore
                {

                    <<

                              \new Voice {

                                    \set Staff.instrumentName = #"Tenore"


                           \relative c''{
                                    \set Score.tempoHideNote = ##t

                                  \clef "treble"
                                      \key c \major
                                      \time 2/2
                                     
                                      \autoBeamOff
                                     
                                      e4. ^\markup{\tiny{\italic{[Tutti]}}} \f e8 e2
                                   c4. c8 c2
                                                                     
                                      R1*2/2*1
                                     
                                      \bar "||"
                              % 51
                                  \time 6/8
                                  \key f \major
                                  \tempo "Andante"
                                 
                                 
                                  \tag #'Coro {R1*6/8*2}
                                 
                                  \bar "||"
                                  \tempo "piu moto"   
                                  d4. ^\markup{Tut[ti]} \f d4 d8
     
                                     \bar "||"
                              % 119
                                  \time 2/4
                                  \key g \major
                                 
                                  \tag #'Coro {R1*2/4*5}
                                 
                                  \bar "||"
                              % 222
                                  \time 3/4
                                  \key c \major
                                  \tempo "Adagio"
                                 
                                  e4 ^\markup{Tut[ti]} \f e4 e4
                                   
                                   
                                  \bar "|."
                                 
                                  \autoBeamOn
                             
                                      }
       
       
                              }
   
                          \addlyrics{\lyricmode{
     
                              Glo -- ri -- a Glo -- ri -- a
                                  % Gratias
                                   \tag #'Solo {Gra -- ti -- as gra -- ti -- as }
                     
                                    Qui tol -- lis
                                  %Quoniam tacet

                                  Cum Sanc -- to

                                  }}
                            >>

                }

                \new Staff = Basso
                {

                    <<

                              \new Voice {

                                    \set Staff.instrumentName = #"Basso"


                           \relative c{
                                    \set Score.tempoHideNote = ##t

                                  \clef "bass"
                                      \key c \major
                                      \time 2/2
                                      \tempo"Allegro vivace"
                                     
                                      \autoBeamOff
                                     
                                    c4. ^\markup{\italic{\tiny{[Tutti]}}} _\markup{ff} c'8 c2
                                     c,4. c'8 c2
                                                                     
                                      R1*2/2*1
                                     
                                      \bar "||"
                              % 51
                                  \time 6/8
                                  \key f \major
                                  \tempo "Andante"
                                 
                                  \tag #'Coro {R1*6/8*2}
                                 
                                  \bar "||"
                                  \tempo "piu moto"   
                                  d,4. ^\markup{Tut[ti]} \f d4 d8
     
                                     \bar "||"
                              % 119
                                  \time 2/4
                                  \key g \major
                                 
                                  \tempo "Allegretto"
   
                                    \tag #'Solo {g8. \fp ^\markup{Solo} d16 d8 [( h'8) ]
                                %120   
                                    h8. a16 g8 h8
                                     d8 d8 d4
                                      h4 r4
                                       R1*2/4*1}
                                   
                                  \tag #'CoroS {R1*2/4*5}
                                  %\tag #'Coro {R1*2/4*5}
                                                                 
                                  \bar "||"
                              % 222
                                  \time 3/4
                                  \key c \major
                                  \tempo "Adagio"
                                 
                                  c,4 ^\markup{Tut[ti]} \f c4 c4
                                   
                                   
                                  \bar "|."
                                 
                                  \autoBeamOn
                             
                                      }
       
       
                              }
   
                          \addlyrics{\lyricmode{
     
                              Glo -- ri -- a Glo -- ri -- a
                                  % Gratias tacet
                                                         
                                    Qui tol -- lis
                                  %Quoniam
                                  \tag #'Solo {Quo -- ni -- am quo -- ni -- am tu so -- lus sanc -- tus}
                                   

                                  Cum Sanc -- to

                                  }}
                            >>

                }

            >>


        >>
    }

  }



}

Schöner wird das aber, wenn man dafür ein paar kleine Hilfsfunktionen schreibt:

solo =
#(define-music-function (solo nonsolo) (ly:music? ly:music?)
   #{ \tag #'solo #solo \tag #'rsolo #nonsolo #})

printSolo =
#(define-music-function (flag mus) (boolean? ly:music?)
   (if flag
       #{ \removeWithTag #'rsolo #mus #}
       #{ \removeWithTag #'solo #mus #}))

fbsolo =
#(define-music-function (solomus) (ly:music?)
   (let* ((mom (ly:music-length solomus))
          (frac (/ (ly:moment-main-numerator mom) (ly:moment-main-denominator mom))))
     (solo solomus #{ \scaleDurations #frac R1 #})))

\printSolo ##t \fbsolo { c1 }
\printSolo ##f \fbsolo { c1 }

sop = {
  <>^"Tutti"
  c''4 d'' e'' f''
  \fbsolo {
    <>^"Solo"
    g'' f'' e'' d''
    c'' b' c'' d''
  }
  <>^"Tutti"
  c''2
}

lyrS = \lyricmode {
  a b c d \solo { e f g h i j k l } { } m
}

lyrA = \lyricmode {
  a b \solo { c d e f } { } g
}

alt = {
  <>^"Tutti"
  g'2 g'
  \fbsolo {
    <>^"Solo"
    b' g'
    e' g'
  }
  <>^"Tutti"
  g'
}

\printSolo ##t
\new ChoirStaff <<
  \new Staff \sop \addlyrics \lyrS
  \new Staff \alt \addlyrics \lyrA
>>

\printSolo ##f \compressMMRests
\new ChoirStaff <<
  \new Staff \sop \addlyrics \lyrS
  \new Staff \alt \addlyrics \lyrA
>>