Subject: numéro de notes

From: Christian LE BARS <[email-masked]>
Date: Tue, 25 Oct 2016 10:56:53 +0200

bonjour,

j'aimerai inscrire dans les têtes de notes leur numéro pour cela j'ai
trouvé dans la doc ceci:

\version "2.19.48"
%-----------------------------------------------------------
#(define Ez_numbers_engraver
   (make-engraver
    (acknowledgers
     ((note-head-interface engraver grob source-engraver)
      (let* ((context (ly:translator-context engraver))
         (tonic-pitch (ly:context-property context 'tonic))
         (tonic-name (ly:pitch-notename tonic-pitch))
         (grob-pitch
          (ly:event-property (event-cause grob) 'pitch))
         (grob-name (ly:pitch-notename grob-pitch))
         (delta (modulo (- grob-name tonic-name) 7))
         (note-names
          (make-vector 7 (number->string (1+ delta)))))
    (ly:grob-set-property! grob 'note-names note-names))))))
%-----------------------------------------------------
\score
{
  <<
    \new ChordNames
     { \chordmode  {d4:m7  } }
    \new Staff
     \relative c'
      { \easyHeadsOn
        <f a c e>4
      }
%------------------------------------------
 \layout
 {
   ragged-right = ##t
   \context
   {
     \Voice
     \consists \Ez_numbers_engraver
   }
 }
}

cela donne le numéro de la note dans la gamme .

Mais moi je voudrais mettre le numéro par rapport a l'accord, c'est a
dire au lieu de: 4,6,1,3(la gamme) je voudrais 3,5,7,9(l'accord)

quelqu'un a t'il la solution? par avance merci

---

From: Frédéric Gohier <[email-masked]>
Date: Tue, 25 Oct 2016 09:22:14 +0000

Bonjour,

très bonne idée, je suis intérressé quand ca fonctionnera. Je ne me suis pas assez plongé dans ce type de code de lilypond, mais mes notions en développement logiciel me permettent de te proposer un process d'évolution de ce code :

- tu pourrais ajouter un paramètre qui serait le numéro dans la gamme de la note de base de ton accord

- make-vector 7 (number->string (1+ delta))

devienne quelque chose comme

make-vector 7 (number->string ( newparam + delta))

- delta (modulo (- grob-name tonic-name) 7))

devienne quelque chose comme

delta (modulo (- grob-name tonic-name) 15))

bon courage

Cordialement,
GOHIER Frédéric
________________________________
De : lilypond-user-fr <lilypond-user-fr-bounces+fgohier49=[email-masked]> de la part de Christian LE BARS <[email-masked]>
Envoyé : mardi 25 octobre 2016 08:56:53
À : lilypond-user-fr
Objet : numéro de notes

bonjour,

\version "2.19.48"

_______________________________________________
liste de diffusion lilypond-user-fr
[email-masked]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

---

From: Christophe Pochon <[email-masked]>
Date: Tue, 25 Oct 2016 13:44:19 +0200

Une idée toute simple, c'est de changer de mode avant chaque accord.

\key d \dorian <f a c e>4

du coup ça marque 3 5 7 2

C'est déjà pas mal :-)

A+

Christophe

Christophe Pochon
http://www.christophe-pochon.com

Le 25 octobre 2016 à 11:22, Frédéric Gohier <[email-masked]> a écrit
:

> Bonjour,
>
>
> très bonne idée, je suis intérressé quand ca fonctionnera. Je ne me suis
> pas assez plongé dans ce type de code de lilypond, mais mes notions en
> développement logiciel me permettent de te proposer un process d'évolution
> de ce code :
>
>
> ------------------------------
> *De :* lilypond-user-fr <lilypond-user-fr-bounces+fgohier49=
> [email-masked]> de la part de Christian LE BARS <
> [email-masked]>
> *Envoyé :* mardi 25 octobre 2016 08:56:53
> *À :* lilypond-user-fr
> *Objet :* numéro de notes
>
> bonjour,
>

---

From: Christian LE BARS <[email-masked]>
Date: Tue, 25 Oct 2016 14:31:57 +0200

Merci de ta réponse.

Mais je ne suis jamais entré dans le code de ces fonctions,

aussi comment dois je déclarer "newparam" pour que cette variable soit
reconnue?

cordialement

---

From: Christian LE BARS <[email-masked]>
Date: Tue, 25 Oct 2016 14:35:40 +0200

Merci de ta réponse

effectivement cela marche presque a la place du 2 j'aurai voulus avoir
un 9 je sais je suis difficile.

de plus lorsque j'ai un accords altéré (dièse ou bémol) quel mode je
dois déclarer?

cordialement

---

From: Christian LE BARS <[email-masked]>
Date: Tue, 25 Oct 2016 15:53:06 +0200

Bon

j'ai trouver une solution toute bête qui me convient pour l'instant(
elle est manuelle!):

\version "2.19.48"
        <f-3 a-5 c-7 e-9>4
      }
 { }
}

cordialement

---

From: Christophe Pochon <[email-masked]>
Date: Tue, 25 Oct 2016 18:55:23 +0200

Ça fait plus d'une heure que j'y travaille (je connais très mal scheme)
mais j'ai réussi à modifier la fonction pour qu'elle affiche 9 11 et 13 à
la place de 2 4 et 6.

Evidemment il y aura des cas où on voudrait qu'elle affiche 2, 4 ou 6 :/

Par contre par rapport à ta question du choix du mode si l'accord est
altéré, il faut comprendre que le choix du mode sert à 2 choses :

1) déterminer la fondamentale de l'accord, pour qu'elle soit le chiffre 1
2) choisir un mode qui ne change pas l'armure en cours.

Donc le mode a choisir est déterminé par la fondamentale de l'accord ET le
respect de l'armure en cours.

Exemples :

- En mi bémol majeur, un accord de sol mineur -> \key g \phrygian
- En ré majeur, accord de la 7 : \key a \mixolydian

On pourrait penser que le problème c'est si tu as un accord dont la
fondamentale n'est pas dans la tonalité en cours, mais on peut le résoudre
facilement en mettant le mode sur une la note la plus proche dans la
tonalité en cours. Exemple, en do majeur, accord de mi b majeur 7 -> \key e
\phrygian fonctionne parfaitement.

Et que l'accord soit altéré ou pas ne change rien, car la fonctionne
affichera 9, qu'on ait affaire à une 9 ème augmentée, diminué ou pas.

Voici le code modifié, avec quelques exemples.

> (delta (if (= delta 1) 8 delta) )
>
> (delta (if (= delta 3) 10 delta) )
>
> (delta (if (= delta 5) 12 delta) )
>
> (note-names
>
> { \chordmode {d4:13 f:maj7 as:7.5+.9- b:m7.5- } }
>
> \new Staff
>
> \relative c'
>
> { \easyHeadsOn
>
> \key d \dorian
>
> <fis b c e>4
>
> \key f \lydian
>
> <e g a c>
>
> \key a \aeolian
>
> <ges beses c e>
>
> \key b \locrian
>
> <f a b e>
>
> }
>
> >>
>

Christophe Pochon

Le 25 octobre 2016 à 15:53, Christian LE BARS <[email-masked]> a

---

From: Christian LE BARS <[email-masked]>
Date: Wed, 26 Oct 2016 08:05:12 +0200

Bonjour,

merci pour ce code qui effectivement résout mon problème.

Pour info je voulais faire un tableau des II V I voici le résultat:

\version "2.19.48"
#(set-global-staff-size 22) %taille des portées
\include "lilyjazz.ily"
%----------------------------------------------
\paper
 {
  oddFooterMarkup = \markup { \fill-line { \fromproperty #'header:title  } }
  print-page-number = ##t
  indent = 0\cm 
  page-breaking = #ly:page-turn-breaking
 }
 %-------------------------------------------------
\header
{
 title = \markup { \fontsize #1 \bold\italic "Les II V I"}
 subsubtitle = \markup { \fontsize #1  "Accords pour une main(gauche)"}
}
 %-----------------------------------------------------
    #(define Ez_numbers_engraver
    (make-engraver
    (acknowledgers
    ((note-head-interface engraver grob source-engraver)
    (let* ((context (ly:translator-context engraver))
    (tonic-pitch (ly:context-property context 'tonic))
    (tonic-name (ly:pitch-notename tonic-pitch))
    (grob-pitch
    (ly:event-property (event-cause grob) 'pitch))
    (grob-name (ly:pitch-notename grob-pitch))
    (delta (modulo (- grob-name tonic-name) 7))
    (delta (if (= delta 1) 8 delta) )
    (delta (if (= delta 3) 10 delta) )
    (delta (if (= delta 5) 12 delta) )
    (note-names
    (make-vector 7 (number->string (1+ delta)))))
    (ly:grob-set-property! grob 'note-names note-names))))))
%--------------------------------------------------------
LaTonalité =
\new ChordNames
  \with
   { \override BarLine.bar-extent = #'(-2 . 2)
     \consists "Bar_engraver"}
   {
    \override ChordNames.ChordName.font-family = #'roman
    \override ChordNames . ChordName #'font-size = #2
    \override ChordNames . ChordName .color =#red
    \chordmode
     {c1 b bes a aes g ges f e  ees1 d des }
   }
%-----------------------------------------------------
LeNomAccords=
  \new ChordNames
    {
     \override ChordNames.ChordName.font-family = #'roman
     \override ChordNames . ChordName #'font-size = #1
     \set chordChanges = ##t
     \set Score.majorSevenSymbol = \markup {Maj7}
     \set chordNameSeparator = \markup { "/" }
     \set minorChordModifier = \markup{"-"}
      \chordmode
       {  
        d4:m7 g:7 c2:maj7 cis4:m7 fis:7 b2:maj7c4:m7 f:7 bes2:maj7
        b4:m7 e:7 a2:maj7 bes4:m7 ees:7 aes2:maj7 a4:m7 d:7 g2:maj7
aes4:m7 des:7 ges2:maj7 g4:m7 c:7 f2:maj7 fis4:m7 b:7 e2:maj7
        f4:m7 bes:7 ees2:maj7 e4:m7 a:7 d2:maj7 ees4:m7aes:7 des2:maj7
        }
     }
%----------------------------------------
LesAccords =
 \new Staff
  \relative c'
    {
     \numericTimeSignature   
     \easyHeadsOn
     \key d\dorian <f a c e>4\key g\mixolydian<f a b e>\key c\ionian<e g
b d>2
      <e gis b dis>4\key f\lydian<e gis ais d>\key b\locrian <dis fis
ais cis>2
      \key c\ionian <ees g bes d>4 \key f\lydian<ees g a d>\key
b\locrian <d f a c>2\break
      \key b\locrian  <d fis a cis>4\key e\phrygian<d fis gis cis> \key
a\aeolian <cis e gis b>2
       \key b\locrian <des f aes c>4 \key e\phrygian<des f g c> \key
a\aeolian <c ees ges bes>2
       <c e g b>4  \key d\dorian <c e fis b> \key g\mixolydian<b d fis
a>2\break
       \key a\aeolian<ces ees ges bes>4\key d\dorian <b ees f bes>\key
g\mixolydian<bes des f aes>2
       <bes d f a>4 \key c\ionian <bes d e a>\key f\lydian<a c e g>2
       <a cis e gis>4\key b\locrian<a cis dis gis>\key e\phrygian <gis b
dis fis>2\break
       \key f\lydian<aes c ees g>4 \key b\locrian <aes c d g>\key
e\phrygian<g bes d f>2
       <g b d fis>4\key a\aeolian<g b cis fis> \key d\dorian <fis a cis e>2
       \key e\phrygian <ges bes des f>4\key a\aeolian<ges bes f' c> \key
d\dorian<f aes ees' c>2%\pageBreak
     }
%----------------------------------------
 \score
 {
  <<
     \LaTonalité
     \LeNomAccords
     \LesAccords

 \layout
  {
   ragged-right = ##f
   \context
    {
     \Voice