Subject: Dessiner la ronde comme une tête de blanche

From: Olivier Miakinen <[email-masked]>
Date: Mon, 10 Oct 2016 23:41:10 +0200

Bonjour,

Pour une musique ancienne avec une mesure à 2/1, je voudrais copier le
style de la partition d'origine, en l'occurrence celle-ci (en espérant
que le lien fonctionne) :
http://www.youscribe.com/catalogue/partitions-et-tablatures/art-musique-et-cinema/partitions-de-musique-de-la-renaissance/partition-ad-te-levavi-oculos-meos-psalm-122-12-voci-1344386

Pour cela, j'ai besoin de deux choses. D'abord resserrer l'écriture,
les noires devant être à peu près aussi resserrées que des croches
dans les partitions récentes. J'ai trouvé pour cela les propriétés
SpacingSpanner.common-shortest-duration et SpacingSpanner.base-
shortest-duration, sans comprendre la différence entre les deux :
http://lilypond.org/doc/v2.19/Documentation/notation/changing-spacing.fr.html
http://lilypond.org/doc/v2.19/Documentation/notation/changing-horizontal-spacing

La deuxième chose concerne les têtes de notes. Le style baroque me
semble parfait pour les durées \breve ainsi que les blanches, noires
et croches, en revanche les rondes sont trop larges :
http://lilypond.org/doc/v2.19/Documentation/notation/note-head-styles
Je voudrais avoir des rondes qui soient dessinées exactement comme des
blanches sans hampe. Comment pourrais-je le faire ?

Cordialement,
-- 
Olivier Miakinen

---

From: Bernard Meylan <[email-masked]>
Date: Mon, 10 Oct 2016 15:39:31 -0700 (MST)

Aucune des fontes proposées dans le https://github.com/OpenLilyPondFonts (à
nouveau disponibles) ne correspond à ce que tu cherches. Je te propose
d'utiliser la solution basée sur la notation blanche française (Charpentier
ou Louis Couperin): c-à-d d'utiliser la tête de note de la blanche en lieu
et place de la ronde. Comme ceci:

\version "2.18.2"

blanche = \override NoteHead #'duration-log = #1
noire = \revert NoteHead #'duration-log

\relative c'' {\blanche c1 a d \noire d4 g f e
  
}

Bernard

-----
Cordialement

Bernard
--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Dessiner-la-ronde-comme-une-tete-de-blanche-tp7584232p7584234.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Tue, 11 Oct 2016 12:01:34 +0200

Bonjour Olivier,

%%%% snip:
\version "2.19.2"

\layout {
  \context {
    \Score
    %% Resserrer les notes:
    %% Option 1:
    %\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 1)

    %%option 2:
    \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1
1)

    %% Changer les blanches:
    \override NoteHead.stencil =
      #(lambda (grob)
        (let ((duration (ly:grob-property grob 'duration-log)))
              (case duration
                ((0) (grob-interpret-markup grob (markup #:musicglyph
"noteheads.s1")))
                (else (ly:note-head::print grob)))))
      }
}

\fixed  c' {
  \clef soprano

  %% Changer la métrique affichée:
  \tweak stencil #(lambda (grob)
                    (grob-interpret-markup grob
                      (markup #:musicglyph "timesig.C22")))
  \time 2/1
  \key f\major

    % mes.0
    \partial 1 f2 a~
  | % mes.1
    a bes c'1
  | % mes.2
    a2 f2. 4 g2
  | % mes.3
    a4 g a bes c'2. bes4
  | % mes.4
    a2 g4 f a1~
  | % mes.5
    1 f4 g a bes
  | % mes.6
    a2 g f1
}
\addlyrics {
  Ad te le -- va -- vi o -- cu -- los me -- \repeat unfold 15 \skip 1 os,
}

Cordialement,
Pierre

Le 10 octobre 2016 à 23:41, Olivier Miakinen <[email-masked]> a
écrit :

> http://www.youscribe.com/catalogue/partitions-et-
> tablatures/art-musique-et-cinema/partitions-de-musique-
> de-la-renaissance/partition-ad-te-levavi-oculos-meos-
> psalm-122-12-voci-1344386
>
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>

---

From: Olivier Miakinen <[email-masked]>
Date: Tue, 11 Oct 2016 19:42:58 +0200

[Oups ! désolé Bernard pour la réponse en privé et pas à la liste.
 Je recommence.]

Bonjour Bernard,

> \relative c'' {\blanche c1 a d \noire d4 g f e

Le résultat est graphiquement parfait. Malheureusement la méthode
me semble très fastidieuse : même si je n'ai pas besoin de changer
de mode pour les blanches et les blanches pointées, il faudrait que
j'ajoute \blanche à chaque fois que j'ai une ronde quand je suis
en mode « noire », et \noire chaque fois que je rencontre une noire,
une croche ou une carrée et que je suis en mode « blanche » !

Je n'ai pas encore essayé la méthode proposée par Pierre, mais elle
me semble plus facile. Cela dit, merci pour ta méthode, même si je
ne la retiens pas cela m'a permis de découvrir le « duration-log ».

-- 
Olivier Miakinen

---

From: Olivier Miakinen <[email-masked]>
Date: Tue, 11 Oct 2016 22:39:15 +0200

Bonjour Pierre,

Le 11/10/2016 12:01, Pierre Perol-Schneider a écrit :
>  [...]
>     \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 1)

Sur
http://lilypond.org/doc/v2.19/Documentation/notation/changing-spacing.fr.html
et
http://lilypond.org/doc/v2.19/Documentation/notation/changing-horizontal-spacing
on lit respectivement :
SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2)
et
SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)

Du coup, j'ai deux questions :
1) Quelle différence y a-t-il entre common-shortest-duration et
   base-shortest-duration ?
