Effacer les citations du conducteur

Bonjour,
Pour les parties séparées je note des citations d'autres instruments avant l'entrée d'un musicien.
Avec \new CueVoice, ça marche très bien. Mais je n'ai besoin de les avoir dans le conducteur.
La doc précise qu'avec \killCues, il est possible de les supprimer. Mais où faut-il placer cette commande. Je n'y suis pas arrivé, ni dans la partie principale ni dans les parties séparées. Quelle est la bonne syntaxe ?
Merci pour votre aide à la compréhension de cette commande.
Cordialement.
Christophe

Bonjour,

À relire Formatting cue notes (LilyPond Notation Reference), il me semble que \killCues ne s'occupe que des répliques insérées avec \cueDuring. Pour celles insérés avec une CueVoice, je crois qu'il faut passer par l'utilisation des tags.

Cordialement,
Frédéric

Bonjour et merci Frédéric.
La doc n'est pas très claire (pour moi) :

La commande killCues permet de supprimer les notes d’une citation. Ceci est utile lorsque cette citation n’est pas imprimée dans le conducteur entre autres. killCues supprimera les notes et autres événements pris en charge par \cueDuring. Pour les autres annotations telles que changement de clef ou instrument concerné, faites appel à des balises – see section Utilisation de balises à ce sujet.

Je ne suis pas habitué à l'utilisation des tags. Quelle va être la bonne syntaxe ... ?
Je vais tâtonner.

Il y a tellement de balises que je ne sais même pas laquelle convient.
Les citations présentes dans les parties séparées mais pas dans le conducteur.
Merci pour vos conseils.

Je suis complètement coincé. Je ne comprends quelle balise utiliser.
Pour moi la documentation est plus mathématique que musicale, en tout cas pour cet aspect.
Merci pour votre aide.

Bonjour,

Une autre possibilité est d'utiliser une variable séparée avec des silences invisibles et les citations.

Si tu fournis un exemple minimal de code montrant ce que tu utilises on peut t'indiquer comment le modifier avec les tags et/ou une variable séparée.
Mais le plus simple est probablement d'utiliser \cueDuring comme indiqué dans la documentation, qui a l'avantage d'avoir presque tout automatisé.

Cordialement,
Xavier

Je rebondis sur ton offre Xavier, car je tourne en rond et n'arrive à rien.
Dans le code suivant, j'aimerais que la harpe apparaisse en "à défaut" en citation deux mesures avant le début de la flûte :

\version "2.24.1"

\header {
  title = "citations"
}

\paper {
  #(set-paper-size "a4")
}

global = {
  \key c \major
  \numericTimeSignature
  \time 3/4
}

flute = \relative c'' {
  \global
  % En avant la musique !
 R2. *2
 r8  g'' \pp  ~g8 d e4 ~
e4 d8 \< b a b \!
e4 \> d8 g, b4 \!
}

upper = \relative c'' {
  \global
  % En avant la musique !
   \hideNotes \change Staff = "lower" s8 
 \shape #'((-0.4 . -0)(0 . 3)(0 . 3)(0 . 0)) Slur
 \override DynamicLineSpanner.staff-padding = 3
 \voiceOne d,\> ( a' d e fis \change Staff = "upper" \unHideNotes
 \oneVoice r8 d, e fis a d ) \!
 
  <f! a>2 r4
 <f, \flageolet  a\flageolet  >2.
}

lower = \relative c' {
  \global
  % En avant la musique !
  r8  \shiftOn d,, a' d e fis ~ fis 2.
  
  s2. s
}

flutePart = \new Staff \with {
  instrumentName = "Flûte"
  midiInstrument = "flute"
} \flute

harpPart = \new PianoStaff \with {
  instrumentName = "Harpe"
} <<
  \new Staff = "upper" \with {
    midiInstrument = "orchestral harp"
  } \upper
  \new Staff = "lower" \with {
    midiInstrument = "orchestral harp"
  } { \clef bass \lower }
>>

\score {
  <<
    \flutePart
    \harpPart
  >>
  \layout { }
  \midi {
    \tempo 4=100
  }
}

