Subject: Courbe d’intensite

From: Yoann LE BARS <[email-masked]>
Date: Sat, 2 Nov 2019 05:23:10 +0100

Salut à tous !

	Toujours dans le cadre d’une partition contemporaine, je dois réaliser
des courbes d’intensités, qui sont des lignes d’épaisseurs variables
situées au niveau des indications des nuances. J’ai fait un exemple
disponible à cette adresse :

https://cloud.le-bars.net/index.php/s/av2iLnqWL4klkdw

	Cette fois encore, je ne sais pas comment faire, mais peut-être
quelqu’un a-t-il une idée.

	À bientôt.

-- 
Yoann LE BARS
http://le-bars.net/yoann/
Diaspora* : [email-masked]

---

From: NOreply <[email-masked]>
Date: Sat, 2 Nov 2019 01:38:09 -0700 (MST)

Bonjour,
Il y a possibilité d'utiliser les clusters, mais ça fait un dessin anguleux:
http://lilybin.com/h2nklx/1

%% le code:

\version "2.18.2"

<< 
  {c'4 d' e' f' 
   g'8 a' b' c'' d'' e'' f'' g''}
  \makeClusters { 
  \stopStaff
  \omit Staff.Clef
  \omit Staff.TimeSignature
  <c' d'>1 <c' g'>8
  <c' d'>8 <c' g'> <c' g'>16 <c' d'>
  <c' f'>8
  
  }

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

---

From: martial <[email-masked]>
Date: Sat, 2 Nov 2019 02:13:03 -0700 (MST)

Bonjour,
en utilisant makeClusters

%--------------------
\version "2.18.2"

fragment = \relative c' {
 c d e f g8 a b d c d e f 
}

intensite = \relative c' {
  <c d>4 <c e>2 <c g'>4 
  <c a'>4 <c e>8 <c b'>  <c g'>2 c 
 
}

<<
  \new Staff \fragment
  \new Staff {   
    \stopStaff
    \omit Staff.Clef
    \makeClusters \intensite
  }

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

http://lilybin.com/t4551b/1

-----
Lilypondement,
Martial Rameaux

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sat, 2 Nov 2019 10:42:58 +0100

Bonjour Yohann,
Perso, à partir de cette base:

\version "2.19.83"
intensite =
\markup {
  \override #'(line-join-style . round)
  \override #'(filled . #f)
  \path #0.5 #'(
     (moveto 0 0)
     (lineto 0 2)
     (lineto 35 4) ; <= à remplacer par des courbes 'curveto x1 y1 x2 y2 x3
y3
     (lineto 35 0)
     (closepath))
}

\relative c' {
  c-\tweak padding #2 _\markup\intensite
  d e f g8 a b c d e f g
}

Je dessinerai la forme de la courbe au crayon, à l'échelle 35 cm x 5 cm,
avec les axes, afin d'en estimer au plus jsute les coordonnées des
tangentes.
(Plus d'info sur ces tangentes ici :
https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier, voir "Courbes de
Bézier cubiques", LilyPond utilise les coordonnées des points P1, P2 et P3)
Ça prend un peu de temps mais le résultat est top.

Cordialement,
Pierre

---

From: Yoann LE BARS <[email-masked]>
Date: Sat, 2 Nov 2019 11:45:45 +0100

Salut à tous !

	Merci pour vos réponses. Je n’avais pas pensé aux clusters, mais c’est
en effet un moyen simple d’arriver proche du résultat attendu. En
revanche, je ne savais pas qu’il y avait une commande permettant de
réaliser des courbes de Bézier avec Lilypond, qui est une fonctionnalité
que je cherchais depuis longtemps. C’est sûr qu’en se donnant un peu de
mal, c’est pile ce qu’il faut.

	Je pense que j’ai ce qu’il me faut, merci de vos réponses.

	À bientôt.

---

From: martial <[email-masked]>
Date: Sat, 2 Nov 2019 11:23:07 -0700 (MST)

B'soir 

Trop compliqué pour moi les Courbes de Bézier. 

Autre méthode, 
copie d'écran du dessin de l'intensité 
coller dans  gimp, découper, réduire à 2 couleur 
coller dans Inscape, convertir vectoriser, simplifier supprimer les points
parasites
enregistrer en eps 

%---------------------------- 
\version "2.18.2"
fragment = \relative c' {
 c d e f g8 a b d c d e f 
}

