maîtrisons l'auto beaming !

2.13 & Ubuntu

Bonjour à toutes et à tous !

Je crois que j'ai compris l'override de l'auto-beaming, donc je partage mes découvertes tellement j'ai galéré sur 2.12. :smiley:
A mon avis, en 2.13, c'est bcp plus simple ! Voici donc ma vision des choses, à partir de la doc <http://lilypond.org/doc/v2.13/Documentation/notation/beams.html#Setting-automatic-beam-behavior&gt; :

pour modifier le comportement des ligatures automatiques, il faut utiliser, à partir de la version 2.13, la fonction suivante :

\overrideBeamSettings #'Score #'(a . b) #'end #'((* . (x y)))

*Il faut renseigner le couple (a . b) et le tuplet (x y)* - je dis exprès tuplet parce qu'il peut comporter plus d'éléments que ça)

(a . b) = les chiffres de la métrique à laquelle cette nouvelle règle s'applique
/ ex : (3 . 4) pour une métrique \time 3/4/

#'end #' = la règle s'exprime ainsi : "la ligature se *termine" *(je suppose que si l'on veut parler de ligature qui "commence" on utilise #'begin#', mais ça n'a pas vraiment de sens)

(x y) = entiers désignant des fractions de mesure (nombres entiers), à la fin desquelles (#'end#') la ligature s'achève.
                   /ex : pour une métrique à 3/4, si je souhaite avoir 2 croches (c'est-à-dire 1 temps dans ce cas) puis 4 croches (2 temps), je mets (1 2)
                   mais si je souhaite avoir toutes les croches ligaturées par 2 (à chaque temps), je mettrai le tuplet (1 1 1) parce que je veux une ligature qui se termine à la fin du 1er temps, puis du temps suivant, et enfin du dernier. Et si je veux toutes les croches ligaturées, j'indique une fin de ligature en fin de 3 temps : (3)
/

Et comme à l'école, petit exercice d'application : ligature automatique des croches par 2 dans une métrique à 4/4 (je l'utilise très souvent) :

\version "2.13"

\relative c'' {
%comportement par défaut = ligature de 4 croches
c8 c c d e e d d c e d d c2 \bar "||" \break
*%comportement souhaité = ligature de 2 croches
\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))*
c8 c c d e e d d c e d d c2 \bar "|." \break
%comportement souhaité = ligature par 8 croches (pour le fun)
\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (0 4)))
c8 c c d e e d d c e d d c2 \bar "|."
}

Personnellemnt, je trouve cela beaucoup plus intuitif, et très graphique. Il faut dire que je n'ai jamais pris la peine de comprendre correctement la méthode de la version 2.12... :-[

Enjoy !

JMarc

Un petit oubli :

Dans la séquence \overrideBeamSettings #'Score #'(a . b) #'end #'((* . (x y))) ,

le dernier jocker * signifie que la règle correspond à un comportement par défaut pour toute la musique qui suit : il est en effet possible, - mais n'en ayant pas l'utilité, je zappe :slight_smile: -, de déterminer plus finement l'autobeaming, et de définir des règles différentes en fonction des arrangements de notes rencontrés en cours de partition...

A propos, si je me suis mis le doigt dans l'oeil dans mes explications, purement empiriques, n'hésitez pas à commettre en redressement musical !

A bientôt

Jmarc

Editions IN NOMINE wrote:

···

2.13 & Ubuntu

Bonjour à toutes et à tous !

Je crois que j'ai compris l'override de l'auto-beaming, donc je partage mes découvertes tellement j'ai galéré sur 2.12. :smiley:
A mon avis, en 2.13, c'est bcp plus simple ! Voici donc ma vision des choses, à partir de la doc <LilyPond Notation Reference: 1.2.4 Beams; :

pour modifier le comportement des ligatures automatiques, il faut utiliser, à partir de la version 2.13, la fonction suivante :

\overrideBeamSettings #'Score #'(a . b) #'end #'((* . (x y)))

*Il faut renseigner le couple (a . b) et le tuplet (x y)* - je dis exprès tuplet parce qu'il peut comporter plus d'éléments que ça)

(a . b) = les chiffres de la métrique à laquelle cette nouvelle règle s'applique
/ ex : (3 . 4) pour une métrique \time 3/4/

#'end #' = la règle s'exprime ainsi : "la ligature se *termine" *(je suppose que si l'on veut parler de ligature qui "commence" on utilise #'begin#', mais ça n'a pas vraiment de sens)

