accord sur 2 systèmes

Bonjour bonjour !
Alors voilà : je voudrais écrire avec LilyPond des accords pour piano dont les hampes s'étendent de la portée du bas à la portée du haut : les fameux "cross-staff stems" décrits ici. En faisant un copier-coller du code directement dans ma partition, ça semble fonctionner dans la plupart des cas (cf. deuxième mesure de mon exemple ci-joint).
En revanche LilyPond a l'air de bloquer sur le dernier temps de la première mesure. Je pense que c'est à cause de la deuxième voix écrite à la 2nde, qui décale horizontalement la note. Est-ce que quelqu'un saurait comment je peux arriver à mes fins ?

\version 2.12.3

voilà un bout de mon source :

r8 s4 s8 <dis, g>[ ] |
r8 e4 8 [( ]) |

pour la portée supérieure, et

<< { s8 <dis a' b>4 8
\override Stem #'cross-staff = ##t
\override Stem #'length = #14
\override Stem #'flag-style = #'no-flag
a8[ a] }
\ { <b,, b'>8 r r4 b''8 r } >> |
<< { s8 4 s8 } \ { <b,, b'>8 r r4 } >> b''8 r |

pour la portée inférieure.

Toute aide est la bienvenue !

François

Capture.png

Bonsoir,
Il suffit de supprimer les crochets entre les 2 la (dernier temps de la première mesure, portée du bas), d'ajouter \noBeam afin de supprimer la ligature de ces 2 croches.
Reste le problème du si qui décale le la vers la droite. J'ai contourné ce problème en ajoutant \once \override NoteColumn #'force-hshift = #1.7, devant le si. Ce qui donne pour la portée du bas :

<< { s8 <dis a' b>4 8
\override Stem #'cross-staff = ##t
\override Stem #'length = #14
\override Stem #'flag-style = #'no-flag
a8 a\noBeam }
\ { <b,, b'>8 r r4 \once \override NoteColumn #'force-hshift = #1.7 b''8 r } >> |
<< { s8 4 s8 } \ { <b,, b'>8 r r4 } >> b''8 r |

Est-ce cela que vous cherchiez ?
Musicalement,

···
-- 
Luc De Rossi
Lilypond 2.11.34
Ubuntu Lucid Lynx

Bonjour bonjour !
Alors voilà : je voudrais écrire avec LilyPond des accords pour piano dont les hampes s'étendent de la portée du bas à la portée du haut : les fameux "cross-staff stems" décrits ici. En faisant un copier-coller du code directement dans ma partition, ça semble fonctionner dans la plupart des cas (cf. deuxième mesure de mon exemple ci-joint).
En revanche LilyPond a l'air de bloquer sur le dernier temps de la première mesure. Je pense que c'est à cause de la deuxième voix écrite à la 2nde, qui décale horizontalement la note. Est-ce que quelqu'un saurait comment je peux arriver à mes fins ?

\version 2.12.3

voilà un bout de mon source :

r8 s4 s8 <dis, g>[ ] |
r8 e4 8 [( ]) |

pour la portée supérieure, et

<< { s8 <dis a' b>4 8
\override Stem #'cross-staff = ##t
\override Stem #'length = #14
\override Stem #'flag-style = #'no-flag
a8[ a] }
\ { <b,, b'>8 r r4 b''8 r } >> |
<< { s8 4 s8 } \ { <b,, b'>8 r r4 } >> b''8 r |

pour la portée inférieure.

Toute aide est la bienvenue !

François


_______________________________________________
liste de diffusion lilypond-user-fr
[lilypond-user-fr@gnu.org](mailto:lilypond-user-fr@gnu.org)
[http://lists.gnu.org/mailman/listinfo/lilypond-user-fr](http://lists.gnu.org/mailman/listinfo/lilypond-user-fr)
  

Est-ce cela que vous cherchiez ?

Exactement ! Merci beaucoup, j'étais sur la piste du \noBeam mais le décalage du la commençait à me faire désespérer !
En effet, l'idéal aurait été de pouvoir décaler le si vers la gauche mais je crois que cette solution est la plus fidèle que LilyPond pourra nous apporter.

Finalement, je n'ai qu'un seul vrai regret : qu'il ne soit pas plus instinctif de créer des accords "cross-staff".
En fait, ça n'est pas tout à fait mon seul regret : de même, le changement de portée avec "\change Staff" n'est pas ce qu'il y a de plus pratique : comme les autres éventuelles voix de la portée sont ignorées, les hampes sont souvent du mauvais côté. Il serait intéressant que LilyPond comprenne qu'il y a plusieurs voix sur la même portée et que la direction des hampes et la hauteur des silences soient ajustées en fonction...
Mais non : à ce jour, il demeure définitivement plus simple d'écrire ses deux voix dans la même "expression de portée" plutôt que d'utiliser "\change Staff"... ou alors je n'ai pas tout compris ?

En tout cas, encore merci pour cette aide précieuse, et à bientôt !

François

Bonsoir,

En fait, ça n'est pas tout à fait mon seul regret : de même, le changement de portée avec "\change Staff" n'est pas ce qu'il y a de plus pratique : comme les autres éventuelles voix de la portée sont ignorées, les hampes sont souvent du mauvais côté. Il serait intéressant que LilyPond comprenne qu'il y a plusieurs voix sur la même portée et que la direction des hampes et la hauteur des silences soient ajustées en fonction...

Je pense réellement que c'est un point sur lequel il serait intéressant de réfléchir : personnellement, quand j'écris la musique pour piano, je la pense plus en terme de "main droite" et "main gauche" que de "clé de sol" et "clé de fa". Or le fonctionnement actuel de LilyPond ne permet pas de le faire en toute simplicité.
Pour illustrer mon propos, voilà un peu de code dont la compilation génère le fichier joint.

% ********************************************************

\new PianoStaff <<
\new Staff = "up"{
\clef G
c'4_"normal" c'8 c' b4 b8 b
\change Staff = "down"
c'4^"\change Staff" c'8 c' b4 b8 b
\change Staff = "up"
s1
}
\new Staff = "down" {
\clef F
c4 r g, r
c4 r g, r
<< { c'4^"<< { } { } >>" c'8 c' b4 b8 b } \ { c4 r g, r } >>
}

\version "2.12.3"

%*******************************************************

On voit clairement que le changement de portée à l'aide "\change Staff" n'est pas ce qu'il y a de plus efficace pour obtenir de suite une belle présentation : il faudrait redéfinir manuellement non seulement l'orientation des hampes de la main droite, mais aussi celle de la main gauche (et peut-être aussi redéfinir la position verticale des silences mais je n'en suis pas sûr).

L'idéal serait que le changement de portée par une des voix génère automatiquement une vraie écriture à 2 voix sur l'autre portée.
Voilà ma demande : est-il possible de proposer cette fonctionnalité aux développeurs ?

Merci et bravo pour ceux qui ont osé me lire jusqu'au bout.

Capture.png

···

--
François

Le 14/11/2010 19:04, François Martin disait :

Bonsoir,

    En fait, ça n'est pas tout à fait mon seul regret : de même, le
    changement de portée avec "\change Staff" n'est pas ce qu'il y a de
    plus pratique : comme les autres éventuelles voix de la portée sont
    ignorées, les hampes sont souvent du mauvais côté. Il serait
    intéressant que LilyPond comprenne qu'il y a plusieurs voix sur la
    même portée et que la direction des hampes et la hauteur des
    silences soient ajustées en fonction...

Je pense réellement que c'est un point sur lequel il serait intéressant
de réfléchir : personnellement, quand j'écris la musique pour piano, je
la pense plus en terme de "main droite" et "main gauche" que de "clé de
sol" et "clé de fa". Or le fonctionnement actuel de LilyPond ne permet
pas de le faire en toute simplicité.
Pour illustrer mon propos, voilà un peu de code dont la compilation
génère le fichier joint.

Peut être en (e)Schremeur pourrait-il inventer quelque chose en attendant?

Je proposerais, dans une sorte de pirouette :

--8<--
su = \stemUp % sabre au clair !
sd = \stemDown % arme au pied !
sn = \stemNeutral % c'est vous qui voyez !

\new PianoStaff <<
   \new Staff = "up"{
     \clef G
     c'4_"normal" c'8 c' b4 b8 b
     \change Staff = "down"
     \su c'4^"\change Staff" c'8 c' b4 b8 b
     \change Staff = "up"
     s1
   }
   \new Staff = "down" {
     \clef F
     c4 r g, r
     \sd c4 r g, r \sn
     << { c'4^"<< { } { } >>" c'8 c' b4 b8 b } \\ { c4 r g, r } >>
   }
>>
-->8--

Bonne soirée,
Jean-Charles

Bonsoir,
en ce qui me concerne, lorsque j'écris pour 2 mains (ou 2 voix) avec l'une qui change de portée pour une lecture plus aisée, j'opte pour votre première solution (mesures 1 et 2).
Et évidemment à chaque fois que la "main droite" descend sur la portée du bas, il faut penser à mettre \stemUp pour ladite main (et \stemDown pour l'autre), pour "forcer Lilypond à faire différemment de la règle de départ - les notes en haut de la portée avec les hampes en bas et "Lycée de Versailles" !

Cependant cela permet de garder toute la mélodie de la main droite dans le même bloc.

Musicalement,
Luc De Rossi

···
-- 
Luc De Rossi
Lilypond 2.11.34
Ubuntu Lucide Lynx

Cependant cela permet de garder toute la mélodie de la main droite dans le même bloc.

Pour ça je viens de me rendre compte qu'il est également possible de mettre tout simplement

<< {s1} \ {c4 r g, r} >>

sur la ligne de basse.

C'est vexant : avec un workaround aussi simple, personne ne voudra jamais implémenter une telle fonction pour si peu...

···

--
Fran