< Recherche:Combinatoire & pratique instrumentale < Annexe



Lilypond

Description

Voir documentation :

Lilypond[1] est un logiciel d'édition de partition musicale avec lequel, contrairement à la plupart de ses concurrents, on écrit les notes sous forme de texte.

Ce logiciel a été implémenté dans Wikiversité (et les autres projets de Wikimédia). De cette façon, on peut élaborer des morceaux de partition musicale en intégrant simplement du code Lilypond dans le code wiki d'une page[2].

Pour plus de détails sur la façon de coder, nous renvoyons le lecteur à http://www.lilypond.org/text-input.fr.html.


Syntaxe de base

Par exemple, le code :

<score vorbis="1">
{
\clef treble

r4 c' c'' c'''

\bar "|."
}
</score>

permet d'obtenir la partition suivante :



{
\clef treble

r4 c' c'' c'''

\bar "|."
}



Pour plus de détails, nous conseillons la lecture de http://www.lilypond.org/text-input.fr.html.


Principales fonctions utilisées

Nous avons en particulier utilisé la puissance des fonctions suivantes :

  • \transpose : transposition "normale"
  • \modalTranspose : transposition sur un mode donné


Ces fonctions sont détaillées plus bas.


Fonction de transposition "normale"

Source

http://lilypond.org/doc/v2.19/Documentation/source/Documentation/notation/changing-multiple-pitches.fr.html#transpose


Syntaxe

\transpose note_de_départ note_d_arrivée { expression_musicale }


Code sourceRésultat
<score vorbis="1">
{
\clef treble
\transpose c c' { c8 d e f g a b c' }
\transpose c d' { c8 d e f g a b c' }
\transpose c g' { c8 d e f g a b c' }
\transpose c c' { c8 d e f g a b c' }

\bar "|."
}
</score>

{
\clef treble
\transpose c c' { c8 d e f g a b c' }
\transpose c d' { c8 d e f g a b c' }
\transpose c g' { c8 d e f g a b c' }
\transpose c c' { c8 d e f g a b c' }

\bar "|."
}


Autre exemple

