Introduction à LilyPond/Afficher du texte

Nous avons vu à plusieurs endroits comment afficher du texte. Nous regroupons ici les informations.

12. Afficher du texte

Comment afficher du texte modifier

Chaîne de caractères modifier

Dans LilyPond, le texte à afficher peut être :

  • mis entre guillemets anglais ", par exemple : "Texte à afficher" ; c'est la solution utilisée lorsque le texte est simple : sans caractère spécial, sans mise en forme (pas d'italique ni de gras, pas de retour à la ligne…) ;
  • mis dans un environnement \markup{…}, par exemple : \markup{Texte à afficher}.

La chaîne vide s'écrit donc "" ou bien \markup{}.

Dans l'en-tête modifier

Il y a du texte qui est lié à l'en-tête du document : il est mis dans des variables dédiées. C'est en particulier le cas du titre de la pièce (dans la variable title) et du nom du compositeur (dans la variable composer) :

\header {
  title = "Titre de la pièce"
  composer = "Compositeur ou compositrice"
}

La liste des variable de l'en-tête est donnée au chapitre Partition de chant et grille d'accords > En-tête.

Dans la nomenclature modifier

Il y a du texte qui est lié à la portée, il est lui aussi mis dans des variables ; il s'agit du nom de l'instrument (dans les variables instrumentName et shortInstrumentName) qui s'affiche dans la nomenclature (marge à gauche de la portée) :

\new Staff \with{instrumentName = "Instrument" shortInstrumentName = "Inst."} \relative c'' {
  c4 d e f
}

Au niveau des fonctions qui structurent la partition modifier

Il y a du texte attaché à certaines fonctions qui structurent la partition. C'est par exemple le cas de l'indication textuelle du tempo (qui suit la commande \tempo), des noms de section (qui suivent la commande \sectionLabel) ou des marques de répétition (qui suivent la commande \mark) :

\new Staff \relative c'' {
  \tempo "Allegro" 4 = 120
  \mark "A"
  \sectionLabel "Introduction"
  c4 d e f
}

Concernant les sections :

  • cette fonctionnalité a été introduite avec la version 2.23
  • la commande \section indique un changement de section et place automatiquement une double-barre de mesure || ;
  • si l'on veut donner une indication avant la double-barre, par exemple une indication de saut (type D.C. ou D.S.) , on la met après une commande \jump, le texte est alors en italiques.
\new Staff \relative c'' {
  \sectionLabel "Introduction"
  c4 d e f \jump "D.C."
  \section
  \sectionLabel "I"
  g a b c
}

Au niveau des notes ou des mesures modifier

Il y a du texte qui est affiché au-dessus ou en dessous d'une note ; il s'agit en général d'un commentaire ou d'une indication de jeu. Pour placer ce texte, on le met après un trait d'union - pour laisser LilyPond placer le texte librement au-dessus ou en dessous ; après un tiret de soulignement _ pour le placer sous la portée, et après un accent circonflexe ^ pour le mettre au-dessus de la portée :

\new Staff \relative c'' {
  c1-"Texte placé automatiquement"
  d_"Texte placé sous la portée"
  e^"Texte placé au-dessus de la portée"
}

Il y a du texte attaché aux mesures ; il est placé au-dessus de la portée. Si le texte doit être aligné au début de la portée, on utilise une commande \textMark ; pour l'aligner à la fin de la mesure, on utilise \textEndMark.

\new Staff \relative c'' {
  \textMark"Début"
  c1
  \textEndMark "Fin"
  d
}

Paroles modifier

Il y a le texte des paroles d'un chant. Il est dans un environnement \lyricmode. Ce mode est activé automatiquement avec la commande \addlyrics{…} (pour les chants simples) ou bien \lyricsto{…} (qui permet d'attacher les paroles à une voix Voice donnée) :

<<
  \new Staff \relative c'' {
    c
  }
  \addlyrics {"do"}
>>
<<
  \new Staff \relative c'' {
    c
  }
  \lyrics {"do"}
>>
<<
  \new Staff \relative c'' {
    c
  }
  \new \Lyrics \lyricmode {"do"}
>>
<<
  \new Staff  \relative c'' {
    \new Voice = "voixUn" {
      c1
    }
  }
  \new \Lyrics \lyricsto "voixUn" {"do"}
>>

Pour avoir tout le texte en italique :

\lyrics { \override LyricText.font-shape = #'italic
  }

Texte indépendant de la partition modifier

On peut mettre un bloc de texte avant ou après un environnement \score{…}, par exemple pour mettre une introduction et des notes de fin.

Note modifier

Dans tous les exemples ci-dessous, on peut utiliser un environnement \markup{…} et des variables.

Par exemple :

\version "2.18.23"

compositeur = "W. A. Mozart"
titre = \markup{Sonate}
instru = "Piano"

\markup{Ceci est une œuvre de jeunesse}

\header {
  title = \titre
  composer = \compositeur
  tagline = ""
}

\score {
  
  \new Staff \with{instrumentName = \instru} \relative c'' {
    \tempo \markup{Allegro}
    c1
  }
  
  \layout {}
  \midi {}
}

Mise en forme globale modifier

Le bloc \layout{…} permet de définir des paramètres de mise en forme valables pour la partition pour certains contextes.

\score {
    \layout{
    \set fontSize = #-1 % pour la partition
    
    \context {
      \Staff % ou \staffGroup, ou \Voice
      \override TextScript.padding = #1 % espacement par rapport aux objets voisins du texte
      \override TextScript.color = #magenta % couleur
    }
  }
  []
}

Mise en forme d'une portée modifier

Les paramètres de mise en forme concernant une portée sont placés dans l'environnement \with, ou ben au sein de l'environnement avec un \set :

\new Staff \with{ fontSize = #-4 } \relative c'' {
  c1-"Texte"
}
\new Staff \relative c'' { \set fontSize = #-4
  c1-"Texte"
}

Cela concerne :

  • la nomenclature (nom de l'instrument) ;
  • la clef ;
  • le chiffrage de la mesure.

Mise en forme d'un texte donné modifier

Pour mettre en forme une chaîne de caractère, il faut utiliser le contexte \markup{…}.

Pour changer le corps (la taille du texte), on peut utiliser une commande mnémotechnique — dont le nom a un sens en anglais — comme {{lang|en|tiny)} (minuscule) ou {{lang|en|huge)} (énorme), ou bien en indiquant une variation de la variable fontSize (taille de fonte) :

  • jusqu'à la version 2.18 : \set fontSize = #n ;
  • à partir de la version 2.19 : \set fontSize = n.
Changement de corps
Commande
mnémotechnique
fontSize
\teeny -3
\tiny -2
\small -1
\normalsize 0
\large 1
\huge 2

Pour encadrer le texte, on utilise la commande \box{…} ; les mots sont encadrés séparément. Pour avoir un cadre commun à plusieurs mots, on utilise la commande \wordwrap{…}.

https://lilypond.org/doc/v2.23/Documentation/notation/formatting-text.fr.html

Caractères spéciaux modifier

\coda, \flat, \doubleflat, \szmiflat, \sharp, \doublesharp, \semisharp, \natural, \fermata, \segno, \musicglyph "scripts.segno"


Génération d'un fichier de son < > Programmation