Transposition

Une expression musicale peut être transposée avec \transpose. En voici la syntaxe :

\transpose note_de_départ note_d_arrivée expression_musicale

Cela signifie que expression_musicale est transposé de l’intervalle séparant note_de_départ et note_d_arrivée : toute note dont la hauteur était note_de_départ est changée en note_d_arrivée ; les autres notes seront changées selon le même intervalle. Les deux hauteurs s’expriment en octave absolue.

Note : La musique contenue dans un bloc \transpose est en octaves absolues, sauf à inclure dans ce même bloc une clause \relative.

Prenons comme exemple une pièce écrite en ré majeur. Si cette pièce est un peu trop basse pour l’interprète, elle peut être transposée en mi majeur. Vous noterez que l’armure est automatiquement modifiée.

\transpose d e {
  \relative {
    \key d \major
    d'4 fis a d
  }
}

[image of music]

Regardons maintenant une partie écrite pour violon – un instrument en ut. Si cette partie doit être jouée par une clarinette en la (écrite à la tierce mineure supérieure, un do écrit donnant un la réel), la transposition suivante créera la partie appropriée.

\transpose a c' {
  \relative {
    \key c \major
    c'4 d e g
  }
}

[image of music]

La présence de \key c \major s’explique par le fait que, bien que les notes soient effectivement transposées, l’armure ne sera imprimée que dans la mesure où elle est explicitement mentionnée.

\transpose fait la distinction entre les notes enharmoniques : \transpose c cis et \transpose c des transposeront la pièce un demi-ton plus haut, au détail près que la première version écrira des dièses et la deuxième des bémols.

music = \relative { c' d e f }
\new Staff {
  \transpose c cis { \music }
  \transpose c des { \music }
}

[image of music]

On peut aussi utiliser \transpose pour entrer des notes écrites pour un instrument transpositeur. Normalement, les hauteurs dans LilyPond sont écrites en ut, c’est à dire en sons réels, mais elles peuvent être écrites dans un autre ton. Prenons l’exemple d’un morceau pour trompette en si bémol commençant sur un ré à l’oreille ; on pourrait écrire

musiqueEnSiBemol = { e4 … }
\transpose c bes, \musiqueEnSiBemol

Pour imprimer cette musique en fa – et de ce fait produire une partie de cor au lieu d’un conducteur en notes réelles – on utilisera un deuxième \transpose :

musiqueEnSiBemol = { e4 … }
\transpose f c' { \transpose c bes, \musiqueEnSiBemol }

Pour plus d’information à ce sujet, consultez Instruments transpositeurs.

Morceaux choisis

Transposition et réduction du nombre d’altérations accidentelles

Cet exemple, grâce à un peu de code Scheme, donne la priorité aux enharmoniques afin de limiter le nombre d’altérations supplémentaires. La règle applicable est :

Cette façon de procéder aboutit à plus d’enharmoniques naturelles.

#(define (naturalize-pitch p)
   (let ((o (ly:pitch-octave p))
         (a (* 4 (ly:pitch-alteration p)))
         ;; alteration, a, in quarter tone steps,
         ;; for historical reasons
         (n (ly:pitch-notename p)))
     (cond
      ((and (> a 1) (or (eqv? n 6) (eqv? n 2)))
       (set! a (- a 2))
       (set! n (+ n 1)))
      ((and (< a -1) (or (eqv? n 0) (eqv? n 3)))
       (set! a (+ a 2))
       (set! n (- n 1))))
     (cond
      ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
      ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
     (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
     (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
     (ly:make-pitch o n (/ a 4))))

#(define (naturalize music)
   (let ((es (ly:music-property music 'elements))
         (e (ly:music-property music 'element))
         (p (ly:music-property music 'pitch)))
     (if (pair? es)
         (ly:music-set-property!
          music 'elements
          (map naturalize es)))
     (if (ly:music? e)
         (ly:music-set-property!
          music 'element
          (naturalize e)))
     (if (ly:pitch? p)
         (begin
           (set! p (naturalize-pitch p))
           (ly:music-set-property! music 'pitch p)))
     music))

naturalizeMusic =
#(define-music-function (m)
   (ly:music?)
   (naturalize m))

music = \relative c' { c4 d e g }

\score {
  \new Staff {
    \transpose c ais { \music }
    \naturalizeMusic \transpose c ais { \music }
    \transpose c deses { \music }
    \naturalizeMusic \transpose c deses { \music }
  }
  \layout { }
}

[image of music]

Voir aussi

Manuel de notation : Instruments transpositeurs, Inversion, Octaves relatives, Rétrogradation, Transformations modales.

Morceaux choisis : Hauteurs.

Référence des propriété internes : TransposedMusic.

Problèmes connus et avertissements

Si vous voulez utiliser en même temps \transpose et \relative, vous devez mettre \transpose en dehors de \relative, puisque \relative n’aura aucun effet sur la musique apparaissant dans un \transpose.

La fonction \transpose ne permet pas d’imprimer des altérations triples ; elle les remplacera par un « équivalent enharmonique » – par exemple ré bémol au lieu de mi triple bémol.


GNU LilyPond – Manuel de notation v2.25.22 (development-branch).