Subject: Grille d'accords

From: Marie MONNIER <[email-masked]>
Date: Sun, 10 Feb 2019 18:45:11 +0100

Bonjour
Nouvelle utilisatrice de LilyPond, j'en suis au début de mon apprentissage.
J'ai fait une partition avec juste une ligne mélodique et une grille
d'accord au dessus, et je trouve les accords un peu trop proches des notes
(surtout des aigües). Je voudrais les espacer un petit peu mais je ne
trouve pas comment faire (j'ai trouvé la commande pour espacer les portées
entre elles, espacer les portées avec le titre, avec les markup, mais je ne
trouve rien concernant les accords ...)

Merci d'avance

Marie

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 10 Feb 2019 19:10:07 +0100

Bonjour Marie et bienvenue sur la liste.
Il est bon d'envoyer un mini exemple pour qu'on puisse répondre précisément
(cf. http://lilypond.org/tiny-examples.fr.html).
D'après ce que je comprends, voici une solution :

\version "2.19.82"
\include "predefined-guitar-fretboards.ly"

musique = \chordmode { c }

\score {
  <<
    \new FretBoards \with {
      \override VerticalAxisGroup.default-staff-staff-spacing =
#'((basic-distance . 20)) %% <= à ajuster
    } \musique
    \new Staff { \musique }
  \layout {}
}

Bien cordialement,
Pierre

Le dim. 10 févr. 2019 à 18:46, Marie MONNIER <[email-masked]> a écrit :

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

---

From: Marie MONNIER <[email-masked]>
Date: Sun, 10 Feb 2019 19:46:51 +0100

Merci pour la réponse.
Avec l'exemple donné, j'arrive bien à éloigner ou rapprocher l'accord (le
manche de guitare), mais je n'arrive pas à insérer le même principe dans ma
partition (où c'est un accord en lettre).
Voici le début de mon code :

\version "2.18.2"

\score {
  <<
    \chords { g1 g2 d g c d:7 g }

    \relative c'' {
    \key g \major
      { b4 b8 g b4 b8 g b4 b8 g fis g a c b4 b8 g c b a g fis d e fis g a b
c }
  }
}

Merci !
Marie

Le dim. 10 févr. 2019 à 19:10, Pierre Perol-Schneider <
[email-masked]> a écrit :

> Il est bon d'envoyer un mini exemple pour qu'on puisse répondre
> précisément (cf. http://lilypond.org/tiny-examples.fr.html).

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 10 Feb 2019 20:43:31 +0100

Parfait, merci pour le mini exemple.
Voici une solution :

%%
\version "2.18.2"
\score {
  <<
    \new ChordNames
     \with {
        \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding =
#20 %% <= à ajuster
      } \chordmode { g1 g2 d g c d:7 g }

    \new Staff
    \relative c'' {
    \key g \major
}
%%

Cordialement,
Pierre

Le dim. 10 févr. 2019 à 19:47, Marie MONNIER <[email-masked]> a écrit :

>       { b4 b8 g b4 b8 g b4 b8 g fis g a c b4 b8 g c b a g fis d e fis g a
> b c }
>   }
>   >>
> }
>
> Merci !
> Marie
>

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 10 Feb 2019 20:46:00 +0100

Voire même (en utilisant la même "grammaire" que dans mon 1er exemple) :

\version "2.18.2"
\score {
  <<
    \new ChordNames
     \with {
        \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((padding . 20)) %% <= à ajuster
      } \chordmode { g1 g2 d g c d:7 g }

    \new Staff
    \relative c'' {
    \key g \major
}

Pierre

Le dim. 10 févr. 2019 à 20:43, Pierre Perol-Schneider <
[email-masked]> a écrit :

>         \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding
> = #20 %% <= à ajuster

---

From: Valentin Villenave <[email-masked]>
Date: Sun, 10 Feb 2019 19:54:37 +0000

> Nouvelle utilisatrice de LilyPond, j'en suis au début de mon apprentissage.

Bonjour,
félicitations et bon courage ! Il faut en général deux-trois semaines
de pratique quotidienne pour commencer à se débrouiller de façon
satisfaisante.

> trouve pas comment faire

Réponse courte :

%%%%%%%%%%%%%%%%%%

<<
  \chords {d1:m6 f:m e:m9}
  \language "italiano"
  \relative do' {
    la'4_( si la' si)
    sol,_( lab sol' lab)
    fad,_( sol fad'2)
  }

\layout {
  \context {
    \ChordNames
    \override ChordName.Y-offset = #6
  }
}

%%%%%%%%%%%%%%%%%

Réponse plus longue :
Tout d’abord, n’hésitez pas à lire en entier le manuel destiné aux débutant-e-s:
http://lilypond.org/doc/v2.19/Documentation/learning/index.fr.html
notamment la partie 4 où il est question d’espacement des objets.

Vous avez plusieurs possibilités : soit accroître la place prise par
la portée, soit celle prise par les accords. Personnellement tout ce
qui concerne le VerticalAxisGroup me donne envie de me taper la tête
contre les murs, donc je préfère utiliser "offset" qui est plus bête
et méchant, mais facile à employer.

Une fois trouvé la bonne propriété (ici Y-offset), le bon objet auquel
l’appliquer (ici ChordName), et dans le bon contexte (ici ChordNames,
au pluriel), vous avez au moins trois possibilités :

- ajouter une commande \override dans votre expression musicale.

  \chords {
    \override ChordName.Y-offset = #6
    d1:m6 f:m e:m9
  }

Avantage : c’est bête et méchant, et ça marche. Inconvénient : si vous
souhaitez changer plus tard l’espacement, il faudra aller retrouver
l’endroit où ça se règle, noyé au milieu des notes.

- ajouter votre override au moment où vous créez votre contexte, dans
un bloc \with {}.

\new ChordNames \with {
    \override ChordName.Y-offset = #6
} \chordmode {d1:m6 f:m e:m9}

Avantage : c’est un poil plus propre. Inconvénient : si vous avez
plusieurs partitions dans un même fichier .ly (ou plusieurs grilles
d’accords simultanées, par exemple une avec des accords compliqués
pour les super-instrumentistes et une plus simple pour le commun des
mortels), il faudra le refaire à chaque fois.
Autre inconvénient, cela empêche d’utiliser le raccourci pratique
\chords {…}
qui remplace:
\new ChordNames \chordmode {…}

- ajouter votre override dans un bloc \layout, en créant un sous-bloc
pour le contexte concerné. (Comme dans mon exemple complet tout en
haut). On inclut parfois ce bloc \layout dans un bloc \score {…} ;
cela veut dire que si vous ajoutez d’autres blocs \score dans le même
fichier .ly (par exemple pour faire un recueil de chansons), il ne
s’appliquera que pour une seule partition. C’est la raison pour
laquelle j’ai ici préféré laisser mon bloc \layout en-dehors d’un bloc
\score, afin qu’il s’applique de façon globale.

Une dernière chose : vous avez pu remarquer que les "grilles
d’accords" ne se notent pas pareil que les mélodies (avec la syntaxe
note:chiffrage, séparés par deux points). Cette syntaxe est un "mode"
spécifique appelé chordmode. Du coup si vous écrivez directement dans
un bloc \chords, ce mode est déjà sous-entendu ; par contre si vous
voulez mettre votre grille d’accords dans une variable pour pouvoir la
réutiliser plusieurs fois, vous serez obligée de spécifier qu’il
s’agit de \chordmode. Comme ceci :

%%%%%%%%%%%%%%%%%

accords = \chordmode {
  d1:m6 f:m e:m9
}

mélodie = \relative c' {
  a'4_( b a' b)
  g,_( as g' as)
  fis,_( g fis'2)
}

\score {
  \header { piece = "Solo" }
  <<
    \new ChordNames \accords
    \new Staff \mélodie
}

\score {
  \header { piece = "Piano" }
  <<
    \new Staff \mélodie
    \new PianoStaff <<
      \new Staff \relative c' {
        <b f' a>1 <c f as> <b d fis g>
      }
      \new ChordNames \accords
      \new Staff \relative c {
        \clef bass
        d1 f2 c e,1
      }
}

%%%%%%%%%%%%%%%

Bon courage !

Cordialement,
V. Villenave.

P.S. Si vous utilisez LilyPond version 2.19.82, vous pouvez également
utiliser cette syntaxe qui est nouvelle et plus simple (en fait, je
n’étais pas au courant moi-même) :
  \offset Y-extent #-4 ChordName
Comme quoi on en apprend tous les jours…