Introduction à LilyPond/Afficher du texte

Un livre de Wikilivres.
12. Afficher du texte

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

Comment afficher du texte[modifier | modifier le wikicode]

Chaîne de caractères[modifier | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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 tiny (minuscule) ou 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 | modifier le wikicode]

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

Pour afficher une note dans un contexte \markup{}, on peut utiliser :

  • \note {"m} #nm est la durée (par exemple {4} pour une noire, {4.} pour une noire pointée) et n est la longueur de hampe (#1 pour une hampe de longueur standard vers le haut, #-0.75 pour une hampe plus courte vers le bas) ;
    jusqu'à la version 2.21 de LilyPond, la syntaxe est : \note #"m" #n ;
  • \note\note-by-number #m #n #pm est la durée de base, n est le nombre de points et p est la longueur de hampe ;
  • à partir de la version 2.23, on peut utiliser la commande \rythm{musique} dans laquelle musique est le motif rythmique écrit sans hauteur de note (par exemple \rythm{\tuplet 3/2{4 8}} pour une noire et une croche en triolet).

On peut créer une espace de longueur définie, positive ou négative (cela rapproche le caractère suivant) avec \hspace (horizontal space, espace horizontale) et \vspace (vertical space, espace verticale), par exemple : \hspace #0.75.

Notes et références[modifier | modifier le wikicode]


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