1.3 La gravure automatisée

Nous allons maintenant examiner les éléments nécessaires à la création d’un logiciel capable d’imiter le rendu des partitions gravées à l’ancienne. Nous commencerons par voir comment inculquer à l’ordinateur les « bonnes manières » de la présentation. Nous nous attarderons ensuite sur l’analyse comparative par rapport aux éditions traditionnelles, avant de considérer le degré de flexibilité à y inclure pour être en mesure de gérer les différents cas de figure particuliers à la notation.


Concours de beauté

Quels sont en réalité nos critères de formatage ? Considérant l’image suivante, laquelle de ces trois configurations devrions-nous choisir pour formater la liaison ?

[image of music]

Seuls quelques ouvrages traitent de l’art de graver la musique. Ils ne contiennent malheureusement que des généralités et quelques exemples. La lecture de telles règles est certes instructive, mais est très loin de nous conduire à un algorithme prêt à être implémenté dans un programme. Dans la pratique, suivre les instructions de ces traités aboutirait à des algorithmes qui figent bon nombre d’exceptions. Répertorier tous ces cas de figure demanderait un travail considérable, qui finalement ne les couvrirait pas tous.

ross-beam-scan

Règles de formatage définies par l’exemple. Image tirée de l’ouvrage de Ted Ross « The Art of Music Engraving »

Plutôt que d’écrire une foultitude de règles qui embrasserait tous les cas de figure possibles et imaginables en matière de mise en forme, nous avons préféré inculquer à LilyPond un certain nombre d’objectifs qui lui permette de choisir entre différentes alternatives selon leur esthétique. Pour ce faire, chacune des configurations est analysée en terme de moins bonne qualité, et nous opterons pour celle étant la moins mauvaise.

Voici, à titre d’exemple, trois configurations possibles pour le tracé d’une liaison ; LilyPond leur attribue individuellement une « note de laideur ». Le premier essai se voit attribuer 15,39 points notamment pour l’effleurement de la tête de note.

[image of music]

La liaison ci-dessous reste à une distance uniforme des notes, mais il faut tenir compte du fait qu’elle n’est pas rattachée aux première et dernière notes. Ceci nous fait 1,71 points pour le début de la liaison et 9,37 pour la terminaison – qui est beaucoup plus éloignée de la dernière note. Par ailleurs, la liaison monte alors que la mélodie redescend, ce qui entraîne une pénalité de 2 points. Ceci nous fait un total de 13,08 points de laideur.

[image of music]

Quant à la liaison qui suit, seule la terminaison reste éloignée de la dernière note, ce qui donne 10,04 points de laideur auxquels nous ajoutons 2 autres points pour la pente ascendante. Cette configuration étant la moins laide, ou plutôt la version la plus satisfaisante, nous la sélectionnons.

[image of music]

Cette manière de procéder est générique, et nous y avons recours dans bon nombre de situations, comme pour déterminer la pente d’un lien de croches, formater des accords liés, formater des accords avec des valeurs pointées, positionner les sauts de ligne ou de page. Cette technique est consommatrice de temps de calcul, dans la mesure où elle examine de nombreuses possibilités ; néanmoins, le jeu en vaut la chandelle, puisque le résultat final est bien meilleur et nous rapproche des éditions traditionnelles.


Modélisation et banc d’essai

Au fil du temps, le rendu de LilyPond a évolué, et continue de s’améliorer lorsqu’on le compare aux partitions gravées à la main.

Voici un extrait de l’une de nos éditions de référence (Bärenreiter BA 320) :

baer-sarabande

et ce que génère l’une des anciennes versions de LilyPond – la 1.4, publiée en mai 2001 :

lily14-sarabande

La sortie LilyPond est certes lisible, et acceptable pour beaucoup de gens. Cependant, une comparaison minutieuse avec une édition gravée à la main révèle de nombreuses erreurs de formatage :

lily14-sarabande-annotated

Passons sous silence les notes et indications absentes, tout comme la faute de hauteur !

