numéro de notes

classic Classique list Liste threaded Arborescence
8 messages Options
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

numéro de notes

le bars
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



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

RE: numéro de notes

fgohier

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=[hidden email]> de la part de Christian LE BARS <[hidden email]>
Envoyé : mardi 25 octobre 2016 08:56:53
À : lilypond-user-fr
Objet : numéro de notes
 
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



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

_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: numéro de notes

Christophe Pochon
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



Le 25 octobre 2016 à 11:22, Frédéric Gohier <[hidden email]> 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 :


- 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=[hidden email]> de la part de Christian LE BARS <[hidden email]>
Envoyé : mardi 25 octobre 2016 08:56:53
À : lilypond-user-fr
Objet : numéro de notes
 
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



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

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



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: numéro de notes

le bars
En réponse à ce message posté par fgohier
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



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: numéro de notes

le bars
En réponse à ce message posté par Christophe Pochon
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



_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: numéro de notes

le bars
En réponse à ce message posté par le bars
Bon

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

\version "2.19.48"
%-----------------------------------------------------------
\score
{
    \new ChordNames
     { \chordmode  {d4:m7  } }
    \new Staff
     \relative c'
      {
        <f-3 a-5 c-7 e-9>4
      }
  >>
%------------------------------------------
 \layout
 { }
}

cordialement
Le 25/10/2016 à 10:56, Christian LE BARS a écrit :

> 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
>
>
>
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr


_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: numéro de notes

Christophe Pochon
Ç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.


\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))

(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))))))

%-----------------------------------------------------

\score

{

<<

\new ChordNames

{ \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>

}

>>

%------------------------------------------

\layout

{

ragged-right = ##t

\context

{

\Voice

\consists \Ez_numbers_engraver

}

}

}




Le 25 octobre 2016 à 15:53, Christian LE BARS <[hidden email]> a écrit :
Bon

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

\version "2.19.48"
%-----------------------------------------------------------
\score
{
    \new ChordNames
     { \chordmode  {d4:m7  } }
    \new Staff
     \relative c'
      {
        <f-3 a-5 c-7 e-9>4
      }
  >>
%------------------------------------------
 \layout
 { }
}

cordialement
Le 25/10/2016 à 10:56, Christian LE BARS a écrit :
> 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
>
>
>
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [hidden email]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr


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


_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|  
Signaler un Contenu Inapproprié

Re: numéro de notes

le bars
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
     \consists \Ez_numbers_engraver
    }
  }
}



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