Cette page présentera Lilypond et les "lead sheets".
attention
Page en cours d'écriture
Table des matières
Ce tutoriel s'adresse aux utilisateurs "avancés" de Lilypond, le code de chaque exemple est pleinement fonctionnel, il est dans le [+] en dessous de l'exemple.
Introduction
- Qu'est ce que Lilypond
Cela dit, je me sers de Frescobaldi pour avoir un environnement d’édition plus pratique pour programmer mes partitions
Liens utiles : lilypond.org.
- Qu'est ce que le « lead sheet »
wikipédia écrit :
La partition lead sheet est une partition représentant de manière synthétique les éléments caractéristiques d'un morceau : mélodie, harmonie et éventuellement paroles. Ce format est beaucoup utilisé par les musiciens en musique moderne : jazz, rock et autres styles de musique populaire. L'harmonie est le plus souvent représentée avec le chiffrage américain (symboles d'accords utilisant des lettres).
J'ai deux recueils de lead sheet à vous présenter qui sont mes référence et qui me guident pour réaliser de nouvelles lead sheets
- le premier recueil est le célèbre « Real book » :
- le second est le "New Real Book" (publié chez Sher Music) :
Et voici l'exemple de Lead sheet minimal que propose Lilypond dans sa documentation :
et donc le code pour réaliser cet exemple minimal :
<< \chords { c2 g:sus4 f e } \relative c'' { a4 e c8 e r4 b2 c4( d) } \addlyrics { One day this shall be free __ } >>
Comme c'est mon style de partition préféré pour écrire les musiques actuelles, j'attends beaucoup de mon éditeur de partition...des éléments très précis !
Certains sont déjà inclus et bien documentés, d'autres m’ont demandé beaucoup de recherches et manque à mon avis dans le comportement par défaut de Lilypond.
N'afficher la clef et l'armure qu'au début de la partition
C'est l'une des particularités principales du lead sheet, on n'affiche la clef et l'armure qu'une seule fois au début de la partition.
Ce n'est pas le comportement par défaut de Lilypond qui ré-affichera les clefs à chaque début de système :
[+]
voici la solution que j'ai trouvé :
En redéfinissant les propriétés du "context staff" (à ajouter dans le bloc \layout )
\context { \Staff \override Clef.break-visibility = #all-invisible \override KeySignature.break-visibility = #all-invisible }
ce qui donne :
[+]
Malheureusement, il manque la barre qui délimite le début du second système (puisqu'elle n'est pas dessiné quand il y a une clef)
Il faut donc aussi redéfinir le contexte score pour demander à lilypond de mettre cette barre sur chaque début de système (toujours dans le bloc layout) :
\context { \Score \override SystemStartBar.collapse-height = #1 }
ce qui donne :
[+]
et hop !…(l'armure ou la clef apparaîtront de nouveau si vous faites un changement en cours de partition).
- Parenthèse
Dans les lead sheets de 2 ou 3 pages, on peut souhaiter rappeler la clef ou l'armure au début de chaque pages : on peut le faire en reprécisant la clef et l'armure dans le code de votre mélodie directement :
\key f \major \clef treble \set Staff.explicitKeySignatureVisibility = #'#(#f #f #t) \set Staff.explicitClefVisibility = #'#(#f #f #t) \pageBreak
ce qui donne :
début de la page 1
début de la page 2
[+]
Signes de répétition dans le chiffrage d'accord
Les signes de répétition sont très important dans le chiffrage d'accord, que ce soit pour signaler le même accord sur plusieurs mesures de suite (signe « % ») ou pour préciser comment les accords se repartissent dans la même mesure (signe « / »)
La fonction existe sur Lilypond et est très simple à mettre en œuvre :
\relative c'' { \repeat percent 2 { c1 } \repeat percent 4 { c4 } }
mais ne fonctionnera pas dans le chiffrage d'accord :
<< \chords { \repeat percent 2 { c1:7 } \repeat percent 4 { f4 } } \relative c'' { \repeat percent 2 { c1 } \repeat percent 4 { c4 } } >>
Il faut donc ajouter les graveurs qui gèrent l'affichage de ces signes de répétition dans le "context ChordNames" :
\consists "Percent_repeat_engraver" \consists "Slash_repeat_engraver"
[+]
Accords avec basse différente de la fondamentale
Probablement l’élément qui m'a posé le plus de problème sur Lilypond, voyons ce que Lilypond propose :
\new ChordNames { \chordmode {c1 d:m/g g:7 c} }
Ça ressemble à ce qu'on peut trouver sur le web quand on cherche une chanson avec accords :
Par contre si il y a beaucoup d'accords de ce type dans un lead sheet, ça peut vite devenir fastidieux à lire, c'est pour ça que dans le Real book et le New real book la basse est déplacé vers le bas, ainsi que la barre oblique qui la précède :
Real Book :
New Real Book :
Il y a encore d'autres façons d'afficher ces accords, en voila une tombée en désuétude mais que j'aime beaucoup parce que je la trouve très claire :
Voici la solution que j'ai trouvé pour déplacer les basses de ces accords vers le bas (les détails sur ce fil de discussion) :
Il faut donc écrire (...euh récupérer) une fonction avec le langage de programmation Scheme...car comme il est dit dans la documentation Lilypond :
Citation :
L’installation de LilyPond comprenant l’interpréteur Guile, les fichiers source LilyPond peuvent contenir du Scheme.
Vous disposez de plusieurs méthodes pour inclure du Scheme dans vos fichiers LilyPond. La méthode la plus simple consiste à insérer un hash (le caractère #, improprement appelé dièse) avant l’expression Scheme.
Vous disposez de plusieurs méthodes pour inclure du Scheme dans vos fichiers LilyPond. La méthode la plus simple consiste à insérer un hash (le caractère #, improprement appelé dièse) avant l’expression Scheme.
Donc voici ma fonction écrite en scheme (précédé par #) :
#(define (lower-extension pitch chbass) "Return markup lowered markup for pitch note name." (markup #:lower 1.9 #:fontsize 0 #:halign 0.2 (note-name->markup pitch chbass )))
et c'est en modifiant ces paramètres que vous pourrez personnaliser l’affichage de la basse de l'accord :
#:lower 1.9 #:fontsize 0 #:halign 0.2
il faudra appeler cette fonction depuis le context ChordNames :
\context { \ChordNames chordNoteNamer = #lower-extension }
ce qui donne :
[+]
Il faudra aussi déplacer la barre oblique avant la basse en insèrent directement dans le code de votre chiffrage d'accord :
\set slashChordSeparator = \markup\fontsize#1 \lower#1.2 \rotate#-10 { "/" }
et voila, c'est prêt :
[+]
Problème de ce système:
Si vous choisissez d’écrire votre chiffrage d'accord dans le système Latin (do ré mi…), cela ne se répercutera dans la basse :
[+]
...mais comme j'écris rarement mes chiffrages d'accord en système latin, je ne m'en suis pas encore occupé (un volontaire?), peut-être un piste ici : snippet lilypond chordRootNamer
- Autre solution :
Lilypond qui sort par défaut les partitions en format PDF peut aussi exporter en SVG, c'est à dire que chaque éléments de la partition sera modifiable depuis un logiciel de dessin vectoriel.
Exemple de retouche avec Inkscape :
C'est une technique que j'utilise de plus en plus...plutôt que de passer 3 semaines pour modifier un détail dans ma partition en me retrouvant avec 80 lignes en Scheme dans le code, je préfère modifier ce détail depuis Inkscape.
[+]