Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: Köbi am Sonntag, 4. September 2016, 09:36

Titel: Automatische Balken bei Triolen
Beitrag von: Köbi am Sonntag, 4. September 2016, 09:36
Hallo zusammen

Ich bin neu bei Lilypond und bin daran, mein erstes Werk damit zu schreiben :-) Leider habe ich nicht herausgefunden, warum Lilypond meine Balken nicht automatisch so setzt, wie ich es erwarte :-(. Üblich ist doch, dass bei einem 2/2-Takt die 8-el Triolen in (wie bei 4/4) Dreiergruppen bebalkt werden, sowie ich es in der zweiten Hälfte des ersten Takts manuell gemacht habe? Das gleiche gilt für 16-tel Triolen im 2/4 Takt und die Kombination mit 16-teln. Was mache ich falsch, resp. wie bringe ich Ly für genau diese zwei Fälle eine andere Balken-Automatik bei?
\version "2.18.2"  % oder 2.19.46
\relative c'' {
  \time 2/2 \repeat unfold 2 { \tuplet 3/2 { c8 c c } } \repeat unfold 2 { \tuplet 3/2 { c8 [ c c ] } }
  \time 2/4 \repeat unfold 2 { \tuplet 3/2 { c16 c c } } \repeat unfold 2 { \tuplet 3/2 { c16 [ c c ] } }
  \time 2/4 c16. c32 \tuplet 3/2 { c16 c c } c16 c \tuplet 3/2 { c16 c c }
}

Danke im voraus und schöne Grüsse aus der Schweiz
Köbi
Titel: Re: Automatische Balken bei Triolen
Beitrag von: Manuela am Sonntag, 4. September 2016, 11:21
Herzlich willkommen im Club  ;) ich habe auch schon so manchen Schweißtropfen vergossen.

Hier ein paar Ideen zum Probieren:
\version "2.18.2"  % oder 2.19.46
\relative c'' {
  \set Voice.beamExceptions = #'()
  \set Voice.baseMoment = #(ly:make-moment 1/4)
  \set Voice.beatStructure = #'(1 1 1 1 )  %% abhängig vom Takt
  %\tupletSpan 1
  \time 2/2

  \repeat unfold 2
  { \tuplet 3/2 { c8 c c } } \repeat unfold 2 { \tuplet 3/2 { c8  c c  } }
  \set Voice.baseMoment = #(ly:make-moment 1/8)
  \time 2/4
  \repeat unfold 2  { \tuplet 3/2 { c16 c c } }
  \repeat unfold 2 { \tuplet 3/2 { c16  c c  } }
  \time 2/4 c16. c32
  \tuplet 3/2 { c16 c c } c16 c
  \tuplet 3/2 { c16 c c }
}
Titel: Re: Automatische Balken bei Triolen
Beitrag von: fugenkomponist am Sonntag, 4. September 2016, 11:38
Kurze Antwort, da ich nicht viel Zeit habe: Ist nicht uneingeschränkt üblich, nein; Balken werden sehr oft halbtaktig gesetzt (also wie Achtel, nicht wie Sechzehntel im 2/2-Takt). Hier eine Lösung, wie man das trotzdem erreicht (die \repeats hab ich für mich rausgenommen, funktioniert aber natürlich auch mit denen):

\version "2.19.46"

\relative c'' {
 
  \time 2/2
  \set beamExceptions = \beamExceptions {
    c8*2/3[ c c] c[ c c] c[ c c] c[ c c]
  }
  \tuplet 3/2 4 { c8 c c c c c }
  \tuplet 3/2 { c8 [ c c ] }
  \tuplet 3/2 { c8 [ c c ] }

  \time 2/4
  \set beamExceptions = \beamExceptions {
    c16*2/3[ c c] c[ c c] c[ c c] c[ c c]
  }
  \tuplet 3/2 8 { c16 c c c c c }
  \tuplet 3/2 { c16 [ c c ] }
  \tuplet 3/2 { c16 [ c c ] }
  c16. c32 \tuplet 3/2 { c16 c c }
  c16 c \tuplet 3/2 { c16 c c }
}
Titel: Re: Automatische Balken bei Triolen
Beitrag von: Köbi am Sonntag, 4. September 2016, 15:17
Ihr seid ja wahnsinnig schnell!

@Manuela: Damit habe ich schon rum experimentiert. Das Problem ist, dass dann die Achtel nicht mehr in den gewünschten grösseren Gruppen bebalkt werden.

@fugenkomponist: Danke, das funktioniert. Ich habe zwar gesehen, dass in 2.19 da etwas gegangen ist, aber ich habe es nicht hinbekommen.

Aufgrund der Antworten konnte ich noch ein bisschen weiter forschen und habe jetzt folgendes eingebaut, was (im Moment) meine Probleme löst:

  \set beamExceptions = #'((end . (
    (1/8 . (4))
    (1/12 . (3 3 3 3))
    (1/24 . (3 3 3 3 3 3 3 3))
  )))

Weiterhin einen schönen Sonntag wünsche ich euch.