Autor Thema: Crescendo mit subito "flare" am ende  (Gelesen 2980 mal)

kilgore

  • Member
Crescendo mit subito "flare" am ende
« am: Dienstag, 21. September 2010, 10:18 »
Ich meine das schon mal bei lilypond gesehen zu haben.  Ein crescendo, das ganz am Ende noch weiter auf macht.  Zum Beispiel man macht ein langsames crescendo zu "mp" und dann ganz am ende plötzlich "f".   Weder in den Doks noch in den Snippets gibt es beispiele davon.  Hat jemand schon dieses Problem gehabt?
Danke!
Kil

RobUr

  • Member
Re:Crescendo mit subito "flare" am ende
« Antwort #1 am: Mittwoch, 22. September 2010, 00:09 »
Hallo Kil,

meinst du etwas in der Art, wie es http://lsr.dsi.unimi.it/LSR/Item?id=207 (Broken Crescendo Hairpin) vormacht? Man benötigt noch nicht einmal Postscript und verschiedene Layer dafür; es geht prima mit \whiteout und etwas padding:
\relative c' {
<<
{
\dynamicUp
r2 r16 c'8.\pp r4
}
\\
{
des,2\p\< ~
\once \override TextScript #'extra-offset = #'(2 . 4)
des16_\markup {
\whiteout \pad-markup #1.5 { \dynamic mp }
}
r8. des4 ~ des16->\f
}
>>
}

Grüße, Robert

kilgore

  • Member
Re:Crescendo mit subito "flare" am ende
« Antwort #2 am: Mittwoch, 22. September 2010, 09:10 »
Danke fürs Antwort Rob! 
Das meine ich aber eben nicht.  Durchgehende crescendo, der am Ende einfach weiter auf macht, so wie ein langsames crescendo mit plötzlich lauter werden ganz am Ende.  Sollte etwa aussehen wie eine Trompetenschallstück von der seite....sieht man oft in der neuen Musik.

kilgore

  • Member
Re:Crescendo mit subito "flare" am ende
« Antwort #3 am: Mittwoch, 22. September 2010, 13:35 »
Zur Klarheit, so soll das ungefähr aussehen.  Es ist etwas aufwending so für ein ganze Partitur zu schreiben. 

\version "2.12.3"


#(set-global-staff-size 25)


