Il existe un langage libre et gratuit pour écrire de la musique : LilyPond. Il est assez semblable à LaTeX dans sa forme, et très performant. Avec, vous pouvez créer une partition, avec titre, texte de paroles, commentaires, … et générer :
- un fichier PS et PDF de la partition ;
- un fichier son Midi du morceau ;
- un fichier image, qui peut par la suite être intégré dans un fichier LaTeX.
Nous vous invitons vivement à utiliser LilyPond, d'autant plus que le code LilyPond peut être intégré directement dans le code LaTeX.
Toutefois, avant le développement de LilyPond, une extension fut développée pour permettre d'écrire de la musique avec LaTeX : MusicTeX, remplacée depuis par MusiXTeX. Il peut être plus pratique, pour de courts extraits, d'utiliser MusiXTeX plutôt que d'intégrer une image. Nous allons donc voir quelques fonctionnalités.
Notons toutefois que LilyPond est « orienté musique » : l'auteur a juste à penser au morceau, et écrit les voix séparément (on a une « écriture horizontale »), le programme se charge d'aligner les mesures, et les notes dans les mesures. On a une bonne séparation du fond et de la forme. À l'inverse, MusiXTeX est « orienté typographie » : l'auteur doit penser à la mise en forme, il doit prévoir l'alignement en regroupant ensemble les éléments des différentes voix (on a une « écriture verticale »). Mais comme le font remarquer les auteurs de MusiXTeX, « si cela vous paraît compliqué, rappelez vous que TeX a été conçu pour écrire des textes et non de la musique… » (If this sounds complicated, remember that TeX was designed to typeset text and not music…). Toutefois, le résultat obtenu avec MusiXTeX est irréprochable.
Mode mathématiques et fonte Text Companion
modifierLe mode mathématiques (introduit, en ligne, par $ … $
), permet d'afficher quelques symboles musicaux :
\flat
: bémol ;\natural
: bécarre ;\sharp
: dièse .
On remarque au passage que le dièse « ♯ » est différent du croisillon « # », appelé hash sign en anglais (et abréviation de « numéro » dans cette langue).
La fonte Text Companion est incluse dans le codage TS1. On en dispose donc en mettant dans le préambule
\usepackage{textcomp}
On peut alors écrire une croche avec l'instruction \textmusicalnote
. On peut obtenir le C barré avec \textcolonmonetary
(bien qu'il s'agisse ici d'un symbole monétaire).
LilyPond
modifierIl existe un wikilivre sur LilyPond. Nous allons ici rappeler quelques généralités.
LilyPond est un projet totalement indépendant de LaTeX. Il doit être téléchargé à part, et les fichiers Lilypond possèdent leur propre compilateur.
Les fichiers LilyPond sont des fichiers texte portant l'extension .ly
. Ils sont compilés par le programme lilypond
. Le programme est livré avec un éditeur de texte, lilypad
.
Éléments de base
modifierL'élément de base de Lilypond est la phrase musicale, sous la forme :
{ notes }
Les notes sont de la forme hauteur durée, où
- la hauteur est indiquée
- avec la notation anglo-saxonne (
c d e f g a b
pour do à si), - la note est diésée en ajoutant
is
et bémolisée en ajoutantes
(cis
pour un do dièse), - on monte d'une octave avec une apostrophe
'
, et on descend avec une virgule,
(par exemple «c'
» pour avoir le do une octave au dessus,c,
pour une octave en dessous), - un silence est indiqué par un «
r
» (rest) ;
- avec la notation anglo-saxonne (
- la durée est indiquée
- par un nombre selon la notation habituelle :
1
pour une ronde,2
pour une blanche,4
pour une noire, … - on met un point
.
derrière pour pointer la durée, - si l'on n'indique pas la durée, on utilise la même durée que la note précédente.
- par un nombre selon la notation habituelle :
Par exemple
c4. r4.
pour un do noire pointée suivi d'un soupir pointé,
\relative c'{c8 d e c d4 d8 e f4 f e e}
pour le début de J'ai du bon tabac.
Un fichier peut contenir uniquement une ou plusieurs phrases musicales. Toutefois, un fichier contient en général d'autres informations, notamment concernant la mise en forme.
Accords et polyphonie
modifierLes notes d'un accord se notent entre deux crochets pointus <…>
. La durée se met après. Par exemple :
<c e g>4
Lilypond reconnaît également la notation anglo-saxonne des accords, comme par exemple c:m
pour do mineur. La durée se met avant le deux-points : c4:m
.
Si l'on veut faire figurer deux voix sur la même portée, on met les deux voix entre des doubles crochets <<…>>
, et on les sépare par deux contre-obliques :
<< {voix une} \\ {voix deux} >>
Si l'on veut avoir plusieurs portées, on utilise :
<< \new Staff {voix une} \new Staff {voix deux} >>
Format général
modifierUn fichier .ly
est un fichier texte de la forme :
\version version \header { title = titre de l'oeuvre composer = nom du compositeur } \score { partition }
où
- version est le numéro de version de lilypond (permet de faciliter les mises à jour) ;
- titre de l’œuvre et nom du compositeur seront affiché en haut de la page ;
- partition est la description de la musique elle-même.
Si vous voulez juste un petit bout de partition, le plus simple est peut-être de retoucher l'image avec un logiciel, comme par exemple The Gimp, pour extraire la partie qui vous intéresse.
La partition est de la forme :
\new Staff \relative c' { \key c \major \clef G \time 4/4 \tempo 4=60 notes }
où
\new Staff
indique une nouvelle portée ;\relative
indique que l'octave est déterminée par la hauteur de la note précédente ; lec'
indique que l'octave de référence est fixée par le do medium ;\key c \major
indique que l'on est en do majeur ;\clef G
indique que l'on place une clef de sol ;\time 4/4
indique une mesure à (ou C) ;\tempo 4 = 60
indique que le tempo est de 60 à la noire (4
).
Notons que la déclaration de la tonalité (avec \key
) place l'armure d'altérations. Si vous êtes en sol majeur (\key g \major
) et que vous mettez fis
, l'altération ne s'affichera pas puisqu'elle est à la clef. Si par contre vous mettez f
, cela affichera un fa bécarre.
Compilation
modifierL'éditeur lilypad
permet de lancer la compilation :
- avec le menu Compile | Typeset file,
— ou bien — - avec la combinaison de touches Ctrl+R sous Windows, +R sous MacOS X.
On peut également, à partir du gestionnaire de fichiers (Explorateur Windows, Finder de MacOS X, X-Window d'Unix), faire un glisser-lâcher de l'icône du fichier .ly
sur l'icône du programme lilypond
. On peut enfin utiliser la ligne de commande
lilypond nom_du_fichier
Par défaut, Lilypond génère un fichier PostScript (.ps
). Les PDF peuvent être intégrés directement dans fichier LaTeX.
Pour que Lilypond génère un fichier d'un format différent, compilez avec les options :
lilypond --pdf nom_de_fichier
pour avoir un PDF ;lilypond -f=ps nom_de_fichier
pour avoir un PostScriptS ;lilypond -f=png nom_de_fichier
pour avoir un PNG.
On peut aussi utiliser --format=
au lieu de -f=
.
Intégration du code LilyPond dans le code LaTeX
modifierOn peut intégrer directement du code LilyPond dans le source LaTeX ; le fichier devra être compilé avec lilypond-book
avant d'être compilé par latex
.
Le code LilyPond est écrit :
- soit dans un environnement
lilypond
; - soit dans le bloc d'une commande
\lilypond{…}
; - soit dans un fichier extérieur appelé dans le document LaTeX par
\lilypondfile{nom_de_fichier}
.
Sous MacOS X, le programme lilypond-book
est dans le répertoire …/LilyPond.app/Contents/Resources/bin
, voir Introduction à LilyPond, Principe général > Programme en ligne de commande.
Voir
- Lilypond-book: Integrating text and music ;
- pour l'utilisation de
lilypond-book
sous Microsoft Windows 95, 98 et ME : LilyPond sous Cygwin
Une autre possibilité est d'utiliser, avec LuaLaTeX
, l'extension LyLuaTeX.
MusiXTeX
modifierPour utiliser MusiXTeX, il faut mettre en préambule
\usepackage{musixtex}
Un morceau de musique a la forme générale :
\begin{music} \startextract \notes notes \enotes \endextract \end{music}
où
\startextract
et\endextract
indiquent le début et la fin de la portée ; pour les longs morceaux, on utilise\startpiece
et\endpiece
;\notes
et\enotes
indiquent le début et la fin d'une phrase musicale.
Une partition peut contenir plusieurs phrases musicales ; elle sera donc une succession de \notes … \enotes
. On peut utiliser \en
à la place de \enotes
.
Les notes sont indiquées sous la forme \durée hauteur
, ou, si plusieurs notes ont la même durée, sous la forme \durée{ hauteur_1 hauteur_2 … hauteur_n }
.
Par exemple,
\notes \qa c \enotes
- ou
\notes \qa{c} \enotes
- désignent un do (
c
) noire (\qa
).
Lors de la compilation, latex
crée un fichier .mx1
.
Taille et espacement
modifierLa dimension de la musique (taille des notes et des portées) est indiquée par une instruction, placée hors du contexte musical (par exemple en début de document). Par ordre croissant, on a :
\smallmusicsize
;\normalmusicsize
;\largemusicsize
;\Largemusicsize
.
Nous avons ci-dessus parlé de l'instruction \notes
, mais il existe plusieurs instructions d'introduction permettant de faire varier l'espacement, par ordre croissant d'espacement :
\znotes
(zero) : pas d'espacement ;\notes
: recommandé pour l'écriture des double-croches ;\notesp
(pointed) : recommandé pour l'écriture des double-croches pointées ;\Notes
: ~ croches ;\notesp
;\NOtes
: ~ noires ;\NOtesp
;\NOTes
: ~ blanches ;\NOTesp
;\NOTEs
: ~ rondes.
On peut rajouter une espace après une note avec \sk
.
Durées
modifierLes durées sont :
\wh
: ronde (whole note) ;\ha
: blanche, le placement de la queue (haut ou bas) étant laissé à l'appréciation de MusiXTeX (half note automatic) ;\qa
: noire (quarter note automatic) ;\ca
: croche (croche[1] automatic) ;\cca
: double croche ;\ccca
: triple croche.
On peut forcer l'orientation de la queue en remplaçant le a par
- u pour une hampe vers le haut (up) ;
- l pour une hampe vers le bas (low) ;
par exemple \qu
, \cl
.
Pour pointer une note, on ajoute p
, et pp
pour une double pointée. Par exemple, \qap
indique une noire pointée.
Les silences sont :
\pause
: pause ;\hpause
: demi-pause ;\soupir
ou\qp
: soupir ;\ds
: demi-soupir ;\qs
: quart de soupir ;\hs
: huitième de soupir ;\qqs
: seizième de soupir.
Les silences peuvent aussi être pointés, par exemple \soupirp
pour un soupir pointé.
Hauteur
modifierLa notation est basée sur la notation anglo-saxonne pour les notes lagrave à medium, qui sont notées abcdefg
. Puis, les notes suivent l'ordre alphabétique : h
pour la, i
pour si, j
pour le do aigu, …
Les notes des octaves inférieures sont notées en capitales : CDEFG
pour les notes do à sol les plus graves : le do C
est situé à deux lignes supplémentaires sous la portée en clef de fa 4e ligne. On a donc la succession des octaves
do ré mi fa sol la si C D E F G H I J K L M N a b c d e f g h i octave medium j k l m n o p q r s t u v w x y z
On a aussi la possibilité de monter d'une octave avec une apostrophe '
, ou de descendre une octave avec un accent grave `
. Cette montée ou cette descente sont définitifs. Par exemple, les deux déclarations suivantes sont identiques :
\notes \qa{CDEFGHI JKLMNab cdefghi jklmnop} \enotes
- et
\notes \qa{``cdefghi 'cdefghi 'cdefghi 'cdefghi} \enotes
- en effet, le
``
initial fait descendre de deux octaves, puis on monte d'une octave à chaque fois.
Pour les altérations il suffit de faire précéder la note par :
^
pour un dièse=
pour un bécarre_
pour un bémol>
pour un double-dièse<
pour un double bémol
par exemple :
\notes \qa{cd_efg_h_ij} \enotes
Liens entre les notes
modifierUtilisées telles quelles, les « notes à crochet » (croches, double-croches, triples-croches, quadruple-croches) sont écrites séparément. Quand elles se succèdent, on les lie en général par une « barre » située au-dessus ou en-dessous.
Si l'on veut introduire un lien placé au-dessus entre les notes de type croches, on utilise
\iburef note pente
(ibu
pour initiate beam up), où- ref est la référence du lien : c'est un numéro arbitraire qui permet de démêler les différents liens qui s'étalent sur plusieurs
\notes … \enotes
, - note est la hauteur de la première note du lien, le lien est placé trois lignes au dessus de cette note,
- pente est la pente du lien, entre
-9
(lien descendant) et9
(lien montant),0
indiquant un lien horizontal ;
- ref est la référence du lien : c'est un numéro arbitraire qui permet de démêler les différents liens qui s'étalent sur plusieurs
- les notes ont pour durée
\qb ref
(quarter beam ?), qui place la tête noire et la queue sans placer de crochet ; \tburef
(terminate beam), qui termine le lien, et se place avant la dernière note.
Pour les notes pointées, on utilise \qbp
, et \qbpp
pour les doubles-pointées. Pour les notes sans espace (par exemple pour les accords), on utilise le durée \zqb
.
Par exemple
\Notes \ibu0d0\qb0{c c c}\tbu0\qb0d \enotes
Les autres liens sont introduits par :
ibl
(initiate beam low) : croches, lien en dessous ;ibbu
etibbl
: double-croches ;ibbbu
etibbbl
: triple-croches ;ibbbbu
etibbbbl
: quadruple-croches.
On peut faire varier la multiplicité du lien en cours de lien, par exemple pour faire « croche — deux double-croches » :
\Notes \ibu0d0 \qb0{c} \nbbu0 \qb0{c} \qb0c \enotes
Les instructions sont :
- pour augmenter la multiplicité du lien :
\nbburef
et\nbblref
: lien double (double-croches),\nbbburef
et\nbbblref
: lien triple (triple-croches),\nbbbburef
et\nbbbblref
: lien quadruple (quadruple-croches) ;
- pour diminuer la multiplicité :
\tbbbburef
et\tbbbblref
: termine un lien quadruple, qui devient triple ;\tbbburef
et\tbbblref
: termine un lien triple, qui devient double ;\tbburef
et\tbblref
: termine un lien double, qui devient simple.
Si l'on fait varier la multiplicité et que l'on termine le lien en même temps, cela crée un lien multiple partiel. Par exemple, pour faire « croche pointée — double-croche » :
\Notes \ibu0e0\qbp0e\tbbu0\tbu0\qb0e \enotes
pour faire « double-croche — croche pointée » :
\Notes \ibbu0e0\roff{\tbbu0}\qb0e\tbu0\qbp0e \enotes
Le \roff
sert à décaler la fonction vers la droite (right offset), ce qui permet de donner une longueur non nulle au double-lien initial.
Triolets, sextuolets et n-uolets
modifierIl faut écrire toutes notes du n-uolet dans la même phrase (\notes…\en
), et cette phrase ne doit contenir que ces notes-là.
Pour un triolet, on introduit la phrase par \triolet
(avant la première note) ; on indique en argument la hauteur de note à laquelle placer le nombre. Par exemple
\triolet n
indique que le « 3 » sera placé à la note n, soit au niveau du sol aigu.
Pour un sextuolet, on utilise \xtuplet6
suivi de la hauteur de note. On peut en fait mettre n'importe quel nombre après \xtuplet
, pour avoir les différents n-uolets.
Accords
modifierUn accord, c'est en fait déclarer des notes non suivies d'un espace. On utilise donc les durées :
\zw
pour une ronde (zero-spacing whole note) ;\zhu
ou\zhl
pour une blanche ;\zqu
ou\zql
pour une noire ;\zcu
ou\zcl
pour une croche ;\zccu
,\zcccu
ou\zccl
,\zcccl
pour une double ou triple croche.
Par exemple, pour l'accord parfait de do majeur en noires :
\zqu c \zqu e\qu g
ou
\zqu{ce}\qu g
ou
\zqu{ceg}\sk
La dernière note doit être une note avec espace, sans quoi la note suivante ferait aussi partie de l'accord, ou alors il faut faire suivre l'accord d'un espace. D'autre part, il ne faut pas d'espace avant la déclaration de durée de la dernière note de l'accord : cet espace provoquerait un décalage de la dernière note vers la droite.
Si l'accord contient des secondes, il est nécessaire de placer une notes de l'autre côté de la hampe. On utilise pour cela :
\rw
(right whole note) : ronde poussée vers la droite ;\lw
(left whole note) : ronde poussée vers la gauche ;\rh
et\lh
: blanche ;\rq
et\lq
: noire ;
Phrasé et liaisons
modifierLe principe du phrasé (legato) et de la liaison, parenthèse horizontale, est similaire à celui des liens. On débute un phrasé ou une liaison par
\islurd ref note
(initiate slur down) pour une liaison située en dessous ;\isluru ref note
(initiate slur up) pour une liaison située au-dessus ;
où
- ref est un nombre permettant de suivre la parenthèse si l'on change de groupe
\notes … \enotes
; - note est la hauteur à laquelle commence le phrasé (en général la première note).
Le phrasé se termine par
\tslur ref note
où note est la hauteur de fin du phrasé. Par exemple
\Notes \islurd0c\qu{c d e}\tslur0f\qu f \enotes
Mesures
modifierLe chiffrage de la mesure s'indique avec la fonction
\generalmeter{chiffrage}
où chiffrage est :
\meterfrac{a}{b}
pour indiquer la mesure a/b ;
par exemple\generalmeter{\meterfrac{3}{4}}
\meterC
pour un C (4/4) ;\allabreve
pour un C barré.
Les barres de mesure sont introduites par la fonction \bar
. On peut placer des barres de répétition avec \leftrepeat
(début du passage à répéter), \rightrepeat
(fin du passage) et \leftrightrepeat
(fin d'un passage et début du suivant).
Si l'on veut mettre des notes avant l'indication du chiffrage, on utilise \meterskip
; il prend fin à la première indication \bar
.
Armure
modifierPar défaut, la portée comporte une clef de sol. On peut indiquer une autre clef avec la commande
\setclef{1}{code}
le « 1 » indique qu'il s'agit de la première (et pour l'instant seule) voix. Le code est un chiffre :
0
pour une clef de sol ;1
à4
pour une clef d'ut 1 à 4 ;5
pour une clef de fa 3 ;6
pour une clef de fa 4.
Les altérations à l'armure s'indiquent par
\generalsignature{n}
où n est un entier :
- positif : c'est le nombre de dièses ;
- négatif : c'est le nombre de bémols.
Par exemple, \generalsignature{1}
pour un morceau en sol majeur ou mi mineur (un dièse à la clef), \generalsignature{-1}
pour un morceau en fa majeur ou ré mineur (un bémol à la clef).
Indications d'interprétation
modifierLes indications d'interprétation, comme les accents, les ornements et les nuances, sont en général traités comme des durées non suivies d'espace. Par exemple, pour placer un sforzando au dessus de l'emplacement d'un do aigu, on écrit \usf j
, suivi de la note sur lequel il est placé.
Les commandes sont :
- accents : les commandes commencent par u (up) si on les met au-dessus de la tête de note et l (low) si on les met en-dessous ; elles commencent par bu (beam up) si on les met au-dessus du lien entre les notes, et par bl (beam low) si on les met en-dessous :
\upz
,\lpz
,\bupz
et\blpz
: pizzicato (·) ;\usf
,\lsf
,\busf
et\blsf
: sforzando (>) ;\ust
,\lst
,\bust
et\blst
: staccato (—) ;\usfz
et\busfz
: accent (∧) ;\lsfz
et\blsfz
: accent (∨) ;
- ornements
\mordent
,\Mordent
,\shake
,\Shake
: mordant ;\turn
,\backturn
: gruppetto ;\fermataup
,\fermatadown
,\Fermataup
,\Fermatadown
: point d'orgue.
Pour indiquer une trille, on place
\Trille hl
où h est la hauteur de note où placer l'indication, et l est la longueur en nombre de notes. On peut aussi commencer la trille par \ITrille nh
, où n est le numéro de la trille entre 0 et 6 (on peut placer plusieurs trilles si l'on a plusieurs voix), et h est la hauteur de note où placer l'indication ; on termine alors la trille par \TTrille
.
Pour mettre des appogiatures, on utilise de petites notes, introduites par \smallnotesize
ou \tinynotesize
, et conclues par l'indication normalnotesize
. Dans le cas d'une note unique sous la forme d'une croche barrée, on utilise \grcu
et \grcl
.
Les nuances sont \ppp
(il piu pianissomo possibile), \pp
(pianissimo), \p
(piano), \mp
(mezzo piano), \mf
(mezzo forte), \f
(forte), \ff
(fortissimo) et \fff
(il piu fortissimo possibile). Pour un crescendo ou un decrescendo, on utilise \crescendo{l}
et \decrescendo{l}
, ou l est la longueur (par exemple n\noteskip
pour n notes). Ces signes sont placés par la commande \zcharnote h{texte}
où h est la hauteur de note et texte est l'indication.
Polyphonie
modifierLa numérotation des portées et des instruments se fait de bas en haut. La portée n° 1 est celle du bas.
Pour placer plusieurs portées, on débute l'environnement par l'instruction
\instrumentnumber{n}
où n est le nombre d'instruments. Si un instrument utilise plusieurs portées (par exemple le piano), on précise
\setstaffs i{m}
où i est le numéro de l'instrument, et m est le nombre de portées. Puis, on indique les noms des instruments, avec l'instruction
\setname i{nom}
où i est le numéro de l'instrument. Si les noms sont longs, ils peuvent empiéter sur le début de la portée ou l'accolade qui réunit plusieurs portées. Pour éviter ceci, on peut augmenter l'alinéa avec
\parindent longueur
par exemple \parindent 10mm
.
Puis, on découpe le morceau phrase par phrase — une phrase étant en général une portion de mesure choisi en fonction de l'alignement —, en séparant les instruments par un code>& :
\notes instrument 1 & instrument 2 & … \enotes
s'il y a un instrument avec deux portées, on les sépare par un tube |
, par exemple :
\notes instrument 1 portée 1 | instrument 1 portée 2 & instrument 2 & … \enotes
Exemple
modifier \documentclass[10pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{musixtex}
\usepackage[frenchb]{babel}
\begin{document}
\normalmusicsize
\begin{music}
\instrumentnumber{2} % 2 instruments
\setstaffs 1{2} % instrument 1 (en bas) : 2 portées
\setclef{1}{60} % clef de fa (6) en 1, clef de sol (0) en 2
\generalmeter{\meterfrac{4}{4}} % mesure 4/4
\setname 1{piano} %
\setname 2{chant} %
\parindent 10mm % pour éviter la collision de piano avec l'accolade
\startextract
% {{bleu|1re mesure}}
\Notes
\ha J | % chgt portée, même instr
\zhu{c e}\hu g & % chgt instr ; pas d'espace entre } et \hu
\islurd0c\ibu0d0\qb0{c c c}\tslur0d\tbu0\qb0d
\enotes % assure l'alignement
%
\Notes
\ha N | % chgt portée, même instr
\zhu{g i}\hu k & % chgt instr
\qa{e d}
\enotes
\bar % après toutes les notes de la mesure, pour toutes les voix
% {{bleu|2e mesure}}
\Notes
\qa J |
\zqu{c e}\qu g &
\islurd0c\ibu0d0\qb0{c e}
\enotes
%
\Notes
\qa N |
\zqu{g i}\qu k &
\qb0{d}\tslur0d\tbu0\qb0d
\enotes
%
\Notes
\ha J |
\zhu{c e}\hu g &
\ha c
\enotes
%
\endextract
\end{music}
\end{document}
donne :
Par comparaison, voici le code Lilypond et le résultat :
\version "2.8.7"
\paper {
#(define dump-extents #t)
indent = 10\mm
ragged-right = ##t
}
<<
\new Staff \relative c' {
\set Staff.instrument="chant"
\clef G
\time 4/4
c8[( c c d]) e4 d4
c8[( e d d]) c2
}
\new PianoStaff <<
\new Staff \relative c' {
\set Staff.instrument="piano"
\clef G
\time 4/4
<c e g>2 <g' b d>
<c, e g>4 <g' b d> <c, e g>2
}
\new Staff \relative c {
\clef F
\time 4/4
c2 g
c4 g c2
}
>>
>>
Paroles
modifierMusiXTeX ne gère pas très bien l'alignement des paroles avec les notes. Il est recommandé de faire appel pour cela à l'extension musiclyr
. Toutefois, MusiXTeX dispose tout de même des fonctions héritées de MusicTeX, avec lequel l'alignement était correct. Le problème est que les caractères — leur chasse et leur approche — ne sont pas étirables ou contractables alors que la largeur et l'espacement des notes peut varier.
La première chose consiste à réserver de la place verticale. Pour cela, on utilise
\setinterinstrument n{longueur}
qui crée un « interinstrument » au dessus de l'instrument n. La longueur peut être indiquée par i\Interligne
pour avoir i fois l'interligne. Par exemple,
\setinterinstrument 2{1\Interligne}
pour avoir les paroles entre le 2e et le 3e instrument.
Pour placer les paroles syllabe par syllabe, on utilise \zsong{syllabe }
juste avant la note. Pour bien gérer l'empilement vertical, on mettra une seule syllabe par \notes … \enotes
, par exemple
\NOtes \zsong{Au }\qu g\en \NOtes \zsong{clair }\qu g\en \NOtes \zsong{de }\qu g\en \NOtes \zsong{la }\qu h\en \bar \NOtes \zsong{Lu- }\hu i\en \NOtes \zsong{ne }\hu h\en
La commande \zsong
place les paroles à la droite de la notre. On peut aussi utiliser \csong
pour centrer, et \lsong
pour les placer à gauche.
On peut ajuster la hauteur à laquelle est écrit le texte avec \setsongraise n{longueur}
où n est le numéro de l'instrument concerné.
Pour régler les problèmes d'espacement, on peut utiliser les différents espacements (\notes
, \Notes
, \NOtes
, …) ou bien faire calculer la taille du texte et réserver cette place pour la note avec :
\hardlyrics{texte}\notes \hsong{\thelyrics}note \en
où
\hardlyrics{texte}
calcule la largeur du texte et met celui-ci dans la variable\thelyrics
;- il faut impérativement utiliser
\notes
et pas une autre commande ; \hsong{…}
met le texte dans un boîte\hbox
.
Placer du texte au-dessus des portées
modifierPour placer du texte au-dessus des portées, on utilise \uptext
. Cela peut être un commentaire, mais aussi une indication comme \textit{tr}
pour la trille.
Rappelons la commande \znotes … \enotes
permet de ne pas provoquer d'espacement et donc de ne pas poser de problème d'alignement ; on peut alors faire
\znotes \uptext{texte} \enotes
Certains symboles sont placés en indiquant la note après ; par exemple, en clef de sol, pour placer le symbole au dessus de la portée, on peut utiliser la note m
(fa) :
\segno m
pour le signe de répétition ;\coda m
pour le ballon de coda.
Notation ABC
modifierLa notation ABC permet de réaliser des partitions de musique sans logiciels dédiés, à l'aide d'un simple traitement de texte.
On peut intégrer facilement cette notation dans un document LaTeX à l'aide du package abc appelé dans le préambule :
\usepackage{abc}
Exemple minimal
modifier\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{abc}
\begin{document}
\section{Petit aperçu}
Je vous propose ici un petit Andro pour commencer :
\begin{abc}[name=Andro]
X:2
T:An Dro
O:Bretagne
M:4/4
L:1/4
Q:1/4=132
K:C
|: "Am" A A A> B |"Am" c/d/ c/B/ A c/A/ |"G"B B B> d | "E7"c B "Am"A2 :|!
|:"Am"e e e d/c/ |"G" d d d2 |"F" c c c B/A/ |"Em" B B B2 | "F"e e/d/ "G"B> d | "E7"c B "Am"A2 :|
\end{abc}
et puis on enchainera ensuite avec une Mazurka :
\begin{abc}[name=Lapleau]
X: 1
T: Mazurka Lapleau
Z: Edgar Bolton
R: mazurka
M: 3/4
L: 1/8
K: Gmaj
DG |:"G" B2 BdBG | B2 BdBG |"D7" A2 AcBA |"G" B2 G2 DG |
B2 BdBG | B2 BdBG |"D7" A2 AcBA |1"G" G4 DG :|2"G" G4 dB ||
|:"G" G2 GB dB |"Am" c2 A2 cA |"D7" F2 FA cA |"G" B2 G2 dB |
G2 GB dB |"Am" c2 A2 cA |"D7" F2 FA cA |1"G" G4 dB :|2"G" G6 ||
\end{abc}
Et si on a le temps, on terminera par un air de Bretagne !
\begin{abc}[name=Maligorn]
X:101
T:Ur Maligorn
O:Bretagne
M:4/4
L:1/8
Q:1/4=160
K:C
|: "C"e2 ed c3 d | "F"e2 f2 "G"d4| "C"e2 ed c3 d | "F"e2 f2 "G"d4 :|
|: "C"c2 ce g3 a | "F"f2 g2 "C"e4 | "C"c2 ce "F"g4 fe | "G"dd B2 "C"c4 :|
\end{abc}
\end{document}
La compilation se fait avec l'option latex -shell-escape, par exemple avec TeXmaker ou alors en enchaînant les commandes suivantes :
latex -shell-escape exemple-minimal.tex latex -shell-escape exemple-minimal.tex dvips exemple-minimal.dvi
Autres extensions
modifierL'extension gchords
permet de dessiner des diagrammes d'accord pour guitare.
Il est également possible d'utiliser gregorio qui est l'équivalent de lilypond pour le chant grégorien.
Voir aussi
modifierRéférences
modifier- ↑ le terme anglais est eighth note, mais MusiXTeX utilise l'acronyme français