intensite = \markup { 
 \with-dimensions #'(0 . 0) #'(0 . 0)
 \epsfile #Y #3.5 #"spline.eps"
}

\relative c' {
  <<
  \new Staff \fragment
  \new Staff {   
    \stopStaff
    \omit Staff.Clef
     <>_\intensite
  }
}
%--------------------------
spline.eps joint
spline.eps
<http://lilypond-french-users.1298960.n2.nabble.com/file/t300440/spline.eps>  

-----
Lilypondement,
Martial Rameaux

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sat, 2 Nov 2019 22:30:28 +0100

Ça n'a pas l'air évident mais ce n'est pas si compliqué lorsqu'on s'y met.
Ça permet également de bien comprendre comment corriger les liaisons -- qui
sont également calculées avec les courbes de  Bézier.
Fait à la louche :

\version "2.18.2"

intensite = \markup {
  \override #'(line-join-style . round)
  \override #'(filled . #t)
  \path #0.3 #'(
     (moveto    0.0 0.0)
     (lineto    0.0 1.3)
     (curveto   0.0 1.3 12.2 2.3 14.1 2.8)
     (curveto  16.0 3.2 16.7 3.1 17.2 2.2)
     (curveto  17.9 1.1 19.6 1.2 20.1 1.9)
     (curveto  20.7 3.0 21.6 2.9 23.1 3.1)
     (curveto  25.8 3.3 23.6 1.2 25.3 1.1)
     (curveto  27.0 1.1 26.9 2.0 27.7 2.1)
     (curveto  28.1 2.2 28.5 1.6 29.1 1.9)
     (curveto  29.5 2.1 30.0 2.4 30.5 1.8)
     (curveto  30.7 1.5 31.8 1.7 32.0 2.0)
     (curveto  32.3 2.5 32.7 2.4 33.2 2.7)
     (curveto  33.8 3.0 34.5 2.8 35.0 2.8)
     (lineto   35.0 0.0)
     (closepath))
}

\relative c' {
  c4-\tweak padding #2 _\markup\intensite
  d e f g8 a b c d e f g
}

Cordialement,
Pierre

Le sam. 2 nov. 2019 à 19:23, martial <[email-masked]> a écrit :

> <
> http://lilypond-french-users.1298960.n2.nabble.com/file/t300440/spline.eps>
>
>
>
>
> -----
> Lilypondement,
> Martial Rameaux
> --

---

From: martial <[email-masked]>
Date: Sat, 2 Nov 2019 15:38:54 -0700 (MST)

oui 
magnifique ! 
J'imagine que ça ne se fait pas en 5mn. 

On peut aussi le dessiner directement dans Inkscape.

-----
♫
Martial Rameaux

---

From: Yoann LE BARS <[email-masked]>
Date: Sun, 3 Nov 2019 03:05:26 +0100

Salut à tous !

> Fait à la louche :

	Du coup, merci pour cet exemple.

	À bientôt.

---

From: Yoann LE BARS <[email-masked]>
Date: Sun, 3 Nov 2019 03:14:09 +0100

Salut à tous !

> J'imagine que ça ne se fait pas en 5mn.

	Franchement, avec un peu d’habitude ce n’est pas si compliqué. D’autant
que pour ma part je suis habitué à Tikz sous LaTeX, ce qui me place en
terrain balisé.

> On peut aussi le dessiner directement dans Inkscape.

	Pour une partition avec plusieurs instruments sur plusieurs lignes et
plusieurs pages comme dans mon cas, ce n’est pas plus rapide. D’autant
qu’on se retrouve à tracer à l’aveugle, il y a donc de nombreux
essais-erreurs.

	Après, chacun fait comme il veut, mais me concernant je vais utiliser
les courbes de Bézier.

	À bientôt.

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 3 Nov 2019 11:09:26 +0100

Au plaisir Yohann, ;).

> On peut aussi le dessiner directement dans Inkscape.

Oui et non.
À l'occasion du dernier Café Lily j'ai présenté une méthode pour déterminer
les coordonnées des points avec l'aide d'Inkscape.
Je pense que c'est plus intéressant pour créer des glyphes, qui nécessitent
une grande précision, pas pour une telle courbe.
De plus, je n'ai pas trouver de réelle méthode pour se retrouver
directement à l'échelle des portées de LilyPond.
En revanche, passer par une image *.eps peut être intéressante pour
réaliser la courbe, c'est à dire en canevas (plutôt que de passer par une
feuille papier) :