flareOne = \markup { \postscript #"
     .1 setlinewidth
     0 0 moveto
     0 0 .6 .2 .6 .5 curveto
   
    stroke
       
    " }
flareTwo = \markup { \postscript #"
     .1 setlinewidth
     0 0 moveto
     0 0 .6 -.2 .6 -.5 curveto
   
    stroke
       
    " }

{
  \once \override TextScript #'extra-offset = #'( 6.3 . -1.47 )
  g'2.\<-\flareTwo
  \once \override TextScript #'extra-offset = #'( 1.3 . -.16 )
  g'4\!-\flareOne
}


Die Postscript Teile kann ich bauen, vielleicht hilft mir jemand, die in größeren override zu bauen, so das es immer automatisch am Ende von einer crescendo richtig platziert wird?


Grüße
Kil

kilgore

  • Member
Re:Crescendo mit subito "flare" am ende
« Antwort #4 am: Freitag, 1. Oktober 2010, 10:49 »
bump....
hat keiner ein idee wie man ein override für das crescendo bauen konnte?
Wäre sehr dankbar!
Grüße
kil

RobUr

  • Member
Re:Crescendo mit subito "flare" am ende
« Antwort #5 am: Sonntag, 3. Oktober 2010, 15:44 »
Hallo Kil, du Armer ;)

Mal sehen … folgendes funktioniert schonmal nicht: irgendwas à la „bound-details right bla“, um damit (wie bei einem TextSpanner-Objekt) das PS-Markup direkt rechts an die Hairpin dranzupappen :( Wär ja auch zu schön gewesen …

Aber folgende drei Dinge sind uns nützlich: (1) Wir können Markup in DynamicText umwandeln. (2) Eine Crescendo-Gabel wird automatisch mit dem Auftreten einer neuen Dynamikangabe beendet. (3) Das sich unmittelbar an die Hairpin anschließende DynamicText-Objekt wird automatisch auf gleicher Höhe positioniert.

Mit diesen Grundlagen bauen wir uns also (a) ein eigenes Dynamikzeichen, das aus den beiden „Hörnchen“ besteht; (b) versetzen wir die Hörnchen an die richtige Stelle, um dem bound-padding der Hairpin entgegenzusteuern (default 1.0); (c) beenden wir die Hairpin nicht mit \!, sondern mit dem neuen Dynamikzeichen. Los geht’s …

Hörnchen bauen und in Richtung Hairpin verschieben:
flarePS = \markup { \postscript #"
.1 setlinewidth
% beide Hoernchen der Hairpin entgegenschieben:
-1 0.6666 translate
% Hoernchen nach oben:
0 0 moveto
0 0 1 .1 1 .5 curveto
stroke

% unteres Hoernchen um die Oeffnungsbreite der Hairpin verschieben:
0 -1.3332 translate
% Hoernchen nach unten:
0 0 moveto
0 0 1 -.1 1 -.5 curveto
stroke"
}

Daraus ein Dynamikzeichen erstellen:
flare = #(make-dynamic-script flarePS)
Dieses neue Dynamikzeichen als Ende der Hairpin benutzen:
{ g'2.\< a'4\flare }
Kompletter Code (ohne Kommentare):
\version "2.12.3"

flarePS = \markup { \postscript #"
.1 setlinewidth
-1 0.6666 translate
0 0 moveto
0 0 1 .1 1 .5 curveto
stroke

0 -1.3332 translate
0 0 moveto
0 0 1 -.1 1 -.5 curveto
stroke"
}

flare = #(make-dynamic-script flarePS)

{ g'2.\< a'4\flare }

Funktioniert oben wie unten und auch bei Verlängerung der Hairpin. Die Hörnchen habe ich etwas geschmeidiger gestaltet.
Zu beachten ist eigentlich nur folgendes: Die Hörnchen sind nicht mit der Hairpin verschweißt! Wenn also Offsets global auf Hairpins oder DynamicTexts angewendet werden, muss die „flare“-Kombination Hairpin/DynamicText manuell nachjustiert werden.

Viele Grüße, Robert

kilgore

  • Member
Re:Crescendo mit subito "flare" am ende
« Antwort #6 am: Sonntag, 3. Oktober 2010, 23:49 »
Rob!!!!

Genau sowas wollte ich, wusste aber nicht wie ich das hinkriege.  Tausend Dank!  Freut mich, dass du da bist!  Ich wüsste, da kommt was irgendwann dazu von Dir  ;D

Das einzige Problem, ist das man am Ende von dem Crescendo kein Dynamic angeben kann, sowie ein  "forte" nach den Hörnchen.  Aber das kann ich ja leicht in einer zweiten Stimme einbauen. 


Und ganz nebenbei, bin ich schon ziemlich überrascht, dass es sowas bei Lilypond noch nicht gibt.  So eine Crescendo ist eigentlich weit verbreitet...Deine Lösung gehört unbedingt im LSR!!!!

DANKE!
Kil

RobUr

  • Member
Re:Crescendo mit subito "flare" am ende
« Antwort #7 am: Dienstag, 5. Oktober 2010, 07:20 »
Hey Kil!

Zitat von: kilgore
Das einzige Problem, ist das man am Ende von dem Crescendo kein Dynamic angeben kann, sowie ein  "forte" nach den Hörnchen.
Es geht ja auch nur je ein Dynamic gleichzeitig! Wenn wir also schon die flare-Hörnchen als Dynamic zum Abschließen der Hairpin benutzen, müssen wir neue Hörnchendynamics bauen!
*** :D VOTE FOR „HÖRNCHEN“ AS „THE WORD OF AUTUMN 2010“!!! :D aka Cornetto … ***

Ein Forte-f wäre bspw. wiefolgt realisierbar:
flarePS = \markup \with-dimensions #'(0 . 0.1) #'(-1.3332 . 1.3332) { \postscript #"
.1 setlinewidth
-1 0.6666 translate
0 0 moveto
0 0 1 .1 1 .5 curveto
stroke

0 -1.3332 translate
0 0 moveto
0 0 1 -.1 1 -.5 curveto
stroke"
\translate #'(0.25 . -0.615) \dynamic f
}
Das Dynamikzeichen liefert die letzte Zeile (sieht man ja) incl. Versatz. NEU hinzugefügt ist das \with-dimensions-Makro, das auch für den nötigen Y-extent sorgt. Die ganzen – offenbar krummen – Werte basieren auf Vielfachen der Hairpin-height (lt. IR) von 0.6666 (was wohl ein nicht ganz ernstgemeinter Betrag ist, da er gerade mal der [horizontalen] Hälfte einer Hairpin entspricht). Fakt ist: ein de-/crescendo schließt/öffnet sich bis zu einem Maß von 1⅓ staff-spaces.

Insgesamt ist der Ansatz leider noch nicht 100-prozentig LSR-reif … Das hauptsächliche Problem ist die LINIENSTÄRKE: setlinewidth (z.B. 0.1) legt einen PostScript-Punkt-Wert fest, der nicht proportional zu Lilys line-thickness skaliert wird! Bei einer staff-size von 18 bis 22 fällt es noch nicht auf, aber darunter werden die Hörnchen immer dünner, darüber immer dicker :( Wär cool, wenn wer kompetenteres die setlinewidth/line-thickness-Anpassung beisteuern könnte!!! Über die Position einer optionalen Dynamikangabe müsste man auch noch mal nachdenken … ein einzelnes f benötigt noch nicht viel Platz, aber ein vierfaches würde sich momentan nach rechts ausbreiten und die eigentliche Note verlassen. (Ihr könnt ja einfach mit dem Code rumspielen.)

Zitat von: kilgore
bin ich schon ziemlich überrascht, dass es sowas bei Lilypond noch nicht gibt.  So eine Crescendo ist eigentlich weit verbreitet...
Muss gestehen, dass ich solches bisher nicht gesehen habe. Ich sehe gern ein, dass zeitgenössische Musik gegenüber allen vorangegangenen Epochen unverhältnismäßig viel neue Symbolik einbringt, aber es deswegen gleich als „weit verbreitet“ zu bezeichnen? Bartok-Pizzicato, ja: „echte“ neue Notation, vor allem Spielweise. Crescendo in’s Unermessliche mit noch ’nem Zahn extra – ein langgehegter Wunsch vieler Blechbläser und sicher auch Sänger, unterdrückt durch Dirigenten, aber niemals vorher ausdrücklich notiert ;)
Vielleicht ist es zu irgendwas gut (in der „vor-1900-Literatur“ ist es jedenfalls nicht zu finden), selbst wenn es bloß der Befreiung vom „Aufziehen, aber ja nicht zu stark“ dient – man muss die Leute ja auch mal frei von der Leber weg musizieren lassen :D

Viele Jrüße, der Robärt

kilgore

  • Member
Re:Crescendo mit subito "flare" am ende
« Antwort #8 am: Dienstag, 5. Oktober 2010, 09:00 »
Erstens... you got my vote for Hörnchen!


Zwischen der Lösung, und einer mit der Dynamik zum Teil in ein andere Stimme, kommt man ziemlich nah an die Sache dran.  Ich habe den ganzen Abend nach ein Weg gesucht, das Crescendo zu kürzen.  Verlängern geht einfach, aber kürzen nur wenn ich es in ein andere Stimme verstecke und früh aufhören lasse.  Etwas wie #'right-padding oder #'X-extent, aber das tut nichts für das Hairpin.  Dann könnte man der Dynamik zeichen "f" wirklich unter dem Ton haben.  Aber erstmal sieht es verdammt gut aus!

Ich sage vielleicht "weit-verbreitet" weil ich fast ausschliesslich in der zeitgenössischen Musik arbeite.  Der Zeichen gibts seit mindestens 30 Jahre, hier vor mir in Xenakis zu sehen, zB.  Ich nehme vielleicht falscherweise an, dass Lilypond nutzer eher modernes damit schreiben und nicht so viel alte musik nue setzen.....

Übrigens, ganz nett dass du staff-size erwähnst.  Bei mein Auftrag ist es größe 9!  Mini mini!  Aber by .2 setlinewidth sieht es wieder gut aus :)