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