Je suis dans une impasse: impossible de mettre des nuances sans créer d'avertissement

Bonjour,
J'essaie de mettre des nuances sur ma partition, comme ceci:

 \trioPIM8\pp \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8

mais je comprends que ce n'est pas possible car j'obtiens toujours des avertissements:
Avertissement : AbsoluteDynamicEvent non attaché
\trioPIM8
\pp \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8

Je ne peux pas non plus mettre d'articulations, par exemple:

    \PIM4-> r4 r4 r4

ça me donne ça:

J'ai l'impression d'avoir tout essayé, je me sens coincée.
Fab

Bonjour, un exemple compilable ?

Un « AbsoluteDynamicEvent non attaché » veut certainement dire que la nuance est placée au mauvais endroit dans le code (par exemple { \pp c' } au lieu de { c'\pp }).

Bonjour,

je confirmes l'idée de Jean

voici ma solution :
ajouter la ligne suivante en début de fichier ; le nombre représente la quantité d'erreurs que vous pourriez cumuler dans le fichier
#(suppress "Unattached AbsoluteDynamicEvent" 1)

Bonjour @jeanas,

Dans l'exemple que j'ai cité, j'ai bien placé le \pp après l'indication de durée de la fonction trioPIM, mais j'ai l'impression que ça ne marche pas avec des fonctions musicales comme:

trioPIM = #(define-music-function (dur) (ly:duration?)
             #{
               <<
                 % note sonore
                 \new DrumVoice {
                   \voiceOne
                   \tuplet 3/2 \drummode {\ndot pimh $dur pimh\noBeam pimh \rdot}
                 }

                 % note graphique muette
                 \new DrumVoice {
                   \voiceTwo
                   \once \override TupletNumber.transparent = ##t \once \override TupletBracket.transparent = ##t \tuplet 3/2 \drummode  { piml $dur piml\noBeam piml }
                 }
               >>
             #})

Du coup, je me sens feintée car toute ma partition de castagnettes est écrite à l'aide de semblables fonctions musicales (je mets ci dessous tout le code que j'ai déjà élaboré avec l'aide de @MartialR):

\version "2.24.4"
\language "english"
\pointAndClickOn
%%%%%%%%%%%%%%%%%%%%%%%%%
% Définition de fonctions
%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  formation des PAS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%fichier fonte "pas.ttf
%#(ly:font-config-add-font "/home/fabienne/Documents/Lilypond/Include/Fonts/pas.ttf")
#(ly:font-config-add-font "/home/fabienne/Documents/Lilypond/Include/Fonts")
%-----------------------------------------------
%definition de pasG et pasD lettre G et D (dans la fonte pas.ttf)
clearPas = { \revert NoteHead.stencil \revert Stem.stencil  \revert Flag.stencil}
pasG = #(define-music-function (dur)(ly:duration?)
          #{
            \override  NoteHead.stencil = #ly:text-interface::print
            \override  NoteHead.text =
            \markup {
              \with-true-dimension #X
              \override #'(font-name . "pas")
              \fontsize #3 \rotate #-10 \translate #'(0 . -0.5) "G"
            }
            %               \override Stem.stencil = ##t
            \once \override Stem.direction =-1
            \once \override Stem.stem-begin-position = #-4
            \once \override Stem.length = #9
            %               \override Flag.stencil = ##t
            \drummode {\stemDown { ta $dur }}
            \clearPas
          #})

pasD = #(define-music-function (dur)(ly:duration?)
          #{
            \override  NoteHead.stencil = #ly:text-interface::print
            \override  NoteHead.text =
            \markup {
              \with-true-dimension #X
              \override #'(font-name . "pas")
              \fontsize #3 \rotate #10 \translate #'(0 . -0.5) "D"

            }
            %               \override Stem.stencil = ##t
            \once \override Stem.direction = 1
            \once \override Stem.length = #9
            \once \override Stem.stem-begin-position = #4
            %               \override Flag.stencil = ##t
            \drummode {\stemUp { pi $dur }}
            \clearPas
          #})

