Referencia de la notación de GNU LilyPond: 1.1.2 Changing multiple pitches

### 1.1.2 Changing multiple pitches

Esta sección trata de la manera de modificar las alturas.

#### Octave checks

En el modo relativo, es fácil olvidar una marca de cambio de octava. Las comprobaciones de octava hacen más fácil encontrar estos errores, mediante la presentación de una advertencia y corrigiendo la octava si la nota se encuentra en una octava distinta de lo esperado.

Para comprobar la octava de una nota, especifique la octava absoluta después del símbolo `=`. Este ejemplo genera un mensaje de advertencia (y corrige la altura) porque la segunda nota es la octava absoluta `d''` en lugar de `d'` como indica la corrección de octava.

>     \relative c'' {
>       c2 d='4 d
>       e2 f
>     }

La octava de las notas se puede comprobar también con la instrucción `\octaveCheck` altura_de_control. altura_de_control se especifica en modo absoluto. Esto comprueba que el intervalo entre la nota anterior y la altura_de_control se encuntra dentro de una cuarta (es decir, el cálculo normal para el modo relativo). Si esta comprobación fracasa, se imprime un mensaje de advertencia, pero la nota previa no se modifica. Las notas posteriores están en relación a la altura_de_control.

>     \relative c'' {
>       c2 d
>       \octaveCheck c'
>       e2 f
>     }

Compare los dos compases siguientes. La primera y tercera comprobaciones de `\octaveCheck` fracasan, pero la segunda es correcto.

>     \relative c'' {
>       c4 f g f

>       c4
>       \octaveCheck c'
>       f
>       \octaveCheck c'
>       g
>       \octaveCheck c'
>       f
>     }

#### Véase también

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: RelativeOctaveCheck.

#### Transpose

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
>       }
>     }

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
>       }
>     }

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.

>     music = \relative c' { c d e f }
>     \new Staff {
>       \transpose c cis { \music }
>       \transpose c des { \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 Instrument transpositions.

#### 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:

- Se quitan las dobles alteraciones
- Si sostenido -> Do
- Mi sistenido -> Fa
- Do bemol -> Si
- Fa bemol -> Mi

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 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 (lambda (x) (naturalize x)) 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 (parser location 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 { }
>     }

#### Véase también

Referencia de la notación: Instrument transpositions.

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`.

Other languages: English, français, deutsch.

#### Manual de referencia de la notación