lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Avis aux potentiels relecteurs


From: Jean-Charles Malahieude
Subject: Re: Avis aux potentiels relecteurs
Date: Mon, 13 Jul 2009 20:12:51 +0200
User-agent: Thunderbird 2.0.0.21 (X11/20090320)

Le 12/07/2009 19:56, François Martin disait :
Si quelqu'un veut bien le relire...

Cool, je veux bien en être !
... comment on fait pour accéder aux sources ?

François


Pour mettre les mains dans le cambouis jusqu'au coude, la première chose à faire est de jeter un œil anglophile au http://lilypond.org/doc/v2.13/Documentation/devel/contrib-guide/index#index

Si besoin est, je joins le fichier "rhythms.itely" pou un aperçu du texte pur. Il se trouve normalement dans le répertoire
~/mon-dépôt-local/Documentation/fr/user/


Désolé de répondre si tard, mais je n'ai pu faire le pont...


@+
Jean-Charles
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
    Translation of GIT committish: 21c8461ea87cd670a35a40b91d3ef20de03a0409

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@end ignore

@c \version "2.12.0"

@c Translators: Frédéric Chiasson, Jean-Charles Malahieude
@c Translation checkers: Valentin Villenave, Jean-Charles Malahieude

@node Rhythms
@section Rhythms

@lilypondfile[quote]{rhythms-headword.ly}

Cette section traite du rythme : durées, silences, barres de ligature
et de mesure.

@menu
* Writing rhythms::             
* Writing rests::               
* Displaying rhythms::          
* Beams::                       
* Bars::                        
* Special rhythmic concerns::   
@end menu


@node Writing rhythms
@subsection Writing rhythms

@menu
* Durations::                   
* Tuplets::                     
* Scaling durations::           
* Ties::                        
@end menu

@node Durations
@unnumberedsubsubsec Durations

@cindex durées
@cindex notes, longueur
@cindex longueur de note

@funindex \longa
@funindex longa
@funindex \breve
@funindex breve
@funindex \maxima
@funindex maxima

Dans les modes de notes, d'accords et de paroles, les durées sont
écrites avec des chiffres et des points : les durées sont indiquées par
leur valeur fractionnaire par rapport à la durée d'une ronde.  Une
noire, par exemple, qui équivaut à un 1/4 de ronde --- @emph{quarter note}
en anglais --- s'écrit @code{4}, alors qu'une blanche ---
@emph{half-note}, 1/2 ronde --- s'écrit @code{2}.  Pour des notes plus
longues qu'une ronde, vous devrez utiliser les commandes @code{\longa}
pour une longue, et @code{\breve} pour une brève, aussi appelée carrée.  
Des durées plus courtes que la quintuple-croche --- 1/128 de ronde ---
sont possibles, à condition de les ligaturer.
 
@c Two 64th notes are needed to obtain beams
@lilypond[quote,verbatim,relative=2]
\time 8/1
c\longa c\breve c1 c2
c4 c8 c16 c32 c64 c64
@end lilypond
 
@noindent
Voici ces mêmes durées sans la fonction de ligature automatique.

@c not strictly "writing rhythms"; more of a "displaying" thing,
@c but it's ok here.  -gp
@lilypond[quote,verbatim,relative=2]
\time 8/1
\autoBeamOff
c\longa c\breve c1 c2
c4 c8 c16 c32 c64 c64
@end lilypond
 
Une note dont la durée est de quatre brèves s'obtient par la commande
@code{\maxima}. Celle-ci n'est toutefois disponible que dans le cadre de
la notation ancienne. Pour plus de détails, voir @ref{Ancient notation}. 

@cindex durée par défaut
@cindex défaut, durée

Si la durée d'une note n'est pas précisée, elle est alors assimilée à la
durée de la note précédente.  La valeur par défaut pour la première note
est la noire (4).

@lilypond[quote,verbatim,relative=2]
a a a2 a a4 a a1 a
@end lilypond

@cindex notes pointées
@cindex pointée, note
@cindex doublement pointée, note
@cindex point
@cindex double point

@funindex .

Pour obtenir des notes pointées, ajoutez simplement un point
(@code{.}) au chiffre.  Les notes doublement pointées sont créées de
la même façon.

@lilypond[quote,verbatim,relative=2]
a4 b c4. b8 a4. b4.. c8.
@end lilypond

Certaines durées ne peuvent s'obtenir à partir de chiffres et de points,
mais uniquement en @qq{liant} deux ou plusieurs notes entre elles. Voir
@ref{Ties} à ce sujet.

Quant à la manière de spécifier la durée des syllabes ou bien d'aligner
des paroles par rapport aux notes, reportez-vous au chapitre 
@ref{Vocal music}.

Espacer les notes selon leur durée relative est tout à fait possible.
Pour plus de détails à ce sujet et sur les autres réglages propres à
cette forme de notation, reportez-vous à @ref{Proportional notation}.

@funindex \dotsUp
@funindex dotsUp
@funindex \dotsDown
@funindex dotsDown
@funindex \dotsNeutral
@funindex dotsNeutral

Les points sont normalement haussés pour éviter les lignes de portée,
sauf dans certaines polyphonies.  Des commandes prédéfinies permettent
de manuellement forcer une orientation particulière, comme indiqué au
chapitre @ref{Direction and placement}.


@predefined
@code{\autoBeamOff},
@code{\dotsUp},
@code{\dotsDown}.
@endpredefined


@seealso
Glossaire musicologique :
@rglos{breve},
@rglos{longa},
@rglos{maxima},
@rglos{note value},
@rglos{Duration names notes and rests}.

Manuel de notation :
@ref{Automatic beams},
@ref{Ties},
@ref{Stems},
@ref{Writing rhythms},
@ref{Writing rests},
@ref{Vocal music},
@ref{Ancient notation},
@ref{Proportional notation}.

Morceaux choisis :
@rlsr{Rhythms}.

Manuel des références internes :
@rinternals{Dots},
@rinternals{DotColumn}.


@knownissues

@c Deliberately duplicated in Durations and Rests.  -gp
Il n'existe pas à proprement parler de limite (inférieure ou supérieure)
en terme de durée d'un silence.  Cependant, le nombre de glyphes
disponibles ne couvre que les silences allant du quintuple soupir à la
maxime (équivalant huit pauses).


@node Tuplets
@unnumberedsubsubsec Tuplets

@cindex nolets
@cindex triolets

@funindex \times
@funindex times

Les nolets --- triolets, quintolets, etc. --- sont obtenus en
multipliant toutes les durées d'une expression musicale par une
fraction.

@example
\times @var{fraction} @{ @var{expression_musicale} @}
@end example

@noindent
La durée de @var{expression_musicale} sera multipliée par la fraction.  Le
dénominateur de cette fraction sera imprimé au-dessus ou au-dessous des
notes, parfois avec un crochet.  Le nolet le plus courant est le
triolet, dans lequel 3 notes ont la durée de 2, et où les notes durent
donc 2/3 de leur valeur écrite.

@lilypond[quote,verbatim,relative=2]
a2 \times 2/3 { b4 b b }
c4 c \times 2/3 { b4 a g }
@end lilypond

@cindex crochet de nolet, positionnement

@funindex \tupletUp
@funindex tupletUp
@funindex \tupletDown
@funindex tupletDown
@funindex \tupletNeutral
@funindex tupletNeutral

Des commandes prédéfinies permettent  de déroger au positionnement
automatique du crochet en surplomb ou au-dessous des notes -- voir le
chapitre @ref{Direction and placement}.  

Les nolets peuvent être imbriqués ; par exemple,

@lilypond[quote,verbatim,relative=2]
\autoBeamOff
c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 |
@end lilypond
 
Lorsqu'une imbrication de nolets débute au même instant, il vous faudra
recourir à la commande @code{\tweak}.

Vous pouvez interférer sur la durée des notes sans imprimer de crochet,
comme indiqué au chapitre @ref{Scaling durations}.


@predefined
@code{\tupletUp},
@code{\tupletDown},
@code{\tupletNeutral}.
@endpredefined

@snippets

@cindex nolets, formatage
@cindex triolets, formatage

@funindex tupletNumberFormatFunction
@funindex tupletSpannerDuration

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{entering-several-tuplets-using-only-one--times-command.ly}

@cindex nolet, modification du chiffre

@funindex TupletNumber

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{changing-the-tuplet-number.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{non-default-tuplet-numbers.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{permitting-line-breaks-within-beamed-tuplets.ly}

@seealso
Music Glossary:
@rglos{triplet},
@rglos{tuplet},
@rglos{polymetric}.

Manuel d'apprentissage : 
@rlearning{Tweaking methods}.

Manuel de notation :
@ref{Time administration},
@ref{Scaling durations},
@ref{The tweak command},
@ref{Polymetric notation}.

Morceaux choisis :
@rlsr{Rhythms}.

Références internes :
@rinternals{TupletBracket},
@rinternals{TupletNumber},
@rinternals{TimeScaledMusic}.

@cindex notes d'ornement et crochet de nolet

@knownissues
Lorsqu'un nolet en début de portée est précédé d'une note d'ornement,
celle-ci doit se placer avant la commande @code{\times} pour éviter
toute erreur.  Ailleurs dans la partition, les notes d'ornement peuvent
se placer au sein de l'expression du nolet.


@node Scaling durations
@unnumberedsubsubsec Scaling durations

@cindex échelonnement des durées
@cindex durées, échekonnement

Vous pouvez altérer la durée des notes, silences ou accords en leur
joignant une fraction @var{N/M}, donnant @address@hidden@var{N/M}} --- ou
@address@hidden@var{N}} si @var{M=1}.  Ceci ne modifiera en rien l'apparence
des notes ou silences produits, mais affectera le rendu MIDI. 

Dans l'exemple suivant, les trois premières notes prennent exactement
deux temps, mais aucun triolet n'est imprimé.

@lilypond[quote,relative=2,verbatim]
\time 2/4
% Alter durations to triplets
a4*2/3 gis4*2/3 a4*2/3
% Normal durations
a4 a4
% Double the duration of chord
<a d>4*2
% Duration of quarter, appears like sixteenth
b16*4 c4
@end lilypond

La durée d'un silence invisible ou saut de notes (@emph{skip}) peut
elle aussi être affectée d'un multiplicateur.  Cette technique permet
tout simplement de sauter plusieurs mesures, comme par exemple un 
@code{s1*23}.

@cindex échelonnement de musique
@cindex musique échelonnée

@funindex \scaleDurations
@funindex scaleDurations

