1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
2 @c This file is part of lilypond.tely
4 Translation of GIT committish: b40f25ec7472b855483b5eb9126747bfb9487fe1
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
10 @node Putting it all together
11 @chapter Putting it all together
13 Ce chapitre traite des principes généraux de LilyPond, et de
14 la manière de créer des blocs @code{\score} @footnote{Le terme @q{score} signifie partition en anglais.}.
18 * Extending the templates::
19 * How LilyPond files work::
20 * Score is a single musical expression::
21 * An orchestral part::
25 @node Extending the templates
26 @section Extending the templates
28 Bon, vous avez lu le tutoriel, vous savez écrire de la musique. Mais
29 comment obtenir les portées que vous voulez ? Les modèles, c'est bien
30 beau, mais que faire quand ils ne traitent pas ce que l'on veut précisément ?
32 Commencez par le modèle qui vous semblera le plus proche de ce à quoi
33 vous voulez aboutir. Disons par exemple que vous voulez écrire une pièce
34 pour soprano et violoncelle : dans ce cas l'on pourrait commencer par les
35 @qq{notes et paroles}, pour la partie de soprano.
39 melodie = \relative c' @{
53 \new Voice = "voixUn" @{
57 \new Lyrics \lyricsto "voixUn" \texte
64 Maintenant, on veut ajouter une partie de violoncelle.
65 Jetons un coup d'oeil sur l'exemple avec les notes seules :
69 melodie = \relative c' @{
85 On n'a pas besoin de deux commandes @code{\version}. Ce dont on a besoin,
86 c'est la section @code{melodie}. De même, on n'a pas besoin de deux sections
87 @code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
88 parties séparées ; mais nous voulons un vrai duo, avec les deux parties ensemble.
89 Dans la section @code{\score}, on n'a pas besoin non plus de deux @code{\layout}
90 ou de deux @code{\midi}.
92 Si on se contente de couper et coller les sections @code{melodie}, on se
93 retrouvera avec deux sections de ce nom ; il nous faut donc les renommer.
94 Appelons la section pour la soprano @code{musiqueSoprano} et celle pour le
95 violoncelle @code{musiqueVioloncelle}. Tant qu'on y est, renommons @code{texte}
96 en @code{parolesSoprano}. Attention à bien renommer les deux occurrences de
97 chacune de ces dénominations : c'est-à-dire la définition de départ, où l'on
98 trouve @code{mélodie = relative c' @{ }, et l'endroit où cette dénomination est
99 utilisée, dans la section @code{\score}.
101 Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de Fa, comme
102 le veut l'usage, et donnons-lui d'autres notes.
106 musiqueSoprano = \relative c' @{
114 parolesSoprano = \lyricmode @{
118 musiqueVioloncelle = \relative c @{
128 \new Voice = "voixUn" @{
132 \new Lyrics \lyricsto "voixUn" \parolesSoprano
139 Voilà qui est mieux, mais la partie de violoncelle n'apparaît pas sur
140 la partition --- en effet, nous ne l'avons pas utilisée dans la section
141 @code{\score}. Si l'on veut que la partie de violoncelle s'imprime sous
142 la partie de soprano, on va devoir ajouter :
145 \new Staff \musiqueVioloncelle
149 en dessous de tout ce qui concerne la soprano. Il nous faut également
150 encadrer la musique par des @code{<<} et @code{>>}, qui feront comprendre
151 à LilyPond que plusieurs évènements --- ici, des objets @code{Staff} ---
152 se déroulent en même temps. Le bloc @code{\score} ressemble maintenant à
158 \new Voice = "voixUn" @{
162 \new Lyrics \lyricsto "voixUn" \parolesSoprano
164 \new Staff \musiqueVioloncelle
172 C'est un peu le bazar dans tout ça ; mais il vous sera facile de
173 mettre un peu d'ordre dans l'indentation. Voici le modèle pour
174 soprano et violoncelle au complet :
176 @lilypond[quote,verbatim,ragged-right]
178 sopranoMusic = \relative c' {
186 sopranoLyrics = \lyricmode {
190 celloMusic = \relative c {
205 \new Lyrics \lyricsto "one" \sopranoLyrics
207 \new Staff \celloMusic
216 @node How LilyPond files work
217 @section How LilyPond files work
219 La mise en forme des fichiers d'entrée de LilyPond est vraiment
220 peu astreignante, afin d'offrir assez de souplesse aux utilisateurs
221 expérimentés pour qu'ils puissent organiser leurs fichiers comme
222 ils l'entendent. Cependant, les nouveaux utilisateurs peuvent parfois
223 se perdre en raison de cette souplesse. Cette section présente
224 sommairement l'organisation du code LilyPond, en privilégiant
225 la simplicité au détriment de certains détails. Vous trouverez une
226 description plus complète dans @ref{File structure}.
228 La plupart des exemples de ce manuel sont de courts fragments, par exemple
234 Comme vous le savez maintenant (du moins nous l'espèrons), ceci ne
235 peut pas être traité en tant que tel. Il s'agit de formes abrégées des
236 exemples complets ; pour pouvoir être traitées, elles doivent au moins
237 être encadrées par des accolades :
245 La plupart des exemples font aussi intervenir la commande
246 @code{\relative}, suivie de @code{c'} ou @code{c''}. Elle n'est pas à
247 proprement parler nécessaire pour le traitement des exemples, mais
248 dans la plupart des cas le résultat sera vraiment déplorable si vous
251 @lilypond[quote,fragment,ragged-right,verbatim]
257 C'est ici que nous entamons les choses sérieuses : le code LilyPond,
258 sous cette forme, est en réalité un @emph{autre} raccourci. Même s'il
259 est traité sans problème, et aboutit au bon résultat, c'est une forme
270 Un bloc @code{\score} doit commencer par une et une seule expression
271 musicale. Rappelez-vous que cette expression peut être ce que vous
272 voulez, d'une note toute seule à un gigantesque
277 collez ici la partition complète de votre opéra de Wagner préféré
283 Dès lors que tout cela est entre accolades : @code{@{ ... @}}, c'est
284 une et une seule expression musicale.
286 Le bloc @code{\score} peut contenir d'autres éléments, tels que
298 Certains préfèrent mettre ces commandes en dehors du bloc
299 @code{\score} --- par exemple, on met souvent le @code{\header}
300 au-dessus. C'est juste là une autre forme abrégée que LilyPond
306 Une autre abréviation pratique est la possibilité de définir
307 des variables --- également appelées @qq{identificateurs}. Dans tous
308 les modèles, vous trouverez :
311 melodie = \relative c' @{
320 Lorsque LilyPond examinera ce fichier, il va prendre la valeur de la
321 variable @{melodie}, c'est-à-dire tout ce qui suit le signe @code{=},
322 et l'insérer partout où il tombera sur @code{\melodie}. Vous êtes
323 libre de choisir comment dénommer vos variables@footnote{Les noms de
324 variables sont sensibles à la casse, et ne peuvent contenir ni
325 chiffres, ni tirets, ni caractères accentués.} ; ce peut être
326 @code{melodie}, @code{global}, @code{maindroitepiano}, ou
327 @code{laTeteAToto}. Pour plus de détails, voir @ref{Saving typing
328 with identifiers and functions}.
330 Pour une description complète du format des fichiers d'entrée, voir
331 @ref{File structure}.
334 @node Score is a single musical expression
335 @section Score is a single musical expression
337 Dans la section précédente, @ref{How LilyPond files work}, nous
338 avons vu l'organisation générale des fichiers d'entrée de LilyPond.
339 Mais c'est comme si nous avions éludé la question essentielle : comment
340 diable peut-on savoir quoi mettre après @code{\score} ?
342 En fait, nous ne l'avons pas éludée du tout : le grand mystère est
343 tout simplement qu'il n'y a @emph{pas} de mystère. Allez,
344 expliquons-le en une ligne :
347 @emph{Un bloc @code{\score} doit commencer par une et une seule
348 expression musicale.}
352 Peut-être serait-il judicieux de relire la section
353 @ref{Music expressions explained}, dans laquelle vous avez
354 appris à construire de grandes expressions musicales petit bout
355 par petit bout --- nous avons vu les notes, puis les accords, etc.
356 Maintenant, nous allons partir d'une grande expression musicale,
357 et redescendre la pente.
361 @{ % cette accolade marque le début de l'expression musicale
363 insérez ici votre opéra de Wagner préféré
365 @} % cette accolade marque la fin de l'expression musicale
370 Un opéra de Wagner multiplierait facilement la longueur de ce manuel
371 par deux ou trois, alors faisons-le en version chant/piano. On n'a
372 plus besoin d'une partition d'orchestre --- @code{GrandStaff} --- donc
373 laissons cela de côté. Par contre, un chanteur et un piano
374 @emph{pourraient} nous être utiles.
380 \new Staff = "chanteur" <<
382 \new PianoStaff = piano <<
390 Vous vous souvenez que nous avons recours à @code{<<} et @code{>>}
391 pour mettre en place des musiques simultanées. Et, pour le
392 coup, on aimerait @emph{vraiment} que la partie vocale et l'accompagnement
393 soient imprimés ensemble...
399 \new Staff = "chanteur" <<
400 \new Voice = "chant" @{ @}
402 \new Lyrics \lyricsto chant \new Lyrics @{ @}
403 \new PianoStaff = "piano" <<
404 \new Staff = "mainDroite" @{ @}
405 \new Staff = "mainGauche" @{ @}
413 On y voit nettement plus clair maintenant. Nous voici donc avec la
414 partie du chanteur, qui contient un ensemble @code{Voice}, ce qui dans
415 LilyPond correspond à une voix, au sens de voix d'une polyphonie plutôt que
416 de voix chantée --- ce pourrait être une partie de violon par
419 Nous avons également une partie de piano, qui contient deux portées :
420 une pour la main droite, une autre pour la main gauche.
423 À ce point, on pourrait commencer à ajouter les notes. Dans les
424 accolades qui suivent @code{\new Voice = chant}, on pourrait commencer
433 Mais si l'on procédait ainsi, la section @code{\score} deviendrait
434 vite assez touffue, et très rapidement on ne s'y retrouverait plus.
435 C'est pourquoi on utilisera plutôt des variables, ou identificateurs :
445 \new Staff = "chanteur" <<
446 \new Voice = "chant" @{ \melodie @}
448 \new Lyrics \lyricsto chant \new Lyrics @{ \texte @}
449 \new PianoStaff = "piano" <<
450 \new Staff = "mainDroite" @{ \mainDroite @}
451 \new Staff = "mainGauche" @{ \mainGauche @}
460 Souvenez-vous que vous pouvez donner aux variables le nom que vous
461 voulez, à condition de respecter les caractères autorisés. Ces
462 limitations sont décrites dans @ref{File structure}.
464 Quand on écrit, ou que l'on lit, une section @code{\score}, mieux vaut
465 y aller lentement et soigneusement. Commencez par le niveau le plus
466 large, puis travaillez sur chaque niveau plus détaillé. À ce propos,
467 une indentation stricte et propre est vraiment d'une aide précieuse :
468 assurez-vous que chaque élément d'un même niveau a le même décalage
469 horizontal dans votre éditeur de texte !
473 @node An orchestral part
474 @section An orchestral part
476 Dans la musique d'orchestre, toutes les notes sont imprimées deux fois.
477 D'abord dans les parties séparées destinées aux musiciens, et ensuite
478 dans le conducteur destiné au chef. Les variables sont là pour vous éviter
479 un double travail. La musique n'est entrée qu'une seule fois, et stockée dans
480 une variable, dont le contenu servira à imprimer à la fois la partie
481 séparée et la partition d'orchestre.
483 Il est judicieux de définir les notes dans un fichier séparé. Par
484 exemple, supposons que le fichier @file{musique-Cor.ly} contienne la
485 partie suivante pour un duo cor/@/basson.
488 notesCor = \relative c @{
495 On établira alors une partie séparée en constituant un nouveau fichier :
498 \include "musique-Cor.ly"
500 instrument = "Cor en Fa"
504 \transpose f c' \notesCor
511 \include "musique-Cor.ly"
515 sera substitué le contenu du fichier @file{musique-Cor.ly}, et de ce
516 fait la variable @code{notesCor} se trouvera définie. La commande
517 @code{\transpose f@tie{}c'} indique que son argument @code{\notesCor}
518 soit transposé à la quinte supérieure : le son réel @samp{f} s'écrit
519 @code{c'}, ce qui est la caractéristique d'un Cor en Fa. La transposition
520 est visible comme suit :
522 @lilypond[quote,ragged-right]
523 \transpose f c' \relative c {
529 Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
530 pendant plusieurs mesures. Un silence spécial, appelé silence multi-mesures,
531 l'indique alors. On l'obtient par un @samp{R} majuscule, suivi d'une
532 durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une demi-pause,
533 etc. Cette durée peut être multipliée pour établir de plus longs silences.
534 Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
540 Dans une partie séparée, les silences multi-mesures sont compressés.
541 Il faut pour cela définir la propriété @code{skipBars} à @q{vrai} :
544 \set Score.skipBars = ##t
548 Cette commande donne la valeur @q{vrai} --- @q{true} en anglais,
549 @samp{#t} dans le langage Scheme --- à cette propriété dans le
550 contexte @code{Score}. Si l'on ajoute dans la musique ci-dessus le
551 silence multi-mesures et cette option, on obtient le résultat suivant :
553 @lilypond[quote,ragged-right]
554 \transpose f c' \relative c {
556 \set Score.skipBars = ##t
562 Le conducteur rassemble toute la musique. Si l'on suppose que l'autre
563 voix de notre duo se trouve dans le fichier @file{musique-Basson.ly} en
564 tant que variable @code{notesBasson}, on établira un conducteur avec
567 \include "musique-Basson.ly"
568 \include "musique-Cor.ly"
572 \new Staff \notesBasson
579 @lilypond[quote,ragged-right]
587 r4 d,8 f | gis4 c | b bes |
588 a8 e f4 | g d | gis f
593 Des informations plus détaillées sur la mise en place de conducteurs
594 et de parties séparées se trouvent dans le manuel : voir
595 @ref{Orchestral music}.
597 Les variables (@q{propriétés}) réglables sont abordées en détail dans
598 @ref{Changing context properties on the fly}.