Difficulté TrillSpan

Bonjour à tous,

J'ai un petit souci avec \starttrillSpan \stopTrillSpan
J'aimerais que mon trill aille jusqu'à la fin de mon deuxième do, mais n'empiète pas sur le 3ème

Or quand je fais :

c2\startTrillSpan c2 c1\stopTrillSpan
Mon trill empiète sur mon 3ème do
Et si je fais

c2\startTrillSpan c2\stopTrillSpan c1
Alors mon trill ne va pas jusqu'à la fin de mon deuxième do.

J'ai bien bidouiller une solution en créant une seconde voix, mais c'est hyper fastidieux...

\version "2.18.2"
\score {
\new Staff
\relative c' {
<< { s2.\startTrillSpan s8 s8\stopTrillSpan s1} \ {\voiceOne c2 c2 c1} >>
}
}

Donc si quelqu'un à une meilleure solution je suis preneur !!

Merci beaucoup !!

Christophe

Bonjour Christophe,

Est-ce que :

\relative c' {
c2-\tweak to-barline ##t \startTrillSpan c2 c1\stopTrillSpan
}

Convient ?
Cordialement,
Pierre

···

Le ven. 9 août 2019 à 18:07, Christophe Belletante <****@****> a écrit :

Bonjour à tous,

J'ai un petit souci avec \starttrillSpan \stopTrillSpan
J'aimerais que mon trill aille jusqu'à la fin de mon deuxième do, mais n'empiète pas sur le 3ème

Or quand je fais :

c2\startTrillSpan c2 c1\stopTrillSpan
Mon trill empiète sur mon 3ème do
Et si je fais

c2\startTrillSpan c2\stopTrillSpan c1
Alors mon trill ne va pas jusqu'à la fin de mon deuxième do.

J'ai bien bidouiller une solution en créant une seconde voix, mais c'est hyper fastidieux...

\version "2.18.2"
\score {
\new Staff
\relative c' {
<< { s2.\startTrillSpan s8 s8\stopTrillSpan s1} \ {\voiceOne c2 c2 c1} >>
}
}

Donc si quelqu'un à une meilleure solution je suis preneur !!

Merci beaucoup !!

Christophe


liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Merci Pierre pour l'astuce !
C'est super ! C'est déjà beaucoup plus simple comme ça !

···

www.christophebelletante.com
www.facebook.com/ChristopheBelletanteCompositeur

La réponse de Pierre ne fonctionne pas chez moi (Lilypond 2.18.20)

c2- \startTrillSpan c2 c1\stopTrillSpan
prolonge le trille jusqu'au début du do ronde, 2ème mes.

c2-\tweak to-barline ##t \startTrillSpan c2 c1\stopTrillSpan
prolonge le trille jusqu'à la fin de la *1ère* mes.

En bidouillant :
c2\startTrillSpan c2 c1\tweak to-barline ##t \stopTrillSpan
prolonge effectivement le trille jusqu'à la fin de la 2ème mes. mais
provoque une erreur :
Erreur : « post-event » inattendu
  c2\startTrillSpan c2 c1
                         \tweak to-barline ##t \stopTrillSpan

Donc, comme Christophe dans son 1er message, je n'arrive pas à faire
prolonger le trille jusqu'à la fin de la 2ème mesure.

Ca vient de chez moi ?

Merci Pierre de me préciser où "je me plante" ? :slight_smile:

···

Le 09/08/2019 à 18:32, Pierre Perol-Schneider a écrit :

Bonjour Christophe,

Est-ce que :
\relative c' {
  c2-\tweak to-barline ##t \startTrillSpan c2 c1\stopTrillSpan
}

Convient ?
Cordialement,
Pierre

Le ven. 9 août 2019 à 18:07, Christophe Belletante < > ****@****> a écrit :

Bonjour à tous,

