Hampe personnalisée

Bonjour,

Dans une partition de piano, j'aimerai faire une hampe personnalisée comme sur la photo

Il me semble l'avoir déjà vu dans la doc, mais je n'arrive pas à remettre la main dessus....

si je fais :

\change Staff = "up" do \change Staff = "down"

la ligature se place au dessus des 3 notes et non pas au milieu comme je voudrais

Quelqu'un aurait-il une idée ?

D'avance merci,
David

Bonjour,

Dans une partition de piano, j'aimerai faire une hampe personnalisée comme sur la photo

Il me semble l'avoir déjà vu dans la doc, mais je n'arrive pas à remettre la main dessus....

si je fais :
\change Staff = "up" do \change Staff = "down"
la ligature se place au dessus des 3 notes et non pas au milieu comme je voudrais

Quelqu'un aurait-il une idée ?
D'avance merci,
David

Bonjour,

Pour info, j'ai accepté votre message manuellement car il dépassait la limite de 128 Ko sur la liste.

À part cela, il suffit de forcer la direction des hampes avec \stemDown et \stemUp. Sur l'exemple, cela donne :

\version "2.22.1"

<<
\new Staff = up { e'2. }
\new Staff = down {
<<
{
\clef bass
r8
\once \stemUp
g
\change Staff = up
\once \stemDown
c'
\change Staff = down
\once \stemUp
g
}
\\
{
c2.
}
>>
}
>>

La documentation est ici :

https://lilypond.org/doc/v2.22/Documentation/notation/inside-the-staff#stems

Cordialement,
Jean

···

Le 10/02/2022 à 12:26, ****@**** a écrit :

Bonjour David,

C'est vrai que ce n'est pas toujours facile de chercher et de trouver dans la doc...

Voici ce que tu cherches, je crois :

\override Beam . auto-knee-gap = #1

A+

Rémy

···

envoyé : 10 février 2022 à 12:26
de : ****@****
à : lilypond-user-fr@gnu.org
objet : Hampe personnalisée

Bonjour,

Dans une partition de piano, j'aimerai faire une hampe personnalisée comme sur la photo

Il me semble l'avoir déjà vu dans la doc, mais je n'arrive pas à remettre la main dessus....

si je fais :

\change Staff = "up" do \change Staff = "down"

la ligature se place au dessus des 3 notes et non pas au milieu comme je voudrais

Quelqu'un aurait-il une idée ?

D'avance merci,
David

Bonjour,

L'image fait 4000px sur 2976 en 96dpi soit 1,5mo, c'est trop en dimension pour un écran de pc ... Avec GIMP, ramenée à 450px sur 330 en 72 dpi elle fait 60ko et reste lisible pour la question qui nous occupe.

C'est une remarque juste pour participer à la liste :slight_smile:

Cordialement

G.

image.jpg

···

Le 10/02/2022 à 12:41, Jean Abou Samra a écrit :

Pour info, j'ai accepté votre message manuellement car il dépassait la limite de 128 Ko sur la liste.

Merci à vous, Jean et Rémy !

Je n'ai pas bien compris comment utiliser \override Beam . auto-knee-gap = #1

J'ai essayé la solution de Jean, qui fonctionne
J'avais bien lu cette page de doc, mais je n'avais pas réussi à l'adapter à mon code :frowning:

Voici mon code modifié :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4}

hamp = { \change Staff = "right" \once \stemDown }
dehamp = { \change Staff = "left" \once \stemUp }

right = \relative do' { \global mi2. fa8. sol16 do2 }

leftOne = \relative do' { \global
\repeat unfold 3 { r8 sol \hamp do \dehamp sol } }

leftTwo = \relative do { \global
do2. }

\score {
\new PianoStaff \with { instrumentName = "Piano" }
<< \new Staff = "right" \right
\new Staff = "left" { \clef bass << \leftOne \ \leftTwo >> }

}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

J'ai créé des variables pour ne pas trop noircir le code (je vais devoir l'utiliser presque chaque mesure)
et à priori, le premier \once \stemUp du code de Jean n'est pas nécessaire ici

(pour ceux qui se posent la question, hamp veut dire : "début de la hampe bizarre" et dehamp : "défaire (finir) la hampe bizarre")
^^'

David

···

De : Remy CLAVERIE <****@****>
À : ****@****;
lilypond-user-fr@gnu.org
Sujet : Re: Hampe personnalisée
Date : 10/02/2022 12:51:19 Europe/Paris

