Voici mon retour d’expériences sur l’écriture de partitions de batterie avec les logiciels LilyPond et Frescobaldi.

LilyPond1 est un logiciel libre de notation musicale. Il s’utilise généralement de paire avec le logiciel Frescobaldi2. Contrairement aux autres éditeurs de musique, LilyPond est basé sur une approche textuelle, la partition est générée à partir d’un script proche du langage TeX.

Légende de notation

Avant toute chose, vous devez définir votre notation. Vous pouvez utiliser la notation référencée dans le livre « Guide to Standardized Drumset Notation » par Norman Weinberg.

J’ai travaillé avec la méthode «Dante Agostini», j’ai donc utilisé la notation suivante pour écrire mes partitions de batterie:

lily-legende.png
Légende de notion


#(define DanteAgostini '(
                           (ridecymbal    cross    #f        4)
                           (crashcymbal   xcircle  #f        6)
                           (crashcymbala  xcircle  #f        7)
                           (openhihat     cross    "open"    5)
                           (closedhihat   cross    "stopped" 5)
                           (pedalhihat    cross    #f       -5)
                           (hihat         cross    #f        5)
                           (lowmidtom     default  #f        2)
                           (snare         default  #f        0)
                           (sidestick     triangle #f        0)
                           (tambourine    default  #f       -2)
                           (lowtom        default  #f       -3)
                           (bassdrum      default  #f       -5)
                           (himidtom      default  #f        3)
                           (acousticsnare mensural #f        0)
 
 ))
global = {
  \set DrumStaff.drumStyleTable = #(alist-hash-table DanteAgostini)
}

Par défaut, LilyPond utilise le fichier drumpitch-ini.ly pour la configuration de la hauteur des notes et des symboles.

Pour définir une notation personnelle, on crée une variable DanteAgostini qui contient notre configuration d’écriture. La macro define permet de substituer la liste de notation (crash, ride, etc…) par chaque occurrence DanteAgostini trouvée.

Notation à deux voix

Dans le principe de la notation à deux voix, les hampes des notes sont vers le haut ou vers le bas, pour séparer les cymbales (en bleu) de la caisse claire, grosse caisse et toms (en rouge).

lily-double-voix.png lily-double-voix.png
Deux voix

upA = \drummode {\override NoteHead.color = #blue cymc8 hh hh hh r hh hh hh } 
downA = \drummode {\override NoteHead.color = #red bd4 sn8. sn16 sn sn bd bd sn8 r }
upB = \drummode {\override NoteHead.color = #blue hh8 hh hh hh r hh hh hh }
downB = \drummode {\override NoteHead.color = #red bd4  sn8. sn16 sn sn bd bd sn8 r}

partition =  {
  \global
  \repeat percent 1 {<<\new DrumVoice { \voiceOne \upA }  \new DrumVoice { \voiceTwo \downA }>> }
  \repeat percent 1 { <<\new DrumVoice { \voiceOne \upB }  \new DrumVoice { \voiceTwo \downB }>> }
  \bar "|."
}

Mise en Page

Dans certain morceau de musique, la lecture de la partition est plus adaptée quand elle est écrite sur 4 mesures par système. Donc pour fixer le nombre de mesures par système, j’utilise la méthode suivante :

ToutesLesQuatreMesures = \drummode { \repeat unfold 18 { s1 * 4 \break } }
  • ToutesLesQuatreMesures => Le nom du “calque” qui fixe la lognueur
  • \repeat unfload 18 => Dans ce morceau, il y a 72 mesures cela représente 18 systèmes (18 x 4 = 72)
  • { s1 * 4 \break } => une mesure vide s1 qui est répétée 4 fois avec en suivant un retour a la ligne

Ce calque est associé à la partition de la manière suivante :

\score {
  \new DrumStaff
    \ToutesLesQuatreMesures
    \partition
}

Cependant, LilyPond gère le rendu sur 4 mesures autant que possible en fonction du format du papier et du nombre de notes. Lilypond peut être aidé dans cette tâche en modifiant l’orientation du papier et la taille des caractères.

\paper {
  #(set-paper-size "a4" 'landscape)
}
\score {
  \layout {
    #(layout-set-staff-size 23)
  }
}

lilypond-book

Pour générer les deux images illustrant l’article, j’ai utilisé lilypond-book. Le programme fait parti des dépendances du paquet lilypond.

Dans un fichier HTML vide :

  1. écrivez la balise d’ouverture
  2. ajoutez le script LilyPond de la partition
  3. écrivez la balise de fermeture </ lilypond>

Dans un terminal, exécutez la commande lilypond-book suivante:

lilypond-book --lily-output-dir=./ my-file.html --output=./output

Conclusion

Au début, la prise en main de Lilypond peut paraître laborieuse et complexe. Mais, le temps passé à comprendre les mécanismes lors de l’écriture de la première partition sera très utile pour les suivantes.
Une fois que la structure est maîtrisée, c’est à dire : la légende de notation, la notation deux voix et la mise en page, la structure est comme un modèle pouvant être réutilisé pour toutes les autres partitions. On peut à présent se concentrer sur l’écriture à proprement parler de la partition et c’est relativement simple.
L’approche textuelle de Lilypond ouvre davantage de perspectives pour l’automatisation des tâches.

Partitions

Groupes Titres Fichiers PDF Fichiers LilyPond
The black keys Tighten Up Tighten_Up.pdf Tighten_Up.ly
Muse Feeling Good Feeling_Good.pdf Feeling_Good.ly
Red Hot Chilli Peppers Don’t forget me Dont_forget_me.pdf Dont_forget_me.ly
Little Hurricane Baa Baa Black Sheep Baa-Baa-Black-Sheep.pdf Baa-Baa-Black-Sheep.ly