Petit tuto Lilypond 1

Bonjour à tous !

Êtes-vous amateurs de musique ?  Eh bien nous aussi, c'est pourquoi aujourd'hui je vous présente Lilypond (pour ceux qui ne le connaissent pas déjà). Lilypond est un logiciel permettant de créer des partitions de musique. Pour ceux qui connaissent le fonctionnement de LaTeX, le principe est le même. Pour les autres, on va le découvrir ensemble...

Aspect pratiques

Vous pouvez passer à la partie II si vous n'êtes pas sûr de vouloir utiliser Lilypond, pour en voir les fonctionnalités de base.

Lilypond se télécharge ici.

On écrit les partitions dans un fichier texte, à ouvrir avec notepad++ (ou autres) sous windows, vim (ou geany ou emacs) sous linux.

On compile avec la commande :

lilypond mon_fichier.ly

Pour les petits exemples, ceci est plus rapide. Il existe néanmoins un IDE très efficace que j'utilise qui s'appelle Frescobaldi, qui est multiplate-forme. L'avantage de Frescobaldi est qu'il permet de prévisualiser son travail :

01_Frescobaldi_empty

Exemples

En fait c'est assez simple, vous écrivez les notes, et Lilypond se charge du reste. Mise en page, espacement, production du PDF/DVI, manière optimale de disposer la queue des croches...

Faisons simple avec un petit exemple. Écrire :

{ c' e' g' c' }

dans un fichier texte test.ly produit le résultat suivant après compilation :

05test_ly

On ne s'en rend pas compte tout de suite, mais c'est très puissant. Lilypond a automatiquement créé un PDF à partir d'un fichier texte tout simple. En fait il a fait plus que ça. Puisque rien n'est précisé ici (mis à part les notes) Lilypond a fait beaucoup d'hypothèse, il s'agit en fait du comportement par défaut :

  • Durée de chaque note (noire)
  • Clef à afficher (clef de sol)
  • durée de la mesure (C = 4/4)
  • hauteur des notes (do à 293,66 Hz)

En fait, la seule chose que j'ai écrite ici, c'est c' = do, e' = mi, g' = sol. Vous l'avez compris, Lilypond utilise la notation anglo-saxonne pour représenter les notes. Au début c'est ennuyeux (il faut chercher la lettre correspondant) mais vu le nombre de notes qu'il faut taper dans une partition, à la fin on est content.

Voici donc la table des notes :

  • a = la
  • b = si
  • c = do
  • d = ré
  • e = mi
  • f = fa
  • g = sol

Vous avez sans doute remarqué que j'ai écris une apostrophe après chaque note, celle-ci permet d'indiquer l'octave supérieure.

En fait il y a deux comportements de Lilypond :

  • le mode absolu que vous venez de voir et que je n'utiliserai bientôt plus (il est par défaut) ;
  • le mode relatif.

On peut donc réécrire notre fichier lilypond ainsi :

\relative c' { c  e g c }

Vous découvrez là une nouvelle fonctionalité de Lilypond ! les commandes. Celles-ci sont introduites par le caractère "\". Ici on a demandé à Lilypond de disposer toutes les notes relativement au do 293. \relative permet de ne plus avoir besoin de mettre d'apostrophe, chaque note étant écrite en fonction de la précédente. Ainsi :