Merci pour votre aide.
Christophe
PS : question subsidiaire qui fait l'objet d'une autre demande d'ailleurs : pourquoi les portées de la harpe sont aussi écartées ?

Oui mais du coup une citation "harp lower" pour la première mesure et "harp upper" pour la deuxième ? Avec une cueClef bass pour la 1e et une cueClef treble pour la 2e ?

Je dois avouer que dans l'idéal j'aimerais proposer une solution avec cueDuring comme dans la documentation, mais que pour des cas compliqués j'aurais tendance à tricher.

Sans tricher : dans flute, remplacer R2.*2 par

\tag #'part { <>^\markup { \tiny "harpe" } }
\cueDuringWithClef "harpLower" #UP "bass" { R2. }
\cueDuring "harpUpper" #UP { R2. }

Ajouter après les variables et avant le bloc \score

\addQuote "harpUpper" { \upper }
\addQuote "harpLower" { \lower }

Voilà, on peut utiliser

\removeWithTag #'part { \killCues { \flute } }

pour le conducteur, comme dans l'exemple de NR 1.6.3 Writing parts.

Bonjour, malgré les explications de Xavier, je n'arrive pas à créer les citations et à les supprimer du conducteur.
Des erreurs qui n'existaient pas jusqu'alors apparaissent.
Voici une partie du code (l'ensemble est un conducteur avec bois par 2, cors, triangle, harpe et cordes). Ici, seulement flûtes et harpes pour l'exemple et la résolution du problème.

\version "2.24.1"

\tagGroup #'(conducteur)


\header {
  title = "Prélude-V2"
}

global = {

  \numericTimeSignature
  \time 3/4
  \tempo "Assez lent" 4=60 
}

scoreAFlute = \relative c'' {
  \global
R2. *7

\tag #'part { <>^\markup { \tiny "harpe" } }
\cueDuringWithClef "scoreAleft" #UP "left" { R2. }
\cueDuring "scoreAright" #UP { R2. }

\break
r8  g'' \pp ( ~g8 d e4 ~
e4 d8 \< b a b \!
e4 \> d8 g, b4~ \!
b4 a8 \< g e g 
b d! \!  b4. a8
b8 ^\markup {\bold Ralenti} e, \> g2 \! ) |

 R2. *7 ^\markup {\bold {au Mouvt}}
 R2. *2 ^\markup {\bold {Ralenti}}
 R2. *2 ^\markup {\bold {Très lent}}
 <c e>4 \pp \fermata r r \bar".." |
}

scoreAright = \relative c'' {
 \global
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 5)

 R2.
 \hideNotes \change Staff = "left" s8 
	\shape #'((-0.7 . -4)(0 . 1)(0 . 1)(0 . -0.5)) Slur
	\voiceOne a,,( e' g c e \change Staff = "right" \unHideNotes
	\oneVoice g8 c) ~c2

 <d, fis b>2\arpeggio r4
 <g c e>2 \arpeggio r4
 <d fis b>2 \< \arpeggio r4 \!
 <c e>2 r4
 
 \hideNotes \change Staff = "left" s8 
 \shape #'((-0.4 . -0)(0 . 3)(0 . 3)(0 . 0)) Slur
 \override DynamicLineSpanner.staff-padding = 3
 \voiceOne d,\> ( a' d e fis \change Staff = "right" \unHideNotes
 \oneVoice r8 d e fis a d ) \!
 
 
 <f! a>2 r4
 <f, \flageolet  a\flageolet  >2. 
  <f' a>2 <dis,\flageolet \laissezVibrer  ges\flageolet\laissezVibrer  >4
 R2. *3 |
 

 
<<
    \new Voice = "première"
    \relative {
      \voiceOne
      <g' aes c! g'>2  ^\markup {\bold {au Mouvt}} \arpeggio s4  
    }
    \new Voice = "seconde"
    \relative {
      \voiceTwo
      \hideNotes 
      \change Staff = "left" s4
        \voiceOne 
        \shape #'((-5 . -4)(-2 . 1)(-3 . 2.5)(1 . 0)) Slur 
         f8 ( c'8 
     \change Staff = "right" 
     \unHideNotes
      \oneVoice 
     %  \stemUp
     \stemDown
        aes'4 )
    }
  >>
  R2.
  <<
    \new Voice = "première"
    \relative {
      \voiceOne
      <g' aes c! g'>4 \arpeggio s4  s8 s8
    }
    \new Voice = "seconde"
    \relative {
      \voiceTwo
      \hideNotes 
      \change Staff = "left" s4
        \voiceOne 
        \shape #'((-5.8 . -17.2)(-4 . 3.5)(0 . 1)(0 . -0.3)) Slur 
         f8 ( c'8 
     \change Staff = "right" 
     \unHideNotes
      \oneVoice 
     %  \stemUp
      g'8[  aes] )
    }
  >>
 
 R2.
 <<
    \new Voice = "première"
    \relative {
      \voiceOne
      <bes d! a'>4 \arpeggio s4  s4
    }
    \new Voice = "seconde"
    \relative {
      \voiceTwo
      \hideNotes 
      \change Staff = "left" s8
        \voiceOne 
        \shape #'((-2.5 . -10.5)(-2 . 1)(-2 . 2)(-3 . 0)) Slur 
        \override DynamicLineSpanner.staff-padding = 4
         g'8 \< ( d'!8  f! b d
     \change Staff = "right" 
     \unHideNotes
      \oneVoice 
     %  \stemUp
    % \stemDown
        r8 <bes, d>8 ~<bes d>4 r) \!
    }
  >>
 
 R2. *2
 \hideNotes \change Staff = "left" s8 
	\shape #'((-0.1 . -5.)(0 . 1)(-0.8 . 3.5)(0 . -2)) Slur
	\voiceOne a,,^"L.V."\>( e' b' c e \change Staff = "right" \unHideNotes
	\oneVoice b'8 c^\markup {\bold {Très lent}} e b' c4)\!
 
 R2.
 <c \flageolet e \flageolet>2. \fermata
 \bar".." |
}

scoreAleft = \relative c'' {
   \global
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 5)

 
 R2.
%{ r8 \p a,, e' g c e ~
 e2. ^"L.V"  %}
 r8 \p a,, e' g c e ~e2. ^"L.V."

 r8 e,, (e'4) r
 r8 a, (e'4) r |
 
 r8 e, (e'4) r
 r8 a, (e'4) r |
 
 r8 d, a' d e fis ~ fis 2.
 
 s2. *6
 
 r8 \p f8 [ \change Staff = "right" c' g'8] s4
\change Staff = "left"
R2.
 r8 f, [ \change Staff = "right" c' f8] s4
 \change Staff = "left"
 R2.
  r8  g,, d'! f! b d
  s2. 
 
 R2. *2
 r8 \shiftOn a,, e' b' c e 
	s2.
 R2. *2
 \bar".." |
 
}  

scoreAFlutePart = \new Staff \with {
  instrumentName = "2 flûtes"
  midiInstrument = "flute"

} 
{ \tag conducteur \set Staff.shortInstrumentName = "Fl"

  \scoreAFlute
}

scoreAHarpePart = \new PianoStaff \with {
    instrumentName = "Harpe"
  
  }{\tag conducteur \set PianoStaff.shortInstrumentName = "Hp"
  <<
    \new Staff = "right" \with {
      midiInstrument = "orchestral harp"
    } \scoreAright
    \new Staff = "left" \with {
      midiInstrument = "orchestral harp"
    } { \clef bass \scoreAleft }
  >> }
  
  \addQuote "scoreAright" { \scoreAright }
\addQuote "scoreAleft" { \scoreAleft }

\score {
 <<
   
    \new StaffGroup 
    << 
      
    \scoreAFlutePart
    \new Staff {
 %   \removeWithTag #'part { \killCues { \scoreAHarpePart } }
  }
  
   \scoreAHarpePart
   
     \layout {
 
  \context {
    \Staff \RemoveEmptyStaves }
  
  \context {
    \Score
    
  
    \override StaffGrouper.staff-staff-spacing.padding = #3
    
  
  }}
   
  
  \midi {
    \tempo 4.=80 } 
}

% 2 flûtes
\bookpart {
  \header {subtitle = "2 flûtes"}
  \paper {
    system-separator-markup = ##f
    system-system-spacing.basic-distance = #25 
  }
   \score {\new StaffGroup {
     \removeWithTag conducteur <<{\scoreAFlutePart} >>}
        
   
  }    
  
         
           \layout {}
           \midi {\tempo 4=100}}
}

% Harpe
\bookpart {
  \header {subtitle = "Harpe"}
  \paper {
    system-separator-markup = ##f
   system-system-spacing.basic-distance = #25 
  }
   \score {\new StaffGroup {
   %  \removeWithTag conducteur <<{\scoreAHarpePart} >>}
           \layout {}
           \midi {\tempo 4=100}}
}

Merci pour votre aide.
Cordialement.
Christophe

Et avec tag seul ? Une solution plus simple est-elle possible ?
Je suis à l'arrêt complet malheureusement.
Merci pour votre aide.

Bonjour,
Ma question reste sans réponse.
Je trouve que l'usage de Lilypond est très compliqué du coup.
J'essaie de trouver une solution de secours en écrivant le conducteur d'un côté puis en modifiant les parties séparées d'un autre. J'utilise \new CueVoice qui est facile à mettre en œuvre pour les parties séparées.
Oui, mais même ainsi, il est impossible de l'intégrer à un contexte de 2 voix comme celui-ci sans avoir 50 lignes d'erreurs :
<\new Voice = "première"
\relative {\voiceOne r4 r r8 (\stemDown g''
g2^\markup {\bold {au Mouvt}} \p f4 \break \stemNeutral a,!4. \stemUp c!8
\stemNeutral a4 g'4. f8 g c, a4. \stemUp c!8 \stemNeutral a4) }
\new Voice = "seconde"
\relative {\voiceTwo s2. s dis'4. d!8 dis4 s2. dis4. d!8 dis4 }>>

Est-ce les limites de Lilypond ? Les miennes c'est sûr !
Pour fournir la partition demain, je suis bien en peine.
Cordialement.
Christophe

De même, écrire une citation dans une partie de percussion pour que la portée apparaisse ...

Pour résumer mes difficultés, je souhaite faciliter le travail des musiciens en notant dans leurs partitions individuelles les répliques (citations ou à défaut) des autres instruments juste avant leur entrée.
Les contextes de ces citations peuvent être différents si l'instrument à répliquer est monodique ou polyphonique (harpe ou piano où les notes passent de la main gauche à la main droite) ou encore aider le percussionniste qui doit partir après un nombre considérable de mesures à compter.
D'autant que ces citations si elles sont très utiles pour le musicien n'ont pas leur intérêt dans le conducteur.
Je n'arrive pas pour l'instant à utiliser des commandes qui finalisent mon intention dans ces différents contextes.
Merci d'avance à ceux qui pourront m'accompagner dans la compréhension du principe et dans la résolution de ce problème. Qui me sera utile très très souvent.
Cordialement.
Christophe

Bonjour Christophe.

J'ai eu l'occasion il y a quelques années de me frotter au même problème.
Voici ma solution. J'utilise toujours plusieurs fichiers:

  • un "global" regroupant les constantes: titre, compositeur, variables diverses pour éviter les commandes à rallonge, section \paper.
  • une trame pour le nombre de mesures, les tonalités etc... 1 section par mouvement, récupérée à l'aide de \tag.
  • un fichier par instrument comportant les notes et nuances, et les citations filtrées avec des \tag
  • un fichier par instrument regroupant par \include les différents fichiers précédents.
  • un fichier score pour le conducteur

Je joins un fichier zip du code de l'Elégie de Fauré pour violoncelle et orchestre accessible via ce lien: Microsoft OneDrive
C'est en 2.18.2 (c'était en 2019). Il n'est pas forcément utile de le convertir, cela risque d'être un peu compliqué pour certaines fonctions. Mais cela pourra te permettre de comprendre ma démarche et de l'adapter à tes besoins.

Michel

Pas le temps de faire plus vu l'heure, mais le problème principal dans cet exemple, ce sont tout bêtement des } et >> oubliés ou mal placés.

Ça va déjà nettement mieux comme ça, j'ai aussi réindenté, fait quelques simplifications et rajouté le \killCues manquant entre autres :

\version "2.24.1"

\tagGroup #'(conducteur)

\header {
  title = "Prélude-V2"
}

global = {
  \numericTimeSignature
  \time 3/4
  \tempo "Assez lent" 4 = 60
}

scoreAFlute = \relative c'' {
  \global
  R2.*7
  \tag #'part { <>^\markup { \tiny "harpe" } }
  \cueDuringWithClef "scoreAleft" #UP "bass" { R2. }
  \cueDuring "scoreAright" #UP { R2. }

  \break
  r8  g'' \pp ( ~g8 d e4 ~
  e4 d8 \< b a b \!
  e4 \> d8 g, b4~ \!
  b4 a8 \< g e g 
  b d! \!  b4. a8
  b8 ^\markup {\bold Ralenti} e, \> g2 \! ) |

  R2. *7 ^\markup {\bold {au Mouvt}}
  R2. *2 ^\markup {\bold {Ralenti}}
  R2. *2 ^\markup {\bold {Très lent}}
  <c e>4 \pp \fermata r r \bar".." |
}

scoreAright = \relative c'' {
  \global
  R2.
  \hideNotes \change Staff = "left"
  s8 
  \shape #'((-0.7 . -4)(0 . 1)(0 . 1)(0 . -0.5)) Slur
  \voiceOne a,,( e' g c e \change Staff = "right" \unHideNotes
  \oneVoice g8 c) ~c2

  <d, fis b>2\arpeggio r4
  <g c e>2 \arpeggio r4
  <d fis b>2 \< \arpeggio r4 \!
  <c e>2 r4
 
  \hideNotes \change Staff = "left" s8 
  \shape #'((-0.4 . -0)(0 . 3)(0 . 3)(0 . 0)) Slur
  \override DynamicLineSpanner.staff-padding = 3
  \voiceOne d,\> ( a' d e fis \change Staff = "right" \unHideNotes
  \oneVoice r8 d e fis a d ) \!

  <f! a>2 r4
  <f, \flageolet  a\flageolet  >2. 
  <f' a>2 <dis,\flageolet \laissezVibrer  ges\flageolet\laissezVibrer  >4
  R2. *3 |
 
  <<
    \new Voice = "première"
    \relative {
      \voiceOne
      <g' aes c! g'>2  ^\markup {\bold {au Mouvt}} \arpeggio s4  
    }
    \new Voice = "seconde"
    \relative {
      \voiceTwo
      \hideNotes 
      \change Staff = "left" s4
      \voiceOne 
      \shape #'((-5 . -4)(-2 . 1)(-3 . 2.5)(1 . 0)) Slur 
      f8 ( c'8 
      \change Staff = "right" 
      \unHideNotes
      \oneVoice 
      %  \stemUp
      \stemDown
      aes'4 )
    }
  >>
  R2.
  <<
    \new Voice = "première"
    \relative {
      \voiceOne
      <g' aes c! g'>4 \arpeggio s4  s8 s8
    }
    \new Voice = "seconde"
    \relative {
      \voiceTwo
      \hideNotes 
      \change Staff = "left" s4
      \voiceOne 
      \shape #'((-5.8 . -17.2)(-4 . 3.5)(0 . 1)(0 . -0.3)) Slur 
      f8 ( c'8 
      \change Staff = "right" 
      \unHideNotes
      \oneVoice 
      %  \stemUp
      g'8[  aes] )
    }
  >>
 
  R2.
  <<
    \new Voice = "première"
    \relative {
      \voiceOne
      <bes d! a'>4 \arpeggio s4  s4
    }
    \new Voice = "seconde"
    \relative {
      \voiceTwo
      \hideNotes 
      \change Staff = "left" s8
      \voiceOne 
      \shape #'((-2.5 . -10.5)(-2 . 1)(-2 . 2)(-3 . 0)) Slur 
      \override DynamicLineSpanner.staff-padding = 4
      g'8 \< ( d'!8  f! b d
      \change Staff = "right" 
      \unHideNotes
      \oneVoice 
      %  \stemUp
      % \stemDown
      r8 <bes, d>8 ~<bes d>4 r) \!
    }
  >>

  R2. *2
  \hideNotes \change Staff = "left" s8 
  \shape #'((-0.1 . -5.)(0 . 1)(-0.8 . 3.5)(0 . -2)) Slur
  \voiceOne a,,^"L.V."\>( e' b' c e \change Staff = "right" \unHideNotes
  \oneVoice b'8 c^\markup {\bold {Très lent}} e b' c4)\!

  R2.
  <c \flageolet e \flageolet>2. \fermata
  \bar".." |
}

scoreAleft = \relative c'' {
  \global

  R2.
  %{ r8 \p a,, e' g c e ~
 e2. ^"L.V"  %}
  r8 \p a,, e' g c e ~e2. ^"L.V."

  r8 e,, (e'4) r
  r8 a, (e'4) r |
 
  r8 e, (e'4) r
  r8 a, (e'4) r |
 
  r8 d, a' d e fis ~ fis 2.
 
  s2. *6
 
  r8 \p f8 [ \change Staff = "right" c' g'8] s4
  \change Staff = "left"
  R2.
  r8 f, [ \change Staff = "right" c' f8] s4
  \change Staff = "left"
  R2.
  r8  g,, d'! f! b d
  s2. 
 
  R2. *2
  r8 \shiftOn a,, e' b' c e 
  s2.
  R2. *2
  \bar".." |
 
}  

scoreAFlutePart = \new Staff \with {
  instrumentName = "2 flûtes"
  midiInstrument = "flute"

} 
{
  \tag conducteur \set Staff.shortInstrumentName = "Fl"
  \scoreAFlute
}

scoreAHarpePart = \new PianoStaff \with {
  instrumentName = "Harpe"
} {
  \tag conducteur \set PianoStaff.shortInstrumentName = "Hp"
  <<
    \new Staff = "right" \with {
      midiInstrument = "orchestral harp"
    } \scoreAright
    \new Staff = "left" \with {
      midiInstrument = "orchestral harp"
    } { \clef bass \scoreAleft }
  >>
}

\addQuote "scoreAright" { \scoreAright }
\addQuote "scoreAleft" { \scoreAleft }

\layout {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 5)
}

\score {
  \removeWithTag #'part \killCues \new StaffGroup  << 
      \scoreAFlutePart
      \scoreAHarpePart
  >>
  \layout {
    \context {
      \Staff
      \RemoveEmptyStaves
    }
    \context {
      \Score
      \override StaffGrouper.staff-staff-spacing.padding = #3
    }
  }
  \midi {
    \tempo 4. = 80
  }
}

% 2 flûtes
\bookpart {
  \header {subtitle = "2 flûtes"}
  \paper {
    system-separator-markup = ##f
    system-system-spacing.basic-distance = #25 
  }
  \score {
    \removeWithTag conducteur \scoreAFlutePart
    \layout {}
    \midi {\tempo 4=100}
  }
}

% Harpe
\bookpart {
  \header {subtitle = "Harpe"}
  \paper {
    system-separator-markup = ##f
    system-system-spacing.basic-distance = #25 
  }
  \score {
    \removeWithTag conducteur \scoreAHarpePart
    \layout {}
    \midi {\tempo 4=100}
  }
}

Merci Michel pour ce partage. Il faut que je me familiarise avec les notions que tu évoques. La division des taches est peut-être une solution quand la partition est trop longue.

Bonjour Jean, merci pour votre relecture et votre clarification.

Citation le problème principal dans cet exemple, ce sont tout bêtement des } et >> oubliés ou mal placés.
J'ai remarqué que le copié-collé faisait disparaître plusieurs symboles.

Malgré ces corrections, beaucoup de messages d'erreurs apparaissent à la compilation. Par exemple :

CitationDémarrage lilypond 2.24.1 [Sans titre]...
Traitement de « /tmp/frescobaldi-1iowshaw/tmpsa3rbt8w/document.ly »
Analyse...
/tmp/frescobaldi-1iowshaw/tmpsa3rbt8w/document.ly:39:14: Avertissement : impossible de repérer le contexte vers lequel basculer : Staff = left
\hideNotes
\change Staff = "left"
/tmp/frescobaldi-1iowshaw/tmpsa3rbt8w/document.ly:42:27: Avertissement : impossible de repérer le contexte vers lequel basculer : Staff = right
\voiceOne a,,( e' g c e
\change Staff = "right" \unHideNotes
/tmp/frescobaldi-1iowshaw/tmpsa3rbt8w/document.ly:50:14: Avertissement : impossible de repérer le contexte vers lequel basculer : Staff = left
\hideNotes
\change Staff = "left" s8
/tmp/frescobaldi-1iowshaw/tmpsa3rbt8w/document.ly:53:31: Avertissement : impossible de repérer le contexte vers lequel basculer : Staff = right
\voiceOne d,> ( a' d e fis
\change Staff = "right" \unHideNotes
/tmp/frescobaldi-1iowshaw/tmpsa3rbt8w/document.ly:71:7: Avertissement : impossible de repérer le contexte vers lequel basculer : Staff = left

Etc ...
Pourriez-vous également m'expliquer la raison de l'écartement plus grand des portées de harpe dans le dernier système ? Et le moyen de le corriger.
Merci beaucoup pour votre aide et votre pédagogie.
Cordialement.
Christophe

J'avais déjà répondu ici.

Mettez hideNotes = {} au début de votre fichier et vous verrez ces notes (plus transparentes) qui affectent l'espacement vertical.

1 « J'aime »

J'avoue que j'ai mis un moment à les comprendre. Ils sont liés au \addQuote, qui crée une sorte de contexte parallèle où la musique citée est interprétée, et dans ce contexte, il n'y a qu'une des deux mains du piano (vu que vous faites des \addQuote séparés sur les deux), et donc la portée de l'autre main n'est pas trouvée.

On peut corriger ça en enlevant les \change dans ce qui est passé à \addQuote, à l'aide des tags.

Comme l'a expliqué Xavier, ce sont vos notes invisibles qui prennent l'espace. Mais de toute façon, ces notes invisibles sont inutiles. Il est beaucoup plus simple de faire passer la voix de la portée du bas sur la portée du haut sans rien dupliquer.

Voilà ma version corrigée, j'en ai profité pour enlever tous vos \shape et les remplacer par une incantation automagique qui incite les extrémités des liaisons à se rapprocher des notes (\override Voice.Slur.details.edge-attraction-factor).

\version "2.24.1"

\tagGroup conducteur
\tagGroup quote,noQuote

\header {
  title = "Prélude-V2"
}

left = \tag noQuote \change Staff = "left"
right = \tag noQuote \change Staff = "right"

global = {
  \numericTimeSignature
  \time 3/4
  \tempo "Assez lent" 4 = 60
}

scoreAFlute =
\relative c'' {
  \global
  R2.*7
  \tag part { <>^\markup { \tiny "harpe" } }
  \cueDuringWithClef "scoreAleft" #UP "bass" { R2. }
  \cueDuring "scoreAright" #UP { R2. }

  \break
  r8  g''\pp( ~g8 d e4~
  e4 d8\< b a b\!
  e4\> d8 g, b4~\!
  b4 a8\< g e g 
  b d!\!  b4. a8
  b8^\markup {\bold Ralenti} e,\> g2\! ) |

  R2.*7^\markup {\bold {au Mouvt}}
  R2.*2^\markup {\bold {Ralenti}}
  R2.*2^\markup {\bold {Très lent}}
  <c e>4\pp\fermata r r
  \fine
}

scoreAright = \relative c'' {
  \global
  R2.
  \left
  s8
  \voiceTwo a,,^( e' g c e \right
  \oneVoice g8 c) ~c2

  <d, fis b>2\arpeggio r4
  <g c e>2 \arpeggio r4
  <d fis b>2 \< \arpeggio r4 \!
  <c e>2 r4
 
  \left
  s8
  \voiceOne d,,\>( a' d e fis
  \right
  \oneVoice r8 d' e fis a d )\!

  <f! a>2 r4
  <f,\flageolet  a\flageolet  >2. 
  <f' a>2 <dis,\flageolet\laissezVibrer ges\flageolet\laissezVibrer>4
  R2.*3 |

  <g aes c! g'>2^\markup {\bold {au Mouvt}}\arpeggio s4  

  R2.

  <g aes c! g'>4\arpeggio s4  s8 s8
 
  R2.

  <bes d! a'>4\arpeggio s4  s4

  s2. R2.*2

  R2. s2. R2.
  <c\flageolet e\flageolet>2.\fermata
  \fine |
}

scoreAleft =
\relative c'' {
  \global

  R2.
  %{ r8 \p a,, e' g c e ~
 e2. ^"L.V"  %}
  r8\p a,, e' g c e ~e2.^"L.V."

  r8 e,,( e'4) r
  r8 a,( e'4) r |
 
  r8 e,( e'4) r
  r8 a,( e'4) r |
 
  r8 d, a' d e fis\tag noQuote ~ fis2.
 
  s2.*6
 
  r8\p f8([ \right c' g'8] aes4)
  \left
  R2.
  r8 f,([ \right c' f8] g aes)
  \left
  R2.
  r8  g,,( d'! f! b d
  \right
  r8 <bes' d>8~ 4) r4
  \left
  R2.*2
  r8 \shiftOn a,,,( e' b' c e 
  \right
  b'8 c^\markup {\bold {Très lent}} e b' c4)\!
  \left
  R2.*2
  \fine |
}  

scoreAFlutePart =
\new Staff \with {
  instrumentName = "2 flûtes"
  midiInstrument = "flute"

} 
{
  \tag conducteur \set Staff.shortInstrumentName = "Fl"
  \scoreAFlute
}

scoreAHarpePart =
\new PianoStaff \with {
  instrumentName = "Harpe"
} {
  \tag conducteur \set PianoStaff.shortInstrumentName = "Hp"
  <<
    \new Staff = "right" \with {
      midiInstrument = "orchestral harp"
    } \scoreAright
    \new Staff = "left" \with {
      midiInstrument = "orchestral harp"
    } { \clef bass \scoreAleft }
  >>
}

\addQuote "scoreAright" \keepWithTag quote \scoreAright
\addQuote "scoreAleft" \keepWithTag quote \scoreAleft

\layout {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 5)
  \override Voice.Slur.details.edge-attraction-factor = 10
}

\score {
  \removeWithTag #'part \killCues \new StaffGroup  << 
      \scoreAFlutePart
      \scoreAHarpePart
  >>
  \layout {
    \context {
      \Staff
      \RemoveEmptyStaves
    }
    \context {
      \Score
      \override StaffGrouper.staff-staff-spacing.padding = #3
    }
  }
  \midi {
    \tempo 4. = 80
  }
}

% 2 flûtes
\bookpart {
  \header {subtitle = "2 flûtes"}
  \paper {
    system-separator-markup = ##f
    system-system-spacing.basic-distance = #25 
  }
  \score {
    \removeWithTag conducteur \scoreAFlutePart
    \layout {}
    \midi {\tempo 4=100}
  }
}

% Harpe
\bookpart {
  \header {subtitle = "Harpe"}
  \paper {
    system-separator-markup = ##f
    system-system-spacing.basic-distance = #25 
  }
  \score {
    \removeWithTag conducteur \scoreAHarpePart
    \layout {}
    \midi {\tempo 4=100}
  }
}