htg-content/content/posts/petit-tuto-lilypond-3.md

187 lines
7.0 KiB
Markdown
Raw Normal View History

2020-04-30 23:07:15 +02:00
---
title: "Petit tuto Lilypond 3"
date: "2016-02-05"
author: motius
template: post
tags: lilypond,musique,partition,planet libre,Tutoriels,tweaks
---
Bonjour à tous !
Je vous propose de continuer la série de tutoriels commencés [ici](/posts/petit-tuto-lilypond-1/) et [](/posts/petit-tuto-lilypond-2/) 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 :
2020-05-05 23:23:26 +02:00
```
2020-04-30 23:07:15 +02:00
{
a c e
}
2020-05-05 23:23:26 +02:00
```
2020-04-30 23:07:15 +02:00
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 :
2020-05-05 23:23:26 +02:00
```
\version "2.18.2" % header version
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
\header {
2020-04-30 23:07:15 +02:00
dedication = "ma dédicace"
title = "le Titre"
subtitle = "ss titre"
subsubtitle = "le ssss titre"
2020-05-05 23:23:26 +02:00
instrument = "l'instrument"
2020-04-30 23:07:15 +02:00
composer = "le compositeur"
2020-05-05 23:23:26 +02:00
arranger = "l'arrangeur"
2020-04-30 23:07:15 +02:00
poet = "le parolier"
meter = "Symphonia"
piece = "Andantino"
opus = "D959"
copyright = "GNU GPLv3"
tagline = "Le site des gentis du net"
} % header global
global = {
2020-05-05 23:23:26 +02:00
\key f \minor
\time 2/2
\partial 8.
\tempo "Andante"
2020-04-30 23:07:15 +02:00
} % header pour les trois portées
2020-05-05 23:23:26 +02:00
right = \relative c'' {
\global
2020-04-30 23:07:15 +02:00
% En avant la musique !
} % portée supérieure piano
2020-05-05 23:23:26 +02:00
left = \relative c' {
\global
2020-04-30 23:07:15 +02:00
% En avant la musique !
} % portée inférieure piano
2020-05-05 23:23:26 +02:00
sopranoVoice = \relative c'' {
\global
\dynamicUp
2020-04-30 23:07:15 +02:00
% En avant la musique !
} % voix de soprane
2020-05-05 23:23:26 +02:00
verse = \lyricmode {
2020-04-30 23:07:15 +02:00
% Ajouter ici des paroles.
} % paroles pour la soprane
2020-05-05 23:23:26 +02:00
pianoPart = \new PianoStaff \with {
2020-04-30 23:07:15 +02:00
instrumentName = "Piano"
2020-05-05 23:23:26 +02:00
} << \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
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
sopranoVoicePart = \new Staff \with {
2020-04-30 23:07:15 +02:00
instrumentName = "Soprano"
midiInstrument = "choir aahs"
2020-05-05 23:23:26 +02:00
} { \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
2020-04-30 23:07:15 +02:00
tempoWholesPerMinute = #(ly:make-moment 81 2)
}
}
}
2020-05-05 23:23:26 +02:00
```
2020-04-30 23:07:15 +02:00
En rajoutant des notes et des paroles on obtient :
2020-05-05 23:23:26 +02:00
![partition](%assets_url%/2016/01/partition.png)
Partition exemple. Piano et voix de Soprane.
2020-04-30 23:07:15 +02:00
# Problèmes rencontrés et leurs solutions
2020-05-05 23:23:26 +02:00
## Forcer le retour à la ligne
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
Il suffit d'utiliser la commande `\break` au niveau d'une barre de mesure.
2020-04-30 23:07:15 +02:00
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.
2020-05-05 23:23:26 +02:00
## Hampe (Stem)
2020-04-30 23:07:15 +02:00
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.
2020-05-05 23:23:26 +02:00
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.
```
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
![hampe transparente](%assets_url%/2016/02/002-300x170.png)
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
noire avec une hampe transparente.
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
## Silence transparent
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
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`.
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
## Décaler une ligature
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
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 :
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
![ligature normale](%assets_url%/2016/02/003-300x127.png)
ligature normale
2020-04-30 23:07:15 +02:00
devient :
2020-05-05 23:23:26 +02:00
![ligature décalée](%assets_url%/2016/02/004-300x110.png)
ligature décalée en hauteur et en largeur
2020-04-30 23:07:15 +02:00
(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.
2020-05-05 23:23:26 +02:00
## Décaler une note horizontalement
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
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`.
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
## Trille prolongé
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
On peut spécifier un trille avec `\trill` après la note sur lequel le trille s'applique.
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
Pour faire un trille prolongé, on indique le début avec `\startTrillSpan` et on le termine avec `\stopTrillSpan`.
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
Pour spécifier une altération sur le trille, on utilise `\pitchedTrill`.
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
## Texte sur la partition
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
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.
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
![markup](%assets_url%/2016/02/005.png)
markup mezzo forte en italic en haut, piano en italic en bas
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
## Accords en arpèges
2020-04-30 23:07:15 +02:00
2020-05-05 23:23:26 +02:00
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`.
2020-04-30 23:07:15 +02:00
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_