"krummer" Auftakt?

Begonnen von Wabbe, Donnerstag, 10. Mai 2018, 12:45

« vorheriges - nächstes »

Wabbe

Vorweg: Bin Laie und versuche mich durch Notationsmöglichkeiten "durchzuwurschteln".
Habe ein Beethoven-Trio in die Hand bekommen (eigentlich "Menuett und Trio", 3/4 Takt). Es geht mir um den Auftakt. Das Menuett hat 1/4 Auftakt, endet aber in der zweiten Wiederholung in einem Takt mit 1/4 plus 1/8. Das Trio beginnt (entsprechend) auch mit einem Auftakt 1/8 plus 1/4, damit stimmt also der Übegang. Ich finde aber keine Möglichkeit, für das Trio diesen "krummen" Auftakt zu notieren. Geht sowas? Oder habe ich einfach nur eine "falsche" Abschrift in die Hand bekommen?

Malte

#1
Hallo Wabbe,

willkommen im Forum! Bitte gib bei Fragen immer deine LilyPond-Version und möglichst auch ein kompilierbares Minimalbeispiel an. Letzteres ist u. a. wichtig, weil es für ein Problem oft mehrere Lösungen geben kann, abhängig davon, wie dein Code strukturiert ist.

Grundsätzlich kann man Auftakte beliebiger Länge notieren. ¼ + ⅛ wäre ja nichts anderes als eine punktierte Viertel, also

\partial 4.

Stattdessen könnte man das aber auch ausschreiben als ,,drei Achtel" bzw. eigentlich ,,⅛ mal 3":

\partial 8*3


Um welches Stück genau geht es denn? Grundsätzlich ist an so verschiedenen Auftakten nichts auszusetzen, bei Wiederholungen bräuchte man dann allerdings vermutlich erste und zweite Klammer, ungefähr in folgendem Stil:\version "2.19.81"

\relative {
  \time 3/4
  \repeat volta 2 {
    \partial 4
    c'4
    c e g
    c2
  }
  \repeat volta 2 {
    c4
    c g e
  }
  \alternative {
    { c2 }
    { c4. \bar "|." }
  }
}

Wabbe

Vielen Dank für die superschnelle und einleuchtende Antwort. Lilypond steckt bei mir im Fresobaldi 3.0.1
Quelltext folgt, wobei ich der Kürze halber die mittleren Takte des Trios weggelassen habe, denn es geht hier um Anfang und Ende.
Mich wundert jetzt vor allem, dass im zweiten Wiederholungskasten des Menuetts die Taktstriche anders sitzen als ich erwartet hätte, und gleiches trifft für das Ende des Trios zu.


\version "2.18.2"

\header {
  title = "Menuett und Trio"
  %instrument = "Violine"
  composer = "L. v. Beethoven"
  % meter = "langsam"
}

global = {
  \key g \major
  \time 3/4
  \partial 4
  %  \tempo "langsam"
}

violin = \relative c'' {
  \global

  \tempo "Allegretto"
  % Die Noten folgen hier.

  \repeat volta 2 {
    r4
    d,4-- (d-- d--) d2 (e4) c2 (d4) b r r
    b-- (b-- b--) b2 (b4) a2 (a4) fis' r
  }

  \repeat volta 2 {
    r4
    d--\9 (d-- d--) d2 d4 (d2) e4 d4. r8 r4 g-- (g-- g--) g2 g4 g2 (fis4)
  }

  \alternative {
    {g4_"Fine" r }
    {g4 r8  \bar "|." }
  }

}


violinx = \relative c'' {

  \global


  % Die Noten folgen hier.

  \repeat volta 2 {
    r8 r4 r4 d,2

    a4 r8

  }

  \repeat volta 2 {
    r8 r4

    d4 (c) a

  }
  \alternative {
    {c4 b8 }
    {c4_"Menuett D. C." b8  \bar "|." }
  }

}

\markup {"Menuett"}


\score {
  \new Staff \with {
    instrumentName = "Viol."
    midiInstrument = "violin"
  } \violin
  \layout { }
  \midi {
    \tempo 4=100
  }
}

\markup {"Trio"}

\score {
  \new Staff \with {
    instrumentName = "Viol."
    midiInstrument = "violin"
  } \violinx
  \layout {
    \context {
      \Score
      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
    }
  }
  \midi {
    \tempo 4=100
  }
}





Zitat von: Malte am Donnerstag, 10. Mai 2018, 13:00
Hallo Wabbe,

willkommen im Forum! Bitte gib bei Fragen immer deine LilyPond-Version und möglichst auch ein kompilierbares Minimalbeispiel an. Letzteres ist u. a. wichtig, weil es für ein Problem oft mehrere Lösungen geben kann, abhängig davon, wie dein Code strukturiert ist.
. . .

Malte

