Autor Thema: cross staff Slur bis ganz nach unten  (Gelesen 3457 mal)

kilgore

  • Member
cross staff Slur bis ganz nach unten
« am: Dienstag, 24. Juli 2012, 16:43 »
Hallo Lily's!

Bindebögen möchten irgendwie nicht zu dem Ziel-Notenkopf hin wenn der in einem anderen Staff liegt. Wie kriegt man das hin? Muss ich tatsächlich jeden Bogen nachbauen?

Gruß
kil

\version "2.14.2"



first = \relative c' {
  %\override Slur #'cross-staff = ##t
  c''4(
  \change Staff = "two"
  c,,4)
  \change Staff = "one"
  s2
}

second = \relative c' {
  s1
}


<<
  \new Staff = "one" { \first }
  \new Staff = "two" { \second }
>>

Be-3

  • Member
Re: cross staff Slur bis ganz nach unten
« Antwort #1 am: Samstag, 4. August 2012, 10:36 »
Hallo liebes Forum,

ich habe mich letzte Woche hier registrieren lassen und bin nun seit heute morgen freigeschaltet. :)
... und möchte gleich die Gelegenheit ergreifen, meinen ersten Beitrag zu schreiben:

Bindebögen möchten irgendwie nicht zu dem Ziel-Notenkopf hin wenn der in einem anderen Staff liegt. Wie kriegt man das hin? Muss ich tatsächlich jeden Bogen nachbauen?

Hallo Kilgore,

die Bindebögen möchten nicht dahin, weil es ihnen in diesem Fall zu steil ist. Das hat nicht unbedingt mit dem Staff-Wechsel zu tun, fällt aber dort durch den großen Sprung besonders auf.
Wenn sie horizontal mehr Platz hätten, würden sie weiter nach unten reichen (das könnte man durch Erhöhen der minimum-length-Eigenschaft beeinflussen).

Wenn Du allgemein steilere Bindebögen zulassen möchtest, könntest Du beispielsweise durch
\override Slur #'details #'max-slope = #4
größere Steigungen erlauben (Default-Wert ist 1.1). Dann kommt der Bogen auch weiter nach unten:

\version "2.14.2"

music = {
  c''4(
  \change Staff = "lower"
  c,,4)
  \change Staff = "upper"
  s2
}

first = \relative c' {
  \music
  \override Slur #'details #'max-slope = #4
  \music
}

second = \relative c' {
  s1_"standard"
  s1_\markup { \column { "max-slope" "erhöht" } }
}

<<
    \new Staff = "upper" { \first }
    \new Staff = "lower" { \second }
>> 

Viele Grüße
Torsten

kilgore

  • Member
Re: cross staff Slur bis ganz nach unten
« Antwort #2 am: Samstag, 4. August 2012, 10:44 »
Hi Torsten!

Wilkommen im Forum, und danke für schreiben! Genau so eine Lösung habe ich gesucht. das #'max-slope kannte ich bisher gar nicht. Ich denke sowas wäre ein Snippet wert!

Vielen Dank!

Gruß
kil

harm6

  • Member
Re: cross staff Slur bis ganz nach unten
« Antwort #3 am: Samstag, 4. August 2012, 16:27 »
Hallo Torsten,

auch von mir einen herzlichen Willkommensgruß.

'max-slope war mir zwar nicht vollkommen fremd, aber zu weit in meinem Hinterkopf versteckt, als daß ich drauf gekommen wär.
Allerdings gefiel mir im output nicht, daß der Slur sich zur unteren Note schon rückwärts bewegt, und habe deshalb noch einen 'eccentricity-override eingefügt.

\version "2.14.2"

music = {
  c''4(
  \change Staff = "lower"
  c,,4)
  \change Staff = "upper"
  s2
}

first = \relative c' {
  \music
  \once \override Slur #'details #'max-slope = #4
  \music
  \once \override Slur #'details #'max-slope = #4
  \once \override Slur #'eccentricity = #-2.5
  \music
  \once \override Slur #'minimum-length = #10
  \music
}

second = \relative c' {
  \override  TextScript #'font-size = #-2
  s1_"default"
  s_\markup { \column { "increased" "'max-slope"  } }
  s_\markup { \column { "increased" "'max-slope" "and" "adjusted" "'eccentricity" } }
  s_\markup { \column { "increased" "'minimum-length"  } }
}

<<
    \new Staff = "upper" { \first }
    \new Staff = "lower" { \second }
>>

Eine Erwähnung von 'max-slope habe ich in der IR 3.1.94 Slur unter 'details gefunden (in PhrasingSlur natürlich auch).
Etwas Erklärung in IR 3.2.95 slur-interface aber sonst war weder im LM, noch in der NR was zu finden.

Ein veranschaulichendes snippet ist ebenfalls weder in den Docs noch im LSR vorhanden.

Insoweit möchte ich kilgore's Anregung unterstützen: Mach ein snippet draus und setz' es ins LSR!!


Gruß,
  Harm

kilgore

  • Member
Re: cross staff Slur bis ganz nach unten
« Antwort #4 am: Montag, 6. August 2012, 15:20 »
Oh je!  >:(

Selbst diese Lösungen scheinen ihre Grenzen zu haben und leider ist diese Grenze kurz davor wo ich hin muss!

Schau mal: in diesem Beispiel kommt der Bogen - egal wie hoch das #'max-slope ist - einfach nicht nach unten. Doch mit #'minimum-length kommt er schon hin, aber dann ist der Abstand einfach viel zu groß.

Oder habe ich was verpasst?!?

\version "2.14.2"



first = \relative c' {
  \time 2/4
  \clef bass
      r16.
      \once \override Slur #'details #'max-slope = #800
      %\once \override Slur #'minimum-length = #14
      d32-.(\noBeam
      \change Staff = "two"
      es,32-.)
      \change Staff = "one"
      s16. s4
   

}

