difficulté a maitriser les Ossia

Bonjour a tous.
j'aimerais inscrire des Ossia dans une partition de harpe.
J'ai "pompé" dans la doc le code afférant à cela. Mais hélas je n'arrive pas à l'intégrer dans ma partition.
J'ai une portée en clé sol vide supplémentaire, de plus la (ou le) Ossia s'affiche en dessous de la portée de fa au lieu d'être au-dessus. Qui plus ait n'est pas Ossia.

Voici ma partition:

\version "2.24.4"
%--------------------------------------------
global = 
{ 
  \key g\minor
   \time 4/4
   \partial 8
}
%-----------------------------------------------
LaMainDroite =
\relative c'
{
  \global
  c'8 g a bes4 c bes8 bes c d c bes c4 bes8 bes g a bes4 c bes8 bes
}
%----------------------------------------------
LaMainGauche =
 \relative c'
  {
   <<
  \new Staff = "ossia" 
  \with 
    {
    \remove Time_signature_engraver
   \hide Clef
    \magnifyStaff #2/3
    }
  { \stopStaff  s1*1 }
%%
  \new Staff 
  \relative 
   {
    \global
    \clef bass
     r8 r4 <g d>2
    <<
       \context Staff = "ossia"
      {\startStaff <c f>4 r4 f g e\stopStaff }
    >>
   r4 <g, d>2
     <<
       \context Staff = "ossia"
      {\startStaff <c f>4 r4 f g e\stopStaff }
    >>
  }
>>
}
 %-------------------------------------
\score
{
  \new GrandStaff 
  <<
    \new Staff  \LaMainDroite
    \new Staff  \LaMainGauche
 >>
 }

Merci par avance de vos réponses. je vous souhaite une bonne journée

Bonjour Christian,

Le 04/02/2026 à 10:13, christianleBars via LilyPond a écrit :

j'aimerais inscrire des Ossia dans une partition de harpe.
J'ai "pompé" dans la doc le code afférant à cela. Mais hélas je n'arrive pas à l'intégrer dans ma partition.
J'ai une portée en clé sol vide supplémentaire, de plus la (ou le) Ossia s'affiche en dessous de la portée de fa au lieu d'être au-dessus. Qui plus est n'est pas Ossia.

Je ne sais pas si c'est déjà le cas en 2.24, mais la doc de la 2.25
indique d'utiliser alignAboveContext :

\new Staff = "main" \relative {
c''4 b d c
<<
{ c4 b d c }

\new Staff \with {
  \remove Time_signature_engraver
  alignAboveContext = "main"
  \magnifyStaff #2/3
  firstClef = ##f
}
{ e4 d f e }

c4 b c2
}

Bonjour Omiak.
Merci pour ta réponse. Cependant, c'est le paragraphe de la doc qui m'a servi à écrire ma partition.
Cordialement

Le 04/02/2026 à 11:18, Olivier Miakinen via LilyPond a écrit :

Je ne sais pas si c'est déjà le cas en 2.24, mais la doc de la 2.25
indique d'utiliser alignAboveContext :

6.2.2 Portées d’ossia (GNU LilyPond – Manuel de notation)

Oui, c'est déjà en 2.24 :

Bonjouor,

j'ai toujours eu du mal avec les ossia (je n'ai pas fait beaucoup non plus)
voici un e façon de faire :

\version "2.24.4"
%--------------------------------------------
global =
{
  \key g\minor
  \time 4/4
  \partial 8
}

Ossia= \relative c' {
  \stopStaff s8 s4  \startStaff
  r4 f g e
  \stopStaff s2 \startStaff
  r4 f g e
}

%-----------------------------------------------
LaMainDroite =
\relative c'
{
  \global
  c'8 g a bes4 c bes8 bes c d c bes c4 bes8 bes g a bes4 c bes8 bes
}
%----------------------------------------------
LaMainGauche =
\relative c' <<
  \new Staff = "mainG"
  {
    \global \clef bass
    r8 r4 c2 % on continu la partition
    r4 <g, d>2
    %etc
    r4 q4 q2
  }
  {
    %début de l'ossia
    <<
      \new Staff \with {
        \omit TimeSignature
        alignAboveContext = "mainG"
        \magnifyStaff #2/3
        firstClef = ##f
      } { \Ossia }
    >> %fin ossia 
  }
>>


%-------------------------------------
\score
{
  \new GrandStaff
  <<
    \new Staff \LaMainDroite
    \context Staff \LaMainGauche
  >>
}
%----------------------------

