Subject: accord sur 2 systèmes

From: François Martin <[email-masked]>
Date: Fri, 12 Nov 2010 18:02:57 +0100

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<http://lilypond.org/doc/v2.12/Documentation/user/lilypond-big-page.html#Cross_002dstaff-stems>.
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>[ <dis fis>] |
  r8 e4 <b e g>8 <e g c>[( <e g b>]) |

pour la portée supérieure, et

  << { s8 <dis a' b>4 <fis a dis>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 <g b>4 s8 } \\ { <b,, b'>8 r r4 } >> b''8 r |

pour la portée inférieure.

Toute aide est la bienvenue !

François

---

From: Luc De Rossi <[email-masked]>
Date: Fri, 12 Nov 2010 22:44:56 +0100

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 :

*a8 a\noBeam*  }
     \\ { <b,, b'>8 r r4 *\once \override NoteColumn #'force-hshift = 
#1.7* b''8 r } >> |

Est-ce cela que vous cherchiez ?
Musicalement,

-- 
Luc De Rossi
Lilypond 2.11.34
Ubuntu Lucid Lynx

Le 12/11/2010 18:02, François Martin a écrit :
> 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 
> <http://lilypond.org/doc/v2.12/Documentation/user/lilypond-big-page.html#Cross_002dstaff-stems>. 
> 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
>
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> http://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>

---

From: François Martin <[email-masked]>
Date: Fri, 12 Nov 2010 23:40:00 +0100

> 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

---

From: François Martin <[email-masked]>
Date: Sun, 14 Nov 2010 19:04:06 +0100

Bonsoir,

> 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.

--
François

---

From: Jean-Charles Malahieude <[email-masked]>
Date: Sun, 14 Nov 2010 20:02:12 +0100

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

---

From: Luc De Rossi <[email-masked]>
Date: Sun, 14 Nov 2010 20:03:53 +0100

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

Le 14/11/2010 19:04, François Martin a écrit :
>     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
> 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é.
> 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).
>
> Voilà ma demande : est-il possible de proposer cette fonctionnalité 
> aux développeurs ?
>

-- 
Luc De Rossi
Lilypond 2.11.34
Ubuntu Lucide Lynx

---

From: François Martin <[email-masked]>
Date: Sun, 14 Nov 2010 20:55:56 +0100

>
> 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