1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @c This file is part of lilypond.tely
4 Translation of GIT committish: 0bf1e119501727ab8217767d8ce6c29dedf4fed1
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 @qq{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
35 @qq{Notes and lyrics}, 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 @qq{Notes only} :
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 à
159 \new Voice = "voixUn" @{
163 \new Lyrics \lyricsto "voixUn" \parolesSoprano
165 \new Staff \musiqueVioloncelle
173 C'est un peu le bazar dans tout ça ; mais il vous sera facile de
174 mettre un peu d'ordre dans l'indentation. Voici le modèle pour
175 soprano et violoncelle au complet :
177 @lilypond[quote,verbatim,ragged-right]
179 musiqueSoprano = \relative c' {
187 parolesSoprano = \lyricmode {
191 musiqueVioloncelle = \relative c {
202 \new Voice = "voixUn" {
206 \new Lyrics \lyricsto "voixUn" \parolesSoprano
208 \new Staff \musiqueVioloncelle
217 @node How LilyPond files work
218 @section How LilyPond files work
220 La mise en forme des fichiers d'entrée de LilyPond est vraiment
221 peu astreignante, afin d'offrir assez de souplesse aux utilisateurs
222 expérimentés pour qu'ils puissent organiser leurs fichiers comme
223 ils l'entendent. Cependant, les nouveaux utilisateurs peuvent parfois
224 se perdre en raison de cette souplesse. Cette section présente
225 sommairement l'organisation du code LilyPond, en privilégiant
226 la simplicité au détriment de certains détails. Vous trouverez une
227 description plus complète dans @ref{File structure}.
229 La plupart des exemples de ce manuel sont de courts fragments, par exemple :
235 Comme vous le savez maintenant (du moins nous l'espèrons), ceci ne
236 peut pas être traité en tant que tel. Il s'agit de formes abrégées des
237 exemples complets ; pour pouvoir être traitées, elles doivent au moins
238 être encadrées par des accolades :
246 La plupart des exemples font aussi intervenir la commande
247 @code{\relative}, suivie de @code{c'} ou @code{c''}. Elle
248 n'est pas à proprement parler nécessaire pour le traitement
249 des exemples, mais dans la plupart des cas le résultat sera
250 vraiment déplorable si vous l'oubliez.
252 @lilypond[quote,fragment,ragged-right,verbatim]
258 C'est ici que nous entamons les choses sérieuses :
259 le code LilyPond, sous cette forme, est en réalité
260 un @emph{autre} raccourci. Même s'il est traité sans
261 problème, et aboutit au bon résultat, c'est une forme
272 Un bloc @code{\score} doit commencer par une et une seule
273 expression musicale. Rappelez-vous que cette expression
274 peut être ce que vous voulez, entre une note toute seule et
280 collez ici la partition complète de votre opéra Wagnérien préféré
286 Dès lors que tout cela est entre accolades : @code{@{ ... @}}, c'est
287 une et une seule expression musicale.
289 Le bloc @code{\score} peut contenir d'autres éléments, tels que :
301 Certains préfèrent mettre ces commandes en dehors du bloc
302 @code{\score} -- par exemple, on met souvent le @code{\header}
303 au-dessus. C'est juste là une autre forme abrégée que LilyPond
309 Une autre abréviation pratique est la possibilité de définir
310 des variables -- également appelées "identificateurs". Dans tous
311 les modèles, vous trouverez :
314 melodie = \relative c' @{
323 Lorsque LilyPond examinera ce fichier, il va prendre la
324 valeur de la variable @{melodie}, c'est-à-dire tout ce qui suit
325 le signe @code{=}, et l'insérer partout où il tombera sur
326 @code{\melodie}. Vous êtes libre de choisir comment dénommer
327 vos variables@footnote{Les noms de variables sont sensibles aux capitales
328 et minuscules, et ne peuvent contenir ni chiffres, ni tirets,
329 ni caractères accentués.} ; ce peut être @code{melodie}, @code{global},
330 @code{maindroitepiano}, ou @code{laTeteAToto}. Pour plus de détails,
331 voir @ref{Saving typing with identifiers and functions}.
333 Pour une description complète du format des fichiers d'entrée, voir
334 @ref{File structure}.
337 @node Score is a single musical expression
338 @section Score is a single musical expression
340 Dans la section précédente, @ref{How LilyPond files work}, nous
341 avons vu l'organisation générale des fichiers d'entrée de LilyPond.
342 Mais c'est comme si nous avions éludé la question essentielle : comment
343 diable peut-on savoir quoi mettre après @code{\score} ?
345 En fait, nous ne l'avons pas éludée du tout : le grand mystère est
346 tout simplement qu'il n'y a @emph{pas} de mystère. Allez,
347 expliquons-le en une ligne :
350 @emph{Un bloc @code{\score} doit commencer par une et une seule
351 expression musicale.}
355 Peut-être serait-il judicieux de relire la section
356 @ref{Music expressions explained}, dans laquelle vous avez
357 appris à construire de grandes expressions musicales petit bout
358 par petit bout -- nous avons vu les notes, puis les accords, etc.
359 Maintenant, nous allons partir d'une grande expression musicale,
360 et redescendre la pente.
364 @{ % cette accolade marque le début de l'expression musicale
366 insérez ici votre opéra Wagnérien préféré
368 @} % cette accolade marque la fin de l'expression musicale
373 Un opéra de Wagner multiplierait aisément la longueur de ce manuel
374 par deux ou trois, alors faisons ça en version chant/piano. On n'a
375 plus besoin d'une partition d'orchestre -- @code{GrandStaff} -- donc
376 laissons cela de côté. Par contre, un chanteur et un piano
377 @emph{pourraient} nous être utiles.
383 \new Staff = "chanteur" <<
385 \new PianoStaff = piano <<
393 Vous vous souvenez que nous avons recours à @code{<<} et @code{>>}
394 pour mettre en place des musiques simultanées. Et, pour le
395 coup, on aimerait @emph{vraiment} que la partie vocale et l'accompagnement
396 soient imprimés ensemble...
402 \new Staff = "chanteur" <<
403 \new Voice = "chant" @{ @}
405 \new Lyrics \lyricsto chant \new Lyrics @{ @}
406 \new PianoStaff = "piano" <<
407 \new Staff = "mainDroite" @{ @}
408 \new Staff = "mainGauche" @{ @}
416 On y voit nettement plus clair maintenant. Nous voici
417 donc avec la partie du chanteur, qui contient un ensemble
418 @code{Voice}, ce qui dans LilyPond correspond à une voix, au
419 sens de vois musicale, pas forcément chantée donc (ce pourrait être
420 une partie de violon par exemple).
422 Nous avons également une partie de piano, qui contient deux portées :
423 une pour la main droite, une autre pour la main gauche.
426 À ce point, on pourrait commencer à ajouter les notes. Dans
427 les accolades qui suivent @code{\new Voice = chant}, on pourrait
436 Mais si l'on procédait ainsi, la section @code{\score} deviendrait
437 vite plutôt touffue, et il serait très tôt difficile de s'y retrouver.
438 C'est pourquoi on utilisera plutôt des variables, ou identificateurs :
448 \new Staff = "chanteur" <<
449 \new Voice = "chant" @{ \melodie @}
451 \new Lyrics \lyricsto chant \new Lyrics @{ \texte @}
452 \new PianoStaff = "piano" <<
453 \new Staff = "mainDroite" @{ \mainDroite @}
454 \new Staff = "mainGauche" @{ \mainGauche @}
463 Souvenez-vous que vous pouvez désigner vos variables du
464 nom que vous voulez, à condition de respecter les caractères
465 autorisés. Ces limitations sont décrites dans
466 @ref{File structure}.
468 Quand on écrit, ou que l'on lit, une section @code{\score},
469 mieux vaut y aller lentement et soigneusement. Commencez
470 par le niveau le plus large, puis travaillez sur chaque
471 niveau plus détaillé. Cela aide vraiment, à ce propos,
472 d'avoir une indentation stricte et propre : assurez-vous que
473 chaque élément d'un même niveau a le même décalage horizontal
474 dans votre éditeur de texte !
478 @node An orchestral part
479 @section An orchestral part
481 Dans la musique d'orchestre, toutes les notes sont imprimées deux fois.
482 D'abord dans les parties séparées destinées aux musiciens, et ensuite
483 dans le conducteur destiné au chef. Les variables sont là pour vous éviter
484 un double travail. La musique n'est entrée qu'une seule fois, et stockée dans
485 une variable, dont le contenu servira à imprimer à la fois la partie
486 séparée et la partition d'orchestre.
488 Il est judicieux de définir les notes dans un fichier séparé. Par
489 exemple, supposons que le fichier @file{musique-Cor.ly} contienne la
490 partie suivante pour un duo cor/@/basson.
493 notesCor = \relative c @{
500 On établira alors une partie séparée en constituant un nouveau fichier :
503 \include "musique-Cor.ly"
505 instrument = "Cor en Fa"
509 \transpose f c' \notesCor
516 \include "musique-Cor.ly"
520 sera substitué le contenu du fichier @file{musique-Cor.ly}, et de ce
521 fait la variable @code{notesCor} se trouvera définie. La commande
522 @code{\transpose f@tie{}c'} indique que son argument @code{\notesCor}
523 soit transposé à la quinte supérieure : le son réel @samp{f} s'écrit
524 @code{c'}, ce qui est la caractéristique d'un Cor en Fa. La transposition
525 est visible comme suit :
527 @lilypond[quote,ragged-right]
528 \transpose f c' \relative c {
534 Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
535 pendant plusieurs mesures. Un silence spécial, appelé multi-mesures,
536 l'indique alors. On l'obtient par un @samp{R} majuscule, suivi d'une
537 durée : (@code{1}@tie{} est une pause, @code{2}@tie{} une demi-pause,
538 etc. Cette durée peut être multipliée pour établir de plus longs silences.
539 Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
545 Dans une partie séparée, les silences multi-mesures sont compressés.
546 Il faut pour cela définir comme vraie la propriété @code{skipBars} :
549 \set Score.skipBars = ##t
553 Cette commande définie comme vraie ("true", lettre "t") la propriété dans
554 le contexte @code{Score}. Si l'on ajoute dans la musique ci-dessus
555 le silence multi-mesures et cette option, on obtient le résultat suivant :
557 @lilypond[quote,ragged-right]
558 \transpose f c' \relative c {
560 \set Score.skipBars = ##t
566 Le conducteur rassemble toute la musique. Si l'on suppose que l'autre
567 voix de notre duo se trouve dans le fichier @file{musique-Basson.ly} en
568 tant que variable @code{notesBasson}, on établira un conducteur avec :
571 \include "musique-Basson.ly"
572 \include "musique-Cor.ly"
576 \new Staff \notesBasson
583 @lilypond[quote,ragged-right]
591 r4 d,8 f | gis4 c | b bes |
592 a8 e f4 | g d | gis f
597 Des informations plus détaillées sur la mise en place de conducteurs et
598 de parties séparées se trouvent dans le manuel : voir @ref{Orchestral music}.
600 Les propriétés réglables (@q{properties}) sont abordées en détail dans
601 @ref{Changing context properties on the fly}.