<score vorbis="1">
{
\clef treble

\transpose c c' { c8^\markup { \null \raise #1 \bold { C } } d e f g a b c' b a g f e d c4 }
\transpose c f' { c8^\markup { \null \raise #1 \bold { F } } d e f g a b c' b a g f e d c4 }
\transpose c bes { c8^\markup { \null \raise #1 \bold { Bb } } d e f g a b c' b a g f e d c4 }
\transpose c ees' { c8^\markup { \null \raise #1 \bold { Eb } } d e f g a b c' b a g f e d c4 }
\transpose c aes { c8^\markup { \null \raise #1 \bold { Ab } } d e f g a b c' b a g f e d c4 }
\transpose c des' { c8^\markup { \null \raise #1 \bold { Db } } d e f g a b c' b a g f e d c4 }
\transpose c ges { c8^\markup { \null \raise #1 \bold { Gb } } d e f g a b c' b a g f e d c4 }
\transpose c b { c8^\markup { \null \raise #1 \bold { B } } d e f g a b c' b a g f e d c4 }
\transpose c e' { c8^\markup { \null \raise #1 \bold { E } } d e f g a b c' b a g f e d c4 }
\transpose c a { c8^\markup { \null \raise #1 \bold { A } } d e f g a b c' b a g f e d c4 }
\transpose c d' { c8^\markup { \null \raise #1 \bold { D } } d e f g a b c' b a g f e d c4 }
\transpose c g { c8^\markup { \null \raise #1 \bold { G } } d e f g a b c' b a g f e d c4 }

\bar "|."
}
</score>



{
\clef treble

\transpose c c' { c8^\markup { \null \raise #1 \bold { C } } d e f g a b c' b a g f e d c4 }
\transpose c f' { c8^\markup { \null \raise #1 \bold { F } } d e f g a b c' b a g f e d c4 }
\transpose c bes { c8^\markup { \null \raise #1 \bold { Bb } } d e f g a b c' b a g f e d c4 }
\transpose c ees' { c8^\markup { \null \raise #1 \bold { Eb } } d e f g a b c' b a g f e d c4 }
\transpose c aes { c8^\markup { \null \raise #1 \bold { Ab } } d e f g a b c' b a g f e d c4 }
\transpose c des' { c8^\markup { \null \raise #1 \bold { Db } } d e f g a b c' b a g f e d c4 }
\transpose c ges { c8^\markup { \null \raise #1 \bold { Gb } } d e f g a b c' b a g f e d c4 }
\transpose c b { c8^\markup { \null \raise #1 \bold { B } } d e f g a b c' b a g f e d c4 }
\transpose c e' { c8^\markup { \null \raise #1 \bold { E } } d e f g a b c' b a g f e d c4 }
\transpose c a { c8^\markup { \null \raise #1 \bold { A } } d e f g a b c' b a g f e d c4 }
\transpose c d' { c8^\markup { \null \raise #1 \bold { D } } d e f g a b c' b a g f e d c4 }
\transpose c g { c8^\markup { \null \raise #1 \bold { G } } d e f g a b c' b a g f e d c4 }

\bar "|."
}


Fonction de transposition sur un mode

Source

http://lilypond.org/doc/v2.19/Documentation/source/Documentation/notation/changing-multiple-pitches#modal-transformations


Syntaxe

\modalTranspose hauteur-départ hauteur-arrivée { mode } { motif }


Sur une gamme "classique"

Code

<score vorbis="1">
{
\clef treble

\modalTranspose c	c'	 { c d e f g a b } { c8 d e f }
\modalTranspose c	d'	 { c d e f g a b } { c d e f }
\modalTranspose c	e'	 { c d e f g a b } { c d e f }
\modalTranspose c	f'	 { c d e f g a b } { c d e f }
\modalTranspose c	g'	 { c d e f g a b } { c d e f }
\modalTranspose c	a'	 { c d e f g a b } { c d e f }
\modalTranspose c	b'	 { c d e f g a b } { c d e f }
\modalTranspose c	c''	 { c d e f g a b } { c d e f }
\modalTranspose c	d''	 { c d e f g a b } { c d e f }
\modalTranspose c	e''	 { c d e f g a b } { c d e f }
\modalTranspose c	f''	 { c d e f g a b } { c d e f }
\modalTranspose c	g''	 { c d e f g a b } { c d e f }
\modalTranspose c	c'''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	b''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	a''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	g''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	f''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	e''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	d''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	c''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	b'	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	a'	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	g'	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	f'	 { c d e f g a b } { c b, a, g,~ }

c'1

\bar "|."
}
</score>


Résultat


{
\clef treble

\modalTranspose c	c'	 { c d e f g a b } { c8 d e f }
\modalTranspose c	d'	 { c d e f g a b } { c d e f }
\modalTranspose c	e'	 { c d e f g a b } { c d e f }
\modalTranspose c	f'	 { c d e f g a b } { c d e f }
\modalTranspose c	g'	 { c d e f g a b } { c d e f }
\modalTranspose c	a'	 { c d e f g a b } { c d e f }
\modalTranspose c	b'	 { c d e f g a b } { c d e f }
\modalTranspose c	c''	 { c d e f g a b } { c d e f }
\modalTranspose c	d''	 { c d e f g a b } { c d e f }
\modalTranspose c	e''	 { c d e f g a b } { c d e f }
\modalTranspose c	f''	 { c d e f g a b } { c d e f }
\modalTranspose c	g''	 { c d e f g a b } { c d e f }
\modalTranspose c	c'''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	b''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	a''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	g''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	f''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	e''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	d''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	c''	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	b'	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	a'	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	g'	 { c d e f g a b } { c b, a, g, }
\modalTranspose c	f'	 { c d e f g a b } { c b, a, g,~ }

c'1

\bar "|."
}



Sur une gamme pentatonique

Code

<score vorbis="1">
{
\clef treble

\modalTranspose c 	c'	 { c d e g a } { c8 d e }
\modalTranspose c 	d'	 { c d e g a } { c8 d e }
\modalTranspose c 	e'	 { c d e g a } { c8 d e }
\modalTranspose c 	g'	 { c d e g a } { c8 d e }
\modalTranspose c 	a'	 { c d e g a } { c8 d e }
\modalTranspose c 	c''	 { c d e g a } { c8 d e }
\modalTranspose c 	d''	 { c d e g a } { c8 d e }
\modalTranspose c 	e''	 { c d e g a } { c8 d e }
\modalTranspose c 	g''	 { c d e g a } { c8 d e }
\modalTranspose c 	a''	 { c d e g a } { c8 d e }
\modalTranspose c 	c'''	 { c d e g a } { c8 d e }
\modalTranspose c 	a''	 { c d e g a } { c8 d e }
\modalTranspose c 	g''	 { c d e g a } { c8 d e }
\modalTranspose c 	e''	 { c d e g a } { c8 d e }
\modalTranspose c 	d''	 { c d e g a } { c8 d e }
\modalTranspose c 	c''	 { c d e g a } { c8 d e }
\modalTranspose c 	a'	 { c d e g a } { c8 d e }
\modalTranspose c 	g'	 { c d e g a } { c8 d e }
\modalTranspose c 	e'	 { c d e g a } { c8 d e }
\modalTranspose c 	d'	 { c d e g a } { c8 d e }

c'2
\bar "|."
}
</score>


Résultat


{
\clef treble

\modalTranspose c 	c'	 { c d e g a } { c8 d e }
\modalTranspose c 	d'	 { c d e g a } { c8 d e }
\modalTranspose c 	e'	 { c d e g a } { c8 d e }
\modalTranspose c 	g'	 { c d e g a } { c8 d e }
\modalTranspose c 	a'	 { c d e g a } { c8 d e }
\modalTranspose c 	c''	 { c d e g a } { c8 d e }
\modalTranspose c 	d''	 { c d e g a } { c8 d e }
\modalTranspose c 	e''	 { c d e g a } { c8 d e }
\modalTranspose c 	g''	 { c d e g a } { c8 d e }
\modalTranspose c 	a''	 { c d e g a } { c8 d e }
\modalTranspose c 	c'''	 { c d e g a } { c8 d e }
\modalTranspose c 	a''	 { c d e g a } { c8 d e }
\modalTranspose c 	g''	 { c d e g a } { c8 d e }
\modalTranspose c 	e''	 { c d e g a } { c8 d e }
\modalTranspose c 	d''	 { c d e g a } { c8 d e }
\modalTranspose c 	c''	 { c d e g a } { c8 d e }
\modalTranspose c 	a'	 { c d e g a } { c8 d e }
\modalTranspose c 	g'	 { c d e g a } { c8 d e }
\modalTranspose c 	e'	 { c d e g a } { c8 d e }
\modalTranspose c 	d'	 { c d e g a } { c8 d e }

c'2
\bar "|."
}


Outils divers

Étendue

Pour plus de commodité, nous avons créé sur notre tableur une liste personnalisée :

c, d, e, f, g, a, b, c d e f g a b c' d' e' f' g' a' b' c d e f g a b c' d e f g a b

qui correspond à la gamme de do majeur sur cinq octaves :


{
\clef bass
\cadenzaOn

c, d, e, f, g, a, b, c d e f g a b 
\clef treble
c' d' e' f' g' a' b' c'' d'' e'' f'' g'' a'' b'' c''' d''' e''' f''' g''' a''' b'''

\bar "|."
}


Cela permet de trier des notes comme s'il s'agissait de mots ou de nombres, et ainsi garder l’ordre des notes dans la gamme.


Modèle publipostage code Lilypond pour variations sur gammes

===== Motif "«Motif»"  =====

<br />

<score vorbis="1">
{


c'2

\bar "|."
}
</score>

<br />



Macro ExcelVersWiki

Cette macro sur Word sert à nettoyer le code Lilypond traité sur Excel : suppression des espaces, tabulations, caractères inutiles, etc.

Sub ExcelVersWiki()

' 08 I 15
' révisée le 11 I 15

' Cette macro sert à nettoyer le code Lilypond pour être copié directement sur une page wiki.

' Utilisation : une fois qu'on a copié les cellules concernées dans Excel,
' basculer dans Word (ou ouvrir Word si besoin) et lancer la macro


' Ouvrir un nouveau document (temporaire)
    Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
    
' Copier le contenu du presse-papiers
    Selection.PasteAndFormat (wdFormatPlainText)
    
' Sélectionner tout le contenu
    Selection.WholeStory
    
' Remplacer les tabulations par des espaces
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^t"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = False
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    
' Remplacer les marques de paragraphes par des espaces
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "^p"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = False
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    
' Remplacer les doubles espaces par des espaces
    With Selection.Find
        .Text = "  "
        .Replacement.Text = " "
        .Forward = True
        .Wrap = False
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    
' Copier l’ensemble du document
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Copy

' Fermer le document
    ActiveDocument.Close (False)

End Sub



Outils pour permutations & combinaisons

Pour générer des permutations et des combinaisons, nous avons utilisé les outils en ligne suivants :



  1. Cf. Documentation de Lilypond : http://www.lilypond.org/manuals.fr.html
  2. http://www.lilypond.org/features.fr.html
Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.