J'ai un petit souci avec \starttrillSpan \stopTrillSpan
J'aimerais que mon trill aille jusqu'à la fin de mon deuxième do, mais
n'empiète pas sur le 3ème
Or quand je fais :
c2\startTrillSpan c2 c1\stopTrillSpan
Mon trill empiète sur mon 3ème do
Et si je fais
c2\startTrillSpan c2\stopTrillSpan c1
Alors mon trill ne va pas jusqu'à la fin de mon deuxième do.

J'ai bien bidouiller une solution en créant une seconde voix, mais c'est
hyper fastidieux...

\version "2.18.2"
\score {
\new Staff
\relative c' {
<< { s2.\startTrillSpan s8 s8\stopTrillSpan s1} \\ {\voiceOne c2 c2 c1} >>
  }
}

Donc si quelqu'un à une meilleure solution je suis preneur !!

Merci beaucoup !!
Christophe

--

JJG

C'est super ! C'est déjà beaucoup plus simple comme ça !

… et donc extrêmement simple en mettant seulement au début du fichier :

\layout {
\context {
\Score
\override TrillSpanner.to-barline = ##t
}
}

Cela permet d'utiliser \startSpanTrill et \stopSpanTrill comme d'habitude. Je ne fais que réécrire ce que propose très justement Pierre. Cette incantation signifie très exactement : ô grande maîtresse Lili des étangs, lorsque tu rencontres un trille étendu entre deux notes et que la deuxième note est la première de sa mesure, alors place la fin de ce trille non pas sur la deuxième note mais sur la barre de mesure qui la précède. On retrouve ce réglage pour tous les objets extenseurs. Par exemple, en remplaçant TrillSpanner par Hairpin, on obtient le même réglage pour les soufflets (crescendo et decrescendo).

La réponse de Pierre ne fonctionne pas chez moi (Lilypond 2.18.20)

c2- \startTrillSpan c2 c1\stopTrillSpan
prolonge le trille jusqu'au début du do ronde, 2ème mes.

Voilà le comportement habituellement attendu en ce qui concerne les extenseurs, trilles comme soufflets, etc. \stopTrillSpan fait se stopper le trille juste sur cette note.

c2-\tweak to-barline ##t \startTrillSpan c2 c1\stopTrillSpan
prolonge le trille jusqu'à la fin de la 1ère mes.

Je crois que c'est bien ce qu'attendait Christophe : « J'aimerais que mon trill aille jusqu'à la fin de mon deuxième do, mais n'empiète pas sur le 3ème ».

En bidouillant :
c2\startTrillSpan c2 c1\tweak to-barline ##t \stopTrillSpan
prolonge effectivement le trille jusqu'à la fin de la 2ème mes. mais
provoque une erreur :
Erreur : « post-event » inattendu
c2\startTrillSpan c2 c1
\tweak to-barline ##t \stopTrillSpan

Donc, comme Christophe dans son 1er message, je n'arrive pas à faire
prolonger le trille jusqu'à la fin de la 2ème mesure.

Si vous voulez qu'il se prolonge jusqu'à la fin de la deuxième mesure, mettre \override TrillSpanner.to-barline = ##t et \stopTrillSpan sur la première note de la troisième mesure, comme pour terminer un crescendo par exemple.

Cordialement,
Jean Abou Samra

[......]

Désolé, je n'avais pas compris ce que désirait Christophe.

A mon tour de poser le même problème qui est de prolonger le trille
jusqu'à la fin de la 2ème mes.

Voici mon code :

\version "2.18.2"
\score {
\new Staff

\relative c' { \override TrillSpanner.to-barline = ##t

  c2\startTrillSpan c2 c1-\tweak to-barline ##t \stopTrillSpan

}
\layout {
  \context {
    \Score
    \override TrillSpanner.to-barline = ##t
  }
}

}

le résultat : le trille se termine à la fin de la 1ère mesure mais pas à
la fin de la 2ème mesure comme le souhaitait Christophe

