]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/user/introduction.itely
Doc-fr: Learning Manual full update
[lilypond.git] / Documentation / fr / user / introduction.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
2 @c This file is part of lilypond-learning.tely
3 @ignore
4     Translation of GIT committish: 7eee2a7382029cc29cc069f93a431758ae8a13b7
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.12.0"
11
12 @c Translators: Ludovic Sardain, John Mandereau
13 @c Translation checkers: Jean-Charles Malahieude, Jean-Yves Baudais, Damien Heurtebise
14 @c Translation status: post-GDP
15
16
17 @node Introduction
18 @chapter Introduction
19
20 Ce chapitre constitue une première présentation de LilyPond et de sa 
21 documentation.
22
23 @menu
24 * Background::                  
25 * About the documentation::     
26 @end menu
27
28
29 @node Background
30 @section Background
31
32 Cette partie présente les objectifs de LilyPond ainsi que son 
33 architecture.
34
35 @menu
36 * Engraving::                   
37 * Automated engraving::         
38 * What symbols to engrave?::    
39 * Music representation::        
40 * Example applications::        
41 @end menu
42
43
44 @node Engraving
45 @unnumberedsubsec Engraving
46
47
48 @cindex gravure
49 @cindex typographie musicale
50 @cindex musique et typographie
51
52 L'art de la typographie musicale se nomme la @emph{gravure}.  Ce terme
53 est issu du processus traditionnel d'impression musicale.  Il y a
54 seulement quelques dizaines d'années, on faisait les partitions en
55 coupant et en embossant une plaque de zinc ou d'étain en image miroir.
56 Cette plaque était ensuite encrée, les dépressions créées par les
57 creux et les bosses retenant l'encre.  Une image était formée en
58 pressant du papier sur la plaque.  La découpe et l'embossage étaient
59 entièrement faits à la main.  Il était pénible d'appliquer une
60 correction, quand celle-ci n'était pas impossible ; la gravure devait
61 donc être parfaite du premier coup.  La gravure demandait une
62 qualification hautement spécialisée : un artisan devait accomplir
63 environ cinq ans de formation avant de mériter le titre de maître
64 graveur, et il lui fallait cinq années d'expérience supplémentaires
65 pour devenir vraiment habile.
66
67 De nos jours, toutes les partitions récentes sont produites avec des
68 ordinateurs.  Ceci a des avantages évidents : le coût des impressions
69 a diminué, et le travail d'édition peut être envoyé par courriel.
70 Malheureusement, l'utilisation dominante des ordinateurs a également
71 diminué la qualité graphique des partitions.  L'impression
72 informatisée leur donne un aspect fade et mécanique qui les rend
73 désagréables à jouer.
74
75 @c introduce illustrating aspects of engraving, font...
76 Les images ci-dessous illustrent la différence entre la gravure
77 traditionelle et l'impression typique par ordinateur, et la troisième
78 image montre comment LilyPond mime l'aspect traditionnel.  L'image de
79 gauche est une numérisation d'un symbole bémol d'une édition publiée
80 en 2000.  Celle du centre montre un bémol d'une gravure à la main de
81 l'édition Bärenreiter de la même musique.  L'image de gauche illustre
82 des défauts typiques de l'impression informatique : les lignes de
83 portée sont minces, l'épaisseur de trait du bémol est la même que les
84 lignes fines, et il y a un aspect rigide avec des angles pointus.  Par
85 contraste, le bémol Bärenreiter possède un aspect gras et arrondi,
86 presque voluptueux.  Notre symbole bémol est créé, entre autres, à
87 partir de celui-là.  Il est arrondi, et son épaisseur de trait
88 s'harmonise avec nos lignes de portée, lesquelles sont également plus
89 épaisses que celles de l'édition informatique.
90
91 @multitable @columnfractions .125 .25 .25 .25 .125
92 @item @tab
93 @ifnotinfo
94 @iftex
95 @image{henle-flat-gray,,4cm}
96 @end iftex
97 @ifnottex
98 @image{henle-flat-gray,,,png}
99 @end ifnottex
100
101 @tab
102 @iftex
103 @image{baer-flat-gray,,4cm}
104 @end iftex
105 @ifnottex
106 @image{baer-flat-gray,,,png}
107 @end ifnottex
108
109 @tab
110 @iftex
111 @image{lily-flat-bw,,4cm}
112 @end iftex
113 @ifnottex
114 @image{lily-flat-bw,,,png}
115 @end ifnottex
116 @end ifnotinfo
117 @ifinfo
118 @image{lilypond/henle-flat-bw,,,png} @image{lilypond/baer-flat-bw,,,png}
119 @image{lilypond/lily-flat-bw,,,png}
120 @end ifinfo
121
122 @item @tab
123 Henle (2000)
124 @tab
125 Bärenreiter (1950)
126 @tab
127 Fonte Feta de LilyPond (2003)
128
129 @end multitable
130
131
132 @cindex symboles musicaux
133 @cindex fonte
134 @cindex police
135 @cindex épaisseur des caractères
136 @cindex équilibre
137
138 @c introduce illustrating aspects of engraving, spacing...
139 En matière d'espacement, la répartition de l'espace devrait refléter
140 les durées entre les notes.  Cependant, beaucoup de partitions
141 modernes se contentent des durées avec une précision mathématique, ce
142 qui mène à de mauvais résultats.  Dans l'exemple suivant, un motif est
143 imprimé deux fois : une fois en utilisant un espacement mathématique
144 exact, et une autre fois avec des corrections.  Pouvez-vous les
145 repérer ?
146
147 @cindex espacement optique
148 @c file spacing-optical.
149 @c need to include it here,  because we want two images.
150 @lilypond
151 \paper {
152   ragged-right = ##t
153   indent = #0.0
154 }
155
156 music = {
157    c'4 e''4 e'4 b'4 |
158    \stemDown
159    b'8[ e'' a' e'']
160    \stemNeutral
161    e'8[ e'8 e'8 e'8]
162 }
163
164 \score
165 {
166   \music
167   \layout {
168     \context {
169       \Staff
170       \override NoteSpacing #'stem-spacing-correction = #0.6
171     }
172   }
173 }
174 @end lilypond
175
176 @lilypond
177 \paper {
178   ragged-right = ##t
179   indent = #0.0
180 }
181
182 music = {
183    c'4 e''4 e'4 b'4 |
184    \stemDown
185    b'8[ e'' a' e'']
186    \stemNeutral
187    e'8[ e'8 e'8 e'8]
188 }
189 \score
190 {
191   \music
192   \layout {
193     \context {
194       \Staff
195       \override NoteSpacing #'stem-spacing-correction = #0.0
196       \override NoteSpacing #'same-direction-correction = #0.0
197       \override StaffSpacing #'stem-spacing-correction = #0.0
198     }
199   }
200 }
201 @end lilypond
202
203 @cindex régulier, rythme
204 @cindex régulier, espacement
205 @cindex espacement régulier
206
207 L'extrait n'utilise que des notes de même durée ; l'espacement devrait
208 le refléter.  Malheureusement, notre oeil nous trompe quelque peu ; il
209 ne se contente pas de remarquer la distance entre les têtes de notes,
210 il prend en compte également la distance entre les hampes
211 consécutives.  Ainsi, par compensation, les notes avec une combinaison
212 @qq{hampe vers le haut}/@/@qq{hampe vers le bas} doivent être éloignées
213 l'une de l'autre, et les notes avec une combinaison @qq{hampe vers le
214 bas}/@/@qq{hampe vers le haut} rapprochées, le tout dépendant de la
215 position verticale des notes.  Les deux premières mesures sont
216 imprimées avec cette correction, les deux suivantes sans.  Les notes
217 dans les deux dernières mesures forment des blocs de notes @qq{hampe
218 vers le bas}/@/@qq{hampe vers le haut}.
219
220 @cindex typographie
221
222 Les musiciens sont généralement plus absorbés par l'exécution que par
223 l'étude de l'aspect graphique d'une partition, donc discutailler sur
224 les détails typographiques peut paraître peu important.  Il n'en est
225 rien.  Dans de longues pièces avec des rythmes monotones, les
226 corrections d'espacement engendrent de subtiles variations dans la
227 mise en forme de chaque ligne, donnant à chacune une signature
228 visuelle distincte.  Sans cette signature, toutes les lignes auraient
229 le même aspect, et ressembleraient à un labyrinthe.  Si un musicien
230 regarde ailleurs un instant ou se déconcentre momentanement, il peut
231 avoir du mal à se retrouver sur la page.
232
233 De même, l'aspect robuste des symboles sur d'épaisses lignes de
234 portée ressort mieux quand la partition est éloignée du lecteur,
235 comme sur un pupitre par exemple.  Une organisation minutieuse des
236 espaces vides permet de minimiser l'espace qu'occupe la musique, tout
237 en évitant que les symboles s'amassent les uns contre les autres.  Le
238 résultat permet de réduire le nombre de pages à tourner, ce qui est un
239 grand avantage.
240
241 Ceci est une caractéristique commune à toute typographie.  La
242 disposition doit être belle, non seulement pour des raisons
243 esthétiques, mais également pour l'aide apportée au lecteur dans la
244 tâche qu'il doit accomplir.  Pour du matériel d'exécution comme les
245 partitions de musique, cela prend une double importance : les
246 musiciens ont une quantité limitée d'attention.  Moins ils en ont
247 besoin pour lire, plus ils peuvent se concentrer sur la musique
248 elle-même.  Autrement dit, une meilleure typographie permet une
249 meilleure interprétation.
250
251 Ces exemples démontrent que la typographie musicale est un art subtil
252 et complexe, et que la produire demande une expertise considérable,
253 que les musiciens ne possèdent généralement pas.  LilyPond est le
254 fruit de nos efforts pour restaurer l'excellence graphique de la
255 gravure à la main à l'ère de l'ordinateur, et la rendre accessible à
256 tous les musiciens.  Nous avons conçu nos algorithmes, fontes et
257 paramètres de programme pour retrouver la qualité d'édition des
258 anciennes partitions que nous aimons tant lire et jouer.
259
260
261 @node Automated engraving
262 @unnumberedsubsec Automated engraving
263
264 @cindex gravure automatisée
265 @cindex automatisée, gravure
266
267 Comment pouvons-nous implémenter la typographie ? Si les artisans ont
268 besoin de plus de dix ans pour devenir de vrais maîtres, comment nous,
269 simples programmeurs, pourrions-nous jamais écrire un programme pour
270 faire leur travail ?
271
272 La réponse est : nous ne le pouvons pas.  La typographie se base sur
273 le jugement visuel humain, donc les humains ne peuvent pas être
274 complètement remplacés.  Si LilyPond arrive à traiter la plupart des
275 situations correctement, ce sera déjà une grande avancée sur les
276 logiciels existants.  Les problèmes restants peuvent être résolus à la
277 main.  Au fil des ans, le logiciel peut être affiné pour faire de plus
278 en plus de choses automatiquement, pour que les ajustements manuels
279 soient de moins en moins nécessaires.
280
281 Quand nous avons commencé, nous avons écrit le programme Lilypond
282 entièrement dans le language de programmation C++ ; les fonctions du
283 programme étaient figées par les développeurs.  Ceci s'est avéré
284 insatisfaisant pour plusieurs raisons :
285
286 @itemize 
287
288 @item Quand Lilypond fait des erreurs,
289 les utilisateurs ont besoin de contredire les décisions de formatage.
290 Les utilisateurs doivent donc avoir accès au moteur de formatage.  Par
291 conséquent, les règles et les propriétés ne peuvent pas être fixées
292 par nous au moment de la compilation, mais doivent être accessibles
293 aux utilisateurs au moment de l'exécution.
294
295 @item La gravure est une question de jugement visuel, et donc de goût.
296 Aussi bien informés que nous le sommes, les utilisateurs peuvent être
297 en désaccord avec nos décisions personnelles.  Par conséquent, les
298 définitions du modèle typographique doivent également être accessibles
299 à l'utilisateur.
300
301 @item Enfin, nous affinons continuellement les algorithmes de formatage,
302 donc nous avons besoin d'une approche souple des règles.  Le langage
303 C++ oblige à une certaine méthode de groupage des règles qui ne
304 convient pas bien au fonctionnement de la notation musicale.
305  
306 @end itemize
307
308 @cindex langage de programmation Scheme
309
310 Ces problèmes ont été résolus en intégrant un interpréteur pour le
311 langage de programmation Scheme, et en réécrivant des parties de
312 LilyPond en Scheme.  L'architecture actuelle de formatage est
313 construite autour de la notion d'objets graphiques, décrits par des
314 fonctions et des variables Scheme.  Cette architecture comprend les
315 règles de formatage, le style typographique, et des décisions
316 individuelles de formatage.  L'utilisateur a un accès direct à la
317 plupart de ces contrôles.
318
319 Les variables Scheme contrôlent les décisions de mise en page.  Par
320 exemple, beaucoup d'objets graphiques ont une variable de direction
321 qui encode le choix entre haut et bas (ou gauche et droite).  Vous
322 pouvez voir ici deux accords, avec des accents, et des arpèges.  Dans
323 le premier accord, les objets graphiques sont tous dirigés vers le bas
324 (ou la gauche).  Dans le second accord ils sont tous dirigés vers le
325 haut (droite).
326
327 @lilypond[quote,ragged-right]
328 \new Score \with {
329    \override SpacingSpanner #'spacing-increment = #3
330    \override TimeSignature #'transparent = ##t
331 } \relative c' {
332    \stemDown <e g b>4_>-\arpeggio
333    \override Arpeggio #'direction = #RIGHT
334    \stemUp <e g b>4^>-\arpeggio
335 }
336 @end lilypond
337
338 @cindex partition, formatage
339 @cindex formatage d'une partition
340 @cindex formatage, règles de
341
342 @noindent
343 Le processus de formatage d'une partition consiste à lire et écrire
344 les variables d'objets graphiques.  Certaines variables ont une valeur
345 prédéfinie.  Par exemple, l'épaisseur d'un grand nombre de lignes --
346 une caractéristique du style typographique -- est une variable avec
347 une valeur prédéfinie.  Vous êtes libres d'altérer cette valeur, ce
348 qui vous donne une partition avec une impression typographique
349 différente.
350
351 @lilypond[quote,ragged-right]
352 fragment = {
353    \clef bass f8 as8
354    c'4-~ c'16 as g f e16 g bes c' des'4
355 }
356 <<
357    \new Staff \fragment
358    \new Staff \with {
359       \override Beam #'thickness = #0.3
360       \override Stem #'thickness = #0.5
361       \override Bar #'thickness = #3.6
362       \override Tie #'thickness = #2.2
363       \override StaffSymbol #'thickness = #3.0
364       \override Tie #'extra-offset = #'(0 .  0.3)
365       }
366       \fragment
367 >>
368 @end lilypond
369
370 Les règles de formatage ont aussi des variables prédéfinies : chaque
371 objet possède des variables contenant des procédures.  Ces procédures
372 exécutent le formatage, et en les substituant par d'autres, nous
373 pouvons changer l'apparence des objets.  Dans l'exemple suivant, la
374 règle du choix de têtes de notes est changée au cours de l'extrait de
375 musique.
376
377 @lilypond[quote,ragged-right]
378 #(set-global-staff-size 30)
379
380 #(define (mc-squared grob orig current)
381   (let* ((interfaces (ly:grob-interfaces grob))
382          (pos (ly:grob-property grob 'staff-position)))
383     (if (memq 'note-head-interface interfaces)
384         (begin
385           (ly:grob-set-property! grob 'stencil
386             (grob-interpret-markup grob
387               (make-lower-markup 0.5
388                 (case pos
389                   ((-5) "m")
390                   ((-3) "c ")
391                   ((-2) (make-smaller-markup (make-bold-markup "2")))
392                   (else "bla")))))))))
393
394 \new Voice \relative c' {
395   \stemUp
396   \set autoBeaming = ##f
397   \time 2/4
398   <d f g>4
399   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
400   \once \override NoteHead #'font-size = #-7
401   \once \override NoteHead #'font-family = #'sans
402   \once \override NoteHead #'font-series = #'bold
403   <d f g>4
404   \once \override NoteHead #'style = #'cross
405   <d f g>4
406   \applyOutput #'Voice #mc-squared
407   <d f g>4
408   <<
409     { d8[ es-( fis^^ g] fis2-) }
410     \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
411   >>
412 }
413 @end lilypond
414
415
416
417 @node What symbols to engrave?
418 @unnumberedsubsec What symbols to engrave?
419
420 @cindex gravure
421 @cindex typographie
422 @cindex graveur
423 @cindex greffon
424
425 Le processus de formatage décide où placer les symboles.  Cependant,
426 cela ne peut être fait qu'à partir du moment où il a été décidé
427 @emph{quels} symboles doivent être imprimés, c'est-à-dire quelle
428 notation utiliser.
429
430 La notation musicale usuelle est un système d'écriture qui a évolué à
431 travers les dix derniers siècles.  La forme qui est aujourd'hui
432 communément utilisée date du début de la Renaissance.  Bien que la forme
433 basique --- les têtes de notes sur une portée de cinq lignes --- n'ait pas
434 changé, les détails continuent d'évoluer pour exprimer les innovations
435 de la notation contemporaine.  Par conséquent, elle comprend quelque 500
436 ans de musique, avec des applications allant des mélodies monodiques à
437 de monstrueux contrepoints pour grand orchestre.
438
439 Comment pouvons nous appréhender un tel monstre à plusieurs têtes, et le
440 confiner dans l'espace réduit d'un programme informatique ?  Notre
441 solution consiste à diviser le problème de la notation --- par
442 opposition à la gravure, ou typographie --- en morceaux digestes et
443 programmables : chaque type de symbole est géré par un module séparé,
444 couramment appelé greffon@footnote{traduction de l'anglais
445 @emph{plug-in}.}.  Chaque greffon est entièrement modulaire et
446 indépendant, et donc peut être développé et amélioré séparément.  De
447 tels greffons sont nommés @code{graveur}s@footnote{@code{engraver}s en
448 anglais.}, par analogie avec les artisans qui traduisent les idées
449 musicales en symboles graphiques.
450
451 Dans l'exemple suivant, voyons comment nous commençons avec un greffon
452 pour les têtes de notes, le graveur de têtes de note
453 (@code{Note_heads_engraver}) :
454
455 @lilypond[quote,ragged-right]
456 \include "engraver-example.ily"
457
458 \score {
459   \topVoice
460   \layout {
461     \context {
462       \Voice
463       \remove "Stem_engraver"
464       \remove "Phrasing_slur_engraver"
465       \remove "Slur_engraver"
466       \remove "Script_engraver"
467       \remove "Beam_engraver"
468       \remove "Auto_beam_engraver"
469     }
470     \context {
471       \Staff
472       \remove "Accidental_engraver"
473       \remove "Key_engraver"
474       \remove "Clef_engraver"
475       \remove "Bar_engraver"
476       \remove "Time_signature_engraver"
477       \remove "Staff_symbol_engraver"
478       \consists "Pitch_squash_engraver"
479     }
480   }
481 }
482 @end lilypond
483
484 @noindent
485 Ensuite, le graveur du symbole de portée
486 (@code{Staff_symbol_engraver}) ajoute la portée
487
488 @lilypond[quote,ragged-right]
489 \include "engraver-example.ily"
490
491 \score {
492   \topVoice
493   \layout {
494     \context {
495       \Voice
496       \remove "Stem_engraver"
497       \remove "Phrasing_slur_engraver"
498       \remove "Slur_engraver"
499       \remove "Script_engraver"
500       \remove "Beam_engraver"
501       \remove "Auto_beam_engraver"
502     }
503     \context {
504       \Staff
505       \remove "Accidental_engraver"
506       \remove "Key_engraver"
507       \remove "Clef_engraver"
508       \remove "Bar_engraver"
509       \consists "Pitch_squash_engraver"
510       \remove "Time_signature_engraver"
511     }
512   }
513 }
514 @end lilypond
515
516 @noindent
517 le graveur de clef (@code{Clef_engraver}) définit un point de
518 référence pour la portée
519
520 @lilypond[quote,ragged-right]
521 \include "engraver-example.ily"
522
523 \score {
524   \topVoice
525   \layout {
526     \context {
527       \Voice
528       \remove "Stem_engraver"
529       \remove "Phrasing_slur_engraver"
530       \remove "Slur_engraver"
531       \remove "Script_engraver"
532       \remove "Beam_engraver"
533       \remove "Auto_beam_engraver"
534     }
535     \context {
536       \Staff
537       \remove "Accidental_engraver"
538       \remove "Key_engraver"
539       \remove "Bar_engraver"
540       \remove "Time_signature_engraver"
541     }
542   }
543 }
544 @end lilypond
545
546 @noindent
547 et le graveur de hampes (@code{Stem_engraver}) ajoute les hampes :
548
549 @lilypond[quote,ragged-right]
550 \include "engraver-example.ily"
551
552 \score {
553   \topVoice
554   \layout {
555     \context {
556       \Voice
557       \remove "Phrasing_slur_engraver"
558       \remove "Slur_engraver"
559       \remove "Script_engraver"
560       \remove "Beam_engraver"
561       \remove "Auto_beam_engraver"
562     }
563     \context {
564       \Staff
565       \remove "Accidental_engraver"
566       \remove "Key_engraver"
567       \remove "Bar_engraver"
568       \remove "Time_signature_engraver"
569     }
570   }
571 }
572 @end lilypond
573
574 @noindent
575 Le graveur de hampe est informé de chaque tête de note qui survient.
576 Chaque fois qu'une tête de note --- plusieurs pour un accord --- est
577 rencontrée, un objet hampe est créé et connecté à la tête de note.  En
578 ajoutant des graveurs pour les barres de ligature, les liaisons, les
579 accents, les altérations accidentelles, les barres de mesure, la
580 métrique, et les armures, nous obtenons un jeu de notation complet.
581
582 @lilypond[quote,ragged-right]
583 \include "engraver-example.ily"
584 \score { \topVoice }
585 @end lilypond
586
587 @cindex polyphonie
588 @cindex graver plusieurs voix
589 @cindex contextes
590
591 Ce système fonctionne bien pour de la musique monodique, mais qu'en
592 est-il de la polyphonie ? En notation polyphonique, plusieurs voix
593 peuvent partager une portée.
594
595 @lilypond[quote,ragged-right]
596 \include "engraver-example.ily"
597 \new Staff << \topVoice \\ \botVoice >>
598 @end lilypond
599
600 Dans cette situation, la portée et les altérations accidentelles sont
601 partagées, mais les hampes, liaisons etc., sont spécifiques à chaque
602 voix.  Par conséquent, les graveurs doivent être groupés.  Les
603 graveurs des têtes de notes, hampes, liaisons etc., vont dans un
604 groupe appelé @qq{contexte de Voix} @footnote{@q{Voice context} en
605 anglais, @q{Voice} commence par une majuscule comme tous les noms de
606 contexte dans le programme LilyPond.}, alors que les graveurs des clés,
607 altérations accidentelles, barres de mesure etc., vont dans un groupe
608 appelé @qq{contexte de Portée}. Dans le cas de la polyphonie, un seul
609 contexte de Portée contient plusieurs contextes de Voix.  De même,
610 plusieurs contextes de Portée peuvent être inclus dans un seul
611 contexte de Partition.  Le contexte de Partition est le contexte de
612 notation de plus haut niveau.
613
614
615 @seealso
616 Référence du programme: @rinternals{Contexts}.
617
618
619 @lilypond[quote,ragged-right]
620 \include "engraver-example.ily"
621 \score {
622    <<
623       \new Staff << \topVoice \\ \botVoice >>
624       \new Staff << \pah \\ \hoom >>
625    >>
626 }
627 @end lilypond
628
629 @node Music representation
630 @unnumberedsubsec Music representation
631
632 @cindex syntaxe
633 @cindex structures récursives
634
635 Idéalement, le format d'entrée pour n'importe quel système de
636 formatage est une description abstraite du contenu.  Dans ce cas-ci,
637 ce serait la musique elle-même.  Cela pose un formidable problème :
638 comment pouvons-nous définir ce qu'est réellement la musique ? Plutôt
639 que d'essayer de trouver une réponse, nous avons renversé la question.
640 Nous écrivons un logiciel capable de produire de la musique écrite, et
641 adaptons le format pour atteindre la plus grande concision possible.
642 Quand le format ne peut plus être simplifé, il nous reste par
643 définition le contenu lui-même.  Notre logiciel sert de définition
644 formelle d'un document de musique.
645
646 Pour LilyPond, la syntaxe est également l'interface utilisateur ; par
647 conséquent il est facile de saisir
648
649 @example
650 @{
651 c'4 d'8
652 @}
653 @end example
654
655 @noindent
656 c'est-à-dire un do central noire et, juste au-dessus, un ré croche
657
658 @lilypond[quote]
659 {
660   c'4 d'8
661 }
662 @end lilypond
663
664 Sur une échelle microscopique, une telle syntaxe est facile à
665 utiliser.  À plus grande échelle, la syntaxe a besoin aussi de
666 structure.  Comment serait-il possible autrement de rentrer des
667 pièces complexes comme des symphonies ou des opéras ? La structure
668 est formée par le concept d'expression musicale : en combinant
669 de petits fragments de musique pour en former de plus grands, on peut
670 exprimer de la musique plus complexe.  Par exemple
671
672 @lilypond[quote,verbatim,fragment,relative=1]
673 f4
674 @end lilypond
675
676 @noindent
677 Des accord peuvent être construits avec @code{<<} et @code{>>} autour
678 des notes.
679
680 @example
681 <<c4 d4 e4>>
682 @end example
683
684 @lilypond[quote,fragment,relative=1]
685 \new Voice { <<c4 d4 e>> }
686 @end lilypond
687
688 @noindent
689 On met cette expression dans une séquence en l'encadrant par
690 des accolades @code{@{@tie{}@dots{}@tie{}@}}
691
692 @example
693 @{ f4 <<c4 d4 e4>> @}
694 @end example
695
696 @lilypond[quote,relative=1,fragment]
697 { f4 <<c d e4>> }
698 @end lilypond
699
700 @noindent
701 Ceci est également une expression, et peut donc encore une fois
702 être combiné avec d'autres expressions simultanées (une blanche)
703 en utilisant @code{<<}, @code{\\}, et @code{>>}.
704
705 @example
706 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
707 @end example
708
709 @lilypond[quote,fragment,relative=2]
710 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
711 @end lilypond
712
713 De telles structures récursives peuvent être spécifiées formellement
714 et de manière ordonnée dans une grammaire indépendante de tout
715 contexte.  Le code d'analyse est aussi généré à partir de cette
716 grammaire.  Autrement dit, la syntaxe de LilyPond est définie
717 clairement et sans ambiguité.
718
719 L'interface utilisateur et la syntaxe sont ce que les gens voient et
720 manipulent le plus.  Elles sont en partie une affaire de goût, et
721 aussi sujettes à beaucoup de discussions.  Même si ces discussions sur
722 les goûts ont leur mérite, elles ne sont pas très productives.  D'un
723 point de vue plus large sur LilyPond, l'importance de la syntaxe est
724 minime : il est facile d'inventer une syntaxe concise, alors qu'écrire
725 un code de formatage décent est beaucoup plus difficile.  Ceci est
726 également illustré par le nombre de lignes de codes pour les
727 composants respectifs : l'analyse et la représentation constituent
728 moins de 10% du code source.
729
730 @node Example applications
731 @unnumberedsubsec Example applications
732
733 @cindex exemples simples
734
735 Nous avons conçu LilyPond comme une expérimentation visant à
736 concentrer l'art de la gravure musicale dans un logiciel.  Grâce à
737 tout ce dur labeur, le programme peut maintenant être utilisé pour
738 accomplir des travaux utiles.  L'application la plus simple est
739 d'imprimer des notes :
740
741 @lilypond[quote,relative=1]
742 {
743   \time 2/4
744   c4 c g'4 g a4 a g2
745 }
746 @end lilypond
747
748 @noindent
749 En ajoutant des noms d'accords et des paroles, nous obtenons
750 une partition de chanson :
751
752 @lilypond[quote,ragged-right]
753 <<
754    \chords { c2 c f2 c }
755    \new Staff
756    \relative c' {
757      \time 2/4
758      c4 c g' g a a g2
759    }
760    \addlyrics { twin -- kle twin -- kle lit -- tle star }
761 >>
762 @end lilypond
763
764 La notation polyphonique et la musique pour piano peuvent également
765 être générées.  L'exemple suivant associe quelques constructions
766 plus exotiques :
767
768 @lilypond[quote]
769 \header {
770   title = "Screech and boink"
771   subtitle = "Random complex notation"
772   composer = "Han-Wen Nienhuys"
773 }
774
775 \score {
776   \context PianoStaff <<
777     \new Staff = "up" {
778       \time 4/8
779       \key c \minor
780       << {
781         \revert Stem #'direction
782         \change Staff = down
783         \set subdivideBeams = ##t
784         g16.[
785           \change Staff = up
786           c'''32
787           \change Staff = down
788           g32
789           \change Staff = up
790           c'''32
791           \change Staff = down
792           g16]
793         \change Staff = up
794         \stemUp
795         \set followVoice = ##t
796         c'''32([ b''16 a''16 gis''16 g''32)]
797       } \\ {
798         s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
799       } \\ {
800         s4 \autoBeamOff d''8.. f''32
801       } \\ {
802         s4 es''4
803       } >>
804     }
805
806     \new Staff = "down" {
807       \clef bass
808       \key c \minor
809       \set subdivideBeams = ##f
810       \override Stem  #'french-beaming = ##t
811       \override Beam  #'thickness = #0.3
812       \override Stem  #'thickness = #4.0
813       g'16[ b16 fis16 g16]
814       << \makeClusters {
815         as16 <as b>
816         <g b>
817         <g cis>
818       } \\ {
819         \override Staff.Arpeggio  #'arpeggio-direction =#down
820         <cis, e, gis, b, cis>4\arpeggio
821       }
822     >> }
823   >>
824   \midi {
825     \context {
826       \Score
827       tempoWholesPerMinute = #(ly:make-moment 60 8)
828     }
829   }
830   \layout {
831     \context {
832       \Staff
833       \consists Horizontal_bracket_engraver
834     }
835   }
836 }
837 @end lilypond
838
839 Les extraits exposés ici ont tous été écrits à la main, mais ce n'est
840 pas une obligation.  Puisque le moteur de formatage est en grande
841 partie automatique, il peut servir de sortie pour d'autres programmes
842 qui manipulent la musique.  Par exemple, il peut être utilisé pour
843 convertir des bases de données d'extraits musicaux en images pour des
844 sites Internet et des présentations multimédias.
845
846 Ce manuel montre également une application : le format d'entrée est du
847 texte, et peut donc facilement être intégré dans d'autres formats
848 basés sur le texte comme @LaTeX{}, HTML, ou dans le cas de ce manuel,
849 Texinfo.  À l'aide d'un programme spécial, les extraits de code
850 peuvent être remplacés par des images de musiques dans les fichiers de
851 sortie PDF ou HTML.  Cela donne la possibilité de mélanger de la
852 musique et du texte dans les documents.
853
854
855 @node About the documentation
856 @section About the documentation
857
858 Cette partie présente les différents volumes de la documentation.
859
860 @cindex Manuel d'initiation
861 @cindex Glossaire musical
862 @cindex Manuel de notation
863 @cindex Utilisation des programmes
864 @cindex Exemples de code
865 @cindex Référence des propriétés internes
866
867 @c leave these lines wrapping around.  It's some texinfo 4.12 thing. -gp
868 @c This is actually a limitation of texi2html. -jm
869 @menu
870 * About the Learning Manual::   introduction à LilyPond, ce manuel explique aux débutants la création de partitions.
871 * About the Music Glossary::    ce document explique de nombreux termes musicaux et en donne la traduction dans d'autres langues.
872 * About the Notation Reference::  ce manuel représente la partie la plus volumineuse de la documentation.  Il fournit tous les détails sur la création de notation musicale.  La lecture de cet ouvrage requiert une bonne compréhension des concepts exposés dans le manuel d'initiation.
873 * About the Application Usage:: ce manuel aborde l'exécution des programmes LilyPond et les particularités dépendant du système d'exploitation.
874 * About the Snippet List::      ce document rassemble une collection d'extraits de code LilyPond.
875 * About the Internals Reference:: ce manuel constitue une source d'information sur le fonctionnement interne de LilyPond.  C'est une référence complète pour l'élaboration de retouches.
876 * Other documentation::         d'autres sources de documentation sont disponibles, telles que les notes de nouveautés et les archives des listes de diffusion.
877 @end menu
878
879
880 @node About the Learning Manual
881 @unnumberedsubsec About the Learning Manual
882
883 Ce manuel explique comment débuter avec LilyPond, et expose de manière
884 simple quelques concepts clés.  Il est conseillé de lire ces chapitres
885 de manière linéaire.
886
887 Dans ce manuel se trouve à chaque section un paragraphe @strong{Voir
888 aussi} contenant des références vers d'autres sections : il est
889 conseillé de ne pas les suivre en première lecture ; lorsque vous
890 aurez lu l'ensemble du manuel d'initiation, vous pourrez en relisant
891 certaines sections suivre ces références pour approfondir certains
892 aspects.
893
894 @itemize
895
896 @item
897 @ref{Introduction} : le pourquoi du comment de LilyPond.
898
899 @item
900 @ref{Tutorial} : introduction en douceur à la typographie musicale.
901 Les utilisateurs débutants sont invités à commencer par ce chapitre.
902
903 @item
904 @ref{Fundamental concepts} : concepts généraux du format de fichier
905 @code{ly} spécifique à LilyPond.  Si vous n'êtes pas certain de
906 l'endroit où placer une commande, lisez ce chapitre !
907
908 @item
909 @ref{Tweaking output} : introduction aux retouches de gravure avec
910 LilyPond.
911
912 @item
913 @ref{Working on LilyPond projects} : utilisation pratique de LilyPond,
914 conseils généraux, prévention et résolution des problèmes les plus
915 courants.  À lire avant de se lancer dans des travaux d'envergure !
916
917 @end itemize
918
919 Ce volume contient aussi des annexes que vous pouvez consulter au gré de
920 vos besoins :
921
922 @itemize
923
924 @item
925 @ref{Templates} de pièces LilyPond.  Copiez et collez un modèle dans
926 un fichier, ajoutez les notes, et c'est prêt !
927
928 @item
929 @ref{Scheme tutorial} : courte introduction à Scheme, le langage de
930 programmation utilisé dans les fonctions de musique.  Ces quelques
931 lignes vous aideront à construire des retouches avancées ; nombre
932 d'utilisateurs ne touchent jamais à Scheme.
933
934 @end itemize
935
936
937 @node About the Music Glossary
938 @unnumberedsubsec About the Music Glossary
939
940 @cindex Glossaire musical
941 @cindex jargon
942 @cindex terminologie
943 @cindex langues étrangères
944 @cindex langue
945 @cindex langage
946
947 @rglosnamed{Top,Glossaire musical} : ce document explique en anglais
948 des termes musicaux, et donne leur traduction dans diverses langues.
949 Si vous n'êtes pas familier avec la notation et la terminologie
950 musicales, il est conseillé de consulter le glossaire, notamment pour
951 les parties non encore traduites de la documentation.
952
953
954 @node About the Notation Reference
955 @unnumberedsubsec About the Notation Reference
956
957 @cindex Manuel de notation
958 @cindex annexes
959 @cindex références, tables de
960 @cindex tables de références
961
962 Ce manuel détaille toutes les commandes LilyPond produisant une notation
963 musicale.  La lecture de cet ouvrage requiert une bonne compréhension des
964 concepts exposés dans le manuel d'initiation.
965
966 @itemize
967
968 @c Normalement, il est impossible d'utiliser deux points en français,
969 @c car une référence externe doit se terminer par un signe de
970 @c ponctuation dans le format Info.  Cependant, Info
971 @c n'internationalise pas encore des documents Info, donc nous n'en
972 @c avons rien à faire pour l'instant. -jm
973 @item
974 @ruser{Musical notation} : cette partie décrit la notation de base,
975 qui sera utile dans la plupart des projets de partition.  Les sujets
976 sont groupés par type de notation.
977
978 @item
979 @ruser{Specialist notation} : cette partie détaille des éléments de
980 notation spécifiques à certains instruments ou styles.  Les sujets
981 sont groupés par type de notation.
982
983 @item
984 @ruser{General input and output} : informations générales sur les
985 fichiers source LilyPond et le contrôle des sorties.
986
987 @item
988 @ruser{Spacing issues} : différents aspects de l'espacement selon les
989 axes et échelles, par exemple la sélection de la taille de papier, ou
990 la gestion des sauts de page.
991
992 @item
993 @ruser{Changing defaults} : ce chapitre est une référence des
994 différentes formes de retouches, qui permettent d'obtenir de Lilypond
995 (presque) tout ce que vous désirez.
996
997 @item
998 @ruser{Interfaces for programmers} : création de fonctions de musique
999 à l'aide de Scheme.
1000
1001 @end itemize
1002
1003 Les annexes de ce manuel contiennent entre autres des tableaux de
1004 référence pratiques.
1005
1006 @itemize
1007
1008 @item
1009 @ruser{Literature list} : choix de livres de référence, pour en savoir
1010 plus sur la notation et la gravure.
1011
1012 @item
1013 @ruser{Notation manual tables} : tableaux montrant les noms d'accord,
1014 les instruments MIDI, les noms de couleur, et la police Feta.
1015
1016 @item
1017 @ruser{Cheat sheet} : référence pratique des commandes LilyPond les
1018 plus courantes.
1019
1020 @item
1021 @ruser{LilyPond command index} : index de toutes les @code{\commandes}
1022 LilyPond.
1023
1024 @item
1025 @ruser{LilyPond index} : un index complet.
1026
1027 @end itemize
1028
1029
1030 @node About the Application Usage
1031 @unnumberedsubsec About the Application Usage
1032
1033 @cindex Utilisation des programmes
1034 @cindex intégration de LilyPond avec d'autres programmes
1035
1036 Ce manuel explique l'exécution des programmes et l'intégration de
1037 partitions LilyPond dans d'autres programmes.
1038
1039 @itemize
1040
1041 @item
1042 @rprogram{Install} : installation --- et éventuellement compilation ---
1043 de LilyPond.
1044
1045 @item
1046 @rprogram{Setup} : configuration de votre système pour une utilisation
1047 optimale de LilyPond, comprenant l'utilisation d'environnements
1048 adaptés pour certains éditeurs de tecte.
1049
1050 @item
1051 @rprogram{Running LilyPond} : exécution de LilyPond et de ses
1052 programmes auxiliaires.  De plus, cette partie explique comment
1053 effectuer la mise à jour de fichiers source écrits avec d'anciennes
1054 versions de LilyPond.
1055
1056 @item
1057 @rprogram{LilyPond-book} : création de documents intégrant des
1058 extraits musicaux, comme ce manuel.
1059
1060 @item
1061 @rprogram{Converting from other formats} : utilisation des programmes
1062 de conversion.  Ces programmes sont livrés avec le paquetage LilyPond,
1063 et convertissent divers formats de musique vers le format @code{.ly}.
1064
1065 @end itemize
1066
1067
1068 @node About the Snippet List
1069 @unnumberedsubsec About the Snippet List
1070
1071 @cindex snippets
1072 @cindex extraits de code
1073 @cindex morceaux choisis
1074 @cindex LSR
1075 @cindex LilyPond Snippet Repository
1076
1077 @rlsrnamed{Top,Exemples de code} :
1078 il s'agit d'une sélection de petits exemples montrant des trucs,
1079 astuces et fonctionnalités particulières de LilyPond, issus de
1080 @uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}
1081 (LSR).  Tous ces exemples sont dans le domaine public.
1082
1083 Notez bien que cette annexe n'est en aucune manière un miroir ou même
1084 une partie du LSR.  Dans la mesure où le LSR repose sur une version
1085 stable de LilyPond, les exemples illustrant des fonctionnalités
1086 introduites dans la dernière version de développement ne peuvent y
1087 figurer ; c'est pourquoi vous les trouverez dans le répertoire
1088 @file{input/new/} des sources de LilyPond.
1089
1090 La liste des exemples correspondant à chacun des sous-chapitres du
1091 manuel de notation est accessible par des liens dans le paragraphe
1092 @strong{Voir aussi}.
1093
1094
1095 @node About the Internals Reference
1096 @unnumberedsubsec About the Internals Reference
1097
1098 @cindex retoucher
1099 @cindex variables
1100 @cindex propriétés
1101 @cindex lilypond-internals
1102 @cindex documentation du fonctionnement interne
1103 @cindex Scheme
1104 @cindex étendre lilypond
1105 @cindex index
1106
1107 @rinternalsnamed{Top,Référence des propriétés internes} : c'est un
1108 ensemble de pages HTML étroitement liées entre elles, qui documente
1109 les moindres petits détails de chaque classe, objet et fonction de
1110 LilyPond.  Cette documentation est produite directement à partir des
1111 définitions de formatage utilisées.
1112
1113 Presque toutes les fonctions de formatage utilisées en interne sont
1114 directement disponibles pour l'utilisateur.  Par exemple, toutes les
1115 variables qui contrôlent les épaisseurs, les distances etc., peuvent
1116 être modifiées dans les fichiers d'entrée.  Il y a un grand nombre
1117 d'options de formatage, et elles sont toutes décrites dans ce
1118 document.  Chaque section du manuel de notation a un paragraphe @b{Voir
1119 aussi}, qui renvoie à la documentation générée automatiquement.  Dans la
1120 documentation au format HTML, ces paragraphes disposent de liens
1121 cliquables.
1122
1123
1124 @node Other documentation
1125 @unnumberedsubsec Other documentation
1126
1127 Pour finir, présentons d'autres précieuses sources de documentation.
1128
1129 @itemize
1130
1131 @item
1132 @ifhtml
1133 @ifset bigpage
1134 @uref{../topdocs/NEWS.html,Nouveautés} :
1135 @end ifset
1136 @ifclear bigpage
1137 @uref{../../topdocs/NEWS.html,Nouveautés} :
1138 @end ifclear
1139 @end ifhtml
1140 @ifnothtml
1141 Nouveautés :
1142 @end ifnothtml
1143 ce document résume les changements importants et les nouvelles
1144 fonctionalités de LilyPond depuis la dernière version stable.
1145
1146 @item @uref{http://lists.gnu.org/archive/html/lilypond-user/, Les
1147 archives de la liste lilypond-user} : c'est un dépôt archivant les
1148 courriels qui ont été envoyés à la liste anglophone des utilisateurs.
1149 Beaucoup de questions sont apparues plusieurs fois sur la liste, il y
1150 a donc des chances que si vous avez une question, la réponse puisse
1151 être dans ces archives.
1152 @c DIV specific
1153 @uref{http://lists.gnu.org/archive/html/lilypond-user-fr/,Les archives
1154 de la liste francophone} ne sont pas aussi bien fournies, mais vous
1155 pouvez toujours y chercher des conversations passées sur les
1156 traductions, et si vous avez de la chance une réponse à une question.
1157 @c END DIV
1158
1159 @item @uref{http://lists.gnu.org/archive/html/lilypond-devel/, Les
1160 archives de la liste lilypond-devel} : les courriels envoyés à la
1161 liste des développeurs y sont archivés.  Les sujets de discussion sont
1162 plus techniques ; si vous voulez vous renseigner sur l'histoire du
1163 développement ou si vous avez une question très technique, tentez
1164 votre chance en cherchant dans ces archives.
1165
1166 @item Fragments de musique au cours du texte : dans tous les documents
1167 HTML qui incluent des fragments musicaux, le code LilyPond utilisé
1168 pour produire l'image est accessible par un clic sur l'image.
1169
1170 @item L'emplacement des fichiers de documentation mentionnés ici peut varier
1171 d'un système à l'autre.  De temps en temps, ce manuel fait référence
1172 aux fichiers d'exemple et d'initialisation.  Tout au long de ce
1173 manuel, nous donnons les emplacements des fichiers d'entrée
1174 relativement au répértoire racine de l'archive source.  Par exemple,
1175 @file{input/@/test/@/bla@/.ly} peut référer au fichier
1176 @file{lilypond@/2.x.y/@/input/@/test/@/bla@/.ly}.  Dans les paquets
1177 binaires pour les plateformes Unix, la documentation et les exemples
1178 se trouvent généralement sous @file{/usr/@/share/@/doc/@/lilypond/}.
1179 Les fichiers d'initialisation, par exemple @file{scm/@/lily@/.scm}, ou
1180 @file{ly/@/engraver@/-init@/.ly}, se trouvent généralement dans le
1181 répertoire @file{/usr/@/share/@/lilypond/}. @c pas encore en français -jm.
1182 @c Pour plus de détails, consultez @ref{Other sources of information}.
1183
1184 @end itemize