Recours aux balises pour produire une partition ancienne et moderne à partir de la même source

Grâce aux balises (tags), il est possible d’utiliser une même source pour produire une partition de musique mensurale et moderne. Dans cet exemple est créée la fonction menrest qui permettra de positionner les silence comme dans la version originale, tout en respectant leur position sur une portée standard.

Les balises permettent aussi de gérer d’autres différenciations selon les besoins, comme des « mesures de silence » (R1, R\breve, etc.) en notation moderne mais des silences normaux (r1, r\breve, etc.) en notation ancienne. L’action de convertir de la musique mensurale en version moderne est communément appelée « transcription ».

\header { tagline = ##f }

menrest =
#(define-music-function (note)
  (ly:music?)
    #{
      \tag #'mens $(make-music 'RestEvent note)
      \tag #'mod $(make-music 'RestEvent note 'pitch '())
    #})

MenStyle = {
  \autoBeamOff
  \override NoteHead.style = #'petrucci
  \override Score.BarNumber.transparent = ##t
  \override Stem.neutral-direction = #up
}

finalis = \section

Music = \relative c'' {
  \set Score.tempoHideNote = ##t
  \key f \major
  \time 4/4
  g1 d'2 \menrest bes4 bes2 a2 r4 g4 fis2.
  \finalis
}

MenLyr = \lyricmode { So farre, deere life, deare life }
ModLyr = \lyricmode { So far, dear life, dear life }

\score {
  \keepWithTag #'mens {
    <<
      \new MensuralStaff
      {
        \new MensuralVoice = Cantus
          \clef "mensural-c1" \MenStyle \Music
      }
      \new Lyrics \lyricsto Cantus \MenLyr
    >>
  }
}

\score {
  \keepWithTag #'mod {
    \new ChoirStaff <<
      \new Staff
      {
        \new Voice = Sop \with {
          \remove "Note_heads_engraver"
          \consists "Completion_heads_engraver"
          \remove "Rest_engraver"
          \consists "Completion_rest_engraver" }
        {
          \shiftDurations 1 0 { \autoBeamOff \Music }
        }
      }
      \new Lyrics \lyricsto Sop \ModLyr
    >>
  }
}

[image of music]


LilyPond snippets v2.25.22 (development-branch).