Transposición

Una expresión musical se puede transportar mediante \transpose. La sintaxis es

\transpose nota_origen nota_destino expresión_musical

Esto significa que la expresión_musical se transporta el intervalo que hay entre las notas nota_origen y nota_destino: cualquier nota con la altura de nota_origen se cambia por nota_destino y cualquier otra nota se transporta el mismo intervalo. Las dos notas se introducen en modo absoluto.

Nota: La música que está dentro de un bloque \transpose es absoluta, a no ser que se incluya una instrucción \relative dentro del bloque.

Por ejemplo, tomemos una pieza escrita en la tonalidad de Re mayor. Se puede transportar hacia arriba a Mi mayor; observe que también la armadura de la tonalidad se transporta automáticamente.

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

[image of music]

Si una particella escrita en Do (afinación de concierto normal) se debe tocar con un clarinete en La (para el que un La se escribe como un Do, y que suena una tercera menor por debajo de lo que está escrito), la particella correspondiente se produce mediante:

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

[image of music]

Observe que especificamos \key c \major de forma explícita. Si no especificamos ninguna tonalidad, las notas se transportan pero no se imprime la armadura.

\transpose distingue entre notas enarmónicas: tanto \transpose c cis como \transpose c des transportan un semitono hacia arriba. La primera versión imprime sostenidos y las notas no se mueven de su lugar en la escala, en cambio la segunda imprime bemoles de la nota siguiente.

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

[image of music]

\transpose también se puede usar para introducir notas escritas para un instrumento transpositor. Los ejemplos anteriores muestran cómo escribir alturas en Do (o en afinación de concierto) y tipografiarlas para un instrumento transpositor, pero también es posible el caso contrario si, por ejemplo, tenemos un conjunto de partes instrumentales y quiere hacer un guión en Do para el director. Por ejemplo, al introducir música para trompeta en Si bemol que comienza por un Mi en la partitura (Re de concierto), se puede escribir:

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

Para imprimir esta música en Fa (por ejemplo, al arreglarla para trompa) puede envolver la música existente con otro \transpose:

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

Para ver más información sobre instrumentos transpositores, consulte Transposición de los instrumentos.

Fragmentos de código seleccionados

Transportar música con el menor número de alteraciones

Este ejemplo utiliza código de Scheme para forzar las modificaciones enarmónicas de las notas, y así tener el menor número de alteraciones accidentales. En este caso se aplican las siguientes reglas:

De esta forma se selecciona el mayor número de notas enarmónicas naturales.

#(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]

Véase también

Referencia de la notación: Transposición de los instrumentos, Inversión, Transformaciones modales, Escritura de octava relativa, Retrogradación.

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: TransposedMusic.

Advertencias y problemas conocidos

La conversión relativa no afecta a las secciones \transpose, \chordmode ni \relative dentro de su argumento. Para usar el modo relativo dentro de música transportada, se debe colocar otro \relative dentro de \transpose.

No se imprimen alteraciones accidentales triples cuando se usa \transpose. En lugar de ello, se usará una nota ‘equivalente enarmónicamente’ (p.ej., Re bemol en lugar de Mi triple bemol).


Referencia de la notación de GNU LilyPond v2.25.22 (development-branch).