Skip to main content

Historique: Lilypond - les lead sheets

Aperçu de cette version: 22



Cette page présentera Lilypond et les "lead sheets".

 attention
Page en cours d'écriture



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
Lilypond est un éditeur de partition très puissant, mais il opère sur un fichier texte contenant les notes. Le résultat produit en sortie peut être vu à l’écran ou imprimé. De ce point de vue, LilyPond est plus proche d’un langage de programmation qu’un logiciel d’édition de partition avec une interface graphique.
Cela dit, je me sers de Frescobaldi pour avoir un environnement d’édition plus pratique pour programmer mes partitions

Liens utiles : lilypond.org. Image

  • 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 » Image  :

Ex Realbook

  • le second est le "New Real Book" (publié chez Sher Music) :
Ex New Realbook

Et voici l'exemple de Lead sheet minimal que propose Lilypond dans sa documentation :

Ex Lilypond

et donc le code pour réaliser cet exemple minimal :
Copy to clipboard
<< \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 :

Ch1 Ex1

[+]

voici la solution que j'ai trouvé :
En redéfinissant les propriétés du "context staff" (à ajouter dans le bloc \layout )

Copy to clipboard
\context { \Staff \override Clef.break-visibility = #all-invisible \override KeySignature.break-visibility = #all-invisible }


ce qui donne :

Ch1 Ex2


[+]

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) :

Copy to clipboard
\context { \Score \override SystemStartBar.collapse-height = #1 }


ce qui donne :

Ch1 Ex3

[+]

😀 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 :

Copy to clipboard
\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
Ch1 Ex4

début de la page 2
Ch1 Ex5

[+]

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 « / »)

Ch2 Ex1

La fonction existe sur Lilypond et est très simple à mettre en œuvre :
Copy to clipboard
\relative c'' { \repeat percent 2 { c1 } \repeat percent 4 { c4 } }

Ch2 Ex2

mais ne fonctionnera pas dans le chiffrage d'accord :
Copy to clipboard
<< \chords { \repeat percent 2 { c1:7 } \repeat percent 4 { f4 } } \relative c'' { \repeat percent 2 { c1 } \repeat percent 4 { c4 } } >>

Ch2 Ex3


Il faut donc ajouter les graveurs qui gèrent l'affichage de ces signes de répétition dans le "context ChordNames" :
Copy to clipboard
\consists "Percent_repeat_engraver" \consists "Slash_repeat_engraver"


Ch2 Ex4

[+]

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 :

Copy to clipboard
\new ChordNames { \chordmode {c1 d:m/g g:7 c} }


Ch3 Ex1


Ça ressemble à ce qu'on peut trouver sur le web quand on cherche une chanson avec accords :

Ch3 Ex2

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 :

Ch3 Ex3

New Real Book :

Ch3 Ex4

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 :

Ch3 Ex5

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 :

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.
 

Donc voici ma fonction écrite en scheme (précédé par #) :
Copy to clipboard
#(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 :
Copy to clipboard
#:lower 1.9 #:fontsize 0 #:halign 0.2

il faudra appeler cette fonction depuis le context ChordNames :
Copy to clipboard
\context { \ChordNames chordNoteNamer = #lower-extension }

ce qui donne :
Ch3 Ex6

[+]

Il faudra aussi déplacer la barre oblique avant la basse en insèrent directement dans le code de votre chiffrage d'accord :
Copy to clipboard
\set slashChordSeparator = \markup\fontsize#1 \lower#1.2 \rotate#-10 { "/" }

et voila, c'est prêt 😀 :
Ch3 Ex7

[+]

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 :
Ch3 Ex8

[+]

...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 Image

  • 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 Image :
Ch3 Ex9

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.

Historique

Information Version
Thu 14 Sep 2017 09:40 allany alias 23
Afficher
Fri 08 Sep 2017 00:11 olinuxx navigation 22
Afficher
Thu 07 Sep 2017 14:49 olinuxx page déja intégrée 21
Afficher
Mon 23 mai 2016 17:17 olinuxx intégration de la page + liens internes + drapeaux FR + ponctuation + corrections 20
Afficher
Mon 03 Aug 2015 15:01 olinuxx + note ((page à intégrer)) 19
Afficher
Mon 27 Jul 2015 14:45 jmechmech 18
Afficher
Mon 27 Jul 2015 14:43 jmechmech 17
Afficher
Mon 27 Jul 2015 14:38 jmechmech 16
Afficher
Mon 27 Jul 2015 14:27 jmechmech 15
Afficher
Mon 27 Jul 2015 14:05 jmechmech 14
Afficher
Mon 27 Jul 2015 13:52 jmechmech 13
Afficher
Sun 26 Jul 2015 15:29 olinuxx retirage de la balise HTML (-> onglet propriétés) 12
Afficher
Sun 26 Jul 2015 13:09 jmechmech 11
Afficher
Sun 26 Jul 2015 13:07 jmechmech 10
Afficher
Sat 25 Jul 2015 19:47 olinuxx ajout d'un titre de la page + renommage de la page pour enlever les ". Les caractères spéciaux ne sont pas conseillés dans le nom de pages car ils mettent le foin régulièrement. Voir l'Aide Auteur Wik 9
Afficher
Sat 25 Jul 2015 17:47 jmechmech 8
Afficher
Sat 25 Jul 2015 17:35 jmechmech 7
Afficher
Sat 25 Jul 2015 17:05 jmechmech 6
Afficher
Sat 25 Jul 2015 16:43 jmechmech 5
Afficher
Sat 25 Jul 2015 16:25 jmechmech 4
Afficher
Sat 25 Jul 2015 16:19 jmechmech 3
Afficher
Sat 25 Jul 2015 15:49 jmechmech 2
Afficher
Sat 25 Jul 2015 15:37 jmechmech 1
Afficher