A vrai dire, s'il s'agissait de soufflets de decrescendo, ce serait
normal que le soufflet se termine sur ce 2ème do mais pour le spanner ?

Comment faire ça ?

Meci

···

Le 10/08/2019 à 12:41, Jean ABOU SAMRA a écrit :

C'est super ! C'est déjà beaucoup plus simple comme ça !

… et donc extrêmement simple en mettant seulement au début du fichier :

\layout {
  \context {
    \Score
    \override TrillSpanner.to-barline = ##t
  }
}

--

JJG

Bonjour,

Merci pour votre aide !

Du coup est-ce que c'est ça que tu cherches Jean-Jacques ?

\version "2.18.2"

\score {

\layout {
\context {
\Score
\override TrillSpanner.to-barline = ##t
}
}

\new Staff
\relative c' {
c2\startTrillSpan c2 c1 R1\stopTrillSpan
c2\startTrillSpan c2 c1 \bar "||"

}

}

···

www.christophebelletante.com
www.facebook.com/ChristopheBelletanteCompositeur

Bonjour Jean-Jacques, bonjour à tous,

[...]

Merci Pierre de me préciser où "je me plante" ? :slight_smile: :

Essaie :

\version "2.18.2"
{
c2-\tweak to-barline ##t \startTrillSpan c2 c1 c\stopTrillSpan
}

PS. Ne pas oublier le "-" devant le "\tweak..." afin d'éviter tout message d'erreur.

···

Le sam. 10 août 2019 à 11:47, Jean-Jacques Gerbaud <****@****> a écrit :

[...]

Voici mon code :

\version "2.18.2"
\score {
\new Staff

\relative c' { \override TrillSpanner.to-barline = ##t

c2\startTrillSpan c2 c1-\tweak to-barline ##t \stopTrillSpan

}
\layout {
\context {
\Score
\override TrillSpanner.to-barline = ##t
}
}

}

[...]

  1. Attention aux commandes redondantes : dans ton code, elle est trissée;
  2. le "-\tweak..." est mal placé: c2 -\tweak to-barline ##t \startTrillSpan c2 c1\stopTrillSpan etc.

Cordialement,
Pierre

···

Le sam. 10 août 2019 à 14:42, Jean-Jacques Gerbaud <****@****> a écrit :

Bonjour,
Il y a quelques confusions dans votre réponse. Comme l'a souligné Pierre, le \tweak est mal placé. Il faut bien comprendre que le \tweak ici a pour seul objet d'apporter un aménagement typographique : il demande que le trille s'arrête au niveau de la barre de mesure en supprimant la petite prolongation du trille entre la barre de mesure et la note, mais il ne sert pas à déterminer jusqu'à quelle barre de mesure s'étend le trille ! Observez la différence :

{
% trille sur deux mesures
c2\startTrillSpan c2 c1 c1\stopTrillSpan \break
% avec amélioration
c2-\tweak to-barline ##t \startTrillSpan c2 c1 c1\stopTrillSpan \break
% équivalent à :
\once \override TrillSpanner.to-barline = ##t
c2\startTrillSpan c2 c1 c1\stopTrillSpan
}

\tweak est inefficace et incorrect lorsqu'il est placé au milieu du trille car la commande \tweak apporte un aménagement aux propriétés de l'objet graphique qui est créé juste après elle. L'objet TrillSpanner est créé par la commande \startTrillSpan, donc il ne sert à rien de mettre un \tweak après cette commande, il n'y aura aucun effet et LilyPond signale éventuellement une erreur.

La seule chose à faire pour indiquer sur quelle note se termine le trille est de bien positionner son \stopTrillSpan. Mais il y a une petite subtilité. Observez d'abord cet exemple avec un crescendo :
c< d! e