% transparence du point de prosongation de durée
ndot= { \override Dots.transparent = ##t }
rdot= { \revert Dots.transparent }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Personnalisation de la portée de percussion
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Placement sur les lignes de portée des drums qu'on va utiliser pour les sons castagnettes
#(define mydrums '(
                    (hiwoodbsock default #f  4)
                    (snare default #f  2)
                    (hightom default #f  1)
                    (claves default #f  0)
                    (sowtom default #f  -1)
                    (handclap default #f -2)
                    (sowoodbsock default #f -4)
                    (hihat cross #f -6)
                    ))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Transformation des noms de code drums en noms de code castagnettes :
% pi ta tin (clap et toum arbitraires à garder pour d'autres sons) etc ...)
drumPitchNames = #`(
                     (pi  . hiwoodbsock )
                     (ta  . sowoodbsock )
                     (tin . claves)
                     (pimh . hightom)
                     (piml . sowtom)
                     (toum . snare)
                     (clap . handclap)
                     (pied . hihat)
                     )
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Définition d'une portée de castagnettes à 2 lignes
% situéees à -4 espaces et +4   espaces de la ligne centrale
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
castanetstaffTwolines = {
  \override Staff.LedgerLineSpanner.stencil = ##f
  \override Staff.StaffSymbol.line-positions = #'(-4  4)
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Définition des fonctions musicales PI, TA, TIN, PIM etc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

PI = #(define-music-function (dur) (ly:duration?)
        #{
          \drummode {\stemUp { pi $dur }}
        #})

TA = #(define-music-function (dur) (ly:duration?)
        #{
          \drummode {\stemDown { ta $dur }}
        #})

TAPI = #(define-music-function (dur1 dur2) (ly:duration? ly:duration?)
          #{
            <<
              \new DrumVoice {
                \voiceOne
                \drummode { s $dur2 pi $dur1 }
              }

              \new DrumVoice {
                \voiceTwo
                \drummode { ta $dur1 }
              }
            >>
          #})

PITA = #(define-music-function (dur1 dur2) (ly:duration? ly:duration?)
          #{
            <<
              \new DrumVoice {
                \voiceOne
                \drummode { pi $dur1 }
              }

              \new DrumVoice {
                \voiceTwo
                \drummode { s $dur2 ta $dur1 }
              }
            >>
          #})

RIAq = #(define-music-function (dur) (ly:duration?)
          #{
            \drummode {\override TupletBracket.bracket-visibility = ##f \tuplet 5/4 {\stemUp [pi $dur _( pi pi pi] \stemDown ta)}}
          #})
TIN = #(define-music-function (dur) (ly:duration?)
         #{
           <<
             % note sonore
             \new DrumVoice {
               \voiceOne
               \drummode {\override NoteColumn.force-hshift = 0.9 { tin $dur }}
             }
             % note graphique muette
             \new DrumVoice {
               \voiceTwo
               \drummode { tin $dur }
             }
           >>
         #})

PIM = #(define-music-function (dur) (ly:duration?)
         #{
           <<
             % note sonore
             \new DrumVoice {
               \voiceOne
               \drummode {\ndot pimh $dur \rdot}
             }

             % note graphique muette
             \new DrumVoice {
               \voiceTwo
               \drummode { piml $dur }
             }
           >>
         #})

trioPIM = #(define-music-function (dur) (ly:duration?)
             #{
               <<
                 % note sonore
                 \new DrumVoice {
                   \voiceOne
                   \tuplet 3/2 \drummode {\ndot pimh $dur pimh\noBeam pimh \rdot}
                 }

                 % note graphique muette
                 \new DrumVoice {
                   \voiceTwo
                   \once \override TupletNumber.transparent = ##t \once \override TupletBracket.transparent = ##t \tuplet 3/2 \drummode  { piml $dur piml\noBeam piml }
                 }
               >>
             #})

CHIM = #(define-music-function (dur) (ly:duration?)
          #{
            <<
              % note sonore
              \new DrumVoice {
                \voiceOne
                \drummode {\override NoteColumn.force-hshift = 0.7 \ndot pimh $dur \rdot}
              }

              % note graphique muette
              \new DrumVoice {
                \voiceTwo
                \drummode {
                  piml-\markup {
                    \with-dimensions #'(0 . 0) #'(0 . 0) %pour ne pas "gêner" des glyphes voisins
                    \translate #'(2 . 1.5)
                    \rotate #45 \musicglyph "scripts.prall"
                  }
                }
              }
            >>
          #})

TACHIMPI = #(define-music-function (dur) (ly:duration?)
              #{
                <<
                  % note sonore
                  \new DrumVoice {
                    \voiceOne
                    \drummode {\hideNotes pi $dur \unHideNotes \override NoteColumn.force-hshift = 0.7 \ndot pimh $dur[ pi] \rdot}
                  }
                  % note graphique muette
                  \new DrumVoice {
                    \voiceTwo
                    \drummode {ta $dur[ \once \override TextScript.extra-offset = #'(2. . 4.5)piml-\markup {\rotate #45 \musicglyph "scripts.prall" }] \hideNotes ta $dur \unHideNotes }
                  }
                >>
              #})

trioTACHIMPI = #(define-music-function (dur) (ly:duration?)
                  #{
                    <<
                      % note sonore
                      \new DrumVoice {
                        \voiceOne
                        \tuplet 3/2 \drummode {\hideNotes pi $dur \unHideNotes \override NoteColumn.force-hshift = 0.7 \ndot pimh $dur[ pi] \rdot}
                      }
                      % note graphique muette
                      \new DrumVoice {
                        \voiceTwo
                        \once \override TupletNumber.transparent = ##t \tuplet 3/2 \drummode {
                          ta $dur[ piml-\markup {
                            \with-dimensions #'(0 . 0) #'(0 . 0)
                            \translate #'(1.5 . 1.5)
                            \rotate #45 \musicglyph "scripts.prall"
                          } s $dur]
                        }
                      }
                    >>
                  #})


TAN = #(define-music-function (dur) (ly:duration?)
         #{
           <<
             \new DrumVoice {
               \voiceOne
               \drummode { pi $dur }
             }

             \new DrumVoice {
               \voiceTwo
               \drummode { ta $dur }
             }
           >>
         #})

trioTAN = #(define-music-function (dur) (ly:duration?)
             #{
               <<
                 % note sonore
                 \new DrumVoice {
                   \voiceOne
                   \tuplet 3/2 \drummode { pi $dur pi\noBeam pi }
                 }

                 % note graphique muette
                 \new DrumVoice {
                   \voiceTwo
                   \once \override TupletNumber.transparent = ##t \once \override TupletBracket.transparent = ##t \tuplet 3/2 \drummode  { ta $dur ta\noBeam ta }
                 }
               >>
             #})


RI = #(define-music-function (dur) (ly:duration?)
        #{
          \drummode {\stemUp { pi $dur[ pi pi pi] }}
        #})

soRI = #(define-music-function (dur) (ly:duration?)
          #{
            \drummode {\stemUp \slurDown { pi $dur([ pi pi pi] }}
          #})
% soRI = RI avec liaison ouvrante au début

RIso = #(define-music-function (dur) (ly:duration?)
          #{
            \drummode {\stemUp \slurDown { pi $dur[ pi pi pi]( }}
          #})
% RIso = RI avec liaison ouvrante à la fin

sfRI = #(define-music-function (dur) (ly:duration?)
          #{
            \drummode {\stemUp { pi $dur)[ pi pi pi] }}
          #})

sfRIso = #(define-music-function (dur) (ly:duration?)
            #{
              \drummode {\stemUp { pi $dur)[ pi pi pi]( }}
            #})

RA = #(define-music-function (dur) (ly:duration?)
        #{
          \drummode {\stemDown { ta $dur[ ta ta ta] }}
        #})

RAso = #(define-music-function (dur) (ly:duration?)
          #{
            \drummode {\stemDown \slurUp { ta $dur[ ta ta (ta] }}
          #})

sfRA = #(define-music-function (dur) (ly:duration?)
          #{
            \drummode {\stemDown { ta $dur)[ ta ta ta] }}
          #})

sfRAso = #(define-music-function (dur) (ly:duration?)
            #{
              \drummode {\stemDown { ta $dur)[ ta ta ta]( }}
            #})

RIA = #(define-music-function (dur1 dur2) (ly:duration? ly:duration?)
         #{
           \drummode {\slurDown\stemUp pi $dur1 ([ pi pi pi] \stemDown ta $dur2)}
         #})

RAI = #(define-music-function (dur1 dur2) (ly:duration? ly:duration?)
         #{
           \drummode {\slurUp \stemDown ta $dur1 ([ ta ta ta] \stemUp pi $dur2)}
         #})

RIAN = #(define-music-function (dur) (ly:duration?)
          #{
            <<
              % note sonore
              \new DrumVoice {
                \voiceOne
                \drummode {\override Slur.extra-offset = #'(0. . 0.3) pi $dur[ _(pi pi pi]) }
              }

              % note graphique muette
              \new DrumVoice {
                \voiceTwo
                \drummode {\override Slur.extra-offset = #'(0. . -0.3) ta $dur ^([ta ta ta]) }
              }
            >>
          #})

RAIAIAIAI = #(define-music-function (dur) (ly:duration?)
               #{
                 \drummode {\override Slur.extra-offset = #'(0. . 1.)\stemUp ta $dur[ pi ta pi ta pi ta pi]}
               #})


RAIAIAIAIs = #(define-music-function (dur) (ly:duration?)
                #{
                  \drummode {\override Slur.extra-offset = #'(0. . 1.)\stemUp ta $dur[ pi ta pi ta pi ta pi](}
                #})

RIAq = #(define-music-function (dur) (ly:duration?)
          #{
            \drummode {\override TupletBracket.bracket-visibility = ##f \tuplet 5/4 {\stemUp pi $dur _( [pi pi pi] \stemDown ta)}}
          #})




%%%%%%%%%%%%%%%%%%%%%%%%%%%
% La partition commence ici
%%%%%%%%%%%%%%%%%%%%%%%%%%%

globalDrums = {
  \castanetstaffTwolines	% chargement de la portée personnalisée
  \time 4/4 \tempo 4.=151	%Définition de la métrique et du tempo
  \autoBeamOff
  % Chargement de la table de percussion personnalisée pour les castagnettes
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
  \numericTimeSignature	% pour écrire 4/4 plutôt que C
  \omit Score.Clef %Score car 2 porté
}

castagnI= \drummode {
  % on est en mode percussion (pas mésodique)
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %	Ici on commence à entrer la musique
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  {
    \globalDrums
    \compressMMRests {R1*20}   
    \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8 
    \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8
    \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8 
    \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8 \trioPIM8
    \PIM4 r4 r4 r4 %m25
    { R1*2 }
    r4 r4 r4 r8 \PIM8
    \repeat unfold 6 { \PIM8. \PIM16 } \PIM8.  \TA8.
    \slurDown \soRI32 \time 6/8  \TA16)
    <<
      \voiceOne  { \stemUp \PI16[ s32 \PI16 s32 \PI16 ] }
      \\
      \voiceTwo  {  s32[ \TA16 s32 \TA16]}
    >>
    \TA8 \PI8 \TA16 \RIA 32 16 \TIN16
    <<
      \voiceTwo {   \TA16[ s32 \TA16 s32 ]}
      \\
      \voiceOne  {  s32[ \PI16 s32 \PI16 ]}
    >>
    \TA8  r16 \TA8  \slurDown \RIso32 \TA16 )
    <<
      \voiceOne {\PI16[ s32 \PI16 s32 \PI16 ]}
      \\
      \voiceTwo { s32[ \TA16 s32 \TA16]}
    >>
    \TA8 \PI8 \TA16 \RIA 32 16 \TIN16
    <<
      \voiceTwo {  \TA16[ s32 \TA16 s32 ]}
      \\
      \voiceOne {  s32[ \PI16 s32 \PI16]}
    >>
    \TA8 r16 \TA8
    \RIA32 16
    \repeat unfold 6 { \PI16[ \PI16]  \TA16 }
    \TIN16 \TAN16 \TA16 \RI32 \TACHIMPI16
    \repeat unfold 5 {\TACHIMPI16}  \TA16 \PI16 \PI16  \TA4
    \TAN8 \RIAN32 \PI8  \TA8 r16 \TAN16 \TAN8
    \TAN8 \RIAN32 \TIN8 \TAN8 \PI16 \PI16 \TA16
    \TAN8 \RIAN32 \PI8  \TA8 r16 \TAN16 \TAN8
    \TAN8 \RIAN32 \TIN8 r8 r4
    \repeat unfold 15 {
      <<
        \voiceTwo  {  \TA8[ s8 \TA8 s8 \TA8]}
        \\
        \voiceOne  {  s8 \PI8[ s8 \PI8 s8 \PI8] }
      >>
    }
    <<
      \voiceTwo {  \TA8[ s8 \TA8 ]}
      \\
      \voiceOne {  s8[ \PI8 s8 \PI8]}
    >>
    r16  \TA16
    \RIso32  \TA16)
    <<
      \voiceOne  { \PI16[ s32 \PI16 s32 \PI16 ] }
      \\
      \voiceTwo  {  s32[ \TA16 s32 \TA16]}
    >>
    \TA8 \PI8 \TA16 \RIso32  \TA16)
    \TIN16 \TA16 \TIN16
    <<
      \voiceOne  { \PI16[ s16 \PI16 s16 ] }
      \\
      \voiceTwo  {  s16[ \TA16 s16 \TA16]}
    >>
    \PI16  \TA16 \RIso32  \TA16)
    \repeat unfold 5 { \PI16[ \PI16]  \TA16 }
    \PI16[ \PI16]  \TA8. \PI16  \TA8
    \TAN8 \RAIAIAIAIs64  \TA8)
    \trioTACHIMPI8
    \TA8
    \TAN8 \RAIAIAIAIs64  \TA16)
    <<
      \voiceOne  { \PI16[ s32 \PI16 s32 \PI16 ] }
      \\
      \voiceTwo  {  s32[ \TA16 s32 \TA16]}
    >>
    \TA8. \textMark "1:43" \TA16 \CHIM16 \RIso32 \sfRA32 \PI16
    <<
      \voiceTwo {  \TA16[ s16 \TA16 ]}
      \\
      \voiceOne {  s16[ \PI16 s16 \PI16]}
    >>
    \TA16
    \TAN8 \TIN8 \TA8 \PI8 \TA4
    \repeat volta 2 {
      \trioTACHIMPI16 \trioTACHIMPI16 \TA8 r4 r8
      \trioTACHIMPI16 \trioTACHIMPI16 \TA8 r4 r8}
    \break
    \textMark "1:50" \trioTACHIMPI16\repeat unfold 3 \trioTACHIMPI16 \RIA32 16 \TIN16
    \TA16 \PIM16 \TA8 \PI8 \TA8 \PI8 \TA8
    \repeat unfold 4 \trioTACHIMPI16 \TA16 \TIN16 \RIso32 
    \sfRAso32 \sfRIso32 \sfRAso32 \sfRIso32 \TA4) 
    \break
    \textMark "1:57" \TAN16 \pasD16 \TAN16 \pasG16 \TAN16 \pasD16 \TA16 \PI16 \TA8.
    s1
    \TAN16 \pasD16 \TAN16 \pasG16 \TAN16 \pasD16 \PI16 \TA16 \PI8.
    s1
    \break
    \pasD16 \TAN16 \pasD16 \TAN16 \pasD16 \TAN16 r4. \TAN2 r1
  }
}


castagnII= \drummode {
  \globalDrums
  s1*31
  s2.*36
  r4 r8  r16 \TAN16 r16 \TAN16 r16 \TAN16  r4 r8 \TA32 \RIA32 32 \RIA 32 16
  s2.*5
  \TAN16 \pasD16 \TAN16 \pasG16 \TAN16 \pasD16 \TA16 \PI16 \TA8.
  s2.
  \TAN16 \pasD16 \TAN16 \pasG16 \TAN16 \pasD16 \PI16 \TA16 \PI8.\bar "|"
  s2. *10
  %etc
}


% La partition proprement dite
\score {
  \new  StaffGroup <<
    \new DrumStaff %nouvelle portée
    \with {
      instrumentName = "Castañuelas"	% Inscrire le nom de l'instrument au début de la portée
      shortInstrumentName = "Cast 1."
      %   \RemoveEmptyStaves
    }  \castagnI
    \new DrumStaff %nouvelle portée
    \with {
      instrumentName = "Castañuelas 2"	% Inscrire le nom de l'instrument au début de la portée
      shortInstrumentName = "Cast 2."	% Inscrire le nom de l'instrument au début de la portée
      \RemoveEmptyStaves
      %ou suprime la portée vide au début .
      \RemoveAllEmptyStaves
    }
    \castagnII
  >>

  %affichage de la partition
  \layout {
    \context {
      \Score
      \override SpacingSpanner.common-shortest-duration =
      #(ly:make-moment 1/64)
      \override SpacingSpanner.uniform-stretching = ##f
      \RemoveEmptyStaves
    }
  }
  %sorite midi
  \midi {  }
}


\header {
  % Bsoc de définition de l'entête
  % Pour supprimer une partie de l'entête la faire précéder par % (exemple ci-dessou on a enlevé la dédicace
  % On peut aussi juste enlever le texte entre guillemets

  %  dedication = "À "
  title = "Tarantela 2"
  subtitle = " "
  subsubtitle = " "
  instrument = " "
  composer = "Santiago de Murcia"
  arranger = "Adaptación castañuelas: Maria Donzella Gaubert"
  copyright = "©2026 Maria Donzella Gaubert. All rights reserved"
  tagline = " "
}

\paper {
  ragged-right = ##f
  #(set-paper-size "a4" )
  left-margin = 2\cm
  right-margin = 1\cm
  bottom-margin = 2\cm
  top-margin = 1\cm
  indent = 2\cm
}

Bonsoir

alors pour les nuances et articulations je propose une ruse
faire une ligne de Dynamics
C'est un peu fastidieux laborieu à faire
mais pour le moment je ne vois pas d'autre solution
(j'suis trop nul en scheme )

à insèrer au bon endroit
"

onD=\revert DynamicText.stencil 
offD=\override DynamicText.stencil = ##f 
nuanceStaff = \new Dynamics  {  s1*25
                                \offD r1\p^^  %26
                                s1 s1 %28
                                s4 s2 s8 s8 \f--  %29 
                                \onD s4\pp %30
}

% La partition proprement dite
\score {
  \new  StaffGroup <<
 \new Dynamics  {   \nuanceStaff } 


et les barre de fin c'est \bar "|."

1 « J'aime »

Oui merci, je vais faire comme ça pour terminer ma première partition
Après il faudra que je réfléchisse à trouver une autre solution car si c'est trop compliqué personne ne voudra écrire des partitions comme ça.
Merci pour cette ruse car je croyais avoir tout essayé.
Fab

Merci @fgohier de cette réponse mais cette ligne semble créer une erreur:

(suppress "Unattached AbsoluteDynamicEvent" 1)

Unbound variable: suppress

Ah ben il manquait l'apostrophe après # c'est tout :smiley:
Merci encore @fgohier

Bonjour,
C'est trop galère de faire une ligne de dynamics comme suggéré par @MartialR. J'ai choisi la solution de @fgohier mais je me demande si tous ces avertissements "AbsoluteDynamicEvent non attaché" ne font pas augmenter énormément le temps de compilation.
Bon pour l'instant je ne vois pas d'autres solutions.
Fab

En même temps tu essaies d'attacher des nuances à des fonctions musicales qui font plusieurs notes, parfois même plusieurs voix. Alors que les nuances sont prévues dans LilyPond pour être attachées directement auprès une note, dans une voix.

Si tu veux attacher la nuance à la première note de la première voix de ton expression musicale tu peux essayer

<>\p \monExpressionMusicale

(un accord vide avec la nuance juste avant l'expression)

Dac. Merci @xavier, excellent tous les avertissements disparaissent, merci pour l'astuce.
Fab