Subject: Chiffrage harmonie classique avec lilypond

From: "Bruno" <[email-masked]>
Date: Wed, 13 Nov 2013 07:50:51 +0100

Bonjour,

Je souhaiterais utiliser lilypond pour réaliser des chiffrages d'accord en
harmonie classique. Malgré mes recherches sur le net, je n'ai pas trouvé si
cela est possible et, si oui, comment faire.

J'aimerais quelque chose qui ressemble à cela :
http://www.symphozik.info/bach-analyse-harmonique-du-premier-prelude-du-clavier-bien-tempere,4,dossier.html
où l'on a, respectivement, la tonalité,  le degré de l'accord et son
chiffre. Pour info, le document que je cite à été réalisé avec le logiciel
Finale. Mais, si possible, je préfèrerais bien évidemment utiliser lilypond
que je connais déjà un peu.

Je vous transmets un exemple d'accords que j'ai écrits : pourriez-vous
m'indiquer, dans mon texte, comment noter la tonalité, le degré et le
chiffre de l'accord (ici, ils sont tous "5").

Merci énormément d'avance pour vos réponses.

Bruno.

-----------Exemple----------------------------------

upper = \relative c'' {
  \clef treble
  \key c \major
  \time 4/4

<<

  {<<e1 g,~>>  << d' g,>> << c~ e, >> <<c' a>> <<b d, >> <<c' e, >>}
}

lower = \relative c {
  \clef bass
  \key c \major
\time 4/4

<<
   { <<c1 g'>> <<g b>> <<a c~ >> <<f, c'>> <<g b>> <<c, g'>>}
}

\score {

  \new PianoStaff <<
    \set PianoStaff.instrumentName = #"Piano  "

  \new Staff = "upper" \upper
    \new Staff = "lower" \lower
  \layout { }
  \midi { }
}

-------fin de l'exemple------------------------------------------------

---

From: Seventies <[email-masked]>
Date: Wed, 13 Nov 2013 03:12:33 -0800 (PST)

C'est possible, mais pas de manière automatique.

C'est expliqué en 
http://www.lilypond.org/doc/v2.16/Documentation/notation/figured-bass
<http://www.lilypond.org/doc/v2.16/Documentation/notation/figured-bass>  

Pour faire simple, il faut introduire une nouvelle "voix" - qui sera la
basse chiffrée - du genre :

\new FiguredBass {\figuremode {\monChiffrage}}

Dans ton cas, il faudra en introduire deux, l'une pour le chiffrage, entre
les portées, l'autre pour les degrés, sous la seconde portée.

Il faut préalablement définir la variable :

monChiffrage = \new FiguredBass {
  \figuremode {
    ....
  }
}

Il y a sûrement plus simple, car je vois ici apparaître deux fois "\new
FiguredBass", il faudra que je vérifie, mais ça marche tout de même (????)

Dans les accolades, tu peux utiliser des chaînes de caractère quelconque, ou
le codage pour le chiffrage.

Ainsi, pour les degrés, tu utilises :

chiffrageFonction = \new FiguredBass {
  \figuremode {
    < I>4 <V> <VI>
    <III> <VI> <V>
    < I>2 <IV>4
    < V>2.
    <VI>4 <V> 
    <IV> <V> <VI>
    <II>2 <V>4
    < I>2.
  }
}

( note : l'éditeur de la liste de diffusion interprète parfois les < > comme
un numéro de ligne, c'est pourquoi j'ai rajouté des espaces après certains <
)

Les longueurs sont identiques à celles des notes : 4, 2, 8, 2., ... et il
est possible d'utiliser des silences invisibles.

Pour les accords, les explications sont données à l'adresse ci-dessus. Il
faut une certaine habitude, mais tout est permis.

Ça ressemblera à ceci :

monChiffrage = \new FiguredBass {
  \figuremode {
    <5>4 < 6 5/> <5>
    <6> <5> < 4\+ >
    <6> <5> <6>
    <_+> <_+> <_+>
    <6> <6\+> <5>
    ...
  }
}

Il faut bien retenir la différence entre une altération ( <5+> , <5-> , <5!>
et les signes additionnels tels que pour la sensible : <3\+> - ici, c'est le
caractère + qui est ajouté, et non le #
S'il n'y a pas de chiffre, on utilise le souligné :

<_+> pour un # isolé
<_\+> pour un + isolé

Il reste encore deux instructions importantes : 
\bassFigureExtendersOn et \bassFigureExtendersOff
Lorsque les extenders sont actifs, deux chiffres identiques (ou textes dans
le cas des degrés) seront remplacés par un premier chiffre suivi d'un trait,
sans répétition du second chiffre. Ça demande un peu d'habitude.

Voilà pour l'essentiel, le reste est bien expliqué sur la page citée plus
haut.

Cordialement,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Chiffrage-harmonie-classique-avec-lilypond-tp7580543p7580545.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: "Bruno" <[email-masked]>
Date: Fri, 15 Nov 2013 02:08:09 +0100

Merci beaucoup pour votre réponse, Jean François.

Je suis arrivé à peu près à faire ce que je voulais.

La seule chose que je n'arrive pas à faire (et ne sais si c'est possible), 
c'est indiquer la tonalité en haut des mesures.

Ci-joint, un exemple réalisé grâce à votre lien (les chiffrages sont 
totalement fantaisistes, c'est juste pour m'entrainer). Quelqu'un 
pourrait-il me dire s'il est possible d'indiquer les tonalités en haut des 
mesures comme dans la figure suivante, que j'avais cités dans mon précédent 
message : 
http://www.symphozik.info/bach-analyse-harmonique-du-premier-prelude-du-clavier-bien-tempere,4,dossier.html

(vous pouvez modifier mon exemple en mettant des tonalités complètement 
fantaisistes, ça n'a pas d'importance, c'est juste pour voir comment ça peut 
fonctionner : par exemple Do majeur, La mineur, Sib majeur pour les trois 
premières mesures).

Merci d'avance pour votre aide.

%%%%%%%%Exemple%%%%%%%%%%

\score {
<<
  \new Voice {\relative c' { <<c1 g'>> <<d g d'>> e, f g a g }}
  \new Voice { \clef bass <<c1 e>> e g f a g a }
  \new FiguredBass {
    \figuremode {
      < I 6 4 >1 < II 7\+ > < III 6+ [_!] >
      < IV 6 > <V 6 5 [3+] >
      < VI 5 > < VII 5+ >
    }
  }
}

%%%%%%%%FIN EXEMPLE%%%%%%%%%%%%

-----Message d'origine----- 
From: Seventies
Sent: Wednesday, November 13, 2013 12:12 PM
To: [email-masked]
Subject: Re: Chiffrage harmonie classique avec lilypond

C'est expliqué en

Ça ressemblera à ceci :

<_+> pour un # isolé
<_\+> pour un + isolé

Cordialement,

Jean-François

---

From: Seventies <[email-masked]>
Date: Fri, 15 Nov 2013 04:19:09 -0800 (PST)

La mise en place des tonalités se fait sans problème par l'instruction \mark
- à condition qu'un autre \mark ne soit pas exigé au même endroit, mais il
me semble que la version 2.17 autorise les \mark simultanés.

Par contre, la demi "boîte" autour de l'indication nécessite plus de
finesses. Il faut utiliser des traits créés en postscript, comme indiqué en 
http://lilypond.org/doc/v2.16/Documentation/notation/formatting-text#graphic-notation-inside-markup
<http://lilypond.org/doc/v2.16/Documentation/notation/formatting-text#graphic-notation-inside-markup>  
ou des \markup graphiques détaillés en 
http://lilypond.org/doc/v2.16/Documentation/notation/graphic
<http://lilypond.org/doc/v2.16/Documentation/notation/graphic>  

Les commandes moveto (déplacer un crayon virtuel en x, y) et deux fois
lineto (idem, mais en traçant une ligne) devraient suffire.

Quelque chose comme (ce n'est qu'un schéma de départ) :
samplePath =
  #'((moveto 0 0)
     (lineto 0 1.5)
     (lineto 8 1.5))

\mark \markup {
    \combine
    \path #0.25 #samplePath
   "Do Majeur"}
}

J'essayerai tout à l'heure pour voir comment écrire cette boîte de manière
plus précise.

Cordialement,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Chiffrage-harmonie-classique-avec-lilypond-tp7580543p7580550.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.