1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
4 Translation of GIT committish: ee20a00bbe6704553bb1f761899a727fc150ab46
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
13 @c Translators: Jean-Charles Malahieude, John Mandereau, Gauvain Pocentek
14 @c Translation checkers:
16 @node La gravure musicale
17 @chapter La gravure musicale
18 @translationof Music engraving
20 Ce chapitre traite des objectifs et de l'architecture de LilyPond.
23 @c remove 3mm eps bounding box left padding for Sarabande (This will
24 @c require adding a new snippet option to lilypond-book.py
25 @c check formatting of HTML output
29 * L'histoire de LilyPond:: ce qui ne va pas avec les logiciels
30 * La gravure en détails:: de l'homme à la machine
31 * La gravure automatisée:: de la machine à l'homme
32 * De la théorie à la pratique:: qui fait quoi
33 * Démonstration par l'exemple:: LilyPond à l'œuvre
34 * Comparatif (BWV 861)::
37 @node L'histoire de LilyPond
38 @section L'histoire de LilyPond
39 @translationof The LilyPond story
41 Bien avant que LilyPond soit à l'origine de tout un matériel d'orchestre
42 d'excellente facture ou qu'il participe à la création d'ouvrages
43 universitaires, avant même qu'il serve à imprimer la plus simple des
44 mélodies, avant que la communauté des utilisateurs de LilyPond
45 s'étende sur toute la planète, LilyPond est parti du constat suivant@tie{}:
48 Pourquoi la plupart des partitions qui sortent d'un ordinateur ne
49 parvient-elle pas à égaler la beauté et l'élégance des partitions
50 gravées à la main@tie{}?
54 Certaines réponses sont évidentes si l'on considère les deux partitions
59 des pages qui suivent.
61 La première, qui date des années 1950, a été gravée à la main ; la
62 seconde est une édition informatisée contemporaine.
67 Bärenreiter BA 320, @copyright{}1950 :
69 @sourceimage{baer-suite1-fullpage,,,png}
74 Henle n° 666, @copyright{}2000 :
76 @sourceimage{henle-suite1-fullpage,,,png}
80 Il s'agit de la même musique, tirée de la première suite pour
81 violoncelle solo de Bach, mais ce n'est pas si évident, surtout
82 lorsqu'on imprime ces deux pages et les considère à distance.
84 (Les images contenues dans la version PDF de ce manuel sont en haute
85 résolution, en vue de leur impression.)
87 Si vous posez ces pages sur un pupitre et les lisez ou prenez votre
88 archet, vous constaterez que la gravure manuelle est nettement plus
89 agréable à la vue. Ses lignes sont fluides et il y a du mouvement,
90 c'est de la musique et c'est vivant. Quant à l'édition moderne, elle a
91 l'air terne et mécanique.
93 Ce qui rend cette nouvelle édition différente n'est pas évident au
94 premier coup d'œil : c'est propre et condensé, presque @qq{mieux} que
95 l'autre dans la mesure où tout y est @qq{calculé} pour atteindre
96 l'uniformité. À vrai dire, il nous a fallu un moment pour nous en
97 rendre compte. Notre but étant d'améliorer la notation informatisée, il
98 nous fallait mettre le doigt sur ce qui ne va pas.
100 Le problème se situe au niveau même de la précision toute mathématique
101 qui amène à l'uniformité de cette nouvelle édition. Considérons les
102 barres de mesure en milieu de ligne@tie{}: dans la partition
103 traditionnelle, leur emplacement varie quelque peu, à l'inverse de la
104 nouvelle, où toutes les barres sont rigoureusement alignées. Pour que
105 ce soit bien clair, le schéma ci-dessous montre en parallèle ce
106 positionnement, tant pour la version traditionnelle -- à gauche -- que
107 pour la version moderne -- à droite.
111 @sourceimage{pdf/page-layout-comparison,,,}
114 @sourceimage{page-layout-comparison,,,png}
119 Sur la partition générée par l'ordinateur, même les notes sont alignées
120 et la mélodie finit par disparaître derrière un quadrillage à base de
123 Il y a bien sûr d'autres divergences. En ce qui concerne l'édition
124 traditionnelle, les traits verticaux sont plus épais, les liaisons plus
125 rapprochées des têtes de note, et la pente des ligatures -- liens
126 groupant les croches -- pas toujours la même. D'aucuns diront que tout
127 ceci n'est que pinaillerie, il n'en demeure pas moins que cette
128 partition a plus de lisibilité. Dans la partition informatisée, il n'y
129 a pratiquement aucune différence d'une ligne à l'autre, et si
130 l'interprète la quitte des yeux un instant, il risque de ne plus savoir
131 où il en était sur la page.
133 LilyPond a été conçu dans le but de résoudre les problèmes que nous
134 avons décelés dans divers logiciels existant et aussi dans l'optique
135 d'atteindre une qualité comparable aux meilleures partitions gravées à
141 Bärenreiter BA 320, @copyright{}1950 :
143 @sourceimage{baer-suite1-fullpage,16cm,,}
146 Henle no 666, @copyright{}2000 :
148 @sourceimage{henle-suite1-fullpage,16cm,,}
152 @node La gravure en détails
153 @section La gravure en détails
154 @translationof Engraving details
157 @cindex typographie musicale
158 @cindex musique et typographie
159 @cindex plate engraving
160 @cindex music engraving
162 L'art de la typographie musicale est celui de la @emph{gravure
163 musicale}. Ce terme vient du procédé traditionnel de l'impression
164 musicale@footnote{Dès le début, les imprimeurs européens ont essayé
165 plusieurs techniques, allant de la matrice en bois sculpté à la fine
166 plaque de métal ciselée, en passant par des typons mobiles. L'avantage
167 de ces derniers résidait dans la possibilité d'effectuer aisément des
168 corrections et de facilement ajouter à la musique texte et paroles.
169 Néanmoins seule la gravure offrait l'avantage d'appréhender le rendu
170 global. C'est la raison pour laquelle la gravure est devenue le
171 standard en matière de musique imprimée, à l'exception près de certains
172 livres de cantiques, y compris au XXe siècle, essentiellement pour des
173 raisons de simplicité et de coût.}. Il y a encore quelques décennies,
174 les partitions étaient réalisées en taillant et ciselant la musique dans
175 des plaques de zinc ou d'étain, en inverse, comme dans un miroir. Ces
176 plaques étaient encrées et les reliefs créés par les poinçons et les
177 découpes retenaient l'encre. La partition était alors réalisée en
178 pressant le papier contre la plaque. Découpes et poinçons étaient
179 entièrement faits à la main. Dans la mesure où les corrections étaient
180 presque irréalisables, la gravure devait être correcte dès le premier
181 essai. Cela demande évidemment une très grande habileté. La gravure
182 musicale est un métier d'artisan, appris sur le tas. Un graveur ne
183 devenait un maître accompli qu'après une dizaine d'années de pratique.
187 @sourceimage{hader-slaan,,7cm,}
190 @sourceimage{hader-slaan,,,jpg}
194 LilyPond s'inspire du travail réalisé par les maîtres graveurs qui
195 officiaient chez les éditeurs européens jusque dans les années 1950.
196 Ceux-ci sont bien souvent considérés comme ayant atteint le sommet de
197 leur art, et comptent dans leurs rangs des maisons telles que
198 Bärenreiter, Duhem, Durand, Hofmeister, Peters ou Schott. Au fil de
199 notre analyse de ces éditions, nous en avons appris encore plus sur ce
200 qu'il faut pour obtenir une partition d'excellente facture, et ce sur
201 quoi LilyPond devait porter ses efforts.
203 @c Now all newly printed music is produced with computers. This has
204 @c obvious advantages: prints are cheaper to make, editorial work can be
205 @c delivered by email, and the original data can be easily stored.
206 @c Unfortunately, computer-generated scores rarely match the quality of
207 @c hand-engraved scores. Instead, computer printouts have a bland,
208 @c mechanical look, which makes them unpleasant to play from.
211 * Fontes et polices:: De la création des polices musicales
212 * Espacement:: Considérations sur les espacements
213 * Lignes supplémentaires:: Cas particulier en matière de notation
214 * Tailles:: Considérations sur la taille des portées
215 * La raison de tous ces efforts:: Pourquoi s'attacher aux détails
218 @node Fontes et polices
219 @unnumberedsubsec Fontes et polices
220 @translationof Music fonts
222 Les images ci-dessous mettent en évidence certaines différences entre
223 l'art du graveur traditionnel et le résultat habituel sorti d'un
224 ordinateur. L'image de gauche est un @emph{fac simile} d'un bémol tiré
225 d'une édition Bärenreiter traditionnelle@tie{}; celle de droite est
226 issue de la même partition, éditée en 2000. Bien que toutes deux soient
227 imprimées avec le même encrage, la version @qq{ancienne} paraît plus
228 noire : les lignes de la portée y sont plus épaisses et le galbe du
229 bémol de Bärenreiter est à la limite de la volupté. Sur l'autre image,
230 les lignes sont plus fines et le bémol semble raide, coincé.
232 @multitable @columnfractions .25 .25 .25 .25
236 @sourceimage{baer-flat-gray,,4cm,}
239 @sourceimage{baer-flat-gray,,,png}
244 @sourceimage{henle-flat-gray,,4cm,}
247 @sourceimage{henle-flat-gray,,,png}
252 @sourceimage{henle-flat-bw,,,png}
253 @sourceimage{baer-flat-bw,,,png}
254 @sourceimage{lily-flat-bw,,,png}
265 @cindex symboles musicaux
270 Lorsque nous nous sommes décidés à écrire un programme permettant de
271 typographier la musique, aucune police librement accessible ne
272 correspondait à l'esthétique de nos partitions préférées. Sans
273 toutefois nous décourager, nous avons créé notre propre jeu de symboles
274 musicaux à partir des éditions traditionnelles dont nous disposions.
275 L'expérience aidant, notre goût typographique s'est développé et nous
276 avons pu appréhender certaines subtilités stylistiques qui nous font
277 trouver maintenant de piètre qualité des polices que nous avions tout
280 À titre d'exemple, voici deux fontes musicales : la première ligne
281 comporte des caractères de la police par défaut du logiciel Sibelius --
282 la police @emph{Opus} -- et la deuxième, ces mêmes caractères dans notre
283 propre police pour LilyPond.
287 @sourceimage{pdf/OpusAndFeta,,,}
290 @sourceimage{OpusAndFeta,,,png}
294 Les symboles de LilyPond sont plus forts et leur épaisseur plus
295 équilibrée, ce qui d'ailleurs les rend plus lisibles. Les extrémités en
296 pointe, comme pour le soupir, devraient avoir une terminaison légèrement
297 arrondie plutôt qu'un angle tranchant. Ceci s'explique par la fragilité
298 des poinçons qui s'émoussent rapidement lors du martellement et de la
299 ciselure. Par ailleurs, la densité de la police doit tenir compte de
300 l'épaisseur des lignes, ligatures et liaisons afin d'obtenir un rendu
301 plein d'intensité et d'équilibre.
303 Vous noterez aussi que notre ronde n'est pas ovoïde, mais plutôt en
304 forme de losange. La barre de notre bémol est comme brossée, le haut
305 étant de fait un peu plus large. Notre dièse et notre bécarre sont plus
306 évidents à reconnaître à distance du fait que leurs barres transversales
307 n'ont pas la même pente et que les verticales sont plus épaisses.
310 @unnumberedsubsec Espacement
311 @translationof Optical spacing
313 Si l'on considère l'espacement, sa répartition devrait refléter la durée
314 des notes. Néanmoins, et comme nous l'avons vu plus haut avec la suite
315 de Bach, la plupart des éditions modernes se basent sur des durées à la
316 précision mathématique, ce qui entraine un effet des plus monotones.
317 Dans l'exemple qui suit, le même motif est imprimé deux fois@tie{}: la
318 première en appliquant un espacement chronométrique, la seconde avec
319 quelques corrections. Quelle version remporte vos suffrages@tie{}?
321 @cindex optique et espacement
322 @cindex espacement et effet d'optique
344 \override NoteSpacing #'stem-spacing-correction = #0.0
345 \override NoteSpacing #'same-direction-correction = #0.0
346 \override StaffSpacing #'stem-spacing-correction = #0.0
372 \override NoteSpacing #'stem-spacing-correction = #0.6
378 @cindex rythmes réguliers
379 @cindex espacement régulier
380 @cindex régulier, espacement
382 Chaque mesure de ce fragment comporte des notes d'égale valeur, ce qui
383 devrait se constater au niveau de l'espacement. Malheureusement, notre
384 œil nous trompe@tie{}: non seulement il considère la distance séparant
385 deux têtes de notes mais, de surcroît, il prend en compte l'espace
386 entre deux hampes. Par voie de conséquence, une succession de notes
387 hampe en haut puis hampe en bas devrait comporter un espace accru et,
388 dans une situation inverse, être plus resserrée, sans oublier de
389 considérer la hauteur de chacune de ces notes. La deuxième ligne
390 comporte de tels aménagements alors que, dans la première ligne, la
391 succession hampe descendante puis montante laisse apparaître des notes
392 resserrées. Un maître graveur ajusterait les espaces pour obtenir un
393 rendu qui flatte l'œil.
395 Autre effet d'optique -- que d'ailleurs LilyPond prend en considération
396 -- l'espace entre la hampe et la barre de mesure. Lorsqu'une barre est
397 précédée d'une hampe montante, il est judicieux d'accroître l'espace
398 qui les sépare pour éviter cette sensation de tassement. Une note dont
399 la hampe va vers le bas ne nécessite pas un tel ajustement.
401 @node Lignes supplémentaires
402 @unnumberedsubsec Lignes supplémentaires
403 @translationof Ledger lines
405 @cindex lignes supplémentaires
408 Les lignes supplémentaires sont une gageure pour le typographe@tie{}:
409 les différents symboles musicaux doivent être suffisamment rapprochés
410 pour que le lecteur identifie la hauteur au premier coup d'œil. Vous
411 noterez, dans l'exemple qui suit, que les lignes supplémentaires sont un
412 peu plus épaisses que celles de la portée. Par ailleurs, un maître
413 graveur écourtera la ligne supplémentaire en présence d'une altération.
414 LilyPond, dans sa recherche d'efficacité, adopte ces pratiques.
416 @multitable @columnfractions .25 .25 .25 .25
420 @sourceimage{baer-ledger,3cm,,}
423 @sourceimage{baer-ledger,,,png}
429 @sourceimage{lily-ledger,3cm,,}
432 @sourceimage{lily-ledger,,,png}
439 @unnumberedsubsec Tailles
440 @translationof Optical sizing
442 Une même œuvre peut être imprimée dans différents formats -- d'une
443 partie instrumentale au conducteur format de poche. Les graveurs
444 traditionnels utilisaient alors des poinçons différents pour obtenir le
445 meilleur rendu selon la taille de la partition. L'avènement des fontes
446 digitalisées permet d'obtenir n'importe quelle taille à partir d'un
447 simple tracé. Bien que ceci constitue un progrès en soi, il nous faut
448 cependant nuancer@tie{}: les glyphes sont moins forts lorsqu'ils sont de
451 Pour les besoins de lilyPond, nous avons créé des polices de graisse
452 différente selon la taille. Voici ce que produit LilyPond dans une
453 taille de portée de 26@tie{}points@tie{}:
457 @sourceimage{pdf/size26,,23mm,}
460 @sourceimage{size26,,,png}
465 et la même musique en 11@tie{}points, grossie de 236@tie{}% pour obtenir
466 une taille identique à l'image précédente@tie{}:
470 @sourceimage{pdf/size11,,23mm,}
473 @sourceimage{size11,,,png}
478 Comme vous le constatez, LilyPond imprime des lignes un peu plus
479 épaisses pour garantir une meilleure lecture à taille réduite.
482 This also allows staves of different sizes to coexist peacefully when
483 used together on the same page:
485 @c TODO: are the stems in this example the right thickness? How should
486 @c line weights be scaled for small staves?
488 @c Grieg's Violin Sonata Op. 45
489 @lilypond[indent=1.5cm]
499 \override StaffSymbol #'staff-space = #(magstep -4)
500 \override StaffSymbol #'thickness = #(magstep -3)
504 \set Staff.instrumentName = #"Violin"
505 c8.(\f^> b16 c d) ees8.(^> d16 c b)
506 g8.(^> b16 c ees) g8-.^> r r
510 \set PianoStaff.instrumentName = #"Piano"
511 \new Staff \relative c' {
514 s4. s8 r8 r16 <c f aes c>
515 <c f aes c>4.^> <c ees g>8 r r
517 \new Staff \relative c {
522 \once \override DynamicText #'X-offset = #-3
524 <ees g c>4.~ <ees g c>8
527 <c g c,>4.~ <c g c,>8
530 r8 r16 <f, c' aes'>16
531 <f c' aes'>4.-> <c' g'>8 r r
539 @node La raison de tous ces efforts
540 @unnumberedsubsec La raison de tous ces efforts
541 @translationof Why work so hard?
543 Les musiciens sont normalement plus concentrés sur la manière dont ils
544 jouent la musique que sur son apparence, aussi ces pinailleries sur des
545 détails de typographie peuvent paraître académiques. Il n'en est rien.
546 La partition contribue, au même titre que bien d'autres éléments, à
547 l'existence même d'une représentation@tie{}: tout doit être fait pour
548 que l'interprète donne le meilleur de lui-même, et ce qui est peu clair
549 ou pas agréable à lire constitue un frein.
551 La musique gravée de manière traditionnelle présente des symboles denses
552 et des lignes épaisses. Ceci produit un résultat équilibré, à plus
553 forte raison si la partition est éloignée du lecteur, comme lorsqu'elle
554 est posée sur un pupitre. Une répartition attentive des blancs permet
555 de resserrer la musique sans pour autant tasser les symboles et, au
556 final, diminue le nombre de tournes -- avantage indéniable.
558 C'est une caractéristique commune de la typographie. La présentation
559 devrait être soignée, non seulement pour l'amour de l'art, mais plus
560 spécialement parce qu'elle vient en aide au lecteur dans sa tâche.
561 Pour du matériel d'interprétation tel que les partitions de musique,
562 ceci est doublement important@tie{}: les musiciens sont limités dans
563 leur attention. Au moins leur attention se porte sur la lecture, au
564 plus ils peuvent se concentrer sur l'exécution. En d'autres termes, une
565 meilleure typographie se traduit par une meilleure interprétation.
567 Ces considérations montrent bien que la typographie musicale est un art
568 à la fois complexe et plein de subtilités, et qu'elle recquiert des
569 compétences particulières que la majorité des musiciens ne possède pas.
570 LilyPond s'efforce de transposer le degré d'excellence de la gravure
571 traditionnelle à l'ère de l'ordinateur et donc de le mettre à
572 disposition de tous les musiciens. Nous avons affiné nos algorithmes,
573 le @emph{design} de nos fontes et les réglages du programme de manière à
574 produire des partitions d'une qualité comparable aux bonnes vieilles
575 éditions que nous avons toujours autant de plaisir à voir et à
579 @node La gravure automatisée
580 @section La gravure automatisée
581 @translationof Automated engraving
583 @cindex gravure automatisée
584 @cindex automatisée, gravure
586 Nous allons maintenant examiner les éléments nécessaires à la création
587 d'un logiciel capable d'imiter le rendu des partitions gravées à
588 l'ancienne. Nous commencerons par voir comment inculquer à l'ordinateur
589 les @qq{bonnes manières} de la présentation. Nous nous attarderons
590 ensuite sur l'analyse comparative par rapport aux éditions
591 traditionnelles, avant de considérer le degré de flexibilité à y inclure
592 pour être en mesure de gérer les différents cas de figure particuliers à
596 * Concours de beauté:: l'option du moindre mal
597 * Modélisation et banc d'essai:: l'évaluation des performances
598 * Règles de formatage:: l'architecture flexible
601 @node Concours de beauté
602 @unnumberedsubsec Concours de beauté
603 @translationof Beauty contests
605 Quels sont en réalité nos critères de formatage@tie{}? Considérant
606 l'image suivante, laquelle de ces trois configurations devrions-nous
607 choisir pour formater la liaison@tie{}?
612 \once \override Slur #'positions = #'(1.5 . 1)
613 e8[( f] g[ a b d,)] r4
614 \once \override Slur #'positions = #'(2 . 3)
615 e8[( f] g[ a b d,)] r4
616 e8[( f] g[ a b d,)] r4
620 Seuls quelques ouvrages traitent de l'art de graver la musique. Ils ne
621 contiennent malheureusement que des généralités et quelques exemples.
622 La lecture de telles règles est certes instructive, mais est très loin
623 de nous conduire à un algorithme prêt à être implémenté dans un
624 programme. Dans la pratique, suivre les instructions de ces traités
625 aboutirait à des algorithmes qui figent bon nombre d'exceptions.
626 Répertorier tous ces cas de figure demanderait un travail considérable,
627 qui finalement ne les couvrirait pas tous.
631 @sourceimage{ross-beam-scan,7cm,,}
634 @sourceimage{ross-beam-scan,,,.jpg}
638 @emph{Règles de formatages définies par l'exemple. Image tirée de
639 l'ouvrage de Ted Ross @qq{The Art of Music Engraving}}
641 Plutôt que d'écrire une foultitude de règles qui embrasserait tous les
642 cas de figure possibles et imaginables en matière de mise en forme, nous
643 avons préféré inculquer à LilyPond un certain nombre d'objectifs qui lui
644 permette de choisir entre différentes alternatives selon leur
645 esthétique. Pour ce faire, chacune des configurations est analysée en
646 terme de moins bonne qualité, et nous opterons pour celle étant la moins
649 Voici, à titre d'exemple, trois configurations possibles pour le tracé
650 d'une liaison@tie{}; Lilypond leur attribue individuellement une @qq{note
651 de laideur}. Le premier essai se voit attribuer 15,39 points notamment
652 pour l'effleurement de la tête de note.
657 \once \override Slur #'positions = #'(1.5 . 1)
658 e8[(_"15.39" f] g[ a b d,)] r4
662 La liaison ci-dessous reste à une distance uniforme des notes, mais il
663 faut tenir compte du fait qu'elle n'est pas rattachée aux première et
664 dernière notes. Ceci nous fait 1,71@tie{}points pour le début de la
665 liaison et 9,37 pour la terminaison -- qui est beaucoup plus éloignée de
666 la dernière note. Par ailleurs, la liaison monte alors que la mélodie
667 redescend, ce qui entraîne une pénalité de 2@tie{}points. Ceci nous
668 fait un total de 13,08@tie{}points de laideur.
673 \once \override Slur #'positions = #'(2 . 3)
674 e8[(_"13.08" f] g[ a b d,)] r4
678 Quant à la liaison qui suit, seule la terminaison reste éloignée de la
679 dernière note, ce qui donne 10,04@tie{}points de laideur auxquels nous
680 ajoutons 2 autres points pour la pente ascendante. Cette configuration
681 étant la moins laide, ou plutôt la version la plus satisfaisante, nous
687 e8[(_"12.04" f] g[ a b d,)] r4
691 Cette manière de procéder est générique, et nous y avons recours dans
692 bon nombre de situations, comme pour déterminer la pente d'un lien de
693 croches, formater des accords liés, formater des accords avec des
694 valeurs pointées, positionner les sauts de ligne ou de page. Cette
695 technique est consommatrice de temps de calcul, dans la mesure où elle
696 examine de nombreuses possibilités ; néanmoins, le jeu en vaut la
697 chandelle, puisque le résultat final est bien meilleur et nous rapproche
698 des éditions traditionnelles.
700 @node Modélisation et banc d'essai
701 @unnumberedsubsec Modélisation et banc d'essai
702 @translationof Improvement by benchmarking
704 Au fil du temps, le rendu de LilyPond a évolué, et continue de
705 s'améliorer lorsqu'on le compare aux partitions gravées à la main.
707 Voici un extrait de l'une de nos éditions de référence (Bärenreiter BA
711 @sourceimage{baer-sarabande-hires,16cm,,}
714 @sourceimage{baer-sarabande,,,png}
718 et ce que génère l'une des anciennes versions de LilyPond -- la 1.4,
719 publiée en mai 2001@tie{}:
722 @sourceimage{pdf/lily14-sarabande,16cm,,}
725 @sourceimage{lily14-sarabande,,,png}
728 @noindent La sortie LilyPond est certes lisible, et acceptable pour
729 beaucoup de gens. Cependant, une comparaison minutieuse avec une
730 édition gravée à la main révèle de nombreuses erreurs de
734 @sourceimage{lily14-sarabande-annotated-hires,16cm,,}
737 @sourceimage{lily14-sarabande-annotated,,,png}
741 @item trop d'espace avant la métrique
742 @item la hampe des notes ligaturées est trop longue
743 @item les deuxième et quatrième mesures sont trop tassées
744 @item la liaison est affreuse
745 @item les indications de trille sont trop grosses
746 @item les hampes sont trop fines
750 Passons sous silence les notes et indications absentes, tout comme
751 la faute de hauteur@tie{}!
753 En ajustant les algorithmes, paramètres et polices concernés, nous avons
754 pu améliorer le résultat. La deuxième ligne ci-dessous a été générée
755 par la version la plus récente de LilyPond (@version{}).
758 @sourceimage{baer-sarabande-hires,16cm,,}
761 @sourceimage{baer-sarabande,,,png}
764 @lilypond[staffsize=17.5,line-width=15.9\cm]
769 \mergeDifferentlyDottedOn
771 {\slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e)}
776 <f' a, d,>4. e8( d c)
778 bes g' f e16( f g_1 a_2 bes_3 d,_2)
780 cis4.-\trill b8_3( a g)
782 {\slurDashed d'8.( e16) e4.-\trill( d16 e)}
790 Sans être un clone de l'édition de référence, cette sortie est plus
791 proche d'une qualité de publication que les précédentes.
793 @node Règles de formatage
794 @unnumberedsubsec Règles de formatage
795 @translationof Getting things right
797 Nous pouvons aussi évaluer les capacités de LilyPond dans ses choix, en
798 comparant ses résultats avec ce que génèrent d'autres d'autres logiciels
799 du marché. Notre choix s'est porté sur Finale@tie{}2008, l'un des
800 logiciels les plus populaires notamment en Amérique du Nord. Son plus
801 proche concurrent est Sibelius, très répandu sur le marché européen.
803 Pour cette analyse comparative, nous avons choisi la fugue en sol mineur
804 du premier livre du Clavier bien tempéré de Bach (BWV@tie{}861). En
805 voici le thème@tie{}:
812 r8 a16 bes c8 bes16 a bes8
818 Nous nous sommes intéressés aux sept dernières mesures (27 à 34) de
819 l'œuvre, que nous avons saisies à la fois avec Finale et avec LilyPond.
820 C'est à cet endroit que le sujet est rappelé, dans une strette à trois
821 voix, avant de mener à la conclusion. Pour ce qui est de Finale, nous
822 nous sommes abstenus d'effectuer quelque ajustement que ce soit dans le
823 but d'obtenir un résultat par défaut. Ceci permet de vraiment apprécier
824 conjointement ce que génère chacun des deux logiciels sans retouche
825 aucune. Nous avons toutefois redimensionné la page pour les besoins de
826 cet essai et forcé la musique à tenir sur deux systèmes pour que la
827 comparaison soit plus évidente. En effet, Finale crée par défaut deux
828 systèmes de trois mesure, et un troisième -- s'étalant sur toute la
829 ligne -- pour la dernière mesure.
831 La plupart des différences entre ces deux éditions -- Finale pour la
832 première image -- se situent dans les mesures 28 et 29@tie{}:
835 @sourceimage{pdf/bwv861mm28-29,14cm,,}
838 @sourceimage{bwv861mm28-29,,,png}
841 @lilypond[staffsize=19.5,line-width=14\cm]
842 global = {\key g \minor}
844 partI = \relative c' {
846 fis8 d' ees g, fis4 g
847 r8 a16 bes c8 bes16 a d8 r r4
850 partII = \relative c' {
852 d4 r4 r8 d'16 c bes8 c16 d
856 partIII = \relative c' {
858 r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
861 partIV = \relative c {
869 % \set Score.barNumberVisibility = #all-bar-numbers-visible
871 \set Score.currentBarNumber = #28
876 \new Voice = "voiceI" { \partI }
877 \new Voice = "voiceII" { \partII }
882 \new Voice = "voiceIII" { \partIII }
883 \new Voice = "voiceIV" { \partIV }
890 \remove "Time_signature_engraver"
894 \override StaffGrouper #'between-staff-spacing #'padding = #1
900 Entre autres défauts du résultat brut de Finale, nous notons :
902 @item La majorité des ligatures est trop éloignée de la portée.
903 Lorsqu'une ligature se retrouve vers le milieu de la portée, la hauteur
904 des hampes qui la portent est d'environ une octave. Néanmoins, un
905 maître graveur les raccourcira dès lors que cette ligature est en dehors
906 de la portée d'une section à plusieurs voix. Les règles de ligatures de
907 Finale peuvent être améliorées à l'aide du greffon @emph{Patterson
908 Beams}, que nous avons décidé de laisser de côté pour cet exemple.
909 @item Finale n'ajuste pas la position des notes qui s'entrecroisent. Il
910 en résulte une lecture peu évidente lorsque les voix supérieure et
911 inférieure de croisent temporairement@tie{}:
915 collide = \once \override NoteColumn #'force-hshift = #0
918 \new Voice = "sample" \relative c''{
921 {\voiceOne g4 \collide g4}
922 \new Voice {\voiceTwo bes \collide bes}
925 \new Lyrics \lyricsto "sample" \lyricmode { "bien " " mauvais" }
930 @item Finale positionne tous les silences d'une même voix à une hauteur
931 fixe de la portée. Si l'utilisatuer peut les déplacer à loisir, le
932 logiciel ne se soucie en rien de ce qui se passe dans les autres voix.
933 Par chance, il n'y a aucune collision entre un silence et une note dans
934 cet exemple@tie{}; cela tient plutôt à la position des notes qu'à celle
935 des silences. Tout compte fait, le mérite en revient à Bach plutôt qu'à
936 Finale d'éviter les collisions.
940 Cet exemple ne vise en aucun cas à démontrer que Finale est incapable de
941 fournir un résultat admirable. Au contraire, un utilisateur chevronné
942 pourra obtenir quelque chose d'excellent, mais au prix d'une bonne dose
943 tant de dextérité que de temps. La différence fondamentale entre
944 LilyPond et les générateurs de partition commerciaux réside dans le fait
945 suivant@tie{}: LilyPond tend à réduire l'intervention de l'utilisateur à
946 sa plus imple expression, alors que les autres programmes font tout pour
947 avoir une interface attractive pour effectuer toutes les retouches.
949 Par ailleurs, Finale commet une erreur particulièrement flagrante@tie{}:
950 il manque un bémol à la mesure 33
954 @sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,}
957 @sourceimage{bwv861mm33-34-annotate,,,png}
962 Il faut un bémol pour annuler le bécarre qui se trouve dans la même
963 mesure, mais Finale ne s'en rend pas compte parce qu'il se trouve dans
964 une autre voix. Ainsi, l'utilisateur doit non seulement recourir à un
965 greffon pour gérer les ligatures, repositionner têtes de note et
966 silences, il lui faut de surcroit vérifier qu'à chaque mesure les
967 altérations sont en conformité indépendament des voix s'il veut être à
968 l'abri de toute interruption d'une répétition pour une erreur dans la
971 S'il vous plaît d'examiner ces sept mesures de plus près, elles sont
972 reproduites en intégralité à la fin de cet essai, ainsi que quatre
973 autres versions. Vous noterez certaines variations entre les éditions
974 traditionnelles, et LilyPond tient un rang acceptable. Il reste tout de
975 même quelques petits défauts à régler, comme le raccourcissement peut
976 être exagéré des hampes@tie{}; il y a donc encore de quoi faire pour les
979 La typographie relevant d'un jugement humain, les personnes ne peuvent
980 être remplacées. Beaucoup de tâches rébarbatives peuvent cependant être
981 automatisées@tie{}: si LilyPond parvenait à gérer la plupart des
982 situations usuelles correctement, ce serait un grand pas en avant pour
983 l'édition informatisée. Au fil du temps, le logiciel pourra être révisé
984 afin d'automatiser de plus en plus d'actions, de sorte que les
985 ajustements manuels seront de moins en moins nécessaires. Les cas
986 particuliers peuvent être traités manuellement, notamment grâce à
987 l'architecture flexible de LilyPond.
990 @node De la théorie à la pratique
991 @section De la théorie à la pratique
992 @translationof Building software
994 Nous allons nous intéresser, dans les paragraphes qui suivent, aux
995 arbitrages en terme de programmation qui ont participé à l'élaboration
999 * Représentation de la musique:: le format de saisie
1000 * Les constituants de la gravure:: quels symboles graver
1001 * Flexibilité architecturale::
1005 @node Représentation de la musique
1006 @unnumberedsubsec Représentation de la musique
1007 @translationof Music representation
1010 @cindex structures récursives
1011 @cindex récursivité des structures
1013 Le format de saisie idéal pour un système évolué de formatage consiste
1014 en la description abstraite du contenu. Dans le cas qui nous occupe, il
1015 s'agit tout bonnement de la musique. Cela n'est pas sans poser un
1016 énorme problème@tie{}: comment définir @emph{ce qu'est} la
1017 musique@tie{}? Pour résoudre ce problème, nous l'avons inversé. Au
1018 lieu de définir ce qu'est la musique, notre programme sert de
1019 définition@tie{}: nous avons écrit un programme capable de produire des
1020 partitions, et avons ajusté son format de saisie pour être aussi léger
1021 que possible. Lorsque le format ne peut plus être simplifié, nous
1022 avons par définition atteint le contenu même. Autrement dit, notre
1023 programme utilise la définition formelle d'un document musical.
1025 La syntaxe est également celle de l'interface utilisateur de LilyPond,
1026 puisqu'elle peut être facilement tapée au clavier@tie{}:
1035 sont un do médium noire et un ré croche juste au-dessus.
1043 À petite échelle, une telle syntaxe est pratique. À plus grande
1044 échelle, une structuration est nécessaire. Sans cela, comment saisir
1045 des pièces aussi complexes qu'un opéra ou une symphonie@tie{}? La
1046 structure est construite selon le même concept que les expressions
1047 musicales@tie{}: c'est en combinant de petits fragments qu'une musique
1048 plus complexe peut être représentée. Par exemple@tie{}:
1050 @lilypond[quote,verbatim,fragment,relative=1]
1055 Quand des notes sont combinées simultanément, il suffit de les insérer
1056 entre @code{<<} et @code{>>}@tie{}:
1062 @lilypond[quote,fragment,relative=1]
1063 \new Voice { <<c4 d4 e>> }
1067 Insérées dans une paire d'accolades @code{@{@tie{}@dots{}@tie{}@}}, ces
1068 expressions sont intégrées dans une séquence@tie{}:
1071 @{ f4 <<c4 d4 e4>> @}
1074 @lilypond[quote,relative=1,fragment]
1079 Ceci constitue une nouvelle expression, qui peut être à son tour
1080 combinée avec une autre expression simultanée (en l'occurence une
1081 blanche) à l'aide de @code{<<}, @code{\\} et @code{>>}@tie{}:
1084 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
1087 @lilypond[quote,fragment,relative=2]
1088 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
1091 De telles structures récursives peuvent être définies formellement et
1092 de manière ordonnée avec une @emph{grammaire libre de tout contexte}.
1093 Le code d'analyse de la saisie est également généré depuis cette
1094 grammaire. Autrement dit, la définition de la syntaxe de LilyPond est
1095 claire et sans ambiguïté.
1097 Ce sont la syntaxe et l'interface qui concernent les utilisateurs.
1098 Elles sont sujettes à discussion, puisque relatives aux goûts de chacun.
1099 Bien que ces discussions soient intéressantes, elles ne sont pas
1100 productives. À l'échelle de LilyPond, l'importance du format de saisie
1101 est minime@tie{}: inventer une syntaxe claire est bien plus aisé
1102 qu'écrire un code de mise en page décent. Ceci est d'ailleurs
1103 illustré par le nombre de lignes de code de ces composants
1104 respectifs@tie{}: l'analyse du texte de saisie et sa représentation
1105 pèsent moins de 10@tie{}% du code.
1107 Dans la conception des structures utilisées par LilyPond, nous avons
1108 pris certaines options divergentes des autres logiciels. Considérons la
1109 nature par essence hiérarchique de la notation musicale@tie{}:
1111 @lilypond[quote,fragment]
1113 \new Staff \relative c'' {
1116 d4 g,8 a b c d4 g, g
1118 \new Staff \relative c' {
1126 Nous y voyons des hauteurs regroupées en accords appartenant à des
1127 mesures elles-même rattachées à des portées. On pourrait représenter
1128 cela par un système de boîtes imbriquées@tie{}:
1132 @sourceimage{pdf/nestedboxes,,4cm,}
1135 @sourceimage{nestedboxes,,,png}
1139 Cette structure est cependant réductrice car reposant sur des postulats
1140 extrêmement restrictifs. Cela devient plus évident dès lors que la
1141 musique se complique@tie{}:
1147 \remove "Timing_translator"
1148 \remove "Default_bar_line_engraver"
1152 \consists "Timing_translator"
1153 \consists "Default_bar_line_engraver"
1158 \new Staff = "RH" <<
1159 \new Voice = "I" \relative c''' {
1162 \times 6/7 {g8 g g g g g g}
1164 r4 <b,, fis' g bes> r4\fermata
1166 \new Voice = "II" \relative c' {
1171 \change Staff = "LH" \oneVoice
1174 \override Stem #'cross-staff = ##t
1175 \override Stem #'length = #12
1179 \new Staff = "LH" <<
1180 \new Voice = "III" \relative c' {
1190 Ici, les portées débutent et s'arrêtent n'importe où, les voix passent
1191 d'une portée à l'autre, et parfois même occupent deux portées. Nombre
1192 de logiciels auront d'énormes difficultés à reproduire cet exemple, pour
1193 la bonne et simple raison qu'ils se basent sur le modèle hiérarchique de
1194 boîtes imbriquées. LilyPond, quant à lui, tend à préserver la
1195 dichotomie entre le fromat de saisie et une structure aussi flexible que
1199 @node Les constituants de la gravure
1200 @unnumberedsubsec Les constituants de la gravure
1201 @translationof What symbols to engrave?
1209 Si le processus de formatage se charge de décider où positionner les
1210 symboles, encore faudrait-il savoir @emph{quels} symboles doivent
1211 apparaitre -- ou bien, quelle notation utiliser.
1213 La notation musicale consitue une forme d'enregistrement de la musique
1214 qui a d'ailleurs évolué sur un millier d'années. La forme que nous
1215 utilisons de nos jours remonte au début de la Renaissance. Bien que ses
1216 fondements n'aient pas changé -- des têtes de note réparties sur une
1217 portée à cinq lignes --, certains détails sont apparus qui permettent de
1218 rendre compte des apports de la notation contemporaine. La notation
1219 musicale couvre cinq siècles de musique, allant de la simple monodie à
1220 de gigantesques contrepoints orchestraux.
1222 Comment intégrer un tel monstre aux si nombreux visages ? Notre solution
1223 est de clairement distinguer la notation -- @emph{quels} symboles
1224 utiliser -- de la gravure -- @emph{où} les placer. Pour appréhender la
1225 notation, nous l'avons disséquée en éléments simples (et
1226 programmables)@tie{}: chaque type de symbole est géré par un module --
1227 ou greffon -- différent. Tous ces modules sont entièrement
1228 configurables et indépendants, chacun pouvant être développé et amélioré
1229 séparément. Nous appelons ces modules des graveurs (@emph{engravers} en
1230 anglais), par analogie avec ces professionels qui mettent en forme
1231 graphiquement les idées musicales.
1234 Le module le plus basique, qu'on appelle @code{Note_heads_engraver},
1235 crée les têtes de notes@tie{}:
1237 @lilypond[quote,ragged-right]
1238 \include "engraver-example.ily"
1245 \remove "Stem_engraver"
1246 \remove "Phrasing_slur_engraver"
1247 \remove "Slur_engraver"
1248 \remove "Script_engraver"
1249 \remove "Beam_engraver"
1250 \remove "Auto_beam_engraver"
1254 \remove "Accidental_engraver"
1255 \remove "Key_engraver"
1256 \remove "Clef_engraver"
1257 \remove "Bar_engraver"
1258 \remove "Time_signature_engraver"
1259 \remove "Staff_symbol_engraver"
1260 \consists "Pitch_squash_engraver"
1267 Puis le module @code{Staff_symbol_engraver} génère les objets représentant
1268 les lignes de portée@tie{}:
1270 @lilypond[quote,ragged-right]
1271 \include "engraver-example.ily"
1278 \remove "Stem_engraver"
1279 \remove "Phrasing_slur_engraver"
1280 \remove "Slur_engraver"
1281 \remove "Script_engraver"
1282 \remove "Beam_engraver"
1283 \remove "Auto_beam_engraver"
1287 \remove "Accidental_engraver"
1288 \remove "Key_engraver"
1289 \remove "Clef_engraver"
1290 \remove "Bar_engraver"
1291 \consists "Pitch_squash_engraver"
1292 \remove "Time_signature_engraver"
1299 le module @code{Clef_engraver} fournit au @code{Note_head_engraver}
1300 la hauteur à laquelle doit être placée chaque tête de note@tie{}:
1302 @lilypond[quote,ragged-right]
1303 \include "engraver-example.ily"
1310 \remove "Stem_engraver"
1311 \remove "Phrasing_slur_engraver"
1312 \remove "Slur_engraver"
1313 \remove "Script_engraver"
1314 \remove "Beam_engraver"
1315 \remove "Auto_beam_engraver"
1319 \remove "Accidental_engraver"
1320 \remove "Key_engraver"
1321 \remove "Bar_engraver"
1322 \remove "Time_signature_engraver"
1329 et, enfin, les hampes et leurs crochets sont gérés par le
1330 @code{Stem_engraver}@tie{}:
1332 @lilypond[quote,ragged-right]
1333 \include "engraver-example.ily"
1340 \remove "Phrasing_slur_engraver"
1341 \remove "Slur_engraver"
1342 \remove "Script_engraver"
1343 \remove "Beam_engraver"
1344 \remove "Auto_beam_engraver"
1348 \remove "Accidental_engraver"
1349 \remove "Key_engraver"
1350 \remove "Bar_engraver"
1351 \remove "Time_signature_engraver"
1358 Le module @code{Stem_engraver} est appelé dès qu'une tête de note
1359 apparaît. Pour chaque note rencontrée -- ou groupe de notes s'il s'agit
1360 d'un accord --, un objet hampe est créé et attaché à la tête de note.
1361 Si l'on ajoute les modules en charge des ligatures, des liaisons, des
1362 accents, des barres de mesure, de la métrique et de l'armure, nous avons
1363 tout ce qui est nécessaire à une partition.
1365 @lilypond[quote,ragged-right]
1366 \include "engraver-example.ily"
1367 \score { \topVoice }
1371 @cindex engraving multiple voices
1374 Le principe décrit plus haut fonctionne très bien pour de la musique
1375 monophonique, mais qu'en est-il de la polyphonie@tie{}? Dans ce cas,
1376 plusieurs voix peuvent partager la même portée@tie{}:
1378 @lilypond[quote,ragged-right]
1379 \include "engraver-example.ily"
1380 \new Staff << \topVoice \\ \botVoice >>
1383 Ici, la portée et les altérations sont partagées mais les hampes,
1384 liaisons, liens, etc. dépendent de chaque voix. De plus, les graveurs
1385 doivent être regroupés. Les graveurs de têtes de note, hampes,
1386 liaisons, etc. sont donc inclus dans un groupe appelé @emph{Voice context}
1387 (contexte de voix), alors que l'armure, les altérations, les
1388 barres de mesures, etc. sont placées dans un groupe @emph{Staff context}
1389 (contexte de portée). Dans le cas d'une polyphonie, un contexte de
1390 portée contient plusieurs contextes de voix. De même, plusieurs
1391 contextes de portée peuvent être assemblés dans un contexte de partition
1392 (@emph{Score context})@tie{}:
1394 @lilypond[quote,ragged-right]
1395 \include "engraver-example.ily"
1398 \new Staff << \topVoice \\ \botVoice >>
1399 \new Staff << \pah \\ \hoom >>
1405 Référence des propriétés internes :
1406 @rinternals{Contexts}.
1409 @node Flexibilité architecturale
1410 @unnumberedsubsec Flexibilité architecturale
1411 @translationof Flexible architecture
1413 Pour ses premiers pas, LilyPond était totalement écrit en langage
1414 C++@tie{}; les programmeurs gravaient les fonctionnalités du programme
1415 dans le marbre. Cela s'est avéré peu satisfaisant pour plusieurs
1420 @item Il peut arriver que LilyPond commette une erreur, auquel cas
1421 l'utilisateur doit pouvoir déroger aux décisions arbitraires, et donc
1422 se servir du moteur de formatage. Par conséquent, les règles et
1423 paramètres ne peuvent être fixés lors de la compilation, mais doivent
1424 être accessibles lors de l'exécution.
1426 @item Graver est une affaire de jugement visuel, donc une affaire de goût.
1427 Nous savons que les utilisateurs peuvent ne pas être d'accord avec nous.
1428 Il faut donc qu'il aient accès aux définitions des styles
1431 @item Enfin, nous redéfinissons continuellement les règles de formatage,
1432 et avons donc besoin d'une approche souple des règles. Le C++ implique
1433 une méthode de groupement des règles qui ne correspond pas au
1434 fonctionnement de la notation musicale.
1438 @cindex Scheme, langage de programmation
1439 @cindex langage de programmation Scheme
1441 Nous avons résolu ces problème par l'adjonction d'un interpréteur pour
1442 le Scheme et la réécriture de parties entières de LilyPond dans ce
1443 langage. L'architecture du programme repose sur la notion d'objets
1444 graphiques que l'on peut décrire par des variables ou des fonctions
1445 Scheme. Elle doit prendre en compte les règles de formatage, le style
1446 typographique et les décisions de formatage individuelles.
1447 L'utilisateur de LilyPond peut accéder directement à la majorité de ces
1450 La mise en page dépend des variables Scheme. Par exemple, la variable
1451 @var{direction} définie pour de nombreux objets, encode le choix entre
1452 haut et bas (ou gauche et droite). L'image qui suit présente deux
1453 accords, accentués et arpégés. Pour le premier accord, la direction de
1454 chaque objet est vers le bas (ou la gauche). Les objets sont dirigés
1455 vers le haut (ou la droite) pour le second.
1457 @lilypond[quote,ragged-right]
1460 \stemDown <e g b>4_>-\arpeggio
1461 \override Arpeggio #'direction = #RIGHT
1462 \stemUp <e g b>4^>-\arpeggio
1467 \override SpacingSpanner #'spacing-increment = #3
1468 \override TimeSignature #'transparent = ##t
1474 @cindex score formatting
1475 @cindex formatting a score
1476 @cindex formatting rules
1479 Le processus de mise en forme d'une partition consiste à lire et
1480 écrire des variables d'objets. Certaines variables ont une valeur
1481 prédéfinie. Par exemple, l'épaisseur de nombreuses lignes --
1482 caractéristiques d'un style typographique -- est préétablie. La changer
1483 entraîne un changement du style typographique.
1485 @lilypond[quote,ragged-right]
1488 c'4-~ c'16 as g f e16 g bes c' des'4
1491 \new Staff \fragment
1493 \override Beam #'beam-thickness = #0.3
1494 \override Stem #'thickness = #0.5
1495 \override Bar #'thickness = #3.6
1496 \override Tie #'thickness = #2.2
1497 \override StaffSymbol #'thickness = #3.0
1498 \override Tie #'extra-offset = #'(0 . 0.3)
1504 Les valeurs prédéfinies de certaines variables font aussi partie des
1505 règles de formatage. Chaque objet possède des variables contenant des
1506 procédures. Ces procédures réalisent le formatage prédéfini, dont
1507 l'apparence peut être changée en remplaçant ces procédures par d'autres.
1508 Dans l'exemple suivant, la règle permettant à l'objet @qq{tête de note}
1509 de dessiner son symbole est modifiée au cours de l'extrait musical :
1511 @lilypond[quote,ragged-right]
1512 #(set-global-staff-size 30)
1514 #(define (mc-squared grob orig current)
1515 (let* ((interfaces (ly:grob-interfaces grob))
1516 (pos (ly:grob-property grob 'staff-position)))
1517 (if (memq 'note-head-interface interfaces)
1519 (ly:grob-set-property! grob 'stencil
1520 (grob-interpret-markup grob
1521 (make-lower-markup 0.5
1525 ((-2) (make-smaller-markup (make-bold-markup "2")))
1526 (else "bla")))))))))
1528 \new Voice \relative c' {
1530 \set autoBeaming = ##f
1533 \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
1534 \once \override NoteHead #'font-size = #-7
1535 \once \override NoteHead #'font-family = #'sans
1536 \once \override NoteHead #'font-series = #'bold
1538 \once \override NoteHead #'style = #'cross
1540 \applyOutput #'Voice #mc-squared
1543 { d8[ es-( fis^^ g] fis2-) }
1544 \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
1550 @node Démonstration par l'exemple
1551 @section Démonstration par l'exemple
1552 @translationof Putting LilyPond to work
1554 @cindex simple examples
1555 @cindex examples, simple
1557 Nous vous avons montré ce que devrait être la gravure musicale, et
1558 comment nous avons construit notre logiciel pour imiter cette apparence.
1559 Nous nous sommes énormément investis dans cette construction. En guise
1560 de récompense pour ce long travail, vous pouvez à votre tour
1561 utiliser le programme pour imprimer votre musique.
1562 Commençons par quelques notes@dots{}
1564 @lilypond[quote,relative=1]
1572 Lorsqu'on leur ajoute des accords et des paroles, on obtient une chanson
1575 @lilypond[quote,ragged-right]
1577 \chords { c2 c f2 c }
1583 \addlyrics { twin -- kle twin -- kle lit -- tle star }
1587 On peut aussi éditer de la polyphonie ou une partition pour piano.
1588 Quant à ce qui suit, admirez l'exotisme de certaines
1589 constructions@dots{}
1593 title = "Screech and boink"
1594 subtitle = "Random complex notation"
1595 composer = "Han-Wen Nienhuys"
1599 \context PianoStaff <<
1604 \revert Stem #'direction
1605 \change Staff = down
1606 \set subdivideBeams = ##t
1610 \change Staff = down
1614 \change Staff = down
1618 \set followVoice = ##t
1619 c'''32([ b''16 a''16 gis''16 g''32)]
1621 s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
1623 s4 \autoBeamOff d''8.. f''32
1629 \new Staff = "down" {
1632 \set subdivideBeams = ##f
1633 \override Stem #'french-beaming = ##t
1634 \override Beam #'beam-thickness = #0.3
1635 \override Stem #'thickness = #4.0
1636 g'16[ b16 fis16 g16]
1642 \override Staff.Arpeggio #'arpeggio-direction =#down
1643 <cis, e, gis, b, cis>4\arpeggio
1650 tempoWholesPerMinute = #(ly:make-moment 60 8)
1656 \consists Horizontal_bracket_engraver
1662 Ces fragments ont tous été écrits à la main, mais ce n'est pas une
1663 obligation. Dans la mesur où le moteur de formatage est presque
1664 complètement automatisé, il peut servir à générer du matériel imprimable
1665 pour d'autres programmes en charge de manipuler de la musique. LilyPond
1666 est parfaitement en mesure de convertir des bases de données musicales
1667 aux fins de les utiliser dans des sites internet ou des présentations
1670 Vous avez constaté, au fil de notre propos, que le format source est
1671 purement textuel et peut donc être réutilisé dans d'autres formats
1672 basés sur une description textuelle comme @LaTeX{}, HTML ou -- ce qui
1673 est le cas pour la documentation de LilyPond -- Texinfo. À l'aide du
1674 script @command{lilypond-book} fournit avec LilyPond, les fragments
1675 de code insérés feront place à une image dans le fichier résultant,
1676 qu'il soit au format PDF ou HTML. Il existe aussi une extension pour
1677 OpenOffice.org -- OOoLilyPond -- qui permet d'insérer des extraits dans
1680 Pour mieux voir LilyPond en action, consulter la documentation ou
1681 accéder directement au logiciel, rendez-vous sur www.lilypond.org.
1684 @node Comparatif (BWV 861)
1685 @section Comparatif (BWV 861)
1686 @translationof Engraved examples (BWV 861)
1688 Cette annexe présente quatre éditions de référence et deux éditions
1689 informatisées des sept dernières mesures de la fugue en sol mineur
1690 extraite du Premier livre du clavier bien tempéré de Bach
1694 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1698 @sourceimage{bwv861-baer,16cm,,}
1701 @sourceimage{bwv861-baer-small,,,png}
1705 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1706 1989), à partir d'une autre source. En plus de différences au niveau
1707 des éléments textuels, ce travail montre que, au sein d'une même maison
1708 d'édition, les appréciations peuvent être différentes selon le
1712 @sourceimage{bwv861-baer-alt,16cm,,}
1715 @sourceimage{bwv861-baer-alt-small,,,png}
1719 Breitkopf & Härtel, édité par Ferruccio Busoni (Wiesbaden, 1894),
1720 disponible à la Petrucci Music Library (IMSLP #22081). Les éléments
1721 éditoriaux tels que doigtés et articulations en ont été gommés aux fins
1722 de comparaison avec les autres éditions@tie{}:
1725 @sourceimage{bwv861-breitkopf,16cm,,}
1728 @sourceimage{bwv861-breitkopf-small,,,png}
1732 Bach-Gesellschaft edition (Leipzig, 1866), disponible à la Petrucci
1733 Music Library (IMSPL #02221) :
1736 @sourceimage{bwv861-gessellschaft,16cm,,}
1739 @sourceimage{bwv861-gessellschaft-small,,,png}
1746 @sourceimage{pdf/bwv861-finale2008a,,,}
1749 @sourceimage{bwv861-finale2008a,,,png}
1754 LilyPond, version @version{} :
1756 @lilypond[staffsize=14.3,line-width=15.9\cm]
1757 global = {\key g \minor}
1759 partI = \relative c' {
1761 fis8 d' ees g, fis4 g
1762 r8 a16 bes c8 bes16 a d8 r r4
1763 r2 r8 d16 ees f8 ees16 d
1764 ees4 ~ ees16 d c bes a4 r8 ees'16 d
1765 c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
1766 a8 d, g f ees d c bes
1767 a2 g\fermata \bar "|."
1770 partII = \relative c' {
1772 d4 r4 r8 d'16 c bes8 c16 d
1773 ees8 d c ees a, r r4
1774 r8 fis16 g a8 g16 fis g2 ~
1776 fis4 g r8 a16 bes c8 bes16 a
1777 bes4. <g b>8 <a c> r <d, g> r
1780 partIII = \relative c' {
1782 r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
1783 bes2 ~ bes8 b16 a g8 a16 b
1787 r8 a16 bes c8 bes16 a b2
1789 partIV = \relative c {
1793 d,8 d'16 c bes8 c16 d ees2 ~
1794 ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
1795 d,8 d'16 c bes8 c16 d ees8 c a fis'
1802 % \set Score.barNumberVisibility = #all-bar-numbers-visible
1804 \set Score.currentBarNumber = #28
1807 \new Staff = "RH" <<
1809 \new Voice = "voiceI" { \partI }
1810 \new Voice = "voiceII" { \partII }
1813 \new Staff = "LH" <<
1816 \new Voice = "voiceIII" { \partIII }
1817 \new Voice = "voiceIV" { \partIV }
1824 \remove "Time_signature_engraver"
1828 \override StaffGrouper #'between-staff-spacing #'padding = #1