lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CODA à la suite de la portée et problème image.


From: Valentin Villenave
Subject: Re: CODA à la suite de la portée et problème image.
Date: Wed, 8 Apr 2020 16:01:16 +0000

On 4/8/20, gegeours <address@hidden> wrote:
> 1°) lors de l'insertion de l'image, je bloque au compilement ?

Ça, à tous les coups c’est un problème de chemin du fichier eps.

> 2°) comment puis-je mettre la CODA à la suite de la portée et non
> en-dessous comme c'est le cas actuellement.

En l’état, vous avez ajouté la coda en-dehors du bloc \score. Donc
LilyPond pense que ce sont deux mouvements séparés (en fait il crée un
deuxième bloc \score autour de votre \new GrandStaff). Vous pouvez
procéder autrement, mais si vous voulez vraiment que les portées
s’arrêtent et redémarrent il faut tricher un peu (voir la variable
\codaBreak que j’ai improvisée ci-dessous) ; si en plus vous voulez
créer une accolade au moment où les portées redémarrent ça devient
encore plus technique mais ça existe, grâce en particulier à notre PPS
national :
https://lists.gnu.org/archive/html/lilypond-user-fr/2014-02/msg00014.html

> 3°) vérifier la lecture midi.

Alors là c’est un peu compliqué, en particulier parce que vous avez
utilisé une syntaxe pas vraiment standard pour vos reprises (au lieu
de \repeat volta {} \alternative {}, vous avez redéfini les
repeatCommands) ; du coup l’astuce qui est décrite dans la doc risque
de ne pas bien fonctionner ici :
http://lilypond.org/doc/latest/Documentation/notation/using-repeats-with-midi.fr.html
Par contre au moins, avec le code corrigé que je propose ci-dessous,
au moins la coda sera incluse dans le rendu midi, même si ce sera
bêtement dans l’ordre où la partition est écrite.

Avant de poster mon code, quelques remarques supplémentaires :

- vous aviez défini le début dans des variables bien proprement (right
et left), mais vous avez laissé la suite un peu en vrac. Je vous
suggèrerais de définir d’autres variables pour la coda, afin de
pouvoir ensuite organiser tout cela bien clairement dans le bloc
\score tout à la fin.

- du coup je remettrais les définitions dans un ordre qui me semble
plus clair : le header en haut (pour savoir au premier coup d’œil de
quelle partition il s’agit), puis les définitions de \paper et \layout
(tout ce qui concerne l’apparence de la partition), puis les petites
variables (\global) et les grosses (celles qui contiennent les notes),
puis enfin le bloc \score qui établit la structure de la partition (il
contient également un \layout, on peut le laisser vide si on a déjà
tout défini en haut).

- vous avez choisi d’indiquer les accords par des \markup, pourquoi
pas mais LilyPond a en fait une fonction exprès pour ça, la vie est
bien faite:
http://lilypond.org/doc/latest/Documentation/notation/chord-mode.fr.html
(par défaut le "M" des accords majeurs ne s’imprime pas, mais il est
évidemment possible de changer ça).
Là encore, on peut les saisir dans des variables, qui peuvent être
réutilisées ensuite (et on peut même les entendre dans le rendu
MIDI…).

- la partition a une très bonne tête dans l’ensemble, et votre code
s’est beaucoup amélioré ; juste une question, pourquoi n’utilisez vous
pas le mode \relative dans la coda ? (Pareil, je me suis permis de le
corriger ci-dessous.)

- petite bizarrerie de syntaxe, un 4 qui se balade tout seul à la fin
de la variable "right". Je l’ai transformé en "q4" afin de répéter
l’accord.

- mesures 2, 4 et 6, je vous propose de laisser le soupir en mode
monodique, plutôt que de le mettre dans la voix du haut et de mettre
un s4 dans l’autre voix. Comme ça il s’imprime au centre de la portée,
ce qui me semble plus clair (mesure 6, le si bémol ne serait-il pas
plutôt une blanche ?)