second = \relative c' {
  \clef bass
    r16 fis,32-.\ppp r s32 r16. r8
      \times 4/5 { r32 as-- r16. }
}


<<
  \new PianoStaff <<
  \new Staff = "one" { \first }
  \new Staff = "two" { \second }
>>
>>

Be-3

  • Member
Re: cross staff Slur bis ganz nach unten
« Antwort #5 am: Montag, 6. August 2012, 16:20 »
Schau mal: in diesem Beispiel kommt der Bogen - egal wie hoch das #'max-slope ist - einfach nicht nach unten. Doch mit #'minimum-length kommt er schon hin, aber dann ist der Abstand einfach viel zu groß.

Oder habe ich was verpasst?!?

Hallo Kilgore,

nein, Du hast nichts verpaßt...
Die Frage ist nur, warum es in diesem Fall nicht so funktioniert wie im ursprünglichen Beispiel.
Der Teufel steckt - wie so oft - im Detail und offensichtlich "stören" die Staccato-Punkte: nimmt man sie weg, dann funktioniert's (siehe "2." in meinem angehängten Code).
Nun ist das zwar eine Erkärung, hilft aber leider nicht.

Und nun kommt der zweit Hase aus der Trickkiste: einen ähnlichen Effekt wie #'max-slope (der die maximale Steilheit festlegt) hat der Parameter #'edge-attraction-factor, mit dem man sozusagen die "Anziehungskraft des Zielpunktes" beeinflussen kann. Stellt man diese Anziehungskraft auf "ziemlich groß", dann stört sind auch Artikulationszeichen kein Problem mehr.

Das alles war mir absolut nicht bewußt (soviel zum Thema "Minimalbeispiel" ;)) und ich hatte mich in meinem ursprünglichen Lösungsvorschlag für #'max-slope entschieden, weil es sich einfach schlüssiger anhörte...
Tja, der #'edge-attraction-factor scheint trotzdem "stärker" zu sein, dann nehmen wir eben den. :D

\version "2.14.2"



first = \relative c' {
  \time 2/4
  \clef bass
 
      r16.^"1. geht nicht (!?)"
      \once \override Slur #'details #'max-slope = #800
      %\once \override Slur #'minimum-length = #14
      d32-.(\noBeam
      \change Staff = "two"
      es,32-.)
      \change Staff = "one"
      s16. s4

     
     
\bar "||"     
      r16.^"2. Staccato weg: geht!"
      \once \override Slur #'details #'max-slope = #800
      %\once \override Slur #'minimum-length = #14
      d'32(\noBeam
      \change Staff = "two"
      es,32-.)
      \change Staff = "one"
      s16. s4

\bar "||"     
      r16.^"3. edge-attraction-factor: geht!"
      \once \override Slur #'details #'edge-attraction-factor = #100000     
      %\once \override Slur #'minimum-length = #14
      d'32-.(\noBeam
      \change Staff = "two"
      es,32-.)
      \change Staff = "one"
      s16. s4
     
}

second = \relative c' {
  \clef bass
    r16 fis,32-.\ppp r s32 r16. r8
      \times 4/5 { r32 as-- r16. }

\bar "||"     

    r16 fis32-.\ppp r s32 r16. r8
      \times 4/5 { r32 as-- r16. }

\bar "||"     

    r16 fis32-.\ppp r s32 r16. r8
      \times 4/5 { r32 as-- r16. }
     
}


<<
  \new PianoStaff <<
  \new Staff = "one" { \first }
  \new Staff = "two" { \second }
>>
>>

Viele Grüße
Torsten
« Letzte Änderung: Montag, 6. August 2012, 16:28 von Be-3 »

kilgore

  • Member
Re: cross staff Slur bis ganz nach unten
« Antwort #6 am: Montag, 6. August 2012, 16:38 »
Hi Torsten!

Echt interessant. Dass es an dem Artikulation liegt hätte ich nicht gedacht.

Ich habe gerade die letzte Stunde damit verbracht ein bisschen zu experimentieren, und habe noch eine Lösung dafür gefunden:

\version "2.14.2"



first = \relative c' {
  \time 2/4
  \clef bass
      r16.
      \once \override Slur #'details #'max-slope = #4
      \once \override Slur #'details #'edge-slope-exponent = #19
      d32-.(\noBeam
      \change Staff = "two"
      es,32-.)
      \change Staff = "one"
      s16. s4
   

}

second = \relative c' {
  \clef bass
    r16 fis,32-.\ppp r s32 r16. r8
      \times 4/5 { r32 as-- r16. }
}


<<
  \new PianoStaff <<
  \new Staff = "one" { \first }
  \new Staff = "two" { \second }
>>
>>

also das #'edge-slope-exponent hat schon geholfen. Im Kontext müsste ich aber dafür sehr hohe Werte setzten. Das war dann immer noch nicht genug, und so habe ich mit #'steeper-slope-factor experimentiert und bin weiter gekommen. Doch für eine Stelle könnte sogar das nicht helfen.

Ich kann aber jetzt schon sagen, dass mit deiner (neuen) Lösung klappen alle Stellen ohne Macken (und ohne Werte ständig ausprobieren zu müssen). Danke!

Gruß!
kil