dessin = \markup {
 \with-dimensions #'(0 . 0) #'(0 . 0)
 \epsfile #Y #18.5 #"dessin.eps"
}

\relative c' {
  c4
  -\tweak extra-offset #'(-8.5 . -7.6)
  -\tweak layer #-2
  -\dessin
  -\tweak extra-offset #'(0 . -1.1)
  -\markup {
    \path #0.3 #'(
       (moveto    0.0 0.0)
       (lineto    0.0 1.1)
       (lineto 13.4 2.4)
       (curveto  14.3 2.5 14.7 2.9 15.7 2.9)
       ;; etc.
       )
  }
  d e f g8 a b d c d e f
}

Cordialement,
Pierre

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 3 Nov 2019 11:11:34 +0100

Oups, "... je n'ai pas trouvé... "

Le dim. 3 nov. 2019 à 11:09, Pierre Perol-Schneider <
[email-masked]> a écrit :

> À l'occasion du dernier Café Lily j'ai présenté une méthode pour
> déterminer les coordonnées des points avec l'aide d'Inkscape.
> Je pense que c'est plus intéressant pour créer des glyphes, qui
> nécessitent une grande précision, pas pour une telle courbe.

---

From: martial <[email-masked]>
Date: Sun, 3 Nov 2019 06:57:16 -0700 (MST)

bonjour, 

peut-on avoir ton graphique avec les tangentes, ou du moins les 2 premières
courbes que je puisse comprendre comment ça fonctionne. 

Cordialement

-----
♫artial♪

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 3 Nov 2019 19:17:21 +0100

Et voilà (à zoomer à 800 % pour voir quelque chose) :

\version "2.18.2"

dessin = \markup {

\relative c' {
  c4
  -\tweak extra-offset #'(-8.5 . -7.6)
  -\tweak layer #-2
  -\dessin
  -\tweak extra-offset #'(0 . -1.1)
  -\markup {
    \combine
    \path #0.1 #'(
       (moveto   -0.3 0.0)
       (curveto  -0.3 0.0 -0.5 1.1  0.3 1.2)
       (lineto 13.4 2.4)
       (curveto  14.3 2.5 14.7 2.9 15.7 2.9)
       (curveto  16.8 2.9 17.0 1.3 18.4 1.3)
       (curveto  20.5 1.3 19.8 2.9 22.0 2.9)
       ;; etc.
       )
     % tangentes :
     \with-color #red \path #0.05 #'(
       (moveto  -0.3 0.0)
       (lineto  -0.3 0.0)
       (moveto  -0.5 1.1)
       (lineto   0.3 1.2)
       (moveto 13.4 2.4)
       (lineto  14.3 2.5)
       (moveto  14.7 2.9)
       (lineto  15.7 2.9)
       (lineto  16.8 2.9)
       (moveto  17.0 1.3)
       (lineto  18.4 1.3)
       (lineto  20.5 1.3)
       (moveto  19.8 2.9)
       (lineto  22.0 2.9)
       ;; etc.
       )
  }
  d e f g8 a b c d e f g
}

Cordialement,
Pierre

---

From: martial <[email-masked]>
Date: Sun, 3 Nov 2019 16:48:21 -0700 (MST)

Merci beaucoup ! 
SI SI ! 

-----
♫artial♪

---

From: Yoann LE BARS <[email-masked]>
Date: Sun, 3 Nov 2019 03:10:16 +0100

Salut à tous !

> J'imagine que ça ne se fait pas en 5mn.

	Franchement, avec un peu d’habitude ce n’est pas si compliqué. Surtout,
je suis habitué à Tikz sous LaTeX, ce qui me met en terrain balisé.

> On peut aussi le dessiner directement dans Inkscape.

	Franchement, lorsque la partition contient plusieurs instruments sur
plusieurs lignes et sur plusieurs pages, comme dans mon cas, ce n’est
pas plus facile, au contraire. D’autant qu’on se retrouve à les tracer à
l’aveugle, il y a donc pas mal d’essais-erreurs.

	Après, chacun fait comme il le souhaite, mais pour ma part je vais
utiliser les courbes de Béziers.

	À bientôt.