Cher David, cher Patrick,
Je pense qu'on est nombreux ici à avoir pensé à ce genre de réalisations.
Est-ce possible ? Oui.
En revanche, rien ne peut être automatisé en l'état; pour ce faire, il faudrait changer toutes les règles d'alignement de LilyPond, bref, un travail de bénédictins pour des utilisations très ponctuelles...
Intérêt ? Limité on va dire.
Le plus simple, je pense, est :
--- d'utiliser un logiciel graphique approprié (InkScape, Gimp, etc.) ;
--- d'utliser la sortie SVG et de combiner les deux logiciels (LP + InkScape par ex.).
Un essai simple :
\version "2.20.0"
%% Juste pour contrôler l'alignement :
#(define-markup-command
(circled-pattern layout props radius angle num arg)
(number? number? number? markup?)
(interpret-markup layout props
(let* ((rep (abs num))(rad (abs radius)))
(cond
((= num 0) (markup ""))
((= num 1) (markup arg))
(#t (markup
(#:combine
(#:null)
(fold
(lambda (i prev)
(markup
(#:combine
(#:rotate
(* i (/ angle rep))
(#:concat (#:null #:hspace rad arg)))
prev)))
(markup (#:null))
(iota (1+ rep))))))))))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
linSup = \markup\override #'(thickness . 2) \draw-line #'(1.8 . 0)
\markuplist {
\vspace #5
\fill-line {
%% Guides (à cacher) :
%--{
\combine
\with-dimensions-from \null
\translate #'(0 . -30)
\circled-pattern #0 #180 #64 % <= espacements à adapter
\with-color #red \draw-line #'(0 . 60)
\combine \with-color #red \draw-circle #15 #.1 ##f
\combine \with-color #red \draw-circle #16 #.1 ##f
\combine \with-color #red \draw-circle #17 #.1 ##f
\combine \with-color #red \draw-circle #18 #.1 ##f
\combine \with-color #red \draw-circle #19 #.1 ##f
\combine \with-color #red \draw-circle #25 #.1 ##f
\combine \with-color #red \draw-circle #26 #.1 ##f
\combine \with-color #red \draw-circle #27 #.1 ##f
\combine \with-color #red \draw-circle #28 #.1 ##f
\combine \with-color #red \draw-circle #29 #.1 ##f
%}
%%%%
\combine\draw-circle #20 #.13 ##f
\combine\draw-circle #21 #.13 ##f
\combine\draw-circle #22 #.13 ##f
\combine\draw-circle #23 #.13 ##f
\combine\draw-circle #24 #.13 ##f
\combine\translate #'(0 . 22) \musicglyph "clefs.C"
\combine \translate #'(3.3 . 21.2) \rotate #-10 \flat
\combine \translate #'(4.4 . 22.5) \rotate #-11.6 \flat
\combine \translate #'(5 . 20.3) \rotate #-14 \flat
\combine\translate #'(6.4 . 20.6) \rotate #-21 \compound-meter #'(12 . 8)
\combine\translate #'(9.2 . 16.2) \rotate #-31 \note-by-number #3 #0 #UP
\combine\translate #'(8.3 . 16.6) \rotate #-28 \linSup
\combine\translate #'(12.3 . 17.4) \rotate #-37 \natural
\combine\translate #'(13.8 . 16.3) \rotate #-41 \note-by-number #2 #0 #UP
\null
}
}
Cordialement,
Pierre