repeat volta: 2. Alternative in neuem repeat volta

Begonnen von Manuela, Montag, 23. November 2020, 20:07

« vorheriges - nächstes »

Manuela

Wie kriege ich es hin, dass die zweite Alternative zum nächsten repeat volta gehört?
Es soll so aussehen wie in diesem Schnipsel

\version "2.20.0"
\language "deutsch"

\relative c'' {
  \repeat volta 2 { c4 c c c }
  \alternative
  {
    {
      g g g g
    }
    { \bar ":|.:"e e e e }
  }
  \repeat volta 2
  { c4 c c c }
}


allerding soll anstelle der letzten öffnenden Wiederholungsbarline ein normaler Taktstrich kommen. Und das ganze ohne zusätzlich Barstriche einzufügen weil das im Midi anschließend auch korrekt erzeugt werden soll.

Stehe ich auf der Leitung oder ist meine Vorstellung unmusikalisch?

Update: Hat sich erübrigt, ich habe umstrukturiert
Danke für eure Hilfe
viele Grüße
-- Manuela

Arnold

Hallo Manuela,

siehe https://archiv.lilypondforum.de/index.php/topic,2229.msg12399.html#msg12399

Zusammengefasst:

  • Die Folge-Wiederholung innerhalb der zweiten Alternative (nicht danach)
  • Länge der zweiten Voltenklammer begrenzen: \set Score.voltaSpannerDuration = #(ly:make-moment ...)
  • Falls die Buchstabenergänzung für die Taktzahlen in den Alternativen verwendet wird (\set Score.alternativeNumberingStyle = #'numbers-with-letters), dann diese Alternativen-Zählnummer an passender Stelle (beim manuellen Ende der Voltenklammer) zurücksetzen: #(make-music 'AlternativeEvent 'alternative-dir 1 'alternative-increment 0)
Arnold

Manuela

Danke für deine Antwort, Arnold. Du hattest genau das gleiche Problem mit der Midi-Ausgabe, wie ich sehe  :)
Danke für eure Hilfe
viele Grüße
-- Manuela

Arnold

Hallo Manuela,

und da ich es auch lästig finde, immer die Länge für die Voltaklammer ausrechnen zu müssen, überlegte ich, ob das nicht eine SCHEME-Musik-Funktion übernehmen kann.
Nach den Erfahrungen mit der ersten Funktion withVoltaSpannerLength, welche vermutlich Probleme bereiten wird, wenn z. Bsp. ein 12/8-Takt mit einem 4/4-Takt in einer Partitur (mit gleicher Taktlänge) zu kombinieren ist, kam ich auf die zweite Funktion terminateVolta, bei der allerdings der Logikwert-Parameter nicht als optionales Funktionsargument realisierbar war.

Es wäre dann vielleicht anzuregen, daß eine Beschreibung für diese Konstellation als »selected Snippet« ins Handbuch kommt.
Aber noch bin ich mir nicht im klaren, welche Variante(n) dazu angebracht ist.

Arnold

Manuela

Arnold danke nochmal.

Wie bereits gesagt, aktuell habe ich das Prolem nicht, weil ich die Datei umstrukturiert habe.
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6

@ Arnold

Hast Du schon folgendes gesehen (recht neu in master)?
Zitat
commit 18ca44925292a2d5556fd9b2a1eb0f9efb3f9936
Author: Dan Eble <gelöscht, Harm>
Date:   Sun Oct 18 12:09:54 2020 -0400

    Add \volta i,j,k function to mark volta-specific music
   
    The \volta function marks a music expression as being limited to the
    specified volte when the immediately enclosing repeat is unfolded.
   
    \volta #'() has the natural effect of removing the music entirely when
    it is unfolded.  Its complement is the \unfolded function, which masks
    music until it is unfolded.
   
    The user may supply \volta on the elements of \alternative {}.  If the
    user does not, LilyPond adds it internally to match the legacy behavior
    of repeating the first alternative the necessary number of times to
    reach the repeat count.
   
    The \volta function wraps music in VoltaSpeccedMusic.
    Volta_specced_music_iterator sends VoltaSpanEvents announcing where
    these spans of music start and stop (with the assigned labels).
   
    Volta_engraver automatically constructs bracket labels based on
    VoltaSpanEvents.  Automatic labels are coded to have lower precedence
    than labels set in the repeatCommands context property.  I have chosen
    not to regression-test interaction between automatic and manual labels
    thoroughly because the NR says that repeatCommands is for unusual cases
    and "may produce unexpected behavior;" however, I have added one
    important case involving a volta bracket overhanging the next section.
   
    Volta number formatting changes:
      1. Do not use a dash in a range spanning only two numbers.
      2. Use an em dash instead of two hyphens.
   
    Volta_repeat_iterator ...
   
    * no longer sets the volta label in the repeatCommands context property.
      Volta_specced_music_iterator and Volta_engraver have taken over.
   
    * now ends the final alternative with an end-repeat bar if it applies to
      any volta other than the final volta
   
    Repeat_acknowledge_engraver listens for volta span events (from \volta)
    and inserts invisible bars when necessary to allow aligning brackets.
   
    KNOWN ISSUE
   
    The process of unfolding repeats filters volta-specific music but does
    not recompute the length of the music.  Therefore, \volta can be used in
    the main body of a repeated section to specify simultaneous alternatives
    of the same length, but it can not generally be used to insert or remove
    arbitrary music.