Bonjour David,

C'est vrai que ce n'est pas toujours facile de chercher et de trouver dans la doc...

Voici ce que tu cherches, je crois :

\override Beam . auto-knee-gap = #1

A+

Rémy

envoyé : 10 février 2022 à 12:26
de : ****@****
à : lilypond-user-fr@gnu.org
objet : Hampe personnalisée

Bonjour,

Dans une partition de piano, j'aimerai faire une hampe personnalisée comme sur la photo

Il me semble l'avoir déjà vu dans la doc, mais je n'arrive pas à remettre la main dessus....

si je fais :

\change Staff = "up" do \change Staff = "down"

la ligature se place au dessus des 3 notes et non pas au milieu comme je voudrais

Quelqu'un aurait-il une idée ?

D'avance merci,
David

Merci à Jean d'avoir accepté mon message et à Gérard d'avoir redimensionné l'image !

J'étais concentré sur ma question, et je n'ai pas vérifié la taille de l'image...
J'ai préféré envoyer une image de ce que je cherchais à faire parce que ça me semblait plus simple que de l'expliquer avec des mots

Et aussi je ne me doutais pas qu'une photo de téléphone soit si volumineuse !

···

De : Gerard <****@****>
À : lilypond-user-fr@gnu.org
Sujet : Re: Hampe personnalisée
Date : 10/02/2022 13:15:28 Europe/Paris

Le 10/02/2022 à 12:41, Jean Abou Samra a écrit :

Pour info, j'ai accepté votre message manuellement car il dépassait la
limite de 128 Ko sur la liste.

Bonjour,

L'image fait 4000px sur 2976 en 96dpi soit 1,5mo, c'est trop en
dimension pour un écran de pc ... Avec GIMP, ramenée à 450px sur 330 en
72 dpi elle fait 60ko et reste lisible pour la question qui nous occupe.

C'est une remarque juste pour participer à la liste :slight_smile:

Cordialement

G.

Merci à vous, Jean et Rémy !

Je n'ai pas bien compris comment utiliser \override Beam . auto-knee-gap = #1

J'ai essayé la solution de Jean, qui fonctionne
J'avais bien lu cette page de doc, mais je n'avais pas réussi à l'adapter à mon code :frowning:
Voici mon code modifié :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4}

hamp = { \change Staff = "right" \once \stemDown }
dehamp = { \change Staff = "left" \once \stemUp }

right = \relative do' { \global mi2. fa8. sol16 do2 }

leftOne = \relative do' { \global
\repeat unfold 3 { r8 sol \hamp do \dehamp sol } }

leftTwo = \relative do { \global
do2. }

\score {
\new PianoStaff \with { instrumentName = "Piano" }
<< \new Staff = "right" \right
\new Staff = "left" { \clef bass << \leftOne \\ \leftTwo >> }
>>
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

J'ai créé des variables pour ne pas trop noircir le code (je vais devoir l'utiliser presque chaque mesure)
et à priori, le premier \once \stemUp du code de Jean n'est pas nécessaire ici

(pour ceux qui se posent la question, hamp veut dire : "début de la hampe bizarre" et dehamp : "défaire (finir) la hampe bizarre")
^^'

David

La solution de Rémy est maline et meilleure que la mienne, elle
vous évitera des \stemUp et \stemDown sur toutes les hampes même
si on peut effectivement les combiner avec les \change (tant
que ces commandes arrivent au même moment). La seule chose qui
l'empêche de marcher sur l'exemple, c'est le << \\ >>, qui force
les hampes à pointer vers le haut dans la première voix, sauf
à mettre \stemDown. Pour éviter ce désagrément, il faut utiliser
la construction << >> sans \\ et mettre \voiceTwo dans la deuxième
voix, mais pas de \voiceOne dans la première, ce qui dit
à LilyPond qu'elle peut faire comme bon lui semble pour la
direction des hampes. Donc :

\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4 }

up = \change Staff = right
down = \change Staff = left

right = \relative do' { \global mi2. fa8. sol16 do2 }

leftOne = \relative do' {
\global
\override Beam.auto-knee-gap = 1
\repeat unfold 3 { r8 sol \up do \down sol }
}

leftTwo = \relative do {
\global
\voiceTwo
do2.
}

\score {
\new PianoStaff \with { instrumentName = "Piano" }
<< \new Staff = "right" \right
\new Staff = "left" { \clef bass << \leftOne \new Voice \leftTwo >> }
>>
}

