Hi Morten, Here’s one approach:%%% SNIPPET BEGINS \version "2.25.11" esp = \markup \lower #1 \scale #'(1.375 . 1) \musicglyph #"scripts.espr" stuff = \relative { \time 4/4 r4 b'4 a2-\tweak self-alignment-X #-1.25 _\esp ~ a2 b4 4( c1)-\tweak self-alignment-X #-0.5 _\esp b2-\tweak self-alignment-X #-1.125 _\esp d2 c1-\tweak self-alignment-X #-0.5 _\esp \bar "|" } \score { << \new Staff \stuff >> }% %% SNIPPET ENDS This requires some manual effort (read: trial and error), but could probably be fairly easily automated. Of course there are many other ways to clothe this particular cat — just thought I’d offer one for you to consider!
I would rather do something like the following:
\version "2.24.3"
stuff = \relative {
\time 4/4
r4 b'4 a2~\< |
\after 4. \! a2\> b4 4( |
\after 2 \> c1 \< ) |
b2\< c2\> |
\after 2 \> c1 \< |
b4\< c2 \> b4 |
<>\!
}
\score {
<<
\new Staff
\stuff
>>
\layout {
\context {
\Staff
}
}
}
Let me highlight some of the changes I made to your example, on top of using \after to start a diminuendo in the middle of a note:
- Added bar line checks and line breaks at the end of each bar. This is a good habit that will help you to navigate and help LilyPond assist you in finding rhythmic typos.
- A previous (de-)crescendo is automatically ended when there's a
new dynamic indication, so there's no need for an explicit \! just
before a \>, for example. As an extra bonus, a \< or \>
that's ended at the first note of the next bar is automatically
ended at the bar line by default (but this can easily be changed
with to-barline, if you indeed want it to extend at the next note
instead, see
https://lilypond.org/doc/v2.24/Documentation/notation/expressive-marks-attached-to-notes#dynamics).
/Mats