Anterior: Comprobación de octava, Arriba: Modificación de varias notas a la vez


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.

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 c' {
         \key d \major
         d4 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 c' {
         \key c \major
         c4 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 transportarán un semitono hacia arriba. La primera versión imprimirá sostenidos y las notas no se moverán de su lugar en la escala, la segunda imprimirá bemoles de la nota siguiente.

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

[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

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 (eq? n 6) (eq? n 2)))
           (set! a (- a 2))
           (set! n (+ n 1)))
          ((and (< a -1) (or (eq? n 0) (eq? 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 musica)
       (let* ((es (ly:music-property musica 'elements))
              (e (ly:music-property musica 'element))
              (p (ly:music-property musica 'pitch)))
         (if (pair? es)
             (ly:music-set-property!
              musica 'elements
              (map (lambda (x) (naturalize x)) es)))
         (if (ly:music? e)
             (ly:music-set-property!
              musica 'element
              (naturalize e)))
         (if (ly:pitch? p)
             (begin
               (set! p (naturalize-pitch p))
               (ly:music-set-property! musica 'pitch p)))
         musica))
     
     naturalizeMusic =
     #(define-music-function (parser location m)
     					(ly:music?)
     			(naturalize m))
     
     musica = \relative c' { c4 d e g }
     
     \score {
       \new Staff {
         \transpose c ais \musica
         \naturalizeMusic \transpose c ais \musica
         \transpose c deses \musica
         \naturalizeMusic \transpose c deses \musica
       }
       \layout { }
     }

[image of music]

Véase también

Referencia de la notación: Transposición de los instrumentos.

Fragmentos de código: Alturas.

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.

Esta página corresponde a LilyPond-2.11.58 (rama de desarrollo).

Informe de los fallos a través de la lista en español lilypond-es, o en inglés a través de http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.

Se agradecen las sugerencias para la documentación.

Otros idiomas: English, français, deutsch.