Avant de commencer à coder, il faut savoir certaines choses. Je vous préviens, c'est un petit peu rébarbatif mais c'est fondamental ; mieux vaut le savoir dès maintenant, comme ça vous n'aurez pas de problèmes par la suite

.
Les blocs de premier niveau
Tout d'abord, votre fichier doit généralement commencer par la commande suivante :
Code : Autre
Cette commande crée ce qu'on appelle un
bloc score. La majorité des informations relatives à votre partition, à commencer par la musique (oui, dans une partition, ça peut servir

) devront être entrées
à l'intérieur de ce bloc, c'est-à-dire à l'intérieur des accolades.
En théorie, votre fichier peut contenir plusieurs blocs
score, qui contiendra chacun un morceau (si vous écrivez un recueil d'études, par exemple). Si vous entrez plusieurs blocs à la suite, Lilypond se chargera de les regrouper automatiquement dans un bloc encore plus gros, le bloc
book.
Vous pouvez créer ce bloc manuellement grâce à la commande \book { }, mais encore une fois ce n'est pas impératif.
Mais bon, dans la pratique, on se contentera d'un seul bloc
score par fichier, c'est déja assez de boulot comme ça

!
Intéressons-nous maintenant au contenu de ce bloc, si vous le voulez bien.
Les expressions musicales & les contextes de notations
Comme je l'ai dit précédemment, le bloc
score peut contenir différents éléments, dont la musique que vous écrivez. Retenez que
tout ce qui sera rentré à l'intérieur du bloc doit appartenir à une seule et unique expression musicale.
Une expression musicale est représentée avec des accolades, comme on l'a vu. On a donc le code suivant :
Code : Autre1
2
3
4
| \score
{
% contenu de l'expression musicale
} |
Remarquez que dans ce code, le texte entré après le symbole
% constitue ce qu'on appelle un commentaire : ce sont des informations qui ne sont utiles qu'à celui qui écrit le code (c'est-à-dire nous

), et qui sont
totalement ignorées par Lilypond. Attention cependant, le symbole
% n'affecte que la partie droite de la ligne sur laquelle il est placé : le texte écrit avant sur la même ligne n'est pas ignoré, ni le texte écrit sur les lignes suivantes.
Mais revenons à notre expression musicale

!
On ne peut pas encore entrer directement nos notes de musique dans l'expression musicale. Il faut préciser quelques petites choses avant : le fait qu'on veut écrire à l'intérieur d'une seule voix sur une seule portée.
Dans Lilypond, les portées et les voix sont appelées des contextes de notation. Voici les principaux contextes existants :
- Score : c'est le contexte de plus haut niveau dans lequel on entre un morceau de musique ;
- Staff : c'est le contexte correspondant à une portée, contenant elle-même une ou plusieurs voix ;
- Voice : c'est le contexte correspondant à une voix, dans lequel on entre nos notes.
Toutefois, il existe beaucoup d'autres contextes de notation, comme par exemple
Lyrics qui permet d'entrer des paroles, ou
TabStaff, d'entrer une tablature de guitare.
Nous avons déjà crée le contexte
Score : c'est le bloc
score qui s'en est chargé tout seul. Ce n'est cependant pas son seul rôle : il contiendra également toutes les informations relatives à notre morceau, en plus de la musique elle-même.
Cependant, pour créer les autres contextes manuellement, il faut utiliser la commande
\new Nom_du_contexte, où
Nom_du_contexte est à remplacer par le nom exact du contexte que vous voulez créer.
De plus, chaque contexte doit être associé à une expression musicale (eh oui, encore

), qui s'écrit immédiatement après la commande
\new Nom_du_contexte.
Par conséquent, si je ne fais pas confiance à Lilypond et que je veux expliciter tous mes contextes pour mon morceau à une portée et une voix, j'écrirai ceci :
Code : Autre1
2
3
4
5
6
7
8
9
10
| \score
{
\new Staff
{
\new Voice
{
% là, je peux entrer ma musique
}
}
} |
Il y a plusieurs choses à remarquer :
- d'abord, comme je l'ai dit au-dessus, on ne déclare pas le contexte Score parce qu'il a été déclaré pour de bon à partir du moment où nous avons ouvert le bloc score ;
- vous remarquez aussi qu'on peut bien sûr imbriquer les expressions musicales les unes dans les autres (heureusement pour nous).
Maintenant, j'ai une bonne nouvelle : on peut faire plus simple

! En effet, dans notre cas assez trivial où il n'y a qu'une seule portée avec une seule voix dedans, on peut carrément écrire ceci :
Code : Autre
Et toc !
Lilypond comprendra tout seul qu'il faut ajouter un bloc
\score, un contexte
Staff et un contexte
Voice, pour y placer la musique qu'on a écrite.
Attends, mais alors pourquoi tu nous a expliqué tout le reste ?
Parce que je préfère tirer ça au clair dès le départ : on va se concentrer sur d'autres problèmes dans le prochain chapitre mais un peu plus tard, on va aborder la notation en parallèle, et là ces connaissances deviendront utiles, faites-moi confiance

.
Oh, une dernière chose : bien évidemment, dans la majorité des exemples de ce tutoriel, je ne déclarerai pas explicitement tous ces contextes à moins que ce ne soit nécessaire.