Zitat von: Wabbe am Donnerstag, 10. Mai 2018, 13:45
Vielen Dank für die superschnelle und einleuchtende Antwort. Lilypond steckt bei mir im Fresobaldi 3.0.1
Ich meinte tatsächlich nicht die Frescobaldi-, sondern die LilyPond-Version, das ist in deinem Fall vermutlich 2.18.2 (in Frescobaldi kannst du das im ,,LilyPond-Protokoll" nachlesen, der \version-Befehl sollte i. d. R. aber auch deine verwendete Version widerspiegeln, deshalb meine Vermutung).
Zitat
Mich wundert jetzt vor allem, dass im zweiten Wiederholungskasten des Menuetts die Taktstriche anders sitzen als ich erwartet hätte, und gleiches trifft für das Ende des Trios zu.
Hier gibts zwei Probleme:

1. Den Auftakt hast du mit in die Definition von \global gepackt. Damit steht auch im Trio effektiv ,,\partial 4" statt ,,\partial 4."; beachte hier den Punkt, der ist essentiell!

2. Version 2.18.2 hat den Fehler, daß es Takte auch durch die beiden Klammern durchzählt. Das heißt in deinem Fall, daß die zweite Klammer nicht auf Schlag 1 beginnt, sondern auf Schlag 3, daher der überflüssige Taktstrich. Es gibt zwei mögliche Abhilfen: Entweder du verwendest eine neuere LilyPond-Version (aktuell wäre das 2.19.81) oder du teilst LilyPond von Hand mit, daß die erste Klammer kürzer ist:\alternative {
    {
      \set Score.measureLength = #(ly:make-moment 2/4)
      g4_"Fine" r
    }
    { g4 r8 \bar "|." }
  }
Wenn das Stück hier noch weiterginge, müßtest du measureLength anschließend wieder auf 3/4 setzen.

Eine Frage hätte ich noch: Du schreibst am Ende die Zeile       \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)

Was möchtest du damit erreichen? Grundsätzlich sollte LilyPond bei so einfacher Musik eigentlich ganz gut in der Lage sein, ein gutes Layout zu erzeugen. Falls du z. B. mehr oder weniger Zeilen oder Zeilenumbrüche an anderen Stellen haben möchtest, gibt es dafür bessere Alternativen als SpacingSpanner.base-shortest-duration zu setzen.

Wabbe

Hallo Malte, nochmal danke für die freundliche Antwort.
Um die Versionsgeschichten werde ich mich nachher mal kümmern.
Zum \override Spacing. . . : Das benutze ich bisher immer dann, wenn ich das Notenbild etwas dehnen will, wenn die Automatik mir das zu eng macht.
Beste Grüße  --  Wabbe


Zitat von: Malte am Donnerstag, 10. Mai 2018, 14:23
Zitat von: Wabbe am Donnerstag, 10. Mai 2018, 13:45
Vielen Dank für die superschnelle und einleuchtende Antwort. Lilypond steckt bei mir im Fresobaldi 3.0.1
Ich meinte tatsächlich nicht die Frescobaldi-, sondern die LilyPond-Version, das ist in deinem Fall vermutlich 2.18.2 (in Frescobaldi kannst du das im ,,LilyPond-Protokoll" nachlesen, der \version-Befehl sollte i. d. R. aber auch deine verwendete Version widerspiegeln, deshalb meine Vermutung).
Zitat
Mich wundert jetzt vor allem, dass im zweiten Wiederholungskasten des Menuetts die Taktstriche anders sitzen als ich erwartet hätte, und gleiches trifft für das Ende des Trios zu.
Hier gibts zwei Probleme:

1. Den Auftakt hast du mit in die Definition von \global gepackt. Damit steht auch im Trio effektiv ,,\partial 4" statt ,,\partial 4."; beachte hier den Punkt, der ist essentiell!

2. Version 2.18.2 hat den Fehler, daß es Takte auch durch die beiden Klammern durchzählt. Das heißt in deinem Fall, daß die zweite Klammer nicht auf Schlag 1 beginnt, sondern auf Schlag 3, daher der überflüssige Taktstrich. Es gibt zwei mögliche Abhilfen: Entweder du verwendest eine neuere LilyPond-Version (aktuell wäre das 2.19.81) oder du teilst LilyPond von Hand mit, daß die erste Klammer kürzer ist:\alternative {
    {
      \set Score.measureLength = #(ly:make-moment 2/4)
      g4_"Fine" r
    }
    { g4 r8 \bar "|." }
  }
Wenn das Stück hier noch weiterginge, müßtest du measureLength anschließend wieder auf 3/4 setzen.

Eine Frage hätte ich noch: Du schreibst am Ende die Zeile       \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)

Was möchtest du damit erreichen? Grundsätzlich sollte LilyPond bei so einfacher Musik eigentlich ganz gut in der Lage sein, ein gutes Layout zu erzeugen. Falls du z. B. mehr oder weniger Zeilen oder Zeilenumbrüche an anderen Stellen haben möchtest, gibt es dafür bessere Alternativen als SpacingSpanner.base-shortest-duration zu setzen.

Malte

