LilyPond

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
LilyPond
Image illustrative de l'article LilyPond
Logo

Introduction de la sonate pour piano n° 16 de Beethoven, cette partition a été générée avec Lilypond
Introduction de la sonate pour piano n° 16 de Beethoven, cette partition a été générée avec Lilypond

Développeur Projet GNU
Première version 1996
Dernière version 2.18.2 (le 17 mars 2014,
il y a 8 mois
[1]
)
[+/-]
Écrit en Scheme, C++, Metafont, PostScript, Python
Environnement Multiplate-forme
Type Logiciel de notation, de création et de gravure musicale
Licence GNU GPL
Site web (en) Site officiel

LilyPond est un logiciel libre de notation musicale créé en 1996 par Han-Wen Nienhuys et Jan Nieuwenhuizen alors qu'ils étaient encore lycéens à Eindhoven (Pays-Bas)[2]. Développé par une communauté internationale dans le cadre du projet GNU, ce logiciel offre un langage de description de la musique, qu'il compile ensuite sous forme de partition écrite. Selon ses auteurs[3], cette approche classique[note 1] permet ainsi de libérer les musiciens de toute préoccupation typographique pour offrir un rendu de haute qualité esthétique.

Son nom signifie « mare aux nénuphars » en langue anglaise ; c'est un jeu de mots[4] faisant allusion à un autre logiciel libre d'édition musicale, Rosegarden.

Depuis le 23 avril 2013[5], le code Lilypond est utilisable dans les articles de Wikipédia, par le biais d'une extension intégrée dans MediaWiki.

Justification[modifier | modifier le code]

Selon les développeurs de LilyPond, la qualité de l'édition musicale souffre actuellement d'une méconnaissance des principes et du savoir-faire des graveurs de musique des XIXe et XXe siècles, qu'ils considèrent comme l'apogée de cet art. Le musicien, normalement ignorant des règles typographiques, ne peut que s'improviser graveur, le résultat sur un logiciel WYSIWYG dépend alors du jugement d'un non-typographe. Les partitions-modèles ont été analysées, une fonte (feta) développée pour LilyPond ainsi que les algorithmes de placement des glyphes selon l'art des graveurs. LilyPond automatise donc le processus de « mise en scène » des glyphes et ne requiert du musicien-opérateur que de gérer la partie musicale du travail de notation, et occasionnellement de corriger certaines décisions graphiques du logiciel (essentiellement en cas de chevauchement).

Principe d'utilisation[modifier | modifier le code]

S'il utilise seulement Lilypond, le musicien décrit son intention musicale (il sauve notes, signes d'articulation et dynamiques etc.) dans un fichier textuel, puis donne à Lilypond l'ordre de compiler ce fichier (donc en particulier de le mettre en forme, et de prendre les décisions typographiques). Le résultat est, par défaut, une partition au format PDF, ainsi qu'un fichier sonore au format MIDI. Un certain nombre de séquenceurs génèrent eux-mêmes un fichier Lilypond, permettant d'écrire tout d'abord la musique sur une portée, tablature etc.

Voici un exemple d'entrée très simple. L'utilisateur écrit dans un éditeur[note 2] :

{ c d e f g } ou bien { do re mi fa sol }

puis sauve le fichier en ajoutant l'extension « .ly ».

L'utilisateur lance ensuite la compilation du code avec la commande :

lilypond musique.ly

Lilypond lit alors le fichier musique.ly et crée le document musique.pdf dont l'illustration est ci-dessous.

{ c d e f g }

Dans certains environnements, il peut aussi glisser l'icône du fichier .ly sur celle de LilyPond, pour obtenir le même résultat.

Concepts de base[modifier | modifier le code]

Les notes sont définies par les lettres de a à g (notation néerlandaise) qui correspondent aux notes de la à sol[6]. Une commande spéciale permet aussi de déclarer les notes selon la notation française[6].

Il suffit de déclarer la succession de notes et Lilypond réalise automatiquement un certain nombre de tâches :

  • position sur la portée (par défaut en clé de sol),
  • ajout des barres de mesure (par défaut à 4 temps),
  • espacement des notes,
  • orientation des hampes de note,
  • groupement des notes avec les ligatures adaptées.

Chaque note peut être suivie de :

  • une apostrophe « ' » pour monter d'une octave ou une virgule « , » pour descendre d'une octave
Code
(notation néerlandaise[6])
Code
(notation française[6])
Résultat
c do  c
c' do'  c'
c'' do''  c''
  • is (dièse) ou es (bémol) pour ajouter une altération, respectivement d ou b avec la notation française
Code
(notation néerlandaise[6])
Code
(notation française[6])
Résultat
d' re'  d'
dis' red'  dis'
des' reb'  des'
  • un nombre pour indiquer sa durée et éventuellement un point pour ajouter une demi durée. Si la note suivante a la même durée, il n'y a pas besoin de préciser à nouveau sa durée. Les silences sont définis de la même façon avec la lettre r.