(x y) = entiers désignant des fractions de mesure (nombres entiers), à la fin desquelles (#'end#') la ligature s'achève.
                  /ex : pour une métrique à 3/4, si je souhaite avoir 2 croches (c'est-à-dire 1 temps dans ce cas) puis 4 croches (2 temps), je mets (1 2)
                  mais si je souhaite avoir toutes les croches ligaturées par 2 (à chaque temps), je mettrai le tuplet (1 1 1) parce que je veux une ligature qui se termine à la fin du 1er temps, puis du temps suivant, et enfin du dernier. Et si je veux toutes les croches ligaturées, j'indique une fin de ligature en fin de 3 temps : (3)
/

Et comme à l'école, petit exercice d'application : ligature automatique des croches par 2 dans une métrique à 4/4 (je l'utilise très souvent) :

\version "2.13"

\relative c'' {
%comportement par défaut = ligature de 4 croches
c8 c c d e e d d c e d d c2 \bar "||" \break
*%comportement souhaité = ligature de 2 croches
\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))*
c8 c c d e e d d c e d d c2 \bar "|." \break
%comportement souhaité = ligature par 8 croches (pour le fun)
\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (0 4)))
c8 c c d e e d d c e d d c2 \bar "|."
}

Personnellemnt, je trouve cela beaucoup plus intuitif, et très graphique. Il faut dire que je n'ai jamais pris la peine de comprendre correctement la méthode de la version 2.12... :-[

Enjoy !

JMarc

Je vous entends me dire : il est gentil, mais en \time 2/2, quand je veux des croches en ligatures par 2, le tuplet devient (0.5 0.5 0.5 0. 5) puisque l'unité de temps est la blanche, et Lily ne veut que des entiers ?

Yes, vous avez raison, en fait, et je vous donne la solution de la liste internationale :

\relative c'' {
\time 2/2
/%comportement par défaut en 2/2 = ligatures par 4 croches/
c8 c c d e e d d c e d d c2 \bar "||" \break
/%comportement souhaité = ligatures par 2 croches/
\overrideBeamSettings #'Score #'(2 . 2) #'end #'((* . (1 1 1 1)))
*\set Score.beatLength = #(ly:make-moment 1 4) *
/ % qui permet d'indiquer à Lily que OK c'est une règle qui s'applique aux passages en 2/2 mais il est gentil, il prend la noire comme %unité de comptage dans le tuplet/
c8 c c d e e d d c e d d c2 \bar "|."
}

Bonne soirée !

JMarc

Editions IN NOMINE wrote:

···

2.13 & Ubuntu

Bonjour à toutes et à tous !

Je crois que j'ai compris l'override de l'auto-beaming, donc je partage mes découvertes tellement j'ai galéré sur 2.12. :smiley:
A mon avis, en 2.13, c'est bcp plus simple ! Voici donc ma vision des choses, à partir de la doc <LilyPond Notation Reference: 1.2.4 Beams; :

pour modifier le comportement des ligatures automatiques, il faut utiliser, à partir de la version 2.13, la fonction suivante :

\overrideBeamSettings #'Score #'(a . b) #'end #'((* . (x y)))

*Il faut renseigner le couple (a . b) et le tuplet (x y)* - je dis exprès tuplet parce qu'il peut comporter plus d'éléments que ça)

(a . b) = les chiffres de la métrique à laquelle cette nouvelle règle s'applique
/ ex : (3 . 4) pour une métrique \time 3/4/

#'end #' = la règle s'exprime ainsi : "la ligature se *termine" *(je suppose que si l'on veut parler de ligature qui "commence" on utilise #'begin#', mais ça n'a pas vraiment de sens)

(x y) = entiers désignant des fractions de mesure (nombres entiers), à la fin desquelles (#'end#') la ligature s'achève.
                  /ex : pour une métrique à 3/4, si je souhaite avoir 2 croches (c'est-à-dire 1 temps dans ce cas) puis 4 croches (2 temps), je mets (1 2)
                  mais si je souhaite avoir toutes les croches ligaturées par 2 (à chaque temps), je mettrai le tuplet (1 1 1) parce que je veux une ligature qui se termine à la fin du 1er temps, puis du temps suivant, et enfin du dernier. Et si je veux toutes les croches ligaturées, j'indique une fin de ligature en fin de 3 temps : (3)
/

Et comme à l'école, petit exercice d'application : ligature automatique des croches par 2 dans une métrique à 4/4 (je l'utilise très souvent) :

\version "2.13"

\relative c'' {
%comportement par défaut = ligature de 4 croches
c8 c c d e e d d c e d d c2 \bar "||" \break
*%comportement souhaité = ligature de 2 croches
\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))*
c8 c c d e e d d c e d d c2 \bar "|." \break
%comportement souhaité = ligature par 8 croches (pour le fun)
\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (0 4)))
c8 c c d e e d d c e d d c2 \bar "|."
}

