]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/learning/introduction.itely
Docs: reorganize documentation directory structure
[lilypond.git] / Documentation / fr / learning / introduction.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
2
3 @ignore
4     Translation of GIT committish: db53c05f11bea8831733b1fdf7ebe32cb1f491f4
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 recursives
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{\\}, et >>
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
856 @node About the documentation
857 @section About the documentation
858
859 Cette partie présente les différents volumes de la documentation.
860
861 @cindex Manuel d'initiation
862 @cindex Glossaire musical
863 @cindex Manuel de notation
864 @cindex Utilisation des programmes
865 @cindex Exemples de code
866 @cindex Référence des propriétés internes
867
868 @c leave these lines wrapping around.  It's some texinfo 4.12 thing. -gp
869 @c This is actually a limitation of texi2html. -jm
870 @menu
871 * About the Learning Manual::   introduction à LilyPond, ce manuel explique aux débutants la création de partitions.
872 * About the Music Glossary::    ce document explique de nombreux termes musicaux et en donne la traduction dans d'autres langues.
873 * 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.
874 * About the Application Usage:: ce manuel aborde l'exécution des programmes LilyPond et les particularités dépendant du système d'exploitation.
875 * About the Snippet List::      ce document rassemble une collection d'extraits de code LilyPond.
876 * 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.
877 * Other documentation::         d'autres sources de documentation sont disponibles, telles que les notes de nouveautés et les archives des listes de diffusion.
878 @end menu
879
880
881 @node About the Learning Manual
882 @unnumberedsubsec About the Learning Manual
883
884 Ce manuel explique comment débuter avec LilyPond, et expose de manière
885 simple quelques concepts clés.  Il est conseillé de lire ces chapitres
886 de manière linéaire.
887
888 Dans ce manuel se trouve à chaque section un paragraphe @strong{Voir
889 aussi} contenant des références vers d'autres sections : il est
890 conseillé de ne pas les suivre en première lecture ; lorsque vous
891 aurez lu l'ensemble du manuel d'initiation, vous pourrez en relisant
892 certaines sections suivre ces références pour approfondir certains
893 aspects.
894
895 @itemize
896
897 @item
898 @ref{Introduction} : le pourquoi du comment de LilyPond.
899
900 @item
901 @ref{Tutorial} : introduction en douceur à la typographie musicale.
902 Les utilisateurs débutants sont invités à commencer par ce chapitre.
903
904 @item
905 @ref{Fundamental concepts} : concepts généraux du format de fichier
906 @code{ly} spécifique à LilyPond.  Si vous n'êtes pas certain de
907 l'endroit où placer une commande, lisez ce chapitre !
908
909 @item
910 @ref{Tweaking output} : introduction aux retouches de gravure avec
911 LilyPond.
912
913 @item
914 @ref{Working on LilyPond projects} : utilisation pratique de LilyPond,
915 conseils généraux, prévention et résolution des problèmes les plus
916 courants.  À lire avant de se lancer dans des travaux d'envergure !
917
918 @end itemize
919
920 Ce volume contient aussi des annexes que vous pouvez consulter au gré de
921 vos besoins :
922
923 @itemize
924
925 @item
926 @ref{Templates} de pièces LilyPond.  Copiez et collez un modèle dans
927 un fichier, ajoutez les notes, et c'est prêt !
928
929 @item
930 @ref{Scheme tutorial} : courte introduction à Scheme, le langage de
931 programmation utilisé dans les fonctions de musique.  Ces quelques
932 lignes vous aideront à construire des retouches avancées ; nombre
933 d'utilisateurs ne touchent jamais à Scheme.
934
935 @end itemize
936
937
938 @node About the Music Glossary
939 @unnumberedsubsec About the Music Glossary
940
941 @cindex Glossaire musical
942 @cindex jargon
943 @cindex terminologie
944 @cindex langues étrangères
945 @cindex langue
946 @cindex langage
947
948 @rglosnamed{Top,Glossaire musical} : ce document explique en anglais
949 des termes musicaux, et donne leur traduction dans diverses langues.
950 Si vous n'êtes pas familier avec la notation et la terminologie
951 musicales, il est conseillé de consulter le glossaire, notamment pour
952 les parties non encore traduites de la documentation.
953
954
955 @node About the Notation Reference
956 @unnumberedsubsec About the Notation Reference
957
958 @cindex Manuel de notation
959 @cindex annexes
960 @cindex références, tables de
961 @cindex tables de références
962
963 Ce manuel détaille toutes les commandes LilyPond produisant une notation
964 musicale.  La lecture de cet ouvrage requiert une bonne compréhension des
965 concepts exposés dans le manuel d'initiation.
966
967 @itemize
968
969 @c Normalement, il est impossible d'utiliser deux points en français,
970 @c car une référence externe doit se terminer par un signe de
971 @c ponctuation dans le format Info.  Cependant, Info
972 @c n'internationalise pas encore des documents Info, donc nous n'en
973 @c avons rien à faire pour l'instant. -jm
974 @item
975 @ruser{Musical notation} : cette partie décrit la notation de base,
976 qui sera utile dans la plupart des projets de partition.  Les sujets
977 sont groupés par type de notation.
978
979 @item
980 @ruser{Specialist notation} : cette partie détaille des éléments de
981 notation spécifiques à certains instruments ou styles.  Les sujets
982 sont groupés par type de notation.
983
984 @item
985 @ruser{General input and output} : informations générales sur les
986 fichiers source LilyPond et le contrôle des sorties.
987
988 @item
989 @ruser{Spacing issues} : différents aspects de l'espacement selon les
990 axes et échelles, par exemple la sélection de la taille de papier, ou
991 la gestion des sauts de page.
992
993 @item
994 @ruser{Changing defaults} : ce chapitre est une référence des
995 différentes formes de retouches, qui permettent d'obtenir de Lilypond
996 (presque) tout ce que vous désirez.
997
998 @item
999 @ruser{Interfaces for programmers} : création de fonctions de musique
1000 à l'aide de Scheme.
1001
1002 @end itemize
1003
1004 Les annexes de ce manuel contiennent entre autres des tableaux de
1005 référence pratiques.
1006
1007 @itemize
1008
1009 @item
1010 @ruser{Literature list} : choix de livres de référence, pour en savoir
1011 plus sur la notation et la gravure.
1012
1013 @item
1014 @ruser{Notation manual tables} : tableaux montrant les noms d'accord,
1015 les instruments MIDI, les noms de couleur, et la police Feta.
1016
1017 @item
1018 @ruser{Cheat sheet} : référence pratique des commandes LilyPond les
1019 plus courantes.
1020
1021 @item
1022 @ruser{LilyPond command index} : index de toutes les @code{\commandes}
1023 LilyPond.
1024
1025 @item
1026 @ruser{LilyPond index} : un index complet.
1027
1028 @end itemize
1029
1030
1031 @node About the Application Usage
1032 @unnumberedsubsec About the Application Usage
1033
1034 @cindex Utilisation des programmes
1035 @cindex intégration de LilyPond avec d'autres programmes
1036
1037 Ce manuel explique l'exécution des programmes et l'intégration de
1038 partitions LilyPond dans d'autres programmes.
1039
1040 @itemize
1041
1042 @item
1043 @rprogram{Install} : installation --- et éventuellement compilation ---
1044 de LilyPond.
1045
1046 @item
1047 @rprogram{Setup} : configuration de votre système pour une utilisation
1048 optimale de LilyPond, comprenant l'utilisation d'environnements
1049 adaptés pour certains éditeurs de tecte.
1050
1051 @item
1052 @rprogram{Running LilyPond} : exécution de LilyPond et de ses
1053 programmes auxiliaires.  De plus, cette partie explique comment
1054 effectuer la mise à jour de fichiers source écrits avec d'anciennes
1055 versions de LilyPond.
1056
1057 @item
1058 @rprogram{LilyPond-book} : création de documents intégrant des
1059 extraits musicaux, comme ce manuel.
1060
1061 @item
1062 @rprogram{Converting from other formats} : utilisation des programmes
1063 de conversion.  Ces programmes sont livrés avec le paquetage LilyPond,
1064 et convertissent divers formats de musique vers le format @code{.ly}.
1065
1066 @end itemize
1067
1068
1069 @node About the Snippet List
1070 @unnumberedsubsec About the Snippet List
1071
1072 @cindex snippets
1073 @cindex extraits de code
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