Historique: Lilypond
Aperçu de cette version: 80
Table des matières
Informations
Le site internet : http://www.lilypond.org/.Version actuelle : 2.25.10.
Canal IRC : #lilypond sur freenode.net.
Présentation
Un langage à la TeX
Lilypond est un logiciel de typographie musicale qui génère automatiquement des partitions les plus belles possibles à partir d'une description textuelle des notes. Il fonctionne sous GNU/Linux, MacOSX, FreeBSD, OpenBSD, Windows et probablement pas mal d'autres systèmes.
Son approche est radicalement différente de tous les autres éditeurs existants puisqu'il ne s'agit pas d'un logiciel WYSIWYG (What You See Is What You Get). C'est à dire que vous ne verrez pas à l'écran les partitions en cours de frappe (si vous connaissez Latex, le principe est un peu le même). Les développeurs sont partis d'un constat simple : les partitions générées par les logiciels d'édition de partitions (même les plus connus) sont d'une qualité graphique très inférieure aux partitions gravées traditionnellement (les sceptiques consulteront cette page).
Lilypond essaie donc de répondre à ces défauts constatés, afin d'offrir des partitions plus lisibles et plus agréables à utiliser. Sa prise en main étant pour le moins déroutante, il sera néanmoins conseillé à ceux pour qui les critères tels que : épaisseur de hampe, taille des têtes de notes, lisibilité des partitions, etc. sont vraiment primordiaux (regardez par exemples les témoignages sur le site officiel).
Éditer des partitions au format Lilypond
Pour engendrer le fichier texte décrivant la partition, il a y deux types de méthode :
- utiliser un front-end graphique,
- éditer directement à l'aide d'un éditeur de texte.
Utiliser un front-end graphique
❗❗❗ Cette méthode est à réservé pour une utilisation ponctuelle de lilypond. Elle ne permet pas d'exploiter toutes les possibilités de Lilypond et le résultat est parfois décevant par rapport à ce qu'on aurait pu espérer.
Denemo, une interface graphique pour Lilypond
Cette méthode sera privilégiée par les débutants, pour dégrossir le travail, etc (quoique nombreux sont les utilisateurs qui conseillent de s'attaquer d'emblée au code).Denemo a été développé dans le seul but de fournir une interface graphique à Lilypond.
Il ne s'agit pas d'un éditeur de partions WYSIWYG à proprement parler.
L'export depuis un autre programme
Vous pouvez utiliser un programme que vous connaissez déjà, ou qui vous paraît plus abordable (interface graphique, etc.) pour générer la trame de la partition, partition que vous exporterez ensuite vers Lilypond. Pour cette exportation, vous pourrez utiliser :- L'exportation directement dans le format Lilypond si le programme le permet. Par exemple, Rosegarden possède un éditeur de partition remarquable, qui convient parfaitement pour une sortie en export Lilypond. D'autres programmes proposent également l'exportation vers Lilypond : canorus NoteEdit, Partitions rosegarden RUMOR qui permet de rentrer sa partition en utilisant un clavier MIDI.
- L'exportation dans un format reconnu par Lilypond. Lilypond possède en effet des outils d'importation pour divers formats courants (MIDI, MusicXML, Band In A Box, ETF de Finale, etc.) utilisés dans d'autres programmes de ce type.
voir aussi : Convertir ses fichiers au format Lilypond
Utiliser un éditeur de texte
Cette méthode, plus adaptée pour les utilisateurs avancés, permet d'exploiter toutes les richesses de Lilypond. Le fichier .ly est un fichier texte (que l'on peut coder en UTF-8), décrivant la partition dans un langage de balises (comme le html, latex, etc.). Le langage de Lilypond est très facile à comprendre et à apprendre, car la documentation sur le site est très claire (si on est au fait de toutes les ruses de la notation musicale) et partiellement traduite en français. Il faut donc disposer d'un éditeur de texte, comme il en existe de nombreux. Cependant, peu d'éditeurs permettent la colorisation syntaxique, qui rend l'écriture d'un fichier source simple et agréable.Le choix de l'éditeur le plus adapté dépend de plusieurs paramètres :
- si vous codez déjà dans d'autres langages, il peut-être pratique d'utiliser toujours le même éditeur. Dans ce cas là, tournez-vous plutôt vers Emacs ou Vim qui possèdent des modules Lilypond.
- si vous êtes sous Gnome, les logiciels KDE ne s'intègrent pas très bien dans l'environnement, évitez donc KDE si cela vous gène.
- si vous changer régulièrement de système d'exploitation, préférez-en un qui est multi-plateforme.
Il existe un éditeur qui surclasse tous les autres pour éditer une partition Lilypond : il s'agit de l'éditeur Jedit (version 4.2), multi-plateforme (car écrit en Java) : en plus de proposer la colorisation syntaxique, de permettre la saisie en UTF-8 (indispensable pour les partitions avec des textes accentués), il permet d'installer un module - Lilypond Tools - qui transformerait presque l'édition d'un fichier texte en une partie de plaisir : boutons permettant la compilation rapide du fichier (sans lancer d'autres commandes), écoute dans un module séquenceur du fichier midi produit, assistants (simples et efficaces) pour produire le squelette d'une partition, et surtout, l'aide de Lilypond (en anglais) instantanément disponible (avec un sommaire, etc.), ce qui évite de consulter sa doc sur le site de Lilypond (ou imprimée sur papier...).
L'ensemble LilyPondTool + Lilypond est hautement productif pour un utilisateur régulier (à mon avis, bien plus qu'un système WYSYWYG). Il nécessite un temps d'apprentissage assez long, mais le jeu en vaut vraiment la chandelle.
Voir la page officielle pour les facilités d'édition
Introduction à la syntaxe Lilypond
Structure d'un fichier Lilypond
Nous supposons que vous n'avez pas sombré dans la facilité absolue en vous orientant vers Denemo et que vous avez envie d'apprendre Lilypond. La documentation en langue française est assez simple à comprendre, si ce n'est qu'elle commence par un exemple et non pas par la généralité et qu'il faut avoir pas mal tripoté de partitions avant d'avoir une vue d'ensemble.
Uniquement par esprit de contradiction, nous allons développer une documentation plus synthétique vu par l'exemple, et cet exemple vous permettra d'écrire une chanson. Examinons la structure d'un fichier Lilypond :
Copy to clipboard
\version "2.6.0" \header { title = "Le grenier" composer = "Paroles et musique de Gilles Maire" inputencoding = "utf8" copyright = "Les jetés de l'encre" } melodie = \relative c''{ \clef "violin" \key g \minor \time 4/4 \set Staff.midiInstrument = "Concerto" |a8 ^\markup \fret-diagram #"6-5;5-5;4-7;3-7;2-6;1-5;" a a a a a c bes | bes4 ^\markup \fret-diagram #"6-5;5-4;4-5;3-5;2-x;1-5;" a4 r2 | a8 a a bes a g f e | a4 ^\markup \fret-diagram #"6-5;5-5;4-7;3-7;2-6;1-5;" a4 r2 | d,8 e fis d fis4 ^\markup \fret-diagram #"6-5;5-5;4-7;3-5;2-7;1-5;" a4 | bes4 ^\markup \fret-diagram #"6-3;5-5;4-5;3-3;2-3;1-3;" r4 r2 | r1 | a8^\markup \fret-diagram #"6-5;5-5;4-7;3-7;2-6;1-5;" a a a a a b a | a4 ^\markup \fret-diagram #"6-5;5-4;4-5;3-5;2-x;1-5;" g4 r2| g8 g g g g g a g | g4 ^\markup \fret-diagram #"6-5;5-5;4-7;3-7;2-6;1-5;" f4 r2| e4 ^\markup \fret-diagram #"6-5;5-5;4-4;3-5;2-5;1-5;" e f e | d ^\markup \fret-diagram #"6-5;5-4;4-5;3-5;2-x;1-5;" des d ^\markup \fret-diagram #"6-5;5-5;4-7;3-7;2-6;1-5;" r | r d e f| g'4 ^\markup \fret-diagram #"6-3;5-5;4-5;3-3;2-5;1-3;" g8 g8 a4 a8 a8 | g4 g8 g8 a8 b8 a8 g8 | f4 f8 f8 g4 g8 g8| f4 f8 f8 g8 a8 g8 f8 | e4 e8 e8 f4 f8 f8 | e4 e8 e8 f8 g8 f8 e8 | a4 a8 a8 bes4 bes8 bes8 | a4 a8 a8 bes8 a8 bes8 a8 | bes4 bes8 bes8 c4 c8 c8 | bes4 bes8 bes8 c8 d8 c8 bes8| a4 a8 a8 bes4 bes8 bes8| a4 a8 a8 bes8 c8 bes8 a8 | g4 g8 g8 a4 a8 a8 |g4 g8 g8 a8 bes8 a8 g8|a4 a8 a8 bes8 a8 g8 f8| e8 d8 e8 e8 d4 r4 } paroles = \lyricmode{ Je8 m'é- tais ran- gé des a- mou- re- ttes \skip 2 \skip 4 J'a-8 vais rac- cro- ché mon ar- ba le- tte \skip 4 \skip 2 Et8 ma te- nue de4 chas-4 seur1 \skip 1 C'est8 dans la pous- si- ère d'un gre- nier1 Au8 mi lieu des li vres des ca- hiers1 Que4 j'a vais mon- té mon coeur2 \skip 4 la4 la la la } accords = \chordmode { \set chordChanges = ##t \set ChordNames.midiInstrument = "church organ" d1:m a1:7 a1:7 d1:m d2:m d2:7 g1:m g1:m d1:m a1:7 a1:7 d1:m e1:9 a2:7 d2:m d1:m g1:m6 g1:m6 d1:m d1:m a1:7 a1:7 d1:m d1:m d1:m g1:m6 g1:m6 d1:m d1:m a1:7 a1:7 d1:m d1:m } \score { << \context ChordNames \accords \context Staff = "melodie" \melodie \context Lyrics \paroles >> \layout { } \midi{ \tempo 4=120 } }
Ce ne sont que ces quelques lignes que vous devez comprendre pour démarrer, ensuite vous apprendrez petit à petit quelques finesses, la documentation en anglais est assez simple à comprendre, par contre elle commence par les exemples de base et il est difficile de comprendre la structure d'un document Lilypond en la lisant. C'est cette structure que je vous propose de découvrir.
- \version "2.6.3": en mettant la version de Lilypond qui est la votre ( vous la trouverez après avoir tapé la commande lilypond -v), vous indiquez à Lilypond la version de votre source, si Lilypond est amené à changer de syntaxe, il saura les modifications à apporter pour prendre en compte votre source. Si vous omettez la version, tout marchera vraisemblablement, mais je vous conseille de la mettre.
- \score { blablabla} : une œuvre au sens lilypondesque du terme s'appelle un score. Vous définissez dans une œuvre, les instruments, la mélodie, les accompagnements etc. Dans l'exemple qui vous est présenté, on prend une mélodie, un layout (qui est la définition de la page voir la doc) et un export en fichier midi.
- \midi indique qu'on va proposer un tempo de 120 à la sortie MIDI du morceau
- \header c'est le titre du morceau et son compositeur, l'encodage en UTF8 ainsi que des mentions de copyright
- la mélodie est constituée de notes :
- relative c' indique qu'on se positionne une octave au dessus de la note do la plus basse, c'est à dire au do juste en dessous de la portée, relative c indiquerait qu'on se positionne au do de l'octave au dessus, et le do' au do encore à l'octave.
- \clef treble : indique qu'on est en clé de sol, on peut avoir les clés suivantes et bien d'autres encore :alto pour do, teno pour do sur la 4ème ligne, bass pour Fa sur la 4 ème ligne, soprano pour la clé de Do sur la première ligne etc..
- \time 4/4 : qu'on est en 4 temps, on peut avoir 3/4 etc...
- \key g \minor : peut être majeur ou \ionian, \locrian, \aeolian, \mixolydian, \lydian, \phrygian, ou encore \dorian. Dans le mode g mineur on aura un bémol à la clé sur si et sur mi. Quand vous écrirez la musique, vous devrez mettre les indications de bémol sur ces notes, sinon Lilypond ajoutera automatiquement un bécarre.
- a4 b c d : sont les notes qui sont expliquées un peu plus bas
- On voit que les paroles de la chansons vont apparaitre
- Ainsi que les accords qui seront joués en MIDI
- dans les notes des indications d'accords permettent de montrer les positions d'accords
Les notes
- a est LA, c c'est DO ainsi de suite (et oui il faut connaitre le système de correspondance de DO à SI (C à B sachant que A est le LA)
- a4 veut dire LA sur 1/4 de ronde c'est à dire une 1/2 blanche ou encore une noire
- b sans précision de durée est calquée sur la durée de la note précédente et veut dire ici SI noire
- c veut également dire DO noire
- d est RE.
Pour le LA bémol on aurait eu aes et le LA dièse ais. De même pour ces et cis
Le soupir est la notation r qui peut être d'une croche r8 ou d'une noire r4
On peut assembler des notes par des parenthèses : {a b}c produira en superposition a et c alors que b viendra à la suite
Notons qu'il suffit d'ajouter la commande \italiano.ly après la version pour pouvoir entrer le nom des notes "en français". Si cela est une aide au début, cette méthode ralentit à terme la frappe : en effet, il est plus rapide d'écrire a b c d que la si do re.
Production des fichiers résultats
Pour voir le résultat aussi bien le fichier PDF résultant que le fichier MIDI utilisez la commande :
Copy to clipboard
lilypond essai.ly
Bien souvent, il faut que le fichier .ly soit dans le répertoire utilisateur.
Voici le fichier résultat (cliquez sur l'image pour l'agrandir) :
{img src="img/wiki_up/Legrenier.gif" align=center width=450 link="img/wiki_up/Legrenier.gif}
Commentaires
LilyPond, possède un mode Freeted String, voir ici : http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Common-notation-for-fretted-strings#Common-notation-for-fretted-strings .L'excellente liste de diffusion de lilypond en français http://lilypond-french-users.1298960.n2.nabble.com/)
Logiciels similaires
- actifs : Lilypond, Frescobaldi, Lied, LilyPondTool, Denemo, MuseScore, Partitions Rosegarden, NtEd, TuxGuitar, Canorus, Songwrite
- moins actifs : NoteEdit, Gscore, Dguitar.