\version "2.12.2" \paper { indent = #0 ragged-right = ##t } expandSlur = #(define-music-function (parser location input) (number?) #{ \once \override Slur #'control-points = #(more-curve $input) #} ) #(define ((more-curve internal-offset) grob) (let* ((coords (ly:slur::calc-control-points grob)) ; get control-points ;; break list into component pairs (first-pair (car coords)) (second-pair (cadr coords)) (third-pair (caddr coords)) (fourth-pair (cadddr coords))) ;; adjust y-coordinates of middle points (set-cdr! second-pair (+ internal-offset (cdr second-pair))) (set-cdr! third-pair (+ internal-offset (cdr third-pair))) ;; reassemble control-point list (list first-pair second-pair third-pair fourth-pair))) top = \relative c'' { \clef treble \time 3/4 \key c \major %default slur c2 ( d4 e8 d c b a g ) \expandSlur #2 c2 ( d4 e8 d c b a g ) \expandSlur #5 c2 ( d4 e8 d c b a g ) } \score { \new Staff << \new Voice { \top } >> }