Code
(notation néerlandaise[6])
Code
(notation française[6])
Résultat
{ e'1 e'1. r2 } { mi'1 mi'1. r2 } { e'1 e'1. r2 }
{ e'2 e'2. r4 } { mi'2 mi'2. r4 } { e'2 e'2. r4 }
{ e'4 e'4. r8 } { mi'4 mi'4. r8 } { e'4 e'4. r8 }
{ e'8 e'8. r16 } { mi'8 mi'8. r16 } { e'8 e'8. r16 }
{ e'16 e'16. r32 } { mi'16 mi'16. r32 } { e'16 e'16. r32 }

Exemple qui résume ces différents points et met en évidence les automatismes de Lilypond :

Code
(notation néerlandaise[6])
Code
(notation française[6])
Résultat
{ bes'8 bes' a' g'16 f' f' d'8. c'4 f'2 r2 } { sib'8 sib' la' sol'16 fa' fa' re'8. do'4 fa'2 r2 } { bes'8 bes' a' g'16 f' f' d'8. c'4 f'2 r2 }

Pour plus de détails sur la création de partitions, un didacticiel est disponible sur Wikibooks. À voir aussi : la page d'aide de la version anglaise de Wikisource.

Fonctions diverses[modifier | modifier le code]

Un certain nombre de modules (ordres) permettent de structurer le fichier .ly, dont voici un choix très réduit :

  • fonction \relative : chaque nouvelle note est lue par rapport à la précédente et positionnée au plus près de la précédente (dans l'exemple précédent, on obtiendrait un tétracorde ascendant) et évite ainsi les numéros d'octave ;
  • définition de motifs : entouré de motif = " ... " (ou tout autre nom), le premier exemple peut être utilisé autant de fois que souhaité. Par exemple :
\notes { \relative { d e f g \motif e, f g \motif e f, g \motif e f } }

(les virgules ordonnent de mettre cette note une octave plus bas que ne le ferait sinon le programme dans le contexte \relative) et donnerait trois gammes suivies ;

  • les transpositions peuvent être intégrées à souhait, par exemple :
\notes { \relative { \transpose a d, { \motif } \motif } }

qui donnerait d e f g a b c d ;

  • les fonctions de commentaires permettent d'écrire des remarques (numéros de mesure, aides-mémoire etc) invisibles pour le programme ;
  • Lilypond ne considère pas non plus les retours de chariot, tabulateurs et certains signes réservés, ce qui permet de structurer le fichier de manière visuelle ;

Avantages[modifier | modifier le code]

Les avantages de ce logiciel, sont :

  • la capacité de réaliser des partitions d'aspect professionnel sans intervenir dans la mise en forme ;
  • la diversité des genres de partitions possibles (chant grégorien, conducteur d'orchestre, musique contemporaine etc) ;
  • le faible espace occupé par le texte permettant d'engendrer les sorties ;
  • la facilité pour communiquer les données qui peuvent être traitées par un éditeur de texte ;
  • la disponibilité (MS Windows, Mac OS, GNU/Linux, Free-BSD et code) ;
  • la capacité à concevoir et organiser la musique à un haut niveau d'abstraction, en définissant des thèmes ou motifs plutôt que de ne la voir que comme une succession de notes.
  • la possibilité de réaliser des partitions hiérarchisées, comprenant les pages de titre, la table des matières, la liste d'orchestration, des pages de commentaires, l'insertion de texte dans les partitions, etc.

Les auteurs du logiciel ont beaucoup travaillé sur l'aspect graphique des notes et des signes musicaux en se basant sur des éditions du XIXe siècle. Ils parlent de LilyPond comme logiciel de gravure de musique, en références aux techniques anciennes d'édition.

Inconvénients[modifier | modifier le code]

Les inconvénients possibles sont dus à la philosophie Unix choisie par les auteurs. En proposant LilyPond, les auteurs introduisent un programme de plus assigné à une tâche simple : transformer un texte de description en partition (même si LilyPond propose en fait un nombre plus important d'options quant au format de sortie). Il faut donc apprendre à s'entourer d'autres programmes pour créer ainsi un contexte de travail personnalisé. Lesdits inconvénients traduisent donc essentiellement l'absence d'expérience dans le traitement de l'information dans un shell et l'extrême flexibilité de cette méthode de travail. L'utilisateur novice doit donc apprendre la philosophie Unix, et à choisir parmi un grand nombre de programmes. Il ressentira possiblement comme inconvénients :

  • une phase d'apprentissage assez longue causée par une logique différente de celle des éditeurs WYSIWYG où l'on voit le résultat au cours de son élaboration, (problème qui peut être résolu grâce à l'utilisation d'une interface graphique comme Frescobaldi, Denemo, Rosegarden, Noteedit, Canorus, NtEd)[note 3] ;
  • une syntaxe basée sur l'écriture polyphonique (on écrit voix par voix), qui peut être résolue par des modules permettant l'écriture homophonique ;
  • la relative pauvreté du mécanisme générant des fichiers MIDI à des fins d'écoute, qui peut être compensée par un séquenceur ;
  • la syntaxe permettant d'intervenir dans les décisions typographiques (tweaking) est relativement complexe, puisqu'elle offre des fonctions très avancées. Les modes d'emploi de Lilypond offrent par ailleurs une riche bibliothèque de modules prêts à être copiés et adaptés. La version 2.18 (janvier 2013) simplifie d'ailleurs grandement la syntaxe de cette commande, de même que des autres commandes d'affinement (override, set) ;
  • l'automatisation de la mise en page réclame, surtout dans les partitions denses, une mise au point par le musicien, essentiellement pour éviter des collisions.

Interaction avec LaTeX, LibreOffice, OpenOffice et Scribus[modifier | modifier le code]

Un programme nommé lilypond-book permet de construire des documents LATEX élaborés, contenant des fragments de musique de longueur variable (une note ou tout un mouvement) mélangés dans du texte et tout autres symboles qu'offre par ailleurs LATEX (formules mathématiques, stéréochimie, jeu d'échecs etc.)

On peut aussi lancer LilyPond avec le paramètre --tex ce qui génère du code TeX qui peut ensuite être intégré dans un autre fichier.

Un plugin OOoLiLyPond[7] existe pour LibreOffice et OpenOffice, qui permet d'intégrer des fragments de partition dans le texte. Scribus inclut un plugin équivalent, de même qu'un plugin gregorio plus spécialisé pour le chant grégorien.

Choix d'un éditeur et génération d'un fichier[modifier | modifier le code]

En principe, n'importe quel éditeur permet de générer et éditer un ficher ly. Mais dans la pratique, on recherche une aisance de manipulation de données (vérification syntaxique, macros ou fonction préprogrammées, permettant entre autres la création de la structure générale du fichier .ly. l'introduction des titres, sous-titres, auteur, instruments, etc.). Certains éditeurs viennent avec un module dédié au travail avec LilyPond comme emacs, Vim et surtout jEdit, très pratique pour les débutants, très performant pour les plus avancés, disponible sous GNU GPL et multi-plateforme.

Certains éditeurs de texte offrent la possibilité de colorer les commandes (coloration syntaxique), signaler les fautes (commandes non achevées par exemple).

jEdit possède ainsi un plugin (greffon) extrêmement puissant qui permet de lancer la compilation du fichier LilyPond, permet la visualisation du fichier PDF, la modification (limitée) de ce fichier par point-and-click, la recherche dans le fichier source de la ligne de code générant un glyphe donné, etc.

Un éditeur, Frescobaldi est entièrement dédié à LilyPond. Il permet l'édition de texte avec saisie automatique des mots-clé, mais possède également une fenêtre de visualisation, avec correspondance du texte source vers la visualisation et réciproquement. La dernière version de Frescobaldi permet même une génération de la partition en temps réel, fonctionnelle pour les petits projets. À l'opposé, Frescobaldi est d'une aide efficace et indispensable pour les grands projets (œuvres symphoniques, nécessitant l'utilisation de plusieurs dizaines de fichiers différents)

Articles connexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Notes et références[modifier | modifier le code]

Références[modifier | modifier le code]

  1. (en) « LilyPond », sur directory.fsf.org, FSF,‎ 17 mars 2014
  2. (en) documentation LilyPond, « GNU LilyPond Learning Manual: Preface », sur lilypond.org,‎ juillet 2002 (consulté le 3 août 2012)
  3. documentation LilyPond, « Essai sur la gravure musicale automatisée », sur lilypond.org,‎ 7 mars 2011 (consulté le 3 août 2012)
  4. (en) « The name of the game », sur lilypond.org,‎ 7 mars 2011 (consulté le 3 août 2012)
  5. Date de création de la page d'aide sur la génération de partitions de musique au sein d'un article Wikipédia
  6. a, b, c, d, e, f, g, h, i et j « Nom des notes dans d’autres langues », Notation musicale générale, sur lilypond.org, LilyPond — Manuel de notation (v. 2.18.2),‎ 17 mars 2014 (consulté le 4 décembre 2014).
  7. (en) Samuel Hartmann, « OOoLilyPond (OLy) - Music notation in OpenOffice.org », sur ooolilypond.sourceforge.net,‎ juillet 2009 (consulté le 3 août 2012)

Notes[modifier | modifier le code]

  1. Cette approche correspond aux premiers programmes informatique de traitement de texte \TeX. MusixTeX ou Amadeus (notation musicale) avait déjà repris cette formule, avec un succès mitigé.
  2. Voir l'article principal éditeur de texte. Il s'agit de programmes destinés à la manipulation de fichiers texte, qui permettent de déterminer librement le suffixe du nom du fichier et l'utilisation de macros dédiés. Un logiciel de traitement de texte (Word, OOwriter par exemple) n'est pas adapté à cette utilisation. De plus, le confort d'utilisation, les macros dédiés à LilyPond, recherché une fois assimilé les premières bases, n'est offert que sur certains éditeurs comme jEdit, Emacs et Vim.
  3. À noter toutefois qu'un apprentissage rudimentaire permet de créer 90 % des partitions courantes. Les cas plus complexes peuvent être appris au fur et à mesure des nécessités.

Liens externes[modifier | modifier le code]