Modification de la métrique au sein d’un fragment polymétrique à l’aide de \scaleDurations

Polymétrie sans alignement des mesures

La prise en charge de contextes aux métriques indépendantes demande de supprimer le Timing_translator du contexte Score, conjointement à la création d’un contexte TimingStaffGroup disposant du Timing_translator. Ceci fera de Timing un alias de TimingStaffGroup, permettant ainsi aux commandes \time de s’appliquer au sein du TimingStaffGroup où elles apparaissent.

Contrairement à la commande native de LilyPond \enablePerStaffTiming, cette approche requiert la création explicite de contextes TimingStaffGroup mais, par contre, autorise la création de multiples contextes Staff qui suivront de concert la mesure définie dans le TimingStaffGroup qui les englobe.

Échelonnement local des métriques

La commande \time, qui ne peut être échelonné, établit une mesure de la longueur désirée dans Timing, autrement dit dans TimingStaffGroup. Dans le code ci-dessous, toutes les portées incluses dans un TimingStaffGroup utilisent une métrique échelonnée, de sorte que, peu importe la métrique, elle tiendra dans la longueur de mesure désirée. Si l’un des contextes inclus n’avait pas de métrique échelonnée, le choix de la métrique devant être fournie à Timing aurait toute son importance.

L’utilisation de la commande \polymetric \time permet de définir les propriétés d’échelonnement de la métrique dans le contexte Timing, et l’utilisation de \scaleDurations échelonnera le mètre et les notes afin qu’elles tiennent dans la mesure.

\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \accepts TimingStaffGroup
  }
  \context {
    \StaffGroup
    \name TimingStaffGroup
    \alias StaffGroup
    \consists "Timing_translator"
  }
}

<<
  \new TimingStaffGroup <<
    \new Staff {
      \scaleDurations 8/5 {
        \time 6/5 % to set measure length in Timing
        \context Staff \polymetric \time 6/8
        b8 b b b b b
        \time 4/5 % to set measure length in Timing
        \context Staff \polymetric \time 2/4
        b4 b
      }
    }
  >>
  \new TimingStaffGroup <<
    \new Staff {
      \clef bass
      \time 2/4
      c2 d e f
    }
  >>
>>
[image of music]

LilyPond snippets v2.25.33 (development-branch).