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