- mesure 75, je me suis permis de suggérer un accord de sol mineur (à
mon avis le Do7 arrive ensuite). Pour d’autres mesures où c’est un
accord de do mais avec le Sol à la basse, LilyPond sait également
l’écrire.

Voici le code tel que je vous le proposerais :

%%%%

\version "2.18.2"

\header {
  title = "Espaňa"
  instrument = "Accordéon"
  composer = "E. Chabrier"
  tagline = " Gravé avec LilyPond, un logiciel gratuit et libre
(http://lilypond.org)"
}
\paper {
  system-system-spacing.padding = #0
  oddFooterMarkup = \markup \fill-line {
    \center-column {
      \line { \fontsize #-4 \fromproperty #'header:title }
      \on-the-fly  #last-page \line { \fontsize #-1 \fromproperty
#'header:tagline }
      \italic \line {
        \fontsize #-1 {
          GR le #(strftime "%d %m %y" (localtime (current-time)))
        }
      }
    }
  }
}

\layout {
  \context {
    \ChordNames
    %% pour imprimer le signe "coda" -vv
    \consists "Text_engraver"
    %% noms des accords en français
    \frenchChords
    \override ChordName.font-family = #'serif
    \override ChordName.extra-offset = #'(-1 . 0)
  }
  \override Score.BarNumber.color = #red
  \override Score.BarNumber.font-shape = #'italic
  \override Score.BarNumber.font-size = #0.2
  ragged-last = ##t
}

logo= \markup {
  \with-dimensions #'(0 . 0) #'(0 . 0) {
    \translate #'(2 . -1)
    %% Vérifier le chemin, puis décommenter (-vv)
    ""%\epsfile #X #15 #"../accordéon.eps"
}}

codaBreak = {
  \stopStaff \cadenzaOn s1
  \once \override BreathingSign.transparent = ##t
  \breathe s \cadenzaOff \startStaff
  \set Staff.forceClef = ##t
  \once \override Staff.Clef.full-size-change = ##t
}

%%% extension du LaissezVibrer
xLV = #(define-music-function
        (parser location further) (number?) #{
  \once \override LaissezVibrerTie.X-extent = #'(0 . 0)
  \once \override LaissezVibrerTie.details.note-head-gap =
  #(/ further -2)
  \once \override LaissezVibrerTie.extra-offset =
  #(cons (/ further 2) 0)
         #})

global = {
  \key f \major
  \time 3/4
  \tupletUp
  \defineBarLine ";;" #'(";;" "" ";;")
}

