Courbe d’intensite

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* : ****@****

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/

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
    \omit Staff.TimeSignature
    \makeClusters \intensite
  }

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

http://lilybin.com/t4551b/1

···

-----
Lilypondement,
Martial Rameaux
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

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

···

Le sam. 2 nov. 2019 à 10:13, martial <****@****> a écrit :

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' {
4 2 <c g'>4
<c a'>4 8 <c b'> <c g'>2 c

}

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

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

http://lilybin.com/t4551b/1


Lilypondement,
Martial Rameaux

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

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.

···

--
Yoann LE BARS
http://le-bars.net/yoann/
Diaspora* : ****@****

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
    \omit Staff.TimeSignature
     <>_\intensite
  }
  >>
}
%--------------------------
spline.eps joint
spline.eps
<http://lilypond-french-users.1298960.n2.nabble.com/file/t300440/spline.eps&gt;

···

-----
Lilypondement,
Martial Rameaux
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

Ç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 <****@****> a écrit :

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
\omit Staff.TimeSignature
<>_\intensite
}

}
%--------------------------
spline.eps joint
spline.eps
<http://lilypond-french-users.1298960.n2.nabble.com/file/t300440/spline.eps>


Lilypondement,
Martial Rameaux

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

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

On peut aussi le dessiner directement dans Inkscape.

···

-----

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

Salut à tous !

···

Le 02/11/2019 à 22:30, Pierre Perol-Schneider a écrit :

Fait à la louche :

  Du coup, merci pour cet exemple.

  À bientôt.

--
Yoann LE BARS
http://le-bars.net/yoann/
Diaspora* : ****@****

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.

···

Le 02/11/2019 à 23:38, martial a écrit :

--
Yoann LE BARS
http://le-bars.net/yoann/
Diaspora* : ****@****

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.

···

Le 02/11/2019 à 23:38, martial a écrit :

--
Yoann LE BARS
http://le-bars.net/yoann/
Diaspora* : ****@****

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

dessin.eps (67.4 KB)

···

Le sam. 2 nov. 2019 à 23:39, martial <****@****> a écrit :

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

···

Le dim. 3 nov. 2019 à 11:09, Pierre Perol-Schneider <****@****> a écrit :

Au plaisir Yohann, ;).

Le sam. 2 nov. 2019 à 23:39, martial <****@****> a écrit :

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

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♪
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

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

\version "2.18.2"

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

···

Le dim. 3 nov. 2019 à 14:57, martial <****@****> a écrit :

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♪

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

Merci beaucoup !
SI SI !

···

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