Merci Rémy, j'aurai appris quelque chose aujourd'hui !

Cordialement,
Jean

···

Le 10/02/2022 à 18:11, ****@**** a écrit :

Heureux de t'avoir appris qq chose, Jean.

Je ne pensais pas que cela soit possible...

Bonne journée,

Rémy

···

envoyé : 10 février 2022 à 22:18
de : Jean Abou Samra <****@****>
à : ****@****, ****@****, lilypond-user-fr@gnu.org
objet : Re: Hampe personnalisée

Le 10/02/2022 à 18:11, ****@**** a écrit :

Merci à vous, Jean et Rémy !

Je n'ai pas bien compris comment utiliser \override Beam .
auto-knee-gap = #1

J'ai essayé la solution de Jean, qui fonctionne
J'avais bien lu cette page de doc, mais je n'avais pas réussi à
l'adapter à mon code :frowning:
Voici mon code modifié :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4}

hamp = { \change Staff = "right" \once \stemDown }
dehamp = { \change Staff = "left" \once \stemUp }

right = \relative do' { \global mi2. fa8. sol16 do2 }

leftOne = \relative do' { \global
\repeat unfold 3 { r8 sol \hamp do \dehamp sol } }

leftTwo = \relative do { \global
do2. }

\score {
\new PianoStaff \with { instrumentName = "Piano" }
<< \new Staff = "right" \right
\new Staff = "left" { \clef bass << \leftOne \ \leftTwo >> }

}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

J'ai créé des variables pour ne pas trop noircir le code (je vais
devoir l'utiliser presque chaque mesure)
et à priori, le premier \once \stemUp du code de Jean n'est pas
nécessaire ici

(pour ceux qui se posent la question, hamp veut dire : "début de la
hampe bizarre" et dehamp : "défaire (finir) la hampe bizarre")
^^'

David

La solution de Rémy est maline et meilleure que la mienne, elle
vous évitera des \stemUp et \stemDown sur toutes les hampes même
si on peut effectivement les combiner avec les \change (tant
que ces commandes arrivent au même moment). La seule chose qui
l'empêche de marcher sur l'exemple, c'est le << \ >>, qui force
les hampes à pointer vers le haut dans la première voix, sauf
à mettre \stemDown. Pour éviter ce désagrément, il faut utiliser
la construction << >> sans \ et mettre \voiceTwo dans la deuxième
voix, mais pas de \voiceOne dans la première, ce qui dit
à LilyPond qu'elle peut faire comme bon lui semble pour la
direction des hampes. Donc :

\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4 }

up = \change Staff = right
down = \change Staff = left

right = \relative do' { \global mi2. fa8. sol16 do2 }

leftOne = \relative do' {
\global
\override Beam.auto-knee-gap = 1
\repeat unfold 3 { r8 sol \up do \down sol }
}

leftTwo = \relative do {
\global
\voiceTwo
do2.
}

\score {
\new PianoStaff \with { instrumentName = "Piano" }
<< \new Staff = "right" \right
\new Staff = "left" { \clef bass << \leftOne \new Voice
\leftTwo >> }

}

Merci Rémy, j'aurai appris quelque chose aujourd'hui !

Cordialement,
Jean

Oui ça marche très bien aussi !
(tu m'as aussi appris quelque chose, mais pour moi c'est moins rare que quelqu'un m'apprenne quelque chose sur cette liste !)

Pour que les silences tombent a bon endroit, j'ai juste modifié légèrement le code comme ceci :
(si je mets juste r8, les demi-soupirs se placent sous le do blanche pointée )

leftOne = \relative do' {
\global
\override Beam.auto-knee-gap = 1
\repeat unfold 3 { la8\rest sol \up do \down sol }
}

Je n'avais pas besoin de faire cette correction pour le code de Jean

Et, question subsidiaire, est ce que l'un de vous pourrait m'expliquer ce que veut dire en français la commande \override Beam.auto-knee-gap = 1 ? (si c'est pas trop long, bien sûr !)

David

···

De : Remy CLAVERIE <****@****>
À : ****@****;
Jean Abou Samra <****@****>;
lilypond-user-fr@gnu.org
Sujet : Re: Hampe personnalisée
Date : 11/02/2022 06:16:41 Europe/Paris

Heureux de t'avoir appris qq chose, Jean.

Je ne pensais pas que cela soit possible...

Bonne journée,

Rémy

envoyé : 10 février 2022 à 22:18
de : Jean Abou Samra <****@****>
à : ****@****, ****@****, lilypond-user-fr@gnu.org
objet : Re: Hampe personnalisée

Le 10/02/2022 à 18:11, ****@**** a écrit :

Merci à vous, Jean et Rémy !

Je n'ai pas bien compris comment utiliser \override Beam .
auto-knee-gap = #1

J'ai essayé la solution de Jean, qui fonctionne
J'avais bien lu cette page de doc, mais je n'avais pas réussi à
l'adapter à mon code :frowning:
Voici mon code modifié :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4}