Il est tout à fait possible d'échelonner des fragments musicaux plus ou
moins longs à l'aide d'une simple fraction, comme si chaque note, accord
ou silence était affecté de ce même quotient.  L'apparence de cette
musique ne sera en rien modifiée ; seule la durée des notes est
multipliée en interne par la fraction
@emph{numérateur}/@emph{dénominateur}.  N'oubliez pas de préserver les
espaces de part et d'autre du point.  Voici un exemple illustrant la
manière de comprimer ou étirer de la musique :

@lilypond[quote,relative=2,verbatim]
\time 2/4
% Normal durations
<c a>4 c8 a
% Scale music by *2/3
\scaleDurations #'(2 . 3) {
  <c a f>4. c8 a f
}
% Scale music by *2
\scaleDurations #'(2 . 1) {
  <c' a>4 c8 b
}
@end lilypond

@noindent
Cette technique est tout à fait appropriée à la notation polymétrique ---
voir @ref{Polymetric notation}.


@seealso
Manuel de notation :
@ref{Tuplets},
@ref{Invisible rests},
@ref{Polymetric notation}.

Morceaux choisis :
@rlsr{Rhythms}.


@node Ties
@unnumberedsubsubsec Ties

@cindex liaison de prolongation

@funindex ~

Une liaison de tenue (ou de prolongation) relie deux notes adjacentes de
même hauteur.  Dans les faits, elle prolonge la durée d'une note.
 
@warning{Une liaison de tenue ne doit pas être confondue avec une
liaison d'@strong{articulation} ou de @strong{phrasé}.  Une liaison de
tenue est un moyen parmi d'autres pour prolonger la durée d'une note,
tout comme les points.} 

Une liaison de tenue s'indique au moyen d'un tilde @code{~}.

@lilypond[quote,verbatim,relative=2]
a2 ~ a
@end lilypond


@noindent
Les liaisons de tenue sont utilisées soit lorsque la note dépasse de la
mesure, soit quand les points ne suffisent pas à donner la bonne durée.
Lorsque l'on utilise ces liaisons, les valeurs rythmiques les plus
longues doivent s'aligner sur les subidivisions de la mesure, comme ici :

@c KEEP LY
@lilypond[verbatim,quote]
\relative {
  r8^"oui" c8 ~ c2 r4 |
  r8^"non" c2 ~ c8 r4
}
@end lilypond

Lorsque l'on doit lier de nombreuses notes sur plusieurs mesures, il
devient plus facile d'avoir recours à la division automatique des notes
--- voir @ref{Automatic note splitting}.  Ce procédé divise
automatiquement les notes trop longues, et les lie par-delà les barres
de mesure.

@cindex liaison de tenue et accords
@cindex accords et liaisons de tenue

Quand une liaison de tenue se trouve entre deux accords, toutes les
notes de même hauteur entre ces deux accords sont reliées.  S'il n'y en
a aucune, aucune liaison n'est créée.  Il est également possible de lier
partiellement deux accords, en mettant les liaisons à l'intérieur des
accords.

@lilypond[quote,verbatim,relative=1]
<c e g> ~ <c e g>
<c~ e g~ b> <c e g b>
@end lilypond


@cindex liaison de tenue et répétition
@cindex répétition et liaison de tenue
@cindex reprises avec alternatives et liaisons de prolongation
@cindex liaison de prolongation et reprise avec alternative

@funindex \repeatTie
@funindex repeatTie

Lorsqu'une mesure de seconde fois après une reprise commence sur une
note liée, la liaison doit être répétée, comme ici :

@lilypond[quote,relative=2,verbatim]
\repeat volta 2 { c g <c e>2 ~ }
\alternative {
  % First alternative: following note is tied normally
  { <c e>2. r4 }
  % Second alternative: following note has a repeated tie
  { <c e>2\repeatTie d4 c } }
@end lilypond

@cindex laissez vibrer
@cindex liaison, laissez vibrer

@funindex \laissezVibrer
@funindex laissezVibrer

Les liaisons @qq{Laissez vibrer} (@notation{L.v.}) sont utilisées pour
le piano, la harpe, et certains instruments de percussion.  Elles
indiquent à l'instrumentiste de laisser sonner la note ou l'accord au
lieu de l'étouffer.  Elles s'indiquent de la manière suivante : 

@lilypond[quote,verbatim,relative=1]
 <c f g>\laissezVibrer
@end lilypond

@cindex liaisons de prolongation, positionnement

@funindex \tieUp
@funindex tieUp
@funindex \tieDown
@funindex tieDown
@funindex \tieNeutral
@funindex tieNeutral

Le positionnement vertical des liaisons de prolongation peut être affiné
--- voir à ce sujet les @qq{commandes prédéfinies} et, pour de plus
amples détails, @ref{Direction and placement}.

@cindex liaison de prolongation, apparence
@cindex liaison de prolongation, pointillés
@cindex liaison de prolongation, tirets

@funindex \tieDotted
@funindex tieDotted
@funindex \tieDashed
@funindex tieDashed
@funindex \tieSolid
@funindex tieSolid

Les liaisons de prolongation peuvent s'imprimer sous la forme de ligne
continue, discontinue ou pointillée.

@lilypond[quote, verbatim, relative=1]
\tieDotted
c2 ~ c
\tieDashed
c2 ~ c
\tieHalfDashed
c2 ~ c
\tieHalfSolid
c2 ~ c
\tieSolid
c2 ~ c
@end lilypond

Il est même possible d'en personnaliser l'allure :

@lilypond[quote, verbatim, relative=1]
\tieDashPattern #0.3 #0.75
c2 ~ c
\tieDashPattern #0.7 #1.5
c2 ~ c
\tieSolid
c2 ~ c
@end lilypond

Que ce soit pour une tenue ou un phrasé, le motif d'une ligne
discontinue formant une liaison se définit de la même manière.  Pour de
plus amples détails à ce sujet, reportez-vous au chapitre @ref{Slurs}.

@predefined
@code{\tieUp},
@code{\tieDown},
@code{\tieNeutral},
@code{\tieDotted},
@code{\tieDashed},
@code{\tieDashPattern},
@code{\tieHalfDashed},
@code{\tieHalfSolid},
@code{\tieSolid}.
@endpredefined


@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{using-ties-with-arpeggios.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{engraving-ties-manually.ly}


@seealso
Glossaire musical :
@rglos{tie},
@rglos{laissez vibrer}.

Dans ce manuel : 
@ref{Automatic note splitting}.

Morceaux choisis :
@rlsr{Rhythms}.

Référence du programme :
@rinternals{LaissezVibrerTie},
@rinternals{LaissezVibrerTieColumn},
@rinternals{TieColumn},
@rinternals{Tie}.



@knownissues

Un changement de portée, lorsqu'une liaison de tenue est active, ne
peut produire une liaison oblique.

Un changement de clé ou d'octave pendant une liaison de tenue produit un
résultat indéfini.  Dans ces cas-là, il est préférable d'utiliser un
@emph{legato}.


@node Writing rests
@subsection Writing rests

Les silences se saisissent dans une expression musicale tout comme les
notes. 

@menu
* Rests::                       
* Invisible rests::             
* Full measure rests::          
@end menu

@node Rests
@unnumberedsubsubsec Rests

@cindex silences
@cindex durée d'un silence
@cindex double pause

@funindex \rest
@funindex rest
@funindex r
@funindex \maxima
@funindex maxima
@funindex \longa
@funindex longa
@funindex \breve
@funindex breve

Les silences sont écrits comme des notes avec le nom de note @code{r}.
Les durées supérieures à la pause s'indiquent à l'aide de commandes
prédéfinies :

@c \time 16/1 is used to avoid spurious bar lines
@c and long tracts of empty measures
@lilypond[fragment,quote,verbatim]
\new Staff {
  % These two lines are just to prettify this example
  \time 16/1
  \override Staff.TimeSignature #'stencil = ##f
  % Print a maxima rest, equal to four breves
  r\maxima
  % Print a longa rest, equal to two breves
  r\longa
  % Print a breve rest
  r\breve
  r1 r2 r4 r8 r16 r32 r64 r128
}
@end lilypond

@cindex silence multi-mesure
@cindex mesure de silence

Les pauses d'une mesure complète, qui sont placées au centre de la
mesure, doivent être entrées comme des mesures de silence.  Elles
peuvent être utilisées pour une seule mesure comme pour plusieurs, et
leur utilisation est expliquée dans la section
@ref{Full measure rests}.

@cindex silence, spécification du positionnement vertical

Pour spécifier explicitement la position verticale d'un silence, écrivez
une note suivie de @code{\rest}.  Un silence, de même durée, sera placé
à la position où serait imprimée la note.  Cela rend plus facile la mise
en place de musique polyphonique, puisque le formateur automatique de
collision des silences laissera ces silences tranquilles.
 
@lilypond[quote,verbatim,relative=2]
a'4\rest d'4\rest
@end lilypond

@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{rest-styles.ly}


@seealso
Glossaire musicologique :
@rglos{breve},
@rglos{longa},
@rglos{maxima}.

Manuel de notation :
@ref{Full measure rests}.

Morceaux choisis :
@rlsr{Rhythms}.

Référence du programme : 
@rinternals{Rest}.


@knownissues

@c Deliberately duplicated in Durations and Rests.  -gp
Il n'existe pas à proprement parler de limite (inférieure ou supérieure)
en terme de durée d'un silence.  Cependant, le nombre de glyphes
disponibles ne couvre que les silences allant du quintuple soupir à la
maxime (équivalant huit pauses).


@node Invisible rests
@unnumberedsubsubsec Invisible rests

@cindex sauts de durée
@cindex silences invisibles
@cindex silences d'espacement

@funindex s
@funindex \skip
@funindex skip

Un silence invisible --- que l'on pourrait appeler un @qq{saut} ---
peut être entré comme une note avec le nom de note @code{s} ou avec
@address@hidden@var{durée}}

@lilypond[verbatim,quote,relative=2]
c4 c s c
s2 c
@end lilypond

@cindex paroles, blanc
@cindex paroles, saut de notes

La syntaxe @code{s} est seulement disponible pour les modes d'entrée
de notes et d'accords.  Dans les autres situations, pour l'entrée de
paroles par exemple, vous devrez utiliser la commande @code{\skip}, qui
recquiert une durée explicite.

@lilypond[quote,verbatim,relative=2]
<<
  {
    a2 \skip2 a2 a2
  }
  \new Lyrics {
    \lyricmode {
      foo2 \skip 1 bla2
    }
  }