Personnellemnt, je trouve cela beaucoup plus intuitif, et très graphique. Il faut dire que je n'ai jamais pris la peine de comprendre correctement la méthode de la version 2.12... :-[

Enjoy !

JMarc

2.13 & Ubuntu

Bonjour à toutes et à tous !

Je crois que j'ai compris l'override de l'auto-beaming, donc je
partage mes découvertes tellement j'ai galéré sur 2.12. :smiley:
A mon avis, en 2.13, c'est bcp plus simple ! Voici donc ma vision des
choses, à partir de la doc
<LilyPond Notation Reference: 1.2.4 Beams;
:

pour modifier le comportement des ligatures automatiques, il faut utiliser,
à partir de la version 2.13, la fonction suivante :

\overrideBeamSettings #'Score #'(a . b) #'end #'((* . (x y)))

Salut !

Je suis loin d'être un maître de l' "auto-beaming" mais je tenais à
préciser une chose : la structure avec l'étoile ('*') est une structure
_simplifiée_, généraliste.
On peut aller bien plus loin, créer des règles bien plus "pointues",
en fonction du type de ligature (croche, double-croches, ...).

Le '*' veut dire que le type de groupement (x y) s'appliquera à toutes
les ligatures !!
Mais si on souhaite par exemple en 4/4 ligaturer :
  – les croches par 4 (toutes les blanches) ;
  – les doubles-croches par 4 aussi (toutes les noires) ;

ce ne sera pas possible avec '*'.

En effet si on met
  \overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (2 2)))
les croches seront bien par 4 mais les doubles-croches seront par 8
(et non par 4),

tandis que si on met
  \overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))
les croches seront par 2 (toutes les noires), les doubles-croches
seront bien par 4 (toutes les noires).

C'est pourquoi on peut ajouter des règles en fonction du type de
ligature, en remplaçant l' '*' par :

  – (1 . 8) pour les ligatures de croches,
  – (1 . 16) pour celles de doubles-croches,
  – etc.

J'ai donné un exemple complet, avec la démarche suivie pour élaborer la
règle, il y a 3 jours ici :
http://lilypond-french-users.1298960.n2.nabble.com/override-auto-beam-setting-tp4871642p4999993.html

*Il faut renseigner le couple (a . b) et le tuplet (x y)* - je dis exprès
tuplet parce qu'il peut comporter plus d'éléments que ça)

(a . b) = les chiffres de la métrique à laquelle cette nouvelle
règle s'applique
/ ex : (3 . 4) pour une métrique \time 3/4/

#'end #' = la règle s'exprime ainsi : "la ligature se *termine" *(je
suppose que si l'on veut parler de ligature qui "commence" on utilise
#'begin#', mais ça n'a pas vraiment de sens)

