Asynchrone Stimmen in Staff und StaffGroup

Begonnen von theresa_h, Montag, 24. März 2025, 10:59

« vorheriges - nächstes »

theresa_h

Hallo liebes Forum,

ich setze schon recht lange mit lilypond, scheitere aber leider kolossal an einer sehr verzwickten Aufgabe.
Konkret geht es um drei Instrumente, die asynchron fortschreiten. Trotzdem kommt eine grobe Taktaufteilung zum Einsatz, die sich über eine bestimmte Dauer definiert.

Leider hat das Ausschalten von "Timing_translator" nicht geholfen. Prinzipiell ist das Problem, dass mithilfe sehr vieler unsichtbarer Noten das Bild exakt reproduziert werden müsste, aber es verschiebt sich ständig alles.

Mein Traum wäre mittlerweile eine manuelle Anordnung der Noten ungesehen der Tonlänge der anderen Stimmen und dann ein komplett manueller Systemumbruch.
Daher meine Frage: Gibt es eine Option mit lilypond 2.24.4, mithilfe derer ich Systeme manuell umbrechen kann und dann in jedem System aneinandergereiht (mit meinetwegen zusätzlichen manuellen Abständen) die jeweiligen zu spielenden Motive notiere, ohne dass sie in die horizontale Verteilung der Noten bei den anderen Stimmen reinpfuschen?

Habt ihr vielleicht noch eine andere Idee, wie ich das Problem lösen könnte?


Das Bild zeigt den Beginn des Stücks.

Cembalo zusammen zu bringen ist unproblematisch, weil immer synchron. Daher nachfolgend ein MWE für Flöte und rechte Hand Cembalo, die anderen Instrumente sind mal ausgeklammert.

Vielen Dank schonmal für die Hilfe! Für mich wirkt das Problem unlösbar, von daher bin ich für jeden Hinweis schon sehr dankbar!

\score {
    <<                     
       \new StaffGroup
   
           <<         
              \new Staff = fl \with {instrumentName = \markup \italic \fontsize #-1 "    FLÖTE "
                               shortInstrumentName = \markup \fontsize #-1 \italic "FL"
              \remove "Timing_translator"
              }         
                                        { << \global \fl  >> }
          %     \new Staff = gbe \with {instrumentName = \markup \italic \fontsize #-1 "    GAMBE"
             %                  shortInstrumentName = \markup \fontsize #-1 \italic "GBE"}
               %                         { << \global \gbe   >> }
                      >>
   %    \new Staff = gsa \with {
     %      instrumentName = \markup \italic \fontsize #-1 "    GESANG"
       %                     shortInstrumentName = \markup \italic \fontsize #-1 "GES" }
         %                     << \new Voice = gsa {\global \gsa }>>
           %         \new Lyrics \lyricsto gsa \gsaText      
             
             
             \new PianoStaff \with {instrumentName = \markup \italic \fontsize #-1 "      CEMBALO"
                                     shortInstrumentName = \markup \fontsize #-1 \italic "CEMB"
             \remove "Timing_translator"}
                  <<        
                       \new Staff = "up" \with { \remove "Timing_translator" }  <<\global \upper >>
                      %  \dynamics
                        \new Staff = "down" \with { \remove "Timing_translator" }  <<\global \lower >>
                  >>
            >>
     
  \layout {           
      \context {
    \Score
   
    \remove "Timing_translator"
  }
 
      \context {
          \Staff
        %  \consists "Timing_translator"
 
%\override VerticalAxisGroup #'remove-first = ##t

    % \consists "Span_arpeggio_engraver"
     \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
     %\override Score.SpacingSpanner.uniform-stretching = ##t                 
    }
   
  \context {
      \PianoStaff
   %   \consists "Timing_translator"
     \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
  }
     
      \context {
      \StaffGroup
      %\consists "Timing_translator"
     \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
  }
     
  indent = 18
  short-indent = 12
  }
}

%Flöte
fl = \relative c''' {    
\global
\once \hide Staff.TimeSignature
\clef treble
\cadenzaOn

%\override Staff.MultiMeasureRest #'usable-duration-logs = #'(0)
\override Staff.Stem.transparent = ##t
d32_\f cis, bes' g \breathe  \noBreak s128 \breathe e16\staccato gis,16~-> gis^\markup \openBracket #6 d' gis, d' ^\markup \closeBracket #8 ^\markup \dash-dot-pattern #2 #1 #5 s4
s16*5 d'32_\f cis,! bes'! g \breathe  \noBreak s128 \breathe e16\staccato gis,!16~-> gis64^\markup \openBracket #6 d' gis, d' ^\markup \closeBracket #8 ^\markup \dash-dot-pattern #2 #1 #6 s4 s8

}

%rechte Hand Cembalo
upper = \relative c'' {
 
    \once \hide Staff.TimeSignature
  \clef treble
  \global
  \override Beam.breakable = ##t
  \cadenzaOn
\override Staff.Stem.transparent = ##t
\tuplet 5/4 { ais16( gis fis dis cis!) } s128 f!16 ^\markup \openBracketAccidental #6 e f e ^\markup \closeBracket #1 ^\markup \dash-dot-pattern-up #2 #1 #4 s4
\breathe 
\tuplet 5/4 { ais16( gis fis dis cis!) } s128 f!16 ^\markup \openBracketAccidental #6 e f e ^\markup \closeBracket #1 ^\markup \dash-dot-pattern-up #2 #1 #2 \noBreak s8 \noBreak
\breathe  \noBreak
\tuplet 5/4 { ais!16 \noBreak gis! \noBreak fis! \noBreak dis! \noBreak cis! \noBreak } s128
}


Malte

Hallo Theresa,

willkommen im Forum! Ich habe gerade nicht viel Zeit, aber eine Idee: Mit \markup \score könntest du einzelne Stellen der einzelnen Instrumente erstellen und dann rumschieben, sodass sie genau über die (ansonsten leeren) Notenlinien passen. Das braucht vermutlich etwas Rumprobieren.

Viele Grüße
Malte