Petit tuto Lilypond 3
Bonjour à tous !
Je vous propose de continuer la série de tutoriels commencés ici et là sur le logiciel de partitions de musique Lilypond.
Clairement le but sera moins les bases de Lilypond, que je crois avoir pas mal abordé, mais plutôt tous les petits bidouillages que j'ai fait pour améliorer la disposition des notes sur une partition lorsque la configuration par défaut était imparfaite. Ça vous permettra de commencer à faire des recherches sur la documentation et les exemples de Lilypond.
On va tout d'abord commencer en parlant de la structure d'une partition, je serai assez bref là-dessus, puisque Lilypond permet de faire une quantité de partitions invraisemblables, et que je n'écris pratiquement que des partitions pour piano, ou presque.
Des structures Lilypond
Vous vous rappelez surement le début où l'on faisait des fichiers ly aussi petits que ça :
{
a c e
}
eh bien c'était non seulement grâce aux très nombreuses valeurs par défaut de Lilypond, mais aussi parce que Lilypond voit une unique chaîne de musique et sait "dans quel ordre" la traiter, et "où" la placer. En effet si vous voulez écrire une partita à 6 mouvements et deux portées, il n'est plus possible de savoir quoi mettre où. Donc il va falloir l'expliquer à Lilypond. Et pour ça, il y a plusieurs solutions.
- Utiliser des templates.
- Bidouiller justqu'à ce que "ça marche".
- Utiliser l'assistant de création de partition de Frescobaldi.
Prenons un exemple créé avec Frescobaldi :
\version "2.18.2" % header version
\header {
dedication = "ma dédicace"
title = "le Titre"
subtitle = "ss titre"
subsubtitle = "le ssss titre"
instrument = "l'instrument"
composer = "le compositeur"
arranger = "l'arrangeur"
poet = "le parolier"
meter = "Symphonia"
piece = "Andantino"
opus = "D959"
copyright = "GNU GPLv3"
tagline = "Le site des gentis du net"
} % header global
global = {
\key f \minor
\time 2/2
\partial 8.
\tempo "Andante"
} % header pour les trois portées
right = \relative c'' {
\global
% En avant la musique !
} % portée supérieure piano
left = \relative c' {
\global
% En avant la musique !
} % portée inférieure piano
sopranoVoice = \relative c'' {
\global
\dynamicUp
% En avant la musique !
} % voix de soprane
verse = \lyricmode {
% Ajouter ici des paroles.
} % paroles pour la soprane
pianoPart = \new PianoStaff \with {
instrumentName = "Piano"
} << \new Staff = "right" \with { midiInstrument = "acoustic grand" } \right \new Staff = "left" \with { midiInstrument = "acoustic grand" } { \clef bass \left } >>
% utilisation des variables \right et \left pour créer la ligne piano
sopranoVoicePart = \new Staff \with {
instrumentName = "Soprano"
midiInstrument = "choir aahs"
} { \sopranoVoice }
\addlyrics { \verse }
% utilisation des variables \sopranoVoice et \verse pour créer la ligne de la soprane
\score {
<< \pianoPart \sopranoVoicePart >> % assemblage dans la partition score
\layout { }
\midi {
\context {
\Score
tempoWholesPerMinute = #(ly:make-moment 81 2)
}
}
}
En rajoutant des notes et des paroles on obtient :
Partition exemple. Piano et voix de Soprane.
Problèmes rencontrés et leurs solutions
Forcer le retour à la ligne
Il suffit d'utiliser la commande \break
au niveau d'une barre de mesure.
Je vous recommande d'écrire les barre de mesures de manière explicite (elles existent de manière implicite) car ça permet de corriger beaucoup d'erreur --- grâce au "barcheck", et permet de relire son code plus facilement.
Hampe (Stem)
La hampe est généralement liée à la voix s'il y en a plusieurs, voiceOne et voiceThree sont par défaut vers le haut (mais pas toujours) et voice To et voiceFour vers le bas. S'il n'y a qu'une seule voix, Lilypond choisit en fonction de la hauteur de la note.
Parfois la hampe de la note (Stem en anglais) est dirigée vers le haut et vous la voudriez vers le bas ou vice versa. Il y a pour cela une comande très simple : \stemUp
pour forcer les hampes vers le haut, \stemDown
pour les forcer vers le bas, \stemNeutral
pour laisser de nouveau le choix à Lilypond.
On peut aussi rendre la hampe transparent à l'aide de :
\once \override Stem.transparent = ##t.
noire avec une hampe transparente.
Silence transparent
Il peut vous arriver de vouloir effacer les silences, on le fait avec la commande : \override Staff.Rest.transparent = ##t
, et pour n'en effacer qu'un : \once \override Staff.Rest.transparent = ##t
.
Décaler une ligature
Si vous voulez déplacer une ligature logique (Tie, indiquée par le symbole ~ après la note) on peut le faire à l'aide de la commande : \once \override Tie.extra-offset = #'(0.1 . -0.1)
par exemple :
ligature normale
devient :
ligature décalée en hauteur et en largeur
(ici ce n'était pas très utile, je l'admets...)
De la même façon que la hampe, on peut forcer une ligature vers le haut ou vers le bas avec \tieUp \tieDown, et remettre le défaut avec \tieNeutral.
Décaler une note horizontalement
Par défaut, les voix 3 et 4 (voiceThree et voiceFour) sont décalées par rapport aux voix une et deux. C'est sympa la majorité du temps, mais parfois (lorsqu'on fait des accord, par exemple, afin d'avoir les notes alignées). On peut le faire à l'aide de la commande suivante : \once \override NoteColumn.force-hshift = 0
.
Trille prolongé
On peut spécifier un trille avec \trill
après la note sur lequel le trille s'applique.
Pour faire un trille prolongé, on indique le début avec \startTrillSpan
et on le termine avec \stopTrillSpan
.
Pour spécifier une altération sur le trille, on utilise \pitchedTrill
.
Texte sur la partition
On peut utiliser \markup{}
pour afficher du texte. Par exemple : c4^\markup{\italic{mezzo forte}}
affiche mezzo forte en italic au dessus de la note, et c4_\markup{\italic{mezzo forte}}
l'affiche en dessous.
markup mezzo forte en italic en haut, piano en italic en bas
Accords en arpèges
Pour afficher un arpège, on utilise \arpegio
. Pour préciser explicitement si l'accord est de haut en bas, on utilise \arpeggioArrowUp
, qu'on termine avec \arpeggioNormal
. Pour aller de haut en bas, on utilise \arpeggioArrowDown
.
Voilà, c'est tout pour ce troisième petit tour dans Lilypond, je suppose qu'il va falloir attendre que j'écrive des partitions vraiment complexes pour en écrire un troisième ;). Bonne journée à tous !
Motius