(x y) = entiers désignant des fractions de mesure (nombres
entiers), à la fin desquelles (#'end#') la ligature s'achève.

NON ! (enfin je crois pas) ;D

** D'après ce que j'ai compris...**

(x y) représente le _nombre de temps_ quand on est dans le cas '*',
autrement dit la somme de (x y) donne le numérateur du chiffrage
(i.e. 3 si on est en 3/4).

Par contre dans le cas "non '*' " c'est le nombre de notes du type
ligature "d" qui seront groupées ensemble.

  \overrideBeamSettings #'Score #'(a . b) #'end #'((c d) . (x y))

Dans ce cas, la somme (x y) doit être : le nombre de notes "d" qu'il y
a dans une mesure complète de a/b.
En pratique c = 1 toujours, il me semble.

Exemple : en 3/4, les croches par 6 (toute la mesure), les
doubles-croches par 4 (par temps, par noire) :

  \overrideBeamSettings #'Staff #'(3 . 4) #'end #'((* . (3))
      ((1 . 8) . (6))
      ((1 . 16) . (4 4 4))

J'ai laissé (* . (3)) pour dire que tout ce qui n'est pas spécifié
(les triples-croches, les triolets, ...) seront ligaturés par mesure :
une mesure = 3 temps (3 noires).

Pour ajouter une règle spécifique à une ligature tout en gardant les
autres règles définies par défaut, lire la méthode que j'ai expliqué
ici :
http://lilypond-french-users.1298960.n2.nabble.com/override-auto-beam-setting-tp4871642p4999993.html

Cordialement,
Xavier

···

2010/5/6 Editions IN NOMINE <****@****>:

--
Xavier Scheuer <****@****>

Merci pour ces précisions, qui me montrent que si cela fonctionnait, ce n'était pas pour les raisons que j'invoquais !

Bon, je vais devoir repotasser le sujet qui semble plus complexe que prévu...

A bientôt

JMarc

Xavier Scheuer wrote:

···

2010/5/6 Editions IN NOMINE <****@****>:

2.13 & Ubuntu

Bonjour à toutes et à tous !

Je crois que j'ai compris l'override de l'auto-beaming, donc je
partage mes découvertes tellement j'ai galéré sur 2.12. :smiley:
A mon avis, en 2.13, c'est bcp plus simple ! Voici donc ma vision des
choses, à partir de la doc
<LilyPond Notation Reference: 1.2.4 Beams;
:

pour modifier le comportement des ligatures automatiques, il faut utiliser,
à partir de la version 2.13, la fonction suivante :

\overrideBeamSettings #'Score #'(a . b) #'end #'((* . (x y)))
    
Salut !

Je suis loin d'être un maître de l' "auto-beaming" mais je tenais à
préciser une chose : la structure avec l'étoile ('*') est une structure
_simplifiée_, généraliste.
On peut aller bien plus loin, créer des règles bien plus "pointues",
en fonction du type de ligature (croche, double-croches, ...).

Le '*' veut dire que le type de groupement (x y) s'appliquera à toutes
les ligatures !!
Mais si on souhaite par exemple en 4/4 ligaturer :
  – les croches par 4 (toutes les blanches) ;
  – les doubles-croches par 4 aussi (toutes les noires) ;

ce ne sera pas possible avec '*'.

En effet si on met
  \overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (2 2)))
les croches seront bien par 4 mais les doubles-croches seront par 8
(et non par 4),

tandis que si on met
  \overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))
les croches seront par 2 (toutes les noires), les doubles-croches
seront bien par 4 (toutes les noires).

C'est pourquoi on peut ajouter des règles en fonction du type de
ligature, en remplaçant l' '*' par :

  – (1 . 8) pour les ligatures de croches,
  – (1 . 16) pour celles de doubles-croches,
  – etc.

J'ai donné un exemple complet, avec la démarche suivie pour élaborer la
règle, il y a 3 jours ici :
http://lilypond-french-users.1298960.n2.nabble.com/override-auto-beam-setting-tp4871642p4999993.html

*Il faut renseigner le couple (a . b) et le tuplet (x y)* - je dis exprès
tuplet parce qu'il peut comporter plus d'éléments que ça)

(a . b) = les chiffres de la métrique à laquelle cette nouvelle
règle s'applique
/ ex : (3 . 4) pour une métrique \time 3/4/

#'end #' = la règle s'exprime ainsi : "la ligature se *termine" *(je
suppose que si l'on veut parler de ligature qui "commence" on utilise
#'begin#', mais ça n'a pas vraiment de sens)

(x y) = entiers désignant des fractions de mesure (nombres
entiers), à la fin desquelles (#'end#') la ligature s'achève.
    
NON ! (enfin je crois pas) ;D

** D'après ce que j'ai compris...**

(x y) représente le _nombre de temps_ quand on est dans le cas '*',
autrement dit la somme de (x y) donne le numérateur du chiffrage
(i.e. 3 si on est en 3/4).

Par contre dans le cas "non '*' " c'est le nombre de notes du type
ligature "d" qui seront groupées ensemble.

  \overrideBeamSettings #'Score #'(a . b) #'end #'((c d) . (x y))

Dans ce cas, la somme (x y) doit être : le nombre de notes "d" qu'il y
a dans une mesure complète de a/b.
En pratique c = 1 toujours, il me semble.

Exemple : en 3/4, les croches par 6 (toute la mesure), les
doubles-croches par 4 (par temps, par noire) :

  \overrideBeamSettings #'Staff #'(3 . 4) #'end #'((* . (3))
      ((1 . 8) . (6))
      ((1 . 16) . (4 4 4))

J'ai laissé (* . (3)) pour dire que tout ce qui n'est pas spécifié
(les triples-croches, les triolets, ...) seront ligaturés par mesure :
une mesure = 3 temps (3 noires).

Pour ajouter une règle spécifique à une ligature tout en gardant les
autres règles définies par défaut, lire la méthode que j'ai expliqué
ici :
http://lilypond-french-users.1298960.n2.nabble.com/override-auto-beam-setting-tp4871642p4999993.html

Cordialement,
Xavier

--
Xavier Scheuer <****@****>