>>
@end lilypond

La commande de saut génère simplement une case musicale vide.  Le code
de saut @code{s} crée tout de même les contextes @code{Staff} et 
@code{Voice} lorsque nécessaire, à l'intar des notes ou des silences : 
 
@lilypond[quote,verbatim,fragment]
s1 s s
@end lilypond

Un @code{\skip} ne fait que sauter du temps musical ; il ne produit rien
du tout, pas même un symbole transparent..

@lilypond[quote,verbatim,fragment]
% This is valid input, but does nothing
\skip 1 \skip1 \skip 1
@end lilypond


@seealso
Morceaux choisis :
@rlsr{Rhythms}.

Référence du programme : 
@rinternals{SkipMusic}.


@node Full measure rests
@unnumberedsubsubsec Full measure rests

@cindex mesures à compter
@cindex mesure entière de silence
@cindex silences multi-mesures
@cindex silences, mesure entière
@cindex une pause par mesure

@funindex R

Un silence valant une ou plusieurs mesures entières s'entre avec un
@samp{R} majuscule. 

@lilypond[quote,verbatim,relative=2]
% Rest measures contracted to single measure
\compressFullBarRests
R1*4
R1*24
R1*4
b2^"Tutti" b4 a4
@end lilypond

Ceci ne peut être utile que pour une mesure complètement vide.  Sa durée
doit donc correspondre à la longueur de la mesure telle que définie par
la métrique.  C'est la raison pour laquelle on utilisera aussi des
points d'augmentation ou des fractions :
 
@lilypond[quote,fragment,verbatim]
\compressFullBarRests
\time 2/4
R1 | R2 |
\time 3/4
R2. | R2.*2 |
\time 13/8
R1*13/8 | R1*13/8*12 |
\time 10/8
R4*5*4 |
@end lilypond

Un @code{R} qui s'étend sur une seule mesure s'imprime tantôt comme
une pause, tantôt comme une brève -- ou @qq{bâton de pause} -- et
sera centré sur la mesure quelle qu'en soit la métrique :

@lilypond[quote,verbatim,fragment]
\time 4/4
R1 |
\time 6/4
R1*3/2 |
\time 8/4
R1*2 |
@end lilypond

@cindex silence multi-mesures, expansion
@cindex silence multi-mesures, contraction

@funindex \expandFullBarRests
@funindex expandFullBarRests
@funindex \compressFullBarRests
@funindex compressFullBarRests

Par défaut, un silence multi-mesures sera répété sur autant de mesures
que nécessaire.  Il peut aussi n'être imprimé qu'une seule fois,
surplombé du nombre de mesures vides -- ou @qq{à compter} :

@lilypond[quote,fragment,verbatim]
% Default behavior
\time 3/4 r2. | R2.*2 |
\time 2/4 R2 |
\time 4/4
% Rest measures contracted to single measure
\compressFullBarRests
r1 | R1*17 | R1*4 |
% Rest measures expanded
\expandFullBarRests
\time 3/4
R2.*2 |
@end lilypond


@cindex texte indiquant le nombre de mesures vides
@cindex silence multi-mesures, ajout de texte
@cindex script et silence multi-mesures
@cindex silence multi-mesures, script
@cindex étiquette et silence multi-mesures
@cindex silence multi-mesures, étiquette
@cindex point d'orgue et silence multi-mesures
@cindex silence multi-mesures et point d'orgue

@funindex \fermataMarkup
@funindex fermataMarkup
@funindex MultiMeasureRestText
 
Vous pouvez aussi ajouter du texte à un silence multi-mesures en utilisant
la syntaxe @address@hidden (cf. @ref{Formatting text}).  La
variable @code{\fermataMarkup} quant à elle permet d'ajouter un point
d'orgue : 

@lilypond[quote,verbatim,fragment]
\compressFullBarRests
\time 3/4
R2.*10^\markup { \italic "ad lib." }
R2.^\fermataMarkup
@end lilypond

@warning{
C'est @code{MultiMeasureRestText} qui créera le texte, et
non @code{TextScript}.  Les commandes de dérogation ou redéfinition
doivent s'adresser à l'objet concerné, comme vous pouvez le constater
dans l'exemple suivant.}

@c KEEP LY
@lilypond[quote,verbatim,fragment]
% Ceci échouera : il y a erreur quant à l'objet spécifié
\override TextScript #'padding = #5
R1^"pas bon !"
% Formulation correcte, qui fonctionnera
\override MultiMeasureRestText #'padding = #5
R1^"ça marche !"
@end lilypond

Un silence multi-mesure placé directement après une commande
@code{\partial} risque fort de perturber le vérificateur de limites et
numéros de mesure. 


@funindex \textLengthOn
@funindex textLengthOn
@funindex \textLengthOff
@funindex textLenthOff
@funindex \fermataMarkup
@funindex fermataMarkup
@funindex \compressFullBarRests
@funindex compressFullBarRests
@funindex \expandFullBarRests
@funindex expandFullBarRests

@predefined
@code{\textLengthOn},
@code{\textLengthOff},
@code{\fermataMarkup},
@code{\compressFullBarRests},
@code{\expandFullBarRests}.
@endpredefined


@snippets

@cindex silence d'église
@cindex kirchenpausen

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{changing-form-of-multi-measure-rests.ly}

@cindex silence multi-mesures, positionnement
@cindex positionnement des silences multi-mesures

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{positioning-multi-measure-rests.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{multi-measure-rest-markup.ly}


@seealso
Glossaire musicologique :
@rglos{multi-measure rest}.

Manuel de notation :
@ref{Durations},
@ref{Text},
@ref{Formatting text},
@ref{Text scripts}.

Morceaux choisis :
@rlsr{Rhythms}.

Référence du programme : 
@rinternals{MultiMeasureRest}.
@rinternals{MultiMeasureRestNumber},
@rinternals{MultiMeasureRestText}.


@cindex doigtés et silences multi-mesures
@cindex silences multi-mesures et doigtés

@knownissues

Vous ne pouvez pas utiliser de doigtés (p.ex. @code{R1*10-4}) pour
positionner des nombres au dessus d'un silence multi-mesures, le numéro
de doigt (4) risquant de chevaucher le nombre de mesures à compter (10).

@cindex condenser les silences

Condenser plusieurs silences en un unique silence multi-mesures ne peut 
être automatisé.  

@cindex silences, collisions entre

Les silences multi-mesures peuvent générer des collisions avec d'autres
silences. 


@node Displaying rhythms
@subsection Displaying rhythms

@menu
* Time signature::              
* Upbeats::                     
* Unmetered music::             
* Polymetric notation::         
* Automatic note splitting::    
* Showing melody rhythms::      
@end menu

@node Time signature
@unnumberedsubsubsec Time signature

@cindex chiffrage de mesure
@cindex chiffre indicateur de mesure
@cindex métrique

@funindex \time
@funindex time

Le chiffre de mesure indique le mètre d'une pièce : une alternance
régulière de temps forts et de temps faibles.  Il est indiqué par une
fraction au début de la portée :

@lilypond[quote,verbatim,relative=2]
\time 2/4 c2
\time 3/4 c2.
@end lilypond

@cindex métrique, visibilité

La métrique est imprimée en début de morceau, et à chaque fois qu'elle
est modifiée.  Si cette modification intervient après un saut de ligne,
une métrique @qq{de précaution} sera imprimée juste avant.  Ce
comportement par défaut peut être modifié, comme indiqué au chapitre
@ref{Visibility of objects}. 

@lilypond[quote,verbatim,relative=2]
\time 2/4
c2 c
\break
c c
\break
\time 4/4
c c c c
@end lilypond

@cindex métrique, styles
@cindex styles de métrique

@funindex \numericTimeSignature
@funindex numericTimeSignature
@funindex \defaultTimeSignature
@funindex defaultTimeSignature

Le symbole de métrique utilisé pour les mesures à 2/2 et 4/4 peut être
changé pour un style numérique :

@lilypond[quote,verbatim,relative=2]
% Default style
\time 4/4 c1
\time 2/2 c1
% Change to numeric style
\numericTimeSignature
\time 4/4 c1
\time 2/2 c1
% Revert to default style
\defaultTimeSignature
\time 4/4 c1
\time 2/2 c1
@end lilypond


Les métriques anciennes sont abordées au chapitre 
@ref{Mensural time signatures}.


@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
@endpredefined


@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{changing-the-time-signature-without-affecting-the-beaming.ly}

@cindex métriques composites
@cindex métriques décomposées

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{compound-time-signatures.ly}


@seealso
Glossaire musicologique :
@rglos{time signature}

Manuel de notation :
@ref{Mensural time signatures},
@ref{Time administration}.

Morceaux choisis :
@rlsr{Rhythms}.

Références internes :
@rinternals{TimeSignature},
@rinternals{Timing_translator}.
 
 
@node Upbeats
@unnumberedsubsubsec Upbeats

@cindex anacrouse
@cindex levée
@cindex mesure incomplète
@cindex mesure, changement de longueur

@funindex measurePosition
@funindex \partial
@funindex partial

Les mesures incomplètes, telles que les anacrouses ou levées, doivent
être entrées avec la commande @code{\partial}.  La syntaxe de cette
commande est 

@example
\partial @var{durée}
@end example

où @code{durée} correspond à la valeur rythmique devant être ajoutée
avant la première mesure complète :

@lilypond[quote,verbatim,relative=2]
\partial 4 e4 |
a2. c,4 |
@end lilypond

Une mesure incomplète peut être de n'importe quelle longueur inférieure
à la mesure complète :

@lilypond[quote,verbatim,relative=2]
\partial 8*3 c8 d e |
a2. c,4 |
@end lilypond

Le programme traduit cette commande en

@example
\set Timing.measurePosition = address@hidden
@end example


La propriété @code{measurePosition} contient un nombre rationnel qui
indique, à ce point précis, où l'on en est de la mesure. Notez qu'il
peut s'agir d'un nombre négatif ; @code{\partial 4} signifie, pour le
programme : @qq{Dans cette mesure, il reste juste une noire}.

@seealso
Glossaire musicologique :
@rglos{anacrusis}.

Manuel de notation :
@ref{Grace notes}.

Morceaux choisis :
@rlsr{Rhythms}.

Références internes :
@rinternals{Timing_translator}.


@knownissues

@code{\partial} n'est destiné à être utilisé qu'en début de pièce.
Si on l'utilise ailleurs qu'au début, des messages d'erreurs peuvent
s'afficher.


@node Unmetered music
@unnumberedsubsubsec Unmetered music

@cindex barres de mesures, supression
@cindex numérotation des mesures, supression
@cindex cadence
@cindex musique non mesurée

@funindex \cadenzaOn
@funindex cadenzaOn
@funindex \cadenzaOff
@funindex cadenzaOff


Les barres de mesure et les numéros de mesure sont calculés
automatiquement, ce qui n'est pas souhaitable dans le cas d'une musique
non mesurée --- les cadences, par exemple. Les commandes
@code{\cadenzaOn} et @code{\cadenzaOff} permettent de désactiver et de
rétablir la métrique automatique.

@lilypond[verbatim,relative=2,fragment]
c4 d e d
\cadenzaOn
c4 c d8 d d f4 g4.
\cadenzaOff
\bar "|"
d4 e d c
@end lilypond

La numérotation reprend dès la fin d'une cadence, comme si elle n'avait
pas existé :

@lilypond[verbatim,relative=2,fragment]
% Show all bar numbers
\override Score.BarNumber #'break-visibility = #all-visible
c4 d e d
\cadenzaOn
c4 c d8 d d f4 g4.
\cadenzaOff
\bar "|"
d4 e d c
@end lilypond


@predefined
@code{\cadenzaOn},
@code{\cadenzaOff}.
@endpredefined


@seealso
Glossaire musicologique :
@rglos{cadenza}.

Manuel de notation :
@ref{Visibility of objects}.

Morceaux choisis :
@rlsr{Rhythms}.


@cindex cadence et saut de ligne
@cindex cadence et saut de page
@cindex musique non mesurée et saut de ligne
@cindex musique non mesurée et saut de page
@cindex sauts de ligne et cadences
@cindex sauts de page et cadences
@cindex sauts de ligne et musique non mesurée
@cindex sauts de page et musique non mesurée


@knownissues

LilyPond ne change de ligne ou de page qu'au niveau des barres de
mesure.  Si votre musique non mesurée s'étend sur plus d'une ligne, il
vous faudra insérer des barres de mesure invisibles, 

@example
\bar ""
@end example

@noindent
pour indiquer où des sauts de ligne peuvent prendre place.

@node Polymetric notation
@unnumberedsubsubsec Polymetric notation

@c This section necessarily uses \set
@c This is acceptable  -td

@cindex métrique double
@cindex métrique composite
@cindex composite, métrique
@cindex métrique polymétrique
@cindex polymétrie

@funindex timeSignatureFraction
@funindex \scaleDurations
@funindex scaleDurations
@funindex \times
@funindex times

LilyPond gère les métriques composites, aussi bien de manière explicite
que de manière détournée --- modification de l'indicateur de métrique 
et échelonnement de la durée des notes.

@address@hidden aux métriques différentes, mesures d'égale longueur}}

Il suffit pour obtenir cette forme de notation de tout d'abord affecter
une même métrique aux différentes portées. L'indicateur de métrique sera
ensuite remplacé dans chacune des portées par un quotient donné en
argument à la propriété @code{timeSignatureFraction}. La durée des
notes sera enfin proratisée selon la métrique commune (voir @ref{Time
signature}) grâce à la fonction @code{\scaleDurations}, qui s'utilise
tout comme la commande @code{\times} --- sans toutefois créer de crochet
de nolet (voir @ref{Scaling durations}).

@cindex ligature et musique polymétrique
@cindex polymétrie et ligature

L'exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et
10/8.  Pour la deuxième portée, les durées sont multipliées par 2/3,
de telle sorte que @w{2/3 * 9/8 = 3/4} ; pour la troisième, elles sont
multipliées par 3/5, de telle sorte que @w{3/5 * 10/8 = 3/4}.  Les
ligatures devront être explicites, la fonction d'échelonnement venant
perturber les règles de ligature automatique.

@lilypond[quote,verbatim,fragment]
\relative c' <<
  \new Staff {
    \time 3/4
    c4 c c |
    c c c |
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = #'(9 . 8)
    \scaleDurations #'(2 . 3)
    \repeat unfold 6 { c8[ c c] }
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = #'(10 . 8)
    \scaleDurations #'(3 . 5) {
      \repeat unfold 2 { c8[ c c] }
      \repeat unfold 2 { c8[ c] } |
      c4. c4. \times 2/3 { c8[ c c] } c4
    }
  }
>>
@end lilypond

@address@hidden aux métriques différentes, mesures de longueur inégale}}