2) Y a-t-il une différence entre #(ly:make-moment 1/2) et
   #(ly:make-moment 1 2) ?

>     %% Changer les [rondes]:
>                 ((0) (grob-interpret-markup grob (markup #:musicglyph "noteheads.s1")))

C'est tout simplement parfait ! Un grand merci pour cela.

>                       (markup #:musicglyph "timesig.C22")))

J'avais écrit :
 \time 2/1 \set Staff.timeSignatureFraction = 2/2

Y a-t-il un avantage au \tweak stencil ?

-- 
Olivier Miakinen

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Tue, 11 Oct 2016 23:27:56 +0200

Bonjour Olivier,

Alors:
1) je n'ai pas la réponse dans le détail. Je t'ai proposé les deux options
dans mon mini-exemple, le base-shortest... semble mieux resserrer les notes.
2) aucune différence. #'ly:make-monment 1 2) est une notation plus ancienne
3) Heureux que cela te convienne
4)  \time 2/1 \set Staff.timeSignatureFraction = 2/2 : Bravo, bien plus
malin que moi ! Mon tweak n'offre aucun avantage.

Cordialement,
Pierre

Le 11 octobre 2016 à 22:39, Olivier Miakinen <[email-masked]> a

---

From: Olivier Miakinen <[email-masked]>
Date: Wed, 12 Oct 2016 00:08:21 +0200

Le 11/10/2016 23:27, Pierre Perol-Schneider m'a répondu :
> 2) aucune différence. #'ly:make-moment 1 2) est une notation plus ancienne

:-D

Encore merci pour tout !

---

From: Olivier Miakinen <[email-masked]>
Date: Thu, 13 Oct 2016 00:58:24 +0200

Bonjour,

> http://www.youscribe.com/catalogue/partitions-et-tablatures/art-musique-et-cinema/partitions-de-musique-de-la-renaissance/partition-ad-te-levavi-oculos-meos-psalm-122-12-voci-1344386

Grâce à Bernard et surtout à Pierre, j'ai maintenant des rondes
qui ont le même dessin que des blanches sans hampe. J'ai aussi
une écriture beaucoup plus resserrée. Mais du coup, les pauses
et surtout les demi-pauses prennent beaucoup trop de place
horizontalement par rapport aux rondes et aux blanches : une
demi-pause paraît visuellement durer plus longtemps qu'une
ronde !

D'où une nouvelle question : comment réduire la longueur
horizontale d'une demi-pause (resp. d'une pause) sans changer
sa hauteur verticale ?

Cordialement,
-- 
Olivoer Miakinen

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 13 Oct 2016 06:58:56 +0200

Bonjour Olivier,
Peux-tu nous envoyer un exemple minimal, je n'arrive pas à reproduire ton
problème.
Cordialement,
Pierre

Le 13 octobre 2016 à 00:58, Olivier Miakinen <[email-masked]> a

---

From: Olivier Miakinen <[email-masked]>
Date: Thu, 13 Oct 2016 08:14:28 +0200

Bonjour Pierre,

> Peux-tu nous envoyer un exemple minimal, je n'arrive pas à reproduire ton

Voilà :

--------------------
\version "2.18.0"

\layout {
  \context {
    \Score
    %% Resserrer les notes :
    \override SpacingSpanner.common-shortest-duration = #(ly:make-moment
1 1)

    %% Changer les rondes :

{
  \time 2/1
  c''1 r2 c''
}
--------------------

La largeur horizontale de la demi-pause est au moins aussi grande que
celle de la ronde. Sur la partition ancienne dont j'ai donné le lien,
elle me semble plus courte (certes pas de beaucoup, mais ça me semble
suffisant).

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 13 Oct 2016 10:21:27 +0200

Un premier essai :

\version "2.18.0"

\layout {
  \context {
    \Score
    %% Resserrer les notes :

    %% Changer les rondes :
    \override NoteHead.stencil =
      #(lambda (grob)
         (let ((duration (ly:grob-property grob 'duration-log)))
           (case duration
             ((0) (grob-interpret-markup grob (markup #:musicglyph
"noteheads.s1")))
             (else (ly:note-head::print grob)))))
    \override Rest.stencil =
      #(lambda (grob)
         (let ((duration (ly:grob-property grob 'duration-log)))
           (case duration
             ((0)(ly:stencil-scale (ly:rest::print grob) 0.8 1)) ;; <=
réduction à 80%
             ((1)(ly:stencil-scale (ly:rest::print grob) 0.8 1)) ;; <=
réduction à 80%
             (else (ly:rest::print grob)))))

  }
}

{
  \time 2/1
  c''1 r2 c'' r1 r R1*2
}

Cordialement,
Pierre

Le 13 octobre 2016 à 08:14, Olivier Miakinen <[email-masked]> a

---

From: Olivier Miakinen <[email-masked]>
Date: Thu, 13 Oct 2016 22:35:39 +0200

> Un premier essai :

Essai transformé. :-)

>              ((0)(ly:stencil-scale (ly:rest::print grob) 0.8 1)) ;; <= réduction à 80%
>              ((1)(ly:stencil-scale (ly:rest::print grob) 0.8 1)) ;; <= réduction à 80%

Tu es génial. Du coup, j'ai joué à l'apprenti sorcier en mélangeant les
deux pour réduire à 90 % la largeur des notes carrées :

             ((-1)(ly:stencil-scale (ly:note-head::print grob) 0.9 1))

Et ça marche !

(bon, on ne dira pas qu'au début je me suis planté en laissant
ly:rest::print au lieu de ly:note-head::print... LilyPond a mouliné
pendant un long moment avant de s'arrêter avec un message d'erreur)

Sinon, comment dire... eh bien encore merci Pierre !