und ähnliche.

Darüberhinaus gibts gerade diesen thread auf -devel:
https://lists.gnu.org/archive/html/lilypond-devel/2020-12/msg00029.html

Ich habe aber nicht wirklich geprüft, ob das Ganze wirklich das Thema trifft ;)


Gruß,
  HarmP

Arnold

Also Harm,

mit dem Beitrag von Dan Elbe komme ich nicht so klar.
Das liegt aber sicherlich nicht daran, daß meine erste Assoziation zu »i,j,k« die »drei zueinander senkrecht stehenden Imaginärteile der Hyperkomplexen Zahlen« waren.

Ich versuche hier, eine Gesamtübersicht der »besonderen Konstellationen von wiederholter Musik« aufzulisten, wovon der Beitrag von Dan vermutlich nur a) und f) abdeckt.
Alle sind außer für des Notenbild zu bewerten bei
(1) entfalten der Musik für die MIDI-Ausgabe
(2) konsistente Taktzahlen in Partitur und Einzelstimmen (für die drei Zählweisen »durchzählen«, »Alternativen beginnen mit gleicher Taktzahl«, und »Alternativen beginnen mit gleicher Taktzahl, werden jedoch durch Anhängen eines Buchstabens wieder eindeutig«)


  • a) nichtsequentielle Voltenfolge:
    a1) z. Bsp. "1.+4." | "2.+5.-7." | "3." | "8."
    a2) z. Bsp. "1." | "beim D.C." bzw. "Fine." | "2." (in meinen gedruckten Beispielnoten wäre bei einem Coda-Sprung als alternative Notationsweise dieser Rest nur einen 3/4 Volltakt lang)
  • b) jeweils nur die minimale Voltenlänge in den Einzelstimmen, in der Partitur natürlich das Maximum der Einzelstimmen
    Hilfsweise mit \tagGroup #'(Part Score Midi) und meinem \tee lösbar, Baustellellen sind noch »zu verschmelzende Ganztaktpausen« und die dann in den Einzelstimmen entstehenden »Wiederholungen, mit Alternativen ohne Noteninhalt«
  • c) verkürzte Voltenlänge (ist im Handbuch schon beschrieben)
  • d) Überschneidung letzte Volta-Klammer der Vorgänger-Wiederholung mit der Folgewiederholung (das hier in diesem Gesamtbeitrag ursprünglich erwähnte Problem)
  • e) konsistente Taktzahlen, wenn in einzelnen Stimmen aus Umblätter-Gründen einzele Wiederholungen oder auch das D.C. bzw. D.S. »entfaltet« notiert werden.
    Derzeit nur manuelles setzen der Taktzahlen, somit fehleranfällig, kein selektives unfold nur der Wiederholungen mit spezifischem Tag
  • f) Eingabe (aller) Einzelstimmen mit \parallelMusic (aber alle Stimmen müssen alleine entfaltbar sein)
  • g) Lyrics entfalten - unter anderem für die MIDI-Ausgabe - wenn die wiederholte Melodie (in der gleichen Strophe) mit abweichendem Text unterlegt ist.

Zum »Verschmelzen von Ganztaktpausen« in Situation b) und f) hätte ich als Eingabe-Idee, den Tie zu verwenden. Dann sollte aus »R1  ~ | R1 ~ | R1« ein »R1*3« werden, falls kein spezieller Taktstrich oder Voltenanfang/Ende oder Rehearsalmark (oder anderes noch zu spezifizierendes Event) dazwischen kommt.

Arnold