Il arrive aussi que chaque portée ait sa propre métrique.  Vous y
parviendrez en déplaçant le @code{Timing_translator} et le
@code{Default_bar_line_engraver} dans le contexte @code{Staff}.

@lilypond[quote,verbatim]
\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
}

% Now each staff has its own time signature.

\relative c' <<
  \new Staff {
    \time 3/4
    c4 c c |
    c c c |
  }
  \new Staff {
    \time 2/4
    c4 c |
    c c |
    c c |
  }
  \new Staff {
    \time 3/8
    c4. |
    c8 c c |
    c4. |
    c8 c c |
  }
>>
@end lilypond

@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{compound-time-signatures.ly}


@seealso
Glossaire musicologique :
@rglos{polymetric},
@rglos{polymetric time signature},
@rglos{meter}.

Manuel de notation :
@ref{Time signature},
@ref{Scaling durations}.

Morceaux choisis :
@rlsr{Rhythms}.

Références internes :
@rinternals{TimeSignature},
@rinternals{Timing_translator},
@rinternals{Default_bar_line_engraver},
@rinternals{Staff}.


@knownissues

L'utilisation de métriques différentes en parallèle entraine un
alignement vertical.  De ce fait, les barres de mesure ont tendance à
fausser l'espacement régulier entre les portées.


@node Automatic note splitting
@unnumberedsubsubsec Automatic note splitting

@cindex notes, division
@cindex division de notes

@funindex Note_heads_engraver
@funindex Completion_heads_engraver

On peut convertir automatiquement les notes longues en notes liées.  Il
suffit pour cela de remplacer le graveur @code{Note_heads_engraver}
par le graveur @code{Completion_heads_engraver}.  Dans l'exemple
suivant, les notes qui dépassent de la mesure sont divisées et liées. 

@lilypond[quote,verbatim,relative=1]
\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
} 

{ c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 }
@end lilypond

Ce graveur divise toutes les notes qui sortent de la mesure, et insère
des liaisons de prolongation.  Dans la pratique, cette fonctionnalité
permet de déboguer des partitions complexes : si les mesures ne sont pas
entièrement remplies, alors les liaisons de prolongation montrent
exactement la durée des décalages de mesure.


@seealso
Glossaire musicologique : 
@rglos{tie}

Manuel d'apprentissage :
@rlearning{Engravers explained},
@rlearning{Adding and removing engravers}.

Morceaux choisis :
@rlsr{Rhythms}.

Références internes :
@rinternals{Note_heads_engraver},
@rinternals{Completion_heads_engraver},
@rinternals{Forbid_line_break_engraver}.


@knownissues

Bien que toutes les durées --- particulièrement celles contenant des
nolets --- ne puissent être exactement représentées avec des notes
normales et des points, le graveur @code{Completion_heads_engraver}
n'insèrera pas de nolet. 

@code{Completion_heads_engraver} affecte seulement les notes, il ne
divise pas les silences.


@node Showing melody rhythms
@unnumberedsubsubsec Showing melody rhythms

@cindex mélodie, affichage du rythme seul
@cindex rythmique d'une mélodie

Au moyen d'une portée rythmique -- @emph{rhythmic staff} en anglais -- on
peut montrer seulement le rythme d'une mélodie : toutes les notes sont
ramenées à la même hauteur, sur une portée d'une seule ligne.

@lilypond[quote,relative=1,verbatim]
<<
  \new RhythmicStaff {
    \new Voice = "myRhythm" {
      \time 4/4
      c4 e8 f g2
      r4 g g f
      g1
    }
  }
  \new Lyrics {
    \lyricsto "myRhythm" {
      This is my song
      I like to sing
    }
  }
>>
@end lilypond

@cindex guitar chord charts
@cindex strumming rhythms, showing
@cindex guitar strumming rhythms, showing

@funindex Pitch_squash_engraver
@funindex \improvisationOn
@funindex improvisationOn
@funindex \improvisationOff
@funindex improvisationOff

L'utilisation combinée du @code{Pitch_squash_engraver} et de
@code{\improvisationOn} permet d'afficher la structure rythmique d'une
grille d'accords :


@lilypond[quote,verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 f g c
    }
  }

  \new Voice \with {
    \consists Pitch_squash_engraver
  } \relative c'' {
    \improvisationOn
    c4 c8 c c4 c8 c
    f4 f8 f f4 f8 f
    g4 g8 g g4 g8 g
    c4 c8 c c4 c8 c
  }
>>
@end lilypond


@predefined
@code{\improvisationOn},
@code{\improvisationOff}.
@endpredefined


@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{guitar-strum-rhythms.ly}


@seealso
Snippets:
@rlsr{Rhythms}.

Référence du programme : 
@rinternals{RhythmicStaff}.
@rinternals{Pitch_squash_engraver}.


@node Beams
@subsection Beams

@menu
* Automatic beams::             
* Setting automatic beam behavior::  
* Manual beams::                
* Feathered beams::             
@end menu

@node Automatic beams
@unnumberedsubsubsec Automatic beams

LilyPond décide automatiquement de la manière de grouper les notes et
d'imprimer les ligatures.

@cindex ligatures manuelles
@cindex ligatures, définition de règles
@cindex ligatures, personnalisation

@funindex \autoBeamOn
@funindex autoBeamOn
@funindex \autoBeamOff
@funindex autoBeamOff

@lilypond[quote,verbatim,relative=2]
\time 2/4 c8 c c c 
\time 6/8 c c c c8. c16 c8
@end lilypond

Lorsque ce comportement automatisé n'est pas satisfaisant, on peut
définir des groupements manuellement --- voir @ref{Manual beams}.  Dans
le cas où le groupe de notes en question contient un silence, il est
@strong{impératif} d'indiquer explicitement les début et fin de la
ligature. 

Lorsque les ligatures automatiques ne sont pas nécessaires, il suffit de
désactiver la fonctionnalité par un @code{\autoBeamOff} --- réactivation
par @code{\autoBeamOn} :

@lilypond[quote,relative=1,verbatim]
c4 c8 c8. c16 c8. c16 c8
\autoBeamOff
c4 c8 c8. c16 c8.
\autoBeamOn
c16 c8
@end lilypond

@cindex mélisme et ligature
@cindex ligature et mélisme