\relative c { c' c' c' }

produit le résultat suivant :

06_test_ly

Vous savez désormais écrire toutes les notes, augmenter d'une l'octave, utiliser le mode relatif ou absolu. Pour diminuer d'une octave, le caractère à utiliser est la virgule :

\relative c'' { c' c, c, }

donne :

07_test-ly

Tout cela est un peu monotone. Ajoutons du rythme. Ici c'est pareil que la hauteur. Le rythme d'une note dépend de la précédente. La première vaut une noire par défaut. Pour définir un rythme, on utilise les puissance de 2. En effet une ronde vaut deux blanches qui valent deux noires, qui valent deux croches, qui valent deux doubles-croches etc...

Pour Lilypond, la ronde est représentée par le chiffre 1. On a donc :

  • 1 : ronde
  • 2 : blanche
  • 4 : noire
  • 8 : croche
  • 16 : double croche
  • 32 : triple croche
  • etc...

On peut donc écrire :

\relative c' { c1 | c2 c | c4 c c c | c8 }

qui donne :

08_test_ly

Vous remarquez :

  • que j'ai utilisé un pipe "|" pour délimiter les mesure. Ce n'est pas nécessaire, Lilypond le fait automatiquement, mais si vous les insérez, Lilypond peut lever une erreur "barcheck" pour vous prévenir que vous n'avez pas mis le pipe au bon endroit. (Une erreur barcheck peut aussi signifier que vous avez essayé de faire une mesure trop longue).
  • que je précise la durée de la note seulement lorsque je désire la changer.

Deux autres concepts fondamentaux :

  • Les altérations (dièse, bémol, bécarre)
  • les ligatures

Une chose à retenir : on n'écrit jamais de bécarre. Lilypond les écrira pour vous :

\relative c' { \key c \minor c d e f | c d ees f | e ees e ees }

donne :

09test_ly

Quelques explications :

  • es indique le bémol ;
  • is indique le dièse ;
  • eses le double bémol ;
  • isis le double dièse ;
  • dans la première mesure, j'ai écrit e sur une partition ou mi est bémol. Donc Lilypond a mis le bécarre automatiquement.
  • Dans la seconde mesure, pas de bémol à écrire, il est à la clef.
  • J'ai utilisé la commande \key suivie obligatoirement de deux  paramètre :
    • c
    • \minor

NB : il ne faudra pas confondre \key qui permet de définir la tonalité du morceau et \clef qui indique la clef de la mesure (qui admet treble (clef de sol), bass (clef de fa)... comme paramètre) :

\relative c' { \clef treble c \clef bass c \clef treble c \clef bass c | }

donne :

10_test_ly

J'espère que vous êtes convaincus que le résultat est ce qu'on attend. En effet il s'agit quatre fois de la même note.

Finissons-en avec les problèmes de durée de note :

  • On obtient une note pointée en écrivant un point après :
    • c.
    • c4. (et non pas c.4, qui serait absurde, il faut d'abord connaître la durée de la note pour savoir combien le point vaut)
    • c'4. (l'apostrophe (ou la virgule) doit être collée à la lettre, en effet la note est c' puisque c est une note différente, une octave en dessous)
  • On peut sinon utiliser les parenthèses pour indiquer une ligature de note tenue. Cela se fait ainsi :
\relative c' { c1(  |  c4 )  c }

qui donne :

11_test_ly

La parenthèse est collée après la note sur laquelle le début de la ligature commence.

Voyons maintenant les accords. On les obtient ainsi :

\relative c' { <c c'> <cis e cis'>8. <cisis  cisis'>16 }

qui donne :

12_test_ly

Vous remarquez que Lilypond a fait automatiquement le lien entre la croche pointée et la double croche. Vous savez aussi comment organiser :

  • les dièses ;
  • les < > pour les accords ;
  • les points ;
  • les chiffres pour la durée de la note.

Pour changer la manière dont Lilypond lie les croches/doubles-croches/etc... il faut utiliser "[" et "]" exactement comme on a utilisé les parenthèses :

\relative c' { c8  c c c c c c c | c[ c] c c c c c c }

qui donne :

13_test_ly

Je ne sais pas vous, mais je trouve que Lilypond a bon goût dans la manière qu'il a de lier les croches.

Changeons de mesure ! 4/4 ça devient ennuyeux ;-) . Eh bien pour cela, on va utiliser la commande \time suivie d'un argument. \time 3/8 donne une mesure qui dure 3 croches :

\relative c' { \time 7/8 c8  c c c c c c  | \time 3/8 c[ c] c c c c c c }

donne :

14_test_ly

Je vais finir cette première esquisse par quelques points :

  • Lilypond grogne à chaque fois qu'on compile sans le numéro de version. il suffit de rajouter l'entête \version "2.18.2". Il s'agit là d'un header, on en verra d'autres par la suite.
  • Les partitions peuvent être très complexes :
    • plusieurs voix ;
    • plusieurs portées ;
    • plusieurs instruments ;
    • plusieurs partitions au sein d'un livre ;
    • ajout d'un accompagnement guitare, chant, paroles, etc...

Faites-moi part de vos commentaires !

Motius

PS : la suite, c'est par ici !