hamp = { \change Staff = "right" \once \stemDown }
dehamp = { \change Staff = "left" \once \stemUp }

right = \relative do' { \global mi2. fa8. sol16 do2 }

leftOne = \relative do' { \global
\repeat unfold 3 { r8 sol \hamp do \dehamp sol } }

leftTwo = \relative do { \global
do2. }

\score {
\new PianoStaff \with { instrumentName = "Piano" }
<< \new Staff = "right" \right
\new Staff = "left" { \clef bass << \leftOne \ \leftTwo >> }

}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

J'ai créé des variables pour ne pas trop noircir le code (je vais
devoir l'utiliser presque chaque mesure)
et à priori, le premier \once \stemUp du code de Jean n'est pas
nécessaire ici

(pour ceux qui se posent la question, hamp veut dire : "début de la
hampe bizarre" et dehamp : "défaire (finir) la hampe bizarre")
^^'

David

La solution de Rémy est maline et meilleure que la mienne, elle
vous évitera des \stemUp et \stemDown sur toutes les hampes même
si on peut effectivement les combiner avec les \change (tant
que ces commandes arrivent au même moment). La seule chose qui
l'empêche de marcher sur l'exemple, c'est le << \ >>, qui force
les hampes à pointer vers le haut dans la première voix, sauf
à mettre \stemDown. Pour éviter ce désagrément, il faut utiliser
la construction << >> sans \ et mettre \voiceTwo dans la deuxième
voix, mais pas de \voiceOne dans la première, ce qui dit
à LilyPond qu'elle peut faire comme bon lui semble pour la
direction des hampes. Donc :

\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4 }

up = \change Staff = right
down = \change Staff = left

right = \relative do' { \global mi2. fa8. sol16 do2 }

leftOne = \relative do' {
\global
\override Beam.auto-knee-gap = 1
\repeat unfold 3 { r8 sol \up do \down sol }
}

leftTwo = \relative do {
\global
\voiceTwo
do2.
}

\score {
\new PianoStaff \with { instrumentName = "Piano" }
<< \new Staff = "right" \right
\new Staff = "left" { \clef bass << \leftOne \new Voice
\leftTwo >> }

}

Merci Rémy, j'aurai appris quelque chose aujourd'hui !

Cordialement,
Jean

Oui ça marche très bien aussi !
(tu m'as aussi appris quelque chose, mais pour moi c'est moins rare que quelqu'un m'apprenne quelque chose sur cette liste !)

Pour que les silences tombent a bon endroit, j'ai juste modifié légèrement le code comme ceci :
(si je mets juste r8, les demi-soupirs se placent sous le do blanche pointée )

Effectivement, car avec cette méthode il n'y a plus de \voiceOne
dans cette voix, car le \voiceOne forcerait la direction des hampes
Il faut mettre \voiceOne ponctuellement pour les passages qui
ne sont pas à cheval entre les portées (\voiceOne ... \oneVoice,
ou plus simplement s'il n'y a qu'une seule note ou un seul
silence, \once \voiceOne ...).

leftOne = \relative do' {
\global
\override Beam.auto-knee-gap = 1
\repeat unfold 3 { la8\rest sol \up do \down sol }
}

Je n'avais pas besoin de faire cette correction pour le code de Jean

Et, question subsidiaire, est ce que l'un de vous pourrait m'expliquer ce que veut dire en français la commande \override Beam.auto-knee-gap = 1 ? (si c'est pas trop long, bien sûr !)

La description est ici (en anglais il est vrai) :

http://lilypond.org/doc/v2.23/Documentation/internals/beam

En français : c'est le seuil de distance à partir duquel Lily choisit
une hampe coudée plutôt qu'une hampe normale. 1 est une petite valeur,
qui fait que Lily utilise beaucoup plus facilement ce style.

Cordialement,
Jean

···

Le 11/02/2022 à 08:23, ****@**** a écrit :