1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
2 @c This file is part of lilypond.tely
4 Translation of GIT committish: 964d024dd4f022ba7cd66adc13c0169035d4c4e5
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
15 @q{score} signifie partition en anglais.}.
19 * Extending the templates::
20 * How LilyPond files work::
21 * Score is a single musical expression::
22 * An orchestral part::
26 @node Extending the templates
27 @section Extending the templates
29 Bon, vous avez lu le tutoriel, vous savez écrire de la musique. Mais
30 comment obtenir les portées que vous voulez ? Les modèles, c'est bien
31 beau, mais que faire quand ils ne traitent pas ce que l'on veut précisément ?
33 Commencez par le modèle qui vous semblera le plus proche de ce à quoi
34 vous voulez aboutir. Disons par exemple que vous voulez écrire une pièce
35 pour soprano et violoncelle : dans ce cas l'on pourrait commencer par les
36 @qq{notes et paroles}, pour la partie de soprano.
40 melodie = \relative c' @{
54 \new Voice = "voixUn" @{
58 \new Lyrics \lyricsto "voixUn" \texte
65 Maintenant, on veut ajouter une partie de violoncelle.
66 Jetons un coup d'oeil sur l'exemple avec les notes seules :
70 melodie = \relative c' @{
86 On n'a pas besoin de deux commandes @code{\version}. Ce dont on a besoin,
87 c'est la section @code{melodie}. De même, on n'a pas besoin de deux sections
88 @code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
89 parties séparées ; mais nous voulons un vrai duo, avec les deux
90 parties ensemble. Dans la section @code{\score}, on n'a pas besoin
91 non plus de deux @code{\layout} ni de deux @code{\midi}.
93 Si on se contente de couper et coller les sections @code{melodie}, on se
94 retrouvera avec deux sections de ce nom ; il nous faut donc les renommer.
95 Appelons la section pour la soprano @code{musiqueSoprano} et celle pour le
96 violoncelle @code{musiqueVioloncelle}. Tant qu'on y est, renommons
97 @code{texte} en @code{parolesSoprano}. Attention à bien renommer les
98 deux occurrences de chacune de ces dénominations : c'est-à-dire la
99 définition de départ, où l'on trouve @code{mélodie = relative c' @{ },
100 et l'endroit où cette dénomination est utilisée, dans la section
103 Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de Fa, comme
104 le veut l'usage, et donnons-lui d'autres notes.
108 musiqueSoprano = \relative c' @{
116 parolesSoprano = \lyricmode @{
120 musiqueVioloncelle = \relative c @{
130 \new Voice = "voixUn" @{
134 \new Lyrics \lyricsto "voixUn" \parolesSoprano
141 Voilà qui est mieux, mais la partie de violoncelle n'apparaît pas sur
142 la partition --- en effet, nous n'y avons pas fait appel dans la section
143 @code{\score}. Si l'on veut que la partie de violoncelle s'imprime sous
144 la partie de soprano, on va devoir ajouter :
147 \new Staff \musiqueVioloncelle
151 en dessous de tout ce qui concerne la soprano. Il nous faut également
152 encadrer la musique par des @code{<<} et @code{>>}, qui feront comprendre
153 à LilyPond que plusieurs évènements --- ici, des objets @code{Staff} ---
154 se déroulent en même temps. Le bloc @code{\score} ressemble maintenant à
160 \new Voice = "voixUn" @{
164 \new Lyrics \lyricsto "voixUn" \parolesSoprano
166 \new Staff \musiqueVioloncelle
174 C'est un peu le bazar dans tout ça ; mais il vous sera facile de
175 mettre un peu d'ordre dans l'indentation. Voici le modèle pour
176 soprano et violoncelle au complet :
178 @lilypond[quote,verbatim,ragged-right]
180 sopranoMusic = \relative c' {
188 sopranoLyrics = \lyricmode {
192 celloMusic = \relative c {
207 \new Lyrics \lyricsto "one" \sopranoLyrics
209 \new Staff \celloMusic
218 @node How LilyPond files work
219 @section How LilyPond files work
221 La mise en forme des fichiers d'entrée de LilyPond est vraiment
222 peu astreignante, afin d'offrir assez de souplesse aux utilisateurs
223 expérimentés pour qu'ils puissent organiser leurs fichiers comme
224 ils l'entendent. Cependant, les nouveaux utilisateurs peuvent parfois
225 se perdre en raison de cette souplesse. Cette section présente
226 sommairement l'organisation du code LilyPond, en privilégiant
227 la simplicité au détriment de certains détails. Vous trouverez une
228 description plus complète dans @ref{File structure}.
230 La plupart des exemples de ce manuel sont de courts fragments, par exemple
236 Comme vous le savez maintenant (du moins nous l'espèrons), ceci ne
237 peut pas être traité en tant que tel. Il s'agit de formes abrégées des
238 exemples complets ; pour pouvoir être traitées, ces formeulations
239 doivent au moins être encadrées par des accolades :
247 La plupart des exemples font aussi intervenir la commande
248 @code{\relative}, suivie de @code{c'} ou @code{c''}. Elle n'est pas à
249 proprement parler nécessaire pour le traitement des exemples, mais
250 dans la plupart des cas le résultat sera vraiment déplorable si vous
253 @lilypond[quote,fragment,ragged-right,verbatim]
259 C'est ici que nous passons aux choses sérieuses : le code LilyPond,
260 sous cette forme, est en réalité un @emph{autre} raccourci. Même s'il
261 est traité sans problème, et aboutit au bon résultat, c'est une forme
272 Un bloc @code{\score} doit commencer par une et une seule expression
273 musicale. Rappelez-vous que cette expression peut être ce que vous
274 voulez, d'une note toute seule à un gigantesque
279 collez ici la partition complète de votre opéra de Wagner préféré
285 Dès lors que tout cela est entre accolades : @code{@{ ... @}}, c'est
286 une et une seule expression musicale.
288 Le bloc @code{\score} peut contenir d'autres éléments, tels que
300 Certains préfèrent mettre ces commandes en dehors du bloc
301 @code{\score} --- par exemple, on met souvent le @code{\header}
302 au-dessus. C'est juste là une autre forme abrégée que LilyPond
306 @cindex identificateurs
308 Un autre raccourci pratique est la possibilité de définir
309 des variables --- également appelées @qq{identificateurs}. Dans tous
310 les modèles, vous trouverez :
313 melodie = \relative c' @{
322 Lorsque LilyPond examinera ce fichier, il va prendre la valeur de la
323 variable @code{melodie}, c'est-à-dire tout ce qui suit le signe @code{=},
324 et l'insérer partout où il rencontrera @code{\melodie}. Vous êtes
325 libre de choisir comment dénommer vos variables@footnote{Les noms de
326 variables sont sensibles à la casse, et ne peuvent contenir ni
327 chiffre, ni tiret, ni caractère accentué.} ; ce peut être
328 @code{melodie}, @code{global}, @code{maindroitepiano}, ou
329 @code{laTeteAToto}. Pour plus de détails, voir @ref{Saving typing
330 with identifiers and functions}.
332 Pour une description complète du format des fichiers d'entrée, voir
333 @ref{File structure}.
336 @node Score is a single musical expression
337 @section Score is a single musical expression
339 Dans la section précédente, @ref{How LilyPond files work}, nous
340 avons vu l'organisation générale des fichiers d'entrée de LilyPond.
341 Mais c'est comme si nous avions éludé la question essentielle : comment
342 diable peut-on savoir quoi mettre après @code{\score} ?
344 En fait, nous ne l'avons pas éludée du tout : le grand mystère est
345 tout simplement qu'il n'y a @emph{pas} de mystère. Allez,
346 expliquons-le en une ligne :
349 @emph{Un bloc @code{\score} doit commencer par une et une seule
350 expression musicale.}
354 Peut-être serait-il judicieux de relire la section
355 @ref{Music expressions explained}, dans laquelle vous avez
356 appris à construire de grandes expressions musicales petit bout
357 par petit bout --- nous avons vu les notes, puis les accords, etc.
358 Maintenant, nous allons partir d'une grande expression musicale,
359 et remonter la pente.
363 @{ % cette accolade marque le début de l'expression musicale
365 insérez ici votre opéra de Wagner préféré
367 @} % cette accolade marque la fin de l'expression musicale
372 Un opéra de Wagner multiplierait facilement la longueur de ce manuel
373 par deux ou trois, alors faisons-le en version chant/piano. On n'a
374 plus besoin d'une partition d'orchestre --- @code{GrandStaff} --- donc
375 laissons cela de côté. Par contre, un chanteur et un piano
376 @emph{pourraient} nous être utiles.
382 \new Staff = "chanteur" <<
384 \new PianoStaff = piano <<
392 Vous vous souvenez que nous avons recours à @code{<<} et @code{>>}
393 pour mettre en place des musiques simultanées. Et, pour le
394 coup, on aimerait @emph{vraiment} que la partie vocale et l'accompagnement
395 soient imprimés ensemble...
401 \new Staff = "chanteur" <<
402 \new Voice = "chant" @{ @}
404 \new Lyrics \lyricsto chant \new Lyrics @{ @}
405 \new PianoStaff = "piano" <<
406 \new Staff = "mainDroite" @{ @}
407 \new Staff = "mainGauche" @{ @}
415 On y voit nettement plus clair maintenant. Nous voici donc avec la
416 partie du chanteur, qui contient un ensemble @code{Voice}, ce qui dans
417 LilyPond correspond à une voix, au sens de voix d'une polyphonie plutôt que
418 de voix chantée --- ce pourrait être une partie de violon par
421 Nous avons également une partie de piano, qui contient deux portées :
422 une pour la main droite, une autre pour la main gauche.
425 À ce point, on pourrait commencer à ajouter les notes. Dans les
426 accolades qui suivent @code{\new Voice = chant}, on pourrait commencer
435 Mais si l'on procédait ainsi, la section @code{\score} deviendrait
436 vite assez touffue, et très rapidement on ne s'y retrouverait plus.
437 C'est pourquoi on utilisera plutôt des variables, ou identificateurs :
447 \new Staff = "chanteur" <<
448 \new Voice = "chant" @{ \melodie @}
450 \new Lyrics \lyricsto chant \new Lyrics @{ \texte @}
451 \new PianoStaff = "piano" <<
452 \new Staff = "mainDroite" @{ \mainDroite @}
453 \new Staff = "mainGauche" @{ \mainGauche @}
462 Souvenez-vous que vous pouvez donner aux variables le nom que vous
463 voulez, à condition de respecter les caractères autorisés. Ces
464 limitations sont décrites dans @ref{File structure}.
466 Quand on écrit, ou que l'on lit, une section @code{\score}, mieux vaut
467 y aller lentement et soigneusement. Commencez par le niveau le plus
468 large, puis travaillez sur chaque niveau plus détaillé. À ce propos,
469 une indentation stricte et propre est vraiment d'une aide précieuse :
470 assurez-vous que chaque élément d'un même niveau a le même décalage
471 horizontal dans votre éditeur de texte !
475 @node An orchestral part
476 @section An orchestral part
478 Dans la musique d'orchestre, toutes les notes sont imprimées deux fois.
479 D'abord dans les parties séparées destinées aux musiciens, et ensuite
480 dans le conducteur destiné au chef. Les variables sont là pour vous éviter
481 un double travail. La musique n'est entrée qu'une seule fois, et stockée dans
482 une variable, dont le contenu servira à imprimer à la fois la partie
483 séparée et la partition d'orchestre.
485 Il est judicieux de définir les notes dans un fichier séparé. Par
486 exemple, supposons que le fichier @file{musique-Cor.ly} contienne la
487 partie suivante pour un duo cor/@/basson.
490 notesCor = \relative c @{
497 On établira alors une partie séparée en constituant un nouveau fichier :
500 \include "musique-Cor.ly"
502 instrument = "Cor en Fa"
506 \transpose f c' \notesCor
513 \include "musique-Cor.ly"
517 sera substitué le contenu du fichier @file{musique-Cor.ly}, et de ce
518 fait la variable @code{notesCor} se trouvera définie. La commande
519 @code{\transpose f@tie{}c'} indique que son argument @code{\notesCor}
520 sera transposé à la quinte supérieure : le son réel @samp{f} s'écrit
521 @code{c'}, ce qui est la caractéristique d'un Cor en Fa. La transposition
522 est visible comme suit :
524 @lilypond[quote,ragged-right]
525 \transpose f c' \relative c {
531 Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
532 pendant plusieurs mesures. Un silence spécial, appelé silence multi-mesures,
533 l'indique alors. On l'obtient par un @samp{R} majuscule, suivi d'une
534 durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une demi-pause,
535 etc. Cette durée peut être multipliée pour établir de plus longs silences.
536 Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
542 Dans une partie séparée, les silences multi-mesures sont compressés.
543 Il faut pour cela définir la propriété @code{skipBars} à @q{vrai} :
546 \set Score.skipBars = ##t
550 Cette commande assigne la valeur @q{vrai} --- @q{true} en anglais, et
551 @samp{#t} dans le langage Scheme --- à cette propriété dans le
552 contexte @code{Score}. Si l'on ajoute dans la musique ci-dessus le
553 silence multi-mesures et cette option, on obtient le résultat suivant :
555 @lilypond[quote,ragged-right]
556 \transpose f c' \relative c {
558 \set Score.skipBars = ##t
564 Le conducteur rassemble toute la musique. Si l'on suppose que l'autre
565 voix de notre duo se trouve dans le fichier @file{musique-Basson.ly} en
566 tant que variable @code{notesBasson}, on établira un conducteur avec
569 \include "musique-Basson.ly"
570 \include "musique-Cor.ly"
574 \new Staff \notesBasson
581 @lilypond[quote,ragged-right]
589 r4 d,8 f | gis4 c | b bes |
590 a8 e f4 | g d | gis f
595 Des informations plus détaillées sur la mise en place de conducteurs
596 et de parties séparées se trouvent dans le manuel : voir
597 @ref{Orchestral music}.
599 Les variables (@q{propriétés}) réglables sont abordées en détail dans
600 @ref{Changing context properties on the fly}.