Decrescendo über eine Note geht das?

Begonnen von martinusbaum, Freitag, 1. September 2017, 23:00

« vorheriges - nächstes »

martinusbaum

hallo,
crescendo/Decrescendo  über eine Note:

das geht nicht:
\version "2.18.2"
c2 \> \!
das geht:
c2 \> d \!

Was ist der Hintergrund? Wäre dankbar um Hilfe oder workaround....

Manuela

Willst du so etwas?

\version "2.19.62"

\relative c'' { a\espressivo }
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6

Hintergrund:

Bei { c2 \> \! } wird sowohl der Anfang als auch das Ende des Decrescendo derselben Note zugeordnet. LilyPond sieht also Anfang und Ende zum selben Zeitpunkt und beklagt sich.
Als Ausführende wissen wir natürlich, daß ein Decrescendo ein Prozeß ist, der einen Startpunkt hat und nach einer gewissen Zeit endet.
In LilyPond muß das so kodiert werden, daß Start/Ende auf verschiedene rhythmische Ereignisse fällt.
Triviale Beispiele sind:
{ c2 \> d\! } oder { c2 \> r\! }

Ein Decrescendo auf einer Note ohne nachfolgendes rhythmisches Ereignis (wie am Ende eines Stückes) oder ein Crescendo und Decrescendo auf einer längeren Note gibt jedoch Probleme, da man natürlich während eine Note klingt kein rhythmisches Ereignis hat an dem eine Dynamic beendet oder neu gestartet werden könnte.

Lösungen:

Ein Crescendo/Decrecendo kann zwar durch Manuelas Vorschlag angedeutet werden, aber um tatsächliche Crescendi etc schreiben zu können muß man rhythmische Ereignisse schaffen an denen Start/Ende festgemacht werden können.

Kann man mit einer zweiten Stimme machen:

\new Staff
{
<< c2 { s4..\> s16\! } >>
<< c2 { s4\< s8.\> s16\! } >>
}


Oder mit einer kleinen Funktion von David Kastrup, die aber im Kern dasselbe macht:

\version "2.18.2"

at =
#(define-music-function (parser location time event music)
  (ly:duration? ly:music? ly:music?)
  "Place @var{event} at a relative duration @var{time} in relation to @var{music}."
  #{ \context Bottom << { \skip $time <>$event } $music >> #})


{
  \at 2*7/8 \!
  c'2\>
 
  \at 2*7/8 \!
  \at 4 \>
  c'2\<
}



HTH,
  Harm




Malte

Ich hab grad kein LilyPond zum Ausprobieren da, aber müßte es nicht viel einfacher gehen mit nem leeren EventChord, der ein rhythmisches Ereignis der Länge 0 darstellt? Natürlich nur, falls das Drecrescendo über die ganze Note gehen soll:
\version "2.18.2"
\relative {
  c2\> <>\!
}

harm6

Zitat von: Maltemüßte es nicht viel einfacher gehen mit nem leeren EventChord
Sollte wohl, tuts aber nicht. Führt zu:
programming error: bounds of this piece aren't breakable.
Obwohl das pdf ok ist.

Zwar zu einem anderen Thema, doch gibt dieser threads noch ein bißchen mehr Hintergrund zum programming error
http://lilypond.1069038.n5.nabble.com/TupletBracket-shorten-pair-with-strange-output-td202111.html

Gruß,
  Harm