@warning{Si des ligatures sont utilisées dans les paroles d'une chanson
(pour indiquer des mélismes), les ligatures automatiques doivent être 
désactivées, avec @code{\autoBeamOff}, et indiquées manuellement.} 

Des règles de dérogation au comportement automatique par défaut sont
possibles ; voir @ref{Setting automatic beam behavior}.


@predefined
@code{\autoBeamOff},
@code{\autoBeamOn}.
@endpredefined


@snippets

@cindex saut de ligne et ligature
@cindex ligature et saut de ligne

@funindex breakable

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{beams-across-line-breaks.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{changing-beam-knee-gap.ly}


@seealso
Manuel de notation :
@ref{Manual beams},
@ref{Setting automatic beam behavior}.

Fichiers installés :
@file{scm/@/auto@/-beam@/.scm}.

Morceaux choisis :
@rlsr{Rhythms}.

Références internes : 
@rinternals{Beam}.

@knownissues

Ligatures coudées à cheval sur deux portées et masquage de portée sont
incompatibles ; voir @ref{Hiding staves}.

Les ligatures peuvent générer des collisions avec des têtes de notes ou
altérations appartenant à d'autres voix.


@node Setting automatic beam behavior
@unnumberedsubsubsec Setting automatic beam behavior


@cindex ligatures automatiques, personnalisation
@cindex réglage des ligatures automatiques
@cindex ligatures automatiques, génération de
@cindex autobeam
@cindex paroles et ligatures

@funindex autoBeaming
@funindex autoBeamSettings
@funindex (end * * * *)
@funindex (begin * * * *)
@funindex measureLength
@funindex beatLength
@funindex beatGrouping
@funindex \time
@funindex time
@funindex \set
@funindex set

LilyPond dispose de deux types de règles en matière de ligature : des
règles concernant le @strong{regroupement}, et des règles concernant la
@strong{terminaison} des ligatures.  Les règles de regroupement sont des
plus simples mais peuvent être outrepassées par des règles de
terminaison.  

Les règles déterminant le positionnement des ligatures automatiques
s'appliquent dans l'ordre suivant de priorité :

@itemize

@item Une ligature explicite --- indiquée par @address@hidden --- sera
toujours respectée ; sinon 

@item si @code{\autoBeamOff} a été activé, il n'y aura pas de ligature ;
sinon

@item si une règle de terminaison peut s'appliquer, s'y référer pour 
déterminer à quel moment une ligature peut prendre fin ; sinon

@item si une règle valide de regroupement par ligature (voir ci-dessous)
peut s'appliquer, s'y référer ; sinon

@item utiliser la valeur de @code{beatLength} pour regrouper les notes
par des ligatures.

@end itemize

@address@hidden des ligatures selon la pulsation}}

Lorsque, pour une métrique donnée, aucune règle n'a été définie quant à
la fin ni la longueur d'une ligature particulière, cette ligature sera
contrôlée par trois propriétés : @code{measureLength}, @code{beatLength}
et @code{beatGrouping}.  Ces propriétés sont définies, selon la portée
de leur action, au niveau des contextes @code{Score}, @code{Staff} ou
@code{Voice}.  Leurs valeurs par défaut sont initialisées par la
commande @code{\time} ; par voie de conséquence, toute commande
@code{\set} destinée à en modifier les valeurs doit se placer après la
commande @code{\time}.

@warning{Ces trois propriétés s'appliqueront à une ligature donnée dans
@strong{deux cas seulement} : s'il n'existe aucune règle de fin pour la
longueur d'une ligature dans la métrique considérée, ou si toutes les
règles de fin ont été annulées.}

Ces propriétés déterminent la manière de ligaturer ainsi :

Une ligature peut débuter n'importe où, à moins qu'il n'y en ait déjà
une d'active.  Les ligatures se terminent à un moment déterminé par les
valeurs de @code{beatGrouping} et @code{beatLength}, selon le principe
suivant :

@itemize

@item Si @code{beatGrouping} et @code{beatLength} concordent avec
@code{measureLength}, @code{beatGrouping} est utilisé pour déterminer les
terminaisons des ligatures.

@item Si @code{beatGrouping} et @code{beatLength} ne sont pas en
concordance avec @code{measureLength}, @code{beatLength} est utilisé
pour déterminer les terminaisons des ligatures. 

@end itemize

@code{measureLength} et @code{beatLength} tirent leur valeur par défaut
à partir de la métrique telle que définie par la commande @code{\time}.
@code{measureLength} est définie comme étant la longueur d'une mesure
complète pour la métrique donnée. Enfin, @code{beatLength} prend la
valeur du dénominateur de la métrique. 

Les valeurs par défaut de @code{beatGrouping} sont répertoriées dans une
table contenue dans le fichier @file{scm/@/music@/-functions@/.scm} --
consultez @rlearning{Other sources of information} pour savoir où il se
situe.  Cette table définit les règles de groupement pour les mesures à
3/8, 4/8, 5/8, 8/8, ainsi que les mesures composées les plus courantes.

@code{measureLength} et @code{beatLength} constituent tous deux des
@strong{moments}, autrement dit des unités de durée musicale.  La
fonction Scheme @code{ly:make-moment} est tout particulièrement chargée
de créer cette quantité de type @i{moment} -- pour plus d'information,
consultez @ref{Time administration}.

@code{beatGrouping} représente une liste d'entiers correspondant au
 nombre de pulsations de chaque groupe.

@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{grouping-beats.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{specifying-context-with-beatgrouping.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{using-beatlength-and-beatgrouping.ly}

@funindex subdivideBeams

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{sub-dividing-beams.ly}

@cindex mesure et regroupements
@cindex pulsation et regroupements
@cindex groupement par pulsation
@cindex mesure, subdivision

@funindex autoBeamSettings

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{conducting-signs,-measure-grouping-signs.ly}


@address@hidden du bornage des ligatures}}


Dans les métriques courantes, les ligatures automatiques peuvent commencer
sur n'importe quelle note, mais ne peuvent se terminer qu'à certains
points précis dans la mesure : sur une pulsation, ou après toute durée
spécifiée par les propriétés nommées @code{autoBeamSettings}.  Ces
propriétés consistent en une liste de règles relatives au début ou à la
fin des ligatures.  Par défaut, elles sont définies dans le fichier
@file{scm/@/auto@/-beam@/.scm} -- pour le localiser, voir
@rlearning{Other sources of information}.

On peut ajouter à cette liste une nouvelle règle, au moyen de la commande

@example
#(override-auto-beam-setting
  '(extrémité
    ligature-numérateur ligature-dénominateur
    métrique-numérateur métrique-dénominateur)
  moment-numérateur moment-dénominateur  [contexte])
@end example

@noindent
où

@itemize

@item @code{extrémité} désigne le début (@emph{begin}) ou la fin
(@emph{end}) de la ligature. Notez que seul @code{end} ne sera effectif.

@item @code{ligature-numérateur/ligature-dénominateur} désigne la
valeur rythmique de la note que l'on veut affecter, ou de la plus brève
des notes concernées.  Si cette règle doit s'appliquer à toutes les
ligatures, remplacez @code{ligature-numérateur} et
@code{ligature-dénominateur} par des étoiles @address@hidden 


@item @code{métrique-numérateur/métrique-dénominateur} est le chiffre
de mesure dans lequel la règle doit s'appliquer.  Si celle-ci doit
s'appliquer dans toutes les métriques, remplacez
@code{métrique-numérateur} et @code{métrique-dénominateur} par des
étoiles @address@hidden 

@item @code{moment-numérateur/moment-dénominateur} est l'emplacement,
dans la mesure, auquel les ligatures doivent s'achever. 

@funindex score-override-auto-beam-setting
@funindex override-auto-beam-setting

@item @code{contexte} est un argument facultatif, qui détermine le
contexte dans lequel la règle doit s'appliquer.  Par défaut, il s'agit
de @code{'Voice}. 

@code{#(score-override-auto-beam-setting '(A B C D) E F)} équivaut à
@code{#(override-auto-beam-setting '(A B C D) E F 'Score)}. 

@end itemize

Par exemple, si l'on veut que les ligatures s'achèvent toujours après la
première noire, quelles que soient la métrique et la durée de
regroupement :

@lilypond[quote,verbatim,relative=2]
a8 a a a a a a a
#(override-auto-beam-setting '(end * * * *) 1 4)
a8 a a a a a a a
@end lilypond

On peut obliger une règle de ligature à ne s'appliquer qu'à des groupes
dont la note la plus brève est d'une valeur précise :

@lilypond[quote,verbatim,relative=2]
\time 2/4
% end 1/16 beams for all time signatures at the 1/16 moment
#(override-auto-beam-setting '(end 1 16 * *) 1 16)
a16 a a a a a a a |
a32 a a a a16 a a a a a |
% end 1/32 beams for all time signatures at the 1/16 moment
#(override-auto-beam-setting '(end 1 32 * *) 1 16)
a32 a a a a16 a a a a a |
@end lilypond

On peut obliger une règle de ligature à ne s'appliquer que pour une
métrique donnée :

@lilypond[quote,verbatim,relative=2]
\time 5/8
% end beams of all durations in 5/8 time signature at the 2/8 moment
#(override-auto-beam-setting '(end * * 5 8) 2 8)
c8 c d d d
\time 4/4
e8 e f f e e d d
\time 5/8
c8 c d d d
@end lilypond

Lorsque plusieurs voix cohabitent sur une même portée et que les règles
de ligature doivent s'appliquer sans distinction, il faut spécifier que
ces règles affectent le contexte @code{Staff} :

@lilypond[quote,verbatim,relative=2]
\time 7/8
% rhythm 3-1-1-2
% Context not specified - does not work correctly
#(override-auto-beam-setting '(end * * 7 8) 3 8)
#(override-auto-beam-setting '(end * * 7 8) 4 8)
#(override-auto-beam-setting '(end * * 7 8) 5 8)
<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

% Works correctly with context specified
#(override-auto-beam-setting '(end * * 7 8) 3 8 'Staff)
#(override-auto-beam-setting '(end * * 7 8) 4 8 'Staff)
#(override-auto-beam-setting '(end * * 7 8) 5 8 'Staff)
<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
@end lilypond

@warning{Si une ligature se fait de manière inattendue, pensez à vérifer
les règles automatiques dans le fichier @file{scm/@/auto@/-beam@/.scm}
pour rechercher d'éventuels conflits, dans la mesure ou les règles par
défaut s'ajoutent à vos propres règles.}

@funindex revert-auto-beam-setting

Toute règle par défaut ou personnalisée conduisant à des ligatures
indésirables doit être désactivée de la manière suivante :

@example
#(revert-auto-beam-setting
  '(extrémité
    ligature-numérateur ligature-dénominateur
    métrique-numérateur métrique-dénominateur)
  moment-numérateur moment-dénominateur  [contexte])
@end example

Enfin, on peut désactiver une règle de ligature au moyen du réglage
suivant : 

@example
#(revert-auto-beam-setting
  '(extrémité
    ligature-numérateur ligature-dénominateur
    métrique-numérateur métrique-dénominateur)
  moment-numérateur moment-dénominateur  [contexte])