right = \relative c'' {
  \global
  r4 f8_4 f f4 r
  <<
    {d^2 ( c_3)}
    \\
    {a2_1}
  >>
  r4 e'8_4 e e4 r
  <<
    {d^3 ( c_1)}
    \\
    {bes2_2}
  >>
  r4 e8_4 e e4 r
  <<
    {d^3 ( e_4}
    \\ bes2_2
  >>
  <<
    f'2.^3) ~
    \\ a,2._1 ~
  >>
  <<
    f'4 \\ a,4
  >> r r\bar "||"
  \mark \markup \musicglyph #"scripts.segno"
  r4 f'8_4 f f4
  d8_3 d d4 c_2
  c d8_3 d d4
  e_4 ( d_3^.) c_2^.
  c_2 c8 c c4
  d8_3 d d4 e_4
  e4_3 f8_4 f f4
  e8_3 e e4 c_1
  c f8_4 f f4
  d8_3 d d4 c_2
  c d8_3 d d4
  e_4 ( d_3^.) c_2^.
  c c8 c c4
  d8_3 d d4 e_4^\markup "3ème fois"
  \mark \markup \musicglyph #"scripts.coda"
  e4 e8 e c4
  \set Score.repeatCommands = #' ((volta "1°"))
  f_4^^ d_3 ( c_2)
  \set Score.repeatCommands = #' ((volta #f)) \bar ":|."
  \set Score.repeatCommands = #' ((volta "2°"))
  f_4^^^\markup {\italic Fin}\bar ";;" a_5 ( g_4
  \set Score.repeatCommands = #' ((volta #f)) \bar ".|:"
  f_3^^ d_2 c_1
  f,_2 a_1 c_3
  e8_4) r \tuplet 3/2 {d8 ( e d} c4 ~
  c4) d_3 ( g_5
  e_4 d_3 g,_2
  c_1 d_2 e_3)
  f8_4 e_2 f_3 g_4 a4_5
  r4 a_5 ( g_4
  f_3 d_2 c_1
  f,_2 a_1 c_3
  e8_4) r \tuplet 3/2 {d8 ( e d} c4 ~
  c4) d_3 ( g_5
  e_4 d_3 g,_2
  c_1 d_2 e_3)
  \set Score.repeatCommands = #' ((volta "1°"))
  f8_4^> g_5 f_4 e_3 f4_4^>
  r4
  \xLV #6   a_5 \laissezVibrer  g_4 \break
  \set Score.repeatCommands = #' ((volta #f))\bar ":|."
  \set Score.repeatCommands = #' ((volta "2°"))
  <a,_1 f'^4>2. ~
  \key f \major
  q4 r r
  \set Score.repeatCommands = #' ((volta #f)) \bar "||"
  \mark \markup \musicglyph #"scripts.segno"
}

left = \relative c' {
  \global \clef F
  f,,_4  f'_3 f
  c_2 f_3 f
  g,_3  c'_2 c
  c,_4 c'_2 c
  g,_4  g'_2 g-"B.S."
  c,_4 d_2 e_4
  f_5 c_4 a_5
  <f_4 f'_3>  r <c'_2 c'_4>4
  f,_4  f'_3 f
  c_2 f_3 f
  f,_4 f'_3 f-"B.S."
  c_3 f,_4 fis_2
  g_3 c'_2 c
  c,_4 c'_2 c
  g, c' c
  c, c' e,,
  f  f' f
  c f f
  f, f' f-"B.S."
  c_3 f,_4 fis_2
  g  c' c
  c, c' c
  g,  c' <c, c'>
  <f,_3 f'_4>  g_3 ges_2
  <f_3 f'_4>  r r
  f  f' f
  <<
    {r  d_3 aes_5}
    \\
    {a2_4 s4}
  >>
  g4_3 c'_2 c
  c,_4 c'_2 c
  g,_3 c'_2 c
  c, c' c
  f,, f' f-"B.S."
  c_3 d_5 e_3
  f,_4 f'_3 f
  d,_4 d'_2 d
  g,_4 g'_2 g
  c,_4 c'_2 c
  g,_3 c'_2 c
  c,_4 c'_2 e,,_5
  f f' <f, f'>
  r c' e
  f, c'_3 a_4
  <f f'> r <c' c'>
}

accords = \chordmode {
  f2. s c:7 s g:m  c:7 f s2 c4:7
  f2. s s s c:7 s s s
  f s s s c:7 s s f
  f
  f s c:7 s c:7 s f s
  f d:m c:7/g c:7
  c:7 s f s
  f s2 c4:7
}

codaAccords = \chordmode {
  c2.:7 f
  bes g:7 c:m f:7 c:m f:7 bes s
  bes g:7 c:m f:7 c:m f:7 bes s
  bes
  f d:7 c:7/g c:7 c:7 s f s
  f s c:7 s g:m7 c:7 f s4 c2:7
  f2. s2 c4:7
}