Zitat von: Wabbe am Donnerstag, 10. Mai 2018, 14:53
Zum \override Spacing. . . : Das benutze ich bisher immer dann, wenn ich das Notenbild etwas dehnen will, wenn die Automatik mir das zu eng macht.
Hm ... ich bin mir ehrlich gesagt nicht sicher, ob das nicht irgendwelche ungewünschten Seiteneffekte haben könnte (z. B. daß kleine Noten vielleicht auch noch mehr gedehnt werden als große) ... Wahrscheinlich nicht. Aber falls doch: Man könnte stattdessen deine \layout-Blöcke z. B. mit einer Vorgabe für die Zeilenanzahl befüllen:

  \layout {
    system-count = 3
  }

Gibt auch noch weitere Möglichkeiten, z. B. page-count, systems-per-page, ragged-last-bottom, ...

Wabbe

Aha, vielen Dank, das werde ich ausprobieren.
Beste Grüße  --  Wabbe

Zitat von: Malte am Donnerstag, 10. Mai 2018, 16:29
Zitat von: Wabbe am Donnerstag, 10. Mai 2018, 14:53
Zum \override Spacing. . . : Das benutze ich bisher immer dann, wenn ich das Notenbild etwas dehnen will, wenn die Automatik mir das zu eng macht.
Hm ... ich bin mir ehrlich gesagt nicht sicher, ob das nicht irgendwelche ungewünschten Seiteneffekte haben könnte (z. B. daß kleine Noten vielleicht auch noch mehr gedehnt werden als große) ... Wahrscheinlich nicht. Aber falls doch: Man könnte stattdessen deine \layout-Blöcke z. B. mit einer Vorgabe für die Zeilenanzahl befüllen:

  \layout {
    system-count = 3
  }

Gibt auch noch weitere Möglichkeiten, z. B. page-count, systems-per-page, ragged-last-bottom, ...

Wabbe

Hallo Malte, vielen Dank, jetzt sieht es genau so aus, wie ich es haben wollte.
Nochmal danke, danke, danke  und beste Grüße  --  Wabbe


\version "2.18.2"

\header {
  title = "Menuett und Trio"
  %instrument = "Violine"
  composer = "L. v. Beethoven"
  % meter = "langsam"
}

global = {
  \key g \major
  \time 3/4
  \partial 4
}

menuett = \relative c'' {
  \global
  \tempo "Allegretto"
  % Die Noten folgen hier.

  \repeat volta 2 {
    r4
    d,4-- (d-- d--) d2 (e4) c2 (d4) b r r
    b-- (b-- b--) b2 (b4) a2 (a4) fis' r
  }

  \repeat volta 2 {
    r4
    d--\9 (d-- d--) d2 d4 (d2) e4 d4. r8 r4 g-- (g-- g--) g2 g4 g2 (fis4)
  }

  \alternative {
    {g4_"Fine" r }
    {
      \set Score.measureLength = #(ly:make-moment 2/4)
      g4 r8  \bar "|."
    }
  }
  \set Score.measureLength = #(ly:make-moment 3/4)
}

trio = \relative c'' {
  \global
  \partial 4.
  % Die Noten folgen hier.
  \repeat volta 2 {
    r8 r4 r4 d,2 r4 d2 r4 d2 r4 d (fis) r g fis e e (d) e r a,
    a4 r8
  }

  \repeat volta 2 {
    r8 r4
    r r8 d\upbow cis d e c! a r g'4\upbow
    e (c) a8 (b) c4 a b8 a b4 r g\downbow (g) r e'\upbow
    d4-4 (c) a
  }
  \alternative {
    {c4 (b8) }
    {
      \set Score.measureLength = #(ly:make-moment 3/8)
      c4_"Menuett D. C." (b8)  \bar "|."
    }
  }
  \set Score.measureLength = #(ly:make-moment 3/4)
}

\markup {"Menuett"}

\score {
  \new Staff \with {
    instrumentName = "Viol."
    midiInstrument = "violin"
  } \menuett
  \layout { }
  \midi {
    \tempo 4=100
  }
}

\markup {"Trio"}

\score {
  \new Staff \with {
    instrumentName = "Viol."
    midiInstrument = "violin"
  } \trio
  \layout {
    system-count = 3
  }
  \midi {
    \tempo 4=100
  }
}




Zitat von: Wabbe am Donnerstag, 10. Mai 2018, 16:36
Aha, vielen Dank, das werde ich ausprobieren.
Beste Grüße  --  Wabbe

Zitat von: Malte am Donnerstag, 10. Mai 2018, 16:29
Zitat von: Wabbe am Donnerstag, 10. Mai 2018, 14:53
Zum \override Spacing. . . : Das benutze ich bisher immer dann, wenn ich das Notenbild etwas dehnen will, wenn die Automatik mir das zu eng macht.
Hm ... ich bin mir ehrlich gesagt nicht sicher, ob das nicht irgendwelche ungewünschten Seiteneffekte haben könnte (z. B. daß kleine Noten vielleicht auch noch mehr gedehnt werden als große) ... Wahrscheinlich nicht. Aber falls doch: Man könnte stattdessen deine \layout-Blöcke z. B. mit einer Vorgabe für die Zeilenanzahl befüllen:

  \layout {
    system-count = 3
  }

Gibt auch noch weitere Möglichkeiten, z. B. page-count, systems-per-page, ragged-last-bottom, ...