@end example

@noindent
@code{extrémité}, @code{ligature-numérateur},
@code{ligature-dénominateur}, @code{métrique-numérateur},
@code{métrique-dénominateur}, @code{moment-numérateur},
@code{moment-dénominateur} et @code{contexte} étant les mêmes que plus
haut.  Il est même possible de désactiver des règles que l'on n'a pas
explicitement créées : les règles par défaut, qui se trouvent dans le
fichier @file{scm/@/auto@/-beam@/.scm}. 

@lilypond[quote,verbatim,relative=2]
\time 4/4
a16 a a a a a a a a a a a a a a a
% undo a rule ending 1/16 beams in 4/4 time at 1/4 moment
#(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
a16 a a a a a a a a a a a a a a a
@end lilypond

La commande @code{revert-auto-beam-setting} requiert exactement les
mêmes arguments que la règle d'origine.  En d'autres termes, les étoiles 
ne seront pas prises en compte ici. 

@lilypond[quote,verbatim,relative=2]
\time 1/4
#(override-auto-beam-setting '(end 1 16 1 4) 1 8)
a16 a a a
#(revert-auto-beam-setting '(end 1 16 * *) 1 8) % this won't revert it!
a a a a
#(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % this will
a a a a
@end lilypond

@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{beam-grouping-in-7-8-time.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{reverting-default-beam-endings.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{beam-endings-in-score-context.ly}

@funindex \autoBeamOff
@funindex autoBeamOff
@funindex \autoBeamOn
@funindex autoBeamOn

@predefined
@code{\autoBeamOff},
@code{\autoBeamOn}.
@endpredefined


@cindex ligature en fin de partition
@cindex ligature en fin de voix polyphonique

@knownissues

Si une partition se termine alors qu'une ligature automatique est restée
inachevée, cette dernière ligature ne sera pas imprimée du tout.  C'est
également valable dans le cas d'une musique polyphonique, saisie avec la
syntaxe @code{<< @dots{} \\ @dots{} >>}, où une voix se terminerait sans
que la dernière ligature soit achevée.


@node Manual beams
@unnumberedsubsubsec Manual beams

@cindex groupements de note manuels
@cindex ligatures manuelles

@funindex ]
@funindex [

Dans certaines situations, il peut s'avérer nécessaire de
supplanter l'algorithme de groupement automatique des notes, par
exemple pour prolonger une ligature par-dessus un silence ou une barre
de mesure.  Le début et la fin de la ligature sont alors indiqués par
@code{[} et @code{]}.

@lilypond[quote,relative=1,verbatim]
{
  r4 r8[ g' a r8] r8 g[ | a] r8
}
@end lilypond


@funindex \noBeam
@funindex noBeam

Le fait d'affubler une note particulière d'un @code{\noBeam} aura pour
effet de l'empêcher d'être ligaturée :

@lilypond[quote,verbatim,relative=2]
\time 2/4 c8 c\noBeam c c
@end lilypond

@commonprop

@funindex stemLeftBeamCount
@funindex stemRightBeamCount

LilyPond peut déterminer automatiquement les sous-groupes à
l'intérieur d'un groupement de notes, bien que le résultat ne soit pas 
toujours optimal.  Les propriétés @code{stemLeftBeamCount} et
@code{stemRightBeamCount} permettent alors d'ajuster ce comportement.
Lorsque l'une ou l'autre de ces propriétés est définie, elle ne
s'applique qu'une seule fois, après quoi sa définition est effacée.
Dans l'exemple qui suit, le dernier @code{fa} n'a de ligature
supplémentaire que sur sa gauche ; autrement dit, c'est la ligature à la
croche qui est importante. 

@lilypond[quote,relative=2,verbatim]
a8[ r16 f g a]
a8[ r16
\set stemLeftBeamCount = #2
\set stemRightBeamCount = #1
f
\set stemLeftBeamCount = #1
g a]
@end lilypond


@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{flat-flags-and-beam-nibs.ly}


@node Feathered beams
@unnumberedsubsubsec Feathered beams

@cindex soufflet, ligature
@cindex ligature en soufflet

@funindex \featherDurations
@funindex featherDurations
@funindex grow-direction

Les ligatures en soufflet permettent d'indiquer qu'un petit groupe de
notes se joue en accélérant ou en ralentissant sans pour autant
modifier le tempo du morceau.  L'étendue du soufflet s'indique par
@code{[} et @code{]}, et son orientation est déterminée par la proriété
@code{grow-direction} de l'objet @code{Beam}.

Lorsque la sortie MIDI doit refléter le @emph{ritardando} ou
l'@emph{accelerando} indiqués par une ligature en soufflet, les notes
qui la composent doivent être regroupées dans une expression musicale
délimitée par des accolades, précédée de la commande
@code{featherDurations}.  Cette commande détermine le ratio entre les
durées des première et dernière notes du groupe en question.

Les crochets indiquent l'étendue de la ligature, et les accolades les
notes concernées par une modification de leur durée.  Il s'agit en
général du même groupe de notes, mais les deux commandes sont
indépendantes l'une de l'autre.

Dans l'exemple ci-après, les huit double-croches occupent exactement le
même espace qu'une blanche, mais la première est moitié moins longue que
la dernière et celles qui les séparent s'allongent peu à peu.  Les
quatre triple-croches qui suivent vont s'accélérant, alors que les
quatre dernières gardent un tempo régulier.

@lilypond[relative=1,verbatim,quote]
\override Beam #'grow-direction = #LEFT
\featherDurations #(ly:make-moment 2 1)
{ c16[ c c c c c c c] }
\override Beam #'grow-direction = #RIGHT
\featherDurations #(ly:make-moment 2 3)
{ c32[ d e f] }
% revert to non-feathered beams
\override Beam #'grow-direction = #'()
{ g32[ a b c] }
@end lilypond

@noindent
Si le résultat imprimable ne reflète les durées que de manière
approximative, la sortie MIDI sera quant à elle parfaitement
@qq{ponctuelle}. 

@knownissues

La commande @code{\featherDurations} ne permet de traiter que de très
courts extraits, avec une faible amplitude.


@seealso
Morceaux choisis :
@rlsr{Rhythms}.


@node Bars
@subsection Bars


@menu
* Bar lines::                   
* Bar numbers::                 
* Bar and bar number checks::   
* Rehearsal marks::             
@end menu

@node Bar lines
@unnumberedsubsubsec Bar lines

@cindex barres de mesure
@cindex barre finale
@cindex double barre
@cindex barres de reprise

@funindex \bar
@funindex bar


Les barres de mesures délimitent les mesures, mais peuvent aussi
indiquer une reprise. En principe, elles sont insérées automatiquement
en respectant la métrique en vigueur.

Il est possible de forcer l'impression d'une barre de mesure spéciale,
avec la commande @code{\bar} -- c'est d'ailleurs l'habitude en fin de
morceau, où l'on voit une double barre :

@lilypond[quote,relative=1,verbatim]
e4 d c2 \bar "|."
@end lilypond

Rien ne s'oppose à ce que la dernière note d'une mesure ne s'arrête
avant la barre de mesure ; on considère simplement qu'elle se prolonge
sur la mesure suivante.  Des débordements à répétition finissent par
générer une musique comprimée ou qui sort de la page, pour la simple et
bonne raison que les sauts de ligne automatiques ne peuvent intervenir
qu'à la fin d'une mesure complète, autrement dit lorsque toutes les
notes sont terminées avant la fin de la mesure.

@warning{Une durée erronée peut empêcher les sauts de ligne, ce qui
conduit à une musique compressée, voire à un débordement de la page.}

@cindex sauts de ligne
@cindex barre de mesure invisible
@cindex invisible, barre de mesure

Il est possible d'autoriser un saut de ligne même s'il n'y a pas
de barre de mesure visible, en utilisant :

@example
\bar ""
@end example

@noindent
Ceci insérera une barre de mesure invisible, et permettra -- sans pour
autant le forcer -- de sauter de ligne à cet endroit, sans incrémenter
le numéro de mesure. Pour forcer le saut de ligne, référez-vous à
@ref{Line breaking}. 

@cindex manuelle, barre de mesure
@cindex barre de mesure manuelle

Cette barre invisible, ainsi que d'autres barres spéciales, peuvent être
insérées manuellement n'importe où.  Lorsqu'elles coïncident avec la fin
d'une mesure, elles remplacent la simple barre que LilyPond aurait
insérée automatiquement.  Dans le cas contraire, la barre spécifiée
s'insérera là où vous l'aurez positionnée.  Ces insertions n'affectent
en rien le calcul du positionnement automatique des barres de mesure à
suivre. 

Vous disposez de deux types de barres simples et de cinq différentes
double-barres :

@lilypond[quote,relative=1,verbatim]
f1 \bar "|" f \bar "." g \bar "||" a \bar ".|" b \bar ".|." c \bar "|.|" d \bar 
"|." e
@end lilypond

@noindent
ainsi que d'une barre en pointillé et d'une discontinue :

@lilypond[quote,relative=1,verbatim]
f1 \bar ":" g \bar "dashed" a
@end lilypond

@noindent
et de cinq types de barre de reprise :

@lilypond[quote,relative=1,verbatim]
f1 \bar "|:" g \bar ":|:" a \bar ":|.|:" b \bar ":|.:" c \bar ":|" d
@end lilypond

De plus, une barre de mesure peut s'imprimer sous la forme d'une coche :
@lilypond[quote,relative=1,verbatim]
f1 \bar "'"
@end lilypond
On rencontre habituellement ces signes dans le chant grégorien ; nous
vous invitons dans ce cadre particulier à plutôt utiliser
@code{\divisioMinima}, comme indiqué au paragraphe @ref{Divisiones} du
chapitre consacré au grégorien.


@cindex répétitions
@cindex reprises

Bien que vous pouvez insérer des barres de reprise manuellement,
LilyPond n'en déduira pas pour autant qu'il s'agit d'un passage à
répéter.  Il est préférable d'indiquer les passages répétés à l'aide des
différentes commandes de reprise (voir @ref{Repeats}) qui se chargeront
d'imprimer le type de barre approprié.

Dans les faits, un @code{"||:"} équivaut à un @code{"|:"} sauf s'il
intervient à un saut de ligne : une double-barre sera alors imprimée en
fin de portée, et la barre de reprise au début de la nouvelle.

@lilypond[quote,relative=2,verbatim]
\override Score.RehearsalMark #'padding = #3
c c c c
\bar "||:"
c c c c \break
\bar "||:"
c c c c
@end lilypond

Dans une partition comprenant plusieurs portées, la commande @code{\bar}
placée sur une portée s'applique automatiquement à toutes les
portées. Les barres de mesure que l'on obtient alors sont d'un seul
tenant sur les portées d'un @code{StaffGroup}, d'un @code{PianoStaff} ou
d'un @code{GrandStaff}.

@lilypond[quote,fragment,verbatim]
<<
  \new StaffGroup <<
    \new Staff {
      e'4 d'
      \bar "||"
      f' e'
    }
    \new Staff { \clef bass c4 g e g }
  >>
  \new Staff { \clef bass c2 c2 }
>>
@end lilypond


@cindex barre de mesure par défaut, modification du style
@cindex modification du style par défaut des barres de mesure 

@snippets

@funindex whichBar
@funindex defaultBarType
@funindex \bar
@funindex bar
@funindex bartype


La commande @code{\bar address@hidden sert de raccourci pour 
@code{\set Timing.whichBar = address@hidden  Dès que l'on définit
@code{whichBar}, une barre de mesure est créée selon le style défini.

Le type de barre de mesure par défaut utilisé pour l'insertion
automatique est @code{"|"}.  Vous pouvez en changer à tout moment grâce
à @address@hidden@address@hidden@var{type_de_barre}.


@seealso
Dans ce manuel : 
@ref{Line breaking}, 
@ref{Repeats}, 
@ref{Grouping staves}.

Morceaux choisis :
@rlsr{Rhythms}.

Référence du programme : 
@rinternals{BarLine} (faisant partie du contexte @rinternals{Staff}), 
@rinternals{SpanBar} (sur plusieurs portées),
@rinternals{Timing_translator} (pour les propriétés liées au temps).


@node Bar numbers
@unnumberedsubsubsec Bar numbers

@cindex Mesure, numéro de
@cindex numéros de mesure

@funindex currentBarNumber

Les numéros de mesure sont imprimés par défaut à chaque début de
ligne, sauf la première.  Ce nombre est stocké par la propriété
@code{currentBarNumber} qui sera mis à jour à chaque mesure. Vous pouvez
aussi le définir de manière arbitraire :

@lilypond[verbatim,quote,fragment,relative=1]
c1 c c c
\break
\set Score.currentBarNumber = #50
c1 c c c
@end lilypond

@cindex numéro de mesure à intervalle régulier

@funindex barNumberVisibility
@funindex BarNumber

Vous pouvez imprimer un numéro de mesure à intervalle régulier plutôt
qu'en tête de chaque ligne.  Pour y arriver, il faudra dans un premier
temps annuler le comportement par défaut afin que les numéros puissent
être imprimés ailleurs qu'en début de ligne.  Tout ceci est contrôlé par
la propriété @code{break-visibility} du @code{BarNumber}.  Elle se
compose de trois commutateurs --- définis à @qq{vrai} (@code{#t}) ou
@qq{faux} (@code{#f}) --- pour spécifier si le numéro de mesure est
visible ou non.  Les valeurs sont rangées dans l'ordre suivant :
@code{visible en fin de ligne}, @code{visible en cours de ligne},
@code{visible en début de ligne}.  Voici comment imprimer partout les
numéros de mesure :

@lilypond[verbatim,quote,relative=1]
\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
\set Score.currentBarNumber = #11
% Permit first bar number to be printed
\bar ""
c1 | c | c | c
\break
c1 | c | c | c
@end lilypond

@snippets

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-the-bar-number-for-the-first-measure.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-bar-numbers-at-regular-intervals.ly}

@cindex numéro de mesure, formatage
@cindex formatage du numéro de mesure

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-bar-numbers-inside-boxes-or-circles.ly}

@cindex alignement du numéro de mesure
@cindex numéro de mesure, alignement

@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{aligning-bar-numbers.ly}

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{removing-bar-numbers-from-a-score.ly}



@seealso
Morceaux choisis :
@rlsr{Rhythms}.

Référence du programme : 
@rinternals{BarNumber}.


@cindex numéro de mesure et collision
@cindex collision et numéro de mesure

@knownissues

Les numéros de mesure peuvent entrer en collision avec les crochets d'un
@rinternals{StaffGroup}.  La propriété @code{padding} --- décalage
--- de l'objet @rinternals{BarNumber} permet alors d'ajuster leur
positionnement. 


@node Bar and bar number checks
@unnumberedsubsubsec Bar and bar number checks

@cindex vérification des limites de mesure
@cindex mesures, vérification des limites

@funindex barCheckSynchronize
@funindex |

Les tests de limites de mesure (ou tests de mesure) aident à détecter
les erreurs dans les durées.  Un test de mesure s'écrit avec une barre
verticale, @code{|}.  Lors du traitement, elle doit correspondre à une
barre de mesure.  Sinon, un avertissement est émis.  Dans l'exemple
suivant, le deuxième test de mesure signale une erreur.

@example
\time 3/4 c2 e4 | g2 |
@end example

Le test de mesure peut être aussi utilisé dans les paroles, par exemple :

@example
\lyricmode @{
 \time 2/4
 Twin -- kle | Twin -- kle
@}
@end example

Des durées incorrectes font échouer les tests de mesure, et peuvent
souvent mettre la partition sens dessus dessous, particulièrement s'il
s'agit de musique polyphonique.  Vérifier les tests de mesure qui ont
échoué et les durées incorrectes est un bon moyen de commencer à
corriger sa partition.

Lorsque plusieurs tests successifs présentent un même décalage, seul le
message d'avertissement concernant la première occurence est affiché.


@funindex |
@funindex pipeSymbol

Il est aussi possible d'attribuer une autre valeur au symbole
@code{|}, en assignant une expression musicale à @code{pipeSymbol}.
Dans l'exemple suivant, le @code{|} servira à insérer une double barre
là où il apparaît, au lieu de simplement vérifier que la fin de la
mesure est atteinte.

@lilypond[quote,verbatim]
pipeSymbol = \bar "||"
{
  c'2 c'2 |
  c'2 c'2
  c'2 | c'2
  c'2 c'2
}
@end lilypond

@funindex \barNumberCheck
@funindex barNumberCheck

Lorsque l'on recopie de longues pièces, il peut être utile de vérifier
que les numéros de mesures de LilyPond correspondent à l'original que
l'on recopie.  Cela se fait avec @code{\barNumberCheck}.  Par exemple,

@verbatim
\barNumberCheck #123
@end verbatim

@noindent
affiche un avertissement lors du traitement si le numéro de mesure à ce
point (variable @code{currentBarNumber}) n'est pas 123.


@seealso
Morceaux choisis :
@rlsr{Rhythms}.


@node Rehearsal marks
@unnumberedsubsubsec Rehearsal marks

@cindex Repères, indication de

@funindex \mark
@funindex mark

Indiquer un repère s'obtient grâce à la commande @code{\mark}.

@lilypond[quote,verbatim,relative=2]
c1 \mark \default
c1 \mark \default
c1 \mark #8
c1 \mark \default
c1 \mark \default
@end lilypond

@noindent
La address@hidden@strong{I} n'est pas utilisée, conformément aux usages de la
gravure.  Cependant, vous pourrez intégrer la lettre @strong{I} en utilisant

@example
\set Score.markFormatter = #format-mark-alphabet
@end example

Lorsque vous utilisez @code{\mark \default}, le repère s'incrémente
automatiquement ; toutefois donner un nombre en argument permet de
spécifier manuellement le repère en question.  La valeur à utiliser
est enregistrée dans la propriété @code{rehearsalMark}.

@cindex repère, format
@cindex repère, style
@cindex style de repère
@cindex format de repère
@cindex repère manuel
@cindex spécification d'un repère
@cindex repère, personnalisation

Le style de repère est déterminé par la propriété
@code{markFormatter}.  Il s'agit d'une fonction qui prend en arguments
le repère en cours (un entier) ainsi que le contexte en cours, et
retournera un objet de type étiquette.  Dans l'exemple qui suit,
@code{markFormatter} est réglé pour une procédure type. Quelques
mesure plus loin, son comportement est modifié pour imprimer un
repère encadré.

@lilypond[quote,verbatim,relative=2]
\set Score.markFormatter = #format-mark-numbers
c1 \mark \default
c1 \mark \default
\set Score.markFormatter = #format-mark-box-numbers
c1 \mark \default
\set Score.markFormatter = #format-mark-circle-numbers
c1 \mark \default
\set Score.markFormatter = #format-mark-circle-letters
c1
@end lilypond

Le fichier @file{scm/@/translation@/-functions@/.scm} comporte les
définitions de @code{format-mark-numbers} (comportement par défaut), 
@code{format-mark-box-numbers},
@code{format-mark-letters} et @code{format-mark-box-letters}.  Vous
pouvez vous en inspirer pour d'autres fonctions de formatage.

@code{format-mark-barnumbers}, @code{format-mark-box-barnumbers} et 
@code{format-mark-circle-barnumbers}  permettent d'imprimer le numéro
de mesure au lieu des compteurs alphabétique ou numérique.

On peut aussi spécifier manuellement une marque de repère :

@example
\mark "A1"
@end example

@noindent
@code{Score.markFormatter} sera sans effet sur des repères ainsi
définis.  Un @code{\markup} peut néanmoins s'utiliser en argument.

@example
\mark address@hidden \box A1 @}
@end example

@cindex segno
@cindex coda
@cindex D.S al Fine
@cindex point d'orgue
@cindex glyphes musicales

@funindex \musicglyph
@funindex musicglyph

Un @code{\mark} peut contenir un glype musical tel que le signe
@emph{segno}.  

@lilypond[fragment,quote,ragged-right,verbatim,relative]
c1 \mark \markup { \musicglyph #"scripts.segno" }
c1 \mark \markup { \musicglyph #"scripts.coda" }
c1 \mark \markup { \musicglyph #"scripts.ufermata" }
c1
@end lilypond

@noindent
Pour connaître les différents symboles accessibles par
@code{\musicglyph}, consultez @ref{The Feta font}.

Pour affiner le positionnement des repères, veuillez vous référer à
@ref{Formatting text}.


@seealso
Dans ce manuel : 
@ref{The Feta font},
@ref{Formatting text}.

Fichiers d'initialisation : 
@file{scm/@/translation@/-functions@/.scm} contient les définitions de
@code{format-mark-numbers} et @code{format-mark-letters}.  Elles seront
source d'inspiration pour d'autres fonctions de formatage.

Morceaux choisis : 
@rlsr{Rhythms}.

Référence du programme : 
@rinternals{RehearsalMark}.


@node Special rhythmic concerns
@subsection Special rhythmic concerns


@menu
* Grace notes::                 
* Aligning to cadenzas::        
* Time administration::         
@end menu

@node Grace notes
@unnumberedsubsubsec Grace notes

@cindex ornements
@cindex notes d'ornement
@cindex appoggiature
@cindex acciaccature
@cindex petite note

@funindex \grace
@funindex grace

Les petites notes sont des ornements entièrement écrits.  Leur taille
est un peu plus petite que celle des notes normales et elles n'occupent
pas de temps dans la mesure.

@lilypond[quote,relative=2,verbatim]
c4 \grace c16 c4
\grace { c16[ d16] } c2
@end lilypond

Les plus courantes sont les acciaccatures, qui doivent se jouer très vite,
et qui s'écrivent sous forme d'une petite note barrée (sur la hampe)
et liée.  L'appoggiature est une petite note non barrée, qui vole
une fraction à la durée de la note réelle qui la suit.

@lilypond[quote,relative=2,verbatim]
\grace c8 b4
\acciaccatura d8 c4
\appoggiatura e8 d4
\acciaccatura { g16[ f] } e4
@end lilypond

Les petites notes se placent de façon synchrone entre les différentes
portées.  Dans l'exemple suivant, il y a deux petites double-croches
pour chaque petite croche.

@lilypond[quote,relative=2,verbatim]
<< \new Staff { e2 \grace { c16[ d e f] } e2 }
   \new Staff { c2 \grace { g8[ b] } c2 } >>
@end lilypond

@cindex grace notes, following

@funindex \afterGrace
@funindex afterGrace

La commande @code{\afterGrace} sert à placer une petite note après une
note réelle --- et non @emph{avant} comme d'ordinaire.  Cette commande
requiert deux arguments : la note réelle, et la ou les petites notes qui
suivent.

@lilypond[quote,verbatim,relative=2]
c1 \afterGrace d1 { c16[ d] } c1
@end lilypond

Les petites notes se placent alors aux 3/4 de la durée de la note
réelle.  Cette fraction peut être changée en définissant
@code{afterGraceFraction}.  Dans l'exemple suivant, vous pouvez observer
la différence entre le comportement par défaut, à 15/16 et
enfin à la moitié de la durée de base.

@lilypond[quote,verbatim,relative=2]
<<
  \new Staff {
    c1 \afterGrace d1 { c16[ d] } c1
  }
  \new Staff {
    #(define afterGraceFraction (cons 15 16))
    c1 \afterGrace d1 { c16[ d] } c1
  }
  \new Staff {
    #(define afterGraceFraction (cons 1 2))
    c1 \afterGrace d1 { c16[ d] } c1
  }
>>
@end lilypond

Des silences invisibles permettent d'ajuster l'espace entre les petites
notes et la note réelle.  Nous pourrions positionner ces petites notes à
7/8 de la durée de la note de base :

@lilypond[quote,verbatim,relative=2]
\new Voice {
  << { d1^\trill_( }
     { s2 s4. \grace { c16[ d] } } >>
  c1)
}
@end lilypond

@cindex retouche des notes d'ornement
@cindex notes d'ornement et retouches
@cindex notes d'ornement, mise en forme

Les expressions @code{\grace} obéissent à des règles typographiques
particulières, notamment pour régler l'orientation et la taille des
objets.  De ce fait, toute subtilité de mise en forme devra être
indiquée @emph{à l'intérieur} de l'expression introduite par
@code{\grace} ; ces réglages ajoutés doivent également être désactivés
dans cette même expression.

@lilypond[quote,verbatim,relative=2]
\new Voice {
  \acciaccatura {
    \stemDown
    f16->
    \stemNeutral
  }
  g4 e c2
}
@end lilypond


@cindex hampe barrée

@snippets

@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{using-grace-note-slashes-with-normal-heads.ly}

@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{tweaking-grace-layout-within-music.ly}

@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{redefining-grace-note-global-defaults.ly}

@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{positioning-grace-notes-with-floating-space.ly}


@seealso
Glossaire musicologique :
@rglos{grace notes},
@rglos{acciaccatura},
@rglos{appoggiatura}.

Fichiers source : 
@file{ly/@/grace@/-init@/.ly}.

Morceaux choisis : 
@rlsr{Rhythms}.

Référence du programme : 
@rinternals{GraceMusic}.


@knownissues

@cindex acciaccature, multi-note
@cindex note d'ornement, synchronisation
@cindex synchronisation des notes d'ornement

Un groupe de notes ligaturées consituant une @i{acciaccatura} apparaîtra
comme une @i{appoggiatura}, c'est à dire sans trait.

@c TODO Add link to LSR snippet to add slash when available

La synchronisation des petites notes se fait de façon parfois
surprenante, car les autres objets de la portée --- barres de mesure,
armures, etc. --- sont eux aussi synchrones. Pensez-y lorsque vous
mélez des portées comprenant des petites notes et d'autres sans :

@lilypond[quote,relative=2,verbatim]
<<
  \new Staff { e4 \bar "|:" \grace c16 d2. }
  \new Staff { c4 \bar "|:" d2. }
>>
@end lilypond

@noindent
Il est possible de remédier à cela en insérant sur les autres portées
des silences invisibles dans une expression précédée de @code{\grace},
correspondant à la durée des petites notes.

@lilypond[quote,relative=2,verbatim]
<<
  \new Staff { e4 \bar "|:" \grace c16 d2. }
  \new Staff { c4 \bar "|:" \grace s16 d2. }
>>
@end lilypond
 
Seules des expressions musicales séquentielles peuvent être utilisées
pour des petites notes ; il n'est pas possible d'imbriquer ni de
juxtaposer des sections de petites notes, faute de quoi le traitement du
code peut échouer ou produire des erreurs.


@node Aligning to cadenzas
@unnumberedsubsubsec Aligning to cadenzas

@cindex cadenza
@cindex cadence
@cindex cadence et alignement
@cindex alignement et cadence

Dans un contexte orchestral, une cadence constitue un problème
spécifique.  Lors du montage d'une partition contenant une cadence,
tous les autres instruments doivent sauter autant de notes que ce
qu'en comporte la cadence, faute de quoi il démarreraient trop tôt ou
trop tard. 

Les fonctions @code{mmrest-of-length} ou @code{skip-of-length}
permettent de résoudre ce problème.  Ces fonctions Scheme prennent en
argument un fragment de musique, et génèrent un @code{\skip} ou un
silence multi-mesures d'une durée correspondant à ce fragment.

@lilypond[verbatim,quote]
MyCadenza = \relative c' {
  c4 d8 e f g g4
  f2 g4 g
}

\new GrandStaff <<
  \new Staff {
    \MyCadenza c'1
    \MyCadenza c'1
  }
  \new Staff {
    #(ly:export (mmrest-of-length MyCadenza))
    c'1
    #(ly:export (skip-of-length MyCadenza))
    c'1
  }
>>
@end lilypond


@seealso
Glossaire musicologique :
@rglos{cadenza}.

Morceaux choisis :
@rlsr{Rhythms}.


@node Time administration
@unnumberedsubsubsec Time administration

@cindex temps, gestion du
@cindex musique non mesurée
@cindex non mesurée, musique

@funindex currentBarNumber
@funindex measurePosition
@funindex measureLength


Le temps est administré par le @code{Timing_translator}, qui réside en
principe dans le contexte @code{Score}.  Un alias, @code{Timing}, sera
ajouté au contexte auquel le @code{Timing_translator} est rattaché.

@code{Timing} dispose des propriétés suivantes afin de garder trace du
minutage de la partition.

@cindex numéro de mesure
@cindex mesure, numéro de

@table @code
@item currentBarNumber
Le numéro de la mesure en cours. Un exemple d'utilisation se trouve au
chapitre @ref{Bar numbers}.

@item measureLength
La longueur de la mesure, dans la métrique en cours.  Pour une mesure
à 4/4, elle est address@hidden, et de 3/4 pour une mesure à 6/8.  Sa valeur
détermine où peut s'insérer une barre et comment seront générées les
ligatures automatiques.

@item measurePosition
Le moment où l'on en est dans la mesure en cours.  Cette quantité est
remise address@hidden dès lors qu'on dépasse @code{measureLength} ; la 
variable
@code{currentBarNumber} est alors incrémentée.  

@item timing
Lorsqu'on lui assigne la valeur @emph{vrai}, les valeurs ci-dessus
mentionnées sont mises à jour à chaque pas.  Fixée à @emph{faux}, le
graveur restera indéfiniment dans la mesure en cours.

@end table

Le calage peut être modifié en réglant explicitement l'une de ces
variables.  Dans l'exemple qui suit, nous réglons la métrique à 4/4,
tout en fixant @code{measureLength} à 5/4.  Arrivé à 4/8 dans la
troisième mesure, nous avançons de 1/8, en assignant 5/8 à
@code{measurePosition}, racourcissant donc cette mesure d'une croche.
La barre de mesure suivante tombera donc à 9/8 et non à 5/8.

@lilypond[quote,verbatim,relative=1]
\set Score.measureLength = #(ly:make-moment 5 4)
c1 c4
c1 c4
c4 c4
\set Score.measurePosition = #(ly:make-moment 5 8)
b4 b4 b8
c4 c1
@end lilypond

@noindent
Comme le montre cet exemple, @code{ly:make-moment n m} construit une
durée de n/m fois une ronde.  
Par conséquent, @code{ly:make-moment 1 8} correspond à une croche, et
@code{ly:make-moment 7 16} à la durée de sept doubles croches.


@seealso
Dans ce manuel : 
@ref{Bar numbers}, 
@ref{Unmetered music}

Morceaux choisis :
@rlsr{Rhythms}.

Références internes : 
@rinternals{Timing_translator},
@rinternals{Score}


reply via email to

[Prev in Thread] Current Thread [Next in Thread]