Bonjour Martial.
Cela marche vachement bien !
Merci.
Sinon, je trouve l'espace entre la portée et l'Ossia un peu grand ? peut-on le diminuer.
Oui je sais j'en veux toujours plus, mais Lily m'a habitué à cela.
Alors bonne journée, et encore merci

Bonjour

   \new Staff \with {
        \omit TimeSignature
        alignAboveContext = "mainG"
        \magnifyStaff #2/3
        firstClef = ##f
        
        \override VerticalAxisGroup.staff-staff-spacing =
           #'((minimum-distance . 0)
              (basic-distance . 0)
              (padding .  0.5))    
           
      } { \Ossia }

Bonjour Martial.
Nickel ta proposition.
Attention si continue comme cela, tu vas devenir presque aussi fort que le grand prêtre Jean.
Bonne journée.
Cordialement
Chistian

Bonsoir à toutes et à tous.
Je pédale pour introduire trois mesures d'ossia d

Je recommence. Un doigt a glissé !
Donc j'ai besoin d'introduire trois mesures d'ossia dans la partie de violoncelle d'une pièce qui en comporte 110, en parallèle des mesures 99 à 101.
La structure de mon document est du type :
\version 2.24.3
\paper
\header

global = relative c'' {
}

cello = \relative c'' {

g,1
% et toutes les mesures
}

%puis trois autres voix avec leurs 110 mesures.

\score
<<
\new Staff = "instrument" \with {
instrumentName = \markup "violoncelle" }
{ \global\cello }

\new Staff = "voixOne" \with {
instrumentName = "Voix 1 " }
{\global\voixOne }

\new Staff = "voixTwo" \with {
instrumentName = "Voix 2" }
{\global\voixTwo }

 \new Staff = "voixThree" \with {
 instrumentName = "Voix 3"  }
 {\global\voixThree }

\layout {
%\context { \Staff \RemoveEmptyStaves }
}
\midi { }
}

Est-ce que je dois d'abord revoir la structure de mon document ?
Ou est-ce possible dans ce type de document d'introduire un "ossia"
Merci de votre attention, et belle fin de journée à vous.

Bonjour,

le plus simple voici un exemple utilsier stopStaff et startStaff

voixThree =  \relative c' { c1 c c c^"99"  c c c c c  }

Ossia = \relative c' {  \stopStaff s1*3 \startStaff g'1 g g  }

\score  { 
\new StaffGroup  <<
  \new Staff = "voixThree" \with {
    instrumentName = "Voix 3"  }
  { \voixThree }

  <<
      \new Staff \with {
        \omit TimeSignature
       % alignAboveContext = "voixThree"
        alignBelowContext = "voixThree"
        \magnifyStaff #4/5 
        firstClef = ##f
      } { \Ossia }
    >> %fin ossia 
  >>

Cordialement

si la portée comporte plusieurs métriques genre 4/4 6/8 11/2 etc.

voixThree =  \relative c' { 
  \time 3/4
  c2. c c 
  \time 11/8 c1*11/8 c 
  \time 4/4 
  c1^"99"  c c c c c  }

espacement = {  \time 3/4
  s2. s  s
  \time 11/8 s1*11/8 s 
}

Ossia = \relative c' { \stopStaff \espacement \startStaff g'1 g g  }

\score  { 
\new StaffGroup  <<
  \new Staff = "voixThree" \with {
    instrumentName = "Voix 3"  }
  { \voixThree }
  <<
      \new Staff \with {
        \omit TimeSignature
        alignAboveContext = "voixThree"
        % alignBelowContext = "voixThree"
        \magnifyStaff #4/5 
        firstClef = ##f
      } { \Ossia }
    >> %fin ossia 
  >>
}saisissez ou collez du code ici

Merci Martial, et bonsoir à toutes et à tous.
Avec ce modèle, je crois avoir compris le principe.
Je vais m'y atteler demain pour appliquer.
J'y crois.
Bien cordialement
Jean

Re
Je n'ai pas pu attendre demain.
J'ai essayé. Cela fonctionne au millimètre.
Sauf une petite blague. En début du système concerné, apparaît une clé de sol, que je peux transformer en clef de fa, puisque c'est le violoncelle en partie basse qui est concerné, mais pas effacer. Pourtant la commande " firstClef = ##f" est bien présente. la passer en ##t ne change rien.
Bon, je m'y re pencherai demain.

Bonjour
à la place de firstclef essayez \omit Clef
ou

{ \override Staff.Clef.stencil = ##f \Ossia }

Bonjour Martial
Quelle réactivité !
Ça fonctionne avec \omit Clef !
Superbe.
Belle journée à vous.