À première vue, un lecteur non-averti penserait probablement que le crescendo commence sur do, continue sur ré et aboutit sur mi. Il n'en est rien : il commence sur do et aboutit sur ré. Pourquoi ?
Cela tient tout simplement à la syntaxe de LilyPond qui veut que tout élément rattaché à une note arrive juste après elle. Le ! indique la note sur laquelle aboutit le crescendo, et il se place donc juste après elle.
D'ailleurs, j'ai toujours pensé qu'il était étrange d'écrire c( c) pour une liaison et non pas (c c). Mais syntaxiquement, c'est nécessaire.
À présent, remplacez < par \startTrillSpan et ! par \stopTrillSpan. Vous trouverez le même résultat. Musicalement, nous pensons ces éléments un peu différemment mais LilyPond veut que \stopTrillSpan se place sur la première note qui n'a plus de trille.
Donc, pour créer un trille qui s'étend jusqu'à la fin de la deuxième mesure, il faut mettre \stopTrillSpan juste après la première note de la troisième mesure.

Enfin, vos commandes sont effectivement redondantes. Pour appliquer le réglage à tous les trilles de la partition, mettre le \override dans un \layout, et pour l'appliquer à un seul trille, \once \override ou bien \tweak.
J'espère que les choses sont plus claires ainsi.
Cordialement,
Jean Abou Samra

Bonjour Jean et tous mes remerciements pour cette longue explication.

Oui, les commandes dans mon code étaient redondantes et les explications
données dans ce long message devraient me permettre de ne plus faire
d'erreur.

J'ai bien fait la comparaison entre Start / StopTrillSpan et < et >.

Cependant, mon problème reste entier.

soit 2 blanches, 1 ronde, une autre ronde et \bar "||"

Comment faire pour que le trille soit maintenu jusqu'à la fin !

Bonjour,
Je comprends mieux votre interrogation.
Ici, nous sommes en face d'un autre problème. Pour qu'un trille aille jusqu'à la fin d'une mesure, il faut le faire se terminer (\stopTrillSpan) sur la première note de la mesure suivante comme je le disais. Mais si on veut le faire aller jusqu'à la fin de la dernière mesure, on se trouve embêté car il n'y a pas de mesure suivante ! Solution : une mesure invisible.

\relative c' {
\override TrillSpanner.to-barline = ##t
c2\startTrillSpan c2 c1 c1 \bar "||" \stopStaff s1\stopTrillSpan
}

Cordialement,
Jean Abou Samra

Merci Jean,

C'est tellement simple que j'aurais dû trouver tout seul cette solution.
Je me disais aussi que, avec Lilypond, il y aurait *forcément* une
réponse à ma question.

Merci de m'avoir aidé.

Cordialement.

A bientôt

···

Le 13/08/2019 à 09:43, Jean ABOU SAMRA a écrit :

Bonjour Jean et tous mes remerciements pour cette longue explication.

Oui, les commandes dans mon code étaient redondantes et les explications
données dans ce long message devraient me permettre de ne plus faire
d'erreur.

J'ai bien fait la comparaison entre Start / StopTrillSpan et < et >.

Cependant, mon problème reste entier.

soit 2 blanches, 1 ronde, une autre ronde et \bar "||"

Comment faire pour que le trille soit maintenu jusqu'à la fin !

Bonjour,
Je comprends mieux votre interrogation.
Ici, nous sommes en face d'un autre problème. Pour qu'un trille aille jusqu'à la fin d'une mesure, il faut le faire se terminer (\stopTrillSpan) sur la première note de la mesure suivante comme je le disais. Mais si on veut le faire aller jusqu'à la fin de la dernière mesure, on se trouve embêté car il n'y a pas de mesure suivante ! Solution : une mesure invisible.

\relative c' {
\override TrillSpanner.to-barline = ##t
c2\startTrillSpan c2 c1 c1 \bar "||" \stopStaff s1\stopTrillSpan
}

Cordialement,
Jean Abou Samra
_______________________________________________

--

JJG