codaRight= \relative c' {
  \clef G
  \key f\major
  e'4_4 e8 e c4_2
  f8_4^>\noBeam f,_2\noBeam g_3 a_1 bes_3 c_1 \bar "||"
  \key bes \major \bar".|:"

  d4_2 \( g2_5
  ( g4)\)f_4 \( d_2
  es8_3 f_4 g2_5
  ( g4) \) c,_2 \( d_3
  es_1 f_2 ( g_3)
  g\) a2_4^>
  bes8_5^^ r a_4 g_3 f4_2
  r g_4 ( f_3)
  d_2 \( g2_5
  ( g4) \) f_4 \( d_2
  es8_3 f_4 g2_5 ( g4) \)
  c,_2\( d_3 es_1 f_2 g_3
  ( g)\) a2_4^>
  bes2._5
  \set Score.repeatCommands = #' ((volta "1°"))
  bes8 r g4_4 f_3
  \set Score.repeatCommands = #' ((volta #f)) \bar ":|."
  \set Score.repeatCommands = #' ((volta "2°"))
  bes8_2\repeatTie r c,8_3 c_2 c_3 c_2\bar ".|:-||"
  \break

  \set Score.repeatCommands = #' ((volta #f))
  \key f \major
  d4_4^. c8_3 bes_2 a4_1
  r4 a8_3 a_2 a_3 a_2
  a4_3 g8_2 a_3 bes4_4
  r4 bes8_4 bes_3 bes_4 bes_3
  c4_4^. bes8_3 a_4 g4_3
  r g8_3 g_2 g_3 g_2
  g4_3 f8_2 g_3 a4_4
  r c8_4 c_3 c_4 c_3
  d4_4^. c8_3 bes_2 a4_1
  r f'8_4 f_3 f_4 f_3
  f4_4^. c8_2 d_3 e4_4
  r g8_4 g_3 g_4 g_3
  g4_4^. d8_2 e_3 f4_4
  e_3 d_2 c_1
  \set Score.repeatCommands = #' ((volta "1°"))
  d4_2^. c8_1 bes_2 a'4_1
  r c,8_2 c_3 c_2 c_3
  \set Score.repeatCommands = #' ((volta #f)) \bar ":|."
  \set Score.repeatCommands = #' ((volta "2°"))
  f2._4
  f4 r r
  \set Score.repeatCommands = #' ((volta #f)) \bar "||"
  \mark \markup \musicglyph #"scripts.segno"
}

codaLeft = \relative c {
  \clef F
  \key f\major
  g  c' <c, c'>
  <f, f'>8 r r4 r
  \key bes \major
  <<
    {r4 bes'_3 bes}
    \\
    {bes,2._4}
  >>
  <<
    {r4 g'_2 g}
    \\
    {b,2._4}
  >>
  c4_4 c'_2 c
  f,,_4 f'_2 f
  c_4 c'_2 c
  f,,_4 f'_2 f
  bes,_4 bes'_3 bes
  f,_2 bes'_3 bes
  <<
    {r4 bes_3 bes}
    \\
    {bes,2._4}
  >>
  <<
    {r4 g'_2 g}
    \\
    {b,2._4}
  >>
  c4_4 c'_2 c
  f,,_4 f'_2 f
  c_4 c'_2 c
  f,,_4 f'_2 f-"B.S."
  bes,_4 f'_3 d_5
  <bes_3 bes'_4>8 r r4 r
  <bes bes'>8 r r4 r
  \key f \major
  f_4 f'_3 f
  fis,_4 d'_2 d
  g,_3 c'_2 c
  c,_4 c'_2 c
  g, c' c
  c, c' c
  f,,  f' f
  c_2 f_3 f
  f,_4 f'_3 f
  c_2 f_3 f
  g,_3  c'_2 c
  c,_4 c'_2 c
  g, c' c
  c, c' c
  f,,  f' <f, f'>
  r < c' c'>2 -"B.S."
  f,4 c' a
  <f f'>  r <c' c'>
}

\logo
\score {
  \new PianoStaff \with {
    midiInstrument = "accordion"
  } <<
    \new Staff { \right \codaBreak \codaRight }
    \new ChordNames \with {
      midiInstrument = "music box"
      midiMaximumVolume = #80
    } {
      \accords s1^\markup \center-column {
        \hspace #15
        "CODA" \musicglyph #"scripts.coda"
      } s
      \codaAccords }
    \new Staff { \left \codaBreak \codaLeft }
  >>
  \layout { }
  \midi {
    \tempo 4=100
  }
}

%%%%

V.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]