En ajustant les algorithmes, paramètres et polices concernés, nous avons pu améliorer le résultat. La deuxième ligne ci-dessous a été générée par la version la plus récente de LilyPond (2.23.82).

baer-sarabande

[image of music]

Sans être un clone de l’édition de référence, cette sortie est plus proche d’une qualité de publication que les précédentes.


Règles de formatage

Nous pouvons aussi évaluer les capacités de LilyPond dans ses choix, en comparant ses résultats avec ce que génèrent d’autres logiciels du marché. Notre choix s’est porté sur Finale 2008, l’un des logiciels les plus populaires notamment en Amérique du Nord. Son plus proche concurrent est Sibelius, très répandu sur le marché européen.

Pour cette analyse comparative, nous avons choisi la fugue en sol mineur du premier livre du Clavier bien tempéré de Bach (BWV 861). En voici le thème :

[image of music]

Nous nous sommes intéressés aux sept dernières mesures (27 à 34) de l’œuvre, que nous avons saisies à la fois avec Finale et avec LilyPond. C’est à cet endroit que le sujet est rappelé, dans une strette à trois voix, avant de mener à la conclusion. Pour ce qui est de Finale, nous nous sommes abstenus d’effectuer quelque ajustement que ce soit dans le but d’obtenir un résultat par défaut. Ceci permet de vraiment apprécier conjointement ce que génère chacun des deux logiciels sans retouche aucune. Nous avons toutefois redimensionné la page pour les besoins de cet essai et forcé la musique à tenir sur deux systèmes pour que la comparaison soit plus évidente. En effet, Finale crée par défaut deux systèmes de trois mesure, et un troisième – s’étalant sur toute la ligne – pour la dernière mesure.

La plupart des différences entre ces deux éditions – Finale pour la première image – se situent dans les mesures 28 et 29 :

bwv861mm28-29

[image of music]

Entre autres défauts du résultat brut de Finale, nous notons :

Cet exemple ne vise en aucun cas à démontrer que Finale est incapable de fournir un résultat admirable. Au contraire, un utilisateur chevronné pourra obtenir quelque chose d’excellent, mais au prix d’une bonne dose tant de dextérité que de temps. La différence fondamentale entre LilyPond et les générateurs de partition commerciaux réside dans le fait suivant : LilyPond tend à réduire l’intervention de l’utilisateur à sa plus simple expression, alors que les autres programmes font tout pour avoir une interface attractive pour effectuer toutes les retouches.

Par ailleurs, Finale commet une erreur particulièrement flagrante : il manque un bémol à la mesure 33

bwv861mm33-34-annotate

Il faut un bémol pour annuler le bécarre qui se trouve dans la même mesure, mais Finale ne s’en rend pas compte parce qu’il se trouve dans une autre voix. Ainsi, l’utilisateur doit non seulement recourir à un greffon pour gérer les ligatures, repositionner têtes de note et silences, il lui faut de surcroît vérifier qu’à chaque mesure les altérations sont en conformité indépendamment des voix s’il veut être à l’abri de toute interruption d’une répétition pour une erreur dans la partition.

S’il vous plaît d’examiner ces sept mesures de plus près, elles sont reproduites en intégralité à la fin de cet essai, ainsi que quatre autres versions. Vous noterez certaines variations entre les éditions traditionnelles, et LilyPond tient un rang acceptable. Il reste tout de même quelques petits défauts à régler, comme le raccourcissement peut être exagéré des hampes ; il y a donc encore de quoi faire pour les développeurs.

La typographie relevant d’un jugement humain, les personnes ne peuvent être remplacées. Beaucoup de tâches rébarbatives peuvent cependant être automatisées : si LilyPond parvenait à gérer la plupart des situations usuelles correctement, ce serait un grand pas en avant pour l’édition informatisée. Au fil du temps, le logiciel pourra être révisé afin d’automatiser de plus en plus d’actions, de sorte que les ajustements manuels seront de moins en moins nécessaires. Les cas particuliers peuvent être traités manuellement, notamment grâce à l’architecture flexible de LilyPond.


LilyPond — Essai sur la gravure musicale automatisée v2.23.82 (branche de développement).