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

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

Re: midi et \segno et \coda


From: Jean Abou Samra
Subject: Re: midi et \segno et \coda
Date: Tue, 24 May 2022 16:32:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1



Le 24/05/2022 à 08:43, david427@mailo.com a écrit :
Bonjour

Je sais faire un midi qui développe les répétitions avec \unfoldRepeats, mais je n'arrive pas à faire reprendre à un signe \segno, ou aller à la coda

Dans l'exemple suivant, est-il possible de créer un midi qui jouerait dans l'ordre les mesures 1-2-1-2-3-1-4 ?

%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.23.3"
\language "français"

MusicReprises = \relative do' {
  \repeat volta 2 {
    \mark \markup { \musicglyph "scripts.segno" }
    \repeat unfold 4 do4 |
    \mark \markup { \musicglyph "scripts.coda" }
    \repeat unfold 4 ré4 }
  \repeat unfold 4 mi4  \bar "||"
  \mark \markup { \musicglyph "scripts.segno" \musicglyph "scripts.coda" }
  \repeat unfold 4 fa4 \bar "|." }

\score { \new Staff { \MusicReprises }
\layout { }}

\score { \new Staff { \unfoldRepeats \MusicReprises }
\midi { \tempo 4=120 }}
%%%%%%%%%%%%%%%%%%%%%%%%


D'avance merci de vos idées,
David



Bonjour,

Puisque tu utilises déjà une version de développement, tu pourrais passer
à une plus récente, et profiter de toutes les commandes liées aux répétitions
ajoutées par Dan, qui permettent d'écrire :

\version "2.23.9"

\language "français"

MusicReprises = \relative do' {
  \segnoMark 1
  \repeat segno 2 {
    \volta 1 {
      \repeat volta 2 {
        do4 4 4 4
        \codaMark 1
        ré4 4 4 4
      }
      mi4 4 4 4
    }
    \unfolded \volta 2 {
      do4 4 4 4
    }
  }
  \section
  \codaMark 1
  fa4 4 4 4
  \fine
}

\score { \MusicReprises }

\score {
  \unfoldRepeats \MusicReprises
  \midi { \tempo 4 = 120 }
  \layout { }
}


Par rapport aux tags, il y a moins de redondance dans le code.
Il reste tout de même la première mesure qui est réécrite…
Je ne vois pas mieux, la structure de ces répétitions est tout
de même assez inhabituelle, me semble-t-il. Cela dit, tu peux
toujours mettre cette partie dans une variable et la réutiliser
aux deux endroits.

Sinon, la façon plus traditionnelle de faire est de faire des variables
pour toutes les sections, et de les combiner en deux \score complètement
séparés :


\version "2.23.9"

\language "français"

mesI = { do'4 4 4 4 }
mesII = { ré'4 4 4 4 }
mesIII = { mi'4 4 4 4 }
mesIV = { fa'4 4 4 4 }


\score {
  {
    \mark \markup \musicglyph "scripts.segno"
    \repeat volta 2 {
      \mesI
      \mark \markup \musicglyph "scripts.coda"
      \mesII
    }
    \mesIII
    \mark \markup { \musicglyph "scripts.segno" \musicglyph "scripts.coda" }
    \mesIV
  }
}

\score {
  { \mesI \mesII \mesI \mesII \mesIII \mesI \mesIV }
  \midi { \tempo 4 = 120 }
  \layout { }
}


Cordialement,
Jean






reply via email to

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