Lilypond : aligner verticalement les soufflets

12 réponses
Avatar
Olivier Miakinen
[diapublication dans trois groupes, suivi vers fr.comp.musique seul]

Bonjour,

Depuis que j'ai commencé à utiliser l'éditeur de partitions Lilypond,
pour le moment j'ai toujours su résoudre mes problèmes seul en cherchant
sur le web, mais là je ne trouve pas.

Voici le problème :

\version "2.18.0"
{
<<
{ c''^\< b' a'^\> g'\!}
{ c''^\< b'\! a'^\> g'\!}
>>
}

http://cjoint.com/14mi/DEztdh2vYHb_democresc.png

Sur la première portée, le decrescendo suivant immédiatement le
crescendo, les deux sont alignés verticalement. Sur la seconde
portée au contraire, vu que le crescendo s'arrête une note avant
que ne commence le decrescendo, on voit un décalage.

Comment faire simplement pour les aligner sans trop se compliquer
la vie ?

Cordialement,
--
Olivier Miakinen

10 réponses

1 2
Avatar
Olivier Miakinen
Le 25/05/2014 19:07, j'écrivais :

[question sur Lilypond]



Personne ne connaît ?
Avatar
Paul Gaborit
À (at) Sun, 01 Jun 2014 00:39:12 +0200,
Olivier Miakinen <om+ écrivait (wrote):

Le 25/05/2014 19:07, j'écrivais :

[question sur Lilypond]



Personne ne connaît ?




Si, un peu... mais j'ai du rater la question.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Olivier Miakinen
Le 01/06/2014 01:23, Paul Gaborit a écrit :

À (at) Sun, 01 Jun 2014 00:39:12 +0200,
Olivier Miakinen <om+ écrivait (wrote):

Le 25/05/2014 19:07, j'écrivais :

[question sur Lilypond]



Personne ne connaît ?




Si, un peu... mais j'ai du rater la question.



D'accord, je la repose :
===================================================================== version "2.18.0"
{
<<
{ c''^< b' a'^> g'!}
{ c''^< b'! a'^> g'!}





}

http://cjoint.com/14mi/DEztdh2vYHb_democresc.png

Sur la première portée, le decrescendo suivant immédiatement le
crescendo, les deux sont alignés verticalement. Sur la seconde
portée au contraire, vu que le crescendo s'arrête une note avant
que ne commence le decrescendo, on voit un décalage.

Comment faire simplement pour les aligner sans trop se compliquer
la vie ?
=====================================================================
C'est le dernier problème qui me reste pour une partition réussie.

Cordialement,
--
Oliver Miakinen
Avatar
Paul Gaborit
À (at) Sun, 01 Jun 2014 01:23:53 +0200,
Paul Gaborit écrivait (wrote):

À (at) Sun, 01 Jun 2014 00:39:12 +0200,
Olivier Miakinen <om+ écrivait (wrote):

Le 25/05/2014 19:07, j'écrivais :

[question sur Lilypond]



Personne ne connaît ?




Si, un peu... mais j'ai du rater la question.



J'ai été cherché la question originale sur Google...

Le décalage est nécessaire puisqu'il n'y a pas assez de place entre les
deux portées pour tout aligner. Plusieurs ajustements sont possibles. Je
propose un simple réalignement des hampes (même si je ne trouve pas que
ce soit vraiment plus lisible/joli/agréable) :

{
<<
{ c''^< b' a'^> g'!}
{ c''^< b'! stemDown a'^> g'!}





}



--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Olivier Miakinen
Le 01/06/2014 11:38, Paul Gaborit a écrit :

J'ai été cherché la question originale sur Google...



Ton serveur a une durée de rétention vraiment très courte : j'avais
posé la question la semaine dernière. Ou alors c'est qu'il filtre les
crossposts, même si le suivi est positionné sur un seul groupe ?

Le décalage est nécessaire puisqu'il n'y a pas assez de place entre les
deux portées pour tout aligner.



Je ne suis pas d'accord avec ça. D'abord le problème se produit aussi
sur la portée du haut, et de toute manière Lilypond espace les portées
en fonction de leur contenu et non l'inverse : ce n'est pas l'espace
entre les portées qui dicte comment il doit organiser leur contenu.

Plusieurs ajustements sont possibles. Je
propose un simple réalignement des hampes (même si je ne trouve pas que
ce soit vraiment plus lisible/joli/agréable) :

{
<<
{ c''^< b' a'^> g'!}
{ c''^< b'! stemDown a'^> g'!}
>>
}



Mon exemple avec des hampes en bas puis en haut n'était que ma façon
la plus minimaliste de montrer le problème, lequel se produit de
plusieurs façons possibles (par exemple selon la présence ou l'absence
de liaisons, de triolets, etc). Suppose une mesure remplie non pas de
quatre noires individuelles, mais d'un enchevêtrement de notes dans
des accords avec hampes aussi bien en haut qu'en bas...


En fait, je sais grâce à mon premier exemple que Lilypond sait adapter
la hauteur verticale du cresc par rapport à celle du decresc, et qu'il
le fait automatiquement quand ils se suivent immédiatement. Idem s'il
y en a plus de deux qui se suivent. Je voudrais lui demander de faire
la même chose pour des objets un peu plus éloignés.


J'ai trouvé une astuce, mais c'est une grosse bidouille. Elle consiste
à rajouter un < invisible entre les deux :

{
c''^<
override Hairpin.color = #white
b'^<
override Hairpin.color = #black
a'^> g'!
}


En outre, le résultat est moins bon car cela écarte les < et >
visibles. Pour retrouver le même visuel, il faut bidouiller encore
plus en mettant les < et > sur des silences invisibles :

{
c''^<
<<
{ b' a'}
{
override Hairpin.color = #white
s8. s32^<
override Hairpin.color = #black
s16^>
}





g'4!
}


C'est pour ça que je disais chercher une solution *simple*. ;-)
Avatar
Paul Gaborit
À (at) Sun, 01 Jun 2014 17:52:25 +0200,
Olivier Miakinen <om+ écrivait (wrote):

Le 01/06/2014 11:38, Paul Gaborit a écrit :

J'ai été cherché la question originale sur Google...



Ton serveur a une durée de rétention vraiment très courte[...]



En fait, son serveur d'alimentation a été en panne pendant plusieurs
jours et ne s'était pas encore resynchronisé.

[...]
Mon exemple avec des hampes en bas puis en haut n'était que ma façon
la plus minimaliste de montrer le problème, lequel se produit de
plusieurs façons possibles (par exemple selon la présence ou l'absence
de liaisons, de triolets, etc). Suppose une mesure remplie non pas de
quatre noires individuelles, mais d'un enchevêtrement de notes dans
des accords avec hampes aussi bien en haut qu'en bas...



Je me doutais que ta demande était plus générale que le simple exemple
fourni.

En fait, je sais grâce à mon premier exemple que Lilypond sait adapter
la hauteur verticale du cresc par rapport à celle du decresc, et qu'il
le fait automatiquement quand ils se suivent immédiatement. Idem s'il
y en a plus de deux qui se suivent. Je voudrais lui demander de faire
la même chose pour des objets un peu plus éloignés.



Ok. La demande est plus claire.

J'ai trouvé une astuce, mais c'est une grosse bidouille. Elle consiste
à rajouter un < invisible entre les deux :

{
c''^<
override Hairpin.color = #white
b'^<
override Hairpin.color = #black
a'^> g'!
}




C'est effectivement une méthode...

C'est pour ça que je disais chercher une solution *simple*. ;-)



Pour garantir l'alignement, une méthode préconisée par la documentation
consiste à utiliser un contexte Dynamics :

{
new Dynamics
{ s^< s! s> s!}
{ c'' b' a' g'}
}

C'est moins concis, mais je trouve cela plus lisible.

Pour plus meilleurs conseils, il vaut mieux utiliser la mailing-list
francophone: <http://lilypond-french-users.1298960.n2.nabble.com/>

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Olivier Miakinen
Le 01/06/2014 23:55, Paul Gaborit m'a répondu :

En fait, je sais grâce à mon premier exemple que Lilypond sait adapter
la hauteur verticale du cresc par rapport à celle du decresc, et qu'il
le fait automatiquement quand ils se suivent immédiatement. Idem s'il
y en a plus de deux qui se suivent. Je voudrais lui demander de faire
la même chose pour des objets un peu plus éloignés.



Ok. La demande est plus claire.



;-)

[...]



Pour garantir l'alignement, une méthode préconisée par la documentation
consiste à utiliser un contexte Dynamics :



Pourtant je croyais avoir lu la doc, mais j'étais passé complètement
à côté de ça.


{
new Dynamics
{ s^< s! s> s!}
{ c'' b' a' g'}
}

C'est moins concis, mais je trouve cela plus lisible.



Le résultat est très bon, effectivement (même si les soufflets sont un
tout petit peu plus éloignés que lorsqu'ils sont sur la même portée).
En revanche cela impose de séparer les nuances des notes lors de la
saisie, mais pourquoi pas ?

Pour plus meilleurs conseils, il vaut mieux utiliser la mailing-list
francophone: <http://lilypond-french-users.1298960.n2.nabble.com/>



Merci, je ne connaissais pas. En cherchant un peu dans les archives, j'y
ai peut-être trouvé la réponse à ma remarque ci-dessus :
http://lilypond-french-users.1298960.n2.nabble.com/Positionnement-quot-automatique-quot-des-nuances-td6172290.html#a6186500
Il faut que je teste.

En tout cas, merci pour tout !

--
Olivier Miakinen
Avatar
Olivier Miakinen
Le 02/06/2014 23:53, je répondais à Paul Gaborit :

Merci, je ne connaissais pas. En cherchant un peu dans les archives, j'y
ai peut-être trouvé la réponse à ma remarque ci-dessus :
http://lilypond-french-users.1298960.n2.nabble.com/Positionnement-quot-automatique-quot-des-nuances-td6172290.html#a6186500
Il faut que je teste.



J'ai essayé : ça fonctionne très bien sur mon exemple minimaliste à
quatre noires, mais sur la partition complète c'est la cata !

Hum... je suis un peu refroidi pour le coup, et je vais peut-être
garder mes soufflets décalés.
Avatar
Paul Gaborit
À (at) Mon, 02 Jun 2014 23:53:11 +0200,
Olivier Miakinen <om+ écrivait (wrote):

Le 01/06/2014 23:55, Paul Gaborit m'a répondu :

Pour garantir l'alignement, une méthode préconisée par la documentation
consiste à utiliser un contexte Dynamics :



Pourtant je croyais avoir lu la doc, mais j'étais passé complètement
à côté de ça.



Moi c'est plutôt le contraire qui m'arrive régulièrement : je suis sûr
d'avoir lu quelque chose dans la doc mais je ne le retrouve plus...

Pour de meilleurs conseils, il vaut mieux utiliser la mailing-list
francophone: <http://lilypond-french-users.1298960.n2.nabble.com/>



Merci, je ne connaissais pas. En cherchant un peu dans les archives, j'y
ai peut-être trouvé la réponse à ma remarque ci-dessus :
http://lilypond-french-users.1298960.n2.nabble.com/Positionnement-quot-automatique-quot-des-nuances-td6172290.html#a6186500
Il faut que je teste.



Ça, c'est effectivement une très jolie solution. Mais je me demande si
ça n'imite pas ce que fait déjà le contexte Dynamics au moins dans les
versions récentes (à savoir ignorer les notes pour ne conserver que les
nuances et les durées auxquelles elles s'appliquent).

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Olivier Miakinen
Le 03/06/2014 00:39, Paul Gaborit a écrit :

Merci, je ne connaissais pas. En cherchant un peu dans les archives, j'y
ai peut-être trouvé la réponse à ma remarque ci-dessus :
http://lilypond-french-users.1298960.n2.nabble.com/Positionnement-quot-automatique-quot-des-nuances-td6172290.html#a6186500
Il faut que je teste.



Ça, c'est effectivement une très jolie solution. Mais je me demande si
ça n'imite pas ce que fait déjà le contexte Dynamics au moins dans les
versions récentes (à savoir ignorer les notes pour ne conserver que les
nuances et les durées auxquelles elles s'appliquent).



Ça ne l'imite pas, ça l'utilise.

new Dynamics music

-> ignore les notes pour ne conserver que les nuances

new Staff filterdynamics music

-> ignore les nuances pour ne conserver que les notes

Mais ça ne fonctionne pas sur ma partition complexe.
1 2