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