[Top][Contents][Index] |
LilyPond — Referencia de la notación
Este manual ofrece una referencia para toda la notación musical que se puede producir con LilyPond versión 2.25.22. Da por sentado que el lector está familiarizado con el material que hay en Manual de aprendizaje. |
1 Notación musical | Notación que se utiliza en casi todos los proyectos. | |
2 Notación especializada | Notación que sólo se usa para cometidos específicos. | |
3 Entrada y salida generales | Información general sobre la entrada y la salida de LilyPond. | |
4 Problemas de espaciado | Presentación del resultado en papel. | |
5 Cambiar los valores por omisión | Ajuste fino del resultado. | |
Apéndices | ||
---|---|---|
Appendix A Tablas del manual sobre notación | Tablas y cuadros. | |
Appendix B Hoja de referencia rápida | Resumen de la sintaxis de LilyPond. | |
Appendix C GNU Free Documentation License | Licencia de este documento. | |
Appendix D Índice de instrucciones de LilyPond | ||
Appendix E Índice de LilyPond |
Para mayor información sobre la forma en que este manual se relaciona con el resto de la documentación, o para leer este manual en otros formatos, consulte Manuales. Si le falta algún manual, encontrará toda la documentación en https://lilypond.org/. |
[ << Top ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Top ] | [ Up : Top ] | [ Alturas > ] |
1 Notación musical
Este capítulo explica cómo crear notación musical.
1.1 Alturas | Escritura y presentación de la altura de las notas. | |
1.2 Duraciones | Escritura y presentación de las duraciones de las notas. | |
1.3 Expresiones | Añadir expresión a las notas. | |
1.4 Repeticiones | Repetir música. | |
1.5 Notas simultáneas | Más de una nota a la vez. | |
1.6 Notación de los pentagramas | Imprimir pentagramas. | |
1.7 Anotaciones editoriales | Notación especial para aumentar la legibilidad. | |
1.8 Texto | Añadir texto a las partituras. |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notación musical ] | [ Up : Notación musical ] | [ Escritura de notas > ] |
1.1 Alturas
En esta sección se discute cómo especificar la altura de las notas. Este proceso se compone de tres fases: entrada, modificación y salida.
1.1.1 Escritura de notas | ||
1.1.2 Modificación de varias notas a la vez | ||
1.1.3 Imprimir las alturas | ||
1.1.4 Cabeza de las notas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Alturas ] | [ Up : Alturas ] | [ Escritura de octava absoluta > ] |
1.1.1 Escritura de notas
En esta sección se describe la manera de introducir la altura de las notas. Existen dos formas distintas de colocar las notas en su octava correspondiente: el modo absoluto y el relativo. En casi todas las ocasiones, será más práctico el modo relativo.
Escritura de octava absoluta | ||
Escritura de octava relativa | ||
Alteraciones accidentales | ||
Nombres de las notas en otros idiomas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Escritura de notas ] | [ Up : Escritura de notas ] | [ Escritura de octava relativa > ] |
Escritura de octava absoluta
El nombre de una nota se especifica usando las letras minúsculas
de la a
a la g
. Las notas cuyos nombres van desde
c
hasta b
se imprimen en la octava inferior al Do
central.
{ \clef bass c4 d e f g4 a b c d4 e f g }
Se pueden especificar otras octavas mediante una comilla
simplee ('
) o una coma (,
) .
Cada '
eleva la altura en una octava;
cada ,
baja la altura una octava.
{ \clef treble c'4 e' g' c'' c'4 g b c' \clef bass c,4 e, g, c c,4 g,, b,, c, }
Las marcas de octava comunes se pueden escribir una sola vez sobre
una nota de referencia si se emplea \fixed
antes de la
música. Las notas dentro de \fixed
solo necesitan las
marcas de apóstrofo '
o de coma ,
cuando
están por encima o por debajo de la octava de la nota de
referencia.
{ \fixed c' { \clef treble c4 e g c' c4 g, b, c } \clef bass \fixed c, { c4 e g c' c4 g, b, c } }
La altura de las notas de la expresión musical que sigue a
\fixed
no reultan afectadas por un \relative
circundante, que se estudia a continuación.
Véase también
Glosario musical: Pitch names.
Fragmentos de código: Pitches.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Escritura de octava absoluta ] | [ Up : Escritura de notas ] | [ Alteraciones accidentales > ] |
Escritura de octava relativa
La entrada de octava absoluta requere que se especifique la octava para todas y cada una de las notas. En contraste con ello, el modo de entrada de octava relativa especifica cada octava en relación a la nota anterior: si se cambia la octava de una nota ello afectará a todas las notas siguientes.
El modo relativo de notas se debe introducir de forma explícita
usando la instrucción \relative
:
\relative altura_inicial expresión_musical
En el modo relativo, se supone que cada nota se encuentra lo más
cerca posible de la nota anterior. Esto significa que la octava
de una nota que está dentro de expresión_musical
se
calcula como sigue:
- Si no se usa ninguna marca de cambio de octava en una nota, su octava se calcula de forma que el intervalo que forme con la nota anterior sea menor de una quinta. Este intervalo se determina sin considerar las alteraciones.
- Se puede añadir una marca de cambio de octava
'
o,
para elevar o bajar la altura, respectivamente, en una octava más en relación con la altura calculada sin esta marca. - Se pueden usar varias marcas de cambio de octava. Por ejemplo,
''
y,,
alteran la altura en dos octavas. - La altura de la primera nota es relativa a
altura_inicial
.altura_inicial
se especifica en modo de octava absoluta. ¿Qué opciones tienen sentido?c
(Do), en cualquier octavaLa identificación del Do central con
c'
es algo bastante básico, por lo que tiende a ser fácil encontrar octavas dec
. Si nuestra música comienza congis
(un Sol sostenido) por encima dec'''
, tendríamos que escribir algo como\relative { gis''' … }
- una nota que está una o más octavas de la primera nota de dentro
Escribir
\relative { gis''' … }
hace que sea fácil determinar la altura absoluta de la primera nota de dentro.- ninguna altura de inicio explícita
La forma
\relative { gis''' … }
sirve como una versión más compacta de la opción anterior: la primera nota de dentro se escribe ella misma en altura absoluta (esto resulta ser equivalente a elegirf
(Fa) como la altura de referencia).
La documentación suele utilizar esta última opción.
Aquí podemos ver el modo relativo en acción:
\relative { \clef bass c d e f g a b c d e f g }
Las marcas de cambio de octava se utilizan para intervalos mayores de la cuarta:
\relative { c'' g c f, c' a, e'' c }
Una serie de notas sin ninguna marca de octava puede, a pesar de todo, abarcar intervalos muy grandes:
\relative { c f b e a d g c }
Cuando hay unos bloques \relative
anidados dentro de otros,
el bloque \relative
más interno comienza con su propia nota
de referencia independientemente del \relative
exterior.
\relative { c' d e f \relative { c'' d e f } }
\relative
no tiene efecto sobre los bloques
\chordmode
.
\new Staff { \relative c''' { \chordmode { c1 } } \chordmode { c1 } }
\relative
no se permite dentro de los bloques
\chordmode
.
La música que está dentro de un bloque \transpose
es
absoluta, a no ser que se incluya una instrucción
\relative
.
\relative { d' e \transpose f g { d e \relative { d' e } } }
Si el elemento anterior es un acorde, la primera nota del acorde se utiliza para determinar la primera nota del siguiente acorde. Dentro de los acordes, la siguiente nota siempre está en relación a la anterior.
\relative { c' <c e g> <c' e g'> <c, e, g''> }
Como se explicó más arriba, la octava de las notas se calcula solamente a partir de sus nombres, sin tener en cuenta alteración alguna. Por tanto, un Mi doble sostenido después de un Si se escribirá más agudo, mientras que un Fa doble sostenido se escribirá más grave. En otras palabras, se considera a la cuarta doble aumentada un intervalo menor que la quinta doble disminuida, independientemente del número de semitonos de cada uno de ellos.
\relative { c''2 fis c2 ges b2 eisis b2 feses }
En situaciones complejas puede ser útil recuperar una determinada
altura, independientemente de lo que hubiera ocurrido con anterioridad.
Esto se puede hacer utilizando \resetRelativeOctave
:
\relative { << { c''2 d } \\ { e,,2 f } >> \resetRelativeOctave c'' c2 }
Véase también
Glosario musical: fifth, interval, Pitch names.
Referencia de la notación: Comprobación de octava.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: RelativeOctaveMusic.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Escritura de octava relativa ] | [ Up : Escritura de notas ] | [ Nombres de las notas en otros idiomas > ] |
Alteraciones accidentales
Nota: Las alteraciones accidentales y las armaduras son una
frecuente causa de confusión para los nuevos usuarios. En
LilyPond, los nombres de las notas especifican las alturas; la
armadura y la clave determinan de qué forma se presentan estas
alturas. Una nota sin alteración como c
significa
‘Do natural’, si que le afecten la armadura ni la clave. Para
ver más información, consulte Alturas y armaduras.
Se escribe una nota sostenida añadiendo is
al
nombre de la nota, y un bemol añadiendo es
.
Como es de esperar, un dobles sostenido y un
doble bemol se obtiene añadiendo isis
o
eses
. Esta sintaxis deriva de los nombres de las notas en
holandés. Para utilizar otros nombres para las alteraciones,
consulte Nombres de las notas en otros idiomas.
\relative c'' { ais1 aes aisis aeses }
Una nota natural se introduce como el nombre de la nota, sin más; no se necesita ningún sufijo. Se impirime un símbolo de becuadro si es necesario para cancelar el efecto de una alteración o armadura anterior.
\relative c'' { a4 aes a2 }
Se pueden escribir medios bemoles y los medios sostenidos; a continuación presentamos una serie de DOs cada vez más agudos:
\relative c'' { ceseh1 ces ceh c cih cis cisih }
Normalmente las alteraciones accidentales se imprimen
automáticamente, pero también puede imprimirlas manualmente. Un
alteración recordatoria se puede forzar añadiendo un signo de
admiración !
después de la altura de la nota. Se
puede obtener una alteración de precaución (o sea, una alteración
entre paréntesis) añadiendo el signo de
interrogación ?
después del nombre de la nota.
\relative c'' { cis cis cis! cis? c c c! c? }
Las alteraciones sobre notas unidas por ligadura sólo se imprimen al comienzo de un sistema:
\relative c'' { cis1~ 1~ \break cis }
Fragmentos de código seleccionados
Ocultar las alteraciones sobre notas ligadas al principio de un sistema nuevo
Aquí se muestra la manera de ocultar las alteraciones de las notas ligadas al comienzo de un sistema nuevo.
\relative c'' { \override Accidental.hide-tied-accidental-after-break = ##t cis1~ cis~ \break cis } \paper { tagline = ##f }
Evitar que se añadan becuadros adicionales automáticamente
Según las reglas tradicionales de composición tipográfica, se imprime
un becuadro antes de un sostenido o un bemol cuando se tiene que
cancelar un doble sostenido o un doble bemol anterior en la misma
nota. Para modificar este comportamiento a la práctica actual,
establezca el valor de la propiedad extraNatural
a ##f
(falso) dentro del contexto de Staff
.
\relative c'' { aeses4 aes ais a \set Staff.extraNatural = ##f aeses4 aes ais a }
Véase también
Glosario musical: sharp, flat, double sharp, double flat, Pitch names, quarter tone.
Manual de aprendizaje: Alturas y armaduras.
Referencia de la notación: Alteraciones accidentales automáticas, Alteraciones de anotación (musica ficta), Nombres de las notas en otros idiomas.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Accidental_engraver, Accidental, AccidentalCautionary, accidental-interface.
Advertencias y problemas conocidos
No existen estándares reconocidos ampliamente para denotar los bemoles de tres cuartos, de manera que los símbolos de LilyPond no se ajustan a ningún estándar.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Alteraciones accidentales ] | [ Up : Escritura de notas ] | [ Modificación de varias notas a la vez > ] |
Nombres de las notas en otros idiomas
Existen conjuntos predefinidos de nombres de notas y sus alteraciones para algunos idiomas aparte del inglés. La selección del idioma de los nombres de las notas se suele hacer al principio del archivo; el ejemlo siguiente está escrito utilizando los nombres italianos de las notas:
\language "italiano" \relative { do' re mi sib }
Los idiomas disponibles y los nombres de las notas que definen son los siguientes:
Idioma Nombre de las notas nederlands
c
d
e
f
g
a
bes
b
català
o
catalan
do
re
mi
fa
sol
la
sib
si
deutsch
c
d
e
f
g
a
b
h
english
c
d
e
f
g
a
bf
/b-flat
b
español
o
espanol
do
re
mi
fa
sol
la
sib
si
français
do
ré
/re
mi
fa
sol
la
sib
si
italiano
do
re
mi
fa
sol
la
sib
si
norsk
c
d
e
f
g
a
b
h
português
o
portugues
do
re
mi
fa
sol
la
sib
si
suomi
c
d
e
f
g
a
b
h
svenska
c
d
e
f
g
a
b
h
vlaams
do
re
mi
fa
sol
la
sib
si
Además de los nombres de las notas, los sufijos de las alteraciones pueden también variar dependiendo del idioma:
Idioma sostenido bemol doble sostenido doble bemol nederlands
is
es
isis
eses
català
o
catalan
d
/s
b
dd
/ss
bb
deutsch
is
es
isis
eses
english
s
/-sharp
f
/-flat
ss
/x
/-sharpsharp
ff
/-flatflat
español
o
espanol
s
b
ss
/x
bb
français
d
b
dd
/x
bb
italiano
d
b
dd
bb
norsk
iss
/is
ess
/es
ississ
/isis
essess
/eses
português
o
portugues
s
b
ss
bb
suomi
is
es
isis
eses
svenska
iss
ess
ississ
essess
vlaams
k
b
kk
bb
En holandés, aes
se contrae como as
, pero las dos
formas se aceptan en LilyPond. De forma similar, se aceptan tanto
es
como ees
. Esto se aplica también a
aeses
/ ases
y a
eeses
/ eses
. A veces se definen
solamente estos nombres contraídos en los archivos de idioma
correspondientes.
\relative c'' { a2 as e es a ases e eses }
Algunas músicas utilizan microtonos cuyas alteraciones son fracciones de un sostenido o bemol ‘normales’. La tabla siguiente relaciona los sufijos de los nombres de las notas para las alteraciones de un cuarto de tono; aquí, los prefijos semi- y sesqui- respectivamente significan ‘medio’ y ‘uno y medio’.
Idioma semi-sostenido semi-bemol sesqui-sostenido sesqui-bemol nederlands
ih
eh
isih
eseh
català
o
catalan
qd
/qs
qb
tqd
/tqs
tqb
deutsch
ih
eh
isih
eseh
english
qs
qf
tqs
tqf
español
o
espanol
cs
cb
tcs
tcb
français
sd
sb
dsd
bsb
italiano
sd
sb
dsd
bsb
norsk
ih
eh
issih
/isih
esseh
/eseh
português
o
portugues
sqt
bqt
stqt
btqt
suomi
ih
eh
isih
eseh
svenska
ih
eh
issih
esseh
vlaams
hk
hb
khk
bhb
En alemán existen contracciones similares del nombre para los microtonos como con las notas normales que se describen arriba.
\language "deutsch" \relative c'' { asah2 eh aih eisih }
Casi todos los idiomas presentados aquí están asociados comúnmente con la música clásica occidental, también conocida como Período de la práctica común. Sin embargo, también están contempladas las alturas y los sistemas de afinación alternativos: véase Notación común para músicas no occidentales.
Véase también
Glosario musical: Pitch names, Common Practice Period.
Referencia de la notación: Notación común para músicas no occidentales.
Archivos instalados: scm/define-note-names.scm.
Fragmentos de código: Pitches.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Nombres de las notas en otros idiomas ] | [ Up : Alturas ] | [ Comprobación de octava > ] |
1.1.2 Modificación de varias notas a la vez
Esta sección trata de la manera de modificar las alturas.
Comprobación de octava | ||
Transposición | ||
Inversión | ||
Retrogradación | ||
Transformaciones modales |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Modificación de varias notas a la vez ] | [ Up : Modificación de varias notas a la vez ] | [ Transposición > ] |
Comprobación de octava
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''2 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 encuentra 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.
Aunque la nota previa no se modifica, las notas posteriores están
en relación al valor corregido.
\relative { c''2 d \octaveCheck c' e2 f }
Compare los dos compases siguientes. La primera y tercera
comprobaciones de \octaveCheck
fracasan, pero la segunda es
correcta.
\relative { c''4 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.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Comprobación de octava ] | [ Up : Modificación de varias notas a la vez ] | [ Inversión > ] |
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 } }
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 } }
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 } }
\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:
- 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 (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 { } }
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).
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Transposición ] | [ Up : Modificación de varias notas a la vez ] | [ Retrogradación > ] |
Inversión
Una expresión musical se puede invertir y transportar en una sola operación con:
\inversion nota-pivote nota-destino expresión_musical
La expresión_musical
se invierte intervalo a
intervalo alrededor de nota-pivote
, y después se
transporta de manera que nota-pivote
se hace
corresponder con nota-destino
.
music = \relative { c' d e f } \new Staff { \music \inversion d' d' \music \inversion d' ees' \music }
Nota: Los motivos a invertir deberían venir expresados en modo
absoluto o convertirse previamente a la forma absoluta
encerrándolos en un bloque \relative
.
Véase también
Referencia de la notación: Transformaciones modales, Retrogradación, Transposición.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Inversión ] | [ Up : Modificación de varias notas a la vez ] | [ Transformaciones modales > ] |
Retrogradación
Se puede revertir una expresión musical para producir su retrogradación:
music = \relative { c'8. ees16( fis8. a16 b8.) gis16 f8. d16 } \new Staff { \music \retrograde \music }
Advertencias y problemas conocidos
\retrograde
es una herramienta más bien sencilla.
Puesto que muchos eventos se invierten como en un espejo
en lugar de intercambiarse, los trucajes y los modificadores direccionales
tienen que añadirse en los elementos de cierre correspondientes:
^(
debe terminar con ^)
, todos y cada uno de los
\<
o \cresc
han de terminar en \!
o en
\endcr
, y todo \>
o \decr
debe terminar en
\enddecr
. Las instrucciones o sobreescrituras que cambien propiedades
y que tengan un efecto duradero, probablemente produzcan sorpresas.
Véase también
Referencia de la notación: Inversión, Transformaciones modales, Transposición.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Retrogradación ] | [ Up : Modificación de varias notas a la vez ] | [ Imprimir las alturas > ] |
Transformaciones modales
En una composición musical que está basada en una escala, con frecuencia se transforman los motivos de diversas formas. Un motivo se puede transportar para que comience en distintos lugares de la escala o puede invertirse alrededor de una nota pivote de la escala. También se puede revertir para producir una retrogradación, véase Retrogradación.
Nota: Cualquier nota que no entre en la escada dada, se dejará sin transformar.
Transposición modal
Se puede transportar un motivo dentro de una escala dada con:
\modalTranspose nota-origen nota-destino escala motivo
Las notas del motivo se desplazan dentro de la escala el número de grados de la escala dados por el intervalo entre nota-destino y nota-origen:
diatonicScale = \relative { c' d e f g a b } motif = \relative { c'8 d e f g a b c } \new Staff { \motif \modalTranspose c f \diatonicScale \motif \modalTranspose c b, \diatonicScale \motif }
Se pueden especificar escalas ascendentes de cualquier longitud y con cualesquiera intervalos:
pentatonicScale = \relative { ges aes bes des ees } motif = \relative { ees'8 des ges,4 <ges' bes,> <ges bes,> } \new Staff { \motif \modalTranspose ges ees' \pentatonicScale \motif }
Cuando se utiliza con una escala cromática, \modalTranspose
tiene un efecto similar a \transpose
, pero con la
posibilidad de especificar los nombres de las notas que se quieren
usar:
chromaticScale = \relative { c' cis d dis e f fis g gis a ais b } motif = \relative { c'8 d e f g a b c } \new Staff { \motif \transpose c f \motif \modalTranspose c f \chromaticScale \motif }
Inversión modal
Se puede invertir un motivo dentro de una escala dada alrededor de una nota pivote dada y transportada al mismo tiempo en una única operación, con:
\modalInversion nota-pivote nota-destino escala motivo
Las notas del motivo se colocan al mismo número de grados de distancia de la escala a partir de la nota-pivote dentro de la escala, pero en la dirección opuestoa, y el resultado se desplaza después dentro de la escala el número de grados de la escala dados por el intervalo entre la nota-destino y la nota-pivote.
Así pues, para invertir sencillamente alrededor de una nota de la escala, utilice el mismo valor para nota-pivote y nota-destino:
octatonicScale = \relative { ees' f fis gis a b c d } motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 } \new Staff { \motif \modalInversion fis' fis' \octatonicScale \motif }
Para invertir alrededor de una nota pivote entre dos notas de la escala, invierta alrededor de una de las notas y después transporte en un grado de la escala. Las dos notas especificadas se pueden interpretar como que horquillan entre ellas a la nota pivote:
scale = \relative { c' g' } motive = \relative { c' c g' c, } \new Staff { \motive \modalInversion c' g' \scale \motive }
La operación combinada de inversión y retrogradación produce la inversión retrógrada:
octatonicScale = \relative { ees' f fis gis a b c d } motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 } \new Staff { \motif \retrograde \modalInversion c' c' \octatonicScale \motif }
Véase también
Referencia de la notación: Inversión, Retrogradación, Transposición.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Transformaciones modales ] | [ Up : Alturas ] | [ Clave > ] |
1.1.3 Imprimir las alturas
Esta sección trata de cómo alterar la presentación de la altura de las notas.
Clave | ||
Armadura de la tonalidad | ||
Corchetes de octava | ||
Transposición de los instrumentos | ||
Alteraciones accidentales automáticas | ||
Tesitura |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Imprimir las alturas ] | [ Up : Imprimir las alturas ] | [ Armadura de la tonalidad > ] |
Clave
Sin ninugna instrucción explícita, la clave predeterminada en LilyPond es la clave “treble” (o clave de Sol).
c'2 c'
Sin embargo, se puede cambiar la clave usando la instrucción
\clef
y el nombre de la clave correspondiente. En los
siguientes ejemplos se muestra la posición del Do central
en distintas claves.
\clef treble c'2 c' \clef alto c'2 c' \clef tenor c'2 c' \clef bass c'2 c'
Para ver el repertorio completo de los posibles nombes para las cllaves, consulte Estilos de clave.
Las claves especiales como las utilizadas en la música antigua, se describen en Claves de la música mensural y en Claves de canto gregoriano. La música que requiere claves de tablatura se estudia en Tablaturas predeterminadas y en Tablaturas personalizadas.
Para emplear claves en las notas guía, véanse las instrucciones
\cueClef
y \cueDuringWithClef
en
Formateo de las notas guía.
Al añadir _8
o ^8
al nombre de la clave, la clave se
transpone una octava hacia abajo o hacia arriba, respectivamente,
y _15
y ^15
la transpone dos octavas. Si es
necesario se pueden usar otros números enteros. El argumento
nombre_de_clave se debe encerrar entre comillas si contiene
caracteres no alfabéticos:
\clef treble c'2 c' \clef "treble_8" c'2 c' \clef "bass^15" c'2 c' \clef "alto_2" c'2 c' \clef "G_8" c'2 c' \clef "F^5" c'2 c'
Se puede obtener una indicación de octavación opcional encerrando el argumento numérico entre paréntesis o corchetes rectos:
\clef "treble_(8)" c'2 c' \clef "bass^[15]" c'2 c'
Las alturas se imprimen como si el argumento numérico no tuviera los paréntesis o corchetes.
De forma predeterminada, un cambio de clave que se produce en un salto de línea provoca que el símbolo de clave nuevo se imprima al final de la línea anterior, como una clave de cortesía, así como al principio del siguiente. Esta clave de cortesía se puede suprimir.
\clef treble { c'2 c' } \break \clef bass { c'2 c' } \break \clef alto \set Staff.explicitClefVisibility = #end-of-line-invisible { c'2 c' } \break \unset Staff.explicitClefVisibility \clef bass { c'2 c' } \break
De forma predeterminada, una clave que se ha impreso previamente
no se vuelve a imprimir si se emplea de nuevo la misma instrucción
\clef
, y se ignora. La instrucción \set
Staff.forceClef = ##t
modifica este comportamiento.
\clef treble c'1 \clef treble c'1 \set Staff.forceClef = ##t c'1 \clef treble c'1
Para ser más exactos, no es la propia instrucción
\clef
la que imprime una clave. Más bien, fija o cambia
una propiedad del grabador de clave Clef_engraver
, que a continuación
decide por sí mismo si imprimir o no una clave en el pentagrama actual.
La propiedad forceClef
sobreescribe esta decisión localmente
para reimprimir la clave una vez más.
Cuando hay un cambio de clave manual, el glifo de la clave modificada es pás pequeño de lo normal. Se puede sobreescribir este comportamiento.
\clef "treble" c'1 \clef "bass" c'1 \clef "treble" c'1 \override Staff.Clef.full-size-change = ##t \clef "bass" c'1 \clef "treble" c'1 \revert Staff.Clef.full-size-change \clef "bass" c'1 \clef "treble" c'1
Fragmentos de código seleccionados
Trucaje de las propiedades de clave
La modificación del glifo de la clave, su posición o su octavación, no
cambian ’per se’ la posición de las siguientes notas del pentagrama.
Para conseguir armaduras de tonalidad sobre las líneas del pentagrama
adecuadas, también debe especificarse middleCClefPosition
, con
valores positivos o negativos que mueven el Do central
hacia
arriba o hacia abajo, respectivamente, en relación con la línea
central del pentagrama (usualmente la tercera).
Por ejemplo, la instrucción \clef "treble_8"
equivale a un
ajuste de clefGlyph
, clefPosition
(que controla la
posición vertical de la clave sobre el pentagrama),
middleCPosition
y clefTransposition
. Se imprime una
clave cada vez que se modifica cualquiera de las propiedades excepto
middleCPosition
.
Los siguientes ejemplos muestran las posibilidades cuando se ajustan estas propiedades manualmente. En la primera línea, los cambios manuales preservan el posicionamiento relativo estándar de las claves y las notas, pero no lo hacen en la segunda línea.
{ % The default treble clef \key f \major c'1 % The standard bass clef \set Staff.clefGlyph = "clefs.F" \set Staff.clefPosition = 2 \set Staff.middleCPosition = 6 \set Staff.middleCClefPosition = 6 \key g \major c'1 % The baritone clef \set Staff.clefGlyph = "clefs.C" \set Staff.clefPosition = 4 \set Staff.middleCPosition = 4 \set Staff.middleCClefPosition = 4 \key f \major c'1 % The standard choral tenor clef \set Staff.clefGlyph = "clefs.G" \set Staff.clefPosition = -2 \set Staff.clefTransposition = -7 \set Staff.middleCPosition = 1 \set Staff.middleCClefPosition = 1 \key f \major c'1 % A non-standard clef \set Staff.clefPosition = 0 \set Staff.clefTransposition = 0 \set Staff.middleCPosition = -4 \set Staff.middleCClefPosition = -4 \key g \major c'1 \break % The following clef changes do not preserve % the normal relationship between notes, key signatures % and clefs: \set Staff.clefGlyph = "clefs.F" \set Staff.clefPosition = 2 c'1 \set Staff.clefGlyph = "clefs.G" c'1 \set Staff.clefGlyph = "clefs.C" c'1 \set Staff.clefTransposition = 7 c'1 \set Staff.clefTransposition = 0 \set Staff.clefPosition = 0 c'1 % Return to the normal clef: \set Staff.middleCPosition = 0 c'1 } \paper { tagline = ##f }
Véase también
Referencia de la notación: Claves de la música mensural, Claves de canto gregoriano, Tablaturas predeterminadas, Tablaturas personalizadas, Formateo de las notas guía.
Archivos instalados: scm/parser-clef.scm.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Clef_engraver, Clef, ClefModifier, clef-interface.
Advertencias y problemas conocidos
Los números de octavación adjuntos a las claves se tratan como
grobs distintos. Así pues, cualquier \override
(sobreescritura) efectuada al objeto Clef deberá aplicarse
también al grob ClefModifier como un \override
diferente.
\new Staff \with { \override Clef.color = #blue \override ClefModifier.color = #red } \clef "treble_8" c'4
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Clave ] | [ Up : Imprimir las alturas ] | [ Corchetes de octava > ] |
Armadura de la tonalidad
Nota: Las alteraciones accidentales y las armaduras son una
frecuente causa de confusión para los nuevos usuarios. En
LilyPond, los nombres de las notas son el código de entrada en
bruto; la armadura y la clave determinan de qué forma se presenta
este código en bruto. Una nota sin alteración como c
significa ‘Do natural’, si que le afecten la armadura ni la
clave. Para ver más información, consulte Alturas y
armaduras.
La armadura indica la tonalidad en que se toca una pieza. Está
denotada por un conjunto de alteraciones (bemoles o sostenidos) al
comienzo del pentagrama. El establecimiento o modificación de la
armadura se hace con la instrucción \key
:
\key nota modo
Aquí, modo
debe ser \major
o \minor
para obtener la tonalidad nota
mayor o
nota
menor, respectivamente. También puede usar los
nombres estándar de modo (también conocidos como modos
eclesiásticos): \ionian
(jónico), \dorian
(dórico),
\phrygian
(frigio), \lydian
(lidio),
\mixolydian
(mixolidio), \aeolian
(eolio) y
\locrian
(locrio).
\relative { \key g \major fis''1 f fis }
Se pueden definir modos adicionales, escribiendo una lista con la alteración que lleva cada nota de la escala cuando el modo comienza en Do.
freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL) (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT)) \relative { \key c \freygish c'4 des e f \bar "||" \key d \freygish d es fis g }
Las alteraciones de la armadura de tonalidad se pueden imprimir en
distinta octava que en sus posiciones tradicionales, o en más de
una octava, usando las propiedades flat-positions
y
sharp-positions
de KeySignature
. Las entradas en
estas propiedades especifican el rango de posiciones de pentagrama
en que se imprimirán las alteraciones. Si en una entrada se
especifica una sola posición, las alteraciones se colocan dentro
de la octava que termina en dicha posición del pentagrama.
\override Staff.KeySignature.flat-positions = #'((-5 . 5)) \override Staff.KeyCancellation.flat-positions = #'((-5 . 5)) \clef bass \key es \major es g bes d' \clef treble \bar "||" \key es \major es' g' bes' d'' \override Staff.KeySignature.sharp-positions = #'(2) \bar "||" \key b \major b' fis' b'2
Fragmentos de código seleccionados
Evitar que se impriman becuadros cuando cambia la armadura
Cuando cambia la armadura de la tonalidad, se imprimen becuadros
automáticamente para cancelar las alteraciones de las armaduras
anteriores. Esto se puede evitar estableciendo al valor “falso” la
propiedad printKeyCancellation
del contexto Staff
.
\relative c' { \key d \major a4 b cis d \key g \minor a4 bes c d \set Staff.printKeyCancellation = ##f \key d \major a4 b cis d \key g \minor a4 bes c d }
Armaduras de tonalidad no tradicionales
La muy utilizada instrucción \key
establece la propiedad
keyAlterations
dentro del contexto Staff
. Para crear
armaduras de tonalidad no estándar, ajuste esta propiedad
directamente.
El formato de esta instrucción es una lista:
\set Staff.keyAlterations = #`(((octava . paso) . alteración)
((octava . paso) . alteración) ...)
donde, para cada elemento dentro de la lista, octava
especifica
la octava (siendo cero la octava desde el Do central hasta
el Si por encima), paso
especifica la nota dentro de la octava
(cero significa Do y 6 significa Si), y
alteración
es ,SHARP ,FLAT ,DOUBLE-SHARP
etc.
De forma alternativa, el uso del formato más conciso (paso
. alteración)
para cada elemento de la lista especifica que la misma
alteración debe estar en todas las octavas. Para escalas microtonales
en las que un “sostenido” no son 100 cents, alteración
se
refiere a la proporción de un tono entero de 200 cents.
\include "arabic.ly" \relative do' { \set Staff.keyAlterations = #`((0 . ,SEMI-FLAT) (1 . ,SEMI-FLAT) (2 . ,FLAT) (5 . ,FLAT) (6 . ,SEMI-FLAT)) %\set Staff.extraNatural = ##f re reb \dwn reb resd dod dob dosd \dwn dob | dobsb dodsd do do | }
Véase también
Glosario musical: church mode, scordatura.
Manual de aprendizaje: Alturas y armaduras.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: KeyChangeEvent, Key_engraver, Key_performer, KeyCancellation, KeySignature, key-signature-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Armadura de la tonalidad ] | [ Up : Imprimir las alturas ] | [ Transposición de los instrumentos > ] |
Corchetes de octava
Los corchetes de Ottava introducen un trasporte adicional de una octava para el pentagrama.
\relative c'' { a2 b \ottava #-2 a2 b \ottava #-1 a2 b \ottava #0 a2 b \ottava #1 a2 b \ottava #2 a2 b }
De forma predeterminada, solo se imprime un número al comienzo del corchete. Este ajuste se puede modificar para que incluya un ordinal abreviado, ya sea como superíndice o en letras de tipo normal (este último estilo se usaba anteriormente por defecto); la tipografía predeterminada en negrita de estos caracteres se puede también alterar, como se explica en Seleccionar la tipografía y su tamaño.
El ejemplo siguiente muestra diversas opciones, así como la forma de volver al comportamiento predeterminado actualmente:
\relative c'' { \ottava #1 a'2 b \ottava #2 a'2 b \bar "||" \set Staff.ottavationMarkups = #ottavation-ordinals \ottava #1 a,2 b \ottava #2 a'2 b \bar "||" \override Staff.OttavaBracket.font-series = #'normal \set Staff.ottavationMarkups = #ottavation-simple-ordinals \ottava #1 a,2 b \ottava #2 a'2 b \bar "||" \revert Staff.OttavaBracket.font-series \set Staff.ottavationMarkups = #ottavation-numbers \ottava #1 a,2 b \ottava #2 a'2 b }
Fragmentos de código seleccionados
Changing ottava text
Internally, \ottava
sets the properties ottavation
(for
example, to 8va
or 8vb
) and middleCPosition
. To
override the text of the bracket, set ottavation
after invoking
\ottava
.
Short text is especially useful when a brief ottava is used.
{ c'2 \ottava 1 \set Staff.ottavation = "8" c''2 \ottava 0 c'1 \ottava 1 \set Staff.ottavation = "Text" c''1 }
Añadir una indicación de octava alta a una sola voz
Si tiene más de una voz en el mismo pentagrama, el cambio de octavación de una voz transportará la posición de las notas en todas las voces mientras dure el corchete de octava. Si la octavación se quiere aplicar a una voz solamente, se deben ajustar explícitamente la middleCPosition y el corchete de octava. En este fragmento de código, el valor de middleCPosition para la clave de Fa es normalmente 6, seis posiciones por encima de la línea del Do central, de manera que en la porción de 8va el valor de middleCPosition es aún 7 posiciones (una octava) más alta.
\layout { \context { \Staff \remove Ottava_spanner_engraver } \context { \Voice \consists Ottava_spanner_engraver } } { \clef bass << { <g d'>1~ q2 <c' e'> } \\ { r2. \ottava -1 <b,,, b,,>4 ~ | q2 \ottava 0 <c e>2 } >> }
Modifying the Ottava spanner slope
It is possible to change the slope of the Ottava spanner.
\relative c'' { \override Staff.OttavaBracket.stencil = #ly:line-spanner::print \override Staff.OttavaBracket.bound-details = #`((left . ((Y . 0) (attach-dir . ,LEFT) (padding . 0) (stencil-align-dir-y . ,CENTER))) (right . ((Y . 5.0) ; Change the number here (padding . 0) (attach-dir . ,RIGHT) (text . ,(make-draw-dashed-line-markup (cons 0 -1.2)))))) \override Staff.OttavaBracket.left-bound-info = #ly:horizontal-line-spanner::calc-left-bound-info-and-text \override Staff.OttavaBracket.right-bound-info = #ly:horizontal-line-spanner::calc-right-bound-info \ottava 1 c1 c'''1 }
Véase también
Glosario musical: octavation.
Referencia de la notación: Seleccionar la tipografía y su tamaño.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Corchetes de octava ] | [ Up : Imprimir las alturas ] | [ Alteraciones accidentales automáticas > ] |
Transposición de los instrumentos
Al tipografiar partituras donde participan instrumentos transpositores, ciertas partes se pueden tipografiar en un tono distinto del tono de concierto. En estos casos, se debe especificar la tonalidad del instrumento transpositor; de otro modo, la salida MIDI y las notas guía en otras partes producirían alturas incorrectas. Para ver más información sobre partes citadas como guía, consulte Citar otras voces.
\transposition pitch
El tono usado para \transposition
debe corresponderse con
el sonido real que se oye cuando el instrumento transpositor
interpreta un Do central c'
escrito en el pentagrama. Esta
nota se escribe en altura absoluta, por tanto un instrumento que
produce un sonido real un tono más agudo que la música impresa (un
instrumento en Re) debe usar \transposition d'
. La
instrucción \transposition
se debe usar solamente si
las notas no se van a escribir en afinación de concierto.
A continuación pueden verse algunas notas para violín y para clarinete en Si bemol, donde las partes se han introducido usando las notas y la armadura tal y como aparecen en la partitura del director. Lo que tocan los dos instrumentos está sonando al unísono.
\new GrandStaff << \new Staff = "violin" \with { instrumentName = "Vln" midiInstrument = "violin" } \relative c'' { % not strictly necessary, but a good reminder \transposition c' \key c \major g4( c8) r c r c4 } \new Staff = "clarinet" \with { instrumentName = \markup { Cl (B\flat) } midiInstrument = "clarinet" } \relative c'' { \transposition bes \key d \major a4( d8) r d r d4 } >>
La \transposition
se puede cambiar durante la pieza. Por
ejemplo, un clarinetista puede cambiar del clarinete en La al
clarinete en Si bemol.
flute = \relative c'' { \key f \major \cueDuring "clarinet" #DOWN { R1 _\markup\tiny "clarinet" c4 f e d R1 _\markup\tiny "clarinet" } } clarinet = \relative c'' { \key aes \major \transposition a aes4 bes c des R1^\markup { muta in B\flat } \key g \major \transposition bes d2 g, } \addQuote "clarinet" \clarinet << \new Staff \with { instrumentName = "Flute" } \flute \new Staff \with { instrumentName = "Cl (A)" } \clarinet >>
Véase también
Glosario musical: concert pitch, transposing instrument.
Referencia de la notación: Citar otras voces, Transposición.
Fragmentos de código: Pitches.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Transposición de los instrumentos ] | [ Up : Imprimir las alturas ] | [ Tesitura > ] |
Alteraciones accidentales automáticas
Existen muchas convenciones distintas sobre la forma de tipografiar las alteraciones. LilyPond proporciona una función para especificar qué estilo de alteraciones usar. Esta función se invoca como sigue:
\new Staff << \accidentalStyle voice { … } >>
El estilo de alteraciones se aplica al Staff
en curso de
forma predeterminada (con la excepción de los estilos piano
y piano-cautionary
, que se explican más adelante).
Opcionalmente, la función puede tomar un segundo argumento que
determina en qué ámbito se debe cambiar el estilo. Por ejemplo,
para usar el mismo estilo en todos los pentagramas del
StaffGroup
en curso, use
\accidentalStyle StaffGroup.voice
Están contemplados los siguientes estilos de alteración. Para dar una muestra de cada uno de los estilos, utilizamos el ejemplo siguiente:
musicA = { << \relative { cis''8 fis, bes4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\ \relative { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative { <fis a cis>8[ <fis a cis> \change Staff = up cis' cis \change Staff = down <fis, a> <fis a>] \showStaffSwitch \change Staff = up dis'4 | \change Staff = down <fis, a cis>4 gis <f a d>2 | } } } \new PianoStaff { << \new Staff = "up" { \accidentalStyle default \musicA } \new Staff = "down" { \accidentalStyle default \musicB } >> }
Observe que las últimas líneas de este ejemplo se pueden sustituir por las siguientes, siempre y cuando queramos usar el mismo estilo en los dos pentagramas.
\new PianoStaff { << \new Staff = "up" { %%% cambie la línea siguiente como desee: \accidentalStyle Score.default \musicA } \new Staff = "down" { \musicB } >> }
default (predeterminado)
-
Es el comportamiento de composición tipográfica predeterminado. Corresponde a la práctica común del s. XVIII: las alteraciones accidentales se recuerdan hasta el final del compás en el que aparecen y sólo en la misma octava. Así, en el ejemplo siguiente, no se imprimen becuadros antes del Si natural en el segundo compás ni en el último Do:
voice (voz)
-
El comportamiento normal es recordar las alteraciones accidentales al nivel de
Staff
. En este estilo, sin embargo, se tipografían las alteraciones individualmente para cada voz. Aparte de esto, la regla es similar adefault
.Como resultado, las alteraciones de una voz no se cancelan en las otras voces, lo que con frecuencia lleva a un resultado no deseado: en el ejemplo siguiente, es difícil determinar si el segundo La se debe tocar natural o sostenido. Por tanto, la opción
voice
se debe usar sólo si las voces se van a leer individualmente por músicos distintos. Si el pentagrama va a utilizarse por parte de un solo músico (p.ej., un director, o en una partitura de piano), entonces se deben usar en su lugar los estilosmodern
omodern-cautionary
. modern (moderno)
-
Esta regla corresponde a la práctica común del s. XX. Omite algunos becuadros adicionales, que tradicionalmente se imprimían precediendo a un sostenido que sigue a un doble sostenido, o a un bemol que sigue a un doble bemol. La regla
modern
imprime las mismas alteraciones que el estilodefault
, con dos adiciones que sirven para evitar la ambigüedad: después de alteraciones temporales se imprimen indicaciones de cancelación también en el compás siguiente (para notas en la misma octava) y, en el mismo compás, para notas en octavas distintas. De aquí los becuadros antes del Si natural y del Do en el segundo compás del pentagrama superior: modern-cautionary (moderno de precaución)
-
Esta regla es similar a
modern
, pero las alteraciones ‘añadidas’ se imprimen como alteraciones de precaución (entre paréntesis). También se pueden imprimir en un tamaño distinto sobreescribiendo la propiedadfont-size
del objetoAccidentalCautionary
. modern-voice (moderno, para voces)
-
Esta regla se usa para que puedan leer las alteraciones en varias voces, tanto músicos que tocan una voz como músicos que tocan todas las voces. Se imprimen las alteraciones para cada voz, pero se cancelan entre voces dentro del mismo
Staff
. Por tanto, el La en el último compás se cancela porque la cancelación anterior estaba en una voz distinta, y el Re en el pentagrama inferior se cancela a causa de la alteración en otra voz en el compás previo: modern-voice-cautionary (moderno, voz, de precaución)
-
Esta regla es la misma que
modern-voice
, pero con las alteraciones añadidas (las que el estilovoice
no imprime) compuestas como de precaución. Incluso aunque todas las alteraciones impresas por el estilodefault
son impresas con esta regla, algunas de ellas se tipografían como de precaución. piano
-
Esta regla refleja la práctica del s.XX para la notación de piano. Su comportamiento es muy similar al estilo
modern
, pero aquí las alteraciones también se cancelan entre distintos pentagramas del mismo grupoGrandStaff
oPianoStaff
, de ahí todas las cancelaciones de las últimas notas.Este estilo de alteración se aplica de manera predeterminada al grupo
GrandStaff
oPianoStaff
en curso. piano-cautionary (piano, de precaución)
-
Igual que
\accidentalStyle piano
pero con las alteraciones añadidas compuestas como de precaución. choral
-
Esta regla es una combinación de los estilos
modern-voice
ypiano
. Muestra todas las alteraciones accidentales requeridas para los cantantes que siguen solo su propia voz, así como las alteraciones adicionales necesarias para los lectores que siguen simultáneamente todas las voces de unChoirStaff
completo.Este estilo de alteraciones se aplica de forma predeterminada al contexto
ChoirStaff
actual. choral-cautionary
-
Es lo mismo que
choral
pero con las alteraciones adicionales impresas como de precaución (o cortesía). neo-modern
-
Esta regla reproduce una práctica común en la música contemporánea: las alteraciones accidentales se imprimen como en
modern
, pero se vuelven a imprimir si aparece la misma nota otra vez en el mismo compás (excepto si la nota se repite inmediatamente). neo-modern-cautionary
-
Esta regla es similar a
neo-modern
, pero las alteraciones ‘adicionales’ se imprimen como alteraciones de precaución (con paréntesis). También se pueden imprimir en un tamaño distinto sobreescribiendo la propiedadfont-size
del objetoAccidentalCautionary
. neo-modern-voice
-
Esta regla se usa para alteraciones accidentales sobre varias voces que se han de leer por parte de músicos que tocan una voz, así como por músicos que tocan todas las voces. Las alteraciones se imprimen para cada voz como con
neo-modern
, pero se cancelan para otras voces que están en el mismo pentagramaStaff
. neo-modern-voice-cautionary
-
Esta regla es similar a
neo-modern-voice
, pero las alteraciones adicionales se imprimen como alteraciones de precaución. dodecaphonic
-
Esta regla refleja una práctica introducida por los compositores de principios del s.XX, en un intento de abolir la jerarquía entre notas naturales y alteradas. Con este estilo, todas las notas llevan alteración, incluso becuadros.
dodecaphonic-no-repeat
-
Como con el estilo de alteraciones dodecafónico todas las notas llevan una alteración de forma predeterminada, pero las alteriaciones se suprimen cuando hay notas repetidas inmediatamente en el mismo pentagrama.
dodecaphonic-first
-
Similar al estilo de alteraciones dodecafónico, todas las notas llevan una alteración, pero solo la primera vez que se encuentran en el compás. Las alteraciones se recuerdan solamente para la octava actual pero a través de las voces.
teaching (enseñanza)
-
Esta regla está pensada para estudiantes, y hace más sencillo crear hojas de escalas con alteraciones de precaución creadas automáticamente. Las alteraciones se imprimen como en el estilo
modern
, pero se añaden alteraciones de precaución para todas las notas sostenidas o bemoles especificadas por la armadura, excepto si la nota se repite inmediatamente. no-reset (no restablecer)
-
Es el mismo que
default
pero con alteraciones que duran ‘para siempre’ y no sólo dentro del mismo compás: forget (olvidar)
-
Es lo opuesto a
no-reset
: Las alteraciones no se recuerdan en absoluto: de aquí que todas las alteraciones se compongan tipográficamente en relación a la armadura de la tonalidad, sin que estén afectadas por lo que viene antes.
Véase también
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Accidental, Accidental_engraver, GrandStaff, PianoStaff, Staff, AccidentalSuggestion, AccidentalPlacement, accidental-suggestion-interface.
Advertencias y problemas conocidos
Las notas simultáneas no se tienen en cuenta para la determinación
automática de las alteraciones accidentales; sólo se consideran
las notas anteriores y la armadura de la tonalidad. Puede ser
necesario forzar las alteraciones accidentales con
with !
o ?
cuando la misma nota, con el
mismo nombre, ocurre simultáneamente con distintas alteraciones,
como en ‘<f! fis!>’.
La cancelación de precaución de alteraciones se hace mirando el
compás previo. Sin embargo, en el bloque \alternative
que
sigue a una sección de repetición de primera y segunda vez
\repeat volta N
, se esperaría que la cancelación se
calculase utilizando el compás previo que se ha tocado, no
el compás previo que se ha impreso. En el ejemplo
siguiente, el Do natural de la casilla de segunda vez no necesita
becuadro:
Se puede usar el siguiente rodeo del problema: definir una función
que cambie localmente el estilo de alteraciones a forget
:
forget = #(define-music-function (music) (ly:music?) #{ \accidentalStyle forget #music \accidentalStyle modern #}) { \accidentalStyle modern \time 2/4 \repeat volta 2 { c'2 } \alternative { cis' \forget c' } }
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Alteraciones accidentales automáticas ] | [ Up : Imprimir las alturas ] | [ Cabeza de las notas > ] |
Tesitura
El término ambitus o ámbito, denota el rango de notas que abarca una voz dada en una parte musical. También puede denotar el margen de notas que es capaz de tocar un determinado instrumento musical. Los ámbitos se imprimen en las partes vocales de tal manera que los intérpretes puedan determinar con facilidad si cumplen con sus propias posibilidades.
Los ámbitos se presentan al comienzo de la pieza junto a la clave inicial. El rango se especifica gráficamente mediante dos cabezas de nota que representan a las notas inferior y superior. Sólo se imprimen alteraciones si no forman parte de la armadura de la tonalidad.
\layout { \context { \Voice \consists Ambitus_engraver } } \relative { aes' c e2 cis,1 }
Fragmentos de código seleccionados
Añadir un ámbito por voz
Se puede añadir un ámbito por cada voz. En este caso, el ámbito se debe desplazar manualmente para evitar colisiones.
\new Staff << \new Voice \with { \consists "Ambitus_engraver" } \relative c'' { \override Ambitus.X-offset = 2.0 \voiceOne c4 a d e f1 } \new Voice \with { \consists "Ambitus_engraver" } \relative c' { \voiceTwo es4 f g as b1 } >>
Ámbitos con varias voces
La adición del grabador Ambitus_engraver
al contexto de
Staff
crea un solo ámbito por pentagrama, incluso en el caso de
pentagramas con varias voces.
\new Staff \with { \consists "Ambitus_engraver" } << \new Voice \relative c'' { \voiceOne c4 a d e f1 } \new Voice \relative c' { \voiceTwo es4 f g as b1 } >>
Modificación de la separación en las indicaciones de tesitura
Es posible ajustar la separación predeterminada entre las notas de la indicación de tesitura y la línea que las une.
\layout { \context { \Voice \consists "Ambitus_engraver" } } \new Staff { \time 2/4 % Default setting c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = 0 c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = 1 c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = 1.5 c'4 g'' } \paper { tagline = ##f }
Véase también
Glosario musical: ambitus.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Ambitus_engraver, Voice, Staff, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ambitus-interface.
Advertencias y problemas conocidos
No se efectúa un tratamiento de las posibles colisiones en caso de varias indicaciones de ámbito simultáneas en distintas voces.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Tesitura ] | [ Up : Alturas ] | [ Cabezas de nota especiales > ] |
1.1.4 Cabeza de las notas
Esta sección propone formas de alterar las cabezas de las figuras.
Cabezas de nota especiales | ||
Cabezas de notas de Notación Fácil | ||
Cabezas de notas con formas diversas | ||
Improvisación |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Cabeza de las notas ] | [ Up : Cabeza de las notas ] | [ Cabezas de notas de Notación Fácil > ] |
Cabezas de nota especiales
Se puede modificar la apariencia de la cabeza de las notas:
\relative c'' { c4 b \override NoteHead.style = #'cross c4 b \revert NoteHead.style a b \override NoteHead.style = #'harmonic a b \revert NoteHead.style c4 d e f }
Para ver todos los estilos de cabeza de las notas, consulte Estilos de cabezas de nota.
El estilo cross
(aspas) se usa para representar una amplia
variedad de intenciones musicales. Las siguientes instrucciones
genéricas predefinidas modifican la forma de la cabeza de las
figuras tanto en el contexto de pentagrama normal como en el de
tablatura, y se pueden usar para representar cualquier significado
musical:
\relative { c''4 b \xNotesOn a b c4 b \xNotesOff c4 d }
La forma de función musical de esta instrucción predefinida se puede usar dentro y fuera de los acordes para generar cabezas de nota en aspa, tanto en el contexto de pentagrama normal como en el de tablatura:
\relative { c''4 b \xNote { e f } c b < g \xNote c f > b }
Como sinónimos de \xNote
, \xNotesOn
y
\xNotesOff
, se pueden usar \deadNote
,
\deadNotesOn
y \deadNotesOff
. El término
dead note (nota muerta) se utiliza corrientemente por
parte de los guitarristas.
También existe una abreviatura similar para las formas en rombo:
\relative c'' { <c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic }
Instrucciones predefinidas
\harmonic
,
\xNotesOn
,
\xNotesOff
,
\xNote
.
Véase también
Fragmentos de código: Pitches.
Referencia de la notación: Estilos de cabezas de nota, Notas en acorde, Indicar armónicos y notas tapadas.
Referencia de funcionamiento interno: note-event, Note_heads_engraver, Ledger_line_engraver, NoteHead, LedgerLineSpanner, note-head-interface, ledger-line-spanner-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Cabezas de nota especiales ] | [ Up : Cabeza de las notas ] | [ Cabezas de notas con formas diversas > ] |
Cabezas de notas de Notación Fácil
Las notas con cabeza de ‘notación facilitada’ tienen el nombre de la nota (en inglés) dentro de la cabeza. Se usan en la música para principiantes. Para que las letras sean legibles, se deben imprimir en un tamaño grande de fuente tipográfica. Para imprimir con una fuente más grande, véase Establecer el tamaño del pentagrama.
#(set-global-staff-size 26) \relative c' { \easyHeadsOn c2 e4 f g1 \easyHeadsOff c,1 }
Instrucciones predefinidas
\easyHeadsOn
,
\easyHeadsOff
.
Fragmentos de código seleccionados
Números como notas de notación fácil
Las cabezas de nota de notación fácil utilizan la propiedad
note-names
del objeto NoteHead
para determinar lo que
aparece dentro de la cabeza. Mediante la sobreescritura de esta
propiedad, es posible imprimir números que representen el grado de la
escala.
Se puede crear un grabador simple que haga esto para la cabeza de cada nota que ve.
#(define Ez_numbers_engraver (make-engraver (acknowledgers ((note-head-interface engraver grob source-engraver) (let* ((context (ly:translator-context engraver)) (tonic-pitch (ly:context-property context 'tonic)) (tonic-name (ly:pitch-notename tonic-pitch)) (grob-pitch (ly:event-property (event-cause grob) 'pitch)) (grob-name (ly:pitch-notename grob-pitch)) (delta (modulo (- grob-name tonic-name) 7)) (note-names (make-vector 7 (number->string (1+ delta))))) (ly:grob-set-property! grob 'note-names note-names)))))) #(set-global-staff-size 26) \paper { tagline = ##f } \layout { ragged-right = ##t \context { \Voice \consists \Ez_numbers_engraver } } \relative c' { \easyHeadsOn c4 d e f g4 a b c \break \key a \major a,4 b cis d e4 fis gis a \break \key d \dorian d,4 e f g a4 b c d }
Véase también
Referencia de la notación: Establecer el tamaño del pentagrama.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: note-event, Note_heads_engraver, NoteHead, note-head-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Cabezas de notas de Notación Fácil ] | [ Up : Cabeza de las notas ] | [ Improvisación > ] |
Cabezas de notas con formas diversas
En la notación de cabezas con forma, la forma de la cabeza corresponde a la función armónica de una nota dentro de la escala. Esta notación se hizo popular en los libros americanos de canciones durante el s.XIX. Las cabezas de nota con formas se pueden producir en los estilos ‘Sacred Harp’, ‘Southern Harmony’, Funk (Harmonia Sacra), Walker y Aiken ‘(Christian Harmony)’:
\relative c'' { \aikenHeads c, d e f g2 a b1 c \break \aikenThinHeads c,4 d e f g2 a b1 c \break \sacredHarpHeads c,4 d e f g2 a b1 c \break \southernHarmonyHeads c,4 d e f g2 a b1 c \break \funkHeads c,4 d e f g2 a b1 c \break \walkerHeads c,4 d e f g2 a b1 c \break }
Las formas se determinan en función del grado de la escala, donde
la tónica está determinada por la instrucción \key
Cuando
se escribe en un tono menor, la nota de la escala se puede
determinar a partir del relativo mayor:
\relative c'' { \key a \minor \aikenHeads a b c d e2 f g1 a \break \aikenHeadsMinor a,4 b c d e2 f g1 a \break \aikenThinHeadsMinor a,4 b c d e2 f g1 a \break \sacredHarpHeadsMinor a,2 b c d \break \southernHarmonyHeadsMinor a2 b c d \break \funkHeadsMinor a2 b c d \break \walkerHeadsMinor a2 b c d \break }
Instrucciones predefinidas
\aikenHeads
,
\aikenHeadsMinor
,
\aikenThinHeads
,
\aikenThinHeadsMinor
,
\funkHeads
,
\funkHeadsMinor
,
\sacredHarpHeads
,
\sacredHarpHeadsMinor
,
\southernHarmonyHeads
,
\southernHarmonyHeadsMinor
,
\walkerHeads
,
\walkerHeadsMinor
.
Fragmentos de código seleccionados
Aiken head thin variant noteheads
Aiken head white notes get harder to read at smaller staff sizes, especially with ledger lines. Losing interior white space makes them appear as quarter notes.
\score { { \aikenHeads c''2 a' c' a % Switch to thin-variant noteheads \set shapeNoteStyles = ##(doThin reThin miThin faThin sol laThin tiThin) c'' a' c' a } }
Aplicar estilos de cabeza según la nota de la escala
La propiedad shapeNoteStyles
se puede usar para definir varios
estilos de cabezas de nota para cada grado de la escala (según esté
establecido por la armadura o por la propiedad tonic
). Esta
propiedad requiere un conjunto de símbolos, que pueden ser puramente
arbitrarios (se permiten expresiones geométricas como triangle
,
triángulo, cross
, aspas, y xcircle
, círculo con aspas) o
basados en una antigua tradición americana de grabado (ciertos nombres
de nota latinos trambién se permiten).
Dicho esto, para imitar antiguos cancioneros americanos, existen varios
estilos predefinidos de cabezas de nota disponibles a través de
instrucciones de abreviatura como \aikenHeads
o
\sacredHarpHeads
.
Este ejemplo muestra distintas formas de obtener cabezas de notas con forma, y muestra la capacidad de transportar una melodía sin perder la correspondencia entre las funciones armónicas y los estilos de cabezas de nota.
fragment = { \key c \major c2 d e2 f g2 a b2 c } \new Staff { \transpose c d \relative c' { \set shapeNoteStyles = ##(do re mi fa #f la ti) \fragment } \break \relative c' { \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond) \fragment } }
Para ver todos los estilos de formas de cabeza de nota, consulte Estilos de cabezas de nota.
Véase también
Fragmentos de código: Pitches.
Referencia de la notación: Estilos de cabezas de nota.
Referencia de funcionamiento interno: note-event, Note_heads_engraver, NoteHead, note-head-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Cabezas de notas con formas diversas ] | [ Up : Cabeza de las notas ] | [ Duraciones > ] |
Improvisación
La improvisación se denota a veces mediante cabezas de nota en forma de barra inclinada, donde el ejecutante puede elegir cualquier nota pero con el ritmo especificado. Estas cabezas de nota se crean así:
\new Voice \with { \consists Pitch_squash_engraver } \relative { e''8 e g a a16( bes) a8 g \improvisationOn e8 ~ 2 ~ 8 f4 f8 ~ 2 \improvisationOff a16( bes) a8 g e }
Instrucciones predefinidas
\improvisationOn
,
\improvisationOff
.
Véase también
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Pitch_squash_engraver, Voice, RhythmicStaff.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Improvisación ] | [ Up : Notación musical ] | [ Escritura de las duraciones (valores rítmicos) > ] |
1.2 Duraciones
Esta sección trata de los ritmos, los silencios, las duraciones, las barras y los compases.
1.2.1 Escritura de las duraciones (valores rítmicos) | ||
1.2.2 Escritura de silencios | ||
1.2.3 Impresión de las duraciones | ||
1.2.4 Barras | ||
1.2.5 Compases | ||
1.2.6 Asuntos rítmicos especiales |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Duraciones ] | [ Up : Duraciones ] | [ Duración de las notas > ] |
1.2.1 Escritura de las duraciones (valores rítmicos)
Duración de las notas | ||
Grupos especiales | ||
Escalar las duraciones | ||
Ligaduras de unión |
Duración de las notas
La duración de las notas se introduce mediante números y
puntos. El número que se escribe está basado en el valor recíproco
de la longitud de la nota. Respecto a la redonda, esto es el
número de veces que dicha nota cabe en una redonda. Por ejemplo,
una negra se escribe usando un 4
(puesto que es 1/4 de
redonda), mientras que una blanca se escribe con un 2
(por
ser 1/2 de redonda), una corchea se escribe como 8
y así
sucesivamente. Se pueden especificar duraciones tan cortas como
1/1024 de redonda (sin nombre en español) pero cualquier valor más
corto, aunque sea posible, solo se puede introducir como grupos de
notas unidas por una barra. Véase también Barras.
Para notas mayores de la redonda se deben usar las instrucciones
\longa
(que es una breve doble) y \breve
. Se puede
escribir una nota con la duración de una cuádruple breve mediante
\maxima
, pero esto está contemplado solamente dentro de la
notación musical antigua. Para ver más detalles, consulte
Notación antigua.
\relative { \time 8/1 c''\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128 }
Aquí se pueden ver las mismas duraciones con el barrado automático desactivado.
\relative { \time 8/1 \autoBeamOff c''\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128 }
Las duraciones aisladas (aquellas que no especifican ninguna altura) en una secuencia musical toman la altura de la nota o acorde anterior.
\relative { \time 8/1 c'' \longa \breve 1 2 4 8 16 32 64 128 128 }
Las alturas aisladas (notas sin ninguna duración especificada) que
aparecen dentro de una secuencia musical, obtienen su duración de
la nota o acorde anterior. Si no hay ninguna duración anterior,
entonces el valor predeterminado que se utiliza para la nota
siempre es 4
, una negra.
\relative { a' a a2 a a4 a a1 a }
Para obtener duraciones de notas con puntillo, escriba un punto
(.
) después del número. Las notas con doble puntillo se
especifican escribiendo dos puntos, y así sucesivamente.
\relative { a'4 b c4. b8 a4. b4.. c8. }
Para evitar la superposición con las líneas del pentagrama, los puntillos se desplazan normalmente hacia arriba. Sin embargo, en situaciones de polifonía, se pueden colocar manualmente por encima o por debajo según sea necesario. Véase Dirección y posición.
Ciertas duraciones no se pueden representar solamente mediante números y puntillos; puede ser necesario emplear dos o más notas ligadas entre sí. Véase Ligaduras de unión.
Para especificat duraciones que puedan alinear las notas con las sílabas de la letra, véase Música vocal.
Las notas también se pueden espaciar proporcionalmente a su duración, véase Notación proporcional.
Instrucciones predefinidas
\autoBeamOn
,
\autoBeamOff
,
\dotsUp
,
\dotsDown
,
\dotsNeutral
.
Fragmentos de código seleccionados
Formas alternativas de la figura breve
Las figuras de breve también están disponibles con dos líneas verticales a los lados de la cabeza en lugar de una sola línea y la forma en estilo barroco.
\relative c'' { \time 4/2 c\breve | \override Staff.NoteHead.style = #'altdefault b\breve \override Staff.NoteHead.style = #'baroque b\breve \revert Staff.NoteHead.style a\breve }
Modificar el número de puntillos de una nota
La cantidad de puntillos de una nota se puede modificar independientemente de los puntillos que se escriben después de la nota.
\relative c' { c4.. a16 r2 | \override Dots.dot-count = 4 c4.. a16 r2 | \override Dots.dot-count = 0 c4.. a16 r2 | \revert Dots.dot-count c4.. a16 r2 | }
Véase también
Glosario musical: breve, longa, maxima, note value, Duration names notes and rests.
Referencia de la notación: Barras, Ligaduras de unión, Plicas, Escritura de las duraciones (valores rítmicos), Escritura de silencios, Música vocal, Notación antigua, Notación proporcional.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: Dots, DotColumn.
Advertencias y problemas conocidos
Aunque no existe un límite fundamental para las duraciones de los
silencios (tanto para el más largo como para el más corto), pero
el número de glifos es limitado: sólo se pueden imprimir desde el
silencio de 1/1024 de redonda (sin nombre en español) hasta el de
\maxima
(8 redondas).
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Duración de las notas ] | [ Up : Escritura de las duraciones (valores rítmicos) ] | [ Escalar las duraciones > ] |
Grupos especiales
Los grupos especiales se obtienen a partir de una expresión
musical con la instrucción \tuplet
, multiplicando la
rapidez de la expresión musical por una fracción:
\tuplet fracción { música }
El numerador de la fracción se imprime encima o debajo de las notas, opcionalmente con un corchete. El grupo especial más común es el tresillo, en el que 3 notas tienen el valor que normalmente tienen 2:
\relative { a'2 \tuplet 3/2 { b4 4 4 } c4 c \tuplet 3/2 { b4 a g } }
Si se están escribiendo pasajes con muchos grupos de valoración
especial, resulta fastidioso tener que escribir una instrucción
\tuplet
distinta para cada grupo. Es posible especificar
la duración de un conjunto de grupos directamente antes de la
música para que así se agrupen automáticamente:
\relative { g'2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e } }
Se pueden colocar manualmente los corchetes de tresillo encima o debajo de la pauta:
\relative { \tupletUp \tuplet 3/2 { c''8 d e } \tupletNeutral \tuplet 3/2 { c8 d e } \tupletDown \tuplet 3/2 { f,8 g a } \tupletNeutral \tuplet 3/2 { f8 g a } }
Los grupos pueden anidarse unos dentro de otros:
\relative { \autoBeamOff c''4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 }
La modificación de los grupos especiales anidados que comienzan en
el mismo instante musical se debe hacer con \tweak
; véase
La instrucción \tweak
.
Se puede sustituir el corchete recto de un grupo de valoración especial con una ligadura curva, a la manera de muchas ediciones antiguas:
\relative { \tuplet 3/2 4 { \override TupletBracket.tuplet-slur = ##t c'4 e8 d4 f8 \override TupletBracket.bracket-visibility = ##t e f g f e d } c1 }
De forma predeterminada, solo se imprime el corchete si no están
unidas por una barra todas las notas que comprende el grupo; en
ciertos casos (por ejemplo con las ligaduras, como en el ejemplo
de arriba) podría ser preferible modificar este comportamiento, a
través de la propiedad bracket-visibility
tal y como se
detalla en uno de los siguientes fragmentos de código.
De manera más general se pueden mostrar u ocultar los objetos
TupletBracket
o TupletNumber
, o ambos, como se
explica en Visibilidad de los objetos; sin embargo, una
forma más flexible de modificar la duración de las notas sin
imprimir un grupo especial (ni un corchete) se explica también en
Escalar las duraciones.
Instrucciones predefinidas
\tupletUp
,
\tupletDown
,
\tupletNeutral
.
Fragmentos de código seleccionados
Entering several tuplets using only one \tuplet command
The property tupletSpannerDuration
sets how long each of the
tuplets contained within the brackets after \tuplet
should
last. Many consecutive tuplets can then be placed within a single
\tuplet
expression, thus saving typing.
There are several ways to set tupletSpannerDuration
. The
command \tupletSpan
sets it to a given duration, and clears it
when instead of a duration \default
is specified. Another way
is to use an optional argument with \tuplet
.
\relative c' { \time 2/4 \tupletSpan 4 \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c } \tupletSpan \default \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c } \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c } }
Cambiar el número del grupo especial
De forma predeterminada sólo se imprime sobre el corchete de grupo el
numerador del grupo especial, o sea, el numerador del argumento de la instrucción
\tuplet
.
De forma alternativa, se puede imprimr un quebrado en la forma numerador:denominador del número del grupo, o eliminar el número.
\relative c'' { \tuplet 3/2 { c8 c c } \tuplet 3/2 { c8 c c } \override TupletNumber.text = #tuplet-number::calc-fraction-text \tuplet 3/2 { c8 c c } \omit TupletNumber \tuplet 3/2 { c8 c c } }
Números de agrupación especial distintos a los predeterminados
LilyPond también proporciona funciones de formato para imprimir números de grupo especial diferentes a la propia fracción, así como para añadir una figura al número o a la fracción de la agrupación.
\relative c'' { \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-denominator-text 7) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-fraction-text 12 7) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper (tuplet-number::non-default-tuplet-fraction-text 12 7) (ly:make-duration 3 0)) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text (ly:make-duration 2 0)) \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text (ly:make-duration 2 0)) \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::fraction-with-notes (ly:make-duration 2 1) (ly:make-duration 3 0)) \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-fraction-with-notes 12 (ly:make-duration 3 0) 4 (ly:make-duration 2 0)) \tuplet 3/2 { c4. c4. c4. c4. } }
Controlar la visibilidad de los corchetes de grupo especial
El comportamiento predeterminado de la visibilidad de los corchetes de
grupo de valoración especial es imprimir el corchete a no ser que haya
una barra de la misma longitud que el grupo especial. Para controlar
la visibilidad de los corchetes de grupo, establezca la propiedad
'bracket-visibility
a #t
(imprimir el corchete siempre),
#'if-no-beam
(imprimir el corchete solamente si no hay barra,
el comportamiento predeterminado), o #f
(no imprimir nunca el
corchete). Este último equivale de hecho a omitir el objeto
TupletBracket
de la salida impresa.
music = \relative c'' { \tuplet 3/2 { c16[ d e } f8] \tuplet 3/2 { c8 d e } \tuplet 3/2 { c4 d e } } \new Voice { \relative c' { \override Score.TextMark.non-musical = ##f \textMark "default" \music \override TupletBracket.bracket-visibility = #'if-no-beam \textMark \markup \typewriter "'if-no-beam" \music \override TupletBracket.bracket-visibility = ##t \textMark \markup \typewriter "#t" \music \override TupletBracket.bracket-visibility = ##f \textMark \markup \typewriter "#f" \music \omit TupletBracket \textMark \markup \typewriter "omit" \music } } \paper { tagline = ##f }
Permitir saltos de línea dentro de grupos especiales con barra
Este ejemplo artificial muestra cómo se pueden permitir tanto los saltos de línea manuales como los automáticos dentro de un grupo de valoración especial unido por una barra. Observe que estos grupos sincopados se deben barrar manualmente.
\paper { tagline = ##f } \layout { \context { \Voice % Permit line breaks within tuplets \remove "Forbid_line_break_engraver" % Allow beams to be broken at line breaks \override Beam.breakable = ##t } } \relative c'' { a8 \repeat unfold 5 { \tuplet 3/2 { c[ b a] } } % Insert a manual line break within a tuplet \tuplet 3/2 { c[ b \bar "" \break a] } \repeat unfold 5 { \tuplet 3/2 { c[ b a] } } c8 }
Véase también
Glosario musical: triplet, tuplet, polymetric.
Manual de aprendizaje: Métodos de trucaje.
Referencia de la notación:
Dirección y posición,
Visibilidad de los objetos,
Gestión del tiempo,
Escalar las duraciones,
La instrucción \tweak
,
Notación polimétrica.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: TupletBracket, TupletNumber, TimeScaledMusic.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Grupos especiales ] | [ Up : Escritura de las duraciones (valores rítmicos) ] | [ Ligaduras de unión > ] |
Escalar las duraciones
La duración de las figuras, silencios o acordes se puede
multiplicar por un factor N/M
añadiendo *N/M
(o
*N
si M
es 1) a la duración. También se pueden
añadir factores usando expresiones de Scheme que se evalúan a un
número o a una duración musical como *#(ly:music-length
music)
. Esto es muy útil para escalar una duración de
‘1’ y que una nota o silencio multicompás se estire hasta una
longitur derivada de una variable musical.
La adición de un factor no afectará a la apariencia de las notas o
silencios que se producen, pero la duración alterada se usará para
calcular la posición dentro del compás y para establecer la
duración en la salida MIDI. Los factores de multiplicación se
pueden combinar en la forma *L*M/N
. Los factores son parte
de la duración: si no especificamos una duración para las notas
siguientes, la duración por omisión que se toma de la nota
anterior incluirá cualquier factor de escala que se haya aplicado.
En el siguiente ejemplo las tres primeras notas duran exactamente dos partes, pero no se imprime ningún corchete de tresillo.
\relative { \time 2/4 % Alter durations to triplets a'4*2/3 gis a % Normal durations a4 a % Double the duration of chord <a d>4*2 % Duration of quarter, appears like sixteenth b16*4 c4 }
La duración de los silencios espaciadores también se puede
modificar mediante un multiplicador. Esto es útil para saltar
muchos compases, como por ejemplo s1*23
.
De la misma forma, se pueden comprimir por una fracción trozos de música más largos, como si cada nota, acorde o silencio tuviera la fracción como multiplicador. Esto dejará intacta la apariencia de la música, pero la duración interna de las notas se multiplicará por el factor de escala dado, habitualmente numerador/denominador. He aquí un ejemplo que muestra cómo se puede comprimir y expandir la música:
\relative { \time 2/4 % Normal durations <c'' a>4 c8 a % Scale music by *2/3 \scaleDurations 2/3 { <c a f>4. c8 a f } % Scale music by *2 \scaleDurations 2 { <c' a>4 c8 b } }
Una aplicación de esta instrucción se encuentra en la notación polimétrica, véase Notación polimétrica.
Véase también
Referencia de la notación: Grupos especiales, Silencios invisibles, Notación polimétrica.
Fragmentos de código: Rhythms.
Advertencias y problemas conocidos
El cálculo de la posición dentro de un compás debe tener en cuenta todos los factores de escalado que se han aplicado a las notas dentro de ese compás, y cualquier acarreo fraccionado desde los compases anteriores. Este cálculo se efectúa utilizando números racionales. Si un numerador o denominador intermedio en dicho proceso de cálculo sobrepasa la cantidad de 2^30, la ejecución y el tipografiado se detendrán en ese punto sin indicar ningún error.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Escalar las duraciones ] | [ Up : Escritura de las duraciones (valores rítmicos) ] | [ Escritura de silencios > ] |
Ligaduras de unión
Una ligadura de unión conecta dos notas adyacentes de la misma altura. La ligadura en efecto extiende la longitud de una nota.
Nota: No deben confundirse las ligaduras de unión con las ligaduras de expresión, que indican articulación, ni con las ligaduras de fraseo, que indican el fraseo musical. Una ligadura de unión es tan sólo una manera de extender la duración de una nota, algo parecido a lo que hace el puntillo.
Se introduce una ligadura de unión escribiendo el símbolo de la
tilde curva (~
) después de la primera de cada pareja de
notas que se quieren unir. Esto indica que la nota se une a la
siguiente, que debe tener la misma altura.
{ a'2~ 4~ 16 r r8 }
Las ligaduras de unión pueden hacer uso de la interpretación ‘última altura explícita’ para las duraciones aisladas:
{ a'2~ 4~ 16 r r8 }
Se usan ligaduras de unión bien cuando la nota atraviesa la barra de compás o bien cuando no se pueden usar puntillos para denotar el ritmo. También se deben usar ligaduras cuando las notas atraviesan subdivisiones del compás de mayor duración:
\relative { r8^"sí" c'4.~ 4 r4 | r8^"no" c2~ 8 r4 }
Si necesitamos ligar muchas notas a través de las líneas divisorias, nos podría resultar más fácil utilizar la división automática de las notas, véase División automática de las notas. Este mecanismo divide automáticamente las notas largas y las liga a través de las barras de compás.
Cuando se aplica una ligadura de unión a un acorde, se conectan todas las cabezas de las notas cuyas alturas coinciden. Si no coincide ningún par de cabezas, no se crea ninguna ligadura. Los acordes se pueden ligar parcialmente colocando las ligaduras dentro del acorde.
\relative c' { <c e g>2~ 2 | <c e g>4~ <c e g c> <c~ e g~ b> <c e g b> | }
Cuando la segunda vez de una repetición comienza con una nota ligada, es necesario especificar la ligadura repetida como sigue:
\relative { \repeat volta 2 { c'' g <c e>2~ } \alternative { % First alternative: following note is tied normally { <c e>2. r4 } % Second alternative: following note has a repeated tie { <c e>2\repeatTie d4 c } } }
Las ligaduras L.v. (laissez vibrer, dejar vibrar) indican que las notas no se deben apagar al final. Se usan en la notación para piano, arpa y otros instrumentos de cuerda y percusión. Se pueden introducir de la siguiente manera:
<c' f' g'>1\laissezVibrer
Es posible hacer manualmente que las ligaduras de unión se curven hacia arriba o hacia abajo; véase Dirección y posición.
Se puede hacer que las ligaduras de expresión sean discontinuas, punteadas o una combinación de continuas y discontinuas.
\relative c' { \tieDotted c2~ 2 \tieDashed c2~ 2 \tieHalfDashed c2~ 2 \tieHalfSolid c2~ 2 \tieSolid c2~ 2 }
Se pueden especificar patrones de discontinuidad personalizados:
\relative c' { \tieDashPattern #0.3 #0.75 c2~ 2 \tieDashPattern #0.7 #1.5 c2~ 2 \tieSolid c2~ 2 }
Las definiciones de patrones de discontinuidad para las ligaduras de unión tienen la misma estructura que las definiciones de patrones de discontinuidad para las ligaduras de expresión. Para ver más información acerca de los patrones de discontinuidad complejos, consulte los fragmentos de código bajo Ligaduras de expresión.
Sobreescriba las propiedades de disposición whiteout y layer de los objetos que puedan causar una discontinuidad en las ligaduras de unión.
\relative { \override Tie.layer = #-2 \override Staff.TimeSignature.layer = #-1 \override Staff.KeySignature.layer = #-1 \override Staff.TimeSignature.whiteout = ##t \override Staff.KeySignature.whiteout = ##t b'2 b~ \time 3/4 \key a \major b r4 }
Instrucciones predefinidas
\tieUp
,
\tieDown
,
\tieNeutral
,
\tieDotted
,
\tieDashed
,
\tieDashPattern
,
\tieHalfDashed
,
\tieHalfSolid
,
\tieSolid
.
Fragmentos de código seleccionados
Uso de ligaduras en los arpegios
En ocasiones se usan ligaduras de unión para escribir los arpegios.
En este caso, las dos notas ligadas no tienen que ser consecutivas.
Esto se puede conseguir estableciendo la propiedad
tieWaitForNote
al valor #t
. La misma funcionalidad
es de utilidad, por ejemplo, para ligar un trémolo a un acorde, pero
en principio también se puede usar para notas normales consecutivas.
\relative c' { \set tieWaitForNote = ##t \grace { c16[ ~ e ~ g] ~ } <c, e g>2 \repeat tremolo 8 { c32 ~ c' ~ } <c c,>1 e8 ~ c ~ a ~ f ~ <e' c a f>2 \tieUp c8 ~ a \tieDown \tieDotted g8 ~ c g2 }
Grabado manual de las ligaduras
Se pueden grabar a mano las ligaduras modificando la propiedad
tie-configuration
del objeto TieColumn
. El primer número
indica la distancia a partir de la tercera línea del pentagrama en
espacios de pentagrama, y el segundo número indica la dirección (1 =
hacia arriba, -1 = hacia abajo).
Observe que LilyPond distingue entre valores exactos e inexactos para
el primer número. Si se está usando un valor exacto (p.ej., un entero
o una fracción como (/ 4 5)
), el valor sirve como una posición
vertical aproximada que después se ajusta por parte de LilyPond para
que la ligadura evite las líneas del pentagrama. Si se usa un valor
inexacto, como un número de coma flotante, se toma como la posición
vertical sin más ajustes posteriores.
\relative c' { <>^"default" g'1 ^~ g <>^"0" \once \override Tie.staff-position = 0 g1 ^~ g <>^"0.0" \once \override Tie.staff-position = 0.0 g1 ^~ g <>^"reset" \revert Tie.staff-position g1 ^~ g } \relative c' { \override TextScript.outside-staff-priority = ##f \override TextScript.padding = 0 <>^"default" <c e g>1~ <c e g> <>^"0, -2, -4" \override TieColumn.tie-configuration = #'((0 . 1) (-2 . 1) (-4 . 1)) <c e g>1~ <c e g> <>^"0.0, -2.0, -4.0" \override TieColumn.tie-configuration = #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1)) <c e g>1~ <c e g> <>^"reset" \override TieColumn.tie-configuration = ##f <c e g>1~ <c e g> } \paper { tagline = ##f }
Véase también
Glosario musical: tie, laissez vibrer.
Referencia de la notación: Ligaduras de expresión, División automática de las notas.
Fragmentos de código: slurs, Rhythms.
Referencia de funcionamiento interno: LaissezVibrerTie, LaissezVibrerTieColumn, TieColumn, Tie.
Advertencias y problemas conocidos
Un cambio de pentagrama cuando hay una ligadura activa no producirá una ligadura inclinada.
Los cambios de clave o de octava durante una ligadura de unión no están bien definidos realmente. En estos casos puede ser preferible una ligadura de expresión.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Ligaduras de unión ] | [ Up : Duraciones ] | [ Silencios > ] |
1.2.2 Escritura de silencios
Los silencios se escriben como parte de la música dentro de las expresiones musicales.
Silencios | ||
Silencios invisibles | ||
Silencios de compás completo |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Escritura de silencios ] | [ Up : Escritura de silencios ] | [ Silencios invisibles > ] |
Silencios
Los silencios se introducen como notas con el nombre r
.
Las duraciones mayores que la redonda utilizan las instrucciones
predefinidas que se muestran aquí:
\new Staff { % These two lines are just to prettify this example \time 16/1 \omit Staff.TimeSignature % Print a maxima rest, equal to four breves r\maxima % Print a longa rest, equal to two breves r\longa % Print a breve rest r\breve r1 r2 r4 r8 r16 r32 r64 r128 }
Los silencios de un compás, centrados en medio del compás, se deben hacer con silencios multicompás. Se pueden usar para un solo compás así como para muchos compases, y se tratan en Silencios de compás completo.
Para especificar explícitamente la posición vertical de un
silencio, escriba una nota seguida de \rest
. Se colocará
un silencio en la posición en que debería aparecer la nota. Esto
posibilita la aplicación manual precisa de formato a la música
polifónica, ya que el formateador automático de colisiones de
silencios no mueve estos silencios.
\relative { a'4\rest d4\rest }
Fragmentos de código seleccionados
Estilos de silencios
Los silencios se pueden imprimir en distintos estilos.
restsA = { r\maxima r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s256 s512 s1024 s1024 } restsB = { r\maxima r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r256 r512 r1024 s1024 } \new Staff \relative c { \omit Score.TimeSignature \cadenzaOn \override Staff.Rest.style = #'mensural <>^\markup \typewriter { mensural } \restsA \bar "" \break \override Staff.Rest.style = #'neomensural <>^\markup \typewriter { neomensural } \restsA \bar "" \break \override Staff.Rest.style = #'classical <>^\markup \typewriter { classical } \restsB \bar "" \break \override Staff.Rest.style = #'z <>^\markup \typewriter { z-style } \restsB \bar "" \break \override Staff.Rest.style = #'default <>^\markup \typewriter { default } \restsB \bar "" \break } \paper { indent = 0 tagline = ##f }
Véase también
Glosario musical: breve, longa, maxima.
Referencia de la notación: Silencios de compás completo.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: Rest.
Advertencias y problemas conocidos
No existe un límite fundamental respecto de las duraciones de los silencios (tanto para el más corto como para el más largo), pero el número de glifos es limitado: hay silencios desde 1/1024 de redonda (sin nombre en español) hasta la máxima (8 redondas).
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Silencios ] | [ Up : Escritura de silencios ] | [ Silencios de compás completo > ] |
Silencios invisibles
Un silencio invisible (también conocido como ‘skip’ o
desplazamiento) se puede introducir como una nota con el
nombre s
:
\relative c'' { c4 c s c | s2 c | }
Los silencios de separación sólo están disponible en el modo de
notas y en el modo de acordes. En otras situaciones, por ejemplo,
cuando se introduce la letra, se usa la instrucción \skip
para producir un desplazamiento de una cierta magnitud temporal.
\skip
requiere una duración explícita, pero se ignora si
las sílabas de la letra toman sus duraciones de las notas de una
melodía asociada, a través de \addlyrics
o de
\lyricsto
.
<< { a'2 \skip2 a'2 a'2 } \new Lyrics { \lyricmode { foo2 \skip 1 bla2 } } >>
Dado que \skip
es una instrucción, no afecta a las
duraciones por omisión de las notas siguientes, a diferencia
de s
.
<< { \repeat unfold 8 { a'4 } } { a'4 \skip 2 a' | s2 a' } >>
Un silencio de separación produce implícitamente contextos
Staff
y Voice
si no existe ninguno, igual que las
notas y los silencios normales:
{ s1 s s }
\skip
tan sólo desplaza un tiempo musical; no produce
ninguna salida, de ninguna clase.
% This is valid input, but does nothing { \skip 1 \skip1 \skip 1 }
Véase también
Manual de aprendizaje: Visibilidad y color de los objetos.
Referencia de la notación: Notas ocultas, Visibilidad de los objetos.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: SkipMusic.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Silencios invisibles ] | [ Up : Escritura de silencios ] | [ Impresión de las duraciones > ] |
Silencios de compás completo
Los silencios de uno o más compases completos se introducen como
notas con el nombre R
en mayúscula. Su duración se escribe
de forma idéntica a la que se utiliza para las notas, incluso con
la capacidad de utilizar factores multiplicadores de la duración,
como se explica en Escalar las duraciones:
% Rest measures contracted to single measure \compressMMRests { R1*4 R1*24 R1*4 b'2^"Tutti" b'4 a'4 }
El ejemplo anterior también muestra cómo comprimir varios compases vacíos seguidos, como se explica en Compresión de los compases vacíos.
La duración de un silencio multicompás siempre debe ser igual a la longitud de uno o varios compases. Por tanto, algunas indicaciones de compás requieren la utilización de puntillos o fracciones:
\compressMMRests { \time 2/4 R1 | R2 | \time 3/4 R2. | R2.*2 | \time 13/8 R1*13/8 | R1*13/8*12 | \time 10/8 R4*5*4 | }
Un silencio de un compás completo se imprime como un silencio de redonda o de breve, centrado en el compás, según el tipo de compás vigente.
\time 4/4 R1 | \time 6/4 R1*3/2 | \time 8/4 R1*2 |
Se pueden añadir elementos de marcado a los silencios multicompás.
\compressMMRests { \time 3/4 R2.*10^\markup { \italic "ad lib." } }
Nota: Los elementos de marcado y articulaciones que se añaden a
un silencio multicompás son objetos del tipo
MultiMeasureRestText
y MultiMeasureRestScript
, no
TextScript
y Script
. Las sobreescrituras de
propiedades deben ir dirigidas hacia el objeto correcto, o se
ignorarán. Véase el ejemplo siguiente:
% This fails, as the wrong object name is specified \override TextScript.padding = #5 \override Script.color = #blue R1^"wrong" R1\fermata % This is the correct object name to be specified \override MultiMeasureRestText.padding = #5 \override MultiMeasureRestScript.color = #blue R1^"right" R1\fermata
Cuando un silencio multicompás sigue inmediatamente al
establecimiento de un compás parcial con \partial
, es
posible que no se emitan las advertencias correspondientes de
comprobación de compás.
Instrucciones predefinidas
\textLengthOn
,
\textLengthOff
,
\compressMMRests
.
Fragmentos de código seleccionados
Multi-measure rest length control
Multi-measure rests have length according to their total duration which
is under the control of MultiMeasureRest.space-increment
. Note
that the default value is 2.0
.
\relative c' { \compressEmptyMeasures R1*2 R1*4 R1*64 R1*16 \override Staff.MultiMeasureRest.space-increment = 2.5 R1*2 R1*4 R1*64 R1*16 } \paper { tagline = ##f }
Posicionar los silencios multicompás
A diferencia de los silencios normales, no existe una instrucción predefinida para modificar la posición predeterminada de un símbolo de silencio multicompás sobre el pentagrama, adjuntándolo a una nota, independientemente de cuál sea su forma. Sin embargo, en la música polifónica los silencios multicompás de las voces de numeración par e impar están separados verticalmente. La colocación de los silencios multicompás se puede controlar como se ve a continuación:
\relative c'' { % Multi-measure rests by default are set under the fourth line R1 % They can be moved using an override \override MultiMeasureRest.staff-position = -2 R1 \override MultiMeasureRest.staff-position = 0 R1 \override MultiMeasureRest.staff-position = 2 R1 \override MultiMeasureRest.staff-position = 3 R1 \override MultiMeasureRest.staff-position = 6 R1 \revert MultiMeasureRest.staff-position \break % In two Voices, odd-numbered voices are under the top line << { R1 } \\ { a1 } >> % Even-numbered voices are under the bottom line << { a1 } \\ { R1 } >> % Multi-measure rests in both voices remain separate << { R1 } \\ { R1 } >> % Separating multi-measure rests in more than two voices % requires an override << { R1 } \\ { R1 } \\ \once \override MultiMeasureRest.staff-position = 0 { R1 } >> % Using compressed bars in multiple voices requires another override % in all voices to avoid multiple instances being printed \compressMMRests << \revert MultiMeasureRest.direction { R1*3 } \\ \revert MultiMeasureRest.direction { R1*3 } >> }
Marcado de silencios multicompás
Los elementos de marcado aplicados a un silencio multicompás se centran encima o debajo de éste. Los elementos de marcado extensos que se adjuntan a silencios multicompás no producen la expansión del compás. Para expandir un silencio multicompás de forma que quepa todo el marcado, utilice un acorde vacío con un marcado aplicado antes del silencio multicompás.
El texto aplicado a un siencio sparador de esta forma se alinea por la izquierda a la posición en que la nota estaría situada dentro del compás, pero si la longitud del compás está determinada por la longitud del texto, éste aparecerá centrado.
\relative c' { \compressMMRests { \textLengthOn <>^\markup { [MAJOR GENERAL] } R1*19 <>_\markup { \italic { Cue: ... it is yours } } <>^\markup { A } R1*30^\markup { [MABEL] } \textLengthOff c4^\markup { CHORUS } d f c } }
Véase también
Glosario musical: multi-measure rest.
Referencia de la notación: Duraciones, Escalar las duraciones, Compresión de los compases vacíos, Texto, Formatear el texto, Guiones de texto.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText.
Advertencias y problemas conocidos
En las digitaciones encima de silencios multicompás
(p. ej., R1*10-4
), la cifra de la digitación
puede chocar con el número del compás.
No hay ninguna forma de condensar automáticamente muchos silencios en un solo silencio multicompás.
Los silencios multicompás no toman parte en las colisiones de silencios.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Silencios de compás completo ] | [ Up : Duraciones ] | [ Indicación de compás > ] |
1.2.3 Impresión de las duraciones
Indicación de compás | ||
Indicaciones metronómicas | ||
Anacrusas | ||
Música sin compasear | ||
Notación polimétrica | ||
División automática de las notas | ||
Mostrar los ritmos de la melodía |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Impresión de las duraciones ] | [ Up : Impresión de las duraciones ] | [ Indicaciones metronómicas > ] |
Indicación de compás
La indicación de compás se establece como sigue:
\time 2/4 c''2 \time 3/4 c''2.
Se estudian los cambios de indicación de compás en el medio de un compás en Anacrusas.
La indicación de compás se imprime al comienzo de una pieza y siempre que hay un cambio de compás. Si se produce un cambio al final de una línea, se imprime una indicación de advertencia en dicho lugar. Se puede modificar este comportamiento predeterminado, véase Visibilidad de los objetos.
\relative c'' { \time 2/4 c2 c \break c c \break \time 4/4 c c c c }
El símbolo de compás que se usa en 2/2 y 4/4 se puede cambiar a un estilo numérico:
\relative c'' { % Default style \time 4/4 c1 \time 2/2 c1 % Change to numeric style \numericTimeSignature \time 4/4 c1 \time 2/2 c1 % Revert to default style \defaultTimeSignature \time 4/4 c1 \time 2/2 c1 }
Las indicaciones de compás de la música mensural se tratan en Indicaciones de compás de la música mensural.
Además de ajustar la indicación de compás que se imprime, la
instrucción \time
establece también los valores de las
propiedades basadas en el tipo de compás beatBase
,
beatStructure
y beamExceptions
. Los valores
predefinidos de estas propiedades están en
scm/time-signature-settings.scm.
El valor predeterminado de beatStructure
puede
sobreescribirse dentro de la propia instrucción \time
escribiéndolo como primer argumento opcional:
\score { \new Staff { \relative { \time 2,2,3 7/8 \repeat unfold 7 { c'8 } | \time 3,2,2 7/8 \repeat unfold 7 { c8 } | } } }
De forma alternativa, los valores predeterminados de todoas estas
variables basadas en la indicación de compás, incluidas
beatBase
y beamExceptions
, se pueden establecer
juntas. Los valores se pueden fijar independientemente para
varios tipos de compás distintos. Los nuevos valores tienen
efecto cuando se ejecuta una instrucción \time
posterior
con el mismo valor del tipo de compás:
\score { \new Staff { \relative c' { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction #1/4 % beatBase 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 { c8 } | } } }
\overrideTimeSignatureSettings
toma cuatro argumentos:
-
timeSignatureFraction
, una fracción que describe el tipo de compás al que se aplican estos valores. -
beatBase
, una fracción que contiene el numerador y denominador de la unidad de medida básica de ese tipo de compás. -
beatStructure
, una lista de Scheme que indica la estructura de los pulsos del compás, en unidades del momento base. -
beamExceptions
, una lista-A que contiene cualesquiera reglas de barrado para el tipo de compás que vayan más allá de terminar en cada pulso, como se describe en Establecer el comportamiento de las barras automáticas.
Los valores modificados de las propiedades predeterminadas del tipo de compás se pueden restaurar a los valores originales:
\score { \relative { \repeat unfold 8 { c'8 } | \overrideTimeSignatureSettings 4/4 % timeSignatureFraction #1/4 % beatBase 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 { c8 } | \revertTimeSignatureSettings 4/4 \time 4/4 \repeat unfold 8 { c8 } | } }
Se pueden establecer diferentes valores de las propiedades
predeterminadas del tipo de compás para los distintos pentagramas
moviendo el Timing_translator
y el
Default_bar_line_engraver
del contexto Score
al
contexto Staff
.
\score { \new StaffGroup << \new Staff { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction #1/4 % beatBase 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 {c''8} } \new Staff { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction #1/4 % beatBase 1,3 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 {c''8} } >> \layout { \context { \Score \remove Timing_translator } \context { \Staff \consists Timing_translator } } }
Otro método para cambiar estas variables relacionadas con el tipo de compás, que evita la reimpresión de la indicación de compás en el momento del cambio, se muestra en Establecer el comportamiento de las barras automáticas.
Instrucciones predefinidas
\numericTimeSignature
,
\defaultTimeSignature
.
Fragmentos de código seleccionados
Indicación de compás imprimiendo sólo el numerador (en lugar de la fracción)
A veces, la indicación de compás no debe imprimir la fracción completa
(p.ej. 7/4), sino sólo el numerador (7 en este caso). Esto se puede
hacer fácilmente utilizando \override Staff.TimeSignature.style
= #'single-number
para cambiar el estilo permanentemente. Usando
\revert Staff.TimeSignature.style
, se puede revertir el
cambio. Para aplicar el estilo de un dígito único a una sola
indicación de compás, utilice la instrucción \override
y
anteponga la instrucción \once
.
\relative c'' { \time 3/4 c4 c c % Change the style permanently \override Staff.TimeSignature.style = #'single-number \time 2/4 c4 c \time 3/4 c4 c c % Revert to default style: \revert Staff.TimeSignature.style \time 2/4 c4 c % single-number style only for the next time signature \once \override Staff.TimeSignature.style = #'single-number \time 5/4 c4 c c c c \time 2/4 c4 c }
Véase también
Glosario musical: time signature
Referencia de la notación: Indicaciones de compás de la música mensural, Establecer el comportamiento de las barras automáticas, Gestión del tiempo.
Archivos instalados: scm/time-signature-settings.scm.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: TimeSignature, Timing_translator.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Indicación de compás ] | [ Up : Impresión de las duraciones ] | [ Anacrusas > ] |
Indicaciones metronómicas
Es muy sencillo escribir una indicación metronómica básica:
\relative { \tempo 4 = 120 c'2 d e4. d8 c2 }
También se pueden imprimir indicaciones metronómicas como un intervalo entre dos números:
\relative { \tempo 4 = 40 - 46 c'4. e8 a4 g b,2 d4 r }
Se pueden usar indicaciones de tempo con texto:
\relative { \tempo "Allegretto" c''4 e d c b4. a16 b c4 r4 }
La combinación de una indicación metronómica y un texto hace que la marca de metrónomo se encierre entre paréntesis automáticamente:
\relative { \tempo "Allegro" 4 = 160 g'4 c d e d4 b g2 }
En general, el texto puede ser cualquier objeto de marcado:
\relative { \tempo \markup { \italic Faster } 4 = 132 a'8-. r8 b-. r gis-. r a-. r }
Se puede escribir una indicación metronómica entre paréntesis sin ninguna indicación textual, escribiendo una cadena vacía en la entrada:
\relative { \tempo "" 8 = 96 d''4 g e c }
En una particella de un instrumento con períodos de silencio
largos (véase Silencios de compás completo), en ocasiones se
suceden muy cerca distintas indicaciones de tempo. La instrucción
\markLengthOn
aporta un espacio horizontal adicional para
evitar que las indicaciones de tempo se superpongan, y
\markLengthOff
restablece el comportamiento predeterminado
de ignorar las indicaciones de tempo para el espaciado horizontal.
\compressMMRests { \markLengthOn \tempo "Molto vivace" R1*12 \tempo "Meno mosso" R1*16 \markLengthOff \tempo "Tranquillo" R1*20 }
Fragmentos de código seleccionados
Impresión de indicaciones metronómicas y letras de ensayo debajo del pentagrama
De forma predeterminada, las indicaciones metronómicas y las
letras de ensayo se imprimen encima del pentagrama. Para
colocarlas debajo del pentagrama, simplemente ajustamos
adecuadamente la propiedad direction
de
MetronomeMark
o de RehearsalMark
.
\layout { indent = 0 ragged-right = ##f } { % Metronome marks below the staff \override Score.MetronomeMark.direction = #DOWN \tempo 8. = 120 c''1 % Rehearsal marks below the staff \override Score.RehearsalMark.direction = #DOWN \mark \default c''1 }
Cambiar el tempo sin indicación metronómica
Para cambiar el tempo en la salida MIDI sin imprimir nada, hacemos invisible la indicación metronómica:
\score { \new Staff \relative c' { \tempo 4 = 160 c4 e g b c4 b d c \set Score.tempoHideNote = ##t \tempo 4 = 96 d,4 fis a cis d4 cis e d } \layout { } \midi { } }
Crear indicaciones metronómicas en modo de marcado
Se pueden crear indicaciones metronómicas nuevas en modo de marcado, pero no cambian el tempo en la salida MIDI.
\relative c' { \tempo \markup { \concat { ( \smaller \general-align #Y #DOWN \note { 16. } #UP " = " \smaller \general-align #Y #DOWN \note { 8 } #UP ) } } c1 c4 c' c,2 }
Para ver más detalles, consulte Formatear el texto.
Véase también
Glosario musical: metronome, metronomic indication, tempo indication, metronome mark.
Referencia de la notación: Formatear el texto, Creación de salida MIDI, Silencios de compás completo.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno:: MetronomeMark.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Indicaciones metronómicas ] | [ Up : Impresión de las duraciones ] | [ Música sin compasear > ] |
Anacrusas
Los compases parciales como las anacrusas o partes al
alzar se escriben usando la instrucción \partial
:
\partial duración
Cuando se usa \partial
al principio de la partitura,
duración
es el tiempo de anacrusa, la longitud de la
música que precede al primer compás.
\relative { \time 3/4 \partial 4. r4 e'8 | a4 c8 b c4 | }
Cuando se usa \partial
después del comienzo de la
partitura, duración
es la longitud restante
del compás actual. No crea un nuevo compás con numeración.
\relative { \set Score.barNumberVisibility = #all-bar-numbers-visible \override Score.BarNumber.break-visibility = #end-of-line-invisible \time 9/8 d''4.~ 4 d8 d( c) b | c4.~ 4. \bar "||" \time 12/8 \partial 4. c8( d) e | f2.~ 4 f8 a,( c) f | }
La instrucción \partial
es necesaria cuando cambia
la indicación de compás en medio de un compás, pero también puede
usarse sola.
\relative { \set Score.barNumberVisibility = #all-bar-numbers-visible \override Score.BarNumber.break-visibility = #end-of-line-invisible \time 6/8 \partial 8 e'8 | a4 c8 b[ c b] | \partial 4 r8 e,8 | a4 \bar "||" \partial 4 r8 e8 | a4 c8 b[ c b] | }
La instrucción \partial
fija la propiedad
Timing.measurePosition
, que un número racional que indica
cuánto tiempo ha transcurrido dentro del compás actual.
Véase también
Glosario musical: anacrusis.
Referencia de la notación: Notas de adorno.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: Timing_translator.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Anacrusas ] | [ Up : Impresión de las duraciones ] | [ Notación polimétrica > ] |
Música sin compasear
En la música medida se insertan líneas divisorias y se calculan
los números de compás automáticamente. En música sin metro (es
decir, cadencias), esto no es deseable y se puede ‘desactivar’
usando la instrucción \cadenzaOn
, para despúes
‘reactivarlo’ en el lugar adecuado usando \cadenzaOff
.
\relative c'' { c4 d e d \cadenzaOn c4 c d8[ d d] f4 g4. \cadenzaOff \bar "|" d4 e d c }
La numeración de compases se continúa al final de la cadencia.
\relative c'' { % Show all bar numbers \override Score.BarNumber.break-visibility = #all-visible c4 d e d \cadenzaOn c4 c d8[ d d] f4 g4. \cadenzaOff \bar "|" d4 e d c }
Al insertar una instrucción \bar
dentro de una cadencia no
se inicia un compás nuevo, incluso aunque se imprima una línea
divisoria. Así pues, las alteraciones accidentales (cuyo efecto
se suele suponer que permanece hasta el final del compás) serán
válidas aún después de la línea divisoria que se imprime por parte
de \bar
. Si se quieren imprimir alteraciones accidentales
posteriores tendrán que insertarse manualmente alteraciones
forzadas o de cortesía, véase Alteraciones accidentales.
\relative c'' { c4 d e d \cadenzaOn cis4 d cis d \bar "|" % First cis is printed without alteration even if it's after a \bar cis4 d cis! d \cadenzaOff \bar "|" }
El barrado automático se desactiva mediante \cadenzaOn
.
Por tanto, todo el barrado en las cadencias se debe introducir
manualmente. Véase Barras manuales.
\relative { \repeat unfold 8 { c''8 } \cadenzaOn cis8 c c c c \bar"|" c8 c c \cadenzaOff \repeat unfold 8 { c8 } }
Estas instrucciones predefinidas afectan a todas las pautas de la
partitura, aunque aparezcan en un solo contexto Voice
.
Para cambiar esto, traslade el Timing_translator
del
contexto Score
al contexto Staff
, véase
Notación polimétrica.
Instrucciones predefinidas
\cadenzaOn
,
\cadenzaOff
.
Véase también
Glosario musical: cadenza.
Referencia de la notación: Visibilidad de los objetos, Notación polimétrica, Barras manuales, Alteraciones accidentales.
Fragmentos de código: Rhythms.
Advertencias y problemas conocidos
Sólo se insertan saltos de línea y de página automáticamente en las líneas divisorias, por lo que es necesario insertar manualmente líneas divisorias ‘invisibles’ en fragmentos largos de música sin medir para permitir los saltos:
\bar ""
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Música sin compasear ] | [ Up : Impresión de las duraciones ] | [ División automática de las notas > ] |
Notación polimétrica
Está contemplada la notación polimétrica, ya sea explícitamente o mediante la modificación manual de la indicación visible del compás y/o el escalado de la duración de las notas.
Pentagramas con distintas indicaciones de compás y compases de igual longitud
Establezca una indicación de compás común para cada pentagrama, y
fije timeSignatureFraction
a la fracción deseada. Luego
use la función \scaleDurations
para escalar las duraciones
de las notas en cada pauta a la indicación de compás común.
En el siguiente ejemplo, se usa en paralelo música con compases de 3/4, 9/8 y 10/8. En el segundo pentagrama, las duraciones mostradas se multiplican por 2/3 (pues 2/3 * 9/8 = 3/4), y en el tercer pentagrama, las duraciones que se muestran están multiplicadas por 3/5 (pues 3/5 * 10/8 = 3/4). Con frecuencia habrá que insertar las barras de forma manual, pues el escalado de las duraciones afecta a las reglas de barrado automático.
\relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 9/8 \scaleDurations 2/3 { \repeat unfold 3 { c8[ c c] } \repeat unfold 3 { c4 c8 } } } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 10/8 \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | c4. c \tuplet 3/2 { c8[ c c] } c4 } } >>
Pentagramas con distintas indicaciones de compás y longitudes de compás distintas
Se puede dar a cada pentagrama su propia indicación de compás
independiente trasladando los grabadores Timing_translator
y Default_bar_line_engraver
al contexto de Staff
.
\layout { \context { \Score \remove Timing_translator } \context { \Staff \consists Timing_translator } } % Now each staff has its own time signature. \relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 2/4 c4 c | c4 c | c4 c | } \new Staff { \time 3/8 c4. | c8 c c | c4. | c8 c c | } >>
Indicaciones de compás compuesto
Se crean usando la función \compoundMeter
. La sintaxis es:
\compoundMeter #'(lista de listas)
La construcción más simple es una lista única, en la que el último número indica el denominador de la indicación de compás y los anteriores son los numeradores.
\relative { \compoundMeter #'((2 2 2 8)) \repeat unfold 6 c'8 \repeat unfold 12 c16 }
Se pueden construir compases más complejos utilizando listas adicionales. Asimismo, los ajustes de barrado se ajustarán dependiendo de los valores.
\relative { \compoundMeter #'((1 4) (3 8)) \repeat unfold 5 c'8 \repeat unfold 10 c16 } \relative { \compoundMeter #'((1 2 3 8) (3 4)) \repeat unfold 12 c'8 }
Véase también
Glosario musical: polymetric, polymetric time signature, meter.
Referencia de la notación: Barras automáticas, Barras manuales, Indicación de compás, Escalar las duraciones.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: TimeSignature, Timing_translator, Staff.
Advertencias y problemas conocidos
Aunque las notas que se producen en el mismo momento en distintos pentagramas se colocan en la misma posición horizontal, las barras de compás en cada pauta pueden hacer que el espaciado de notas sea menos regular según cada tipo de compás.
La utilización de un bloque midi
con notación polimétrica
puede causar advertencias inesperadas de comprobación de compás.
En este caso traslade el Timing_translator
del
contexto de Score
al contexto de Staff
dentro del
bloque midi
.
\midi { \context { \Score \remove Timing_translator } \context { \Staff \consists Timing_translator } }
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notación polimétrica ] | [ Up : Impresión de las duraciones ] | [ Mostrar los ritmos de la melodía > ] |
División automática de las notas
Las notas largas se pueden convertir automáticamente en notas
ligadas. Se hace mediante la sustitución del
Note_heads_engraver
por el
Completion_heads_engraver
. De forma similar, los silencios
largos que sobrepasan líneas de compás se dividen automáticamente
sustituyendo el grabador Rest_engraver
con el grabador
Completion_rest_engraver
. En el ejemplo siguiente, las
notas y los silencios que atraviesan la barra de compás se
dividen, y además las notas se unen mediante una ligadura.
\new Voice \with { \remove Note_heads_engraver \consists Completion_heads_engraver \remove Rest_engraver \consists Completion_rest_engraver } \relative { c'2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 }
Estos grabadores dividen todas las notas y silencios largos en la barra de compás, e inserta ligaduras en las notas. Uno de sus usos es depurar partituras complejas: si los compases no están completos, las ligaduras mostrarán exactamente cuánto le falta a cada compás.
La propiedad completionUnit
fija una duración preferida
para las notas divididas.
\new Voice \with { \remove Note_heads_engraver \consists Completion_heads_engraver } \relative { \time 9/8 g\breve. d''4. \bar "||" \set completionUnit = \musicLength 4. g\breve. d4. }
Estos grabadores dividen las notas que tienen la duración escalada, como las de los tresillos, en notas que tienen el mismo factor de escala que la nota original de la entrada.
\new Voice \with { \remove Note_heads_engraver \consists Completion_heads_engraver } \relative { \time 2/4 r4 \tuplet 3/2 {g'4 a b} \scaleDurations 2/3 {g a b} g4*2/3 a b \tuplet 3/2 {g4 a b} r4 }
Véase también
Glosario musical: tie
Manual de aprendizaje: Explicación de los grabadores, Añadir y eliminar grabadores.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: Note_heads_engraver, Completion_heads_engraver, Rest_engraver, Completion_rest_engraver, Forbid_line_break_engraver.
Advertencias y problemas conocidos
Por consistencia con el comportamiento anterior, las notas y
silencios que tienen una duración mayor de un compás, como
c1*2
, se dividen en notas sin ningún factor de escala,
{ c1 c1 }
. La propiedad completionFactor
controla
este comportamiento, y al darle el valor #f
podemos hacer
que las notas y silencios divididos tengan el mismo factor de
escala que las duraciones de las notas originales de la entrada.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < División automática de las notas ] | [ Up : Impresión de las duraciones ] | [ Barras > ] |
Mostrar los ritmos de la melodía
A veces podemos querer mostrar solamente el ritmo de una melodía. Esto se puede hacer con un pentagrama de ritmo. Todas las alturas de las notas se convierten en barras inclinadas, y el pentagrama tiene una sola línea:
<< \new RhythmicStaff { \new Voice = "myRhythm" \relative { \time 4/4 c'4 e8 f g2 r4 g g f g1 } } \new Lyrics { \lyricsto "myRhythm" { This is my song I like to sing } } >>
Las tablas de acordes de guitarra ofrecen a menudo los ritmos de
rasgueado. Esto se puede hacer con el grabador
Pitch_squash_engraver
y \improvisationOn
.
<< \new ChordNames { \chordmode { c1 f g c } } \new Voice \with { \consists Pitch_squash_engraver } \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } >>
También se puede usar música que contenga acordes como entrada
para RhythmicStaff
y para usarla con el grabador
Pitch_squash_engraver
si los acordes se reducen primero a
notas individuales con la función musical \reduceChords
:
\new RhythmicStaff { \time 4/4 \reduceChords { <c>2 <e>2 <c e g>2 <c e g>4 <c e g>4 } }
Instrucciones predefinidas
\improvisationOn
,
\improvisationOff
,
\reduceChords
.
Fragmentos de código seleccionados
Ritmos rasgueados de guitarra
Para la música de guitarra, es posible mostrar los ritmos de rasgueo, además de las notas de la melodía, acordes y diagramas de posiciones.
\include "predefined-guitar-fretboards.ly" << \new ChordNames { \chordmode { c1 | f | g | c } } \new FretBoards { \chordmode { c1 | f | g | c } } \new Voice \with { \consists "Pitch_squash_engraver" } { \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } } \new Voice = "melody" { \relative c'' { c2 e4 e4 f2. r4 g2. a4 e4 c2. } } \new Lyrics { \lyricsto "melody" { This is my song. I like to sing. } } >>
Véase también
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: RhythmicStaff, Pitch_squash_engraver.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Mostrar los ritmos de la melodía ] | [ Up : Duraciones ] | [ Barras automáticas > ] |
1.2.4 Barras
Barras automáticas | ||
Establecer el comportamiento de las barras automáticas | ||
Barras manuales | ||
Barras progresivas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Barras ] | [ Up : Barras ] | [ Establecer el comportamiento de las barras automáticas > ] |
Barras automáticas
De manera predeterminada, las barras de corchea se insertan automáticamente:
\relative c'' { \time 2/4 c8 c c c \time 6/8 c8 c c c8. c16 c8 }
Cuando estas decisiones automáticas no son lo bastante buenas, se pueden escribir los barrados de forma explícita; véase Barras manuales. Las barras se deben introducir manualmente si se quieren extender por encima de los silencios.
Si no se necesita el barrado automático, se puede desactivar con
\autoBeamOff
y activarse con \autoBeamOn
:
\relative c' { c4 c8 c8. c16 c8. c16 c8 \autoBeamOff c4 c8 c8. c16 c8. \autoBeamOn c16 c8 }
Nota: Si se usan barras para indicar los melismas de las
canciones, entonces se debe desactivar el barrado automático con
\autoBeamOff
e indicar las barras manualmente. La
utilización de \partCombine
con \autoBeamOff
puede producir resultados no deseados. Véanse los fragmentos de
código para mayor información.
Se pueden crear patrones de barrado que difieran de los valores automáticos predeterminados; véase Establecer el comportamiento de las barras automáticas.
Instrucciones predefinidas
\autoBeamOff
,
\autoBeamOn
.
Fragmentos de código seleccionados
Barras que atraviesan saltos de línea
Normalmente están prohibidos los saltos de línea si las barras atraviesan las líneas divisorias. Se puede cambiar este comportamiento como se muestra aquí:
\relative c'' { \override Beam.breakable = ##t c8 c[ c] c[ c] c[ c] c[ \break c8] c[ c] c[ c] c[ c] c } \paper { tagline = ##f }
Cambiar el salto de las barras en ángulo
Se insertan automáticamente barras en ángulo cuando se detecta un
intervalo muy grande entre las notas. Se puede hacer un ajuste
fino de este comportamiento a través de la propiedad
auto-knee-gap
. Se traza una barra doblada si el salto es
mayor que el valor de auto-knee-gap
más el ancho del objeto
barra (que depende de la duración de las notas y de la inclinación
de la barra). De forma predeterminada auto-knee-gap
está
establecido a 5.5 espacios de pentagrama.
{ f8 f''8 f8 f''8 \override Beam.auto-knee-gap = 6 f8 f''8 f8 f''8 }
Partcombine and \autoBeamOff
The function of \autoBeamOff
when used with
\partCombine
can be difficult to understand. It may be
preferable to use
\set Staff.autoBeaming = ##f
instead to ensure that auto-beaming is turned off for the entire staff. Use this at a spot in your score where no beam generated by the auto-beamer is still active.
Internally, \partCombine
works with four voices – stem up
single, stem down single, combined, and solo. In order to use
\autoBeamOff
to stop all auto-beaming when used with
\partCombine
, it is necessary to use four calls to
\autoBeamOff
.
{ % \set Staff.autoBeaming = ##f % turns off all auto-beaming \partCombine { \autoBeamOff % applies to split up-stems \repeat unfold 4 a'16 % \autoBeamOff % applies to combined stems \repeat unfold 4 a'8 \repeat unfold 4 a'16 % \autoBeamOff % applies to solo \repeat unfold 4 a'16 r4 } { % \autoBeamOff % applies to split down-stems \repeat unfold 4 f'8 \repeat unfold 8 f'16 | r4 \repeat unfold 4 a'16 } }
Véase también
Referencia de la notación: Barras manuales, Establecer el comportamiento de las barras automáticas.
Archivos instalados: scm/auto-beam.scm.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: Auto_beam_engraver, Beam_engraver, Beam, BeamEvent, BeamForbidEvent, beam-interface, unbreakable-spanner-interface.
Advertencias y problemas conocidos
Las propiedades de una barra vienen determinadas al comienzo de su construcción y cualquier cambio adicional en las propiedades de la barra que se produzca antes de que la barra se ha completado no tendrá efecto hasta que inicie la siguiente barra nueva.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Barras automáticas ] | [ Up : Barras ] | [ Barras manuales > ] |
Establecer el comportamiento de las barras automáticas
Cuando está habilitado el barrado automático, la colocación de las
barras automáticas viene determinada por tres propiedades de
contexto: beatBase
, beatStructure
y
beamExceptions
. Los valores predeterminados de estas
variables se pueden sobreescribir como se describe más abajo, o de
forma alternativa los propios valores predeterminados se pueden
cambiar como se explica en Indicación de compás.
Si hay definida una regla de beamExceptions
para el compás
en curso, se usa dicha regla para determinar la colocación de las
barras; se ignoran los valores de beatBase
y
beatStructure
.
Si no está definida ninguna regla de beamExceptions
para el
tipo de compás en curso, la colocación de las barras está
determinada por los valores de beatBase
y
beatStructure
.
Barrado basado en beatBase
y beatStructure
De forma predeterminada, las reglas de beamExceptions
están
definidas para los compases más comunes, y así las reglas de
beamExceptions
se deben desactivar si pretendemos que el
barrado automático esté basado en beatBase
y
beatStructure
. Las reglas de beamExceptions
se
desactivan mediante
\set Timing.beamExceptions = #'()
Cuando el valor de beamExceptions
se ha fijado a
#'()
, ya sea debido a un ajuste explícito o a causa de que
no hay ninguna regla de beamExceptions
definida
internamente para el compás actual, los puntos finales de las
barras están en los pulsos según viene determinado por las
propiedades de contexto beatBase
y beatStructure
.
beatStructure
es una lista de Scheme que define la longitud
de cada pulso dentro del compás en unidades de beatBase
.
De forma predeterminada, beatBase
es una unidad más que
el denominador del compás. De forma predeterminada también, cada
unidad de longitud beatBase
es un único pulso.
Observe que existen valores de beatStructure
y de
beatBase
diferentes para cada indicación de compás. Los
cambios que se hacen a estas variables se aplican solamente al
tipo de compás en vigor, por lo que dichos cambios se deben
escribir después de la instrucción \time
que da comienzo a
una sección nueva con un tipo de compás distinto, no antes. Los
valores nuevos que se dan a una indicación de compás concreta se
retienen y se vuelven a aplicar cuando ese tipo de compás vuelve a
establecerse.
\relative c'' { \time 5/16 c16^"default" c c c c | % beamExceptions are unlikely to be defined for 5/16 time, % but let's disable them anyway to be sure \set Timing.beamExceptions = #'() \set Timing.beatStructure = 2,3 c16^"(2+3)" c c c c | \set Timing.beatStructure = 3,2 c16^"(3+2)" c c c c | }
\relative { \time 4/4 a'8^"default" a a a a a a a % Disable beamExceptions because they are definitely % defined for 4/4 time \set Timing.beamExceptions = #'() \set Timing.beatBase = #1/4 \set Timing.beatStructure = 1,1,1,1 a8^"changed" a a a a a a a }
Los cambios en los ajustes de barrado se pueden limitar a contextos específicos. Si no se incluye ningún ajuste en un contexto de nivel más bajo, se aplican los ajustes del contexto circundante.
\new Staff { \time 7/8 % No need to disable beamExceptions % as they are not defined for 7/8 time \set Staff.beatStructure = 2,3,2 << \new Voice = one { \relative { a'8 a a a a a a } } \new Voice = two { \relative { \voiceTwo \set Voice.beatStructure = 1,3,3 f'8 f f f f f f } } >> }
En caso de usar varias voces, se debe especificar el contexto
Staff
si queremos aplicar el barrado a todas las voces del
pentagrama:
\time 7/8 % rhythm 3-1-1-2 % Change applied to Voice by default -- does not work correctly % Because of autogenerated voices, all beating will % be at beatBase #1/8 \set beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >> % Works correctly with context Staff specified \set Staff.beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
El valor de beatBase
se puede ajustar para cambiar el
comportamiento de las barras, si se desea. Cuando se hace, el
valor de beatStructure
se debe fijar de manera que sea
compatible con el nuevo valor de beatBase
.
\time 5/8 % No need to disable beamExceptions % as they are not defined for 5/8 time \set Timing.beatBase = #1/16 \set Timing.beatStructure = 7,3 \repeat unfold 10 { a'16 }
De forma predeterminada beatBase
está fijado a una unidad
más que el denominador del compás. Todas las excepciones a este
valor predeterminado están en
scm/time-signature-settings.scm.
Barrado basado en beamExceptions
Las reglas de autobarrado especiales (distintas de terminar una
barra sobre un pulso) están definidas en la propiedad
beamExceptions
.
El valor de beamExceptions
, que es una estructura de datos
de Scheme bastante compleja, se genera fácilmente con la función
\beamExceptions
. Esta función recibe uno o más patrones
rítmicos barrados manualmente y con un compás de duración (los
compases se deben separar por una barra de comprobación de
compás |
porque la función no tiene otra manera de
discernir la longitud del compás). He aquí un ejemplo sencillo:
\relative c'' { \time 3/16 \set Timing.beatStructure = 2,1 \set Timing.beamExceptions = \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } c16 c c | \repeat unfold 6 { c32 } | }
Nota: Un valor de beamExceptions
debe ser una lista de
excepciones completa. Esto es, toda excepción que se tenga
que aplicar debe estar incluida en este ajuste. No es posible
añadir, eliminar o cambiar sólo una de las excepciones. Aunque
esto puede parecer engorroso, significa que no es necesario
conocer los ajustes de barrado actuales para poder especificar un
patrón de barrado nuevo.
Cuando cambia el compás, se fijan los valores predeterminados de
Timing.beatBase
, Timing.beatStructure
y
Timing.beamExceptions
. Un ajuste en el tipo de compás da
como resultado un reinicio de los ajustes de barrado automático
para el contexto Timing
al comportamiento predeterminado.
\relative a' { \time 6/8 \repeat unfold 6 { a8 } % group (4 + 2) \set Timing.beatStructure = 4,2 \repeat unfold 6 { a8 } % go back to default behavior \time 6/8 \repeat unfold 6 { a8 } }
Los ajustes de barrado automático predeterminados para un tipo de compás están determinados en el archivo scm/time-signature-settings.scm. La forma de cambiar los ajustes predeterminados de barrado automático para un tipo de compás se describe en Indicación de compás.
Muchos ajustes de barrado automáticos para un tipo de compás
contienen una entrada para beamExceptions
. Por ejemplo, el
compás de 4/4 trata de unir el compás en dos partes si solo hay
corcheas. La regla beamExceptions
puede sobreescribir el
ajuste beatStructure
si no se reinicia
beamExceptions
.
\time 4/4 \set Timing.beatBase = #1/8 \set Timing.beatStructure = 3,3,2 % This won't beam (3 3 2) because of beamExceptions \repeat unfold 8 {c''8} | % This will beam (3 3 2) because we clear beamExceptions \set Timing.beamExceptions = #'() \repeat unfold 8 {c''8}
De forma similar, las corcheas en compás de 3/4 se unen mediante
una sola barra para todo el compás, de forma predeterminada. Para
unir las corcheas en 3/4 mediante una barra en cada parte,
reinicie beamExceptions
.
\time 3/4 % by default we beam in (6) due to beamExceptions \repeat unfold 6 {a'8} | % This will beam (1 1 1) due to default beatBase and beatStructure \set Timing.beamExceptions = #'() \repeat unfold 6 {a'8}
En la música tipografiada de los períodos clásico y romántico, con
frecuencia las barras comienzan a mitad de un compás en 3/4, pero
la práctica moderna es evitar la falsa impresión de 6/8 (véase
Gould, pág. 153). Se producen situaciones similares en el compás
de 3/8. Este comportamiento viene controlado mediante la
propiedad de contexto beamHalfMeasure
, que tiene efecto
solamente sobre indicaciones de compás que tienen la cifra 3 en el
numerador:
\relative a' { \time 3/4 r4. a8 a a | \set Timing.beamHalfMeasure = ##f r4. a8 a a | }
Cómo funciona el barrado automático
Cuando se habilita el barrado automático, la colocación de las
barras de corchea automáticas viene determinada por las
propiedades de contexto beatBase
, beatStructure
y
beamExceptions
.
Son de aplicación las siguientes reglas, en orden de prioridad, cuando se determina el aspecto de las barras:
- Si está especificada una barra manual con
[…]
, fijar la barra tal y como se ha especificado; en caso contrario, - si está definida en
beamExceptions
una regla de barrado para este tipo de barra, utilizarla para determinar los lugares válidos en que pueden terminar las barras; en caso contrario, - si está definida en
beamExceptions
una regla de final de barra para un tipo de barra más largo, utilizarla para determinar los lugares válidos en que pueden terminar las barras; en caso contrario, - usar los valores de
beatBase
y debeatStructure
para determinar los finales de los pulsos dentro del compás, y terminar las barras al final de los pulsos.
En las reglas anteriores, el tipo de barra beam-type es la duración de la nota más breve dentro del grupo unido por una barra.
Las reglas de barrado predefinidas están en el archivo scm/time-signature-settings.scm.
Fragmentos de código seleccionados
Subdivisión de barras
Las barras de semicorchea, o de figuras más breves, no se subdividen
de forma predeterminada. Esto es, las tres (o más) barras se amplían
sin romperse sobre grupos completos de notas. Este comportamiento se
puede modificar para subdividir las barras en subgrupos mediante el
establecimiento de la propiedad subdivideBeams
. Cuando está
activada, las barras se subdividen a intervalos definidos por el valor
actual de beatBase
mediante la reducción de las barras
repetidas a una sola entre los subgrupos. Observe que el valor
predeterminado de beatBase
es uno más que el denominador del
tipo de compás actual, si no se fija explícitamente. Se debe ajustar
a una fracción que da la duración del subgrupo de barras utilizando la
función ly:make-moment
, como se ve en este fragmento de código.
Asimismo, cuando se modifica beatBase
, se debería cambiar
también beatStructure
para que corresponda al beatBase
nuevo:
\relative c'' { c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] % Set minimum beam subdivision interval to 1/8 just for this beam \once \set minimumBeamSubdivisionInterval = \musicLength 8 c32[ c c c c c c c] % Set maximum beam subdivision interval to 1/16 just for this beam \once \set maximumBeamSubdivisionInterval = \musicLength 16 c32[ c c c c c c c] % Set maximum beam subdivision interval to 3/8 just for this beam \once \set maximumBeamSubdivisionInterval = \musicLength 8*3 [ \repeat unfold 16 c64 ] r2. % Set maximum beam subdivision interval to 1/64 to limit subdivision depth, % despite not being metrically correct \once \set minimumBeamSubdivisionInterval = \musicLength 32 \once \set maximumBeamSubdivisionInterval = \musicLength 64 [ \repeat unfold 32 c128 ] r2. % Shorten beam by 1/32 c32[ c c c c c c] r32 % Shorten beam by 3/32 c32[ c c c c] r16. % Respect the incomplete beams of the previous two examples \set respectIncompleteBeams = ##t c32[ c c c c c c] r32 % no visual change here as last two stems are exempt from this % special rule c32[ c c c c] r16. }
Barras que se atienen al pulso estrictamente
Se puede hacer que las barras secundarias apunten en la dirección del pulso o fracción a que pertenecen. La primera barra evita los corchetes sueltos (que es el comportamiento predeterminado); la segunda barra sigue el pulso o fracción estrictamente.
\relative c'' { \time 6/8 a8. a16 a a \set strictBeatBeaming = ##t a8. a16 a a }
Símbolos de dirección y símbolos de agrupación de compás
La agrupación de pulsos dentro de un compás está controlada por la
propiedad de contexto beatStructure
. Hay establecidos valores
de beatStructure
para muchos tipos de compases en
scm/time-signature-settings.scm
. Los valores de
beatStructure
se pueden cambiar o establecer con \set
.
Como alternativa, se puede usar \time
para establecer tanto el
compás como la estructura de pulsos. Para ello, especificamos la
agrupación interna de los pulsos del compás como una lista de números
(en la sintaxis de Scheme) antes de la indicación de compás.
\time
se aplica al contexto Timing
, por lo que no
restablece los valores de beatStructure
ni de beatBase
que se establezcan en otros contextos de nivel inferior, como
Voice
.
Si el grabador Measure_grouping_engraver
está incluido en uno
de los contextos de presentación, se imprimirán signos de agrupación
de pulsos. Estos símbolos facilitan la lectura de música moderna
rítmicamente compleja. En este ejemplo, el compás de 9/8 se agrupa
según dos patrones distintos utilizando los dos métodos, mientras que
el compás de 5/8 se agrupa de acuerdo con el ajuste predeterminado que
está en scm/time-signature-settings.scm
:
\score { \new Voice \relative c'' { \time 9/8 g8 g d d g g a( bes g) | \set Timing.beatStructure = 2,2,2,3 g8 g d d g g a( bes g) | \time 4,5 9/8 g8 g d d g g a( bes g) | \time 5/8 a4. g4 | \time 3,3,2 4/4 \set Timing.beatBase = #1/8 f4 d8 f4 d8 g4 } \layout { \context { \Staff \consists "Measure_grouping_engraver" } } }
Finales de barra en el contexto Score
Las reglas de final de barra especificadas en el contexto
Score
se aplican a todos los pentagramas, pero se pueden
modificar tanto en los niveles de Staff
como de
Voice
:
\relative c'' { \time 5/4 % Set default beaming for all staves \set Score.beatBase = #1/8 \set Score.beatStructure = 3,4,3 << \new Staff { c8 c c c c c c c c c } \new Staff { % Modify beaming for just this staff \set Staff.beatStructure = 6,4 c8 c c c c c c c c c } \new Staff { % Inherit beaming from Score context << { \voiceOne c8 c c c c c c c c c } % Modify beaming for this voice only \new Voice { \voiceTwo \set Voice.beatStructure = 6,4 a8 a a a a a a a a a } >> } >> }
Véase también
Referencia de la notación: Indicación de compás.
Archivos de inicio: scm/time-signature-settings.scm.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: Auto_beam_engraver, Beam, BeamForbidEvent, beam-interface.
Advertencias y problemas conocidos
Si una partitura termina mientras una barra de corchea automática
no ha terminado y aún acepta notas, esta última barra no se
imprime en absoluto. Lo mismo sirve para las voces polifónicas
introducidas con << … \\ … >>
. Si una voz
polifónica termina mientras una barra de corchea automática aún
admite notas, no se imprime. El rodeo para estos problemas es
aplicar el barrado manual a la última barra de la voz o partitura.
De forma predeterminada, el traductor Timing
recibe el
nombre del contexto Score
como alias. Esto significa que
el establecimiento del compás en ua pauta afectará al barrado de
las otras pautas también. Así, un ajuste en el compás en un
pentagrama tardío reiniciará el barrado personalizado que se había
ajustado en un pentagrama más temprano. Una forma de evitar este
problema es ajustar la indicación de compás en un pentagrama
solamente.
<< \new Staff { \time 3/4 \set Timing.beatBase = #1/8 \set Timing.beatStructure = 1,5 \set Timing.beamExceptions = #'() \repeat unfold 6 { a'8 } } \new Staff { \repeat unfold 6 { a'8 } } >>
Los ajustes de barrado predeterminados para dicho compás también se pueden cambiar, de forma que siempre se utilice siempre el barrado deseado. La manera de efectuar cambios en los ajustes de barrado automático para una indicación de compás se describe en Indicación de compás.
<< \new Staff { \overrideTimeSignatureSettings 3/4 % timeSignatureFraction #1/8 % beatBase 1,5 % beatStructure #'() % beamExceptions \time 3/4 \repeat unfold 6 { a'8 } } \new Staff { \time 3/4 \repeat unfold 6 { a'8 } } >>
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Establecer el comportamiento de las barras automáticas ] | [ Up : Barras ] | [ Barras progresivas > ] |
Barras manuales
En ciertos casos puede ser preciso sobreescribir el algoritmo de
barrado automático. Por ejemplo, el barrador automático no
escribe barras por encima de los silencios o las líneas
divisorias, y en las partituras corales el barrado se ajusta con
frecuencia para que siga la medida de la letra en vez de la de las
notas. Tales barras se especifican manualmente marcando los
puntos de comienzo y final con [
y ]
\relative { r4 r8[ g' a r] r g[ | a] r }
La dirección de las barras se puede establecer manualmente utilizando indicadores de dirección:
\relative { c''8^[ d e] c,_[ d e f g] }
Se pueden marcar notas individuales con \noBeam
para evitar
que resulten unidas por una barra:
\relative { \time 2/4 c''8 c\noBeam c c }
Se pueden producir al mismo tiempo barras de notas de adorno y barras normales. Las notas de adorno sin barra no se colocan dentro de las barras de notas normales.
\relative { c''4 d8[ \grace { e32 d c d } e8] e[ e \grace { f16 } e8 e] }
Se puede conseguir un control incluso más estricto sobre las
barras estableciendo las propiedades stemLeftBeamCount
y
stemRightBeamCount
. Especifican el número de barras que se
dibujarán en los lados izquierdo y derecho, respectivamente, de la
nota siguiente. Si cualquiera de estas dos propiedades está
ajustada a un valor, dicho valor se usará una sola vez, y luego se
borrará. En este ejemplo, el último Fa se imprime con sólo una
barra en el lado izquierdo, es decir, la barra de corchea del
grupo como un todo.
\relative a' { a8[ r16 f g a] a8[ r16 \set stemLeftBeamCount = #2 \set stemRightBeamCount = #1 f16 \set stemLeftBeamCount = #1 g16 a] }
Instrucciones predefinidas
\noBeam
.
Fragmentos de código seleccionados
Beam nibs
Beam nibs at the start and end of beams together with beams attached to
solitary notes that look like flat flags are possible with a
combination of stemLeftBeamCount
, stemRightBeamCount
, and
paired []
beam indicators.
For imitating right-pointing flat flags on lone notes, use paired
[]
beam indicators and set stemLeftBeamCount
to
zero. For imitating left-pointing flat flags on lone notes, set
stemRightBeamCount
to zero instead (line one).
For right-pointing nibs at the end of a run of beamed notes, set
stemRightBeamCount
to a positive value. For left-pointing nibs
at the start of a run of beamed notes, set stemLeftBeamCount
instead (line two).
Sometimes it may make sense for a lone note surrounded by rests to
carry both a left- and right-pointing nib. Do this with paired
[]
beam indicators alone (line three).
Note that \set stemLeftBeamCount
is always equivalent to
\once \set
. In other words, the beam count settings are not
“sticky”, so the pair of nibs attached to the lone 16th note in the
last example has nothing to do with the \set
command for the
beam before.
\score { << \new RhythmicStaff { \set stemLeftBeamCount = 0 c16[] r8. r8. \set stemRightBeamCount = 0 16[] } \new RhythmicStaff { 16 16 \set stemRightBeamCount = 2 16 r r \set stemLeftBeamCount = 2 16 16 16 } \new RhythmicStaff { 16 16 \set stemRightBeamCount = 2 16 r16 16[] r16 \set stemLeftBeamCount = 2 16 16 } >> }
Véase también
Referencia de la notación: Dirección y posición, Notas de adorno.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: Beam, BeamEvent, Beam_engraver, beam-interface, Stem_engraver.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Barras manuales ] | [ Up : Barras ] | [ Compases > ] |
Barras progresivas
Las barras progresivas se usan para indicar que un pequeño grupo
de notas se debe tocar a una velocidad creciente (o decreciente),
sin cambiar el tempo general de la pieza. El ámbito de la barra
progresiva se debe indicar manualmente usando [
y ]
,
el efecto de ángulo de la barra se inicia especificando una
dirección en la propiedad grow-direction
del objeto
Beam
.
Si queremos que la colocación de las notas y el sonido de la
salida MIDI refleje el ritardando o accelerando
indicado por la barra progresiva, las notas se deben agrupar como
una expresión musical delimitada por llaves y precedida de una
instrucción featheredDurations
que especifica la razón
entre las duraciones de la primera y la última notas dentro del
grupo.
Los corchetes rectos muestran el ámbito de la barra y las llaves muestran qué notas han de modificar sus duraciones. Normalmente delimitarían el mismo grupo de notas, pero no es un requisito: las dos instrucciones son independientes.
En el ejemplo siguiente las ocho semicorcheas ocupan exactamente el mismo tiempo que una blanca, pero la primera nota tiene la mitad de duración que la última, con las notas intermedias alargándose gradualmente. Las cuatro primeras fusas se aceleran gradualmente, mientras que las últimas cuatro fusas están a un tempo constante.
\relative c' { \override Beam.grow-direction = #LEFT \featherDurations 2/1 { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT \featherDurations 2/3 { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() { g32[ a b c] } }
El espaciado en la salida impresa representa las duraciones de las notas de una forma sólo aproximada, pero la salida MIDI es exacta.
Instrucciones predefinidas
\featherDurations
.
Véase también
Fragmentos de código: Rhythms.
Advertencias y problemas conocidos
La instrucción \featherDurations
sólo funciona con
fragmentos musicales muy breves, y cuando los números de la
fracción son pequeños.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Barras progresivas ] | [ Up : Duraciones ] | [ Barras de compás > ] |
1.2.5 Compases
Barras de compás | ||
Numeración de compases | ||
Comprobación de compás y de número de compás | ||
Llamadas de ensayo |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Compases ] | [ Up : Compases ] | [ Numeración de compases > ] |
Barras de compás
Las líneas divisorias delimitan a los compases pero también se pueden usar para indicar las repeticiones. Normalmente, las líneas divisorias normales se insertan de manera automática en la salida impresa en lugares que están basados en el compás actual.
Las barras de compás sencillas insertadas automáticamente se
pueden cambiar por otros tipos con la instrucción \bar
.
Por ejemplo, se suele poner una doble barra de cierre al final de
la pieza:
\relative { e'4 d c2 \bar "|." }
No deja de ser válida la última nota de un compás si no termina sobre la línea divisoria automática: se supone que la nota se prolonga sobre el compás siguiente. Pero una secuencia larga de dichos compases prolongados puede hacer que la música aparezca comprimida o incluso que se salga de la página. Esto es a causa de que los saltos de línea automáticos solamente se producen al final de compases completos, es decir, cuando todas las notas han finalizado antes de que el compás termine.
Nota: Una duración incorrecta puede hacer que se trate de evitar la producción de saltos de línea, dando como resultado una línea de música con una compresión exagerada o música que se sale de la página.
También se permiten saltos de línea en las barras insertadas manualmente incluso dentro de compases incompletos. Para permitir un salto de línea donde no hay ninguna línea divisoria visible, utilice lo siguiente:
\bar ""
De esta manera se insertará una barra invisible de compás y se hará posible el salto de línea en este punto, sin forzarlo. No se incrementa el contador de los números de compás. Para forzar un salto de línea, consulte Saltos de línea.
Esta y otras líneas divisorias especiales se pueden insertar manualmente en cualquier punto. Cuando coinciden con el final de un compás, sustituyen a la línea divisoria simple que se habría insertado automáticamente en dicho lugar. Cuando no coinciden con el final de un compás, se inserta la línea especificada en ese punto en la salida impresa.
Observe que las líneas divisorias manuales son puramente visuales. No afectan a ninguna de las propiedades que una barra normal afectaría, como a los números de compás, alteraciones, saltos de línea, etc. No afectan tampoco al cálculo y colocación de las líneas divisorias subsiguientes. Cuando una divisoria se coloca manualmente donde ya existe una divisoria normal, los efectos de la línea original no se alteran.
Están disponibles para su inserción manual dos tipos de líneas divisorias simples y cinco tipos de doble barra:
\relative { f'1 \bar "|" f1 \bar "." g1 \bar "||" a1 \bar ".|" b1 \bar ".." c1 \bar "|.|" d1 \bar "|." e1 }
así como la barra de puntos y la discontinua:
\relative { f'1 \bar ";" g1 \bar "!" a1 }
y nueve tipos de barra de repetición:
\relative { f'1 \bar ".|:" g1 \bar ":..:" a1 \bar ":|.|:" b1 \bar ":|.:" c1 \bar ":.|.:" d1 \bar "[|:" e1 \bar ":|][|:" f1 \bar ":|]" g1 \bar ":|." a1 }
Además se puede imprimir una línea divisoria como una marca corta:
f'1 \bar "'" g'1
Sin embargo, dado que las mencionadas marcas se utilizan
usualmente en el canto gregoriano, es preferible en este caso
utilizar \divisioMinima
, que se describe en la sección
Divisiones dentro de Canto gregoriano.
LilyPond contempla la notación del canto kievano y ofrece una línea divisoria especial kievana:
f'1 \bar "k"
Pueden verse más detalles de esta notación explicados en Tipografiado del canto kievano en notación cuadrada.
Para los símbolos de segno en línea, existen tres tipos de barras de compás que se diferencian en su comportamiento en los saltos de línea:
\fixed c' { c4 4 4 4 \bar "S" d4 4 4 4 \break \bar "S" e4 4 4 4 \bar "S-|" f4 4 4 4 \break \bar "S-|" g4 4 4 4 \bar "S-||" a4 4 4 4 \break \bar "S-||" b4 4 4 4 \bar "S-S" c'4 4 4 4 \break \bar "S-S" d'1 }
Aunque se pueden insertar manualmente barras de compás con significado de repeticiones, no se reconocen como repeticiones por parte de LilyPond. Las secciones repetidas se introducen mejor utilizando las diversas instrucciones de repetición (véase Repeticiones), que imprimen automáticamente las barras correspondientes.
Además se puede especificar ".|:-||"
, que equivale a
".|:"
excepto en los saltos de línea, en que produce una
doble barra al final de la línea y una repetición izquierda (de
comienzo) al principio de la línea siguiente.
\fixed c' { c4 4 4 4 \bar ".|:" d4 4 4 4 \break \bar ".|:" e4 4 4 4 \bar ".|:-|" f4 4 4 4 \break \bar ".|:-|" g4 4 4 4 \bar ".|:-||" a4 4 4 4 \break \bar ".|:-||" b4 4 4 4 \bar ".|:-|." c'4 4 4 4 \break \bar ".|:-|." d'4 4 4 4 }
Para combinaciones de repeticiones con el símbolo de segno, existen seis variantes diferentes:
\fixed c' { g,4 4 4 4 \bar ":|.S" a,4 4 4 4 \break \bar ":|.S" b,4 4 4 4 \bar ":|.S-S" c4 4 4 4 \break \bar ":|.S-S" d4 4 4 4 \bar "S.|:-S" e4 4 4 4 \break \bar "S.|:-S" f4 4 4 4 \bar "S.|:" g4 4 4 4 \break \bar "S.|:" a4 4 4 4 \bar "S.|:-|" b4 4 4 4 \break \bar "S.|:-|" c'4 4 4 4 \bar "S.|:-||" d'4 4 4 4 \break \bar "S.|:-||" e'4 4 4 4 \bar ":|.S.|:" f'4 4 4 4 \break \bar ":|.S.|:" g'4 4 4 4 \bar ":|.S.|:-S" a'4 4 4 4 \break \bar ":|.S.|:-S" b'1 }
Además, existe una instrucción \inStaffSegno
que crea una
barra de compás con símbolo de segno, situada en conjunción con
una línea de repetición adecuada si se utiliza con una instrucción
\repeat volta
, véase Repeticiones normales.
Se pueden definir tipos nuevos de líneas divisorias con
\defineBarLine
:
\defineBarLine tipo_de_barra #'(final comienzo extensión)
Además de bartype (la cadena de caracteres que se usará después para referirnos a la nueva línea divisoria), admite tres valores: los dos primeros determinan la apariencia de la línea divisoria cuando se produce en el salto de línea, en cuyo caso los glifos dados primero y segundo se imprimen respectivamente al final del sistema y al principio del siguiente. El tercer glifo proporcionado solamente es de relevancia en sistemas de más de un pentagrama (véase Agrupar pentagramas), donde se usa como una barra de extensión, que se imprime entre los pentagramas.
Las variables de \defineBarLine
pueden incluir la cadena de
caracteres ‘vacía’ ""
, que equivale a imprimir una línea
divisoria invisible. También se puede establecer al valor falso
#f
que no imprime línea divisoria alguna.
Después de la definición, la nueva línea divisoria se puede
utilizar mediante \bar
tipo_de_barra.
Actualmente están disponibles diez elementos de barra de compás:
\defineBarLine ":" #'("" ":" "") \defineBarLine "=" #'("=" "" "") \defineBarLine "[" #'("" "[" "") \defineBarLine "]" #'("]" "" "") \new Staff { s1 \bar "|" s1 \bar "." s1 \bar "!" s1 \bar ";" s1 \bar ":" s1 \bar "k" s1 \bar "S" s1 \bar "=" s1 \bar "[" s1 \bar "]" s1 \bar "" }
La línea divisoria "="
proporciona la barra de doble
extensión, usada en combinación con el símbolo de segno. No se
recomienda usarla como una doble línea divisoria fina aislada;
para ello es casi siempre preferible \bar
"||".
El signo "-"
inicia anotaciones a las barras de compás, que
son útiles para distinguir entre aquellas que tienen idéntica
apariencia pero distinto comportamiento en los saltos de línea y/o
diferentes barras de extensión. La parque que sigue al signo
"-"
no se usa para construir la barra de compás.
\defineBarLine "||-dashedSpan" #'("||" "" "!!") \new StaffGroup << \new Staff \relative c'' { c1 \bar "||" c1 \bar "||-dashedSpan" c1 } \new Staff \relative c'' { c1 c1 c1 } >>
Además, el carácter del espacio en blanco " "
sirve como
contenedor para definir barras de extensión correctamente
alineadas a las barras principales:
\defineBarLine ":|.-wrong" #'(":|." "" "|.") \defineBarLine ":|.-right" #'(":|." "" " |.") \new StaffGroup << \new Staff \relative c'' { c1 \bar ":|.-wrong" c1 \bar ":|.-right" c1 } \new Staff \relative c'' { c1 c1 c1 } >>
Los nuevos tipos de línea divisoria definidos mediante el uso de
\defineBarLine
pueden, a su vez, utilizarse dentro de una
segunda definición de línea divisoria. Tales definiciones
‘anidadas’ hacen posible usar glifos personalizados en lugares
en los que no sería posible hacerlo de otra forma, como en el
extremo final de los sistemas:
\defineBarLine "||-dashEverywhere" #'("!!" "!!" "!!") \defineBarLine "||-advancedDashSpan" #'("||-dashEverywhere" "" "!!") \new StaffGroup << \new Staff \relative c'' { c1 \bar "||" c1 \bar "||-advancedDashSpan" c1 \bar "||-advancedDashSpan" } \new Staff \relative c'' { c1 c1 c1 } >>
Si se necesitan elementos adicionales, LilyPond provee una forma sencilla de definirlos. Para ver más información sobre cómo modificar o añadir barras de compás, consulte el archivo scm/bar-line.scm.
En las partituras con muchos pentagramas, una instrucción
\bar
en uno de ellos se aplica automáticamente a todos los
demás. Las líneas resultantes se conectan entre los distintos
pentagramas de un StaffGroup
, PianoStaff
o
GrandStaff
.
<< \new StaffGroup << \new Staff \relative { e'4 d \bar "||" f4 e } \new Staff \relative { \clef bass c'4 g e g } >> \new Staff \relative { \clef bass c'2 c2 } >>
La instrucción ‘\bar tipo de barra’ es una forma corta
de hacer ‘\set Timing.whichBar = tipo de barra’.
Cuando whichBar
se establece con el valor de una cadena, se
crea una línea divisoria de ese tipo.
El tipo de barra predeterminado que se usa para las líneas
divisorias insertadas automáticamente es "|"
. Se puede
cambiar en cualquier momento con ‘\set Timing.measureBarType
= tipo de barra’.
Véase también
Referencia de la notación: Saltos de línea, Repeticiones, Agrupar pentagramas.
Archivos instalados: scm/bar-line.scm.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno:
BarLine (creada al nivel de Staff
(pentagrama)),
SpanBar (a través de los pentagramas),
Timing_translator (para las propiedades del contador de tiempo Timing).
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Barras de compás ] | [ Up : Compases ] | [ Comprobación de compás y de número de compás > ] |
Numeración de compases
Por defecto, los números de compás se imprimen al principio de la
línea, excepto la primera. El número propiamente dicho se
almacena en la propiedad currentBarNumber
, que normalmente
se actualiza automáticamente para cada compás. También se puede
establecer manualmente:
\relative c' { c1 c c c \break \set Score.currentBarNumber = #50 c1 c c c }
Los números de compás se pueden tipografiar a intervalos regulares
en vez de al principio de cada línea. Para hacerlo se debe
sobreescribir el comportamiento predeterminado de forma que se
puedan imprimir en otros lugares. Esto viene controlado por la
propiedad break-visibility
de BarNumber
. Toma tres
valores que se pueden fijar al valor #t
o #f
para
especificar si el número de compás correspondiente es visible o
no. El orden de los tres valores es visible al final de la
línea
, visible en mitad de la línea
, visible al
principio de la línea
. En el ejemplo siguiente se imprimen los
números de compás en todos los sitios posibles:
\relative c' { \override Score.BarNumber.break-visibility = ##(#t #t #t) \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" c1 | c | c | c | \break c1 | c | c | c | }
Fragmentos de código seleccionados
Imprimir el número de compás en el primer compás
De forma predeterminada se suprime el número del primer compás de una
partitura si es menor o igual a ‘1’. Al establecer el valor de
barNumberVisibility
a all-bar-numbers-visible
, se puede
imprimir cualquier número de compás para el primer compás y todos los
siguientes. Observe que, para que esto funcione, se debe insertar una
líinea divisoria vacía antes de la primera nota.
\layout { indent = 0 ragged-right = ##t } \relative c' { \set Score.barNumberVisibility = #all-bar-numbers-visible c1 | d | e | f \break g1 | e | d | c }
Imprimir números de compás a intervalos regulares
Se pueden imprimir los números de compás a intervalos regulares
mediante el establecimiento de la propiedad
barNumberVisibility
. Aquí los números de compás se
imprimen a cada dos compases excepto al final de la línea.
\relative c' { \override Score.BarNumber.break-visibility = #end-of-line-invisible \set Score.currentBarNumber = 11 % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c | c | c | c \break c1 | c | c | c | c } \paper { tagline = ##f }
Printing bar numbers with changing regular intervals
Using the set-bar-number-visibility
context function, bar number
intervals can be changed.
\relative c' { \override Score.BarNumber.break-visibility = #end-of-line-invisible \context Score \applyContext #(set-bar-number-visibility 4) \repeat unfold 10 c'1 \context Score \applyContext #(set-bar-number-visibility 2) \repeat unfold 10 c } \paper { tagline = ##f }
Imprimir números de compás dentro de rectángulos o circunferencias
Los números de compás también se pueden imprimir dentro de rectángulos o de circunferencias.
\relative c' { % Prevent bar numbers at the end of a line and permit them elsewhere \override Score.BarNumber.break-visibility = #end-of-line-invisible \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4) % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = 2 % Draw a box round the following bar number(s) \override Score.BarNumber.stencil = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print) \repeat unfold 5 { c1 } % Draw a circle round the following bar number(s) \override Score.BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print) \repeat unfold 4 { c1 } \bar "|." }
Numeración de compases alternativa
Se pueden seleccionar dos métodos alternativos para la numeración de compases, especiales para cuando hay repeticiones.
music = \relative c' { \repeat volta 3 { c4 d e f | \alternative { \volta 1 { c4 d e f | c2 d \break } \volta 2 { f4 g a b | f4 g a b | f2 a | \break } \volta 3 { c4 d e f | c2 d } } } c1 \bar "|." } \markup "default" { \music } \markup \typewriter "'numbers" { \set Score.alternativeNumberingStyle = #'numbers \music } \markup \typewriter "'numbers-with-letters" { \set Score.alternativeNumberingStyle = #'numbers-with-letters \music } \paper { tagline = ##f }
Alineación de los números de compás
Los números de compás se alinean de forma predeterminada por la derecha con su objeto padre. Éste es por lo general el borde izquierdo de una línea o, si los números se imprimen dentro de la línea, el lado izquierdo de una línea divisoria. Los números también se pueden situar directamente sobre la barra de compás o alineados por la izquierda con ella.
\relative c' { \set Score.currentBarNumber = 111 \override Score.BarNumber.break-visibility = #all-visible % Increase the size of the bar number by 2 \override Score.BarNumber.font-size = 2 % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c1 % Center-align bar numbers \override Score.BarNumber.self-alignment-X = #CENTER c1 | c1 % Left-align bar numbers \override Score.BarNumber.self-alignment-X = #LEFT c1 | c1 }
Suprimir los números de compás de toda la partitura
Se pueden eliminar completamente los números de compás quitando el
grabador Bar_number_engraver
del contexto de Score
.
\layout { \context { \Score \omit BarNumber % or: %\remove "Bar_number_engraver" } } \relative c'' { c4 c c c \break c4 c c c } \paper { tagline = ##f }
Véase también
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: BarNumber, Bar_number_engraver.
Advertencias y problemas conocidos
Los números de compás pueden colisionar con el corchete
StaffGroup
, si hay uno en la parte de arriba. Para
solucionarlo, se puede usar la propiedad de relleno padding
de BarNumber
para colocar el número correctamente.
Consulte StaffGroup y BarNumber para ver
más información.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Numeración de compases ] | [ Up : Compases ] | [ Llamadas de ensayo > ] |
Comprobación de compás y de número de compás
Las comprobaciones de compás ayudan a detectar errores en las
duraciones. Una comprobación de compás se escribe usando el
símbolo de la barra vertical, |
, en cualquier lugar donde
se espera que caiga una línea divisoria. Si se encuentran líneas
de comprobación de compás en otros lugares, se imprime una lista
de advertencias en el archivo log de registro, mostrando los
números de línea y columna en que han fallado las comprobaciones
de compás. En el siguiente ejemplo, la segunda comprobación de
compás avisará de un error.
\time 3/4 c2 e4 | g2 |
Una duración incorrecta produce una partitura completamente desbaratada, especialmente si la partitura es polifónica, de manera que la mejor forma de empezar a corregir la entrada es buscar sistemáticamente la existencia de comprobaciones de compás fallidas y duraciones incorrectas.
Si se producen varias comprobaciones de compás seguidas por valor de la misma duración musical, solo aparece el primer mensaje de advertencia. Así se consigue que el mensaje esté concentrado en la fuente del error de pulso.
Las comprobaciones de compás también se pueden insertar dentro de la letra de las canciones:
\lyricmode { \time 2/4 Twin -- kle | Twin -- kle | }
Observe que las comprobaciones de compás dentro de la letra de las canciones se evalúan en el momento musical de la sílaba siguiente a la comprobación de compas que se procesa. Si la letra está asociada con las notas de una voz que tiene un silencio al principio del compás, no se puede poner ninguna sílaba al comienzo de ese compás y se imprimie un mensaje de advertencia si se escribe una comprobación de compás dentro de la letra, en esa posición.
También es posible redefinir la acción que se lleva a cabo cuando
se encuentra una barra vertical o símbolo de comprobación de
compás, |
, en el código de entrada, de forma que haga algo
distinto a una comprobación de compás. Se hace asignando una
expresión musical a "|"
, el símbolo de barra vertical. En
el ejemplo siguiente se establece |
de forma que inserte
una doble línea divisoria cuando aparece en el código de entrada,
en vez de comprobar el final de un compás.
"|" = \bar "||" { c'2 c' | c'2 c' c'2 | c' c'2 c' }
Al copiar piezas musicales grandes puede servir de ayuda comprobar
que el número de compás de LilyPond corresponde al original desde
el que está copiando. Esto se puede comprobar con
\barNumberCheck
, por ejemplo:
\barNumberCheck #123
imprime una advertencia si el currentBarNumber
(número del
compás actual) no es el 123 en el momento de la compilación.
Véase también
Fragmentos de código: Rhythms.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Comprobación de compás y de número de compás ] | [ Up : Compases ] | [ Asuntos rítmicos especiales > ] |
Llamadas de ensayo
Para imprimir una letra de ensayo, utilice la orden \mark
.
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark \default c1 \mark \default }
La letra de ensayo se incrementa automáticamente si usa
\mark \default
, pero también puede utilizar un número
entero como argumento para establecer la indicación manualmente.
El valor que se utilizará se almacena dentro de la propiedad
rehearsalMark
.
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
La letra ‘I’ se salta de acuerdo con las tradiciones de grabado. Si quiere incluir la letra ‘I’, use una de las instrucciones siguientes, según el estilo de marcas de ensayo que desee (sólo letras, letras dentro de un rectángulo o letras dentro de un círculo).
\set Score.rehearsalMarkFormatter = #format-mark-alphabet \set Score.rehearsalMarkFormatter = #format-mark-box-alphabet \set Score.rehearsalMarkFormatter = #format-mark-circle-alphabet
\relative c'' { \set Score.rehearsalMarkFormatter = #format-mark-box-alphabet c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
El estilo se define por medio de la propiedad
rehearsalMarkFormatter
. Es una función que toma como argumentos la
marca en curso (un número entero) y el contexto actual. Debe
devolver un objeto de marcado. En el ejemplo siguiente, se
establece rehearsalMarkFormatter
con el valor de un procedimiento
enlatado. Después de algunos compases, se establece con el valor
de una función que produce un número encerrado en una caja.
\relative c'' { \set Score.rehearsalMarkFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.rehearsalMarkFormatter = #format-mark-box-numbers c1 \mark \default \set Score.rehearsalMarkFormatter = #format-mark-circle-numbers c1 \mark \default \set Score.rehearsalMarkFormatter = #format-mark-circle-letters c1 }
El archivo scm/translation-functions.scm contiene las
definiciones de format-mark-letters
(el formato por
omisión), format-mark-box-letters
,
format-mark-numbers
y format-mark-box-numbers
. Se
pueden usar éstos como inspiración para otras funciones de
formateo.
Podemos utilizar format-mark-barnumbers
,
format-mark-box-barnumbers
y
format-mark-circle-barnumbers
para obtener números de
compás en lugar de números o letras secuenciales.
Se pueden especificar otros estilos de letra de ensayo de forma manual:
\mark "A1"
Observe que Score.rehearsalMarkFormatter
no afecta a las marcas que
se especifican de esta forma. Sin embargo, es posible aplicar un
elemento \markup
a la cadena.
\mark \markup { \box A1 }
Los glifos musicales (como el segno) se pueden imprimir dentro de
un elemento \mark
\relative c' { c1 \mark \markup { \musicglyph "scripts.segno" } c1 \mark \markup { \musicglyph "scripts.coda" } c1 \mark \markup { \musicglyph "scripts.ufermata" } c1 }
Consulte La tipografía Emmentaler para ver una lista de los
símbolos que se pueden imprimir con \musicglyph
.
Para ver formas comunes de trucar la colocación de las letras de
ensayo, consulte Formatear el texto. Para un control más
preciso, consulte break-alignable-interface
en la sección
Alineación de objetos.
El archivo scm/translation-functions.scm contiene las
definiciones de format-mark-numbers
y de
format-mark-letters
. Se pueden utilizar como inspiración
para escribir otras funciones de formateo.
Véase también
Referencia de la notación: La tipografía Emmentaler, Formatear el texto, Alineación de objetos.
Archivos de inicio: scm/translation-functions.scm.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: MarkEvent, Mark_engraver, RehearsalMark.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Llamadas de ensayo ] | [ Up : Duraciones ] | [ Notas de adorno > ] |
1.2.6 Asuntos rítmicos especiales
Notas de adorno | ||
Alinear con una cadenza | ||
Gestión del tiempo |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Asuntos rítmicos especiales ] | [ Up : Asuntos rítmicos especiales ] | [ Alinear con una cadenza > ] |
Notas de adorno
Los mordentes y notas de adorno son ornamentos musicales, impresos en un tipo más pequeño y no ocupan ningún tiempo lógico adicional en el compás.
\relative { c''4 \grace b16 a4( \grace { b16 c16 } a2) }
Hay otros tres tipos posibles de notas de adorno; la
acciaccatura o mordente de una nota (una nota de adorno sin
medida que se indica mediante una nota ligada y con el corchete
tachado) y la appoggiatura, que toma una fracción fija de
la nota principal a la que se adjunta, y que se imprime sin
tachar. Es posible escribir una nota de adorno con la plica
tachada, como la acciaccatura pero sin la ligadura, como
para colocarla entre notas que están ligadas entre sí, utilizando
la función \slashedGrace
.
\relative { \acciaccatura d''8 c4 \appoggiatura e8 d4 \acciaccatura { g16 f } e2 \slashedGrace a,8 g4 \slashedGrace b16 a4( \slashedGrace b8 a2) }
La colocación de notas de adorno se sincroniza entre los distintos pentagramas. En el siguiente ejemplo, hay dos semicorcheas de adorno por cada corchea de adorno:
<< \new Staff \relative { e''2 \grace { c16 d e f } e2 } \new Staff \relative { c''2 \grace { g8 b } c2 } >>
Si queremos terminar una nota con un adorno, usamos la instrucción
\afterGrace
. Toma dos argumentos: la nota principal, y las
notas de adorno que siguen a la nota principal.
\relative { c''1 \afterGrace d1 { c16[ d] } c1 }
Esto sitúa las notas de adorno después del comienzo de la nota principal. El instante temporal en que se colocan las notas de adorno es una fracción dada de la duración de la nota principal. El ajuste predeterminado de
afterGraceFraction = 3/4
se puede redefinir en el nivel jerárquico superior.
Las instrucciones \afterGrace
individuales
pueden, en vez de esto, llevar especificada la fracción directamente,
después de la propia instrucción.
El siguiente ejemplo muestra el resultado de establecer el espacio a su valor
predeterminado, establecerlo a 15/16
, y finalmente a 1/2
de la nota principal.
<< \new Staff \relative { c''1 \afterGrace d1 { c16[ d] } c1 } \new Staff \relative { c''1 \afterGrace 15/16 d1 { c16[ d] } c1 } \new Staff \relative { c''1 \afterGrace 1/2 d1 { c16[ d] } c1 } >>
El efecto de \afterGrace
también se puede obtener usando
espaciadores. El ejemplo siguiente sitúa la
nota de adorno después de un espacio que dura 7/8 de la nota
principal.
\new Voice \relative { << { d''1^\trill_( } { s2 s4. \grace { c16 d } } >> c1) }
Una expresión musical \grace
introduce ajustes de
tipografía especiales, por ejemplo para producir un tipo más
pequeño y para fijar las direcciones. Por ello, cuando se
introducen trucos para la presentación, deben ir dentro de la
expresión de adorno. Las sobreescrituras se deben también revertir
dentro de la expresión de adorno. Aquí, la dirección
predeterminada de la plica de la nota de adorno se sobreescribe y
luego se revierte.
\new Voice \relative { \acciaccatura { \stemDown f''16-> \stemNeutral } g4 e c2 }
Fragmentos de código seleccionados
Utilizar la barra que tacha las notas de adorno con notas normales
Es posible aplicar la barrita que cruza la barra de las acciaccaturas, en otras situaciones.
\relative c'' { \override Flag.stroke-style = "grace" c8( d2) e8( f4) }
Trucar la disposición de las notas de adorno dentro de la música
La disposición de las expresiones de adorno se puede cambiar a lo
largo de toda la música usando las funciones
add-grace-property
y remove-grace-property
. El
ejemplo siguiente borra la definición de la dirección de la plica
para esta nota de adorno, de manera que las plicas no siemmpre
apuntan hacia arriba, y cambia la forma predeterminada de las
cabezas a aspas.
\relative c'' { \new Staff { $(remove-grace-property 'Voice 'Stem 'direction) $(add-grace-property 'Voice 'NoteHead 'style 'cross) \new Voice { \acciaccatura { f16 } g4 \grace { d16 e } f4 \appoggiatura { f,32 g a } e2 } } }
Redefinición de los valores globales predeterminados para notas de adorno
Los valores predeterminados para las notas de adorno están
almacenados en los identificadores startGraceMusic
,
stopGraceMusic
, startAcciaccaturaMusic
,
stopAcciaccaturaMusic
, startAppoggiaturaMusic
y
stopAppoggiaturaMusic
, que están definidos en el archivo
ly/grace-init.ly. Redefiniéndolos se pueden obtener otros
efectos.
startAcciaccaturaMusic = { <>( \override Flag.stroke-style = "grace" \slurDashed } stopAcciaccaturaMusic = { \revert Flag.stroke-style \slurSolid <>) } \relative c'' { \acciaccatura d8 c1 }
Posicionamiento de las notas de adorno con espacio flotante
Al establecer la propiedad 'strict-grace-spacing
hacemos que
las columnas musicales para las notas de adorno sean ‘flotantes’, es
decir, desacopladas de las notas que no son de adorno: primero se
aplica el espaciado de las notas normales, y luego se ponen las
columnas musicales de las notas de adorno a la izquierda de las
columnas musicales de las notas principales.
\relative c'' { << \override Score.SpacingSpanner.strict-grace-spacing = ##t \new Staff \new Voice { \afterGrace c4 { c16[ c8 c16] } c8[ \grace { b16 d } c8] c4 r } \new Staff { c16 c c c c c c c c4 r } >> }
Véase también
Glosario musical: grace notes, acciaccatura, appoggiatura.
Referencia de la notación: Escalar las duraciones, Barras manuales.
Archivos de inicio: ly/grace-init.ly.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: GraceMusic, Grace_beam_engraver, Grace_auto_beam_engraver, Grace_engraver, Grace_spacing_engraver.
Advertencias y problemas conocidos
Una acciaccatura de varias notas con una barra se imprime sin tachar, y tiene exactamente la misma apariencia que una appoggiatura de varias notas con barra.
La sincronización de las notas de adorno también puede acarrear sorpresas. La notación de pentagramas, como armaduras, líneas divisorias, etc., se sincronizan también. Ponga cuidado cuando mezcle pentagramas con adornos y sin adornos, por ejemplo
<< \new Staff \relative { e''4 \section \grace c16 d2. } \new Staff \relative { c''4 \section d2. } >>
Esto se puede remediar insertando desplazamientos de adorno de las duraciones correspondientes en los otros pentagramas. Para el ejemplo anterior
<< \new Staff \relative { e''4 \section \grace c16 d2. } \new Staff \relative { c''4 \section \grace s16 d2. } >>
Es obligatorio usar la instrucción \grace
para la parte de
los desplazamientos, incluso si la parte visual usa
\acciaccatura
o \appoggiatura
porque en caso
contrario se imprime una fea ligadura que conecta a la nota de
adorno invisible con la nota siguiente.
Las secciones de adorno sólo se deben usar dentro de expresiones de música secuenciales. No están contemplados el anidado ni la yuxtaposición de secciones de adorno, y podría producir caídas u otros errores.
Cada nota de adorno en la salida MIDI tiene una longitud que es
1/4 de su duración real. Si la duración combinada de las notas de
adorno es mayor que la longitud de la nota precedente, se genera
un error “Retrocediendo en el tiempo MIDI
”. Tiene dos
opciones: en primer lugar, puede hacer más corta la duración de
las notas de adorno, por ejemplo:
c'8 \acciaccatura { c'8[ d' e' f' g'] }
se convierte en:
c'8 \acciaccatura { c'16[ d' e' f' g'] }
Otra opción es cambiar explícitamente la duración musical:
c'8 \acciaccatura { \scaleDurations 1/2 { c'8[ d' e' f' g'] } }
Véase Escalar las duraciones.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notas de adorno ] | [ Up : Asuntos rítmicos especiales ] | [ Gestión del tiempo > ] |
Alinear con una cadenza
En un contexto orquestal, las cadenzas presentan un problema especial: al construir una partitura que tiene una cadenza, todos los demás instrumentos deben saltar tantas notas como la longitud de la cadenza, pues en caso contrario empezarán demasiado pronto o demasiado tarde.
Una solución a este problema son las funciones
mmrest-of-length
y skip-of-length
. Estas funciones
de Scheme toman un fragmento de música como argumento y generan un
\skip
o silencio multicompás, de la longitud exacta del
fragmento.
MyCadenza = \relative { c'4 d8 e f g g4 f2 g4 g } \new GrandStaff << \new Staff { \MyCadenza c'1 \MyCadenza c'1 } \new Staff { #(mmrest-of-length MyCadenza) c'1 #(skip-of-length MyCadenza) c'1 } >>
Véase también
Glosario musical: cadenza.
Fragmentos de código: Rhythms.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Alinear con una cadenza ] | [ Up : Asuntos rítmicos especiales ] | [ Expresiones > ] |
Gestión del tiempo
El tiempo está administrado por el Timing_translator
, que
de forma predeterminada vive en el contexto de Score
. Se
añade un alias, Timing
, al contexto en que se coloca el
Timing_translator
. Para asegurar que está disponible el
alias Timing
, quizá tenga que crear explícitamente una
instancia del contexto contenedor (como Voice
o
Staff
).
Se usan las siguientes propiedades de Timing
para seguir la
pista del tiempo dentro de la partitura.
currentBarNumber
El número de compás en curso. Para ver un ejemplo que muestra el uso de esta propiedad, consulte Numeración de compases.
measureLength
La longitud de los compases dentro de la indicación actual de compás. Para un 4/4 esto es 1, y para el 6/8 es 3/4. Su valor determina cuándo se insertan las líneas divisorias y cómo se generan las barras automáticas.
measurePosition
El punto en que nos encontramos dentro del compás. Esta cantidad se reinicia sustrayendo
measureLength
cada vez que se alcanza o se excedemeasureLength
. Cuando eso ocurre, se incrementacurrentBarNumber
.timing
Si tiene un valor verdadero, las variables anteriores se actualizan a cada paso de tiempo. Cuando tiene un valor falso, el grabador se queda en el compás actual indefinidamente.
La cuenta del tiempo se puede cambiar estableciendo el valor de
cualquiera de estas variables explícitamente. En el siguiente
ejemplo, se imprime la indicación de compás predeterminada 4/4,
pero measureLength
tiene está ajustado a 5/4. En los 4/8
hasta el tercer compás, la posición measurePosition
se
adelanta en 1/8 hasta 5/8, acortando ese compás en 1/8. Entonces,
la siguiente línea divisoria cae en 9/8 en vez de hacerlo en 5/4.
\new Voice \relative { \set Timing.measureLength = \musicLength 4*5 c'1 c4 | c1 c4 | c4 c \set Timing.measurePosition = \musicLength 8*5 b4 b b8 | c4 c1 | }
Como lo ilustra el ejemplo, ly:make-moment n/m
construye
una duración de la fracción n/m de una redonda. Por ejemplo,
ly:make-moment 1/8
es una duración de una corchea y
ly:make-moment 7/16
es la duración de siete semicorcheas.
Véase también
Referencia de la notación: Numeración de compases, Música sin compasear.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: Timing_translator, Score.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Gestión del tiempo ] | [ Up : Notación musical ] | [ Expresiones adosadas a las notas > ] |
1.3 Expresiones
Esta sección relaciona diversas marcas de expresión que se pueden crear en un a partitura.
1.3.1 Expresiones adosadas a las notas | ||
1.3.2 Expresiones como curvas | ||
1.3.3 Expresiones como líneas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Expresiones ] | [ Up : Expresiones ] | [ Articulaciones y ornamentos > ] |
1.3.1 Expresiones adosadas a las notas
Esta sección explica cómo crear marcas expresivas que están aplicadas a notas: articulaciones, ornamentos y matices. También se tratan los métodos para crear las nuevas marcas dinámicas.
Articulaciones y ornamentos | ||
Matices dinámicos | ||
Indicaciones dinámicas nuevas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Expresiones adosadas a las notas ] | [ Up : Expresiones adosadas a las notas ] | [ Matices dinámicos > ] |
Articulaciones y ornamentos
Se pueden adjuntar a las notas un amplio abanico de símbolos para denotar articulaciones, adornos y otras indicaciones de ejecución, utilizando la sintaxis siguiente:
nota\nombre
La lista de los posibles valores de nombre
está en
Lista de articulaciones. Por ejemplo:
\relative { c''4\staccato c\mordent b2\turn c1\fermata }
Algunas de estas articulaciones tienen abreviaturas que facilitan
su escritura. Las abreviaturas se escriben detrás del nombre de
la nota, y su sintaxis consiste en un guión -
seguido de un
símbolo que especifica la articulación. Existen abreviaturas
predefinidas para el marcato, stopped (nota
apagada), tenuto, staccatissimo,
accent (acento), staccato (picado), y
portato. La salida correspondiente a estas
articulaciones aparece de la siguiente manera:
\relative { c''4-^ c-+ c-- c-! c4-> c-. c2-_ }
Las reglas para la colocación predeterminada de las articulaciones se encuentran definidas en el archivo scm/script.scm. Las articulaciones y ornamentos se pueden colocar manualmente por encima o por debajo del pentagrama; véase Dirección y posición.
Las articulaciones son objetos Script
. Sus propiedades se
describen de forma más completa en Script.
Se pueden aplicar articulaciones a los silencios normales y
multi-compás, además de a las notas. La aplicación de una
articulación a un silencio multi-compás crea un objeto
MultiMeasureRestScript
.
\override Script.color = #red \override MultiMeasureRestScript.color = #blue a'2\fermata r\fermata R1\fermata
Además de articulaciones, se pueden adjuntar textos y elementos de marcado a las notas. Véase Guiones de texto.
Para ver más información acerca de la ordenación de los elementos Script y TextScript que se adjuntan a las notas, consulte Colocación de los objetos.
Fragmentos de código seleccionados
Modificar los valores predeterminados para la notación abreviada de las articulaciones
Las abreviaturas se encuentran definidas dentro del archivo
ly/script-init.ly, donde las variables dashHat
,
dashPlus
, dashDash
, dashBang
, dashLarger
,
dashDot
y dashUnderscore
reciben valores
predeterminados. Se pueden modificar estos valores predeterminados
para las abreviaturas. Por ejemplo, para asociar la abreviatura
-+
(dashPlus
) con el símbolo del semitrino en lugar del
símbolo predeterminado +, asigne el valor trill
a la variable
dashPlus
:
\paper { tagline = ##f } \relative c'' { c1-+ } dashPlus = \trill \relative c'' { c1-+ }
Controlar la ordenación vertical de las inscripciones
El orden vertical que ocupan las inscripciones gráficas está
controlado con la propiedad 'script-priority
. Cuanto más
bajo es este número, más cerca de la nota se colocará. En este
ejemplo, el TextScript
(el sostenido) tiene primero la
prioridad más baja, por lo que se sitúa en la posición más baja en
el primer ejemplo. En el segundo, el Script
(el semitrino)
es el que la tiene más baja, por lo que se sitúa en la parte
interior. Cuando dos objetos tienen la misma prioridad, el orden
en que se introducen determina cuál será el que aparece en primer
lugar.
\relative c''' { \once \override TextScript.script-priority = -100 a2^\prall^\markup { \sharp } \once \override Script.script-priority = -100 a2^\prall^\markup { \sharp } \set fingeringOrientations = #'(up) <c-2 a-1>2 <a-1 c\tweak script-priority -100 -2>2 }
Crear un grupeto de anticipación
La creación de un grupeto circular de anticipación entre dos notas,
donde la nota inferior del grupeto utiliza una alteración, requiere
varias sobreescrituras de propiedades. La propiedad
outside-staff-priority
se debe establecer al valor #f
,
pues en caso contrario tendría prioridad sobre la propiedad
avoid-slur property
. Cambiando las fracciones 2/3
y
1/3
puede ajustarse la posición horizontal.
\relative c'' { \after 2*2/3 \turn c2( d4) r | \after 4 \turn c4.( d8) \after 4 { \once \set suggestAccidentals = ##t \once \override AccidentalSuggestion.outside-staff-priority = ##f \once \override AccidentalSuggestion.avoid-slur = #'inside \once \override AccidentalSuggestion.font-size = -3 \once \override AccidentalSuggestion.script-priority = -1 \once \hideNotes cis8\turn \noBeam } d4.( e8) }
Véase también
Glosario musical: tenuto, accent, staccato, portato.
Manual de aprendizaje: Colocación de los objetos.
Referencia de la notación: Guiones de texto, Dirección y posición, Lista de articulaciones, Trinos.
Archivos instalados: scm/script.scm.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: Script, TextScript.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Articulaciones y ornamentos ] | [ Up : Expresiones adosadas a las notas ] | [ Indicaciones dinámicas nuevas > ] |
Matices dinámicos
Las marcas dinámicas de matiz absoluto se especifican usando una
instrucción después de una nota: c4\ff
. Las marcas
dinámicas disponibles son \ppppp
, \pppp
,
\ppp
, \pp
, \p
, \mp
, \mf
,
\f
, \ff
, \fff
, \ffff
, \fffff
,
\fp
, \sf
, \sff
, \sp
, \spp
,
\sfz
, \rfz
y \n
. Las indicaciones dinámicas
se pueden colocar manualmente por encima o por debajo del
pentagrama; para ver más detalles, consulte Dirección y posición.
\relative c'' { c2\ppp c\mp c2\rfz c^\mf c2_\spp c^\ff }
Una indicación de crescendo se comienza con \<
y
se termina con \!
, con un matiz absoluto o con otra
indicación de crescendo o de decrescendo. Una indicación de
decrescendo comienza con \>
y se termina también
con \!
, con un matiz dinámico absoluto o con otra
indicación de crescendo o de decrescendo. Se pueden usar
\cr
y \decr
en lugar de \<
y \>
.
También es posible usar \endcr
y \enddecr
en lugar de
\!
para finalizar un crescendo o un decrescendo, respectivamente. De
forma predeterminada, se tipografían reguladores en ángulo cuando
se utiliza esta notación.
\relative c'' { c2\< c\! d2\< d\f e2\< e\> f2\> f\! e2\> e\mp d2\> d\> c1\! }
Un regulador terminado mediante \!
finaliza en el borde
derecho de la nota que lleva el \!
adosado. En el caso en
que esté terminado con el comienzo de otra indicación
crescendo o decrescendo, terminará en el
centro de la nota que tiene adosada la siguiente indicación
\<
ó \>
. El regulador siguiente empezará entonces
en el borde derecho de la misma nota en lugar del borde izquierdo,
como sería usual si hubiese terminado con \!
previamente.
Si un regulador termina en el inicio de un compás, finalizará
sobre la línea divisoria precedente.
\relative { c''1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\! }
Los reguladores que terminan con indicaciones dinámicas absolutas
en lugar de con \!
también se tipografían de manera
parecida. Sin embargo, la longitud de la propia indicación
dinámica puede alterar el punto en que finaliza el regulador
anterior.
\relative { c''1\< | c4 a c\mf a | c1\< | c4 a c\ffff a }
Se requieren silencios espaciadores para tipografiar varias indicaciones dinámicas sobre una sola nota. Esto es útil especialmente para añadir un crescendo y un decrescendo a la misma nota:
\relative { c''4\< c\! d\> e\! << f1 { s4 s4\< s4\> s4\! } >> }
Se puede usar la instrucción \espressivo
para indicar un
crescendo y un decrescendo sobre la misma nota. Sin embargo,
advierta que esta indicación está implementada como una
articulación, no como una expresión dinámica.
\relative { c''2 b4 a g1\espressivo }
Las indicaciones de crescendo textuales se inician con
\cresc
. Los decrescendos textuales se inician con
\decresc
o con \dim
. Se trazan líneas extensoras
cuando es necesario.
\relative { g'8\cresc a b c b c d e\mf | f8\decresc e d c e\> d c b | a1\dim ~ | a2. r4\! | }
También pueden sustituirse los reguladores gráficos por cambios de dinámica textuales:
\relative c'' { \crescTextCresc c4\< d e f\! | \dimTextDecresc g4\> e d c\! | \dimTextDecr e4\> d c b\! | \dimTextDim d4\> c b a\! | \crescHairpin \dimHairpin c4\< d\! e\> d\! | }
Para crear nuevas indicaciones de matiz absoluto o de texto que deba alinearse con los matices; véase Indicaciones dinámicas nuevas.
La colocación vertical de las indicaciones de dinámica se maneja por parte de DynamicLineSpanner.
Está disponible un contexto Dynamics
para tipografiar las
indicaciones de matiz dinámico en su propia línea horizontal.
Utilice silencios de separación para indicar los tiempos (las
notas que están dentro de un contexto Dynamics
también
ocupan tiempo musical, pero no se imprimen). El contexto
Dynamics
puede contener otros elementos como inscripciones
textuales, objetos extensores de texto e indicaciones de pedal de
piano.
<< \new Staff \relative { c'2 d4 e | c4 e e,2 | g'4 a g a | c1 | } \new Dynamics { s1\< | s1\f | s2\dim s2-"rit." | s1\p | } >>
Instrucciones predefinidas
\dynamicUp
,
\dynamicDown
,
\dynamicNeutral
,
\crescTextCresc
,
\dimTextDim
,
\dimTextDecr
,
\dimTextDecresc
,
\crescHairpin
,
\dimHairpin
.
Fragmentos de código seleccionados
Establecer el comportamiento de los reguladores en las barras de compás
Si la nota que da fin a un regulador cae sobre la primera parte de
un compás, el regulador se detiene en la línea divisoria
inmediatamente precedente. Se puede controlar este comportamiento
sobreescribiendo la propiedad 'to-barline
.
\relative c'' { e4\< e2. e1\! \override Hairpin.to-barline = ##f e4\< e2. e1\! }
Ajustar la longitud mínima de los reguladores
Si los reguladores son demasiado cortos, se pueden alargar
modificando la propiedad minimum-length
del objeto
Hairpin
.
<< { \after 4 \< \after 2 \> \after 2. \! f'1 \override Hairpin.minimum-length = 8 \after 4 \< \after 2 \> \after 2. \! f'1 } { \repeat unfold 8 c'4 } >>
Moving the ends of hairpins
The ends of hairpins may be offset by setting the shorten-pair
property of the Hairpin
object. Positive values move endpoints
to the right, negative to the left. Unlike the minimum-length
property, this property only affects the appearance of the hairpin; it
does not adjust horizontal spacing (including the position of bounding
dynamics). This method is thus suitable for fine-tuning a hairpin
within its allotted space.
{ c'1~\< c'2~ c'\! \once \override Hairpin.shorten-pair = #'(2 . 2) c'1~\< c'2~ c'\! \once \override Hairpin.shorten-pair = #'(-2 . -2) c'1~\< c'2~ c'\! c'1~\p-\tweak shorten-pair #'(2 . 0)\< c'2~ c'\ffff }
Impresión de reguladores utilizando la notación «al niente»
Se pueden imprimir reguladores con un círculo en la punta (notación
«al niente») estableciendo la propiedad circled-tip
del objeto
Hairpin
al valor #t
.
\relative c'' { \override Hairpin.circled-tip = ##t c2\< c\! c4\> c\< c2\! }
Imprimir reguladores en diversos estilos
Los reguladores se pueden crear en una amplia variedad de estilos.
\paper { tagline = ##f } \relative c'' { \override Hairpin.stencil = #flared-hairpin a4\< a a a\f a4\p\< a a a\ff a4\sfz\< a a a\! \override Hairpin.stencil = #constante-hairpin a4\< a a a\f a4\p\< a a a\ff a4\sfz\< a a a\! \override Hairpin.stencil = #flared-hairpin a4\> a a a\f a4\p\> a a a\ff a4\sfz\> a a a\! \override Hairpin.stencil = #constante-hairpin a4\> a a a\f a4\p\> a a a\ff a4\sfz\> a a a\! }
Indicaciones dinámicas y textuales alineadas verticalmente
Todos los objetos DynamicLineSpanner
(reguladores e
indicaciones dinámicas de texto) se sitúan con su línea de referencia a
una distancia de al menos 'staff-padding
del pentagrama, a no
ser que otros elementos de notación los fuerce a colocarse a más
distancia. Si se ajusta 'staff-padding
a un valor
suficientemente grande, las indicaciones dinámicas quedarán alineadas.
Se usa una idea similar junto a \textLengthOn para alinear las inscripciones de texto a lo largo de su línea de base.
music = \relative c' { a'2\p b\f e4\p f\f\> g, b\p c2^\markup { \huge gorgeous } c^\markup { \huge fantastic } } { \music \break \override DynamicLineSpanner.staff-padding = 3 \textLengthOn \override TextScript.staff-padding = 1 \music } \paper { tagline = ##f }
Ocultar la línea de extensión de las expresiones textuales de dinámica
Los cambios de dinámica con estilo de texto (como cresc. y dim.) se imprimen con una línea intermitente que muestra su alcance. Esta línea se puede suprimir de la siguiente manera:
\relative c'' { \override DynamicTextSpanner.style = #'none \crescTextCresc c1\< | d | b | c\! }
Cambiar el texto y los estilos de objeto de extensión para las indicaciones dinámicas textuales
Se puede modificar el texto empleado para los crescendos y
decrescendos modificando las propiedades de contexto
crescendoText
y decrescendoText
.
El estilo de la línea de extensión se puede cambiar modificando la
propiedad 'style
de DynamicTextSpanner
. El valor
predeterminado es 'dashed-line
(línea discontinua), y entre
otros valores posibles se encuentran 'line
(línea),
'dotted-line
(línea de puntos) y 'none
(nada):
\relative c'' { \set crescendoText = \markup { \italic { cresc. poco } } \set crescendoSpanner = #'text \override DynamicTextSpanner.style = #'dotted-line a2\< a a2 a a2 a a2 a\mf }
Véase también
Glosario musical: al niente, crescendo, decrescendo, hairpin.
Manual de aprendizaje: Articulaciones y matices dinámicos.
Referencia de la notación: Dirección y posición, Indicaciones dinámicas nuevas, Enriquecimiento de la salida MIDI, Control de las dinámicas del MIDI.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: DynamicText, Hairpin, DynamicLineSpanner, Dynamics.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Matices dinámicos ] | [ Up : Expresiones adosadas a las notas ] | [ Expresiones como curvas > ] |
Indicaciones dinámicas nuevas
La manera más fácil de crear indicaciones dinámicas es usar
objetos de marcado (\markup
).
moltoF = \markup { molto \dynamic f } \relative { <d' e>16_\moltoF <d e> <d e>2.. }
En el modo de marcado se pueden crear indicaciones dinámicas editoriales (entre paréntesis o corchetes). La sintaxis del modo de marcado se describe en Formatear el texto.
roundF = \markup { \center-align \concat { \bold { \italic ( } \dynamic f \bold { \italic ) } } } boxF = \markup { \bracket { \dynamic f } } \relative { c'1_\roundF c1_\boxF }
Las indicaciones dinámicas sencillas y centradas se crean
fácilmente con la función make-dynamic-script
.
sfzp = #(make-dynamic-script "sfzp") \relative { c'4 c c\sfzp c }
En general make-dynamic-script
toma cualquier objeto de
marcado como argumento. La fuente tipográfica de matices sólo
contiene los caracteres f, m, p, r, s
y z
, por lo
que si se desea obtener una indicación dinámica que incluya texto
normal o signos de puntuación, es necesario utilizar instrucciones
de marcado que devuelvan los ajustes de la familia de fuente
tipográfica y su codificación a las del texto normal, por ejemplo
\normal-text
. El interés de la utilización de
make-dynamic-script
en lugar de un elemento de marcado
corriente está en asegurar la alineación vertical de los objetos
de marcado y reguladores que se aplican a la misma cabeza de nota.
roundF = \markup { \center-align \concat { \normal-text { \bold { \italic ( } } \dynamic f \normal-text { \bold { \italic ) } } } } boxF = \markup { \bracket { \dynamic f } } mfEspress = \markup { \center-align \line { \hspace #3.7 mf \normal-text \italic espress. } } roundFdynamic = #(make-dynamic-script roundF) boxFdynamic = #(make-dynamic-script boxF) mfEspressDynamic = #(make-dynamic-script mfEspress) \relative { c'4_\roundFdynamic\< d e f g,1~_\boxFdynamic\> g1 g'1~\mfEspressDynamic g1 }
Se puede utilizar en su lugar la forma Scheme del modo de marcado. Su sintaxis se explica en Construcción de elementos de marcado en Scheme.
moltoF = #(make-dynamic-script (markup #:normal-text "molto" #:dynamic "f")) \relative { <d' e>16 <d e> <d e>2..\moltoF }
Para alinear el texto del matiz dinámico a la izquierda en lugar
de centrarlo sobre una nota, utilice un \tweak
:
moltoF = \tweak DynamicText.self-alignment-X #LEFT #(make-dynamic-script (markup #:normal-text "molto" #:dynamic "f")) \relative { <d' e>16 <d e> <d e>2..\moltoF <d e>1 }
Los ajustes para las fuentes tipográficas en el modo de marcado se describen en Seleccionar la tipografía y su tamaño.
Véase también
Referencia de la notación: Formatear el texto, Seleccionar la tipografía y su tamaño, Enriquecimiento de la salida MIDI, Control de las dinámicas del MIDI.
Extender LilyPond: Construcción de elementos de marcado en Scheme.
Fragmentos de código: Expressive marks.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Indicaciones dinámicas nuevas ] | [ Up : Expresiones ] | [ Ligaduras de expresión > ] |
1.3.2 Expresiones como curvas
Esta sección explica cómo crear varias marcas expresivas de forma curva: ligaduras de expresión y de fraseo, respiraciones, caídas y elevaciones de tono.
Ligaduras de expresión | ||
Ligaduras de fraseo | ||
Marcas de respiración | ||
Caídas y elevaciones |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Expresiones como curvas ] | [ Up : Expresiones como curvas ] | [ Ligaduras de fraseo > ] |
Ligaduras de expresión
Las Ligaduras de expresión se introducen utilizando paréntesis:
Nota: En música polifónica, las ligaduras de expresión deben terminar en la misma voz en la que empiezan.
\relative { f''4( g a) a8 b( a4 g2 f4) <c e>2( <b d>2) }
Las ligaduras de expresión se pueden colocar manualmente por encima o por debajo de las notas; véase Dirección y posición.
Debe tenerse cuidado con las ligaduras de expresión simultáneas o
superpuestas. En casi todos los casos, las ligaduras de expresión
externas indican, ciertamente, fraseo, y las ligaduras de fraseo
pueden superponerse a las ligaduras de expresión normales, véase
Ligaduras de fraseo. Cuando se necesitan varias ligaduras
de expresión normales dentro de una sola voz, los comienzos y
finales correspondientes de las ligaduras deben etiquetarse
precediéndolos por \=
seguido de una clave identificativa
(un símbolo o un entero no negativo).
\fixed c' { <c~ f\=1( g\=2( >2 <c e\=1) a\=2) > }
Las ligaduras de expresión pueden ser continuas, discontinuas o de puntos. El estilo predeterminado de las ligaduras de expresión es el continuo:
\relative { c'4( e g2) \slurDashed g4( e c2) \slurDotted c4( e g2) \slurSolid g4( e c2) }
También se puede hacer que las ligaduras de expresión sean semi-discontinuas (la primera mitad discontinua y la segunda mitad continua) o semi-continuas (la primera mitad continua y la segunda discontinua):
\relative { c'4( e g2) \slurHalfDashed g4( e c2) \slurHalfSolid c4( e g2) \slurSolid g4( e c2) }
Se pueden definir patrones de discontinuidad para las ligaduras de expresión:
\relative { c'4( e g2) \slurDashPattern #0.7 #0.75 g4( e c2) \slurDashPattern #0.5 #2.0 c4( e g2) \slurSolid g4( e c2) }
Instrucciones predefinidas
\slurUp
,
\slurDown
,
\slurNeutral
,
\slurDashed
,
\slurDotted
,
\slurHalfDashed
,
\slurHalfSolid
,
\slurDashPattern
,
\slurSolid
.
Fragmentos de código seleccionados
Utilizar ligaduras dobles para acordes legato
Algunos compositores escriben dos ligaduras cuando quieren acordes
legato. Esto se puede conseguir estableciendo doubleSlurs
.
\relative c' { \set doubleSlurs = ##t <c e>4( <d f> <c e> <d f>) }
Situar los elementos de marcado de texto por dentro de las ligaduras
Los elementos de marcado de texto deben tener la propiedad
outside-staff-priority
establecida al valor falso para que se
impriman por dentro de las ligaduras de expresión.
\relative c'' { \override TextScript.avoid-slur = #'inside \override TextScript.outside-staff-priority = ##f c2(^\markup { \halign #-10 \natural } d4.) c8 }
Hacer ligaduras de expresión con estructura compleja de discontinuidad
Las ligaduras de expresión se pueden construir con patrones de
discontinuidad complejos mediante la definición de la propiedad
dash-definition
. dash-definition
es una lista de
elementos de discontinuidad
. Un elemento de
discontinuidad
es una lista de parámetros que definen el
comportamiento de discontinuidad de un segmento de la ligadura de
expresión.
La ligadura se define en términos del parámetro de bezier t cuyo
rango va de 0 a la izquierda de la ligadura hasta 1 en el extremo
derecho de la ligadura. Cada elemento de discontinuidad
es
una lista (t-inicio t-final fracción-discontinuidad
período-discontinuidad)
. La región de la ligadura desde
t-inicio
hasta t-final
tendrá una fracción
fracción-discontinuidad
de cada
período-discontinuidad
de color negro.
período-discontinuidad
se define en términos de espacios de
pentagrama. fracción-discontinuidad
se establece al valor
de 1 para una ligadura continua.
\relative c' { \once \override Slur.dash-definition = #'((0 0.3 0.1 0.75) (0.3 0.6 1 1) (0.65 1.0 0.4 0.75)) c4( d e f) \once \override Slur.dash-definition = #'((0 0.25 1 1) (0.3 0.7 0.4 0.75) (0.75 1.0 1 1)) c4( d e f) }
Véase también
Glosario musical: slur.
Manual de aprendizaje: Acerca de la no anidabilidad de llaves y ligaduras.
Referencia de la notación: Dirección y posición, Ligaduras de fraseo.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: Slur.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Ligaduras de expresión ] | [ Up : Expresiones como curvas ] | [ Marcas de respiración > ] |
Ligaduras de fraseo
Las ligaduras de fraseo (o marcas de fraseo) que
indican una frase musical se escriben usando las instrucciones
\(
y \)
respectivamente:
\relative { c''4\( d( e) f( e2) d\) }
Tipográficamente, la ligadura de fraseo se comporta casi
exactamente igual que una ligadura de expresión normal. Sin
embargo, se tratan como objetos diferentes. Una \slurUp
no
tendrá ningún efecto sobre una ligadura de fraseo. El fraseo se
puede situar manualmente por encima o por debajo de las notas;
véase Dirección y posición.
Las ligaduras de fraseo simultáneas o superpuestas se introducen
usando \=
igual que se hace con las ligaduras de expresión
normales, véase Ligaduras de expresión.
Las ligaduras de fraseo pueden ser continuas, de puntos o de rayas. El estilo predeterminado para las ligaduras de fraseo es el continuo:
\relative { c'4\( e g2\) \phrasingSlurDashed g4\( e c2\) \phrasingSlurDotted c4\( e g2\) \phrasingSlurSolid g4\( e c2\) }
Se puede hacer también que las ligaduras de fraseo sean semi-discontinuas (la primera mitad discontinua y la segunda mitad continua) o semi-continuas (la primera mitad continua y la segunda mitad discontinua):
\relative { c'4\( e g2\) \phrasingSlurHalfDashed g4\( e c2\) \phrasingSlurHalfSolid c4\( e g2\) \phrasingSlurSolid g4\( e c2\) }
Se pueden definir patrones de discontinuidad para las ligaduras de fraseo:
\relative { c'4\( e g2\) \phrasingSlurDashPattern #0.7 #0.75 g4\( e c2\) \phrasingSlurDashPattern #0.5 #2.0 c4\( e g2\) \phrasingSlurSolid g4\( e c2\) }
Las definiciones de patrones de discontinuidad tienen la misma estructura que las definiciones de patrones de discontinuidad de las ligaduras de expresión. Para ver más información acerca de patrones de discontinuidad complejos, consulte los fragmentos de código bajo Ligaduras de expresión.
Instrucciones predefinidas
\phrasingSlurUp
,
\phrasingSlurDown
,
\phrasingSlurNeutral
,
\phrasingSlurDashed
,
\phrasingSlurDotted
,
\phrasingSlurHalfDashed
,
\phrasingSlurHalfSolid
,
\phrasingSlurDashPattern
,
\phrasingSlurSolid
.
Véase también
Manual de aprendizaje: Acerca de la no anidabilidad de llaves y ligaduras.
Referencia de la notación: Dirección y posición, Ligaduras de expresión.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: PhrasingSlur.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Ligaduras de fraseo ] | [ Up : Expresiones como curvas ] | [ Caídas y elevaciones > ] |
Marcas de respiración
Las respiraciones se introducen utilizando \breathe
:
{ c''2. \breathe d''4 }
A diferencia de otras marcas de expresión, los símbolos de
respiración no están asociados con la nota anterior, sino que son
eventos independientes. Por ello, todas las marcas de expresión
que están adjuntas a la nota anterior, cualquier corchete recto
que indique barrado manual, y cualquier paréntesis que indique
ligaduras de expresión y de fraseo, deben escribirse antes de
\breathe
.
Las marcas de respiración dan por terminadas las barras automáticas; para sobreescribir este comportamiento, consulte Barras manuales.
\relative { c''8 \breathe d e f g2 }
Están contemplados los indicadores musicales para las marcas de respiración en la notación antigua, o divisiones. Para ver más detalles, consulte Divisiones.
Fragmentos de código seleccionados
Cambiar el símbolo de la marca de respiración
El glifo de la marca de respiración se puede ajustar
sobreescribiendo la propiedad de texto del objeto de presentación
BreathingSign
, con cualquier otro texto de marcado.
\relative c'' { c2 \override BreathingSign.text = \markup { \musicglyph "scripts.rvarcomma" } \breathe d2 }
Usar una raya corta como símbolo de respiración
La música vocal y de viento usa con frecuencia una raya corta como signo de respiración. Esto indica una repiración que quita un poco de tiempo a la nota anterior en lugar de producir una corta pausa, lo que se indica con la marca de respiración en forma de coma. La marca se puede mover ligeramente hacia arriba para alejarla del pentagrama.
\relative c'' { c2 \breathe d2 \override BreathingSign.Y-offset = #2.6 \override BreathingSign.text = \markup { \musicglyph "scripts.tickmark" } c2 \breathe d2 }
Insertar una cesura
Las marcas de cesura se pueden crear sobreescribiendo la propiedad
'text
del objeto BreathingSign
. También está disponible
una marca de cesura curva.
\relative c'' { \override BreathingSign.text = \markup { \musicglyph "scripts.caesura.straight" } c8 e4. \breathe g8. e16 c4 \override BreathingSign.text = \markup { \musicglyph "scripts.caesura.curved" } g8 e'4. \breathe g8. e16 c4 }
Véase también
Glosario musical: caesura.
Referencia de la notación: Divisiones.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: BreathingEvent, BreathingSign, Breathing_sign_engraver.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Marcas de respiración ] | [ Up : Expresiones como curvas ] | [ Expresiones como líneas > ] |
Caídas y elevaciones
Se pueden expresar caídas y subidas de tono
(falls y doits) añadidas a las notas mediante la instrucción
\bendAfter
. La dirección de la caída o elevación se indica
con un signo más o menos (arriba o abajo). El número indica el
intervalo de alturas sobre el que se extiende la caída o elevación
partiendo de la nota principal.
\relative c'' { c2\bendAfter #+4 c2\bendAfter #-4 c2\bendAfter #+6.5 c2\bendAfter #-6.5 c2\bendAfter #+8 c2\bendAfter #-8 }
Fragmentos de código seleccionados
Ajustar la forma de las subidas y caídas de tono
Puede ser necesario trucar la propiedad
shortest-duration-space
para poder ajustar el tamaño de las
caídas y subidas de tono («falls» y «doits»).
\relative c'' { \override Score.SpacingSpanner.shortest-duration-space = 4.0 c2-\bendAfter 5 c2-\bendAfter -4.75 c2-\bendAfter 8.5 c2-\bendAfter -6 }
Véase también
Fragmentos de código: Expressive marks.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Caídas y elevaciones ] | [ Up : Expresiones ] | [ Glissando > ] |
1.3.3 Expresiones como líneas
Esta sección explica cómo crear diversas marcas de expresión que siguen un camino lineal: glissandi, arpegios y trinos.
Glissando | ||
Arpegio | ||
Trinos |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Expresiones como líneas ] | [ Up : Expresiones como líneas ] | [ Arpegio > ] |
Glissando
Se crea un glissando añadiendo \glissando
después de la nota:
\relative { g'2\glissando g' c2\glissando c, \afterGrace f,1\glissando f'16 }
Un glissando puede conectar notas de un pentagrama a otro:
\new PianoStaff << \new Staff = "right" { e'''2\glissando \change Staff = "left" a,,4\glissando \change Staff = "right" b''8 r | } \new Staff = "left" { \clef bass s1 } >>
Un glissando puede conectar las notas dentro de un acorde. Si se
necesita hacer algo que no sea una conexión de una nota con otra
entre los dos acordes, las conexiones entre las notas vienen
definidas por medio de \glissandoMap
, donde las notas de un
acorde se suponen numeradas, empezando en cero, en el orden en que
aparecen en el código de entrada del archivo .ly.
\relative { <c' e>1\glissando g' | <c, e>1\glissando | <g' b> | \break \set glissandoMap = #'((0 . 1) (1 . 0)) <c, g'>1\glissando | <d a'> | \set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2)) c1\glissando | <d f a> | \set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1)) <f d a'>1\glissando | <c c'> | }
Se pueden crear distintos tipos de glissando. Para ver más detalles, consulte Estilos de línea.
Fragmentos de código seleccionados
Glissando contemporáneo
Se puede tipografiar un gissando contemporáneo sin nota final utilizando una nota oculta y temporalización de cadenza.
\relative c'' { \time 3/4 \override Glissando.style = #'zigzag c4 c \cadenzaOn c4\glissando \hideNotes c,,4 \unHideNotes \cadenzaOff \bar "|" }
Añadir marcas de tiempo a glissandos largos
Los pulsos que se saltan en glissandos muy largos se indican a veces mediante marcas de tiempo, que a menudo consisten en figuras sin cabeza. Estas plicas se pueden usar también para albergar indicaciones expresivas intermedias.
Si las plicas no quedan bien alineadas con el glissando, podría ser necesario recolocarlas ligeramente.
glissandoSkipOn = { \override NoteColumn.glissando-skip = ##t \hide NoteHead \override NoteHead.no-ledgers = ##t } glissandoSkipOff = { \revert NoteColumn.glissando-skip \undo \hide NoteHead \revert NoteHead.no-ledgers } \relative c'' { r8 f8\glissando \glissandoSkipOn f4 g a a8\noBeam \glissandoSkipOff a8 r8 f8\glissando \glissandoSkipOn g4 a8 \glissandoSkipOff a8 | r4 f\glissando \< \glissandoSkipOn a4\f \> \glissandoSkipOff b8\! r | }
Hacer que los glissandos se puedan dividir en el salto de línea
Si se ajusta la propiedad breakable
al valor #t
en
combinación con after-line-breaking
, podemos hacer que un
glissando se divida en el salto de línea:
\paper { tagline = ##f } glissandoSkipOn = { \override NoteColumn.glissando-skip = ##t \hide NoteHead \override NoteHead.no-ledgers = ##t } \relative c'' { \override Glissando.breakable = ##t \override Glissando.after-line-breaking = ##t f1\glissando | \break a4 r2. | f1\glissando \once \glissandoSkipOn \break a2 a4 r4 | }
Extender glissandos sobre repeticiones
Se puede simular un glissando que se extiende hasta el interior de
varios bloques \alternative
de primera y segunda vez mediante
la adición de una nota de adorno oculta con un glissando al comienzo
de cada bloque \alternative
. La nota de adorno debe estar a la
misma altura que la nota que da inicio al primer glissando. Esto se
implementa aquí con una función musical que toma como argumento la
altura de la nota de adorno.
Observe que en música polifónica la nota de adorno debe coincidir con las notas de adorno correspondientes en todas las otras voces.
repeatGliss = #(define-music-function (grace) (ly:pitch?) #{ % the next two lines ensure the glissando is long enough % to be visible \once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods \once \override Glissando.minimum-length = 3.5 \once \hideNotes \grace $grace \glissando #}) \score { \relative c'' { \repeat volta 3 { c4 d e f\glissando } \alternative { { g2 d } { \repeatGliss f g2 e } { \repeatGliss f e2 d } } } } music = \relative c' { \voiceOne \repeat volta 2 { g a b c\glissando } \alternative { { d1 } { \repeatGliss c \once \omit StringNumber e1\2 } } } \score { \new StaffGroup << \new Staff << \new Voice { \clef "G_8" \music } >> \new TabStaff << \new TabVoice { \clef "moderntab" \music } >> >> } \paper { tagline = ##f }
Véase también
Glosario musical: glissando.
Referencia de la notación: Estilos de línea.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: Glissando.
Advertencias y problemas conocidos
La impresión de texto sobre la línea (como gliss.) no está contemplada.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Glissando ] | [ Up : Expresiones como líneas ] | [ Trinos > ] |
Arpegio
Un signo de acorde arpegiado (conocido también como
acorde quebrado) sobre un acorde, se denota adjuntando
\arpeggio
al acorde:
\relative { <c' e g c>1\arpeggio }
Se pueden escribir distintos tipos de acordes arpegiados.
\arpeggioNormal
produce la vuelta al arpegio normal:
\relative { <c' e g c>2\arpeggio \arpeggioArrowUp <c e g c>2\arpeggio \arpeggioArrowDown <c e g c>2\arpeggio \arpeggioNormal <c e g c>2\arpeggio }
Estas instrucciones predefinidas modifican internamente la
propiedad 'arpeggio-direction
; véanse sus definiciones
completas en el archivo ly/property-init.ly.
Se pueden crear símbolos especiales de arpegio con corchete:
\relative { <c' e g c>2 \arpeggioBracket <c e g c>2\arpeggio \arpeggioParenthesis <c e g c>2\arpeggio \arpeggioParenthesisDashed <c e g c>2\arpeggio \arpeggioNormal <c e g c>2\arpeggio }
Estas instrucciones predefinidas sobreescriben internamente la
propiedad 'stencil
del objeto Arpeggio
, y puede
también adaptar su 'X-extent
(esto es, la dimensión
horizontal que le supone no colisionar con otros objetos).
Las propiedades de discontinuidad del paréntesis del arpegio se
controlan mediante la propiedad 'dash-definition
, que se
describe en Ligaduras de expresión.
Los acordes arpegiados se pueden desarrollar explícitamente utilizando ligaduras de unión. Véase Ligaduras de unión.
Instrucciones predefinidas
\arpeggio
,
\arpeggioArrowUp
,
\arpeggioArrowDown
,
\arpeggioNormal
,
\arpeggioBracket
,
\arpeggioParenthesis
,
\arpeggioParenthesisDashed
.
Fragmentos de código seleccionados
Crear arpegios que se cruzan entre pentagramas dentro de un sistema de piano
Dentro de un PianoStaff
, es posible hacer que un arpegio
cruce entre los pentagramas ajustando la propiedad
PianoStaff.connectArpeggios
.
\new PianoStaff \relative c'' << \set PianoStaff.connectArpeggios = ##t \new Staff { <c e g c>4\arpeggio <g c e g>4\arpeggio <e g c e>4\arpeggio <c e g c>4\arpeggio } \new Staff { \clef bass \repeat unfold 4 { <c,, e g c>4\arpeggio } } >>
Creación de arpegios que se cruzan entre pentagramas dentro de otros contextos
Se pueden crear arpegios que se cruzan entre pentagramas dentro de
contextos distintos a GrandStaff
, PianoStaff
y
StaffGroup
si se incluye el grabador
Span_arpeggio_engraver
en el contexto de Score
.
\score { \new ChoirStaff { \set Score.connectArpeggios = ##t << \new Voice \relative c' { <c e>2\arpeggio <d f>2\arpeggio <c e>1\arpeggio } \new Voice \relative c { \clef bass <c g'>2\arpeggio <b g'>2\arpeggio <c g'>1\arpeggio } >> } \layout { \context { \Score \consists "Span_arpeggio_engraver" } } }
Crear arpegios entre notas de voces distintas
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
Span_arpeggio_engraver
se traslada al contexto de
Staff
:
\new Staff \with { \consists "Span_arpeggio_engraver" } \relative c' { \set Staff.connectArpeggios = ##t << { <e' g>4\arpeggio <d f> <d f>2 } \\ { <d, f>2\arpeggio <g b>2 } >> }
Véase también
Glosario musical: arpeggio.
Referencia de la notación: Ligaduras de expresión, Ligaduras de unión.
Archivos instalados: ly/property-init.ly.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: Arpeggio, Slur, PianoStaff.
Advertencias y problemas conocidos
Las instrucciones predefinidas como \arpeggioArrowUp
solamente se aplican al contexto en curso, y por ello no afectan a
los arpegios que abarcan varias voces o pentagramas. En tales
casos, estas instrucciones requieren utilizarse en un bloque
\context
dentro de \layout
, o en un bloque
\with
, como se explica en
Cambiar los valores por omisión de los contextos. De manera
alternativa, en lugar de usar las abreviaturas predefinidas, se
recomienda sebreescribir directamente las propiedades adecuadas
para el objeto Arpeggio
dentro del contexto
correspondiente; por ejemplo:
\override Staff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
para imprimir corchetes de arpegio que comprenden más de una voz
en el nivel de Staff
, o bien
\override PianoStaff.Arpeggio.arpeggio-direction = #UP
para imprimir arpegios con punta de flecha (hacia arriba) que
comprendan más de un pentagrama dentro de un contexto
PianoStaff
.
No es posible mezclar arpegios conectados y no conectados en un
PianoStaff
en el mismo instante de tiempo.
La forma sencilla de especificar el corchete en los arpegios de paréntesis no funciona para los arpegios de pentagrama cruzado; see Plicas de pentagrama cruzado.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Arpegio ] | [ Up : Expresiones como líneas ] | [ Repeticiones > ] |
Trinos
Los trinos cortos sin línea extensora se imprimen con
\trill
; véase Articulaciones y ornamentos.
Los trinos largos mantenidos, con línea de extensión, se
hacen con \startTrillSpan
y \stopTrillSpan
:
\relative { d''1\startTrillSpan d1 c2\stopTrillSpan r2 }
Un trino extendido que atraviesa un salto de línea recomienza exactamente encima de la primera nota de la nueva línea.
\relative { d''1\startTrillSpan \break d1 c2\stopTrillSpan r2 }
Los trinos extendidos consecutivos funcionan sin necesidad de
instrucciones \stopTrillSpan
explícitas, porque cada trino
se convertirá automáticamente en el borde derecho del trino
anterior.
\relative { d''1\startTrillSpan d1 b1\startTrillSpan d2\stopTrillSpan r2 }
También se pueden combinar los trinos con notas de adorno. La sintaxis de esta construcción y el método para colocar las notas de adorno con precisión están descritos en Notas de adorno.
\relative { d''1~\afterGrace d1\startTrillSpan { c32[ d]\stopTrillSpan } c2 r2 }
Los trinos que se tienen que ejecutar sobre notas auxiliares
explícitas se pueden tipografiar con la instrucción
pitchedTrill
. El primer argumento es la nota principal, y
el segundo es la nota trinada, que se imprime como una
cabeza de nota, sin plica y entre paréntesis.
\relative { \pitchedTrill d''2\startTrillSpan fis d2 c2\stopTrillSpan r2 }
La alteración del primer trino con altura definida dentro de un compás siempre se imprime, incluso si es un becuadro.
{ \key d \major \pitchedTrill d'2\startTrillSpan cis d\stopTrillSpan \pitchedTrill d2\startTrillSpan c d\stopTrillSpan \pitchedTrill d2\startTrillSpan e d\stopTrillSpan }
Es necesario añadir manualmente las alteraciones subsiguientes (de la misma nota dentro del mismo compás).
\relative { \pitchedTrill eis''4\startTrillSpan fis eis4\stopTrillSpan \pitchedTrill eis4\startTrillSpan cis eis4\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis eis4\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis! eis4\stopTrillSpan }
Instrucciones predefinidas
\startTrillSpan
,
\stopTrillSpan
.
Véase también
Glosario musical: trill.
Referencia de la notación: Articulaciones y ornamentos, Notas de adorno.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: TrillSpanner.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Trinos ] | [ Up : Notación musical ] | [ Repeticiones largas > ] |
1.4 Repeticiones
La repetición es un concepto fundamental en música, y existen varios tipos de notación para las repeticiones. LilyPond contempla los siguientes tipos de repetición:
volta (primera y segunda vez)
La repetición de la música no se imprime de forma desarrollada, sino que se indica encerrándola entre barras de repetición. Si el salto de la repetición se encuentra al comienzo de una pieza, la barra de repetición sólo se imprime al final del fragmento. Se imprimen una serie de finales alternativos (volte) de izquierda a derecha indicados mediante corchetes. Ésta es la notación estándar para las repeticiones con finales alternativos.
unfold (desplegada)
Las música repetida se escribe y se interpreta completamente tantas veces como especifique el valor
número_de_repeticiones
. Es útil cuando se está escribiendo música repetitiva.percent (porcentaje)
Hacer repeticiones de compases o parte de ellos. Tienen un aspecto semejante a un signo de porcentaje. Las repeticiones de porcentaje se deben declarar dentro de un contexto
Voice
.tremolo (trémolo)
Hacer barras de trémolo.
1.4.1 Repeticiones largas | ||
1.4.2 Repeticiones cortas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Repeticiones ] | [ Up : Repeticiones ] | [ Repeticiones normales > ] |
1.4.1 Repeticiones largas
Esta sección trata sobre la forma de introducir repeticiones largas, normalmente de varios compases. Las repeticiones adoptan dos formas: repeticiones encerradas entre signos de repetición, o repeticiones explícitas, que se usan para escribir música repetitiva. También se pueden controlar manualmente los signos de repetición.
Repeticiones normales | ||
Marcas de repetición manual | ||
Repeticiones explícitas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Repeticiones largas ] | [ Up : Repeticiones largas ] | [ Marcas de repetición manual > ] |
Repeticiones normales
La sintaxis de una repetición normal es
\repeat volta número_de_repeticiones expresión_musical
donde expresión_musical
es una expresión musical.
Una repetición simple sin finales alternativos:
\relative { \repeat volta 2 { c''4 d e f } c2 d \repeat volta 2 { d4 e f g } }
De forma predeterminada no se imprimen las dobles barras de
apertura de repetición en el primer compás completo. Sin embargo
es posible imprimirlas usando \bar ".|:"
antes de la
primera nota.
\relative { \repeat volta 2 { \bar ".|:" c''4 d e f } c2 d \repeat volta 2 { d4 e f g } }
Los finales alternativos (casillas de primera y segunda vez) se
pueden generar utilizando \alternative
. Cada grupo de
alternativas debe, a su vez, estar encerrado entre llaves curvas.
\repeat volta número_de_repeticiones expresión_musical \alternative { { expresión_musical } }
donde expresión_musical
es una expresión musical.
Si existen más repeticiones que finales alternativos, se asigna el primer final alternativo a las repeticiones más antiguas.
Repetición única con primera y segunda vez:
\relative { \repeat volta 2 { c''4 d e f | } \alternative { { c2 e | } { f2 g | } } c1 }
Varias repeticiones con primera y segunda vez:
\relative { \repeat volta 4 { c''4 d e f | } \alternative { { c2 e | } { f2 g | } } c1 }
Más de una repetición con más de un final alternativo:
\relative { \repeat volta 3 { c''4 d e f | } \alternative { { c2 e | } { f2 g | } { a2 g | } } c1 }
Nota: Si hay dos o más alternativas, no debe aparecer nada
entre la llave de cierre de una y la de apertura de la otra dentro
de un bloque \alternative
, pues en caso contrario no
obtendremos el número de finales esperado.
Nota: Si incluimos \relative
dentro de un
\repeat
sin instanciar el contexto Voice
explícitamente, aparecerán pentagramas adicionales no deseados.
Véase Aparece un pentagrama de más.
Si una repetición sin casillas de primera y segunda vez comienza
en medio de un compás, normalmente termina en el lugar
correspondiente en mitad de otro compás posterior (de tal forma
que los dos suman un compás completo). En este caso, los símbolos
de repetición no son ‘verdaderas’ líneas divisorias, por lo que
no deben escribirse en este sitio comprobaciones de compás ni
instrucciones \partial
:
c'4 e g \repeat volta 4 { e4 | c2 e | g4 g g } g4 | a2 a | g1 |
Si una repetición que no tiene casillas de primera y segunda vez
comienza con un compás parcial, entonces se aplica el mismo
principio, excepto que se requiere una instrucción \partial
al comienzo del compás:
\partial 4 \repeat volta 4 { e'4 | c2 e | g4 g g } g4 | a2 a | g1 |
Se pueden añadir ligaduras de unión al segundo final:
\relative { c''1 \repeat volta 2 { c4 d e f~ } \alternative { { f2 d } { f2\repeatTie f, } } }
La instrucción \inStaffSegno
se puede utilizar para generar
una barra de compás combinada que incorpora el símbolo del segno
junto con la barra de repetición, cuando se usa con la instrucción
\repeat volta
. Se selecciona automáticamente el tipo
correcto de línea divisoria de repetición, ya sea de comienzo o
fin de repeticion, o de doble repetición. Observe que la
indicación “D.S.” correspondiente se debe añadir manualmente.
Salida de una repetición:
\relative { e'1 \inStaffSegno f2 g a b c1_"D.S." \bar "|." }
Al comienzo de una repetición:
\relative { e'1 \repeat volta 2 { \inStaffSegno % start repeat f2 g a b } c1_"D.S." \bar "|." }
Al final de una repetición:
\relative { e'1 \repeat volta 2 { f2 g a b \inStaffSegno % end repeat } f2 g a b c1_"D.S." \bar "|." }
Entre dos repeticiones:
\relative { e'1 \repeat volta 2 { f2 g a b } \inStaffSegno % double repeat \repeat volta 2 { f2 g a b } c1_"D.S." \bar "|." }
Se pueden obtener símbolos de línea divisoria alternativos
mediante el establecimiento (en el contexto Score) de las
propiedades segnoBarType
, startRepeatSegnoBarType
,
endRepeatSegnoBarType
o doubleRepeatSegnoBarType
al tipo
de línea requerido. Los tipos de línea divisoria alternativos
deben seleccionarse a partir de los tipos predefinidos o de tipos
definidos anteriormente con la instrucción \defineBarLine
(véase Barras de compás).
\defineBarLine ":|.S[" #'(":|." "S[" "") \defineBarLine "]" #'("]" "" "") \relative { e'1 \repeat volta 2 { f2 g a b \once \set Score.endRepeatSegnoBarType = ":|.S[" \inStaffSegno } f2 g \bar "]" a b c1_"D.S." \bar "|." }
Fragmentos de código seleccionados
Acortar los corchetes de primera y segunda vez
De forma predeterminada, los corchetes de primera y segunda vez se
trazan encima de los finales alternativos completos, pero es posible
acortartlos estableciendo un valor cierto para
voltaSpannerDuration
. En el ejemplo siguiente, el corchete
sólo dura un compás, que corresponde a una duración de 3/4.
\relative c'' { \time 3/4 c4 c c \set Score.voltaSpannerDuration = \musicLength 2. \repeat volta 5 { d4 d d \alternative { \volta 1,2,3,4 { e4 e e f4 f f } \volta 5 { g4 g g } } } }
Añadir corchetes de primera y segunda vez a más pentagramas
El grabador Volta_engraver
reside de forma predeterminada
dentro del contexto de Score
, y los corchetes de la repetición
se imprimen así normalmente sólo encima del pentagrama superior. Esto
se puede ajustar añadiendo el grabador Volta_engraver
al
contexto de Staff
en que deban aparecer los corchetes; véase
también el fragmento de código “Volta multi staff”.
<< \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' } \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } >>
Establecer el tipo de repetición doble predeterminado para la primera y segunda vez
Existen tres estilos distintos de repeticiones dobles para la primera
y segunda vez, que se pueden ajustar utilizando
doubleRepeatBarType
.
\relative c'' { \repeat volta 2 { c1 } \set Score.doubleRepeatBarType = ":..:" \repeat volta 2 { c1 } \set Score.doubleRepeatBarType = ":|.|:" \repeat volta 2 { c1 } \set Score.doubleRepeatBarType = ":|.:" \repeat volta 2 { c1 } }
Numeración de compases alternativa
Se pueden seleccionar dos métodos alternativos para la numeración de compases, especiales para cuando hay repeticiones.
music = \relative c' { \repeat volta 3 { c4 d e f | \alternative { \volta 1 { c4 d e f | c2 d \break } \volta 2 { f4 g a b | f4 g a b | f2 a | \break } \volta 3 { c4 d e f | c2 d } } } c1 \bar "|." } \markup "default" { \music } \markup \typewriter "'numbers" { \set Score.alternativeNumberingStyle = #'numbers \music } \markup \typewriter "'numbers-with-letters" { \set Score.alternativeNumberingStyle = #'numbers-with-letters \music } \paper { tagline = ##f }
Véase también
Glosario musical: repeat, volta.
Referencia de la notación: Barras de compás, Modificar los complementos (plug-ins) de contexto, Modificación de ligaduras de unión y de expresión, Gestión del tiempo.
Archivos instalados: ly/engraver-init.ly.
Fragmentos de código: Repeats.
Referencia de funcionamiento interno: VoltaBracket, VoltaRepeatedMusic, UnfoldedRepeatedMusic.
Advertencias y problemas conocidos
Las ligaduras de expresión que abarcan desde un bloque
\repeat
hasta un bloque \alternative
sólo funcionan
para la casilla de primera vez. La apariencia visual de una
ligadura de expresión que se continúa introduciéndose en otras
casillas de repetición puede simularse con \repeatTie
si la
ligadura se extiende hasta una sola nota dentro de la casilla de
repetición, aunque este método no funciona en TabStaff
.
Otros métodos que pueden venir bien para indicar ligaduras que se
continúan por encima de varias notas en las casillas de
repetición, y que también funcionan en contextos de tablatura
TabStaff
, están explicados en
Modificación de ligaduras de unión y de expresión.
Asimismo, no es posible hacer que las ligaduras de expresión se replieguen desde el final de una alternativa hasta el comienzo de la repetición.
Los glissandos que se extienden desde un bloque \repeat
hasta un bloque \alternative
solamente funcionan para la
casilla de primera vez. Se puede indicar la apariencia visual de
un glissando que se continúa hasta el interior de otras casillas
de repetición mediante la codificación de un glissando que empieza
en una nota de adorno oculta. Para ver un ejemplo, consulte
“Extender los glissandos sobre las repeticiones” bajo el
epígrafe Fragmentos de código seleccionados, en Glissando.
Si una repetición que comienza con un compás incompleto tiene un
bloque \alternative
que contiene modificaciones a la
propiedad measureLength
, la utilización de
\unfoldRepeats
dará lugar a líneas divisorias erróneamente
colocadas y advertencias de comprobación de compás.
Una repetición anidada como
\repeat … \repeat … \alternative
es ambigua porque no está claro a qué \repeat
pertenece la
\alternative
. Esta ambigüedad se resuelve haciendo que la
\alternative
pertenezca siempre a la \repeat
más
interna. Para más claridad, se recomienda usar llaves en tales
situaciones.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Repeticiones normales ] | [ Up : Repeticiones largas ] | [ Repeticiones explícitas > ] |
Marcas de repetición manual
Nota: Estos métodos sólo se utilizan para realizar
construcciones de repetición poco usuales, y pueden tener un
comportamiento distinto al esperado. En casi todas las
situaciones, se deben crear las repeticiones utilizando la
instrucción estándar \repeat
o imprimiendo las barras
de compás correspondientes. Para ver más información, consulte
Barras de compás.
Se puede usar la propiedad repeatCommands
para controlar la
disposición de las repeticiones. Su valor es una lista de Scheme
de instrucciones de repetición.
start-repeat
Imprimir una barra de compás
.|:
\relative { c''1 \set Score.repeatCommands = #'(start-repeat) d4 e f g c1 }
En la práctica habitual del grabado no se imprimen signos de repetición al principio de la pieza.
end-repeat
Imprimir una barra de compás
:|.
\relative { c''1 d4 e f g \set Score.repeatCommands = #'(end-repeat) c1 }
(volta number) … (volta #f)
Crear una nueva casilla de repetición con el número que se especifica. El corchete de vez se debe terminar de forma explícita, pues en caso contrario no se imprime.
\relative { f''4 g a b \set Score.repeatCommands = #'((volta "2")) g4 a g a \set Score.repeatCommands = #'((volta #f)) c1 }
Se pueden producir varias instrucciones de repetición en el mismo punto:
\relative { f''4 g a b \set Score.repeatCommands = #'((volta "2, 5") end-repeat) g4 a g a c1 \set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat) b1 \set Score.repeatCommands = #'((volta #f)) }
Se puede incluir texto dentro de la casilla de primera y segunda vez. El texto puede ser un número o números, o un elemento de marcado, véase Formatear el texto. La forma más fácil de usar texto de marcado es definir el marcado previamente, y luego incluirlo dentro de una lista de Scheme.
voltaAdLib = \markup { \volta-number { 1. 2. 3... } \italic { ad lib. } } \relative { c''1 \set Score.repeatCommands = #`((volta ,voltaAdLib) start-repeat) c4 b d e \set Score.repeatCommands = #`((volta #f) (volta ,#{ \markup \volta-number "4." #}) end-repeat) f1 \set Score.repeatCommands = #'((volta #f)) }
Véase también
Referencia de la notación: Barras de compás, Formatear el texto.
Fragmentos de código: Repeats.
Referencia de funcionamiento interno: VoltaBracket, VoltaRepeatedMusic.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Marcas de repetición manual ] | [ Up : Repeticiones largas ] | [ Repeticiones cortas > ] |
Repeticiones explícitas
Mediante la utilización de la instrucción unfold
se pueden
usar las repeticiones para simplificar la escritura desplegada de
música repetitiva. La sintaxis es:
\repeat unfold número_de_repeticiones expresión_musical
donde expresión_musical
es una expresión musical y
número_de_repeticiones
es el número de veces que
expresión_musical
se repite.
\relative { \repeat unfold 2 { c''4 d e f } c1 }
En ciertos casos, especialmente dentro de un contexto
\relative
, la función \repeat unfold
no es
exactamente igual que escribir la expresión musical varias
veces. P. ej.:
\repeat unfold 2 { a'4 b c }
no equivale a
a'4 b c | a'4 b c
Se pueden hacer repeticiones desplegadas con finales alternativos.
\relative { \repeat unfold 2 { c''4 d e f } \alternative { { c2 g' } { c,2 b } } c1 }
Si hay más repeticiones que finales alternativos, el primer final alternativo se aplica las veces necesarias hasta que las alternativas restantes completan el número total de repeticiones.
\relative { \repeat unfold 4 { c''4 d e f } \alternative { { c2 g' } { c,2 b } { e2 d } } c1 }
Si existen más finales alternativos que repeticiones, se aplican solo los primeros finales alternativos. Las alternativas restantes se ignoran y no se imprimen.
\relative { \repeat unfold 2 { c''4 d e f } \alternative { { c2 g' } { c,2 b } { e2 d } } c1 }
Es posible también anidar varias funciones unfold
(con
finales alternativos o sin ellos).
\relative { \repeat unfold 2 { \repeat unfold 2 { c''4 d e f } \alternative { { c2 g' } { c,2 b } } } c1 }
Las construcciones de acorde se pueden repetir mediante el símbolo
de repetición de acordes q
. Véase Repetición de acordes.
Nota: Si pone \relative
dentro de un bloque
\repeat
sin instanciar explícitamente el contexto
Voice
, aparecerán pentagramas no deseados. Véase
Aparece un pentagrama de más.
Véase también
Referencia de la notación: Repetición de acordes.
Snippets: Fragmentos de código: Repeats.
Referencia de funcionamiento interno: UnfoldedRepeatedMusic.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Repeticiones explícitas ] | [ Up : Repeticiones ] | [ Repeticiones de compás o parte de ellos > ] |
1.4.2 Repeticiones cortas
Esta sección trata de cómo introducir repeticiones cortas. Las repeticiones cortas pueden adoptar dos formas: barras inclinadas o signos de porcentaje si estamos representando repeticiones de una sola nota, un compás o dos compases, y trémolos en caso contrario.
Repeticiones de compás o parte de ellos | ||
Repeticiones de trémolo |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Repeticiones cortas ] | [ Up : Repeticiones cortas ] | [ Repeticiones de trémolo > ] |
Repeticiones de compás o parte de ellos
Los patrones cortos que se repiten se imprimen una sola vez, y el patrón repetido se sustituye por un símbolo especial.
La sintaxis es:
\repeat percent número expresión_musical
donde expresión_musical
es una expresión musical.
Los patrones más cortos que un compás se sustituyen por barras inclinadas.
\relative c'' { \repeat percent 4 { c128 d e f } \repeat percent 4 { c64 d e f } \repeat percent 5 { c32 d e f } \repeat percent 4 { c16 d e f } \repeat percent 4 { c8 d } \repeat percent 4 { c4 } \repeat percent 2 { c2 } }
Los patrones de repetición de uno o dos compases se sustituyen por signos parecidos al símbolo de porcentaje.
\relative c'' { \repeat percent 2 { c4 d e f } \repeat percent 2 { c2 d } \repeat percent 2 { c1 } }
\relative { \repeat percent 3 { c''4 d e f | c2 g' } }
Los patrones más cortos que un compás pero que contienen duraciones mezcladas utilizan un símbolo de porcentaje doble.
\relative { \repeat percent 4 { c''8. <d f>16 } \repeat percent 2 { \tuplet 3/2 { r8 c d } e4 } }
Fragmentos de código seleccionados
Contador de repeticiones de tipo porcentaje
Las repeticiones de compases completos de más de dos repeticiones pueden llevar un contador si se activa la propiedad adecuada, como se ve en este ejemplo:
\relative c'' { \set countPercentRepeats = ##t \repeat percent 4 { c1 } }
Visibilidad del contador de repeticiones de tipo porcentaje
Se pueden mostrar los contadores de las repeticiones del tipo
porcentaje a intervalos regulares mediante el establecimiento de
la propiedad de contexto repeatCountVisibility
.
\relative c'' { \set countPercentRepeats = ##t \set repeatCountVisibility = #(every-nth-repeat-count-visible 5) \repeat percent 10 { c1 } \break \set repeatCountVisibility = #(every-nth-repeat-count-visible 2) \repeat percent 6 { c1 d1 } }
Símbolos de porcentaje sueltos
También se pueden imprimir símbolos de porcentaje sueltos.
makePercent = #(define-music-function (note) (ly:music?) "Make a percent repeat the same length as NOTE." (make-music 'PercentEvent 'length (ly:music-length note))) \relative c'' { \makePercent s1 }
Véase también
Glosario musical: percent repeat, simile.
Fragmentos de código: Repeats.
Referencia de funcionamiento interno: RepeatSlash, RepeatSlashEvent, DoubleRepeatSlash, PercentRepeat, PercentRepeatCounter, PercentRepeatedMusic, Percent_repeat_engraver, DoublePercentEvent, DoublePercentRepeat, DoublePercentRepeatCounter, Double_percent_repeat_engraver, Slash_repeat_engraver.
Advertencias y problemas conocidos
Las repeticiones de porcentaje no contienen nada más aparte del propio signo de porcentaje; especialmente, los cambios de indicación de compás no se repiten.
\repeat percent 3 { \time 5/4 c2. 2 \time 4/4 2 2 }
Cualquier cambio de compás o instrucción \partial
se tiene
que producir en pasajes paralelos fuera de la repetición de
porcentaje, p. ej. en una pista especial para la gestión del
compás.
<< \repeat percent 3 { c2. 2 2 2 } \repeat unfold 3 { \time 5/4 s4*5 \time 4/4 s1 } >>
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Repeticiones de compás o parte de ellos ] | [ Up : Repeticiones cortas ] | [ Notas simultáneas > ] |
Repeticiones de trémolo
Los trémolos pueden adoptar dos formas: alternancia entre dos acordes o dos notas, y repetición rápida de una sola nota o acorde. Los trémolos que consisten en una alternancia se indican por medio de la adición de barras entre las notas o acordes que se alternan, mientras que los trémolos que consisten en la repetición rápida de una sola nota se indican mediante la adición de barras cruzadas a una nota única.
Para colocar marcas de trémolo entre las notas, use \repeat
con el estilo tremolo
(trémolo):
\relative c'' { \repeat tremolo 8 { c16 d } \repeat tremolo 6 { c16 d } \repeat tremolo 2 { c16 d } }
La sintaxis de \repeat tremolo
espera que se escriban
exactamente dos notas dentro de las llaves, y el número de
repeticiones debe corresponderse con un valor que se pueda
expresar con figuras normales o con puntillo. Así, \repeat
tremolo 7
es válido y produce una nota con doble puntillo, pero
\repeat tremolo 9
no es válido.
La duración del trémolo es igual a la duración de la expresión
entre llaves, multiplicada por el número de repeticiones:
\repeat tremolo 8 { c16 d16 }
da como resultado un
trémolo de redonda, escrito como dos redondas unidas por barras de
trémolo.
Existen dos maneras de colocar marcas de trémolo sobre una única
nota. Incluso aquí se puede utilizar la sintaxis \repeat
tremolo
, en cuyo caso la nota no debe ir encerrada entre llaves:
\repeat tremolo 4 c'16
El mismo resultado se puede obtener escribiendo :N
después de la nota, donde N
indica la duración de la
subdivisión (debe ser 8 como mínimo). Si N
es 8, se
añade una barra de corchea a la plica de la nota. Si
N
se omite, se utiliza el último valor:
\relative { c''2:8 c:32 c: c: }
Fragmentos de código seleccionados
Trémolos de pentagrama cruzado
Dado que \repeat tremolo
espera exactamente dos argumentos
musicales para los trémolos de acorde, la nota o acorde que cambia de
pentagrama en un trémolo que cruza el pentagrama se debe colocar
dentro de llaves curvas junto a su instrucción \change Staff
.
\new PianoStaff << \new Staff = "up" \relative c'' { \key a \major \time 3/8 s4. } \new Staff = "down" \relative c'' { \key a \major \time 3/8 \voiceOne \repeat tremolo 6 { <a e'>32 { \change Staff = "up" \voiceTwo <cis a' dis>32 } } } >>
Véase también
Fragmentos de código: Repeats.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Repeticiones de trémolo ] | [ Up : Notación musical ] | [ Una voz única > ] |
1.5 Notas simultáneas
La palabra ‘polifonía’ en música hace referencia a tener más de una voz en una pieza cualquiera de música. En LilyPond la polifonía hace referencia a tener más de una voz en el mismo pentagrama.
1.5.1 Una voz única | ||
1.5.2 Varias voces |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notas simultáneas ] | [ Up : Notas simultáneas ] | [ Notas en acorde > ] |
1.5.1 Una voz única
Esta sección trata de la notas simultáneas dentro de la misma voz.
Notas en acorde | ||
Repetición de acordes | ||
Expresiones simultáneas | ||
Racimos (clusters) |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Una voz única ] | [ Up : Una voz única ] | [ Repetición de acordes > ] |
Notas en acorde
Un acorde se forma encerrando un conjunto de notas entre <
y >
. Un acorde puede ir seguido de una duración, como si
fueran simples notas.
\relative { <a' c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16 }
Los acordes también pueden ir seguidos de articulaciones, de nuevo como si fueran simples notas.
\relative { <a' c e>1\fermata <a c e>2-> <f a c e>4\prall <a c>8.^! <g c e>16-. }
Las notas dentro del propio acorde también pueden ir seguidas de articulaciones y ornamentos.
\relative { <a' c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4 <a-+ c-->8. <g\fermata c e\turn>16 }
Sin embargo, algunos elementos de notación tales como las expresiones de matices dinámicos y los reguladores se deben unir al acorde y no a las notas que integran el mismo, pues en caso contrario no se imprimirán. Otros elementos de notación como las digitaciones y las ligaduras de expresión se posicionan de forma muy diferente cuando se adjuntan a las notas de un acorde en lugar de hacerlo a redondas o notas sueltas.
\relative { <a'\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>) <a c e>\< <a c e> <a c e>\! }
Un acorde funciona como un mero contenedor para las notas que lo componen y sus articulaciones y otros elementos adjuntos. Como consecuencia, un acorde sin ninguna nota en su interior no tiene realmente ninguna duración. Cualqier articulación adjunta se producirá en el mismo momento musical que la nota o acorde siguiente y se puede combinar con ellos (para ver posibilidades más complejas de combinaciones de estos elementos, consulte Expresiones simultáneas):
\relative { \grace { g'8( a b } <> ) \p \< -. -\markup \italic "sempre staccato" \repeat unfold 4 { c4 e } c1\f }
Se puede usar el modo relativo para la altura de las notas de los acordes. La primera nota del acorde siempre es relativa a la primera nota del acorde anterior, o en caso de que el elemento precedente no sea un acorde, la altura de la última nota que vino antes del acorde. El resto de las notas del acorde son relativas a la nota anterior dentro del mismo acorde.
\relative { <a' c e>1 <f a c> <a c e> <f' a c> <b, e b,> }
Para ver más información sobre los acordes, consulte Notación de acordes.
Véase también
Glosario musical: chord.
Manual de aprendizaje: Combinar notas para formar acordes.
Referencia de la notación: Notación de acordes, Articulaciones y ornamentos, Escritura de octava relativa, Varias voces.
Fragmentos de código: Simultaneous notes.
Advertencias y problemas conocidos
Los acordes que contienen más de dos alturas en el mismo espacio de pentagrama, como ‘<e f! fis!>’, crean notas cuyas cabezas se superponen. Dependiendo de la situación, una mejor representación puede requerir:
- el uso temporal de varias voces, véase Varias voces, ‘<< f! \\ <e fis!> >>’,
- la transcripción enarmónica de una o más notas, ‘<e f ges>’, or
- Culsters o racimos; véase Racimos (clusters).
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notas en acorde ] | [ Up : Una voz única ] | [ Expresiones simultáneas > ] |
Repetición de acordes
Para reducir el tecleo, se puede usar una abreviatura de
repetición del acorde anterior. El símbolo de repetición de
acordes es q
:
\relative { <a' c e>1 q <f a c>2 q }
Como en los acordes normales, el símbolo de repetición de acordes puede usarse con duraciones, articulaciones, elementos de marcado, ligaduras de expresión, barras, etc., pues sólo se duplican las notas del acorde precedente.
\relative { <a' c e>1\p^"text" q2\<( q8)[-! q8.]\! q16-1-2-3 q8\prall }
El símbolo de repetición de acordes siempre recuerda la última ocurrencia de un acorde, por lo que es posible repetir el acorde más reciente incluso si se han escrito en medio otras notas que no están en un acorde, o silencios.
\relative { <a' c e>1 c'4 q2 r8 q8 | q2 c, | }
Sin embargo, el símbolo de repetición de acordes no retiene los matices dinámicos, las articulaciones ni los ornamentos que contiene o que están adosados al acorde anterior.
\relative { <a'-. c\prall e>1\sfz c'4 q2 r8 q8 | q2 c, | }
Para poder retener algunos de ellos, se puede llamar
explícitamente a la función \chordRepeats
con un argumento
adicional que especifique una lista de tipos de evento que
conservar, a no ser que los eventos de ese tipo ya estén presentes
en el propio acorde q
.
\relative { \chordRepeats #'(articulation-event) { <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } | q2 c, | }
Aquí, el uso de \chordRepeats
dentro de una construcción
\relative
produce un resultado inseperado: una vez se han
expandido los eventos de acorde, no pueden distinguirse de
aquellos introducidos como acordes normales, haciendo que
\relative
asigne una octava basada en su contexto actual.
Dado que las instancias anidadas de \relative
no se afectan
mutuamente, se puede usar otra instrucción \relative
dentro
de \chordRepeats
para establecer las relaciones de octava
antes de expandir los acordes repetidos. En tal caso, todo el
contenido de la instrucción \relative
interior no afecta a
la exterior; de aquí la distinta escritura de octava en la última
nota de este ejemplo.
\relative { \chordRepeats #'(articulation-event) \relative { <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } | q2 c'' | }
Las interacciones con \relative
se producen solamente con
las llamadas explícitas de \chordRepeats
: la expansión
implícita al comienzo del proceso de tipografiado se hace en un
momento en que todas las instancias de \relative
ya se han
procesado.
Véase también
Referencia de la notación: Notación de acordes, Articulaciones y ornamentos.
Archivos de inicio: ly/chord-repetition-init.ly.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Repetición de acordes ] | [ Up : Una voz única ] | [ Racimos (clusters) > ] |
Expresiones simultáneas
Una o más expresiones musicales encerradas entre ángulos dobles se entienden como simultáneas. Si la primera expresión comienza con una sola nota o si toda la expresión simultánea aparece explícitamente dentro de una sola voz, la expresión completa se sitúa sobre un solo pentagrama; en caso contrario los elementos de la expresión simultánea se sitúan en pentagramas distintos.
Los ejemplos siguientes muestran expresiones simultáneas sobre un solo pentagrama:
\new Voice { % explicit single voice << \relative { a'4 b g2 } \relative { d'4 g c,2 } >> }
\relative { % single first note a' << \relative { a'4 b g } \relative { d'4 g c, } >> }
Esto puede ser de utilidad si las secciones simultáneas tienen idénticas duraciones, pero se producirán errores si se intentan poner notas de distinta duración sobre la misma plica. Las notas, articulaciones y cambios de propiedades que están dentro de un solo contexto ‘Voice’ se recolectan y se representan en el orden musical:
\relative { <a' c>4-. <>-. << c a >> << { c-. <c a> } { a s-. } >> }
Tratar de poner más de una plica o barra de corchea, o distintas duraciones o propiedades en el mismo momento musical, requiere el uso de más de una voz.
El ejemplo siguiente muestra cómo las expresiones simultáneas pueden generar varios pentagramas de forma implícita:
% no single first note << \relative { a'4 b g2 } \relative { d'4 g2 c,4 } >>
Aquí no hay problema en tener distintas duraciones porque se interpretan en voces distintas.
Advertencias y problemas conocidos
Si hay notas que proceden de dos o más voces, sin especificar ningún desplazamiento horizontal, y tienen las plicas en la misma dirección, aparece el mensaje
Advertencia: esta voz requiere un ajuste de \voiceXx o \shiftXx
durante la compilación. Este mensaje se puede suprimir mediante
\override NoteColumn.ignore-collision = ##t
Sin embargo, esto no solamente suprime la advertencia sino que puede evitar cualquier resolución de colisiones y puede tener otros efectos no deseados (consulte también Problemas conocidos en Resolución de las colisiones).
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Expresiones simultáneas ] | [ Up : Una voz única ] | [ Varias voces > ] |
Racimos (clusters)
Un «cluster» o racimo indica que se deben tocar simultáneamente un
conjunto de notas consecutivas. Se escriben aplicando la función
\makeClusters
a una secuencia de acordes, p.ej.:
\relative \makeClusters { <g' b>2 <c g'> }
Se pueden mezclar en el mismo pentagrama notas normales y clusters, incluso al mismo tiempo. En tal caso, no se hace ningún intento de evitar automáticamente las colisiones entre clusters y notas normales.
Véase también
Glosario musical: cluster.
Fragmentos de código: Simultaneous notes.
Referencia de funcionamiento interno: ClusterSpanner, ClusterSpannerBeacon, Cluster_spanner_engraver.
Advertencias y problemas conocidos
Los clusters sólo tienen un buen aspecto cuando abarcan un mínimo de dos acordes. En caso contrario aparecerán excesivamente estrechos.
Los clusters no llevan plica y por sí mismos no pueden indicar las duraciones, pero la longitud del cluster que se imprime viene determinada por la duración de los acordes que lo definen. Los racimos separados necesitan silencios de separación entre ellos.
Los clusters no producen ninguna salida MIDI.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Racimos (clusters) ] | [ Up : Notas simultáneas ] | [ Polifonía en un solo pentagrama > ] |
1.5.2 Varias voces
Esta sección trata las notas simultáneas en varias voces o varios pentagramas.
Polifonía en un solo pentagrama | ||
Estilos de voz | ||
Resolución de las colisiones | ||
Combinación de silencios | ||
Combinación automática de las partes | ||
Escribir música en paralelo |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Varias voces ] | [ Up : Varias voces ] | [ Estilos de voz > ] |
Polifonía en un solo pentagrama
Instanciar las voces explícitamente
La estructura básica necesaria para obtener varias voces independientes en un mismo pentagrama se ilustra en el ejemplo siguiente:
\new Staff << \new Voice = "first" \relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d } \new Voice= "second" \relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. } >>
Aquí se crean explícitamente instancias de voces, cada una de las
cuales recibe un nombre. Las instrucciones \voiceOne
… \voiceFour
(voz uno hasta voz cuatro) preparan las
voces de manera que la primera y segunda voces llevan las plicas
hacia arriba, las voces segunda y cuarta llevan las plicas hacia
abajo, las cabezas de las notas en las voces tercera y cuarta se
desplazan horizontalmente, y los silencios de las voces
respectivas se desplazan también automáticamente para evitar las
colisiones. La instrucción \oneVoice
(una voz) devuelve
todos los ajustes de las voces al estado neutro predeterminado.
Pasajes polifónicos temporales
Se puede crear un pasaje polifónico temporal con la construcción siguiente:
<< { \voiceOne … } \new Voice { \voiceTwo … } >> \oneVoice
Aquí, la primera expresión dentro de un pasaje polifónico temporal
se coloca en el contexto Voice
que estaba en uso
inmediatamente antes del pasaje polifónico, y ese mismo contexto
Voice
continua después de la sección temporal. Otras
expresiones dentro de los ángulos se asignan a distintas voces
temporales. Esto permite asignar la letra de forma continua a una
voz antes, durante y después de la sección polifónica:
\relative << \new Voice = "melody" { a'4 << { \voiceOne g f } \new Voice { \voiceTwo d2 } >> \oneVoice e4 } \new Lyrics \lyricsto "melody" { This is my song. } >>
Aquí, las instrucciones \voiceOne
y \voiceTwo
son
necesarias para definir los ajustes de cada voz.
La construcción de la doble barra invertida
La construcción << {…} \\ {…} >>
, en que
las dos expresiones (o más) están separadas por doble barra
invertida, se comporta de forma distinta a la construcción similar
sin las dobles barras: todas las expresiones dentro de esta
construcción se asignan a contextos Voice
nuevos. Estos
contextos Voice
nuevos se crean implícitamente y reciben
los nombres fijos "1"
, "2"
, etc.
El primer ejemplo podría haberse tipografiado de la manera siguiente:
<< \relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d } \\ \relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. } >>
Esta sintaxis se puede usar siempre que no nos importe que se
creen nuevas voces temporales que después serán descartadas.
Estas voces creadas implícitamente reciben ajustes equivalentes al
efecto de las instrucciones \voiceOne
…
\voiceFour
, en el orden en que aparecen en el código.
En el siguiente ejemplo, la voz intermedia lleva las plicas hacia arriba, de manera que la introducimos en tercer lugar para que pase a ser la voz tres, que tiene las plicas hacia arriba tal y como queremos. Se usan silencios de separación para evitar la aparición de silencios duplicados.
<< \relative { r8 g'' g g g f16 ees f8 d } \\ \relative { ees'8 r ees r d r d r } \\ \relative { d''8 s c s bes s a s } >>
En todas las partituras excepto las más simples, se recomienda
crear contextos Voice
explícitos como aparece explicado en
Contextos y grabadores y en Voces
explícitas.
Orden de las voces
Al escribir varias voces en el archivo de entrada, utilice el orden siguiente:
Voz 1: las más aguda Voz 2: la más grave Voz 3: la segunda más aguda Voz 4: la segunda más grave Voz 5: la tercera más aguda Voz 6: la tercera más grave etc.
A pesar de que esto puede parecer contrario a la intuición, simplifica el proceso de disposición automática de las figuras. Observe que las voces de numeración impar reciben plicas hacia arriba, y las de numeración par reciben plicas hacia abajo:
\new Staff << \time 2/4 { f''2 } % 1: highest \\ { c'2 } % 2: lowest \\ { d''2 } % 3: second-highest \\ { e'2 } % 4: second-lowest \\ { b'2 } % 5: third-highest \\ { g'2 } % 6: third-lowest >>
Si se desea introducir las voces en un orden distinto, puede ser de
utilidad la instrucción \voices
:
\new Staff \voices 1,3,5,6,4,2 << \time 2/4 { f''2 } % 1: highest \\ { d''2 } % 3: second-highest \\ { b'2 } % 5: third-highest \\ { g'2 } % 6: third-lowest \\ { e'2 } % 4: second-lowest \\ { c'2 } % 2: lowest >>
Nota: No se pueden crear letras ni elementos de extensión (como ligaduras, reguladores, etc.) que se crucen de una voz a otra.
Duraciones idénticas
En el caso especial en que queremos tipografiar fragmentos de música que discurre en paralelo y con las mismas duraciones, se pueden combinar en un solo contexto de voz, formando así acordes. Para conseguirlo, las incorporamos dentro de una construcción de música simultánea, dentro de una voz creada explícitamente:
\new Voice << \relative { e''4 f8 d e16 f g8 d4 } \relative { c''4 d8 b c16 d e8 b4 } >>
Este método conduce a barrados extraños y advertencias si los fragmentos de música no tienen las mismas duraciones exactas.
Instrucciones predefinidas
\voiceOne
,
\voiceTwo
,
\voiceThree
,
\voiceFour
,
\oneVoice
.
Véase también
Manual de aprendizaje: Las voces contienen música, Voces explícitas.
Referencia de la notación: Pautas de percusión, Silencios invisibles, Plicas.
Fragmentos de código: Simultaneous notes.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Polifonía en un solo pentagrama ] | [ Up : Varias voces ] | [ Resolución de las colisiones > ] |
Estilos de voz
Se pueden aplicar colores y formas distintos a las voces para permitir identificarlas fácilmente:
<< \relative { \voiceOneStyle d''4 c2 b4 } \\ \relative { \voiceTwoStyle e'2 e } \\ \relative { \voiceThreeStyle b2. c4 } \\ \relative { \voiceFourStyle g'2 g } >>
Para recuperar la presentación normal se utiliza la instrucción
\voiceNeutralStyle
.
Instrucciones predefinidas
\voiceOneStyle
,
\voiceTwoStyle
,
\voiceThreeStyle
,
\voiceFourStyle
,
\voiceNeutralStyle
.
Véase también
Manual de aprendizaje: Oigo voces, Otras fuentes de información.
Fragmentos de código: Simultaneous notes.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Estilos de voz ] | [ Up : Varias voces ] | [ Combinación de silencios > ] |
Resolución de las colisiones
Las cabezas de notas que están en diferentes voces y tienen la misma altura, la misma forma de cabeza, y dirección opuesta de la plica, se combinan automáticamente, pero las que tienen cabezas distintas o la misma dirección de la plica no se combinan. Los silencios que se encuentran en el lado opuesto de una plica en otra voz se desplazan verticalmente. El ejemplo siguiente muestra tres circunstancias distintas, sobre los pulsos 1 y 3 en el primer compás y sobre el pulso 1 del segundo compás, donde la combinación automática falla.
<< \relative { c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >>
Las cabezas de notas diferentes se pueden combinar como se muestra más abajo. En este ejemplo las cabezas del pulso 1 del primer compás sí se combinan:
<< \relative { \mergeDifferentlyHeadedOn c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >>
Las figuras negras y blancas no se combinan de esta manera, pues sería difícil poder distinguirlas.
También se pueden combinar cabezas con puntillos diferentes, como se muestra en el tercer pulso del primer compás:
<< \relative { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >>
La blanca y la corchea en el comienzo del segundo compás no están
correctamente combinadas porque la combinación automática no es
capaz de completarse satisfactoriamente cuando se encuentran tres
o más notas alineadas en la misma columna de notas, y en este caso
la cabeza combinada es incorrecta. Para conseguir que la
combinación seleccione la cabeza correcta, se debe aplicar un
\shift
o desplazamiento a la nota que no se debe combinar.
Aquí, se aplica \shiftOn
para mover el sol agudo fuera de
la columna, y entonces \mergeDifferentlyHeadedOn
hace su
trabajo correctamente.
<< \relative { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c''8 d e d c d c4 \shiftOn g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >>
La instrucción \shiftOn
permite (aunque no fuerza) que las
notas de una voz se puedan desplazar. Cuando\shiftOn
se
aplica a una voz, una nota o acorde de esta voz se desplaza
solamente si su plica chocase en caso contrario con una plica de
otra voz, y sólo si las plicas en colisión apuntan en la misma
dirección. La instrucción \shiftOff
evita la posibilidad
de este tipo de desplazamiento.
De forma predeterminada, las voces externas (normalmente las voces
uno y dos) tienen \shiftOff
especificado (desplazamiento
desactivado), mientras que las voces interiores (tres y
siguientes) tienen especificado \shiftOn
(desplazamiento
activado). Cuando se aplica un desplazamiento, las voces con
plicas hacia arriba (voces de numeración impar) se desplazan hacia
la derecha, y las voces con las plicas hacia abajo (voces con
numeración par) se desplazarn a la izquierda.
He aquí un ejemplo que le ayudará a visualizar la forma en que se expanidría internamente una expresión polifónica.
Nota: Observe que con tres o más voces, el orden vertical de las mismas dentro de su archivo de entrada ¡no sería el mismo que el orden vertical de las voces en el pentagrama!
\new Staff \relative { %% abbreviated entry << { f''2 } % 1: highest \\ { g,2 } % 2: lowest \\ { d'2 } % 3: upper middle \\ { b2 } % 4: lower middle >> %% internal expansion of the above << \new Voice = "1" { \voiceOne \shiftOff f'2 } \new Voice = "2" { \voiceTwo \shiftOff g,2 } \new Voice = "3" { \voiceThree \shiftOn d'2 } % shifts right \new Voice = "4" { \voiceFour \shiftOn b2 } % shifts left >> }
Dos instrucciones adicionales, \shiftOnn
y
\shiftOnnn
, ofrecen niveles de desplazamiento mayores que
se pueden especificar temporalmente para resolver colisiones en
situaciones complejas; véase Ejemplos reales de
música.
Sólo se combinan las notas si tienen la plica en direcciones opuestas (como la tienen, por ejemplo, en las voces uno y dos de forma predeterminada o cuando las plicas se establecen explícitamente en direcciones opuestas).
Instrucciones predefinidas
\mergeDifferentlyDottedOn
,
\mergeDifferentlyDottedOff
,
\mergeDifferentlyHeadedOn
,
\mergeDifferentlyHeadedOff
.
\shiftOn
,
\shiftOnn
,
\shiftOnnn
,
\shiftOff
.
Fragmentos de código seleccionados
Voces adicionales para evitar colisiones
En ciertos casos de polifonía compleja, se necesitan voces adicionales
para evitar colisiones entre las notas. Si se necesitan más de cuatro
voces paralelas, las voces adicionales se añaden definiendo una
variable que utiliza la función de Scheme context-spec-music
.
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) \relative c'' { \time 3/4 \key d \minor \partial 2 << \new Voice { \voiceOne a4. a8 e'4 e4. e8 f4 d4. c8 } \new Voice { \voiceTwo d,2 d4 cis2 d4 bes2 } \new Voice { \voiceThree f'2 bes4 a2 a4 s2 } \new Voice { \voiceFive s2 g4 g2 f4 f2 } >> }
Desplazar las notas con puntillo en polifonía
Cuando se puede una nota en la voz superior para evitar la colisión
con una nota de otra voz, el comportamiento predeterminado es
desplazar la nota superior a la derecha. Se puede cambiar usando la
propiedad prefer-dotted-right
de NoteCollision
.
\new Staff \relative c' << { f2. f4 \override Staff.NoteCollision.prefer-dotted-right = ##f f2. f4 \override Staff.NoteCollision.prefer-dotted-right = ##t f2. f4 } \\ { e4 e e e e e e e e e e e } >>
Forzar el desplazamiento horizontal de las notas
Cuando el motor de tipografiado no es capaz de todo, se puede usar la sintaxis siguiente para sobreescribir las decisiones de tipografía. Las unidades de medida que se usan aquí son espacios de pentagrama.
\relative c' << { <d g>2 <d g> } \\ { <b f'>2 \once \override NoteColumn.force-hshift = 1.7 <b f'>2 } >>
Véase también
Glosario musical: polyphony.
Manual de aprendizaje: Varias notas a la vez, Las voces contienen música, Ejemplos reales de música.
Fragmentos de código: Simultaneous notes.
Referencia de funcionamiento interno: NoteColumn, NoteCollision, RestCollision.
Advertencias y problemas conocidos
El uso de \override NoteColumn.ignore-collision = ##t
hace
que las notas con distinta cabeza en voces diferentes se mezclen
incorrectamente.
\mergeDifferentlyHeadedOn << \relative { c'16 a' b a } \\ \relative { c'2 } >> \override NoteColumn.ignore-collision = ##t << \relative { c'16 a' b a } \\ \relative { c'2 } >>
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Resolución de las colisiones ] | [ Up : Varias voces ] | [ Combinación automática de las partes > ] |
Combinación de silencios
Al usar más de una voz, es frecuente combinar los silencios que
aparecen en las dos partes. Esto puede hacerse mediante el uso
del grabador Merge_rests_engraver
.
voiceA = \relative { d''4 r d2 | R1 | } voiceB = \relative { fis'4 r g2 | R1 | } \score { << \new Staff \with { instrumentName = "unmerged" } << \new Voice { \voiceOne \voiceA } \new Voice { \voiceTwo \voiceB } >> \new Staff \with { instrumentName = "merged" \consists Merge_rests_engraver } << \new Voice { \voiceOne \voiceA } \new Voice { \voiceTwo \voiceB } >> >> }
Al establecer el valor de la propiedad de contexto
suspendRestMerging
a ##t
podemos desactivar
temporalmente la combinación de silencios.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Combinación de silencios ] | [ Up : Varias voces ] | [ Escribir música en paralelo > ] |
Combinación automática de las partes
La combinación automática de particellas se usa para mezclar dos partes musicales distintas sobre un pentagrama. Esto puede ser de gran ayuda especialmente al tipografiar partituras orquestales. Se imprime una sola voz cuando la música de las dos voces es la misma, pero en aquellos lugares en que difieren, se imprime una segunda voz. Las direcciones de las plicas se establecen hacia arriba o hacia abajo según proceda, al tiempo que se identifican y quedan marcadas las partes de solista y de dúo.
La sintaxis para la combinación automática de las partes es:
\partCombine expresión_musical_1 expresión_musical_2
El ejemplo siguiente ejemplifica la funcionalidad básica, poniendo las partes en un solo pentagrama en forma polifónica, y estableciendo las direcciones de las plicas de forma adecuada. Se utilizan las mismas variables para las partes independientes y el pentagrama combinado.
instrumentOne = \relative { c'4 d e f | R1 | d'4 c b a | b4 g2 f4 | e1 | } instrumentTwo = \relative { R1 | g'4 a b c | d4 c b a | g4 f( e) d | e1 | } << \new Staff \instrumentOne \new Staff \instrumentTwo \new Staff \partCombine \instrumentOne \instrumentTwo >>
Las dos partes tienen notas idénticas en el tercer compás, por lo
que aparecen solamente una vez. Las direcciones de las plicas y
ligaduras se establecen de forma automática, según se trate de un
solo o de un unísono. Cuando se necesita en situaciones de
polifonía, la primera parte (que recibe el nombre de contexto
one
) recibe las plicas hacia arriba, mientras que la
segunda (llamada two
) siempre recibe las plicas hacia
abajo. En los fragmentos de solo, las partes se marcan con
“Solo” y “Solo II”, respectivamente. Las partes en unísono
(a due) se marcan con el texto “a2”.
De forma predeterminada, el combinador de partes mezcla dos notas
de la misma altura como una nota a due, combina las
notas que tengan la misma duración y estén a menos de una novena
de distancia como acordes, y dispone en voces separadas las notas
que estén a más de una novena de distancia (o cuando hay cruce de
voces). Este comportamiento se puede sobreescribir con un
argumento opcional que consiste en una pareja de números después
de la instrucción \partCombine
: el primero especifica el
intervalo donde las notas comienzan a estar combinadas (el valor
predeterminado es cero) y el segundo donde las notas se dividen en
voces distintas. El ajuste del segundo argumento al valor cero
significa que el combinador de partes separa las notas que estén
dentro de un intervalo de segunda o más, establecerlo al valor uno
separa las notas de una tercera o más, y así sucesivamente.
instrumentOne = \relative { a4 b c d | e f g a | b c d e | } instrumentTwo = \relative { c'4 c c c | c c c c | c c c c | } << \new Staff \partCombine \instrumentOne \instrumentTwo \new Staff \partCombine #'(2 . 3) \instrumentOne \instrumentTwo >>
Los dos argumentos de \partCombine
se interpretan como
contextos de Voice separados, por lo que si la música
está escrita en modo relativo, entonces las dos partes han
de incluir la función \relative
, es decir:
\partCombine \relative … expresión_musical_1 \relative … expresión_musical_2
Una sección \relative
que se encuentra fuera de
\partCombine
no tiene ningún efecto sobre las notas de
expresión_musical_1
y
expresión_musical_2
.
En las partituras profesionales, las voces con frecuencia se
mantienen separadas entre sí durante pasajes prolongados incluso
si algunas notas coninciden entre ambas, y podrían escribirse
fácilmente como un unísono. Por ello, la combinación de las notas
en un acorde, o mostrar una voz como solo, no son soluciones
ideales porque la función \partCombine
considera cada nota
de forma individual. En este caso, el resultado de la función
\partCombine
se puede alterar o corregir con una de las
instrucciones siguientes. Todas las instrucciones se pueden
anteceder por \once
para que se apliquen solamente a la
nota siguiente dentro de la expresión musical.
-
\partCombineApart
mantiene las notas como dos voces separadas incluso si se pueden combinar en un acorde o unísono. -
\partCombineChords
combina las notas en un acorde. -
\partCombineUnisono
combina las dos voces como unísono y marca el resultado como “unison”. -
\partCombineSoloI
muestra solo la voz uno y la marca como “Solo”. -
\partCombineSoloII
imprime solo la voz dos y la marca como “Solo”. -
\partCombineAutomatic
termina el efecto de las instrucciones anteriores y retorna a la funcionalidad estándar de\partCombine
.
instrumentOne = \relative c' { \partCombineApart c2^"apart" e | \partCombineAutomatic e2^"auto" e | \partCombineChords e'2^"chord" e | \partCombineAutomatic c2^"auto" c | \partCombineApart c2^"apart" \once \partCombineChords e^"chord once" | c2 c | } instrumentTwo = \relative { c'2 c | e2 e | a,2 c | c2 c' | c2 c | c2 c | } << \new Staff { \instrumentOne } \new Staff { \instrumentTwo } \new Staff { \partCombine \instrumentOne \instrumentTwo } >>
Uso de \partCombine con letra
La instrucción \partCombine
no está diseñada para funcionar
con la letra de las canciones; si una de las voces recibe un
nombre explícito para poder adjuntar una letra, el combinador de
partes no funciona. Sin embargo, se puede conseguir este efecto
usando un contexto NullVoice
. Véase Polifonía con letras compartidas.
Fragmentos de código seleccionados
Combinar dos partes sobre el mismo pentagrama
La herramienta de combinación de partes (instrucción
\partCombine
) permite la combinación de varias partes
diferentes sobre el mismo pentagrama. Las indicaciones textuales
tales como “solo” o “a2” se añaden de forma predeterminada; para
quitarlas, sencillamente establezca la propiedad
printPartCombineTexts
al valor “falso”. Para partituras
vocales (como himnos), no hay necesidad de añadir los textos “solo”
o “a2”, por lo que se deben desactivar. Sin embargo, podría ser
mejor no usarlo si hay solos, porque éstos no se indicarán. En tales
casos podría ser preferible la notación polifónica estándar.
Este fragmento de código presenta las tres formas en que se pueden
imprimir dos partes sobre un solo pentagrama: polifonía estándar,
\partCombine
sin textos, y \partCombine
con
textos.
musicUp = \relative c'' { \time 4/4 a4 c4.( g8) a4 | g4 e' g,( a8 b) | c b a2. } musicDown = \relative c'' { g4 e4.( d8) c4 | r2 g'4( f8 e) | d2 \stemDown a } \score { << \new Staff \with { instrumentName = "standard polyphony" } << \musicUp \\ \musicDown >> \new Staff \with { instrumentName = \markup { \typewriter "\\partCombine" without text} printPartCombineTexts = ##f } \partCombine \musicUp \musicDown \new Staff \with { instrumentName = \markup { \typewriter "\\partCombine" with text} } \partCombine \musicUp \musicDown >> \layout { indent = 6.0\cm \context { \Score % Setting this to a large value avoids a bar line at the % beginning that would connect the three staves otherwise. \override SystemStartBar.collapse-height = 30 } } }
Changing \partCombine texts
When using the automatic part combining feature, the printed text for the solo and unison sections may be changed.
\new Staff << \set Staff.soloText = "girl" \set Staff.soloIIText = "boy" \set Staff.aDueText = "together" \partCombine \relative c'' { g4 g r r a2 g } \relative c'' { r4 r a( b) a2 g } >>
Véase también
Glosario musical: a due, part.
Referencia de la notación: Escritura de las particellas.
Fragmentos de código: Simultaneous notes.
Referencia de funcionamiento interno: PartCombineMusic, Voice.
Advertencias y problemas conocidos
Todas las funciones \partCombine…
admiten
exclusivamente dos voces.
Las funciones \partCombine…
no se pueden escribir
dentro de los bloques \tuplet
ni \relative
.
Si printPartCombineTexts
está establecido y las dos voces
tocan y terminan las mismas notas en el mismo compás, el
combinador de partes puede tipografiar a2
más de una vez en
ese compás.
\partCombine
solo tiene en cuenta el momento de inicio de
las notas dentro de una voz Voice
; por ejemplo, no puede
recordar si una nota dentro de una voz ya ha comenzado cuando las
notas que se combinan se han iniciado justo ahora en la otra voz.
Esto puede conducir a cierto número de problemas inesperados entre
los que se incluye la impresión incorrecta de marcas de “Solo”
o de “Unison”.
\partCombine
conserva todos los elementos extensos
(ligaduras, reguladores, etc.) dentro del mismo contexto
Voice
de forma que si uno cualquiera de estos elementos
extensos inicia o termina en un contexto Voice
diferente,
puede no imprimirse o hacerlo incorrectamente.
Si la función \partCombine
no puede combinar las dos
expresiones musicales (es decir, cuando las dos voces tienen
duraciones distintas), otorgará internamente sus propios nombres a
las voces: one
y two
respectivamente. Esto
significa que si se produce un cambio a un contexto Voice
que tenga un nombre distinto, se ignorarán los eventos dentro del
contexto Voice
que tiene el nombre distinto.
Consulte también el apartado
Advertencias y problemas conocidos en la sección
Tablaturas predeterminadas al utilizar \partCombine
con tablaturas, y la Nota de Barras automáticas al
utilizar barrado automático.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Combinación automática de las partes ] | [ Up : Varias voces ] | [ Notación de los pentagramas > ] |
Escribir música en paralelo
La música para varias partes se puede intercalar dentro del código
de entrada. La función \parallelMusic
admite una lista que
contiene los nombres de las variables que se van a crear, y una
expresión musical. El contenido de los compases alternativos
extraídos de la expresión se convierten en el valor de las
variables respectivas, de manera que podemos utilizarlas más tarde
para imprimir la música.
Nota: Es obligatorio utilizar comprobaciones de compás
|
, y los compases deben tener la misma longitud.
\parallelMusic voiceA,voiceB,voiceC { % Bar 1 r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' | r16 e'8.~ 4 r16 e'8.~ 4 | c'2 c'2 | % Bar 2 r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' | r16 d'8.~ 4 r16 d'8.~ 4 | c'2 c'2 | } \new StaffGroup << \new Staff << \voiceA \\ \voiceB >> \new Staff { \clef bass \voiceC } >>
Se puede usar el modo relativo. Observe que la instrucción
\relative
no se utiliza dentro del propio bloque
\parallelMusic
. Las notas guardan relación con la nota
anterior en la misma voz, no con la nota anterior dentro del
código de entrada (dicho de otra manera, las notas relativas de
vozA
ignoran a las notas que hay en vozB
.
\parallelMusic voiceA,voiceB,voiceC { % Bar 1 r8 g16 c e g, c e r8 g,16 c e g, c e | r16 e8.~ 4 r16 e8.~ 4 | c2 c | % Bar 2 r8 a,16 d f a, d f r8 a,16 d f a, d f | r16 d8.~ 4 r16 d8.~ 4 | c2 c | } \new StaffGroup << \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >> \new Staff \relative c' { \clef bass \voiceC } >>
Esto funciona aceptablemente bien para música de piano. El siguiente ejemplo asigna cada cuatro compases consecutivos a cuatro variables:
global = { \key g \major \time 2/4 } \parallelMusic voiceA,voiceB,voiceC,voiceD { % Bar 1 a8 b c d | d4 e | c16 d e fis d e fis g | a4 a | % Bar 2 e8 fis g a | fis4 g | e16 fis g a fis g a b | a4 a | % Bar 3 ... } \score { \new PianoStaff << \new Staff { \global << \relative c'' \voiceA \\ \relative c' \voiceB >> } \new Staff { \global \clef bass << \relative c \voiceC \\ \relative c \voiceD >> } >> }
Véase también
Manual de aprendizaje: Organizar las piezas mediante variables
Fragmentos de código: Simultaneous notes.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Escribir música en paralelo ] | [ Up : Notación musical ] | [ Impresión de los pentagramas > ] |
1.6 Notación de los pentagramas
Esta sección explica cómo influir sobre la apariencia de los pentagramas, cómo imprimir partituras con más de un pentagrama y cómo añadir indicaciones de tempo y notas guía a los pentagramas.
1.6.1 Impresión de los pentagramas | ||
1.6.2 Modificación de pentagramas sueltos | ||
1.6.3 Escritura de las particellas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notación de los pentagramas ] | [ Up : Notación de los pentagramas ] | [ Crear instancias de pentagramas nuevos > ] |
1.6.1 Impresión de los pentagramas
Esta sección describe los distintos métodos de creación de pentagramas y grupos de ellos.
Crear instancias de pentagramas nuevos | ||
Agrupar pentagramas | ||
Grupos de pentagramas anidados | ||
Separación de sistemas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Impresión de los pentagramas ] | [ Up : Impresión de los pentagramas ] | [ Agrupar pentagramas > ] |
Crear instancias de pentagramas nuevos
Las pautas y los pentagramas o pautas de
cinco líneas se crean con las instrucciones \new
o
\context
. Para ver más detalles, consulte Crear y referenciar contextos.
El contexto básico de pentagrama es Staff
:
\new Staff \relative { c''4 d e f }
El contexto DrumStaff
crea una pauta de cinco líneas
preparada para un conjunto de batería típico. Cada instrumento se
presenta con un símbolo distinto. Los instrumentos se escriben en
el modo de percusión que sigue a una instrucción \drummode
,
con cada instrumento identificado por un nombre. Para ver más
detalles, consulte Pautas de percusión.
\new DrumStaff { \drummode { cymc hh ss tomh } }
RhythmicStaff
crea una pauta de una sola línea que sólo
muestra las duraciones de la entrada. Se preservan las duraciones
reales. Para ver más detalles, consulte
Mostrar los ritmos de la melodía.
\new RhythmicStaff { c4 d e f }
TabStaff
crea una tablatura con seis cuerdas en la
afinación estándar de guitarra. Para ver más detalles, consulte
Tablaturas predeterminadas.
\new TabStaff \relative { c''4 d e f }
Existen dos contextos de pauta específicos para la notación de
música antigua: MensuralStaff
y VaticanaStaff
. Se
describen en Contextos predefinidos.
GregorianTranscriptionStaff
crea una pauta para la notación
moderna de canto gregoriano. No muestra líneas divisorias.
\new GregorianTranscriptionStaff \relative { c''4 d e f e d }
Se pueden definir contextos nuevos de pentagrama único. Para ver más detalles, consulte Definir contextos nuevos.
Véase también
Glosario musical: staff, staves.
Referencia de la notación: Crear y referenciar contextos, Pautas de percusión, Mostrar los ritmos de la melodía, Tablaturas predeterminadas, Contextos predefinidos, El símbolo del pentagrama, Contextos del canto gregoriano, Contextos de la música mensural, Definir contextos nuevos.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: Staff, DrumStaff, GregorianTranscriptionStaff, RhythmicStaff, TabStaff, MensuralStaff, VaticanaStaff, StaffSymbol.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Crear instancias de pentagramas nuevos ] | [ Up : Impresión de los pentagramas ] | [ Grupos de pentagramas anidados > ] |
Agrupar pentagramas
Existen varios contextos para agrupar pentagramas individuales formando sistemas. Cada contexto de agrupación establece el estilo del delimitador de comienzo del sistema y el comportamiento de las barras de compás.
Si no se especifica ningún contexto, se usan las propiedades predeterminadas: el grupo comienza con una línea vertical y las barras de compás no están conectadas.
<< \new Staff \relative { c''1 c } \new Staff \relative { c''1 c } >>
En el contexto StaffGroup
, el grupo se inicia con un
corchete y las barras de compás se dibujan atravesando todos los
pentagramas.
\new StaffGroup << \new Staff \relative { c''1 c } \new Staff \relative { c''1 c } >>
En un ChoirStaff
(sistema de coro), el grupo se inicia con
un corchete, pero las barras de compás no están conectadas.
\new ChoirStaff << \new Staff \relative { c''1 c } \new Staff \relative { c''1 c } >>
En un GrandStaff
(sistema de piano), el grupo se inicia con
una llave y las barras de compás se conectan entre los
pentagramas.
\new GrandStaff << \new Staff \relative { c''1 c } \new Staff \relative { c''1 c } >>
El PianoStaff
(sistema de piano) es idéntico a
GrandStaff
, excepto que contempla directamente la impresión
del nombre del instrumento. Para ver más detalles, consulte
Nombres de instrumentos.
\new PianoStaff \with { instrumentName = "Piano" } << \new Staff \relative { c''1 c } \new Staff \relative { \clef bass c1 c } >>
Cada contexto de grupo de pentagramas fija la propiedad del
delimitador de inicio systemStartDelimiter
a uno de los
siguientes valores: SystemStartBar
(línea),
SystemStartBrace
(llave) o SystemStartBracket
(corchete). También está disponible un cuarto delimitador,
SystemStartSquare
(corchete en ángulo recto), pero se debe
especificar explícitamente.
Se pueden definir contextos nuevos de grupo de pentagramas. Para ver más detalles, consulte Definir contextos nuevos.
Fragmentos de código seleccionados
Uso del corchete recto al comienzo de un grupo de pentagramas
Se puede usar el delimitador de comienzo de un sistema
SystemStartSquare
estableciéndolo explícitamente dentro de
un contexto StaffGroup
o ChoirStaffGroup
.
\score { \new StaffGroup { << \set StaffGroup.systemStartDelimiter = #'SystemStartSquare \new Staff { c'4 d' e' f' } \new Staff { c'4 d' e' f' } >> } }
Mostrar corchete o llave en grupos de un solo pentagrama
Si hay un solo pentagrama en un de los tipos de sistema
ChoirStaff
o StaffGroup
, el comportamiento
predeterminado es que no se imprima el corchete en la barra inicial.
Esto se puede cambiar sobreescribiendo collapse-height
para
fijar su valor de manera que sea menor que el número de líneas en la
pauta.
Observe que en contextos como PianoStaff
y
GrandStaff
en que los sistemas empiezan con una llave en
lugar de un corchete, se debe establecer el valor de una propiedad
distinta, como se ve en el segundo sistema del ejemplo.
\score { \new StaffGroup << % Must be lower than the actual number of staff lines \override StaffGroup.SystemStartBracket.collapse-height = 4 \override Score.SystemStartBar.collapse-height = 4 \new Staff { c'1 } >> } \score { \new PianoStaff << \override PianoStaff.SystemStartBrace.collapse-height = 4 \override Score.SystemStartBar.collapse-height = 4 \new Staff { c'1 } >> } \paper { tagline = ##f }
Disposición Mensurstriche (líneas divisorias entre pentagramas)
La disposición «mensurstriche» en que las líneas divisorias no
están dibujadas sobre los pentagramas, sino entre ellos, se puede
conseguir con un StaffGroup
en vez de un ChoirStaff
.
La línea divisoria sobre los pentagramas se borra usando \hide
.
\layout { \context { \Staff measureBarType = "-span|" } } music = \fixed c'' { c1 d2 \section e2 f1 \fine } \new StaffGroup << \new Staff \music \new Staff \music >>
Véase también
Glosario musical: brace, bracket, grand staff.
Referencia de la notación: Nombres de instrumentos, Definir contextos nuevos.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: Staff, StaffGroup, ChoirStaff, GrandStaff, PianoStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Agrupar pentagramas ] | [ Up : Impresión de los pentagramas ] | [ Separación de sistemas > ] |
Grupos de pentagramas anidados
Los contextos de grupos de pentagramas se pueden anidar hasta una profundidad arbitraria. En este caso, cada contexto descendiente crea un corchete nuevo adyacente al corchete de su grupo padre.
\new StaffGroup << \new Staff \relative { c''2 c | c2 c } \new StaffGroup << \new Staff \relative { g'2 g | g2 g } \new StaffGroup \with { systemStartDelimiter = #'SystemStartSquare } << \new Staff \relative { e'2 e | e2 e } \new Staff \relative { c'2 c | c2 c } >> >> >>
Se pueden definir nuevos contextos de grupos de pentagramas anidados. Para ver más detalles, consulte Definir contextos nuevos.
Fragmentos de código seleccionados
Anidado de grupos de pentagramas
Se puede utilizar la propiedad
systemStartDelimiterHierarchy
para crear grupos de
pentagramas anidados de forma más compleja. La instrucción
\set StaffGroup.systemStartDelimiterHierarchy
toma una
lista alfabética del número de pentagramas producidos. Se puede
proporcionar antes de cada pentagrama un delimitador de comienzo
de sistema. Se debe encerrar entre corchetes y admite tantos
pentagramas como encierren las llaves. Se pueden omitir los
elementos de la lista, pero el primer corchete siempre abarca
todos los pentagramas. Las posibilidades son
SystemStartBar
, SystemStartBracket
,
SystemStartBrace
y SystemStartSquare
.
\new StaffGroup \relative c'' << \override StaffGroup.SystemStartSquare.collapse-height = 4 \set StaffGroup.systemStartDelimiterHierarchy = #'(SystemStartSquare (SystemStartBrace (SystemStartBracket a (SystemStartSquare b) ) c ) d) \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } >>
Véase también
Referencia de la notación: Agrupar pentagramas, Nombres de instrumentos, Definir contextos nuevos.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: StaffGroup, ChoirStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Grupos de pentagramas anidados ] | [ Up : Impresión de los pentagramas ] | [ Modificación de pentagramas sueltos > ] |
Separación de sistemas
Si el número de sistemas por página varía de una página a otra, es
costumbre separar los sistemas colocando una marca separadora
entre ellos. De forma predeterminada, el separador de sistemas es
nulo, pero se puede activar con una opción de \paper
.
\book { \score { \new StaffGroup << \new Staff { \relative { c''4 c c c \break c4 c c c } } \new Staff { \relative { c''4 c c c \break c4 c c c } } >> } \paper { system-separator-markup = \slashSeparator % following commands are needed only to format this documentation paper-width = 100\mm paper-height = 100\mm tagline = ##f } }
Véase también
Referencia de la notación: Disposición de la página.
Fragmentos de código: Notación de los pentagramas.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Separación de sistemas ] | [ Up : Notación de los pentagramas ] | [ El símbolo del pentagrama > ] |
1.6.2 Modificación de pentagramas sueltos
Esta sección explica cómo cambiar los atributos específicos de un pentagrama: por ejemplo, cambiar el número de líneas o el tamaño de la pauta. También se describen los métodos para comenzar y terminar los pentagramas, y establecer secciones de ossia.
El símbolo del pentagrama | ||
Pentagramas de Ossia | ||
Ocultar pentagramas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Modificación de pentagramas sueltos ] | [ Up : Modificación de pentagramas sueltos ] | [ Pentagramas de Ossia > ] |
El símbolo del pentagrama
Se pueden usar las instrucciones \stopStaff
y
\startStaff
para detener y (re)iniciar, respectivamente, la
impresión de las líneas de la pauta en cualquier punto de la
partitura.
\relative { \stopStaff f''4 d \startStaff g, e f'4 d \stopStaff g, e f'4 d \startStaff g, e }
Instrucciones predefinidas
\startStaff
,
\stopStaff
.
Las líneas de la pauta pertenecen al grob StaffSymbol
(incluidas las líneas adicionales) y se pueden modificar usando
las propiedades de StaffSymbol
, pero esas modificaciones
deben hacerse antes de que el pentagrama se (re)inicie.
Se puede cambiar el número de líneas de la pauta:
\relative { f''4 d \stopStaff \override Staff.StaffSymbol.line-count = #2 \startStaff g, e | f'4 d \stopStaff \revert Staff.StaffSymbol.line-count \startStaff g, e | }
La posición de cada una de las líneas de la pauta también puede
cambiarse. Una lista de números fija la posición de cada línea.
0
corresponde a la línea central normal, y las
posiciones normales de las líneas son
(-4 -2 0 2 4)
. Se imprime una sola
línea de pauta por cada valor que se introduce, de manera que el
número de líneas así como su posición en la pauta pueden cambiarse
con una sola operación de sobreescritura.
\relative { f''4 d \stopStaff \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3) \startStaff g, e | f'4 d \stopStaff \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5) \startStaff g, e | }
Para preservar las direcciones típicas de las plicas (hacia arriba para la mitad inferior del pentagrama y hacia abajo para la mitad superior), debemos alinear la línea (o espacio) central de la pauta personalizada con la posición de la línea central normal (0). Puede ser necesario un ajuste de la posición de la clave y del Do central para que se correspondan a las líneas nuevas. Véase Clave.
Puede cambiarse el grosor de las líneas de la pauta. También resultan afectadas, de forma predeterminada, las líneas adicionales y no la plica de las figuras.
\new Staff \with { \override StaffSymbol.thickness = #3 } \relative { f''4 d g, e }
También es posible fijar el grosor de las líneas adicionales de forma independiente del de las líneas de la pauta.
\new Staff \with { \override StaffSymbol.thickness = #2 \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4) } \relative { f'''4 a, a,, f }
El primer valor se multiplica por el grosor de las líneas del pentagrama, el segundo por el ancho de un espacio del pentagrama, y después los dos valores se suman para obtener el grosor de las líneas adicionales.
Se pueden alterar las posiciones de las líneas adicionales:
\new Staff \with { \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6) } \relative { f'''4 a, a,, f }
Puede hacerse que las líneas adicionales añadidas aparezcan por encima o por debajo de la cabeza de las figuras, dependiendo de la posición actual relativa a otras cabezas de figura que tienen asimismo sus propias líneas adicionales.
\new Staff \with { \override StaffSymbol.ledger-extra = #4 } \relative { f'''4 a, d, f, }
También puede hacerse que las líneas adicionales aparezcan dentro
del pentagrama allí donde se requieren líneas de pauta
personalizadas. El ejemplo muestra la posición predeterminada de
las líneas adicionales cuando el valor de posición explícito
ledger-position
se ha fijado o no. La instrucción
\stopStaff
se necesita en el ejemplo para revertir la
instrucción de sobreescritura \override
para todo el
StaffSymbol
(el símbolo de pauta).
\relative d' { \override Staff.StaffSymbol.line-positions = #'(-8 0 2 4) d4 e f g \stopStaff \startStaff \override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0) d4 e f g }
Puede alterarse la distancia entre líneas de la pauta. Esto afecta también al espaciado de las líneas adicionales.
\new Staff \with { \override StaffSymbol.staff-space = #1.5 } \relative { f'''4 d, g, e, }
Fragmentos de código seleccionados
Hacer unas líneas del pentagrama más gruesas que las otras
Se puede engrosar una línea del pentagrama con fines pedagógicos
(p.ej. la tercera línea o la de la clave de Sol). Esto se puede
conseguir añadiendo más líneas muy cerca de la línea que se quiere
destacar, utilizando la propiedad line-positions
del objeto
StaffSymbol
.
{ \override Staff.StaffSymbol.line-positions = #'(-4 -2 -0.2 0 0.2 2 4) d'4 e' f' g' }
Véase también
Glosario musical: line, ledger line, staff.
Referencia de la notación: Clave.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: StaffSymbol, staff-symbol-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < El símbolo del pentagrama ] | [ Up : Modificación de pentagramas sueltos ] | [ Ocultar pentagramas > ] |
Pentagramas de Ossia
Los pentagramas Ossia se pueden preparar mediante la creación de un pentagrama simultáneo nuevo en la posición adecuada:
\new Staff \relative { c''4 b d c << { c4 b d c } \new Staff { e4 d f e } >> c4 b c2 }
Sin embargo, el ejemplo anterior no es lo que normalmente se desea. Para crear pentagramas de ossia que estén encima del pentagrama original, que no tengan compás ni clave, y que tengan un tamaño menor de tipografía se deben usar varios trucos. El Manual de aprendizaje describe una técnica específica para llegar a este objetivo, empezando por Anidado de expresiones musicales.
El ejemplo siguiente utiliza la propiedad alignAboveContext
para alinear el pentagrama de ossia. Este método es muy
conveniente cuando se necesitan sólo algunos pentagramas de ossia.
\new Staff = "main" \relative { c''4 b d c << { c4 b d c } \new Staff \with { \remove Time_signature_engraver alignAboveContext = "main" \magnifyStaff #2/3 firstClef = ##f } { e4 d f e } >> c4 b c2 }
Si se requieren muchos pentagramas de ossia aislados, puede ser
más conveniente la creación de un contexto Staff
vacío con
un identificador de contexto específico; después se pueden
crear los pentagramas de ossia llamando a este contexto y
usando \startStaff
y \stopStaff
en los puntos
deseados. Las ventajas de este método son más patentes si la
pieza es más larga que en ejemplo siguiente.
<< \new Staff = "ossia" \with { \remove Time_signature_engraver \hide Clef \magnifyStaff #2/3 } { \stopStaff s1*6 } \new Staff \relative { c'4 b c2 << { e4 f e2 } \context Staff = "ossia" { \startStaff e4 g8 f e2 \stopStaff } >> g4 a g2 \break c4 b c2 << { g4 a g2 } \context Staff = "ossia" { \startStaff g4 e8 f g2 \stopStaff } >> e4 d c2 } >>
Como alternativa, se puede usar la instrucción
\RemoveAllEmptyStaves
para crear pentagramas de ossia.
Este método es muy conveniente cuando los pentagramas de ossia
aparecen inmediatamente después de un salto de línea. Para ver más
información sobre \RemoveAllEmptyStaves
, consulte
Ocultar pentagramas.
<< \new Staff = "ossia" \with { \remove Time_signature_engraver \hide Clef \magnifyStaff #2/3 \RemoveAllEmptyStaves } \relative { R1*3 c''4 e8 d c2 } \new Staff \relative { c'4 b c2 e4 f e2 g4 a g2 \break c4 b c2 g4 a g2 e4 d c2 } >>
Fragmentos de código seleccionados
Alineación vertical de la letra y los compases de ossia
Este fragmento de código muestra el uso de las propiedades de
contexto alignBelowContext
y alignAboveContext
para
controlar la posición de la letra y los compases de ossia.
\relative c' << \new Staff = "1" { c4 c s2 } \new Staff = "2" { c4 c s2 } \new Staff = "3" { c4 c s2 } { \skip 2 << \lyrics { \set alignBelowContext = "1" lyrics4 below } \new Staff \with { alignAboveContext = "3" fontSize = -2 \override StaffSymbol.staff-space = #(magstep -2) \remove "Time_signature_engraver" } { \tuplet 6/4 { \override TextScript.padding = 3 c8[^"ossia above" d e d e f] } } >> } >> \paper { ragged-right = ##t }
Véase también
Glosario musical: ossia, staff, Frenched staff.
Manual de aprendizaje: Anidado de expresiones musicales, Tamaño de los objetos, Longitud y grosor de los objetos.
Referencia de la notación: Ocultar pentagramas.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: StaffSymbol.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Pentagramas de Ossia ] | [ Up : Modificación de pentagramas sueltos ] | [ Escritura de las particellas > ] |
Ocultar pentagramas
Se pueden ocultar las líneas del pentagrama quitando el grabador
Staff_symbol_engraver
del contexto de Staff
. Como
alternativa se puede utilizar la instrucción \stopStaff
.
\new Staff \with { \remove Staff_symbol_engraver } \relative { a''8 f e16 d c b a2 }
Se pueden ocultar los pentagramas vacíos (para hacer la que se
conoce como ‘partitura a la francesa’) aplicando la instrucción
\RemoveEmptyStaves
sobre un contexto, lo cual se puede
hacer globalmente (dentro del bloque \layout
) así como para
pautas específicas solamente (dentro de un bloque \with
).
Esta instrucción elimina todas las pautas vacías de la partitura
excepto las del primer sistema. Si queremos ocultar también las
del primer sistema, usamos \RemoveAllEmptyStaves
.
\layout { \context { \Staff \RemoveEmptyStaves } } \relative << \new Staff { e'4 f g a \break b1 \break a4 b c2 } \new Staff { c,4 d e f \break R1 \break f4 g c,2 } >>
Se considera que un pentagrama está vacío cuando contiene
solamente silencios multicompás, silencios normales, silencios
oscultos o saltos, o una combinación de todos los elementos
anteriores. Cualquier otro objeto musical (que hace que un
pentagrama no se considere como vacío) está en la lista de la
propiedad de contexto keepAliveInterfaces
, como se
establece inicialmente en el archivo ly/engraver-init.ly.
Tanto \RemoveEmptyStaves
como \RemoveAllEmptyStaves
son atajos predefinidos que establecen propiedades tales como
remove-empty
y remove-first
para el objeto
VerticalAxisGroup
, como aparece explicado en
Identificadores de modificación de contextos.
El grabador Keep_alive_together_engraver
solo permite que
grupos de pentagramas se puedan eliminar juntos y no
individualmente. Por defecto, forma parte del contexto
PianoStaff
: una parte de piano solo se oculta cuando sus
dos pentagramas están vacíos. De forma semejante, es una práctica
común del tipografiado de las partituras orquestales eliminar
grupos de pentagramas vacíos en lugar de pautas individuales; esto
es posible conseguirlo añadiendo el grabador
Keep_alive_together_engraver
al contexto de agrupamiento de
pentagramas adecuado, como aparece explicado en
Modificar los complementos (plug-ins) de contexto (consulte
Agrupar pentagramas para ver los nombres de los contextos).
\layout { \context { \StaffGroup \RemoveEmptyStaves \consists Keep_alive_together_engraver } }
En el ejemplo siguiente, los pentagramas de instrumentos de viento son eliminados en el segundo sistema; sin embargo, el contrabajo no se elimina porque forma parte del grupo mayor de cuerda frotada, que está tocando en ese momento.
El grabador Keep_alive_together_engraver
usa internamente
la propiedad remove-layer
del VerticalAxisGroup
de
un pentagrama para decidir si imprimirlo o no, cuando se considera
vacío. Dicha propiedad puede también establecerse directamente,
en cuyo caso actúa como un índice de prioridad: los valores más
cercanos a cero tienen precedencia frente a los números más altos,
y de esta forma los pentagramas cuyo remove-layer
es más
alto quedarán enmascarados en favor de los que tienen un número
más bajo.
Esto es especialmente útil para los pentagramas en ‘divisi’, donde ciertas partes individuales (véase Escritura de las particellas) a veces tienen que expandirse a más de un pentagrama. En el ejemplo siguiente, dos partes resultan dirigidas a un total de tres pentagramas; sin embargo, los tres pentagramas nunca se imprimen todos al mismo tiempo:
- en los primeros sistemas, solo uno de ellos se imprime, porque la
propiedad
keepAliveInterfaces
se ha establecido a una lista vacía; por tanto, los otros dos pentagramas se considera que están vacíos y por ello ocultos, sin que importe su contenido; - cuando la propiedad resulta des-establecida (volviendo así a su
valor predeterminado), ya no impide que los otros dos pentagramas
se impriman; sin embargo, como el valor de
remove-layer
de éstos es menor que el del pentagrama suelto, estos dos pentagramas se imprimen ahora en su lugar.
Tales sustituciones se aplican no solamente a notas, acordes y otros eventos musicales que tienen lugar inmediatamente después de cambiar el valor, sino a todo el sistema dentro del cual ocurre el cambio.
\layout { short-indent = 2\cm indent = 3\cm \context { \Staff keepAliveInterfaces = #'() } } violI = { \repeat unfold 24 { d'4 } \once \unset Staff.keepAliveInterfaces <d' g''>2 \repeat unfold 14 { d'4 } \bar "|." } violII = { \repeat unfold 24 { g4 } <g d'>2 \repeat unfold 14 { g4 } \bar "|." } \new StaffGroup \with { \consists Keep_alive_together_engraver } << \new Staff \with { instrumentName = "Violins" shortInstrumentName = "V I & II" \override VerticalAxisGroup.remove-layer = 2 } << \violI \\ \violII >> \new Staff \with { instrumentName = "Violin I" shortInstrumentName = "V I" \RemoveAllEmptyStaves \override VerticalAxisGroup.remove-layer = 1 } \violI \new Staff \with { instrumentName = "Violin II" shortInstrumentName = "V II" \RemoveAllEmptyStaves \override VerticalAxisGroup.remove-layer = 1 } \violII >>
También se puede usar \RemoveAllEmptyStaves
para crear
secciones de ossia para un pentagrama. Para ver más detalles,
consulte Pentagramas de Ossia.
Instrucciones predefinidas
\RemoveEmptyStaves
,
\RemoveAllEmptyStaves
.
Véase también
Glosario musical: Frenched staff.
Manual de aprendizaje: Visibilidad y color de los objetos.
Referencia de la notación: Cambiar los valores por omisión de los contextos, El símbolo del pentagrama, Pentagramas de Ossia, Notas ocultas, Silencios invisibles, Visibilidad de los objetos, Identificadores de modificación de contextos, Agrupar pentagramas, Modificar los complementos (plug-ins) de contexto.
Archivos instalados: ly/engraver-init.ly.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_engraver, Axis_group_engraver, Keep_alive_together_engraver.
Advertencias y problemas conocidos
La eliminación del grabador Staff_symbol_engraver
también
oculta las barras de compás. Si se fuerza la visibilidad de la
barra de compás, pueden ocurrir errores de formato visual. En
este caso, utilice las siguientes sobreescrituras de valores en
vez de quitar el grabador:
\omit StaffSymbol \override NoteHead.no-ledgers = ##t
Para ver los fallos y problemas conocidos, así como las
advertencias asociadas con \RemoveEmptyStaves
, consulte
Cambiar los valores por omisión de los contextos.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Ocultar pentagramas ] | [ Up : Notación de los pentagramas ] | [ Nombres de instrumentos > ] |
1.6.3 Escritura de las particellas
Esta sección explica cómo preparar el papel de atril, o particellas, para música orquestal o de conjunto, lo que frecuentemente requiere insertar nombres de instrumentos en la partitura. También se describen métodos para citar otras voces y dar formato a las notas guía, así como una manera de contraer varios compases vacíos consecutivos dentro de las partes individuales.
Además, puede verse un método para la impresión de los pentagramas de divisi, que se usan a veces en las particellas, en Ocultar pentagramas.
Nombres de instrumentos | ||
Citar otras voces | ||
Formateo de las notas guía | ||
Compresión de los compases vacíos |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Escritura de las particellas ] | [ Up : Escritura de las particellas ] | [ Citar otras voces > ] |
Nombres de instrumentos
Se pueden imprimir los nombres de los instrumentos en el lado
izquierdo de los pentagramas dentro de los contextos Staff
,
PianoStaff
, StaffGroup
, GrandStaff
y
ChoirStaff
. El valor de instrumentName
se usa para
el primer pentagrama, y el valor de shortInstrumentName
se
usa para todos los pentagramas siguientes.
\new Staff \with { instrumentName = "Violin " shortInstrumentName = "Vln. " } \relative { c'4.. g'16 c4.. g'16 \break | c1 | }
También podemos usar \markup
para construir nombres de
instrumento más complicados:
\new Staff \with { instrumentName = \markup { \column { "Clarinetti" \line { "in B" \smaller \flat } } } } \relative { c''4 c,16 d e f g2 }
Cuando se agrupan dos o más contextos de pentagrama, los nombres
de instrumento y los nombres cortos aparecen centrados de forma
predeterminada. Para centrar nombres de instrumento de varias
líneas, se debe utilizar \center-column
:
<< \new Staff \with { instrumentName = "Flute" } \relative { f''2 g4 f } \new Staff \with { instrumentName = \markup { \center-column { "Clarinet" \line { "in B" \smaller \flat } } } } \relative { c''4 b c2 } >>
Sin embargo, si los nombres de instrumento son más largos, éstos
no se centran para un grupo de pentagramas a no ser que se
aumenten los valores del sangrado, indent
, y del sangrado
corto, short-indent
. Para ver más detalles sobre estos
ajustes, consulte
Variables de \paper
para desplazamientos y sangrados.
<< \new Staff \with { instrumentName = "Alto Flute in G" shortInstrumentName = "Flt." } \relative { f''2 g4 f \break g4 f g2 } \new Staff \with { instrumentName = "Clarinet" shortInstrumentName = "Clar." } \relative { c''4 b c2 \break c2 b4 c } >> \layout { indent = 3.0\cm short-indent = 1.5\cm }
Para añadir nombres de instrumento a otros contextos (como
ChordNames
o FiguredBass
), debemos añadir el
grabador Instrument_name_engraver
a dicho contexto. Para
ver más detalles, consulte
Modificar los complementos (plug-ins) de contexto.
El nombre de instrumento corto shortInstrumentName
se puede
cambiar en mitad de una pieza, igual que otros ajustes que pueden
ser necesarios para el instrumento nuevo; sin embargo, sólo el
primer instrumentName
se imprime y el resto de ellos se
ignoran:
prepPiccolo = <>^\markup \italic { muta in Piccolo } prepFlute = <>^\markup \italic { muta in Flauto } setPiccolo = { <>^\markup \bold { Piccolo } \transposition c'' } setFlute = { <>^\markup \bold { Flute } \transposition c' } \new Staff \with { instrumentName = "Flute" shortInstrumentName = "Flt." } \relative { g'1 g g g \break g1 g \prepPiccolo R R \break \set Staff.instrumentName = "Piccolo" \set Staff.shortInstrumentName = "Picc." \setPiccolo g1 g g g \break g1 g \prepFlute R R \break \set Staff.instrumentName = "Flute" \set Staff.shortInstrumentName = "Flt." \setFlute g1 g g g }
Véase también
Referencia de la notación:
Variables de \paper
para desplazamientos y sangrados,
Modificar los complementos (plug-ins) de contexto.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: InstrumentName, PianoStaff, Staff.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Nombres de instrumentos ] | [ Up : Escritura de las particellas ] | [ Formateo de las notas guía > ] |
Citar otras voces
Es muy frecuente que una voz use las mismas notas que otra voz. Por ejemplo, los violines primero y segundo tocando la misma frase durante un determinado pasaje musical. Esto se hace dejando que una voz cite a la otra, sin tener que volver a introducir la música para la segunda voz.
La instrucción \addQuote
, utilizada en el ámbito del nivel
sintáctico superior, define un flujo de música desde el que es
posible citar fragmentos.
La instrucción \quoteDuring
se usa para indicar el punto en
que comienza la cita. Va seguida por dos argumentos: el nombre de
la voz citada, tal y como se definió con \addQuote
, y una
expresión musical que indica la duración de la cita.
fluteNotes = \relative { a'4 gis g gis | b4^"quoted" r8 ais\p a4( f) } oboeNotes = \relative { c''4 cis c b \quoteDuring "flute" { s1 } } \addQuote "flute" { \fluteNotes } \score { << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> }
Si la expresión musical que se usa para \quoteDuring
contiene cualquier cosa que no sea un silencio de separación o un
silencio multicompás, se produce una situación de polifonía, lo
que no suele ser deseable:
fluteNotes = \relative { a'4 gis g gis | b4^"quoted" r8 ais\p a4( f) } oboeNotes = \relative { c''4 cis c b \quoteDuring "flute" { e4 r8 ais b4 a } } \addQuote "flute" { \fluteNotes } \score { << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> }
Si una instrucción \unfoldRepeats
dentro de una expresión
musical se necesita imprimir al usar \quoteDuring
, entonces
debe contener también su propia instrucción \unfoldRepeats
;
fluteNotes = \relative { \repeat volta 2 { a'4 gis g gis } } oboeNotesDW = \relative { \repeat volta 2 \quoteDuring "incorrect" { s1 } } oboeNotesW = \relative { \repeat volta 2 \quoteDuring "correct" { s1 } } \addQuote "incorrect" { \fluteNotes } \addQuote "correct" { \unfoldRepeats \fluteNotes } \score { \unfoldRepeats << \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe (incorrect)" } \oboeNotesDW \new Staff \with { instrumentName = "Oboe (correct)" } \oboeNotesW >> }
La instrucción \quoteDuring
usa los ajustes de
\transposition
tanto de la parte citada como de la que
cita, para producir notas que tienen la misma altura de sonido en
la parte que cita y en las de la parte citada.
clarinetNotes = \relative c'' { \transposition bes \key d \major b4 ais a ais | cis4^"quoted" r8 bis\p b4( f) } oboeNotes = \relative { c''4 cis c b \quoteDuring "clarinet" { s1 } } \addQuote "clarinet" { \clarinetNotes } \score { << \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> }
De forma predeterminada, la música citada incluye todas las
articulaciones, matices dinámicos, elementos de marcado, etc. de
la expresión citada. Es posible elegir cuáles de estos objetos de
la música que se cita se imprimen, mediante la propiedad de
contexto quotedEventTypes
.
fluteNotes = \relative { a'2 g2 | b4\<^"quoted" r8 ais a4\f( c->) } oboeNotes = \relative { c''2. b4 | \quoteDuring "flute" { s1 } } \addQuote "flute" { \fluteNotes } \score { << \set Score.quotedEventTypes = #'(note-event articulation-event crescendo-event rest-event slur-event dynamic-event) \new Staff \with { instrumentName = "Flute" } \fluteNotes \new Staff \with { instrumentName = "Oboe" } \oboeNotes >> }
Las citas también se pueden etiquetar, véase Uso de etiquetas.
Véase también
Referencia de la notación: Transposición de los instrumentos, Uso de etiquetas.
Archivos de inicio: scm/define-event-classes.scm.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: Music classes, QuoteMusic, Voice.
Advertencias y problemas conocidos
Sólo el contenido de la primera voz de una instrucción
\addQuote
se tiene en cuenta para la cita, de manera que si
la expresión musical contiene enunciados \new
o
\context Voice
, sus contenidos no serían citados. La cita
de notas de adorno no está contemplada y puede hacer que LilyPond
termine de forma abrupta; la cita de unos tresillos dentro de
otros puede dar como resultado una notación de pobre calidad.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Citar otras voces ] | [ Up : Escritura de las particellas ] | [ Compresión de los compases vacíos > ] |
Formateo de las notas guía
La manera más sencilla de dar formato a las notas guía es crear
explícitamente un contexto CueVoice
dentro de la parte.
\relative { R1 << { e'2\rest r4. e8 } \new CueVoice { \stemUp d'8^"flute" c d e fis2 } >> d,4 r a r }
La instrucción \cueClef
puede usarse también con un
contexto CueVoice
explícito si se requiere un cambio de
clave, e imprime una clave del tamaño adecuado para las notas
guía. Después puede utilizarse la instrucción
\cueClefUnset
para volver a la clave original, de nuevo con
un signo de clave del tamaño adecuado.
\relative { \clef "bass" R1 << { e'2\rest r4. \cueClefUnset e,8 } \new CueVoice { \cueClef "treble" \stemUp d''8^"flute" c d e fis2 } >> d,,4 r a r }
Las instrucciones \cueClef
y \cueClefUnset
se pueden
usar también sin un CueVoice
si es necesario.
\relative { \clef "bass" R1 \cueClef "treble" d''8^"flute" c d e fis2 \cueClefUnset d,,4 r a r }
En casos de colocación más compleja de notas guía, por ejemplo con
transposición o insertando notas guía procedentes de más de una
fuente, pueden usarse las instrucciones \cueDuring
o
\cueDuringWithClef
. Son una forma más especializada de
\quoteDuring
, véase Citar otras voces en la sección
anterior.
La sintaxis es:
\cueDuring nombre_de_la_cita #dirección música
y
\cueDuringWithClef nombre_de_la_cita #dirección #clave música
La música procedente de los compases correspondientes del elemento
nombre_de_la_cita
se añade como un contexto
CueVoice
y ocurre simultáneamente con la
música
, lo que produce una situación polifónica. La
dirección
toma un argumento UP
(arriba) o
DOWN
(abajo), y corresponde a las voces primera y segunda,
respectivamente, determinando cómo se imprimen las notas guía en
relación a la otra voz.
fluteNotes = \relative { r2. c''4 | d8 c d e fis2 | g2 d | } oboeNotes = \relative c'' { R1 <>^\markup \tiny { flute } \cueDuring "flute" #UP { R1 } g2 c, } \addQuote "flute" { \fluteNotes } \new Staff { \oboeNotes }
Es posible ajustar qué aspectos de la música se citan con
\cueDuring
estableciendo el valor de la propiedad
quotedCueEventTypes
. Su valor por omisión es
'(note-event rest-event tie-event beam-event
tuplet-span-event)
, lo que significa que solamente las notas,
silencios, ligaduras de unión, barras y grupos especiales se
citan, pero no las articulaciones, marcas dinámicas, elementos de
marcado, etc.
Nota: Cuando un contexto Voice
da comienzo con
\cueDuring
, como en el ejemplo siguiente, el contexto
Voice
se debe declarar explícitamente, pues en caso
contrario toda la expresión musical pertenecería al contexto
CueVoice
.
oboeNotes = \relative { r2 r8 d''16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboeNotes } \new Voice \relative c'' { \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event beam-event tuplet-span-event dynamic-event slur-event) \cueDuring "oboe" #UP { R1 } g2 c, }
Se pueden usar elementos de marcado para mostrar el nombre del instrumento citado. Si las notas guía requieren un cambio de clave, puede hacerse manualmente pero la clave original se debe restaurar al final de las notas guía.
fluteNotes = \relative { r2. c''4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \clef treble <>^\markup \tiny { flute } \cueDuring "flute" #UP { R1 } \clef bass g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes }
De forma alternativa, puede usarse la función
\cueDuringWithClef
en su lugar. Esta instrucción admite un
argumento adicional para especificar el cambio de clave que se
necesita imprimir para las notas guía, pero después imprime
automáticamente la clave original una vez que ha finalizado la
serie de notas guía.
fluteNotes = \relative { r2. c''4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 <>^\markup { \tiny "flute" } \cueDuringWithClef "flute" #UP "treble" { R1 } g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes }
Como \quoteDuring
, \cueDuring
tiene en cuenta las
transposiciones instrumentales. Las notas guía se producen en las
alturas en que se escribirían para el instrumento que recibe la
cita, para así producir las alturas de sonido del instrumento
original.
Para transportar las notas guía de forma diferente, use
\transposedCueDuring
. Esta instrucción acepta un argumento
adicional para especificar (en modo absoluto) la altura impresa
con que queremos representar el sonido de un Do central de
concierto. Esto es útil para extraer citas de un instrumento que
está en un registro completamente diferente.
piccoloNotes = \relative { \clef "treble^8" R1 c'''8 c c e g2 c4 g g2 } bassClarinetNotes = \relative c' { \key d \major \transposition bes, d4 r a r \transposedCueDuring "piccolo" #UP d { R1 } d4 r a r } \addQuote "piccolo" { \piccoloNotes } << \new Staff \piccoloNotes \new Staff \bassClarinetNotes >>
La instrucción \killCues
elimina las notas guía de una
expresión musical, de forma que la misma expresión musical pueda
utilizarse para producir la particella instrumental (con notas
guía) y la partitura de conjunto. La instrucción \killCues
elimina solamente las notas y eventos que se han citado mediante
\cueDuring
. Otros elementos de marcado asociados con las
guías, como los cambios de clave o una etiqueta identificativa del
instrumento fuente, pueden marcarse para su inclusión selectiva
dentro de la partitura; véase Uso de etiquetas.
fluteNotes = \relative { r2. c''4 d8 c d e fis2 g2 d2 } bassoonNotes = \relative c { \clef bass R1 \tag #'part { \clef treble <>^\markup \tiny { flute } } \cueDuring "flute" #UP { R1 } \tag #'part \clef bass g4. b8 d2 } \addQuote "flute" { \fluteNotes } \new Staff { \bassoonNotes } \new StaffGroup << \new Staff { \fluteNotes } \new Staff { \removeWithTag #'part { \killCues { \bassoonNotes } } } >>
Véase también
Referencia de la notación: Citar otras voces, Transposición de los instrumentos, Nombres de instrumentos, Clave, Guías musicales, Uso de etiquetas.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: CueVoice, Voice.
Advertencias y problemas conocidos
Pueden ocurrir colisiones con los silencios si se usa
\cueDuring
, entre los contextos de Voice
y de
CueVoice
. Al usar \cueDuringWithClef
o
\transposedCueDuring
el argumento adicional requerido para
cada caso debe ir después de la cita y de la dirección.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Formateo de las notas guía ] | [ Up : Escritura de las particellas ] | [ Anotaciones editoriales > ] |
Compresión de los compases vacíos
De forma predeterminada, todos los compases se imprimen aunque estén vacíos (cosa que puede ocurrir si un evento rítmico, como notas, silencios o saltos invisibles, es tan largo que abarca varios compases. Este comportamiento se puede cambiar contrayendo todos los compases vacíos en uno solo, como se ilustra aquí (la segunda parte del ejemplo, con compases expandidos, en realidad vuelve de nuevo al comportamiento predeterminado):
\override Score.BarNumber.break-visibility = ##(#f #t #t) \time 2/4 \compressEmptyMeasures c'1 d'1. e'\breve \bar "||" \expandEmptyMeasures c'1 d'1. e'\breve
Aunque esta notación es correcta sintácticamente, puede dar lugar a confusión desde el punto de vista musical, como queda ilustrado en el ejemplo anterior; de ahí la necesidad de imprimir explícitamente los números de compás, usando la sintaxis que se describe en Uso de break-visibility (visibilidad en el salto).
Donde esta notación puede ser más útil es cuando se aplica a los Silencios de compás completo. Un silencio multicompás se imprimirá entonces como un solo compás que contiene un símbolo de silencio multicompás, con el número de compases de duración de este silencio impreso encima del compás:
% Default behavior \time 3/4 r2. | R2.*2 | \time 2/4 R2 | \time 4/4 % Rest measures contracted to single measure \compressEmptyMeasures r1 | R1*17 | R1*4 | \expandEmptyMeasures % Rest measures expanded again \time 3/4 R2.*2 |
A diferencia de \compressEmptyMeasures
, la función musical
\compressMMRests
solo se aplica a los silencios, dejando
sin comprimir todos los demás eventos. Dado que es una función, y
no un ajuste del valor de una propiedad, su sintaxis difiere
ligeramente en que debe ir seguida de una expresión musical:
\compressMMRests { % Rests are compressed… R1*7 % … but notes can still span multiple measures. g'1 a'1*2 d'1 R1*2 }
Todas las instrucciones descritas en esta sección, descansan en
realidad en la propiedad interna skipBars
, que se establece
dentro del contexto de Score
como se explica en
La instrucción \set
.
Instrucciones predefinidas
\compressEmptyMeasures
,
\expandEmptyMeasures
,
\compressMMRests
.
Fragmentos de código seleccionados
Numbering single measure rests
Multi measure rests show their length by a number except for single
measures. This can be changed by setting restNumberThreshold
.
{ \compressEmptyMeasures R1 R1*10 R1*11 \bar "||" \set restNumberThreshold = 0 R1 R1*10 R1*11 \bar "||" \set restNumberThreshold = 10 R1 R1*10 R1*11 }
Cambiar la forma de los silencios multicompás
Si hay diez compases de silencio o menos, se imprime en el pentagrama
una serie de silencios de breve y longa (conocidos en alemán como
“Kirchenpausen”, «silencios eclesiásticos»); en caso contrario se
muestra una barra normal. Este número predeterminado de diez se
puede cambiar sobreescribiendo la propiedad expand-limit
:
\relative c'' { \compressMMRests { R1*2 | R1*5 | R1*9 \override MultiMeasureRest.expand-limit = 3 R1*2 | R1*5 | R1*9 } }
Véase también
Referencia de la notación:
Uso de break-visibility (visibilidad en el salto),
Silencios de compás completo,
La instrucción \set
.
Referencia de funcionamiento interno: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Compresión de los compases vacíos ] | [ Up : Notación musical ] | [ Dentro del pentagrama > ] |
1.7 Anotaciones editoriales
Esta sección trata de las diversas maneras de modificar el aspecto de las notas y de aplicar énfasis analítico o educativo.
1.7.1 Dentro del pentagrama | ||
1.7.2 Fuera del pentagrama |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Anotaciones editoriales ] | [ Up : Anotaciones editoriales ] | [ Seleccionar el tamaño de la tipografía para la notación > ] |
1.7.1 Dentro del pentagrama
Esta sección trata sobre cómo aplicar énfasis a los elementos situados dentro del pentagrama.
Seleccionar el tamaño de la tipografía para la notación | ||
Indicaciones de digitación | ||
Notas ocultas | ||
Colorear objetos | ||
Paréntesis | ||
Plicas |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Dentro del pentagrama ] | [ Up : Dentro del pentagrama ] | [ Indicaciones de digitación > ] |
Seleccionar el tamaño de la tipografía para la notación
Nota:
Para el tamaño de la tipografía del texto, consulte Seleccionar la tipografía y su tamaño.
Para el tamaño del pentagrama, consulte Establecer el tamaño del pentagrama.
Para las notas guía, consulte Formateo de las notas guía.
Para los pentagramas de Ossia, consulte Pentagramas de Ossia.
Para modificar el tamaño de la notación sin cambiar el tamaño del
pentagrama, especifique un factor de ampliación con la instrucción
\magnifyMusic
:
\new Staff << \new Voice \relative { \voiceOne <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8 } \new Voice \relative { \voiceTwo \magnifyMusic 0.63 { \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63) r32 c'' a c a c a c r c a c a c a c r c a c a c a c a c a c a c a c } } >>
El \override
del ejemplo anterior es una solución
provisional para solventar un fallo del programa. Consulte el
apartado de “Problemas y advertencias conocidos” al final de
esta sección.
Si una figura con un tamaño normal de cabeza se mezcla con otra más pequeña, el tamaño de la menor podría necesitar reiniciarse (con ‘\once \normalsize’) para que las plicas y las alteraciones accidentales mantengan una buena alineación:
\new Staff << \key fis \minor \mergeDifferentlyDottedOn \new Voice \relative { \voiceOne \magnifyMusic 0.63 { \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63) \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d' \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis' \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis' \once \normalsize a, a' bis, d cis b \once \normalsize gis gis') } } \new Voice \relative { \voiceTwo cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16 } >>
La instrucción \magnifyMusic
no está pensada para las notas
guía, de adorno, o para los pentagramas de Ossia; existen métodos
más apropiados para la introducción de cada uno de esos elementos.
En vez de ello, es útil cuando el tamaño de la notación cambia
dentro de una sola parte instrumental sobre un pentagrama, y
cuando las notas de adorno no son adecuadas, como en pasajes de
tipo cadencial o en casos como los de los ejemplos anteriores.
Establecer el valor de \magnifyMusic
a 0.63 duplica las
dimensiones del contexto CueVoice
.
Nota: La instrucción \magnifyMusic
no debe
utilizarse si se está cambiando el tamaño del pentagrama al mismo
tiempo. Consulte Establecer el tamaño del pentagrama.
Cambiar el temaño de los objetos individuales
Un objeto de presentación individual se puede cambiar de tamaño
usando las instrucciones \tweak
u \override
para
ajustar su propiedad font-size
:
\relative { % resize a note head <f' \tweak font-size -4 b e>-5 % resize a fingering bes-\tweak font-size 0 -3 % resize an accidental \once \override Accidental.font-size = -4 bes!-^ % resize an articulation \once \override Script.font-size = 4 bes!-^ }
El valor predeterminado de font-size
para cada objeto de
presentación está relacionado en el Manual de Referencia de
funcionamiento interno. La propiedad font-size
solamente
se puede fijar para los objetos de presentación que contemplan la
interfaz de presentación font-interface
. Si no está
especificado font-size
en la lista de
‘Ajustes estándar’ del objeto, su valor es 0. Véase
All layout objects.
Comprensión de la propiedad fontSize
La propiedad de contexto fontSize
ajusta el tamaño relativo
de todos los elementos de notación basados en glifos dentro de un
contexto:
\relative { \time 3/4 d''4---5 c8( b a g) | \set fontSize = -6 e'4-- c!8-4( b a g) | \set fontSize = 0 fis4---3 e8( d) fis4 | g2. }
El valor de fontSize
es un número que indica el tamaño
relativo al tamaño estándar para la altura actual del pentagrama.
El valor predeterminado de fontSize
es 0; la adición de 6 a
cualquier valor de fontSize
duplica el tamaño impreso de
los glifos, y la sustracción de 6 reduce el tamaño a la mitad.
Cada paso aumenta el tamaño en un 12% aproximadamente.
La función de Scheme magnification->font-size
se provee por
conveniencia, pues las unidades logarítmicas de la propiedad
font-size
no son totalmente intuitivas. Por ejemplo, para
ajustar la notación musical al 75% del tamaño predeterminado,
usamos:
\set fontSize = #(magnification->font-size 0.75)
La función de Scheme magstep
tiene el efecto opuesto:
convierte un valor de font-size
en un factor de ampliación.
La propiedad fontSize
no afecta solamente a los elementos
notacionales que se dibujan con glifos, como la cabeza de las
figuras, las alteraciones accidentales, las inscripciones
textuales, etc. No afecta al tamaño de la propia pauta, ni cambia
la escala de las plicas, barras, o espaciado horizontal. Para
cambiar la escala de las plicas, barras y el espaciado horizontal
junto con el tamaño de la notación (sin cambiar el tamaño de la
pauta), use la instrucción \magnifyMusic
que se ha
explicado anteriormente. Para cambiar la escala del tamaño de
todo, incluida la pauta, véase
Establecer el tamaño del pentagrama.
Siempre que se establece el valor de la propiedad de contexto
fontSize
, su valor se añade al valor de la propiedad de
objeto gráfico font-size
para los objetos de presentación
individuales, antes de que se imprima cualquiera de los glifos.
Esto puede causar confusión cuando se fija el valor de las
propiedades font-size
individuales mientras fontSize
ya está fijado:
% the default font-size for NoteHead is 0 % the default font-size for Fingering is -5 c''4-3 \set fontSize = -3 % the effective font size for NoteHead is now -3 % the effective font size for Fingering is now -8 c''4-3 \override Fingering.font-size = 0 % the effective font size for Fingering is now -3 c''4-3
Las siguientes instrucciones de atajo también están disponibles:
Instrucción | Equivalente a | Tamaño relativo |
\teeny | \set fontSize = -3 | 71% |
\tiny | \set fontSize = -2 | 79% |
\small | \set fontSize = -1 | 89% |
\normalsize | \set fontSize = 0 | 100% |
\large | \set fontSize = 1 | 112% |
\huge | \set fontSize = 2 | 126% |
\relative c'' { \teeny c4.-> d8---3 \tiny c4.-> d8---3 \small c4.-> d8---3 \normalsize c4.-> d8---3 \large c4.-> d8---3 \huge c4.-> d8---3 }
Los cambios en el tamaño de la fuente se obtienen por medio del
escalado del tamaño del diseño que se encuentra más cerca del
tamaño deseado. El tamaño estándar para la tipografía (para
font-size = 0
) depende de la altura estándar del
pentagrama. Para un pentagrama de 20 puntos, se selecciona una
fuente de 11 puntos.
Instrucciones predefinidas
\magnifyMusic
,
\teeny
(enano),
\tiny
(muy pequeño),
\small
(pequeño),
\normalsize
(normal),
\large
(grande),
\huge
(enorme).
Véase también
Notation Reference: Seleccionar la tipografía y su tamaño, Establecer el tamaño del pentagrama, Formateo de las notas guía, Pentagramas de Ossia.
Installed Files: ly/music-functions-init.ly, ly/property-init.ly.
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: font-interface.
Advertencias y problemas conocidos
Actualmente hay dos fallos del programa que impiden un correcto
espaciado horizontal al usar \magnifyMusic
. Solamente
existe una forma de esquivarlo, y su funcionamiento correcto no
está garantizado en todos los casos. En el ejemplo que aparece a
continuación, sustituya la variable mag con su valor
preferido. También puede tratar de quitar una o ambas
instrucciones \newSpacingSection
, y/o las instrucciones
\override
y \revert
:
\magnifyMusic mag { \newSpacingSection \override Score.SpacingSpanner.spacing-increment = #(* 1.2 mag) [music] \newSpacingSection \revert Score.SpacingSpanner.spacing-increment }
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Seleccionar el tamaño de la tipografía para la notación ] | [ Up : Dentro del pentagrama ] | [ Notas ocultas > ] |
Indicaciones de digitación
Las instrucciones de digitación se pueden introducir usando ‘nota-dígito’:
\relative { c''4-1 d-2 f-4 e-3 }
Para los cambios de dedo se pueden usar elementos de marcado de texto o de cadenas de caracteres.
\relative { c''4-1 d-2 f\finger \markup \tied-lyric "4~3" c\finger "2 - 3" }
Puede usar la digitación de pulgar para indicar que una nota se debe tocar con el pulgar (p.ej. en música de violoncello).
\relative { <a'_\thumb a'-3>2 <b_\thumb b'-3> }
Las digitaciones para los acordes también se pueden añadir a las notas individuales escribiéndolas después de las alturas.
\relative { <c''-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5> }
Las indicaciones de digitación se pueden situar manualmente encima o debajo del pentagrama, véase Dirección y posición.
Fragmentos de código seleccionados
Controlar la colocación de las digitaciones de acordes
Se puede controlar con precisión la colocación de los números de digitación. Para que se tenga en cuenta la orientación de las digitaciones, se debe utilizar dentro de una construcción de acorde <> aunque sea una sola nota. Se puede establecer la orientación para los números de cuerda y las digitaciones de la mano derecha de una forma similar.
\relative c' { \set fingeringOrientations = #'(left) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down right up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(left) <c-1>2 \set fingeringOrientations = #'(down) <e-3>2 \set stringNumberOrientations = #'(up left down) <f\3 a\2 c\1>1 \set strokeFingerOrientations = #'(down right up) <c\rightHandFinger 1 e\rightHandFinger 2 c'\rightHandFinger 4 > }
Permitir que las digitaciones se impriman dentro del pentagrama
Las cifras de digitación orientadas verticalmente se colocan de forma predeterminada fuera del pentagrama. Sin embargo, este comportamiento se puede cancelar. Hay que prestar atención en situaciones en las que las digitaciones y las plicas están en la misma dirección: por defecto, las digitaciones solo evitan la colisión con plicas unidas por una barra. Se puede cambiar este ajuste para no evitar ninguna plica o evitarlas todas; el ejemplo siguiente muestra las dos copciones, así como la manera de volver al comportamiento predeteminado.
\relative c' { <c-1 e-2 g-3 b-5>2 \override Fingering.staff-padding = #'() <c-1 e-2 g-3 b-5>4 g'-0 a8[-1 b]-2 g-0 r \override Fingering.add-stem-support = ##f a[-1 b]-2 g-0 r \override Fingering.add-stem-support = ##t a[-1 b]-2 g-0 r \override Fingering.add-stem-support = #only-if-beamed a[-1 b]-2 g-0 r }
Véase también
Referencia de la notación: Dirección y posición.
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: FingeringEvent, fingering-event, Fingering_engraver, New_fingering_engraver, Fingering.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notas ocultas ] | [ Up : Dentro del pentagrama ] | [ Paréntesis > ] |
Colorear objetos
Se pueden asignar colores a los objetos individuales. Los nombres de color válidos se encuentran relacionados en la Lista de colores.
\override NoteHead.color = #red c''4 c'' \override NoteHead.color = #(x11-color 'LimeGreen) d'' \override Stem.color = "deepskyblue" e''
Además de un conjunto limitado de colores sencillos que están
disponibles como variables predefinidas (véase ‘Colores
normales’ dentro de Lista de colores), se puede introducir
cualquier color como una cadena de caracteres. Dicha cadena puede
ser un nombre predefinido de color al estilo de
CSS, o un código de color
hexadecimal con el carácter #
como prefijo (dentro
de las comillas):
\override NoteHead.color = "lightsalmon" \override Flag.color = "#E30074" \override Beam.color = "#5e45ad" \override Rest.color = "#3058" g'8 \huge r4 a'16 f'
Si dicho color incluye un canal alfa para la semitransparencia mediante el uso de un código de ocho caracteres del tipo "#RRGGBBAA" o su forma abreviada "#RGBA", se usará en la salida de SVG pero no en la salida de PostScript/PDF. En el ejemplo anterior, el silencio es semitransparente solo si el código se compila con el backend de SVG, como se explica en Formatos de salida alternativos.
De manera completamente distinta, se puede acceder al rango de
colores completo
definido para
X11 mediante el uso de la función de Scheme x11-color
.
Esta función admite un argumento que puede ser un símbolo, como
'DarkSeaGreen4
, o una cadena de caracteres, como
"DarkSeaGreen4"
. La primera manera es más rápida de
escribir y ligeramente más eficiente; sin embargo la segunda forma
permite además especificar colores de X11 como frases de varias
palabras: en el ejemplo, "dark sea green 4"
.
Si x11-color
no entiende el parámetro, el color
predeterminado que se devuelve es el negro.
\new Staff \with { instrumentName = \markup { \with-color #(x11-color 'red) "Clarinet" } } \relative c'' { \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2) gis8 a \override Beam.color = #(x11-color "medium turquoise") gis a \override Accidental.color = #(x11-color 'DarkRed) gis a \override NoteHead.color = #(x11-color "LimeGreen") gis a % this is deliberate nonsense; note that the stems remain black \override Stem.color = #(x11-color 'Boggle) b2 cis }
Se pueden especificar colores RGB exactos utilizando la función de
Scheme rgb-color
. Esta función admite tres argumentos que
se utilizan respectivamente para los canales rojo,
verde y azul, y un número de alfa opcional para
la semitransparencia (todos los valores deben ser números entre 0
y 1). De nuevo, la transparencia solo se contempla en la
salida de SVG; por ejemplo, en el fragmento siguiente la clave es
semitransparente cuando se produce un documento SVG.
\new Staff \with { instrumentName = \markup { \with-color #(x11-color 'red) "Clarinet" } \override Clef.color = #(rgb-color 0 0 0 0.5) } \relative c'' { \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2) \override Stem.color = #(rgb-color 0 0 0) gis8 a \override Stem.color = #(rgb-color 1 1 1) gis8 a \override Stem.color = #(rgb-color 0 0 0.5) gis4 a }
Véase también
Referencia de la notación:
Lista de colores,
La instrucción \tweak
.
Fragmentos de código: Editorial annotations.
Advertencias y problemas conocidos
Un color de X11 no es necesariamente de la misma tonalidad exacta que un color normal de nombre similar.
No todos los colores de X11 se distinguen entre sí en un navegador
web, es decir, un navegador de web podría no mostrar ninguna
diferencia entre LimeGreen
(verde lima) y
ForestGreen
(verde bosque). Para la web se recomiendan los
colores de CSS, como aparece detallado en Lista de colores.
Las notas de un acorde no se pueden colorear individualmente con
\override
; en su lugar utilice \tweak
o su
equivalente \single\override
antes de la nota respectiva.
Consulte La instrucción \tweak
para ver más detalles.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Colorear objetos ] | [ Up : Dentro del pentagrama ] | [ Plicas > ] |
Paréntesis
Los objetos se pueden encerrar entre paréntesis anteponiendo
\parenthesize
al evento musical. Si se aplica a un acorde,
encierra cada nota dentro de un par de paréntesis. También se
pueden poner entre paréntesis las notas individuales de un acorde.
\relative { c''2 \parenthesize d c2 \parenthesize <c e g> c2 <c \parenthesize e g> }
Los objetos que no son notas también se pueden poner entre
paréntesis. Para las articulaciones se necesita un guión antes de
la instrucción \parenthesize
.
\relative { c''2-\parenthesize -. d c2 \parenthesize r }
Véase también
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: Parenthesis_engraver, Parentheses, parentheses-interface.
Advertencias y problemas conocidos
Al poner un acorde entre paréntesis, se encierra cada una de las notas individuales entre paréntesis, en vez de un solo paréntesis grande rodeando al acorde completo.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Paréntesis ] | [ Up : Dentro del pentagrama ] | [ Fuera del pentagrama > ] |
Plicas
Cuando se encuentra con una nota, se crea automáticamente un
objeto Stem
(plica). Para las redondas y los silencios,
también se crean pero se hacen invisibles.
Se puede hacer manualmente que las plicas apunten hacia arriba o hacia abajo; véase Dirección y posición.
Instrucciones predefinidas
\stemUp
,
\stemDown
,
\stemNeutral
.
Fragmentos de código seleccionados
Dirección predeterminada de las plicas sobre la tercera línea del pentagrama
La dirección predeterminada de las plicas sobre la tercera línea
del pentagrama está determinada por la propiedad
neutral-direction
del objeto Stem
.
\relative c'' { a4 b c b \override Stem.neutral-direction = #up a4 b c b \override Stem.neutral-direction = #down a4 b c b }
Cambiar la dirección de la plica de las notas de la tercera línea automáticamente, basado en la melodía
LilyPond puede alterar la dirección de la plica de las notas que van
en la tercera línea de un pentagrama de forma que siga la melodía,
mediante la adición del grabador Melody_engraver
al contexto
Voice.
\relative c'' { \time 3/4 a8 b g f b g | \set suspendMelodyDecisions = ##t a b g f b g | \unset suspendMelodyDecisions c b d c b c | } \layout { \context { \Voice \consists "Melody_engraver" \autoBeamOff } }
Véase también
Referencia de la notación: Dirección y posición.
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: Stem_engraver, Stem, stem-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Plicas ] | [ Up : Anotaciones editoriales ] | [ Nombre de las notas > ] |
1.7.2 Fuera del pentagrama
Esta sección trata sobre cómo enfatizar elementos que están dentro del pentagrama, desde fuera del pentagrama.
Nombre de las notas | ||
Globos de ayuda | ||
Líneas de rejilla | ||
Corchetes de análisis |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Fuera del pentagrama ] | [ Up : Fuera del pentagrama ] | [ Globos de ayuda > ] |
Nombre de las notas
Se pueden imprimir los nombres de las notas como texto, usando el
contexto NoteNames
. Si se usa simultáneamente con una
pauta ordinaria, es posible sincronizar cada nota con su nombre
impreso por encima o por debajo de la pauta.
\language "italiano" melody = \relative do'' { fad2 si,8 dod re mi fad4. re8 fad2 } << \new NoteNames { \melody } \new Staff { \key si \minor \melody } \new NoteNames { \set printNotesLanguage = "deutsch" \set printAccidentalNames = ##f \melody } >>
De manera predeterminada, los nombres de nota se imprimen en el
mismo idioma que se ha usado para la entrada de la música; sin
embargo, la propiedad printNotesLanguage
permite
seleccionar cualquier otro idioma disponible (véase Nombres de las notas en otros idiomas). A través de la propiedad
printAccidentalNames
se determina si las alteraciones se
imprimen o no.
Estableciendo tanto la mencionada propiedad a un símbolo, como la
propiedad printOctaveNames
al valor ##t
(verdadero),
se pueden obtener nombres de notas de una manera muy similar a la
sintaxis de entrada de LilyPond. Para un resultado más general,
es posible conseguir nombres de nota ‘científicos’.
melody = \relative c'' { fis2 b,8 cis d e fis4. d8 fis2 } << \new NoteNames { \set printOctaveNames = ##t \set printAccidentalNames = #'lily \melody } \new Staff { \key b \minor \melody } \new NoteNames { \set printOctaveNames = #'scientific \melody } >>
La propiedad noteNameSeparator
define cómo se imprimen los
acordes. Se pueden definir otras funciones de formateado como
noteNameFunction
; tales funciones deben admitir los
argumentos altura
y contexto
, incluso si alguno de
ellos puede ignorarse.
somechords = \relative c' { <b d fis>2 <b cis e g> <b d fis> q } << \new NoteNames { \set noteNameSeparator = "+" \somechords } \new Staff { \key b \minor \somechords } \new NoteNames { \set noteNameFunction = #(lambda (pitch ctx) (alteration->text-accidental-markup (ly:pitch-alteration pitch))) \somechords } >>
Véase también
Referencia de la notación: Nombres de las notas en otros idiomas.
Referencia de funcionamiento interno: NoteName, NoteNames, Note_name_engraver.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Nombre de las notas ] | [ Up : Fuera del pentagrama ] | [ Líneas de rejilla > ] |
Globos de ayuda
Los elementos de notación se pueden marcar y nombrar con la ayuda de un cartel o globo de ayuda rectangular. El propósito principal de esta funcionalidad es la explicación de la notación.
\new Voice \with { \consists Balloon_engraver } \relative c'' { \balloonGrobText #'Stem #'(3 . 4) \markup { "Soy una plica" } a8 \balloonGrobText #'Rest #'(-4 . -4) \markup { "Soy un silencio" } r <c, g'-\balloonText #'(-2 . -2) \markup { "Soy una cabeza" } c>2. }
Existen dos funciones musicales, balloonGrobText
y
balloonText
; el primero se usa como \once\override
para adjuntar un texto a cualquier grob, y el último se usa como
\tweak
, normalmente dentro de acordes, para adjuntar un
texto a una nota individual.
Los textos de globo no influyen en el espaciado de las notas, pero esto puede cambiarse:
\new Voice \with { \consists Balloon_engraver } \relative c'' { \balloonGrobText #'Stem #'(3 . 4) \markup { "Soy una plica" } a8 \balloonGrobText #'Rest #'(-4 . -4) \markup { "Soy un silencio" } r \balloonLengthOn <c, g'-\balloonText #'(-2 . -2) \markup { "Soy una cabeza" } c>2. }
Instrucciones predefinidas
\balloonLengthOn
,
\balloonLengthOff
.
Véase también
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: Balloon_engraver, BalloonText, balloon-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Globos de ayuda ] | [ Up : Fuera del pentagrama ] | [ Corchetes de análisis > ] |
Líneas de rejilla
Se pueden dibujar líneas verticales entre los pentagramas sincronizadas con las notas.
Se debe usar el grabador Grid_point_engraver
para crear los
puntos extremos de las líneas, mientras que el grabador
Grid_line_span_engraver
se debe utilizar para trazar
efectivamente las líneas. De forma predeterminada, esto centra
las líneas de rejilla horizontalmente debajo y al lado izquierdo
de la cabeza de las notas. Las líneas de rejilla se extienden a
partir de línea media de los pentagramas. El intervalo
gridInterval
debe especificar la duración entre las líneas
de rejilla.
\layout { \context { \Staff \consists Grid_point_engraver gridInterval = \musicLength 4 } \context { \Score \consists Grid_line_span_engraver } } \score { \new ChoirStaff << \new Staff \relative { \stemUp c''4. d8 e8 f g4 } \new Staff \relative { \clef bass \stemDown c4 g' f e } >> }
Fragmentos de código seleccionados
Líneas de rejilla: modificar su aspecto
Se puede cambiar el aspecto de las líneas de rejilla sobreescribiendo algunas de sus propiedades.
\score { \new ChoirStaff << \new Staff { \relative c'' { \stemUp c'4. d8 e8 f g4 } } \new Staff { \relative c { % this moves them up one staff space from the default position \override Score.GridLine.extra-offset = #'(0.0 . 1.0) \stemDown \clef bass \once \override Score.GridLine.thickness = 5.0 c4 \once \override Score.GridLine.thickness = 1.0 g'4 \once \override Score.GridLine.thickness = 3.0 f4 \once \override Score.GridLine.thickness = 5.0 e4 } } >> \layout { \context { \Staff % set up grids \consists "Grid_point_engraver" % set the grid interval to one quarter note gridInterval = \musicLength 4 } \context { \Score \consists "Grid_line_span_engraver" % this moves them to the right half a staff space \override NoteColumn.X-offset = -0.5 } } }
Véase también
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: Grid_line_span_engraver, Grid_point_engraver, GridLine, GridPoint, grid-line-interface, grid-point-interface.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Líneas de rejilla ] | [ Up : Fuera del pentagrama ] | [ Texto > ] |
Corchetes de análisis
Los corchetes se usan en análisis musical para indicar la estructura de las piezas musicales. Están contemplados los corchetes horizontales simples.
\layout { \context { \Voice \consists Horizontal_bracket_engraver } } \relative { c''2\startGroup d\stopGroup }
Los corchetes de análisis se pueden anidar.
\layout { \context { \Voice \consists Horizontal_bracket_engraver } } \relative { c''4\startGroup\startGroup d4\stopGroup e4\startGroup d4\stopGroup\stopGroup }
Fragmentos de código seleccionados
Corchetes de análisis encima del pentagrama
De forma predeterminada se añaden corchetes de análisis sencillos debajo del pentagrama. El ejemplo siguiente muestra una manera de colocarlos por encima.
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } \relative c'' { \once \override HorizontalBracket.direction = #UP c2\startGroup d2\stopGroup }
Analysis brackets with labels
Text markup may be added to analysis brackets through the text
property of the HorizontalBracketText
grob. Adding different
texts to brackets beginning at the same time requires the
\tweak
command.
Bracket text will be parenthesized after a line break.
\paper { tagline = ##f } \layout { \context { \Voice \consists "Horizontal_bracket_engraver" \override HorizontalBracket.direction = #UP } } { \once\override HorizontalBracketText.text = "a" c''\startGroup d''\stopGroup \once\override HorizontalBracketText.text = "a'" e''\startGroup d''\stopGroup | c''-\tweak HorizontalBracketText.text \markup \bold \huge "b" \startGroup -\tweak HorizontalBracketText.text "a" \startGroup d''\stopGroup e''-\tweak HorizontalBracketText.text "a'" \startGroup d''\stopGroup\stopGroup | c''-\tweak HorizontalBracketText.text foo \startGroup d'' e'' f'' | \break g'' a'' b'' c'''\stopGroup }
Véase también
Referencia de funcionamiento interno: Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, HorizontalBracketText, horizontal-bracket-text-interface, Staff.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Corchetes de análisis ] | [ Up : Notación musical ] | [ Escritura del texto > ] |
1.8 Texto
Esta sección explica cómo incluir texto (con diversos estilos de formateo) en las partituras.
1.8.1 Escritura del texto | ||
1.8.2 Formatear el texto | ||
1.8.3 Tipografías |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Texto ] | [ Up : Texto ] | [ Panorámica de los objetos de texto > ] |
1.8.1 Escritura del texto
Esta sección presenta las distintas formas de añadir texto a una partitura.
Nota: Para escribir texto con caracteres acentuados y especiales (como los de idiomas distintos del inglés), sencillamente inserte los caracteres directamente en el archivo de LilyPond. El archivo se debe guardar como UTF-8. Para ver más información, consulte Codificación del texto.
Panorámica de los objetos de texto | ||
Guiones de texto | ||
Extensiones de texto | ||
Indicaciones de texto | ||
Texto separado |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Escritura del texto ] | [ Up : Escritura del texto ] | [ Guiones de texto > ] |
Panorámica de los objetos de texto
Los objetos de texto se introducen ya sea como simples cadenas
entrecomilladas, o como bloques de \markup
que pueden
aceptar una variedad de posibilidades avanzadas de formato y
gráficas, como se detalla en la sección Formatear el texto.
Así, los bloques de marcado se pueden utilizar:
- dentro de cualquier objeto del tipo
TextScript
(aplicado a una nota con-
,^
o_
); véase Guiones de texto; - como ‘spanners’ u objetos extensos, cuando ciertas indicaciones se prolongan sobre varios pulsos o compases. Véase Extensiones de texto;
- dentro de cualquier marca impresa por encima de los pentagramas,
tales como obletos
RehearsalMark
(letras de ensayo) oMetronomeMark
(indicaciones de tempo) introducidos respectivamente con las palabras clave\mark
y\tempo
; véase Indicaciones de texto; - como bloques de marcado autosuficientes, que se introducen en el
nivel jerárquico superior fuera de cualquier bloque
\score
(en este caso es obligatoria la instrucción\markup {...}
, y no se puede omitir en favor de una simple cadena de texto entrecomillada); véase Texto separado; - en cualquier definición dentro del bloque
\header
(comotitle
,subtitle
,composer
), o en elementos específicos definidos dentro del bloque\paper
tales comoevenHeaderMarkup
para los números de página. Esto se explica en la sección Títulos y encabezamientos.
Muchos otros objetos basados en texto se pueden escribir como bloques de marcado, incluso cuando este no sea su uso principal.
- Las digitaciones se pueden sustituir fácilmente con bloques de
marcado, si se escriben con la instrucción
\finger
; véase Indicaciones de digitación. - Las sílabas de la letra de una cación se pueden formatear por
medio de la instrucción
\markup
; véase Notación común para música vocal. - Los nombres de acordes están, de hecho, definidos como bloques de marcado, y por tanto se pueden redefinir de la misma forma para personalizar los modificadores o las excepciones de acorde; véase Imprimir los acordes.
- Los matices dinámicos se escriben habitualmente de una forma
sencilla; sin embargo, es posible definir
Indicaciones dinámicas nuevas como objetos de marcado.
Ciertas dinámicas como crescendo se imprimen como objetos
extensos y se pueden redefinir a través de propiedades como
crescendoText
; véase Matices dinámicos. - Otros objetos menos frecuentes también están hechos con bloques de marcado, como las indicaciones del tipo Globos de ayuda.
De hecho es posible usar la instrucción \markup
para
personalizar la apariencia de prácticamente cualquier objeto
gráfico (o ‘grob’), bien sea sobreescribiendo su propiedad
text
, si la tiene, o bien su propiedad stencil
. Una
parte de la lógica que hace posible todo esto, está explicada en
Arquitectura flexible.
El ejemplo que aparece a continuación ilustra la omnipresencia de los bloques de marcado, no solo como algunos de los objetos relacionados más arriba, sino también en sustitución de objetos musicales por objetos de texto a través de distintos métodos.
\header { title = \markup "Header" } dyn = #(make-dynamic-script #{ \markup \serif "DynamicText" #}) \markup \box "Top-level markup" \score { << \new ChordNames \with { majorSevenSymbol = \markup "majorSevenSymbol" } \chordmode { c1:maj7 } \new Staff { \tempo \markup "MetronomeMark" \mark \markup \smaller "RehearsalMark" \once \override TupletNumber.text = \markup "TupletNumber" \tuplet 3/2 { \once \override NoteHead.stencil = #ly:text-interface::print \once \override NoteHead.text = \markup \lower #0.5 "NoteHead" c''8^\markup \italic "TextScript" a'\finger \markup \serif "Fingering" \once \override Rest.stencil = #(lambda (grob) (grob-interpret-markup grob #{ \markup "Rest" #})) r } } \new Lyrics \lyricmode { \markup \smallCaps "LyricText" 1 } \new Dynamics { s1\dyn } >> }
Véase también
Referencia de la notación: Formatear el texto, Guiones de texto, Extensiones de texto, Indicaciones de texto, Texto separado, Indicaciones de digitación, Notación común para música vocal, Imprimir los acordes, Indicaciones dinámicas nuevas, Matices dinámicos, Globos de ayuda.
Ensayo sobre grabado musical automatizado: Arquitectura flexible.
Fragmentos de código: Text.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Panorámica de los objetos de texto ] | [ Up : Escritura del texto ] | [ Extensiones de texto > ] |
Guiones de texto
Es posible añadir indicaciones de “texto entre comillas” a una partitura, como se muestra en el ejemplo siguiente. Estas indicaciones se pueden colocar manualmente por encima o por debajo del pentagrama, utilizando la sintaxis que se describe en Dirección y posición.
\relative { a'8^"pizz." g f e a4-"scherz." f }
Esta sintaxis es en realidad una abreviatura; se puede añadir
explícitamente a una nota un formateado de texto más complejo
utilizando un bloque \markup
, como se describe bajo
Formatear el texto.
\relative { a'8^\markup { \italic pizz. } g f e a4_\markup { \tiny scherz. \bold molto } f }
De forma predeterminada, las indicaciones de texto no afectan al espaciado de las notas. Sin embargo, su anchura sí podría tenerse en cuenta: en el siguiente ejemplo, la primera cadena de texto no afecta al espaciado, pero la segunda sí afecta.
\relative { a'8^"pizz." g f e \textLengthOn a4_"scherzando" f }
Se pueden adjuntar articulaciones a las notas, además de inscripciones de texto. Para ver más información, consulte Articulaciones y ornamentos.
Para ver más información sobre el orden relativo de las inscripciones de texto y las articulaciones, consulte Colocación de los objetos.
Instrucciones predefinidas
\textLengthOn
,
\textLengthOff
.
Véase también
Manual de aprendizaje: Colocación de los objetos.
Referencia de la notación: Formatear el texto, Dirección y posición, Articulaciones y ornamentos.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
Advertencias y problemas conocidos
La comprobación necesaria para asegurar que las inscripciones de texto y la letra de las canciones se mantienen dentro de los márgenes, requiere cálculos adicionales. En caso de que desee un proceso ligeramente más rápido, puede utilizar
\override Score.PaperColumn.keep-inside-line = ##f
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Guiones de texto ] | [ Up : Escritura del texto ] | [ Indicaciones de texto > ] |
Extensiones de texto
Ciertas indicaciones de ejecución, p.ej., rallentando o accelerando, se escriben como texto y se extienden sobre muchos compases mediante líneas de puntos. Estos objetos, que reciben el nombre de ‘spanners’ u objetos de extensión, se pueden crear desde una nota hasta otra usando la siguiente sintaxis:
\relative { \override TextSpanner.bound-details.left.text = "rit." b'1\startTextSpan e,\stopTextSpan }
La cadena de texto que imprimir se establece a través de
propiedades de objeto. De forma predeterminada se imprime en
estilo cursiva, pero se pueden conseguir distintos efectos de
formato utilizando bloques \markup
, como se describe en
Formatear el texto.
\relative { \override TextSpanner.bound-details.left.text = \markup { \upright "rit." } b'1\startTextSpan c e,\stopTextSpan }
El estilo de la línea, así como la cadena de texto, se pueden definir como una propiedad de objeto. Esta sintaxis se describe en Estilos de línea.
Instrucciones predefinidas
\textSpannerUp
,
\textSpannerDown
,
\textSpannerNeutral
.
Advertencias y problemas conocidos
LilyPond sólo puede manejar un objeto de extensión de texto por cada voz.
Fragmentos de código seleccionados
Objetos extensores de texto postfijos para dinámica
Los objetos de extensión \cresc, \dim y \decresc ahora se pueden redefinir como operadores postfijos y producir un solo objeto de extensión de texto. La definición de extensores personalizados también es fácil. Se pueden mezclar con facilidad los crescendi textuales y en forma de reguladores. \< y \> producen reguladores gráficos de forma predeterminada, \cresc etc. producen elementos extensores de texto de forma predeterminada.
% Some sample text dynamic spanners, to be used as postfix operators crpoco = #(make-music 'CrescendoEvent 'span-direction START 'span-type 'text 'span-text "cresc. poco a poco") \relative c' { c4\cresc d4 e4 f4 | g4 a4\! b4\crpoco c4 | c4 d4 e4 f4 | g4 a4\! b4\< c4 | g4\dim a4 b4\decresc c4\! }
Objeto personalizado de extensión de texto de matices dinámicos, postfijo
Funciones postfijas para la creación de objetos de extensión de texto personalizados. Los objetos de extensión deben comenzar en la primera nota del compás. Hay que utilizar -\mycresc, en caso contrario el comienzo del eobjeto de extensión se asignará a la nota siguiente.
% Two functions for (de)crescendo spanners where you can explicitly % give the spanner text. mycresc = #(define-music-function (mymarkup) (markup?) (make-music 'CrescendoEvent 'span-direction START 'span-type 'text 'span-text mymarkup)) mydecresc = #(define-music-function (mymarkup) (markup?) (make-music 'DecrescendoEvent 'span-direction START 'span-type 'text 'span-text mymarkup)) \relative c' { c4-\mycresc "custom cresc" c4 c4 c4 | c4 c4 c4 c4 | c4-\mydecresc "custom decresc" c4 c4 c4 | c4 c4\! c4 c4 }
Véase también
Referencia de la notación: Estilos de línea, Matices dinámicos, Formatear el texto.
Fragmentos de código: Text, Expressive marks.
Referencia de funcionamiento interno: TextSpanner.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Extensiones de texto ] | [ Up : Escritura del texto ] | [ Texto separado > ] |
Indicaciones de texto
Se pueden añadir a la partitura varios elementos de texto con la sintaxis que se describe en Llamadas de ensayo:
\relative { \mark "Verse" c'2 g' \bar "||" \mark "Chorus" g2 c, \bar "|." }
Esta sintaxis posibilita colocar cualquier texto sobre la línea
divisoria; se pueden incorporar formatos más complejos para el
texto usando un bloque \markup
, como está explicado en
Formatear el texto:
\relative { <c' e>1 \mark \markup { \italic { colla parte } } <d f>2 <e g> <c f aes>1 }
Esta sintaxis también permite imprimir símbolos especiales como llamadas, segno o calderones, especificando el nombre del símbolo correspondiente como se explica en Notación musical dentro de elementos de marcado:
\relative { <bes' f>2 <aes d> \mark \markup { \musicglyph "scripts.ufermata" } <e g>1 }
Estos objetos se tipografían solamente sobre el pentagrama superior de la partitura; dependiendo de si están especificados al final o en medio de un compás, se colocarán sobre la línea divisoria o entre las notas. Si se especifican en un salto de línea, las llamadas se imprimen al principio de la línea siguiente.
\relative c'' { \mark "Allegro" c1 c \mark "assai" \break c c }
Instrucciones predefinidas
\markLengthOn
,
\markLengthOff
.
Fragmentos de código seleccionados
Imprimir marcas de ensayo en cualquier pentagrama
Aunque normalmente las marcas de ensayo textuales sólo se imprimen sobre el pentagrama superior, también se pueden imprimir en otro pentagrama cualquiera.
\score { << \new Staff { \mark \default c''1 \textMark "molto" c'' } \new Staff { \mark \default c'1 \textMark "molto" c' } >> \layout { \context { \Score \remove Mark_engraver \remove Text_mark_engraver \remove Staff_collecting_engraver } \context { \Staff \consists Mark_engraver \consists Text_mark_engraver \consists Staff_collecting_engraver } } }
Véase también
Referencia de la notación: Llamadas de ensayo, Formatear el texto, Notación musical dentro de elementos de marcado, La tipografía Emmentaler.
Fragmentos de código: Text.
Referencia de funcionamiento interno: MarkEvent, Mark_engraver, RehearsalMark.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Indicaciones de texto ] | [ Up : Escritura del texto ] | [ Formatear el texto > ] |
Texto separado
Un bloque \markup
puede existir de forma independiente,
fuera de cualquier bloque \score
, como una “expresión de
nivel superior”. Esta sintaxis se describe en
Estructura del archivo.
\markup { Tomorrow, and tomorrow, and tomorrow... }
Esto hace posible imprimir texto separado de la música, lo que es especialmente útil cuando el archivo de entrada contiene varias piezas, tal y como se describe en Varias partituras en un libro.
\score { c'1 } \markup { Tomorrow, and tomorrow, and tomorrow... } \score { c'1 }
Los bloques de texto independientes pueden abarcar varias páginas, posibilitando la impresión de documentos de texto o libros íntegramente desde LilyPond. Esta funcionalidad y la sintaxis que requiere se describen en Elementos de marcado de varias páginas.
Instrucciones predefinidas
\markup
,
\markuplist
.
Fragmentos de código seleccionados
Elemento de marcado de texto independiente en dos columnas
Los textos independientes se pueden disponer en varias columnas
utilizando instrucciones \markup
:
\markup { \fill-line { \hspace #1 \column { \line { O sacrum convivium } \line { in quo Christus sumitur, } \line { recolitur memoria passionis ejus, } \line { mens impletur gratia, } \line { futurae gloriae nobis pignus datur. } \line { Amen. } } \hspace #2 \column \italic { \line { O sacred feast } \line { in which Christ is received, } \line { the memory of His Passion is renewed, } \line { the mind is filled with grace, } \line { and a pledge of future glory is given to us. } \line { Amen. } } \hspace #1 } }
Véase también
Referencia de la notación: Formatear el texto, Estructura del archivo, Varias partituras en un libro, Elementos de marcado de varias páginas.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Texto separado ] | [ Up : Texto ] | [ Introducción al marcado de texto > ] |
1.8.2 Formatear el texto
Esta sección presenta los formateados básico y avanzado de texto,
usando la sintaxis específica del modo de \markup
.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Formatear el texto ] | [ Up : Formatear el texto ] | [ Seleccionar la tipografía y su tamaño > ] |
Introducción al marcado de texto
Se usa un bloque \markup
para tipografiar texto con una
sintaxis ampliable que se denomina “modo de marcado”. Tales
bloques se pueden emplear en cualquier parte, como se explica en
Panorámica de los objetos de texto.
La sintaxis del marcado es similar a la sintaxis usual de
LilyPond: una expresión \markup
se encierra entre llaves
{ … }
. Una sola palabra se considera como una
expresión mínima, y por tanto no necesita estar encerrada entre
llaves.
A diferencia de las indicaciones de “texto entrecomillado”
simples, los bloques \markup
pueden contener expresiones
anidadas o instrucciones de marcado, que se introducen utilizando
el carácter de barra invertida \
. Estas instrucciones sólo
afectan a la expresión que sigue inmediatamente.
\relative { a'1-\markup intenso a2^\markup { poco \italic più forte } c e1 d2_\markup { \italic "string. assai" } e b1^\markup { \bold { molto \italic agitato } } c }
Un bloque \markup
puede contener también cadenas de texto
entre comillas. Dichas cadenas se tratan como expresiones de
texto mínimas, y por tanto cualquier instrucción de marcado o
carácter especial (como \
y #
) se imprimen
literalmente sin afectar al formateo del texto. Se puede hacer
que se impriman las propias comillas si se les antepone una barra
invertida.
\relative { a'1^"\italic markup..." a_\markup { \italic "... prints \"italic\" letters!" } a a }
Para que se traten como una expresión distinta, es necesario que
las listas de palabras estén encerradas entre comillas o
precedidas de una instrucción. La forma en que están definidas
las expresiones de marcado afecta a cómo se apilan, se centran y
se alinean estas expresiones; en el ejemplo siguiente, la segunda
expresión \markup
se trata igual que la primera:
\relative c'' { c1^\markup { \center-column { a bbb c } } c1^\markup { \center-column { a { bbb c } } } c1^\markup { \center-column { a \line { bbb c } } } c1^\markup { \center-column { a "bbb c" } } }
Los marcados se pueden almacenar dentro de variables. Estas variables se pueden adjuntar directamente a las notas:
allegro = \markup { \bold \large Allegro } { d''8.^\allegro d'16 d'4 r2 }
Se puede encontrar una lista exhaustiva de las instrucciones
específicas de \markup
en Instrucciones de marcado de texto. The inner workings of these commands, and how to implement new ones, is
explained in Funciones de marcado.
Véase también
Referencia de la notación: Panorámica de los objetos de texto, Instrucciones de marcado de texto.
Manual de extensión: Funciones de marcado.
Fragmentos de código: Text.
Archivos de inicio: scm/markup.scm.
Advertencias y problemas conocidos
Los mensajes de error de sintaxis para el modo de marcado a menudo producen confusión.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Introducción al marcado de texto ] | [ Up : Formatear el texto ] | [ Alineación de texto > ] |
Seleccionar la tipografía y su tamaño
Está contemplado de forma básica el cambio de la fuente tipográfica en el modo de marcado:
\relative { d''1^\markup { \bold { Più mosso } \italic { non troppo \underline Vivo } } r2 r4 r8 d,_\markup { \italic quasi \smallCaps Tromba } f1 d2 r }
El tamaño de la fuente tipográfica se puede alterar en relación al tamaño global del pentagrama, de una serie de formas como se ve a continuación.
Se puede fijar a un tamaño predefinido:
\relative b' { b1_\markup { \huge Sinfonia } b1^\markup { \teeny da } b1-\markup { \normalsize camera } }
Se puede establecer a un tamaño relativo al valor anterior:
\relative b' { b1_\markup { \larger Sinfonia } b1^\markup { \smaller da } b1-\markup { \magnify #0.6 camera } }
Se puede aumentar o disminuir de forma relativa al valor fijado por el tamaño global del pentagrama:
\relative b' { b1_\markup { \fontsize #-2 Sinfonia } b1^\markup { \fontsize #1 da } b1-\markup { \fontsize #3 camera } }
También se puede establecer a un tamaño de puntos fijo, independientemente del tamaño global del pentagrama:
\relative b' { b1_\markup { \abs-fontsize #20 Sinfonia } b1^\markup { \abs-fontsize #8 da } b1-\markup { \abs-fontsize #14 camera } }
Si el texto incluye espacios, es mejor escribir todo entre comillas, de forma que el tamaño de cada espacio sea correcto para el tamaño de los otros caracteres.
\markup \fontsize #6 \bold { Sinfonia da camera } \markup \fontsize #6 \bold { "Sinfonia da camera" }
El texto se puede imprimir como subíndice o como superíndice. De forma predeterminada se imprimen en un tamaño menor, pero también se puede usar un tamaño normal:
\markup { \column { \line { 1 \super st movement } \line { 1 \normal-size-super st movement \sub { (part two) } } } }
El modo de marcado ofrece una manera fácil de elegir familias de tipografía alternativas. A no ser que se especifique de otro modo, se selecciona automáticamente la fuente predeterminada con serifa, de tipo romano: en la última línea del ejemplo siguiente, no hay diferencia entre la primera y la segunda palabra.
\markup { \column { \line { Act \number 1 } \line { \sans { Scene I. } } \line { \typewriter { Verona. An open place. } } \line { Enter \serif Valentine and Proteus. } } }
Algunas de estas familias, usadas para elementos específicos como números o matices, no ofrecen todos los caracteres, como se explica en Indicaciones dinámicas nuevas y Marcas de repetición manual.
Si se usan dentro de una palabra, algunas instrucciones de cambio de tipografía o de formateo pueden producir un espacio vacío no deseado. Esto se puede solucionar concatenando en uno solo los distintos elementos de texto:
\markup { \column { \line { \concat { 1 \super st } movement } \line { \concat { \dynamic p , } \italic { con dolce espressione } } } }
Se puede encontrar una lista exhaustiva de instrucciones de cambio y utilización personalizada de las fuentes tipográficas en Tipografías.
También es posible definir conjuntos personalizados de fuentes, tal y como se explica en Tipografías.
Instrucciones predefinidas
\teeny
,
\tiny
,
\small
,
\normalsize
,
\large
,
\huge
,
\smaller
,
\larger
.
Véase también
Referencia de la notación: Tipografías, Indicaciones dinámicas nuevas, Marcas de repetición manual, Tipografías.
Archivos de inicio: scm/define-markup-commands.scm.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
Advertencias y problemas conocidos
La utilización de las instrucciones de tamaño de texto
\teeny
, \tiny
, \small
, \normalsize
,
\large
y \huge
conducen a un espaciado de las líneas
inconsistente comparado con el uso de \fontsize
.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Seleccionar la tipografía y su tamaño ] | [ Up : Formatear el texto ] | [ Notación gráfica dentro de elementos de marcado > ] |
Alineación de texto
Esta subsección trata sobre cómo colocar texto en el modo de marcado. Los objetos de marcado también se pueden mover como un todo, usando la sintaxis que se describe en Mover objetos.
Los objetos de marcado se pueden alinear de distintas maneras. De forma predeterminada, una indicación de texto se alinea sobre el borde izquierdo: en el ejemplo siguiente, no existe diferencia entre los marcados primero y segundo. El ejemplo muestra también varias formas sintácticamente correctas de ubicar las instrucciones de alineación:
\relative { d''1-\markup { poco } f d-\markup { \left-align poco } f d-\markup { \center-align { poco } } f d-\markup \right-align { poco } }
Se puede realizar un ajuste fino de la alineación horizontal usando un valor numérico:
\relative { a'1-\markup { \halign #-1 poco } e' a,-\markup { \halign #0 poco } e' a,-\markup { \halign #0.5 poco } e' a,-\markup { \halign #2 poco } }
Por último, las palabras y otros objetos se pueden desplazar si los hacemos preceder de un relleno. También es posible usar un relleno negativo que hará moverse a los objetos subsiguentes en la dirección opuesta. Aunqe normalmente el relleno es invisible, en el ejemplo siguiente se han añadido instrucciones para poder verlo con más claridad:
\relative { d''1-\markup { poco } f d-\markup { \with-color #darkred \box \hspace #4 poco } f d-\markup { \with-color #darkred \box \hspace #-4 poco } f d-\markup { \with-color #darkred \box \hspace #10 poco } }
Ciertos objetos pueden poseer sus propios procedimientos de alineación, y por tanto no resultan afectados por estas instrucciones. Es posible mover estos objetos de marcado como un todo, como se muestra por ejemplo en Indicaciones de texto.
La alineación vertical se puede establecer de una forma similar. Como se ha dicho más arriba, los objetos de marcado se pueden mover como un todo; sin embargo, también es posible mover elementos específicos dentro de un bloque de marcado.
\relative { d'2^\markup { Acte I \raise #2 { Scène 1 } } a' g_\markup { \lower #4 \bold { Très modéré } } a d,^\markup \raise #4 \italic { Une forêt. } a'4 a g2 a }
Algunas instrucciones pueden afectar tanto a la alineación horizontal como a la vertical de los objetos de texto en el modo de marcado:
\relative { d'2^\markup { Acte I \translate #'(-1 . 2) "Scène 1" } a' g_\markup { \general-align #Y #3.2 \bold "Très modéré" } a d,^\markup \translate-scaled #'(-1 . 2) \teeny { "Une forêt." } a'4 a g2 a }
Una vez más resulta muy útil el relleno (ya sea positivo o negativo) para colocar los objetos verticalmente, cuando van dentro de columnas de elementos de marcado:
\relative { d'2^\markup { Acte I \column { \with-color #darkred \box \vspace #-1 "Scène 1" } } a' g_\markup \column { \with-color #darkred \box \vspace #1 "Très modéré" } a d,^\markup \column { "Une forêt." \with-color #darkred \box \vspace #2 } a'4 a g2 a }
Un objeto de marcado puede incluir varias líneas de texto. En el ejemplo siguiente, cada elemento o expresión se sitúa en su propia línea, ya sea alineada por la izquierda o centrada:
\markup { \column { a "b c" \line { d e f } } \hspace #10 \center-column { a "b c" \line { d e f } } }
De forma similar, una lista de elementos o expresiones se puede repartir de forma que rellene por completo el ancho de la línea horizontal (si hay un solo elemento, se centra en el papel). A su vez, estas expresiones pueden incluir texto de varias líneas o cualquier otra expresión de marcado:
\markup { \fill-line { \line { William S. Gilbert } \center-column { \huge \smallCaps "The Mikado" or \smallCaps "The Town of Titipu" } \line { Sir Arthur Sullivan } } } \markup { \fill-line { 1885 } }
Los elementos se pueden extender para que cubran cualquier anchura
especificada mediante la sobreescritura de la propiedad
line-width
. De forma predetermianda está establecida a
#f
lo que implica toda la línea:
\markup { \column { \fill-line { left center right } \null \override #'(line-width . 30) \fill-line { left center right } } }
Las indicaciones de texto largas se pueden también ajustar automáticamente según un ancho de línea dado. Estarán alineados por la izquierda o justificados, como se muestra en el ejemplo siguiente.
\markup { \column { \line \smallCaps { La vida breve } \line \bold { Acto I } \wordwrap \italic { (La escena representa el corral de una casa de gitanos en el Albaicín de Granada. Al fondo una puerta por la que se ve el negro interior de una Fragua, iluminado por los rojos resplandores del fuego.) } \hspace #0 \line \bold { Acto II } \override #'(line-width . 50) \justify \italic { (Calle de Granada. Fachada de la casa de Carmela y su hermano Manuel con grandes ventanas abiertas a través de las que se ve el patio donde se celebra una alegre fiesta) } } }
Hay una lista exhaustiva de instrucciones de alineación de texto en Markup for text alignment.
Véase también
Manual de aprendizaje: Mover objetos.
Referencia de la notación: Markup for text alignment, Indicaciones de texto.
Archivos de inicio: scm/define-markup-commands.scm.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Alineación de texto ] | [ Up : Formatear el texto ] | [ Notación musical dentro de elementos de marcado > ] |
Notación gráfica dentro de elementos de marcado
Se puede añadir diversos objetos gráficos a una partitura, utilizando instrucciones de marcado.
Ciertas instrucciones de marcado permiten la decoración de elementos de texto con gráficos, como se muestra en el ejemplo siguiente.
\markup \fill-line { \center-column { \circle Jack \box "in the box" \null \line { Erik Satie \hspace #3 \bracket "1866 - 1925" } \null \rounded-box \bold Prelude } }
Algunas instrucciones pueden requerir un aumento del relleno alrededor del texto: esto se puede conseguir con algunas instrucciones de marcado descritas exhaustivamente en Markup for text alignment.
\markup \fill-line { \center-column { \box "Charles Ives (1874 - 1954)" \null \box \pad-markup #2 "THE UNANSWERED QUESTION" \box \pad-x #8 "A Cosmic Landscape" \null } } \markup \column { \line { \hspace #10 \box \pad-to-box #'(-5 . 20) #'(0 . 5) \bold "Largo to Presto" } \pad-around #3 "String quartet keeps very even time, Flute quartet keeps very uneven time." }
Se pueden imprimir otros símbolos o elementos gráficos sin que se requiera ningún otro texto. De igual manera que en el caso de las expresiones de marcado, dichos objetos se pueden combinar:
\markup { \combine \draw-circle #4 #0.4 ##f \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1 \hspace #5 \center-column { \triangle ##t \combine \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f } }
Entre las funcionalidades gráficas avanzadas se encuentran la posibilidad de incluir archivos de imagen externos convertidos al formato de PostScript Encapsulado (eps), y la inclusión directa de gráficos dentro del archivo de entrada, usando código PostScript nativo. En tal caso puede ser de utilidad la especificación explícita del tamaño del dibujo, como se ejemplifica a continuación:
c'1^\markup { \combine \epsfile #X #10 "./context-example.eps" \with-dimensions #'(0 . 6) #'(0 . 10) \postscript " -2 3 translate 2.7 2 scale newpath 2 -1 moveto 4 -2 4 1 1 arct 4 2 3 3 1 arct 0 4 0 3 1 arct 0 0 1 -1 1 arct closepath stroke" } c'
Hay una lista exhaustiva de instrucciones específicas de gráficos en Graphical markup.
Véase también
Referencia de la notación: Markup for text alignment, Dimensiones, Anotaciones editoriales, Graphical markup.
Archivos de inicio: scm/define-markup-commands.scm, scm/stencil.scm.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notación gráfica dentro de elementos de marcado ] | [ Up : Formatear el texto ] | [ Elementos de marcado de varias páginas > ] |
Notación musical dentro de elementos de marcado
Se pueden añadir a la partitura diversos elementos de notación musical, dentro de un objeto de marcado.
Las notas y las alteraciones se pueden escribir utilizando instrucciones de marcado:
a'2 a'^\markup { \note {4} #1 = \note-by-number #1 #1 #1.5 } b'1_\markup { \natural \semiflat \flat \sesquiflat \doubleflat } \glissando a'1_\markup { \natural \semisharp \sharp \sesquisharp \doublesharp } \glissando b'
Otros objetos de notación se pueden también imprimir en el modo de marcado:
\relative { g1 bes ees\finger \markup \tied-lyric "4~1" fis_\markup { \dynamic rf } bes^\markup { \beam #8 #0.1 #0.5 } cis d-\markup { \markalphabet #8 \markletter #8 } }
De forma más general, cualquier símbolo musical disponible se puede incluir por separado dentro de un objeto de marcado, como se ejemplifica a continuación; hay una lista exhaustiva de estos símbolos y sus nombres en La tipografía Emmentaler.
\relative { c''2 c'^\markup { \musicglyph "eight" } c,4 c,8._\markup { \musicglyph "clefs.G_change" } c16 c2^\markup { \musicglyph "timesig.neomensural94" } }
Otra forma de imprimir glifos que no son de texto se encuentra descrita en Explicación de las fuentes tipográficas. Tiene la utilidad de imprimir llaves de distintos tamaños.
El modo de marcado también contempla diagramas para instrumentos específicos:
\relative { c''1^\markup { \fret-diagram-terse "x;x;o;2;3;2;" } c^\markup { \harp-pedal "^-v|--ov^" } c c^\markup { \combine \musicglyph "accordion.discant" \combine \raise #0.5 \musicglyph "accordion.dot" \raise #1.5 \musicglyph "accordion.dot" } }
Dichos diagramas se encuentran documentados en Instrument-specific markup.
Incluso una partitura completa se puede incluir dentro de un objeto de marcado:
\relative { c'4 d^\markup { \score { \relative { c'4 d e f } } } e f | c d e f }
Hay una lista exhaustiva de instrucciones relacionadas con la notación musical en Markup for music and musical symbols.
Véase también
Referencia de la notación: Markup for music and musical symbols, La tipografía Emmentaler, Explicación de las fuentes tipográficas.
Archivos de inicio: scm/define-markup-commands.scm, scm/fret-diagrams.scm, scm/harp-pedals.scm.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
Advertencias y problemas conocidos
El espaciado vertical de un \score
dentro de un objeto de
marcado está controlado por baseline-skip
. Todo ajuste del
bloque \paper
se ignora.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Notación musical dentro de elementos de marcado ] | [ Up : Formatear el texto ] | [ Tipografías > ] |
Elementos de marcado de varias páginas
Aunque los objetos de marcado estándar no se pueden dividir, una sintaxis específica hace posible la introducción de líneas de texto que pueden abarcar varias páginas:
\markuplist { \justified-lines { Un texto muy largo de líneas justificadas. ... } \wordwrap-lines { Otro párrafo muy largo. ... } ... }
Esta sintaxis acepta una lista de elementos de marcado, que pueden ser
- el resultado de una instrucción de lista de marcado,
- una lista de marcados,
- o una lista de listas de marcado.
Hay una lista exhaustiva de las instrucciones de lista de marcado en Instrucciones de listas de marcado de texto.
Véase también
Referencia de la notación: Instrucciones de listas de marcado de texto.
Archivos de inicio: scm/define-markup-commands.scm.
Manual de extensión: Definición de nuevas instrucciones de lista de marcado.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
Instrucciones predefinidas
\markuplist
.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Elementos de marcado de varias páginas ] | [ Up : Texto ] | [ Explicación de las fuentes tipográficas > ] |
1.8.3 Tipografías
Esta sección presenta la forma en que se manejan las fuentes tipográficas, y cómo se pueden cambiar en las partituras.
Explicación de las fuentes tipográficas | ||
Fuentes de un solo elemento | ||
Fuentes tipográficas del documento completo |
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Tipografías ] | [ Up : Tipografías ] | [ Fuentes de un solo elemento > ] |
Explicación de las fuentes tipográficas
Las fuentes tipográficas se manejan a través de distintas bibliotecas. FontConfig se utiliza para detectar las tipografías disponibles; las tipografías seleccionadas se trazan utilizando Pango.
Además de cualquier fuente tipográfica que ya esté instalada en el sistema operativo, se pueden añadir fuentes adicionales al conjunto que detecta FontConfig (y por ello disponibles en las partituras de LilyPond) a través de las instrucciones siguientes:
#(ly:font-config-add-font "ruta/hacia/archivo-de-fuente.otf") #(ly:font-config-add-directory "ruta/hacia/directorio/")
Las dos instrucciones admiten rutas absolutas y relativas, lo que permite compilar una partitura en cualquier sistema, simplemente copiando los archivos de fuente necesarios junto al código fuente de la partitura.
Cuando las fuentes han sido instaladas y detectadas, se pueden
seleccionar usando los métodos que se describen en
Fuentes de un solo elemento y en
Fuentes tipográficas del documento completo. Dado que
imprime la lista completa de las fuentes tipográficas disponibles
en el archivo de registro de la consola, puede ser de utilidad la
instrucción #(ly:font-config-display-fonts)
para verificar
qué fuentes se están efectivamente detectando, y bajo qué nombres
(ya que pueden ser diferentes de los propios nombres de archivo).
Las tipografías de notación musical se pueden describir como un
conjunto de glifos específicos, ordenados en varias familias. La
siguiente sintaxis permite usar directamente varios glifos de la tipografía
Feta
de LilyPond distintas a las de texto en el modo de
marcado:
a'1^\markup { \vcenter { \override #'(font-encoding . fetaBraces) \lookup "brace120" \override #'(font-encoding . fetaText) \column { 1 3 sf } \override #'(font-encoding . fetaMusic) \lookup "noteheads.s0petrucci" } }
Sin embargo, todos estos glifos excepto las llaves de varios
tamaños que están contenidas en la fuente tipográfica
fetaBraces
están disponibles utilizando la sintaxis más
sencilla que se describe en
Notación musical dentro de elementos de marcado.
Cuando se usan los glifos de la fuente de llaves
fetaBraces
, el tamaño de la llave se especifica por la
parte numérica del nombre del glifo, en unidades arbitrarias. Se
puede especificar cualquier entero de 0
a 575
inclusive, siendo 0
el que produce la llave más pequeña.
El valor óptimo se debe determinar por ensayo y error. Todos
estos glifos son llaves izquierdas; las llaves derechas se pueden
obtener mediante rotación, véase Rotación de objetos.
Están disponibles tres familias de fuentes tipográficas para el texto: la fuente roman (romana, serif o con remates), la fuente sans (sin remates), y la fuente typewriter o monoespaciada.
Para el backend svg
:
Familia | Fuente predeterminada |
---|---|
roman | serif |
sans | sans-serif |
typewriter | monospace |
serif
, sans-serif
y monospace
son
generic-family
(las familias estándar) en las
especificaciones de SVG y CSS.
Para otros backends:
Familia | Fuente predeterminada (alias) | Listas de definición del alias |
---|---|---|
roman | LilyPond Serif | TeX Gyre Schola, C059, Century SchoolBook URW, Century Schoolbook L, DejaVu Serif, ..., serif |
sans | LilyPond Sans Serif | TeX Gyre Heros, Nimbus Sans, Nimbus Sans L, DejaVu Sans, ..., sans-serif |
typewriter | LilyPond Monospace | TeX Gyre Cursor, Nimbus Mono PS, Nimbus Mono, Nimbus Mono L, DejaVu Sans Mono, ..., monospace |
LilyPond Serif
, LilyPond Sans Serif
y LilyPond
Monospace
son alias de las fuentes tipográficas que están
definidos en el archivo dedicado de configuración de LilyPond
00-lilypond-fonts.conf
. Allí donde un carácter no exista
en la primera fuente de la lista, será sustituido por el carácter
correspondiente extraído de la siguiente fuente de la lista. Para
ver más detalles acerca de las definiciones de los alias, consulte
00-lilypond-fonts.conf
dentro de la carpeta de instalación
del programa.
Cada familia puede incluir distintas formas y series. El ejemplo
siguiente muestra la posibilidad de seleccionar familias, formas,
series y tamaños alternativos. El valor que se da a
font-size
es el cambio requerido a partir del tamaño
predeterminado.
\override Score.RehearsalMark.font-family = #'typewriter \mark \markup "Ouverture" \override Voice.TextScript.font-shape = #'italic \override Voice.TextScript.font-series = #'bold d''2.^\markup "Allegro" \override Voice.TextScript.font-size = #-3 c''4^smaller
Se puede usar una sintaxis similar en el modo de marcado, aunque en este caso es preferible usar la sintaxis sencilla que se explica en Seleccionar la tipografía y su tamaño:
\markup { \column { \line { \override #'((font-shape . italic) (font-size . 4)) Idomeneo, } \line { \override #'(font-family . typewriter) { \override #'(font-series . bold) re di } \override #'(font-family . sans) Creta } } }
Al usar fuentes tipográficas de OpenType, pueden usarse las funcionalidades de fuente o font features. No se pueden especificar los idiomas ni los scripts de OpenType. Nota: no todas las fuentes de OpenType tienen todas las funciones. Si se requiere una funcionalidad que no existe en la fuente seleccionada, la funcionalidad sencillamente se ignora.
% Versalitas auténticas \markup { Estilo normal: Hola HOLA } \markup { \caps { Falsa versalita: Hola } } \markup { \override #'(font-features . ("smcp")) { Versalitas auténticas: Hola } } % Estilos de números \markup { Cifras de estilo normal: 0123456789 } \markup { \override #'(font-features . ("onum")) { Cifras de estilo antiguo: 0123456789 } } % Alternativas de estilo \markup { \override #'(font-features . ("salt 0")) { Alternativa de estilo 0: εφπρθ } } \markup { \override #'(font-features . ("salt 1")) { Alternativa de estilo 1: εφπρθ } } % Acumulación de funcionalidades \markup { \override #'(font-features . ("onum" "smcp" "salt 1")) { Acumulación de funcionalidades: Hola 0123456789 εφπρθ } }
Para ver la lista completa de funcionalidades de fuente de OpenType font, consulte: https://www.microsoft.com/typography/otspec/featurelist.htm
Para la identificación de las funcionalidades de fuente de OpenType, consulte: https://lists.gnu.org/archive/html/lilypond-devel/2017-08/msg00004.html
Aunque es fácil cambiar entre las fuentes tipográficas preconfiguradas, también es posible usar otras fuentes, como se explica en las siguientes secciones: Fuentes de un solo elemento y Fuentes tipográficas del documento completo.
Véase también
Referencia de la notación: La tipografía Emmentaler, Notación musical dentro de elementos de marcado, Rotación de objetos, Seleccionar la tipografía y su tamaño, Tipografías.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Explicación de las fuentes tipográficas ] | [ Up : Tipografías ] | [ Fuentes tipográficas del documento completo > ] |
Fuentes de un solo elemento
Se puede usar en una partitura cualquier fuente tipográfica que esté instalada en el sistema operativo y reconocida por parte de FontConfig, usando la siguiente sintaxis:
\override Staff.TimeSignature.font-name = "Bitstream Charter" \override Staff.TimeSignature.font-size = #2 \time 3/4 a'1_\markup { \override #'(font-name . "Bitstream Vera Sans,sans-serif, Oblique Bold") { Vera Oblique Bold } }
font-name puede describirse usando una lista de ‘fuentes tipográfcias’ separadas por comas y una lista de ‘estilos’ separados por espacios. En la medida en que la ‘fuente tipográfica’ de la lista esté instalada y contenga el glifo solicitado, se usará. En caso contrario, se usará como sustitución la siguiente fuente tipográfica de la lista.
La ejecución de lilypond con la opción siguiente presenta una lista de todas las tipografías disponibles en el sistema operativo:
lilypond -dshow-available-fonts
Véase también
Referencia de la notación: Explicación de las fuentes tipográficas, Fuentes tipográficas del documento completo.
Fragmentos de código: Text.
[ << Notación musical ] | [Top][Contents][Index] | [ Notación especializada >> ] |
[ < Fuentes de un solo elemento ] | [ Up : Tipografías ] | [ Notación especializada > ] |
Fuentes tipográficas del documento completo
Se pueden cambiar las fuentes tipográficas que se usan como tipografías predeterminadas en las familias romana, sans-serif y monoespaciada, especificándolas en este orden como se ve en el ejemplo de abajo, que escala las tipografías automáticamente con el valor fijado para el tamaño global del pentagrama. De forma parecida a Fuentes de un solo elemento, se puede describir usando una lista de ‘fuentes tipográficas’ separadas por comas. Sin embargo, los ‘estilos’ de fuente no se pueden describir. Para leer más explicaciones sobre las fuentes tipográficas, consulte Explicación de las fuentes tipográficas.
\paper { property-defaults.fonts.serif = "Linux Libertine O" property-defaults.fonts.sans = "Nimbus Sans, Nimbus Sans L" property-defaults.fonts.typewriter = "DejaVu Sans Mono" } \relative c'{ c1-\markup { roman, \sans sans, \typewriter typewriter. } }
Nota: make-pango-font-tree
reinicia las fuentes
tipográficas al tipo predeterminado Emmentaler.
La sintaxis siguiente nos permite cambiar las tipografías
específicas, dejando el resto en sus valores predeterminados. El
siguiente ejemplo tiene el mismo efecto que el ejemplo anterior de
utilización de make-pango-font-tree
. De igual manera que
con make-pango-font-tree
, podemos especificar una lista de
valores separados por comas de ‘fonts’ para las categorías
Romana, Sans serif y Monoespaciada (roman
, sans
y
typewriter
). Si no queremos cambiar el tamaño del
pentagrama a otro distinto del predeterminado de 20 pt, no es
necesaria la parte #:factor (/ staff-height pt 20)
.
\paper { #(define fonts (set-global-fonts #:roman "Linux Libertine O" #:sans "Nimbus Sans, Nimbus Sans L" #:typewriter "DejaVu Sans Mono" #:factor (/ staff-height pt 20) ; innecesario si el tamaño del pentagrama es el predeterminado )) }
También se pueden especificar las fuentes de la notación. El ejemplo siguiente también tiene el mismo efecto que en los casos anteriores, porque establece las fuentes para la notación como las predeterminadas. Para más información, véase Sustituir la tipografía de la notación.
\paper { #(define fonts (set-global-fonts #:music "emmentaler" ; predeterminado #:brace "emmentaler" ; predeterminado #:roman "Linux Libertine O" #:sans "Nimbus Sans, Nimbus Sans L" #:typewriter "DejaVu Sans Mono" #:factor (/ staff-height pt 20) ; innecesario si el tamaño del pentagrama es el predeterminado )) }
Nota: cada llamada a set-global-fonts
reinicia
completamente tanto la fuente tipográfica de la notación como las
de texto. Si se deja sin especificar una cualquiera de las
categorías, entonces se utiliza la fuente predeterminada para
dicha categoría. Cada llamada a set-global-fonts
afecta a
cada uno de los bloques \book
que le siguen. Si existen
varios bloques \book
y queremos usar distintas fuentes
tipográficas para cada uno de ellos, sencillamente llamamos de
nuevo a set-global-fonts
, así:
\paper { #(define fonts (set-global-fonts … )) } \book { … } \paper { #(define fonts (set-global-fonts … )) } \book { … }
Véase también
Referencia de la notación: Explicación de las fuentes tipográficas, Fuentes de un solo elemento, Seleccionar la tipografía y su tamaño, Tipografías, Sustituir la tipografía de la notación.
[ << Notación musical ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Fuentes tipográficas del documento completo ] | [ Up : Top ] | [ Música vocal > ] |
2 Notación especializada
Este capítulo explica cómo crear notación musical para instrumentos de un tipo específico o dentro de estilos específicos.
La música orquestal y la de grupos menores no se estudian en ningún apartado distinto; sin embargo, varias nociones que son con frecuencia útiles en las partituras orquestales pueden verse en Referencias para ópera y musicales.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notación especializada ] | [ Up : Notación especializada ] | [ Notación común para música vocal > ] |
2.1 Música vocal
Esta sección explica cómo tipografiar música vocal, y cómo asegurarse de que la letra se alinea con las notas de su melodía correspondiente.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Música vocal ] | [ Up : Música vocal ] | [ Referencias para música vocal > ] |
2.1.1 Notación común para música vocal
Esta sección se ocupa de las cuestiones comunes a la mayoría de los tipos de música vocal.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notación común para música vocal ] | [ Up : Notación común para música vocal ] | [ Introducir la letra > ] |
Referencias para música vocal
Esta sección indica dónde encontrar los detalles de las cuestiones de notación que pueden surgir en cualquier tipo de música vocal.
- Casi todos los estilos de música vocal utilizan texto escrito como letra. Hay una introducción a esta notación en Elaborar canciones sencillas.
- La música vocal probablemente requiere el uso del modo de marcado
o
markup
, ya sea para la letra o para otros elementos de texto (nombres de los personajes, etc.). Esta sintaxis está descrita en Introducción al marcado de texto. - Los ambitus o indicaciones de tesitura vocal se pueden añadir al principio de los pentagramas vocales, como se explica en Tesitura.
- De forma predeterminada, las indicaciones dinámicas se sitúan debajo del pentagrama, pero en la música coral se suelen disponer por encima del pentagrama para evitar la letra, como se explica en Disposiciones de la partitura para música coral.
Véase también
Glosario musical: ambitus.
Manual de aprendizaje: Elaborar canciones sencillas.
Referencia de la notación: Introducción al marcado de texto, Tesitura, Disposiciones de la partitura para música coral.
Fragmentos de código: Vocal music.
Introducir la letra
La letra de las canciones se introduce en un modo de entrada
especial que se inicia mediante la palabra clave
\lyricmode
, o bien mediante \addlyrics
ó
\lyricsto
. En este modo especial de entrada, el carácter
d
no se analiza como una nota, sino más bien como una
sílaba de una sola letra. Dicho de otra forma, las sílabas se
introducen como las notas, pero la altura de las notas se
sustituye por texto.
Por ejemplo:
\lyricmode { Three4 blind mice,2 three4 blind mice2 }
Existen dos métodos principales para especificar la colocación
horizontal de las sílabas: mediante la indicación de la duración
de cada sílaba explícitamente, como en el ejemplo anterior, o
dejando que la letra se alinee automáticamente con una melodía u
otra voz de música, utilizando \addlyrics
o
\lyricsto
. El primer método se describe a continuación
bajo el epígrafe Duración manual de las sílabas. El segundo
método se describe en Duración automática de las sílabas.
Una palabra o sílaba de la letra comienza con un carácter alfabético (y algunos otros caracteres, véase más abajo) y termina con un espacio o un dígito. El resto de los caracteres dentro de la sílaba pueden ser cualesquier caracteres que no sean dígitos o espacios.
A causa de que cualquier carácter que no es un dígito o un espacio
se considera parte de la sílaba, una palabra es válida incluso si
termina con }
, lo que a menudo lleva al siguiente fallo:
\lyricmode { la la la}
En este ejemplo, el símbolo }
se encuentra incluido dentro
de la sílaba final, por tanto la llave de apertura no se compensa
con la correspondiente llave de cierre y el archivo de entrada
probablemente no se podrá procesar. En vez de ello, las llaves
siempre deben ir rodeadas por espacios:
\lyricmode { la la la }
Los signos de puntuación, las letras con caracteres acentuados o de cualquier idioma distinto del inglés, o los caracteres especiales (como el símbolo del corazón o las comillas inclinadas), se pueden insertar directamente en el archivo de entrada, siempre que éste se grabe con la codificación UTF-8. Para más información, consulte Caracteres especiales.
\relative { d''8 c16 a bes8 f ees' d c4 } \addlyrics { „Schad’ um das schö -- ne grü -- ne Band, }
Se pueden usar las comillas normales dentro de la letra, pero deben ir precedidas por el carácter de barra invertida y la sílaba en su conjunto se debe encerrar en otro par de comillas. Por ejemplo,
\relative { \time 3/4 e'4 e4. e8 d4 e d c2. } \addlyrics { "\"I" am so lone -- "ly,\"" said she }
La definición completa del comienzo de una palabra en el modo
Lyrics (letra) es algo más compleja. Una palabra en el modo
Lyrics comienza por: un carácter alfabético, _
, ?
,
!
, :
, '
, los caracteres de control desde
^A
hasta ^F
, desde ^Q
hasta ^W
,
^Y
, ^^
, cualquier carácter de 8 bits con código
ASCII por encima del 127, o una combinación de dos caracteres
consistente en la combinación de una barra invertida seguida por
`
, '
, "
ó ^
.
Un enorme control sobre la apariencia de la letra proviene del uso
de elementos de marcado \markup
dentro de la propia letra.
Para ver una explicación de muchas de las opciones, consulte
Formatear el texto.
Fragmentos de código seleccionados
Dar formato a sílabas de la letra
Es posible usar el modo de marcado para dar formato a sílabas individuales dentro de la letra.
mel = \relative c'' { c4 c c c c1 } lyr = \lyricmode { Your lyrics \markup { \italic can } \markup { \with-color #red contain } \markup { \fontsize #8 \bold Markup! } } << \new Voice = melody \mel \new Lyrics \lyricsto melody \lyr >>
Véase también
Manual de aprendizaje: Canciones.
Referencia de la notación: Duración automática de las sílabas, Tipografías, Formatear el texto, Modos de entrada, Duración manual de las sílabas, Caracteres especiales.
Referencia de funcionamiento interno: LyricText.
Fragmentos de código: Text.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Introducir la letra ] | [ Up : Notación común para música vocal ] | [ Duración automática de las sílabas > ] |
Alineación de la letra a una melodía
La letra se interpreta en el modo \lyricmode
y se imprime
dentro del contexto llamado Lyrics
,
véase Explicación de los contextos.
\new Lyrics \lyricmode { … }
Dos variantes de \lyricmode
además disponen un contexto
asociado que se usa para sincronizar las sílabas de la letra con
la música. \addlyrics
, que es más conveniente, sigue
inmediatamente al contenido musical del contexto de Voz con el que
se debe sincronizar, creando implícitamente un contexto Lyrics
completo. \lyricsto
es más versátil y requiere tanto que
se especifique el contexto Voice asociado por su nombre, como que
se cree explícitamente un contexto contenedor Lyrics. Para ver
más detalles, consulte Duración automática de las sílabas.
La letra se puede alinear con la melodía de dos maneras principales:
- Se puede alinear la letra automáticamente, tomándose las
duraciones de las sílabas de otra voz de música, o (en
circunstancias especiales) una melodía asociada, usando
\addlyrics
,\lyricsto
, o estableciendo el valor de la propiedadassociatedVoice
. Para ver más detalles, consulte Duración automática de las sílabas.<< \new Staff << \time 2/4 \new Voice = "one" \relative { \voiceOne c''4 b8. a16 g4. r8 a4 ( b ) c2 } \new Voice = "two" \relative { \voiceTwo s2 s4. f'8 e4 d c2 } >> % takes durations and alignment from notes in "one" \new Lyrics \lyricsto "one" { Life is __ _ love, live __ life. } % takes durations and alignment from notes in "one" initially % then switches to "two" \new Lyrics \lyricsto "one" { No more let \set associatedVoice = "two" % must be set one syllable early sins and sor -- rows grow. } >>
La primera línea de letra muestra la forma normal de introducir la letra.
La segunda línea de texto muestra cómo se puede cambiar la voz de la que se toman las duraciones para las sílabas. Esto es útil si el texto de las distintas estrofas corresponde a las mismas notas de formas diferentes, y todas las duraciones están disponibles dentro de contextos de voz. Para ver más detalles, consulte Versos.
- El texto se puede alinear independientemente de la duración de
cualquier nota si las duraciones de las sílabas se especifican
explícitamente, y se escriben con
\lyricmode
.<< \new Voice = "one" \relative { \time 2/4 c''4 b8. a16 g4. f8 e4 d c2 } % uses previous explicit duration of 2; \new Lyrics \lyricmode { Joy to the earth! } % explicit durations, set to a different rhythm \new Lyrics \lyricmode { Life4 is love,2. live4 life.2 } >>
El primer verso no está alineado con las notas porque no se especificaron las duraciones, y se utiliza el valor previo de 2 (blanca) para todas las sílabas.
El segundo verso muestra cómo las palabras se pueden alinear de forma independiente de las notas. Esto es útil si el texto de los distintos versos se corresponde con las notas de maneras diferentes, pero las duraciones requeridas no están disponibles en un contexto de música. Para ver más detalles, consulte Duración manual de las sílabas. Esta técnica también es útil cuando se quiere preparar un diálogo encima de la música; para ver ejemplos que lo muestran, consulte Diálogos encima de la música.
Véase también
Manual de aprendizaje: Alineación de la letra a una melodía.
Referencia de la notación: Explicación de los contextos, Duración automática de las sílabas, Versos, Duración manual de las sílabas, Diálogos encima de la música, Duración manual de las sílabas.
Referencia de funcionamiento interno: Lyrics.
Duración automática de las sílabas
Las sílabas de la letra se pueden alinear automáticamente con las notas de una melodía de tres formas:
- especificando por su nombre el contexto Voice que contiene la
melodía, con
\lyricsto
, - introduciendo la letra con
\addlyrics
y colocándola inmediatamente después del contexto de voz que contiene la melodía, - estableciendo un valor para la propiedad
associatedVoice
, la alineación de la letra se puede mover a un contexto de voz distinto, especificado por su nombre, en cualquier momento musical.
En los tres métodos se pueden trazar guiones de separación entre las sílabas de una palabra y líneas extensoras después del final de una palabra. Para ver más detalles, véase Líneas de extensión y guiones.
El contexto Voice
que contiene la melodía con que se está
alineando la letra, no debe haber “muerto”, o se perderá la
letra a partir de este punto. Esto puede ocurrir si existen
períodos en que dicha voz no tiene nada que hacer. Para ver
métodos para mantener vivos los contextos, consulte
Mantener vivos los contextos.
Uso de \lyricsto
Las sílabas de la letra se pueden alinear automáticamente bajo las
notas de una melodía especificando por su nombre el contexto de
voz que contiene la melodía, con \lyricsto
:
<< \new Voice = "melody" \relative { a'1 a4. a8 a2 } \new Lyrics \lyricsto "melody" { These are the words } >>
Esto alinea las sílabas con las notas del contexto Voice
nombrado, que debe existir previamente. Por tanto, normalmente se
especifica primero el contexto Voice
seguido del contexto
Lyrics
. La letra en sí sigue a la instrucción
\lyricsto
. La instrucción \lyricsto
invoca
automáticamente el modo de letra. De forma predeterminada, la
letra se coloca por debajo de las notas. Para otras colocaciones,
consulte Posicionamiento vertical de la letra.
Uso de \addlyrics
La instrucción \addlyrics
es realmente tan sólo una forma
cómoda de escribir una estructura de LilyPond más complicada que
establece la letra.
{ MÚSICA } \addlyrics { LETRA }
es lo mismo que
\new Voice = "blabla" { MÚSICA } \new Lyrics \lyricsto "blabla" { LETRA }
He aquí un ejemplo:
{ \time 3/4 \relative { c'2 e4 g2. } \addlyrics { play the game } }
Se pueden añadir más versos poniendo más secciones
\addlyrics
:
{ \time 3/4 \relative { c'2 e4 g2. } \addlyrics { play the game } \addlyrics { speel het spel } \addlyrics { joue le jeu } }
La instrucción \addlyrics
no es capaz de manejar
situaciones de polifonía. Asimismo, no puede usarse para asociar
letra a un contexto de tablatura TabVoice
. Para estos
casos debería usar \lyricsto
.
Uso de associatedVoice
Se puede cambiar la melodía a la que se alinea la letra mediante
el establecimiento de la propiedad associatedVoice
,
\set associatedVoice = "lala"
El valor de la propiedad (aquí: "lala"
) debe ser el nombre
de un contexto Voice
. Por razones técnicas, la instrucción
\set
se debe escribir una sílaba antes de aquella a la que
se quiere aplicar el cambio de voz.
He aquí un ejemplo que muestra su uso:
<< \new Staff << \time 2/4 \new Voice = "one" \relative { \voiceOne c''4 b8. a16 g4. r8 a4 ( b ) c2 } \new Voice = "two" \relative { \voiceTwo s2 s4. f'8 e8 d4. c2 } >> % takes durations and alignment from notes in "one" initially % then switches to "two" \new Lyrics \lyricsto "one" { No more let \set associatedVoice = "two" % must be set one syllable early sins and sor -- rows grow. } >>
Véase también
Referencia de la notación: Líneas de extensión y guiones, Mantener vivos los contextos, Posicionamiento vertical de la letra.
Duración manual de las sílabas
En ciertas músicas vocales complejas puede ser deseable colocar la
letra de forma completamente independiente de las notas. En este
caso, no use \lyricsto
ni \addlyrics
y no establezca
un valor para associatedVoice
. Las sílabas se escriben
como notas – pero sustituyendo los nombres de las notas por texto
– y la duración de cada sílaba se escribe explícitamente después
de la sílaba.
Se pueden trazar líneas separadores entre las sílabas, como es usual, pero no se pueden trazar líneas extensoras cuando no hay una voz asociada.
He aquí dos ejemplos:
<< \new Voice = "melody" \relative { c''2 a f f e e } \new Lyrics \lyricmode { c4. -- a -- f -- f -- e2. -- e } >>
<< \new Staff { \relative { c''2 c2 d1 } } \new Lyrics { \lyricmode { I2 like4. my8 cat!1 } } \new Staff { \relative { c'8 c c c c c c c c8 c c c c c c c } } >>
Esta técnica es muy útil cuando se escriben diálogos encima de la música, véase Diálogos encima de la música.
Para cambiar la alineación de las sílabas, simplemente
sobreescriba la propiedad self-alignment-X
:
<< \new Voice = "melody" \relative { \time 3/4 c'2 e4 g2 f } \new Lyrics \lyricmode { \override LyricText.self-alignment-X = #LEFT play1 a4 game4 } >>
Véase también
Referencia de la notación: Mantener vivos los contextos.
Referencia de funcionamiento interno: Lyrics, Voice.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Duración manual de las sílabas ] | [ Up : Notación común para música vocal ] | [ Varias notas sobre una sílaba > ] |
Varias sílabas sobre una nota
Para asignar más de una sílaba a una única nota con espacios entre
las sílabas, podemos encerrar la frase entre comillas o utilizar
un carácter de guión bajo _
. De forma alternativa, podemos
usar el símbolo de tilde curva (~
) para obtener una
ligadura de texto.
{ \relative { \autoBeamOff r8 b' c fis, fis c' b e, } \addlyrics { \override LyricHyphen.minimum-distance = #1.0 % Ensure hyphens are visible Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da } \addlyrics { "Che in" ques -- "ta e in" quel -- l'al -- tr'on -- da } \addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da } }
Véase también
Referencia de funcionamiento interno: LyricCombineMusic.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Varias sílabas sobre una nota ] | [ Up : Notación común para música vocal ] | [ Líneas de extensión y guiones > ] |
Varias notas sobre una sílaba
A veces, y sobre todo en la música medieval y del Barroco, varias notas se cantan sobre una sílaba única; tales vocalizaciones reciben el nombre de melismas, o melismata (véase melisma). La sílaba de un melisma se suele alinear por la izquierda con la primera nota del melisma.
Cuando se produce un melisma sobre una sílaba distinta de la
última de una palabra, dicha sílaba se suele unir a la siguiente
con un guión separador. Esto se indica en el código de entrada
escribiendo un doble guión, --
, inmediatamente después
de la sílaba.
De forma alternativa, cuando se produce un melisma sobre la última
o sobre la única sílaba de una palabra, se suele trazar una línea
extensora desde el final de la sílaba hasta la última nota del
melisma. Esto se indica en el código de entrada escribiendo una
doble barra baja o carácter de subrayado, __
,
inmediatamente después de la palabra.
Existen cinco formas de indicar los melismas:
- Se crean melismas automáticamente sobre las notas unidas mediante
ligadura de unión:
<< \new Voice = "melody" \relative { \time 3/4 f''4 g2 ~ | 4 e2 ~ | 8 } \new Lyrics \lyricsto "melody" { Ky -- ri -- e __ } >>
- Se pueden crear melismas automáticamente a partir de la música
escribiendo ligaduras de expresión sobre las notas de cada
melisma. Ésta es la forma usual de escribir la letra:
<< \new Voice = "melody" \relative { \time 3/4 f''4 g8 ( f e f ) e8 ( d e2 ) } \new Lyrics \lyricsto "melody" { Ky -- ri -- e __ } >>
Observe que las ligaduras de fraseo no afectan a la creación de melismas.
- Se considera que las notas forman un melisma cuando se unen
manualmente mediante barra, siempre y cuando el barrado automático
esté desactivado. Véase
Establecer el comportamiento de las barras automáticas.
<< \new Voice = "melody" \relative { \time 3/4 \autoBeamOff f''4 g8[ f e f] e2. } \new Lyrics \lyricsto "melody" { Ky -- ri -- e } >>
Claramente, esto no es adecuado para los melismas formados por notas de duración más larga que la corchea.
- Un grupo de notas sin ligadura de expresión se trata como un
melisma si están comprendidas entre
\melisma
y\melismaEnd
.<< \new Voice = "melody" \relative { \time 3/4 f''4 g8 \melisma f e f \melismaEnd e2. } \new Lyrics \lyricsto "melody" { Ky -- ri -- e } >>
- Se puede definir un melisma enteramente dentro de la letra
escribiendo un carácter de barra baja suelto,
_
, por cada nota adicional que se quiere añadir al melisma.<< \new Voice = "melody" \relative { \time 3/4 f''4 g8 f e f e8 d e2 } \new Lyrics \lyricsto "melody" { Ky -- ri -- _ _ _ e __ _ _ } >>
Es posible tener ligaduras de unión o de expresión y barras
manuales en la melodía sin que indiquen melisma. Para hacerlo,
ajuste el valor de melismaBusyProperties
:
<< \new Voice = "melody" \relative { \time 3/4 \set melismaBusyProperties = #'() c'4 d ( e ) g8 [ f ] f4 ~ 4 } \new Lyrics \lyricsto "melody" { Ky -- ri -- e e -- le -- i -- son } >>
Se pueden usar otros valores para melismaBusyProperties
si
queremos incluir o excluir selectivamente las ligaduras de unión,
ligaduras de expresión o barras de la detección automática de los
melismas; véase melismaBusyProperties
en el apartado
Tunable context properties.
Como alternativa, si todas las indicaciones de melismas se van a
ignorar, se puede establecer ignoreMelismata
al valor
verdadero; véase Versos con ritmos distintos.
Si se requiere un melisma en el transcurso de un pasaje en el que
melismaBusyProperties
está activo, puede indicarse
colocando una sola barra baja en la letra por cada nota que se
debe incluir dentro del melisma:
<< \new Voice = "melody" \relative { \time 3/4 \set melismaBusyProperties = #'() c'4 d ( e ) g8 [ f ] ~ 4 ~ f } \new Lyrics \lyricsto "melody" { Ky -- ri -- _ e __ _ _ _ } >>
Instrucciones predefinidas
\autoBeamOff
,
\autoBeamOn
,
\melisma
,
\melismaEnd
.
Véase también
Glosario musical: melisma.
Manual de aprendizaje: Alineación de la letra a una melodía.
Referencia de la notación: Alineación de la letra a una melodía, Duración automática de las sílabas, Establecer el comportamiento de las barras automáticas, Versos con ritmos distintos.
Referencia de funcionamiento interno: Tunable context properties.
Advertencias y problemas conocidos
No se crean automáticamente líneas extensoras bajo los melismas; se deben insertar manualmente con un doble guión bajo.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Varias notas sobre una sílaba ] | [ Up : Notación común para música vocal ] | [ Cambios de vocal graduales > ] |
Líneas de extensión y guiones
Los melismas se indican mediante una línea horizontal centrada entre una sílaba y la siguiente. Esta línea recibe el nombre de línea de extensión, y se escribe como ‘ __ ’ (fíjese en los espacios antes y después de los dos guiones bajos).
Nota: Los melismas se indican en la partitura con líneas extensoras, que se escriben con un doble guión bajo; pero también se pueden introducir melismas cortos mediante saltos de notas individuales, que se escriben como caracteres de guión bajo sueltos; de forma predeterminada éstos no producen la impresión de una línea de extensión.
Los guiones centrados se escriben como ‘ -- ’ entre sílabas de una misma palabra (fíjese en los espacios antes y después de los dos guiones). El guión quedará centrado entre las sílabas, y su longitud se ajustará en función del espacio que exista entre ellas.
En la música grabada de modo muy apretado, se pueden quitar los
guiones. Se puede controlar si esto ocurre o no, mediante las
propiedades minimum-distance
(distancia mínima entre las
dos sílabas) y la minimum-length
(umbral por debajo del
cual se suprimen los guiones) de LyricHyphen
.
De manera predeterminada no se repiten los guiones después de un
salto de sistema cuando la línea siguiente comienza con una sílaba
distinta. Si se establece la propiedad after-line-breaking
al valor #t
, se pueden imprimir los guiones en estas
situaciones.
Véase también
Referencia de funcionamiento interno: LyricExtender, LyricHyphen.
Cambios de vocal graduales
Las transiciones de vocal (cambios graduales de una vocal o de una
consonante mantenida), que pueden venir indicadas por flechas
entre dos sílabas, se introducen con la instrucción
\vowelTransition
(véase Gould págs. 452–453). La flecha
muestra la longitud de la transición, y por defecto siempre se
imprime (se añade espacio en caso necesario si la música está muy
apretada). Se indica que no hay ninguna articulación, a pesar del
cambio de vocal, mediante ligaduras de unión o de expresión. La
longitud mínima de las flechas puede ajustarse con la propiedad
minimum-length
del objeto VowelTransition
.
{ c'2 c' \set melismaBusyProperties = #'() c'2 ~ c' \time 3/2 d'4( e' f' e' f'2 e'2.) } \addlyrics { Ah \vowelTransition oh, ah \vowelTransition oh, ah \vowelTransition _ _ _ _ oh. }
Véase también
GLosario musical: vowel transition.
Referencia de funcionamiento interno: VowelTransition.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Cambios de vocal graduales ] | [ Up : Música vocal ] | [ Trabajar con letra y variables > ] |
2.1.2 Técnicas específicas para la letra
Trabajar con letra y variables | ||
Posicionamiento vertical de la letra | ||
Colocación horizontal de las sílabas | ||
Letra y repeticiones | ||
Letras en divisi | ||
Polifonía con letras compartidas |
Trabajar con letra y variables
Se pueden crear variables que contienen letra, pero la letra se debe introducir en el modo de letra:
musicOne = \relative { c''4 b8. a16 g4. f8 e4 d c2 } verseOne = \lyricmode { Joy to the world, the Lord is come. } \score { << \new Voice = "one" { \time 2/4 \musicOne } \new Lyrics \lyricsto "one" { \verseOne } >> }
No es necesario escribir las duraciones si la variables se va a
invocar con \addlyrics
o con \lyricsto
.
Para disposiciones distintas o más complejas, la mejor forma es
definir en primer lugar las variables de la música y de la letra,
después preparar una jerarquía de pentagramas y letras, omitiendo
la letra en sí, y después poner la letra utilizando
\context
por debajo. Esto asegura que las voces
referenciadas por \lyricsto
siempre han sido definidas
previamente. Por ejemplo:
sopranoMusic = \relative { c''4 c c c } contraltoMusic = \relative { a'4 a a a } sopranoWords = \lyricmode { Sop -- ra -- no words } contraltoWords = \lyricmode { Con -- tral -- to words } \score { \new ChoirStaff << \new Staff { \new Voice = "sopranos" { \sopranoMusic } } \new Lyrics = "sopranos" \new Lyrics = "contraltos" \new Staff { \new Voice = "contraltos" { \contraltoMusic } } \context Lyrics = "sopranos" { \lyricsto "sopranos" { \sopranoWords } } \context Lyrics = "contraltos" { \lyricsto "contraltos" { \contraltoWords } } >> }
Véase también
Referencia de la notación: Posicionamiento vertical de la letra.
Referencia de funcionamiento interno: LyricCombineMusic, Lyrics.
Posicionamiento vertical de la letra
Dependiendo del tipo de música, la letra puede colocarse sobre el pentagrama, debajo del pentagrama, o entre dos pentagramas. Lo más fácil es situar la letra debajo de la pauta asociada, y se puede conseguir simplemente definiendo el contexto Lyrics por debajo del contexto Staff:
\score { << \new Staff { \new Voice = "melody" { \relative { c''4 c c c } } } \new Lyrics { \lyricsto "melody" { Here are the words } } >> }
Se puede colocar la letra sobre el pentagrama usando uno de los dos métodos disponibles: el más sencillo (y preferible) es usar la misma sintaxis que se ha visto más arriba y especificar explícitamente la posición de la letra:
\score { << \new Staff = "staff" { \new Voice = "melody" { \relative { c''4 c c c } } } \new Lyrics \with { alignAboveContext = "staff" } { \lyricsto "melody" { Here are the words } } >> }
Como alternativa, se puede usar un proceso en dos pasos. En
primer lugar se declara el contexto Lyrics (sin ningún contenido)
antes de los contextos Staff y Voice, y después se escribe la
instrucción \lyricsto
después de la declaración de Voice a
que hace referencia, usando \context
, como se ve a
continuación:
\score { << \new Lyrics = "lyrics" \with { % lyrics above a staff should have this override \override VerticalAxisGroup.staff-affinity = #DOWN } \new Staff { \new Voice = "melody" { \relative { c''4 c c c } } } \context Lyrics = "lyrics" { \lyricsto "melody" { Here are the words } } >> }
Cuando hay dos voces sobre pentagramas separados, la letra se puede colocar entre ellos usando cualquiera de estos métodos. He aquí un ejemplo del segundo método:
\score { \new ChoirStaff << \new Staff { \new Voice = "sopranos" { \relative { c''4 c c c } } } \new Lyrics = "sopranos" \new Lyrics = "contraltos" \with { % lyrics above a staff should have this override \override VerticalAxisGroup.staff-affinity = #DOWN } \new Staff { \new Voice = "contraltos" { \relative { a'4 a a a } } } \context Lyrics = "sopranos" { \lyricsto "sopranos" { Sop -- ra -- no words } } \context Lyrics = "contraltos" { \lyricsto "contraltos" { Con -- tral -- to words } } >> }
Es posible generar otras combinaciones de letra y pautas mediante la elaboración de los ejemplos anteriores, o examinando las plantillas del Manual de Aprendizaje, véase Plantillas de conjuntos vocales.
Fragmentos de código seleccionados
Conseguir el espaciado de la letra de la versión 2.12
en versiones más recientes
El motor de espaciado vertical cambió en la versión 2.14. Esto puede
hacer que se altere el espaciado de la letra de las canciones. Es
posible fijar propiedades para los contextos Lyric
y
Staff
de forma que el motor de espaciado se comporte como lo
hacía en la versión 2.12.
\header { tagline = ##f } global = { \key d \major \time 3/4 } sopMusic = \relative c' { % VERSE ONE fis4 fis fis | \break fis4. e8 e4 } altoMusic = \relative c' { % VERSE ONE d4 d d | d4. b8 b4 | } tenorMusic = \relative c' { a4 a a | b4. g8 g4 | } bassMusic = \relative c { d4 d d | g,4. g8 g4 | } words = \lyricmode { Great is Thy faith -- ful -- ness, } \score { \new ChoirStaff << \new Lyrics = sopranos \new Staff = women << \new Voice = "sopranos" { \voiceOne \global \sopMusic } \new Voice = "altos" { \voiceTwo \global \altoMusic } >> \new Lyrics = "altos" \new Lyrics = "tenors" \new Staff = men << \clef bass \new Voice = "tenors" { \voiceOne \global \tenorMusic } \new Voice = "basses" { \voiceTwo \global \bassMusic } >> \new Lyrics = basses \context Lyrics = sopranos \lyricsto sopranos \words \context Lyrics = altos \lyricsto altos \words \context Lyrics = tenors \lyricsto tenors \words \context Lyrics = basses \lyricsto basses \words >> \layout { \context { \Lyrics \override VerticalAxisGroup.staff-affinity = ##f \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 0) (minimum-distance . 2) (padding . 2)) } \context { \Staff \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 0) (minimum-distance . 2) (padding . 2)) } } }
Véase también
Manual de aprendizaje: Plantillas de conjuntos vocales.
Referencia de la notación: Orden de disposición de los contextos, Crear y referenciar contextos.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Posicionamiento vertical de la letra ] | [ Up : Técnicas específicas para la letra ] | [ Letra y repeticiones > ] |
Colocación horizontal de las sílabas
Para aumentar la separación entre las líneas de texto, establezca
la propiedad minimum-distance
de LyricSpace
.
\relative c' { c c c c \override Lyrics.LyricSpace.minimum-distance = #1.0 c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext }
Para efectuar este cambio en todas las letras de la partitura,
ajuste la propiedad dentro del bloque \layout
.
\score { \relative { c' c c c c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext } \layout { \context { \Lyrics \override LyricSpace.minimum-distance = #1.0 } } }
Fragmentos de código seleccionados
Alineación de la letra
La alineación horizontal de la letra se puede ajustar sobreescribiendo
la propiedad self-alignment-X
del objeto LyricText
.
#-1
es izquierda, #0
es centrado y #1
es derecha;
sin embargo, podemos usar también #LEFT
, #CENTER
y
#RIGHT
.
\layout { ragged-right = ##f } \relative c'' { c1 c1 c1 } \addlyrics { \once \override LyricText.self-alignment-X = #LEFT "This is left-aligned" \once \override LyricText.self-alignment-X = #CENTER "This is centered" \once \override LyricText.self-alignment-X = 1 "This is right-aligned" }
Advertencias y problemas conocidos
La comprobación necesaria para asegurar que las inscripciones de texto están dentro de los márgenes, requiere cálculos adicionales. Para acelerar ligeramente el procesado, se puede desactivar esta funcionalidad:
\override Score.PaperColumn.keep-inside-line = ##f
Para hacer que el texto evite también las líneas divisorias, use
\layout { \context { \Lyrics \consists Bar_engraver \consists Separating_line_group_engraver \hide BarLine } }
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Colocación horizontal de las sílabas ] | [ Up : Técnicas específicas para la letra ] | [ Letras en divisi > ] |
Letra y repeticiones
Repeticiones sencillas
Las repeticiones en la música se describen extensamente en alguna otra parte de este manual; véase Repeticiones. Esta sección explica cómo añadir letra a secciones de música que se repiten.
La letra que va con una sección de música que se repite, debiera estar encerrada en la misma construcción de repeticiones exacta que la música, si el texto no cambia.
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Not re -- peat -- ed. \repeat volta 2 { Re -- peat -- ed twice. } } } >> }
El texto se expandirá correctamente de esta manera si las repeticiones se despliegan.
\score { \unfoldRepeats { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Not re -- peat -- ed. \repeat volta 2 { Re -- peat -- ed twice. } } } >> } }
Si la sección repetida ha de desplegarse y tiene distinta letra, escriba simplemente todo el texto:
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat unfold 2 { b4 b b b } } } } \new Lyrics { \lyricsto "melody" { Not re -- peat -- ed. The first time words. Sec -- ond time words. } } >> }
Cuando el texto de las secciones de primera o segunda vez es
distinto, la letra de cada repetición se debe escribir dentro de
contextos Lyrics
diferentes, anidados correctamente en
secciones paralelas:
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b b b } } } } \new Lyrics \lyricsto "melody" { Not re -- peat -- ed. << { The first time words. } \new Lyrics { \set associatedVoice = "melody" Sec -- ond time words. } >> } >> }
Se pueden añadir más estrofas de una manera similar:
\score { << \new Staff { \new Voice = "singleVoice" { \relative { a'4 a a a \repeat volta 3 { b4 b b b } c4 c c c } } } \new Lyrics \lyricsto "singleVoice" { Not re -- peat -- ed. << { The first time words. } \new Lyrics { \set associatedVoice = "singleVoice" Sec -- ond time words. } \new Lyrics { \set associatedVoice = "singleVoice" The third time words. } >> The end sec -- tion. } >> }
Sin embargo, si esta construcción se inserta dentro de un contexto
de varios pentagramas tal como un ChoirStaff
, la letra de
los versos segundo y tercero aparecerán debajo del pentagrama
inferior.
Para posicionarlos correctamente utilice alignBelowContext
:
\score { << \new Staff { \new Voice = "melody" { \relative { a'4 a a a \repeat volta 3 { b4 b b b } c4 c c c } } } \new Lyrics = "firstVerse" \lyricsto "melody" { Not re -- peat -- ed. << { The first time words. } \new Lyrics = "secondVerse" \with { alignBelowContext = "firstVerse" } { \set associatedVoice = "melody" Sec -- ond time words. } \new Lyrics = "thirdVerse" \with { alignBelowContext = "secondVerse" } { \set associatedVoice = "melody" The third time words. } >> The end sec -- tion. } \new Voice = "harmony" { \relative { f'4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2 } } >> }
Repeticiones con finales alternativos (primera y segunda vez)
Si el texto de la sección repetida es el mismo, y ninguno de los
bloques \alternative
comienza con un silencio, se puede
usar exactamente la misma estructura tanto para la letra como para
la música. Esto tiene la ventaja de que \unfoldRepeats
expande correctamente tanto la música como la letra.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { a'4 a a a \repeat volta 2 { b4 b } \alternative { { b b } { b c } } } } } \new Lyrics { \lyricsto "melody" { Not re -- peat -- ed. \repeat volta 2 { Re -- peat -- } \alternative { { ed twice. } { ed twice. } } } } >> }
Pero cuando la sección repetida tiene un texto distinto, o cuando
uno de los bloques \alternative
comienza con un silencio,
no se puede usar una construcción de repetición para el texto y es
necesario insertar manualmente instrucciones \skip
para
saltar sobre las notas en las secciones alternativas que no
correspondan.
Nota: no utilice un guión bajo, _
, para saltar notas: el
guión bajo indica un melisma, y hace que la sílaba anterior
resulte alineada por la izquierda.
Nota: La instrucción \skip
debe ir seguida por un
número, pero este número se ignora dentro de la letra, que deriva
las duraciones de las notas de una melodía asociada a través de
\addlyrics
o \lyricsto
. Cada \skip
salta
una sola nota de cualquier valor, independientemente del valor del
número que se escribe a continuación.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b } \alternative { { b b } { b c } } c4 c } } } \new Lyrics { \lyricsto "melody" { The first time words. \repeat unfold 2 { \skip 1 } End here. } } \new Lyrics { \lyricsto "melody" { Sec -- ond \repeat unfold 2 { \skip 1 } time words. } } >> }
Cuando una nota está ligada sobre dos o más finales alternativos
(sobre la primera nota de una casilla de primera y segunda vez),
se usa una ligadura de unión para arrastrar la nota dentro del
primer final alternativo y se usa una instrucción
\repeatTie
de ligadura de repetición en las casillas de
repetición siguientes. Esta estructura produce problemas de
alineación difíciles cuando hay letra de por medio; aumentar la
longitud de las secciones alternativas de forma que las notas
ligadas se vean contenidas completamente dentro de ellas, puede
ofrecer un resultado más aceptable.
La ligadura de unión crea un melisma dentro de la casilla de primera vez pero no en la segunda vez y siguientes; por tanto, para alinear la letra correctamente es necesario inhabilitar la creación automática de melismas sobre la sección de finales alternativos e insertar saltos manuales.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \set melismaBusyProperties = #'() \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } \unset melismaBusyProperties c4 c } } } \new Lyrics { \lyricsto "melody" { \repeat volta 2 { Here's a __ } \alternative { { \skip 1 verse } { \skip 1 sec } } ond one. } } >> }
Observe que si se usa \unfoldRepeats
sobre una sección que
contiene alguna \repeatTie
, la \repeatTie
se debe
eliminar para evitar que se impriman al mismo tiempo los dos tipos
de ligadura.
Cuando la sección repetida tiene textos distintos, no se puede
usar \repeat
para la letra y se deben insertar
instrucciones \skip
manualmente, como se vio antes.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } c4 c } } } \new Lyrics { \lyricsto "melody" { Here's a __ verse. \repeat unfold 2 { \skip 1 } } } \new Lyrics { \lyricsto "melody" { Here's one \repeat unfold 2 { \skip 1 } more to sing. } } >> }
Si queremos imprimir líneas extensoras y guiones que entran o salen de las casillas de primera y segunda vez, hemos de insertarlos manualmente.
\score { << \new Staff { \time 2/4 \new Voice = "melody" { \relative { \repeat volta 2 { b'4 b ~} \alternative { { b b } { b \repeatTie c } } c4 c } } } \new Lyrics { \lyricsto "melody" { Here's a __ verse. \repeat unfold 2 { \skip 1 } } } \new Lyrics { \lyricsto "melody" { Here's "a_" \skip 1 "_" sec -- ond one. } } >> }
Véase también
Referencia de la notación: Mantener vivos los contextos, Repeticiones.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Letra y repeticiones ] | [ Up : Técnicas específicas para la letra ] | [ Polifonía con letras compartidas > ] |
Letras en divisi
Cuando solamente difieren las palabras y las duraciones de las dos partes mientras que la altura de las notas es la misma, el método adecuado puede ser la desactivación temporal de la detección automática de los melismas e indicar el melisma dentro de la letra:
\score { << \new Voice = "melody" { \relative c' { \set melismaBusyProperties = #'() \slurDown \slurDashed e4 e8 ( e ) c4 c | \unset melismaBusyProperties c } } \new Lyrics \lyricsto "melody" { They shall not o -- ver -- come } \new Lyrics \lyricsto "melody" { We will _ } >> }
Cuando difieren tanto la música como las palabras, puede ser mejor imprimir la música y la letra que difieren mediante el nombrado de contextos de voz y adjuntando la letra a estos contextos específicos:
\score { << \new Voice = "melody" { \relative { << { \voiceOne e'4 e8 e } \new Voice = "splitpart" { \voiceTwo c4 c } >> \oneVoice c4 c | c } } \new Lyrics \lyricsto "melody" { They shall not o -- ver -- come } \new Lyrics \lyricsto "splitpart" { We will } >> }
En la música coral es frecuente que una parte vocal se divida en
dos durante varios compases. La construcción << {…}
\\ {…} >>
, en la que dos (o más) expresiones musicales
están separadas por dos barras invertidas, puede en principio
parecer la forma más adecuada de realizar las voces divididas.
Sin embargo, esta construcción asigna todas las
expresiones que están dentro de ella a contextos de voz
NUEVOS lo que hace que no se asigne a ellas ninguna letra
porque la letra se asigna al contexto de voz original, que no es
lo que pretendemos, en general. La construcción correcta que
debemos usar es el pasaje polifónico temporal, véase la sección
Pasajes polifónicos temporales dentro de
Polifonía en un solo pentagrama.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Polifonía con letras compartidas ] | [ Up : Música vocal ] | [ Añadir números de verso > ] |
2.1.3 Versos
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Versos ] | [ Up : Versos ] | [ Añadir expresiones dinámicas a los versos > ] |
Añadir números de verso
Los números de los versos se pueden añadir estableciendo
stanza
, p.ej.,
\new Voice \relative { \time 3/4 g'2 e4 a2 f4 g2. } \addlyrics { \set stanza = "1. " Hi, my name is Bert. } \addlyrics { \set stanza = "2. " Oh, ché -- ri, je t'aime }
Estos números aparecerán inmediatamente antes de la primera sílaba. También pueden agruparse dos líneas de estrofa, por ejemplo en el caso de una repetición con letras diferentes:
leftbrace = \markup { \override #'(font-encoding . fetaBraces) \lookup "brace80" } stanzaOneOne = \lyricmode { \set stanza = \markup { \column { \vspace #.33 "1. "} \leftbrace } Child, you’re mine and I love you. Lend thine ear to what I say. } stanzaOneThree = \lyricmode { Child, I have no great -- er joy Than to have you walk in truth. } \new Voice { \repeat volta 2 { c'8 c' c' c' c' c' c'4 c'8 c' c' c' c' c' c'4 } } \addlyrics { \stanzaOneOne } \addlyrics { \stanzaOneThree }
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Añadir números de verso ] | [ Up : Versos ] | [ Añadir el nombre de los cantantes a los versos > ] |
Añadir expresiones dinámicas a los versos
Los versos que difieren en su sonoridad se pueden especificar
escribiendo una indicación dinámica antes de cada verso. En
LilyPond, todo lo que aparece delante de un verso está dentro del
objeto StanzaNumber
; las indicaciones dinámicas no son
diferentes. Por razones técnicas, tendrá que establecer el valor
de la sección stanza (verso) fuera de \lyricmode
:
text = { \set stanza = \markup { \dynamic "ff" "1. " } \lyricmode { Big bang } } << \new Voice = "tune" { \time 3/4 g'4 c'2 } \new Lyrics \lyricsto "tune" \text >>
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Añadir expresiones dinámicas a los versos ] | [ Up : Versos ] | [ Versos con ritmos distintos > ] |
Añadir el nombre de los cantantes a los versos
También se pueden poner los nombres de los cantantes. Se imprimen
al comienzo de la línea, igual que los nombres de instrumento. Se
crean estableciendo un valor para vocalName
. Se puede
definir una versión abreviada como shortVocalName
.
\new Voice \relative { \time 3/4 g'2 e4 a2 f4 g2. } \addlyrics { \set vocalName = "Bert " Hi, my name is Bert. } \addlyrics { \set vocalName = "Ernie " Oh, ché -- ri, je t'aime }
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Añadir el nombre de los cantantes a los versos ] | [ Up : Versos ] | [ Imprimir los versos al final > ] |
Versos con ritmos distintos
Con frecuencia, los distintos versos de una canción encajan de
formas ligeramente diferentes con la misma melodía. Estas
variaciones se pueden capturar con el uso de \lyricsto
.
Ignorar los melismas
Existe la posibilidad de que el texto tenga un melisma en un
verso, pero varias sílabas en otro. Una solución es hacer que la
voz más rápida ignore el melisma. Esto se consigue estableciendo
ignoreMelismata
en el contexto Lyrics.
<< \relative \new Voice = "lahlah" { \set Staff.autoBeaming = ##f c'4 \slurDotted f8.[( g16]) a4 } \new Lyrics \lyricsto "lahlah" { more slow -- ly } \new Lyrics \lyricsto "lahlah" { go \set ignoreMelismata = ##t fas -- ter \unset ignoreMelismata still } >>
Advertencias y problemas conocidos
A diferencia de casi todas las instrucciones \set
,
\set ignoreMelismata
no funciona si va precedido de
\once
. Es necesario utilizar \set
y \unset
para delimitar la letra en que se quieren ignorar los melismas.
Aplicar sílabas a notas de adorno
De forma predeterminada, las notas de adorno (p.ej. insertadas por
medio de \grace
) no pueden recibirla asignación de sílabas
si se utiliza \lyricsto
, pero este comportamiento puede
cambiarse:
<< \new Voice = melody \relative { f'4 \appoggiatura a32 b4 \grace { f16 a16 } b2 \afterGrace b2 { f16[ a16] } \appoggiatura a32 b4 \acciaccatura a8 b4 } \new Lyrics \lyricsto melody { normal \set includeGraceNotes = ##t case, gra -- ce case, after -- grace case, \set ignoreMelismata = ##t app. case, acc. case. } >>
Advertencias y problemas conocidos
Como ocurre con associatedVoice
, includeGraceNotes
se tiene que establecer al menos una sílaba antes de la que se va
a colocar bajo una nota de adorno. En caso de una nota de adorno
al comienzo mismo de una pieza, se recomienda usar un bloque
\with
o \context
:
<< \new Voice = melody \relative c' { \grace { c16( d e f } g1) f } \new Lyrics \with { includeGraceNotes = ##t } \lyricsto melody { Ah __ fa } >>
Cambio a una melodía alternativa
Son posibles variaciones más complejas en la coordinación de la
letra y la música. La melodía a la que se está alineando la letra
puede cambiarse desde dentro de la letra mediante el
establecimiento de la propiedad associatedVoice
:
<< \relative \new Voice = "lahlah" { \set Staff.autoBeaming = ##f c'4 << \new Voice = "alternative" { \voiceOne \tuplet 3/2 { % show associations clearly. \override NoteColumn.force-hshift = #-3 f8 f g } } { \voiceTwo f8.[ g16] \oneVoice } >> a8( b) c } \new Lyrics \lyricsto "lahlah" { Ju -- ras -- sic Park } \new Lyrics \lyricsto "lahlah" { % Tricky: need to set associatedVoice % one syllable too soon! \set associatedVoice = "alternative" % applies to "ran" Ty -- ran -- no -- \set associatedVoice = "lahlah" % applies to "rus" sau -- rus Rex } >>
El texto del primer verso se fija a la melodía llamada ‘lahlah’
de la forma usual, pero el segundo verso se fija inicialmente al
contexto lahlah
y después se cambia a la melodía
alternative
para las sílabas desde ‘ran’ hasta ‘sau’
mediante las líneas:
\set associatedVoice = "alternative" % se aplica a "ran" Ty -- ran -- no -- \set associatedVoice = "lahlah" % se aplica a "rus" sau -- rus Rex
Aquí, alternative
es el nombre del contexto de Voice
que contiene el tresillo.
Observe la posición de la instrucción \set associatedVoice
:
parece estar situada una sílaba antes de lo normal, pero está bien
así.
Nota: La instrucción \set associatedVoice
se debe
escribir una sílaba antes de aquella en la que queremos que
se produzca el cambio a la voz nueva. Dicho de otra forma, el
cambio de la voz asociada se produce una sílaba más tarde de lo
esperado. Esto es por razones técnicas, y no es un fallo.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Versos con ritmos distintos ] | [ Up : Versos ] | [ Imprimir los versos al final en varias columnas > ] |
Imprimir los versos al final
En ocasiones es conveniente tener un verso ajustado a la música, y
el resto añadido en forma de estrofa al final de la pieza. Esto
se puede conseguir escribiendo los versos adicionales dentro de
una sección \markup
fuera del bloque Score principal de la
partitura. Tenga en cuenta que existen dos formas distintas de
forzar los saltos de línea al utilizar \markup
.
melody = \relative { e' d c d | e e e e | d d e d | c1 | } text = \lyricmode { \set stanza = "1." Ma- ry had a lit- tle lamb, its fleece was white as snow. } \score { << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text >> \layout { } } \markup { \column { \line { Verse 2. } \line { All the children laughed and played } \line { To see a lamb at school. } } } \markup { \wordwrap-string " Verse 3. Mary took it home again, It was against the rule." }
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Imprimir los versos al final ] | [ Up : Versos ] | [ Canciones > ] |
Imprimir los versos al final en varias columnas
Cuando una pieza tiene muchos versos, a menudo se imprimen en varias columnas a lo largo de toda la página. Con frecuencia un número de verso fuera del margen precede a cada verso. El ejemplo siguiente muestra cómo producir dicha salida en LilyPond.
melody = \relative { c'4 c c c | d d d d } text = \lyricmode { \set stanza = "1." This is verse one. It has two lines. } \score { << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text >> \layout { } } \markup { \fill-line { \hspace #0.1 % moves the column off the left margin; % can be removed if space on the page is tight \column { \line { \bold "2." \column { "This is verse two." "It has two lines." } } \combine \null \vspace #0.1 % adds vertical spacing between verses \line { \bold "3." \column { "This is verse three." "It has two lines." } } } \hspace #0.1 % adds horizontal spacing between columns; \column { \line { \bold "4." \column { "This is verse four." "It has two lines." } } \combine \null \vspace #0.1 % adds vertical spacing between verses \line { \bold "5." \column { "This is verse five." "It has two lines." } } } \hspace #0.1 % gives some extra space on the right margin; % can be removed if page space is tight } }
Véase también
Referencia de funcionamiento interno: LyricText, StanzaNumber.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Imprimir los versos al final en varias columnas ] | [ Up : Música vocal ] | [ Referencias para canciones > ] |
2.1.4 Canciones
Referencias para canciones | ||
Hojas guía de acordes |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Canciones ] | [ Up : Canciones ] | [ Hojas guía de acordes > ] |
Referencias para canciones
Por lo general, las canciones se escriben sobre tres pentagramas con la melodía del cantante en el pentagrama superior y dos pentagramas de acompañamiento de piano en la parte inferior. La letra del primer verso se imprime inmediatamente debajo del pentagrama superior. Si existe solamente una pequeña cantidad de versos adicionales, pueden imprimirse inmediatamente debajo del primero, pero si hay más versos de los que caben cómodamente allí, el segundo verso y siguientes se imprimen después de la música, como texto independiente.
Todos los elementos notacionales necesarios para escribir canciones se describen completamente en otras secciones de la documentación:
- Para montar la disposición de las pautas, véase Impresión de los pentagramas.
- Para escribir música para piano, véase Teclados y otros instrumentos de varios pentagramas.
- Para imprimir la letra de una línea melódica, véase Notación común para música vocal.
- Para colocar la letra, véase Posicionamiento vertical de la letra.
- Para escribir versos véase Versos.
- Las canciones se imprimen frecuentemente con los acordes indicados mediante cifrado americano (los nombres de los acordes en letras mayúsculas) sobre las pautas. Esto se describe en Imprimir los acordes.
- Para imprimir diagramas de posiciones de los acordes para el acompañamiento de guitarra o para otros instrumentos con trastes en el mástil, consulte “Marcados de diagramas de posiciones de acorde” dentro de Notación común para cuerdas con trastes.
Véase también
Manual de aprendizaje: Canciones.
Referencia de la notación: Notación común para música vocal, Imprimir los acordes, Impresión de los pentagramas, Teclados y otros instrumentos de varios pentagramas, Posicionamiento vertical de la letra, Versos.
Fragmentos de código: Vocal music.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para canciones ] | [ Up : Canciones ] | [ Música coral > ] |
Hojas guía de acordes
Se pueden imprimir hojas guía de acordes combinando partes vocales y el ‘modo de acordes’; esta sintaxis se explica en Notación de acordes.
Fragmentos de código seleccionados
Hoja guía de acordes o «lead sheet» sencilla
Al juntar nombres de acorde en cifrado americano, melodía y letra, obtenemos una hoja guía de acordes o «lead sheet»:
<< \chords { c2 g:sus4 f e } \new Staff \relative c'' { a4 e c8 e r4 b2 c4( d) } \addlyrics { One day this shall be free __ } >>
Véase también
Referencia de la notación: Notación de acordes.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Hojas guía de acordes ] | [ Up : Música vocal ] | [ Referencias para música coral > ] |
2.1.5 Música coral
Esta sección trata los asuntos de notación más directamente relacionados con la música coral. Esto incluye los anthems, las canciones por partes, los oratorios, etc.
Referencias para música coral | ||
Disposiciones de la partitura para música coral |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Música coral ] | [ Up : Música coral ] | [ Disposiciones de la partitura para música coral > ] |
Referencias para música coral
La notación de música coral se realiza normalmente sobre dos, tres
o cuatro pentagramas dentro de un grupo de pautas
ChoirStaff
. Si se necesita un acompañamiento, se sitúa
debajo dentro de un grupo PianoStaff
, que se suele reducir
de tamaño, para ensayar las obras corales a cappella. Las
notas de cada parte vocal se sitúan dentro de un contexto
Voice
, y cara pentagrama recibe o una sola parte vocal (es
decir, una Voice
) o un par de partes vocales (es decir, dos
Voice
s).
Los textos se disponen en contextos Lyrics
, bien debajo de
cada pauta de música correspondiente, o bien una encima y una
debajo de la pauta de música, si ésta contiene la música de las
dos partes.
En otras partes del manual se describen completamente algunos otros temas sobre música coral:
- Hay una introducción a la creación de partituras vocales SATB en el Manual de aprendizaje, véase Partitura vocal a cuatro voces SATB. También existe una plantilla incorporada que simplifica la introducción de música vocal SATB, véase see Plantillas incorporadas.
- También en el Manual de aprendizaje hay varias plantillas adecuadas para diversos estilos de música coral, véase Plantillas de conjuntos vocales.
- Para ver más información acerca de
ChoirStaff
yPianoStaff
, consulte Agrupar pentagramas. - Las figuras con cabezas de formas, como las que se usan en la notación del estilo Arpa Sacra y otros similares, se describen en Cabezas de notas con formas diversas.
- Cuando dos partes vocales comparten un pentagrama, las plicas,
ligaduras, etc. de la parte aguda se orientan hacia arriba, y los
de la parte grave hacia abajo. Para hacerlo, utilice
\voiceOne
y\voiceTwo
. Véase Polifonía en un solo pentagrama. - Cuando una parte vocal se divide temporalmente, debemos usar Pasajes polifónicos temporales (véase Polifonía en un solo pentagrama).
Instrucciones predefinidas
\oneVoice
,
\voiceOne
,
\voiceTwo
.
Véase también
Manual de aprendizaje: Partitura vocal a cuatro voces SATB, Plantillas de conjuntos vocales.
Referencia de la notación: Orden de disposición de los contextos, Agrupar pentagramas, Cabezas de notas con formas diversas, Polifonía en un solo pentagrama.
Fragmentos de código: Vocal music.
Referencia de funcionamiento interno: ChoirStaff, Lyrics, PianoStaff.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para música coral ] | [ Up : Música coral ] | [ Ópera y musicales > ] |
Disposiciones de la partitura para música coral
La música coral que contiene cuatro pentagramas, con o sin acompañamiento de piano, se suele disponer con dos sistemas por página. Dependiendo del tamaño de la página, conseguirlo puede requerir cambios en ciertos ajustes predeterminados. Se deben tener en cuenta los siguientes ajustes:
- Se puede modificar el tamaño global de pentagrama para alterar el tamaño general de los elementos de la partitura. Véase Establecer el tamaño del pentagrama.
- Las diferentes distancias entre sistemas, pentagramas y líneas de texto se pueden ajustar de manera independiente. Véase Espaciado vertical.
- Se pueden imprimir las dimensiones de las variables de disposición verticales como ayuda para el ajuste del espaciado vertical. Esta y otras posibilidades para hacer encajar la música en un número de páginas menor, se describen en Encajar la música en menos páginas.
- Si el número de sistemas por página cambia de uno a dos, es costumbre indicarlo mediante una marca separadora de sistemas entre los dos sistemas. Véase Separación de sistemas.
- Para ver más detalles sobre otras propiedades de formateo de las páginas, consulte Disposición de la página.
Las indicaciones dinámicas se colocan por omisión debajo del
pentagrama, pero en la música coral se suelen situar encima del
pentagrama para evitar las colisiones con el texto. La
instrucción predefinida \dynamicUp
hace esta tarea para las
indicaciones dinámicas en un único contexto Voice
. Si hay
muchos contextos de voz, esta instrucción predefinida tendría que
colocarse en cada uno de ellos. Como alternativa, se puede usar
su forma expandida para poner las indicaciones dinámicas de toda
la partitura encima de sus pautas respectivas, como se muestra
aquí:
\score { \new ChoirStaff << \new Staff { \new Voice { \relative { g'4\f g g g } } } \new Staff { \new Voice { \relative { d'4 d d\p d } } } >> \layout { \context { \Score \override DynamicText.direction = #UP \override DynamicLineSpanner.direction = #UP } } }
Instrucciones predefinidas
\dynamicUp
,
\dynamicDown
,
\dynamicNeutral
.
Véase también
Referencia de la notación: Cambiar el espaciado, Mostrar el espaciado, Encajar la música en menos páginas, Disposición de la página, Disposición de la partitura, Separación de sistemas, Establecer el tamaño del pentagrama, Saltos, Espaciado vertical.
Referencia de funcionamiento interno: VerticalAxisGroup, StaffGrouper.
Fragmentos de código seleccionados
Uso de arpeggioBracket para hacer más visible un divisi
El corchete de arpegios arpeggioBracket
se puede usar para
indicar la división de voces cuando no hay plicas que puedan ofrecer
esta información. Se suele encontrar en la música coral.
\include "english.ly" \score { \relative c'' { \key a \major \time 2/2 << \new Voice = "upper" << { \voiceOne \arpeggioBracket a2( b2 <b d>1\arpeggio) <cs e>\arpeggio ~ <cs e>4 } \addlyrics { \lyricmode { A -- men. } } >> \new Voice = "lower" { \voiceTwo a1 ~ a a ~ a4 \bar "|." } >> } \layout { ragged-right = ##t } }
Véase también
Referencia de la notación: Expresiones como líneas.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Disposiciones de la partitura para música coral ] | [ Up : Música vocal ] | [ Referencias para ópera y musicales > ] |
2.1.6 Ópera y musicales
La música, letra y diálogos de las óperas y musicales se disponen normalmente de una o más de las siguientes formas:
- Una Partitura del director que contiene todas las partes orquestales y vocales, junto a notas guía del libreto si existen pasajes hablados.
- Particellas orquestales que contienen la música de los instrumentos individuales de la orquesta o banda.
- Una Partitura vocal que contiene todas las partes vocales con acompañamiento de piano. El acompañamiento es normalmente una reducción de orquesta, y en este caso es frecuente indicar el nombre del instrumento original de la orquesta. Las partituras vocales a veces incluyen indicaciones de escena y notas guía del libreto.
- Un Libro vocal que contiene sólo las partes vocales (sin acompañamiento), a veces en combinación con el libreto.
- Un Libreto que contiene los diálogos completos que normalmente hay en los musicales, junto a la letra de las partes cantadas. Suelen incluirse también las indicaciones de escena. Se puede utilizar LilyPond para tipografiar libretos, pero dado que no contienen música, puede ser preferible algún método alternativo.
En la sección de referencias que aparece a continuación están relacionadas las secciones de la documentación de LilyPond que se ocupan de los temas necesarios para crear partituras en los estilos habituales de la ópera y los musicales. Después aparecen secciones que cubren las técnicas peculiares de la tipografía musical de las partituras de ópera y de musicales.
Referencias para ópera y musicales | ||
Nombres de los personajes | ||
Guías musicales | ||
Música hablada | ||
Diálogos encima de la música |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Ópera y musicales ] | [ Up : Ópera y musicales ] | [ Nombres de los personajes > ] |
Referencias para ópera y musicales
La gran mayoría de las nociones que aparecen a continuación se pueden aplicar a prácticamente cualquier música orquestal y de conjunto, además de a la música vocal y de escena:
- Una partitura de director contiene muchos pentagramas y legras agrupados. En Agrupar pentagramas se explican maneras de agrupar pentagramas. Para anidar unos grupos dentro de otros, consulte Grupos de pentagramas anidados.
- La impresión de pentagramas vacíos en las partituras del director y vocales se suele inhibir. Para crear estas partituras, conocidas como “Partituras francesas” consulte Ocultar pentagramas.
- La escritura de partituras orquestales se estudia en Escritura de las particellas. Pueden ser de relevancia otras secciones del capítulo de Notación especializada, dependiendo de la orquestación utilizada. Muchos instrumentos son transpositores, consulte Transposición de los instrumentos.
- Si el número de sistemas por página varía de una a otra página, es costumbre separar los sistemas con una marca separadora de sistemas. Véase See Separación de sistemas.
- Para ver detalles acerca de otras propiedades de formateo de las páginas, consulte Disposición de la página.
- Se pueden insertar notas guía de diálogos, instrucciones de escena
y notas al pie, véase Crear notas al pie y Texto.
También se pueden añadir indicaciones de escena extensas con una
sección de elementos de marcado independientes entre dos bloques
\score
, véase Texto separado.
Véase también
Glosario musical: Frenched score, Frenched staves, transposing instrument.
Referencia de la notación: Crear notas al pie, Agrupar pentagramas, Ocultar pentagramas, Transposición de los instrumentos, Grupos de pentagramas anidados, Disposición de la página, Separación de sistemas, Transposición, Escritura de las particellas, Escritura del texto.
Snippets: Vocal music.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para ópera y musicales ] | [ Up : Ópera y musicales ] | [ Guías musicales > ] |
Nombres de los personajes
Se suelen mostrar los nombres de los personajes a la izquierda del pentagrama cuando éste está dedicado a dicho personaje solamente:
\score { << \new Staff { \set Staff.vocalName = \markup \smallCaps Kaspar \set Staff.shortVocalName = \markup \smallCaps Kas. \relative { \clef "G_8" c'4 c c c \break c4 c c c } } \new Staff { \set Staff.vocalName = \markup \smallCaps Melchior \set Staff.shortVocalName = \markup \smallCaps Mel \clef "bass" \relative { a4 a a a a4 a a a } } >> }
Cuando dos o más personajes comparten un pentagrama, el nombre del personaje se suele imprimir encima del pentagrama al principio de cada sección correspondiente a dicho personaje. Esto se puede hacer con elementos de marcado. Con frecuencia se usa un tipo de letra especial para este propósito.
\relative c' { \clef "G_8" c4^\markup \fontsize #1 \smallCaps Kaspar c c c \clef "bass" a4^\markup \fontsize #1 \smallCaps Melchior a a a \clef "G_8" c4^\markup \fontsize #1 \smallCaps Kaspar c c c }
Como alternativa, si hay muchos cambios de personajes, puede ser más fácil establecer variables que contengan las definiciones de cada personaje, para así poder indicar el cambio de personaje de manera fácil y concisa.
kaspar = { \clef "G_8" \set Staff.shortVocalName = "Kas." \set Staff.midiInstrument = "voice oohs" <>^\markup \smallCaps "Kaspar" } melchior = { \clef "bass" \set Staff.shortVocalName = "Mel." \set Staff.midiInstrument = "choir aahs" <>^\markup \smallCaps "Melchior" } \relative c' { \kaspar c4 c c c \melchior a4 a a a \kaspar c4 c c c }
Véase también
Manual de aprendizaje: Organizar las piezas mediante variables.
Referencia de la notación: Texto, Instrucciones de marcado de texto.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Nombres de los personajes ] | [ Up : Ópera y musicales ] | [ Música hablada > ] |
Guías musicales
Se pueden insertar guías musicales en las partituras vocales, en los libros vocales y en las partes orquestales para indicar qué música de otra parte precede inmediatamente a una entrada. Asimismo, las guías se suelen insertar en la reducción de piano en las partituras vocales para indicar lo que está tocando cada parte orquestas. Esto sirve de ayuda al director cuando no está disponible una partitura del director.
El mecanismo básico para insertar guías se explica de forma exhaustiva en el texto principal, véase Citar otras voces y Formateo de las notas guía. Pero cuando se deben insertar muchas guías, por ejemplo, como ayuda para el director en una partitura vocal, el nombre del instrumento se debe colocar cuidadosamente justo antes del comienzo de las notas guía, y cerca de ellas. El siguiente ejemplo muestra cómo se hace esto.
flute = \relative { s4 s4 e'' g } \addQuote "flute" { \flute } pianoRH = \relative { c''4. g8 % position name of cue-ing instrument just before the cue notes, % and above the staff <>^\markup { \right-align { \tiny "Flute" } } \cueDuring "flute" #UP { g4 bes4 } } pianoLH = \relative { c4 <c' e> e, <g c> } \score { \new PianoStaff << \new Staff { \pianoRH } \new Staff { \clef "bass" \pianoLH } >> }
Si un instrumento transpositor se está citando, la parte
instrumental debe especificar la tonalidad de manera que la
conversión de las notas citadas se realice automáticamente. El
ejemplo de abajo muestra esta transposición para un clarinete en
Si bemol. Las notas de este ejemplo son bajas en el pentagrama,
por lo que se especifica DOWN
en \cueDuring
(para
que las plicas se orienten hacia abajo) y el nombre del
instrumento se coloca debajo del pentagrama.
clarinet = \relative c' { \transposition bes fis4 d d c } \addQuote "clarinet" { \clarinet } pianoRH = \relative c'' { \transposition c' % position name of cue-ing instrument below the staff <>_\markup { \right-align { \tiny "Clar." } } \cueDuring "clarinet" #DOWN { c4. g8 } g4 bes4 } pianoLH = \relative { c4 <c' e> e, <g c> } \score { << \new PianoStaff << \new Staff { \new Voice { \pianoRH } } \new Staff { \clef "bass" \pianoLH } >> >> }
A partir de estos dos ejemplos debería quedar claro que insertar muchas notas guía en una partitura vocal puede ser tedioso, y la visión de las notas de la parte de piano quedaría entorpecida. Sin embargo, como muestra el siguiente fragmento de código, es posible definir una función musical para reducir la cantidad de texto que se teclea y para hacer que las notas del piano estén más claras.
Fragmentos de código seleccionados
Añadir notas guía orquestales a una partitura vocal
Este ejemplo muestra una forma de simplificar la adición de muchas
notas guía orquestales a la reducción de piano en una partitura vocal.
La función musical \cueWhile
toma cuatro argumentos: la música
de la que se toma la cita, como viene definida por \addQuote
,
el nombre que insertar antes de las notas guía, y después #UP
o
#DOWN
para especificar \voiceOne
con el nombre encima
del pentagrama o bien \voiceTwo
con el nombre debajo del
pentagrama, y finalmente la música de piano con la que las notas guía
deben aparecer en paralelo. El nombre del instrumento citado se
posiciona a la izquierda de las notas guía. Se pueden citar muchos
pasajes como guía, pero no se pueden superponer en el tiempo entre
ellos.
cueWhile = #(define-music-function (instrument name dir music) (string? string? ly:dir? ly:music?) #{ \cueDuring $instrument #dir { \once \override TextScript.self-alignment-X = #RIGHT \once \override TextScript.direction = $dir <>-\markup { \tiny #name } $music } #}) flute = \relative c'' { \transposition c' s4 s4 e g } \addQuote "flute" { \flute } clarinet = \relative c' { \transposition bes fis4 d d c } \addQuote "clarinet" { \clarinet } singer = \relative c'' { c4. g8 g4 bes4 } words = \lyricmode { here's the lyr -- ics } pianoRH = \relative c'' { \transposition c' \cueWhile "clarinet" "Clar." #DOWN { c4. g8 } \cueWhile "flute" "Flute" #UP { g4 bes4 } } pianoLH = \relative c { c4 <c' e> e, <g c> } \score { << \new Staff { \new Voice = "singer" { \singer } } \new Lyrics { \lyricsto "singer" \words } \new PianoStaff << \new Staff { \new Voice { \pianoRH } } \new Staff { \clef "bass" \pianoLH } >> >> }
Véase también
Glosario musical: cue-notes.
Referencia de la notación: Alineación de objetos, Dirección y posición, Formateo de las notas guía, Citar otras voces, Uso de las funciones musicales.
Fragmentos de código: Vocal music.
Referencia de funcionamiento interno: CueVoice.
Advertencias y problemas conocidos
\cueDuring
inserta automáticamente un contexto
CueVoice
y todas las notas guía se colocan dentro de este
contexto. Ello significa que no es posible tener dos secuencias
de notas guía superpuestas mediante esta técnica. Las secuencias
superpuestas se podrían introducir declarando explícitamente
contextos CueVoice
separados y usando \quoteDuring
para extraer e insertar las notas citadas.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Guías musicales ] | [ Up : Ópera y musicales ] | [ Diálogos encima de la música > ] |
Música hablada
Efectos tales como el ‘parlato’ o el ‘Sprechgesang’ requieren que los intérpretes hablen sin altura definida pero con el ritmo adecuado; la notación de estos estilos se realiza mediante figuras con la cabeza en forma de cruz, como se muestra en Cabezas de nota especiales.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Música hablada ] | [ Up : Ópera y musicales ] | [ Cánticos salmos e himnos > ] |
Diálogos encima de la música
Los diálogos sobre la música se imprimen normalmente por encima de los pentagramas en un estilo inclinado, con el comienzo de cada frase ligado a un momento musical en particular.
Para interjecciones cortas, basta un simple elemento de marcado.
\relative { a'4^\markup { \smallCaps { Alex - } \italic { He's gone } } a a a a4 a a^\markup { \smallCaps { Bethan - } \italic Where? } a a4 a a a }
Para frases más largas puede ser necesario expandir la música de forma que que las palabras quepan holgadamente. No está previsto en LilyPond hacer esto de manera completamente automática, y puede ser necesaria cierta intervención manual sobre la disposición.
Para frases largas o pasajes con un diálogo en disposición apretada, puede dar mejores resultados la utilización de un contexto de letra. El contexto Lyrics no se debe asociar con una voz musical; en vez de ello, cada sección del diálogo recibe una duración explícita. Si hay una pausa en medio del diálogo, se debe separar la palabra final del resto y dividirse la duración entre ellas de forma que la música subyacente reciba un espaciado continuo y adecuado.
Si el diálogo se extiende a más de una línea, será necesario
insertar \break
s manualmente y ajustar la colocación del
diálogo para evitar que se extienda más allá del margen derecho.
La última palabra del último compás de una línea debe separarse
también, como se ha visto antes.
He aquí un ejemplo que ilustra cómo puede hacerse.
music = \relative { \repeat unfold 3 { a'4 a a a } } dialogue = \lyricmode { \markup { \fontsize #1 \upright \smallCaps Abe: "Say this over measures one and" }4*7 "two"4 | \break "and this over measure"4*3 "three"4 | } \score { << \new Lyrics \with { \override LyricText.font-shape = #'italic \override LyricText.self-alignment-X = #LEFT } { \dialogue } \new Staff { \new Voice { \music } } >> }
Véase también
Referencia de la notación: Duración manual de las sílabas, Texto.
Referencia de funcionamiento interno: LyricText.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Diálogos encima de la música ] | [ Up : Música vocal ] | [ Referencias para cánticos y salmos > ] |
2.1.7 Cánticos salmos e himnos
La música y la letra de los cánticos, salmos e himnos suelen seguir un formato bien establecido dentro de cualquier iglesia en particular. Aunque los formatos pueden diferir de una iglesia a otra, los problemas de tipografiado que surgen son bastante similares, y se estudian en esta sección.
Referencias para cánticos y salmos | ||
Preparar un cántico | ||
Puntuación de un salmo | ||
Compases parciales en melodías de himno |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Cánticos salmos e himnos ] | [ Up : Cánticos salmos e himnos ] | [ Preparar un cántico > ] |
Referencias para cánticos y salmos
El tipografiado del canto gregoriano en distintos estilos de notación antigua se describe en Notación antigua.
Véase también
Referencia de la notación: Notación antigua.
Snippets: Vocal music.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para cánticos y salmos ] | [ Up : Cánticos salmos e himnos ] | [ Puntuación de un salmo > ] |
Preparar un cántico
La preparación moderna de los cánticos utiliza notación moderna con un número variable de elementos tomados de la notación antigua. Algunos de los elementos y métodos que considerar se presentan aquí.
Los cánticos usan con frecuencia figuras negras sin plica para indicar la altura, tomando las duraciones del ritmo hablado del texto.
stemOff = { \hide Staff.Stem } \relative c' { \stemOff a'4 b c2 | }
Los cánticos con frecuencia omiten las líneas divisorias o utilizan barras de compás recortadas o discontinuas para indicar pausas en la música. Para omitir todas las barras de compás de todos los pentagramas, suprima completamente el grabador de barras:
\score { \new StaffGroup << \new Staff { \relative { a'4 b c2 | a4 b c2 | a4 b c2 | } } \new Staff { \relative { a'4 b c2 | a4 b c2 | a4 b c2 | } } >> \layout { \context { \Staff \remove Bar_engraver } } }
Las líneas divisorias también se pueden quitar pentagrama a pentagrama:
\score { \new ChoirStaff << \new Staff \with { \remove Bar_engraver } { \relative { a'4 b c2 | a4 b c2 | a4 b c2 | } } \new Staff { \relative { a'4 b c2 | a4 b c2 | a4 b c2 | } } >> }
Para suprimir las líneas divisorias sólo de una sección de música,
trátela como si fuera una cadencia. Si la sección es larga,
podría necesitar insertar líneas divisorias “mudas” con
\bar ""
para indicar dónde se debe producir el salto de
línea.
\relative a' { a4 b c2 | \cadenzaOn a4 b c2 a4 b c2 \bar "" a4 b c2 a4 b c2 \cadenzaOff a4 b c2 | a4 b c2 | }
Los silencios o pausas en los cánticos pueden indicarse mediante barras de compás modificadas.
\relative a' { a4 \cadenzaOn b c2 a4 b c2 \bar "'" a4 b c2 a4 b c2 \bar ";" a4 b c2 \bar "!" a4 b c2 \bar "||" }
Como alternativa, se usa a veces la notación del canto gregoriano
para las pausas o silencios, aunque el resto de la notación sea
moderna. Este ejemplo utiliza una marca \breathe
modificada:
divisioMinima = { \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-minima \once \override BreathingSign.Y-offset = #0 \breathe } divisioMaior = { \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maior \once \override BreathingSign.Y-offset = #0 \breathe } divisioMaxima = { \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maxima \once \override BreathingSign.Y-offset = #0 \breathe } finalis = { \once \override BreathingSign.stencil = #ly:breathing-sign::finalis \once \override BreathingSign.Y-offset = #0 \breathe } \score { \relative { g'2 a4 g \divisioMinima g2 a4 g \divisioMaior g2 a4 g \divisioMaxima g2 a4 g \finalis } \layout { \context { \Staff \remove Bar_engraver } } }
Los cánticos suelen omitir la indicación de compás y con frecuencia omiten la clave también.
\score { \new Staff { \relative { a'4 b c2 | a4 b c2 | a4 b c2 | } } \layout { \context { \Staff \remove Bar_engraver \remove Time_signature_engraver \remove Clef_engraver } } }
Los cánticos de salmos en la tradición anglicana suelen ser sencillos, con siete compases de música, o dobles, con dos períodos de siete compases. Cada grupo de siete compases se divide en dos mitades, que corresponden a las dos mitades de cada verso, normalmente separados mediante una doble línea divisoria. Sólo se utilizan redondas y blancas. El primer compás de cada mitad siempre contiene un único acorde en redondas. Ésta es la “nota de recitado”. Los cánticos se suelen centrar sobre la página.
SopranoMusic = \relative { g'1 | c2 b | a1 | \bar "||" a1 | d2 c | c b | c1 | \bar "||" } AltoMusic = \relative { e'1 | g2 g | f1 | f1 | f2 e | d d | e1 | } TenorMusic = \relative { c'1 | c2 c | c1 | d1 | g,2 g | g g | g1 | } BassMusic = \relative { c1 | e2 e | f1 | d1 | b2 c | g' g | c,1 | } global = { \time 2/2 } % Use markup to center the chant on the page \markup { \fill-line { \score { % centered << \new ChoirStaff << \new Staff << \global \clef "treble" \new Voice = "Soprano" << \voiceOne \SopranoMusic >> \new Voice = "Alto" << \voiceTwo \AltoMusic >> >> \new Staff << \clef "bass" \global \new Voice = "Tenor" << \voiceOne \TenorMusic >> \new Voice = "Bass" << \voiceTwo \BassMusic >> >> >> >> \layout { \context { \Score \override SpacingSpanner.base-shortest-duration = \musicLength 2 } \context { \Staff \remove Time_signature_engraver } } } % End score } } % End markup
Otros enfoques para la preparación de este cántico se muestran en el primero de los siguientes fragmentos de código.
Fragmentos de código seleccionados
Notación de responsos o salmos
Este tipo de notación se utiliza para los cantos salmódicos, en que las estrofas no siempre tienen la misma longitud.
stemOff = \hide Staff.Stem stemOn = \undo \stemOff \score { \new Staff \with { \remove "Time_signature_engraver" } { \key g \minor \cadenzaOn \stemOff a'\breve bes'4 g'4 \stemOn a'2 \section \stemOff a'\breve g'4 a'4 \stemOn f'2 \section \stemOff a'\breve^\markup { \italic flexe } \stemOn g'2 \fine } }
Los cánticos y otros textos litúrgicos pueden disponerse de una forma más libre, y posiblemente usen elementos notacionales tomados de la música antigua. Con frecuencia la letra se imprime por debajo y alineada con las notas. En este caso, las notas se disponen espaciadas de acuerdo con las sílabas en vez de hacerlo con las duraciones de las notas.
Plantilla para notación de música antigua (transcripción moderna de canto gregoriano)
Este ejemplo muestra cómo hacer una transcripción moderna de canto gregoriano. El canto gregoriano no tiene compás ni plicas; utiliza solamente cabezas de nota de blanca y de negra, y unas marcas especiales que indican silencios de distintas longitudes.
chant = \relative c' { \set Score.timing = ##f f4 a2 \divisioMinima g4 b a2 f2 \divisioMaior g4( f) f( g) a2 \finalis } verba = \lyricmode { Lo -- rem ip -- sum do -- lor sit a -- met } \score { \new GregorianTranscriptionStaff << \new GregorianTranscriptionVoice = "melody" \chant \new GregorianTranscriptionLyrics = "one" \lyricsto melody \verba >> }
Véase también
Manual de aprendizaje: Visibilidad y color de los objetos, Plantillas de conjuntos vocales.
Referencia de la notación: Notación antigua, Barras de compás, Modificar los complementos (plug-ins) de contexto, Tipografiado del canto gregoriano, Música sin compasear, Visibilidad de los objetos.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Preparar un cántico ] | [ Up : Cánticos salmos e himnos ] | [ Compases parciales en melodías de himno > ] |
Puntuación de un salmo
El texto de un salmo anglicano se suele imprimir en versos separados debajo del canto.
Los cantos sencillos (con siete compases) se repiten para cada verso. Los cantos dobles (con 14 compases) se repiten para cada par de versos. Se insertan marcas dentro del texto para indicar la forma en que encajan con el canto. Cada verso se divide en dos mitades. Se suele utilizar un signo de dos puntos para indicar esta división. Esto corresponde a la doble línea divisoria de la música. El texto antes de los dos puntos se canta con los tres primeros compases de la música; el texto después de los dos puntos se canta con los últimos cuatro compases.
Se insertan líneas de compás simples (o en algunos casos una coma
invertida u otro símbolo similar) entre el texto para indicar
dónde caen las líneas divisorias de la música. En el modo de
marcado, se puede introducir una línea de compás simple con el
símbolo de comprobación de compás, la barra vertical, |
.
\markup { \fill-line { \column { \left-align { \line { O come let us sing | unto the | Lord : let } \line { us heartily rejoice in the | strength of | our } \line { sal- | -vation. } } } } }
Otros símbolos pueden requerir glifos de las fuentes tipográficas
fetaMusic
. Para ver más detalles, consulte
Tipografías.
tick = \markup { \raise #1 \fontsize #-5 \musicglyph "scripts.rvarcomma" } \markup { \fill-line { \column { \left-align { \line { O come let us sing \tick unto the \tick Lord : let } \line { us heartily rejoice in the \tick strength of \tick our } \line { sal \tick vation. } } } } }
Donde hay una redonda en un compás, todo el texto que corresponde a ese compás se recita sobre esa nota en el ritmo de la palabra. Donde hay dos notas en un compás, suele haber solamente una o dos sílabas correspondientes. Si hay más de dos sílabas, se suele insertar un punto para indicar dónde se produce el cambio de nota.
dot = \markup { \raise #0.7 \musicglyph "dots.dot" } tick = \markup { \raise #1 \fontsize #-5 \musicglyph "scripts.rvarcomma" } \markup { \fill-line { \column { \left-align { \line { O come let us sing \tick unto \dot the \tick Lord : let } \line { us heartily rejoice in the \tick strength of \tick our } \line { sal \tick vation. } } } } }
En algunos salterios (libros de salmos) se usa un asterisco para indicar un corte en una sección recitada en lugar de una coma y las sílabas acentuadas o ligeramente alargadas se indican en estilo negrita.
dot = \markup { \raise #0.7 \musicglyph "dots.dot" } tick = \markup { \raise #1 \fontsize #-5 \musicglyph "scripts.rvarcomma" } \markup { \fill-line { \column { \left-align { \line { Today if ye will hear his voice * } \line { \concat { \bold hard en } | not your | hearts : as in the pro- } \line { vocation * and as in the \bold day of tempt- | } \line { -ation | in the | wilderness. } } } } }
En otros salterios se coloca un acento sobre la sílaba para indicar el énfasis.
tick = \markup { \raise #2 \fontsize #-5 \musicglyph "scripts.rvarcomma" } \markup { \fill-line { \column { \left-align { \line { O come let us \concat { si \combine \tick ng } | unto the | Lord : let } \line { us heartily \concat { rejo \combine \tick ice } in the | strength of | our } \line { sal- | -vation. } } } } }
El uso del marcado para centrar texto y para disponer las líneas en columnas se describe en Formatear el texto.
Casi todos estos elementos se muestran en uno u otro de los dos versos en la plantilla, véase Salmos.
Véase también
Manual de aprendizaje: Salmos, Plantillas de conjuntos vocales.
Referencia de la notación: Tipografías, Formatear el texto.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Puntuación de un salmo ] | [ Up : Cánticos salmos e himnos ] | [ Música vocal antigua > ] |
Compases parciales en melodías de himno
Con frecuencia las melodías de himno comienzan y terminan cada
línea de música con compases parciales de forma que cada línea de
música corresponde exactamente con una línea de texto. Esto
requiere una instrucción \partial
al principio de la música
e instrucciones \bar "|"
ó \bar "||"
al final de
cada línea.
Plantilla para himnos
Este fragmento de código muestra una forma de preparar un himno cuando cada línea comienza con un compás parcial. También muestra cómo añadir los versos como texto independiente debajo de la música.
Timeline = { \time 4/4 \tempo 4=96 \partial 2 s2 | s1 | s2 \breathe s2 | s1 | s2 \caesura \break s2 | s1 | s2 \breathe s2 | s1 | s2 \fine } SopranoMusic = \relative g' { g4 g | g g g g | g g g g | g g g g | g2 g4 g | g g g g | g g g g | g g g g | g2 } AltoMusic = \relative c' { d4 d | d d d d | d d d d | d d d d | d2 d4 d | d d d d | d d d d | d d d d | d2 } TenorMusic = \relative a { b4 b | b b b b | b b b b | b b b b | b2 b4 b | b b b b | b b b b | b b b b | b2 } BassMusic = \relative g { g4 g | g g g g | g g g g | g g g g | g2 g4 g | g g g g | g g g g | g g g g | g2 } global = { \key g \major } \score { % Start score << \new PianoStaff << % Start pianostaff \new Staff << % Start Staff = RH \global \clef "treble" \new Voice = "Soprano" << % Start Voice = "Soprano" \Timeline \voiceOne \SopranoMusic >> % End Voice = "Soprano" \new Voice = "Alto" << % Start Voice = "Alto" \Timeline \voiceTwo \AltoMusic >> % End Voice = "Alto" >> % End Staff = RH \new Staff << % Start Staff = LH \global \clef "bass" \new Voice = "Tenor" << % Start Voice = "Tenor" \Timeline \voiceOne \TenorMusic >> % End Voice = "Tenor" \new Voice = "Bass" << % Start Voice = "Bass" \Timeline \voiceTwo \BassMusic >> % End Voice = "Bass" >> % End Staff = LH >> % End pianostaff >> } % End score \markup { \fill-line { "" { \column { \left-align { "This is line one of the first verse" "This is line two of the same" "And here's line three of the first verse" "And the last line of the same" } } } "" } } \layout { \context { \Score caesuraType = #'((bar-line . "||")) fineBarType = "||" } } \paper { % Start paper block indent = 0 % don't indent first system line-width = 130 % shorten line length to suit music tagline = ##f % Don't print tag line, can be removed } % End paper block
2.1.8 Música vocal antigua
Está contemplada la música vocal en estilo de tipografía antiguo, como se explica en Notación antigua.
Véase también
Referencia de la notación: Notación antigua.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Música vocal antigua ] | [ Up : Notación especializada ] | [ Notación común para instrumentos de teclado > ] |
2.2 Teclados y otros instrumentos de varios pentagramas
Esta sección se ocupa de varios aspectos de la notación musical que son exclusivos de los instrumentos de teclado y otros instrumentos cuya notación se realiza sobre varios pentagramas, como el arpa o el vibráfono. A los efectos de nomenclatura, en esta sección se denominan abreviadamente “teclados” a todo este grupo de instrumentos de varios pentagramas, aunque algunos de ellos no tienen teclado.
2.2.1 Notación común para instrumentos de teclado | ||
2.2.2 Piano | ||
2.2.3 Acordeón | ||
2.2.4 Arpa |
2.2.1 Notación común para instrumentos de teclado
Esta sección trata aspectos de notación que pueden aparecer en casi todos los instrumentos de teclado.
Referencias para teclados | ||
Cambiar de pentagrama manualmente | ||
Cambiar de pentagrama automáticamente | ||
Líneas de cambio de pentagrama |
Referencias para teclados
La notación de los instrumentos de teclado se suele realizar con
sistemas de piano. Éstos son dos pentagramas normales agrupados
mediante una llave. También se utiliza esta notación para otros
instrumentos de teclado. La música de órgano se escribe
normalmente con dos pentagramas dentro de un grupo
PianoStaff
y un tercer pentagrama normal para los pedales.
Los pentagramas son hasta cierto punto independientes, pero a veces las voces pueden cruzarse entre los dos pentagramas. Esta sección trata técnicas de notación que son particulares de la música de teclado.
En otros lugares se tratan varios problemas comunes de la música de teclado:
- La música para teclado suele contener varias voces y el número de éstas puede variar ampliamente; esto se describe en Resolución de las colisiones.
- La música para teclado se puede escribir en paralelo, como se describe en Escribir música en paralelo.
- Los matices dinámicos se pueden colocar en un contexto
Dynamics
, entre los dos contextosStaff
para alinear las indicaciones de matiz sobre una línea horizontal equidistante de los dos pentagramas; véase Matices dinámicos. - Las digitaciones se indican como puede verse en Indicaciones de digitación.
- Las indicaciones de pedal de órgano se insertan como articulaciones, véase Lista de articulaciones.
- Las líneas verticales de rejilla se pueden mostrar como se describe en Líneas de rejilla.
- La música para teclado incluye con frecuencia ligaduras Laissez vibrer así como ligaduras sobre arpegios y trémolos, descritos en Ligaduras de unión.
- La colocación de arpegios a través de varias voces y pentagramas se cubre en Arpegio.
- Las indicaciones de trémolo se describen en Repeticiones de trémolo.
- Varios de los trucos que pueden ser necesarios en música para teclado se muestran en Ejemplos reales de música.
- Las notas ocultas se pueden usar para producir ligaduras de unión que se cruzan entre voces, como se explica en Otras aplicaciones de los trucos.
Véase también
Manual de aprendizaje: Ejemplos reales de música, Otras aplicaciones de los trucos.
Referencia de la notación: Agrupar pentagramas, Nombres de instrumentos, Resolución de las colisiones, Escribir música en paralelo, Indicaciones de digitación, Lista de articulaciones, Líneas de rejilla, Ligaduras de unión, Arpegio, Repeticiones de trémolo.
Referencia de funcionamiento interno: PianoStaff.
Fragmentos de código: Keyboards.
Cambiar de pentagrama manualmente
Las voces se pueden cambiar de pentagrama manualmente usando la instrucción
\change Staff = nombre_del_pentagrama
La cadena nombre_del_pentagrama es el nombre del pentagrama.
Cambia la voz actual de su pentagrama en curso al pentagrama de
nombre nombre_del_pentagrama. Los valores más corrientes
para nombre_del_pentagrama son "arriba"
y
"abajo"
, o bien "MD"
y "MI"
.
El pentagrama al que salta la voz debe existir en el momento del
salto. Si es necesario, los pentagramas se tienen que
“mantener con vida”, véase Mantener vivos los contextos,
o instanciados explícitamente, por ejemplo mediante la utilización
del acorde vacío, <>
, véase Notas en acorde.
\new PianoStaff << \new Staff = "up" { % enforce creation of all contexts at this point of time <> \change Staff = "down" c2 \change Staff = "up" c'2 } \new Staff = "down" { \clef bass % keep staff alive s1 } >>
Las notas de pentagrama cruzado reciben la barra automáticamente:
\new PianoStaff << \new Staff = "up" { <e' c'>8 \change Staff = "down" g8 fis g \change Staff = "up" <g'' c''>8 \change Staff = "down" e8 dis e \change Staff = "up" } \new Staff = "down" { \clef bass % keep staff alive s1 } >>
Si el barrado necesita algún trucaje, efectúe en primer lugar los cambios en las direcciones de las plicas. Las posiciones de las barras se miden posteriormente a partir del centro del pentagrama que está más cerca de la barra. Para ver un ejemplo sencillo de trucaje de las barras, consulte Arreglar notación con superposiciones.
Se puede producir una superposición en la notación cuando las voces se cruzan de un pentagrama a otro:
\new PianoStaff << \new Staff = "up" { \voiceOne % Make space for fingering in the cross-staff voice \once\override DynamicLineSpanner.staff-padding = #4 e''2\p\< d''\> c''1\! } \new Staff = "down" << { \clef bass s4. e,8\rest g,2\rest c1 } \\ { c8\( g c' \change Staff = "up" e' g' b'-3 a' g'\) f'1 } >> >>
La plica y la ligadura de expresión se superponen a la línea del símbolo de dinámica porque la resolución automática de colisiones se suspende para las barras, ligaduras y otros objetos de extensión que conectan notas situadas en distintos pentagramas, así como para las plicas y articulaciones si su colocación está afectada por un objeto de extensión de pentagrama cruzado. Las colisiones resultantes se pueden resolver manualmente donde sea necesario, utilizando los métodos descritos en la sección Arreglar notación con superposiciones.
Véase también
Manual de aprendizaje: Arreglar notación con superposiciones.
Referencia de la notación: Plicas, Barras automáticas, Mantener vivos los contextos.
Fragmentos de código: Keyboards.
Referencia de funcionamiento interno: Beam, ContextChange.
Advertencias y problemas conocidos
El mecanismo para evitar las colisiones de barras de corchea no funciona para las barras automáticas que terminan justo antes de un cambio de pauta. En este caso, utilice barras manuales.
Cambiar de pentagrama automáticamente
Se puede hacer que las voces cambien automáticamente entre los pentagramas inferior y superior. La sintaxis para conseguir esto es
\autoChange …música…
Esto creará dos pentagramas dentro del grupo actual de pentagramas
(normalmente un PianoStaff
), llamados "up"
(arriba)
y "down"
(abajo). El pentagrama inferior estará en clave
de Fa de forma predeterminada. El cambiador automático hace el
cambio basándose en la altura (el Do central es el punto de
inflexión), y se adelanta saltando sobre los silencios para hacer
cambios por adelantado.
\new PianoStaff { \autoChange { g4 a b c' d'4 r a g } }
Se pueden especificar otras notas para el punto de corte. Si los pentagramas no han sido instanciados de forma explícita, se pueden usar otras claves.
music = { g8 b a c' b8 d' c'8 e' d'8 r f' g' a'2 } \autoChange d' \music \autoChange b \with { \clef soprano } \music \autoChange d' \with { \clef alto } \with { \clef tenor } \music
Una sección marcada \relative
que se encuentra fuera de
\autoChange
no tiene efecto sobre las notas de la música;
por tanto, en caso necesario escriba \relative
dentro de
\autoChange
.
Si se necesita más control sobre los pentagramas individuales, se
pueden crear manualmente con los nombres "up"
y
"down"
. Entonces, la instrucción \autoChange
alternará su voz entre los pentagramas existentes.
Nota: Si se crean los pentagramas manualmente, se deben
llamar "up"
y "down"
(en inglés).
Por ejemplo, esto es necesario para colocar una armadura de tonalidad en el pentagrama inferior:
\new PianoStaff << \new Staff = "up" { \new Voice = "melodiaUno" { \key g \major \autoChange \relative { g8 b a c b d c e d8 r fis, g a2 } } } \new Staff = "down" { \key g \major \clef bass } >>
Véase también
Referencia de la notación: Cambiar de pentagrama manualmente.
Fragmentos de código: Keyboards.
Advertencias y problemas conocidos
Los cambios de pentagrama pueden no acabar en lugares óptimos. Para conseguir una salida de alta calidad es mejor especificar manualmente los cambios de pentagrama.
Los acordes no se dividen entre los pentagramas; se asignan a un pentagrama en función de la primera nota nombrada dentro de la construcción del acorde.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Cambiar de pentagrama automáticamente ] | [ Up : Notación común para instrumentos de teclado ] | [ Piano > ] |
Líneas de cambio de pentagrama
Cuando una voz cambia a otro pentagrama, se puede imprimir automáticamente una línea que conecte las notas:
\new PianoStaff << \new Staff = "one" { \showStaffSwitch c'1 \change Staff = "two" b2 a } \new Staff = "two" { \clef bass s1*2 } >>
Una línea de cambio de pauta entre acordes conecta las “últimas notas” de cada uno de ellos según se han escrito en el archivo de entrada; Esto se puede usar para ajustar rápidamente las posiciones verticales del comienzo y el final de la línea.
\new PianoStaff << \new Staff = "one" { <c' e' g'>1 \showStaffSwitch \change Staff = "two" <a c' f>1 \hideStaffSwitch \change Staff = "one" <e' g' c'>1 \showStaffSwitch \change Staff = "two" <f a c'>1 } \new Staff = "two" { \clef bass s1*4 } >>
Instrucciones predefinidas
\showStaffSwitch
,
\hideStaffSwitch
.
Véase también
Fragmentos de código: Keyboards.
Referencia de funcionamiento interno: Note_head_line_engraver, VoiceFollower.
Fragmentos de código seleccionados
Plicas de pentagrama cruzado
Este fragmento de código muestra el uso del grabador
Span_stem_engraver
y de \crossStaff
para conectar
automáticamente plicas de un pentagrama a otro. No es necesario
especificar la longitud de la plica porque la distancia variable entre
las cabezas de las notas y los pentagramas se calcula automáticamente.
\layout { \context { \PianoStaff \consists "Span_stem_engraver" } } \new PianoStaff << \new Staff { <b d'>4 r d'16\> e'8. g8 r\! | e'8 f' g'4 \voiceTwo % Down to lower staff \crossStaff { e'8 e'8 } e'4 | } \new Staff { \clef bass \voiceOne % Up to upper staff \crossStaff { <e g>4 e, g16 a8. c8 } d | g8 f g4 \voiceTwo g8 g g4 | } >>
Por el momento no se puede especificar este grabador por su nombre
entre comillas, sino prefijando el nombre con un símbolo de
almohadilla (#
), a causa de la manera en que está
implementado.
Indicar acordes de pentagrama cruzado con corchetes de arpegio
Un corchete de arpegio puede indicar que se tienen que tocar con la
misma mano notas que están en dos pentagramas distintos. Para hacerlo,
el PianoStaff
se debe configurar para que acepte símbolos de
arpegio de pentagrama cruzado y los símbolos de arpegio se deben
configurar a la forma de corchete en el contexto de PianoStaff
.
(Debussy, Les collines d’Anacapri, m. 65)
\new PianoStaff << \set PianoStaff.connectArpeggios = ##t \override PianoStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket \new Staff { \relative c' { \key b \major \time 6/8 b8-.(\arpeggio fis'-.\> cis-. e-. gis-. b-.)\!\fermata^\laissezVibrer \bar "||" } } \new Staff { \relative c' { \clef bass \key b \major << { <a e cis>2.\arpeggio } \\ { <a, e a,>2. } >> } } >>
Véase también
Fragmentos de código: Keyboards.
Referencia de funcionamiento interno: Stem.
2.2.2 Piano
Esta sección trata de aspectos de la notación directamente relacionados con el piano.
Pedales de piano |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Piano ] | [ Up : Piano ] | [ Acordeón > ] |
Pedales de piano
En general, los pianos tienen tres pedales que alteran la forma de producir el sonido: el pedal de mantenimiento (pedal derecho o pedal forte), el pedal sostenuto (sos., pedal central) y el pedal una corda (U.C., pedal izquierdo). Los pedales de mantenimiento como el pedal derecho del piano se encuentran también en el vibráfono y en la celesta.
\relative { c''4\sustainOn d e g <c, f a>1\sustainOff c4\sostenutoOn e g c, <bes d f>1\sostenutoOff c4\unaCorda d e g <d fis a>1\treCorde }
Existen tres estilos de indicaciones de pedal: textual, corchete y mixta. El pedal derecho y el pedal de una corda utilizan el estilo textual de forma predeterminada, mientras que el pedal sostenuto utiliza el método mixto de forma predeterminada.
\relative { c''4\sustainOn g c2\sustainOff \set Staff.pedalSustainStyle = #'mixed c4\sustainOn g c d d\sustainOff\sustainOn g, c2\sustainOff \set Staff.pedalSustainStyle = #'bracket c4\sustainOn g c d d\sustainOff\sustainOn g, c2 \bar "|." }
La colocación de las instrucciones de pedal se corresponden con el movimiento físico del pedal derecho en el transcurso de la ejecución. La pedalización hasta la barra final de compás se indica mediante la omisión de la instrucción final de levantar el pedal.
Las indicaciones de pedal se pueden poner dentro de un contexto
Dynamics
, que los alinea sobre una línea horizontal.
Véase también
Referencia de la notación: Ligaduras de unión.
Fragmentos de código: Keyboards.
Referencia de funcionamiento interno: SustainPedal, SustainPedalLineSpanner, SustainEvent, SostenutoPedal, SostenutoPedalLineSpanner, SostenutoEvent, UnaCordaPedal, UnaCordaPedalLineSpanner, UnaCordaEvent, PianoPedalBracket, Piano_pedal_engraver.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Pedales de piano ] | [ Up : Teclados y otros instrumentos de varios pentagramas ] | [ Símbolos de Discanto > ] |
2.2.3 Acordeón
Esta sección se ocupa de la notación que es exclusiva del acordeón.
Símbolos de Discanto |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Acordeón ] | [ Up : Acordeón ] | [ Arpa > ] |
Símbolos de Discanto
Los acordeones se suelen construir con más de un conjunto de lengüetas que pueden estar al unísono, una octava por encima, o una octava por debajo de la altura escrita. Cada fabricante de acordeones utiliza distintos nombres para los cambios que seleccionan las distintas combinaciones de lengüetas, como oboe, musette o bandoneón, de manera que ha entrado en uso un sistema de signos para simplificar las instrucciones de ejecución.
Puede verse una lista completa de todos los registros de acordeón disponibles en Registros de acordeón
Fragmentos de código seleccionados
Accordion register symbols
Accordion register symbols are available as \markup
as well as
as standalone music events (as register changes tend to occur between
actual music events). Bass registers are not overly standardized. The
available commands can be found in ’Discant symbols’ in the Notation
Reference.
#(use-modules (lily accreg)) \new PianoStaff << \new Staff \relative { \clef treble \discant "10" r8 s32 f'[ bes f] s e[ a e] s d[ g d] s16 e32[ a] << { r16 <f bes> r <e a> r <d g> } \\ { d r a r bes r } >> | <cis e a>1 } \new Staff \relative { \clef treble \freeBass "1" r8 d'32 s16. c32 s16. bes32 s16. a32[ cis] s16 \clef bass \stdBass "Master" << { r16 <f, bes d>^"b" r <e a c>^"am" r <d g bes>^"gm" | <e a cis>1^"a" } \\ { d8_"D" c_"C" bes_"B" | a1_"A" } >> } >>
Véase también
Fragmentos de código: Keyboards.
2.2.4 Arpa
Esta sección trata sobre asuntos de notación específicos del arpa.
Referencias para notación de arpa | ||
Pedales de arpa |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Arpa ] | [ Up : Arpa ] | [ Pedales de arpa > ] |
Referencias para notación de arpa
Ciertas características comunes de la música de arpa se estudian en otras partes de la documentación:
- El glissando es la técnica más característica del arpa, Glissando.
- El bisbigliando se escribe como un trémolo, Repeticiones de trémolo.
- Los armónicos naturales se estudian bajo el epígrafe Armónicos.
- Para los arpegios dirigidos y los no arpegios, véase Arpegio.
Véase también
Referencia de la notación: Repeticiones de trémolo, Glissando, Arpegio, Armónicos.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para notación de arpa ] | [ Up : Arpa ] | [ Instrumentos de cuerda sin trastes > ] |
Pedales de arpa
Las arpas tienen siete cuerdas por octava que pueden sonar a la altura natural, bemol o sostenido. En el arpa de palancas o arpa celta, cada cuerda se ajusta individualmente, pero en las arpas de pedales todas las cuerdas con igual nombre de nota se controlan por un único pedal. Visto de izquierda a derecha desde la posición del ejecutante, los pedales son Re, Do y Si a la izquierda y Mi, Fa, Sol y La a la derecha. La posición de los pedales se puede indicar con indicaciones textuales:
\textLengthOn cis''1_\markup \concat \vcenter { [D \flat C \sharp B|E \sharp F \sharp G A \flat] } c''!1_\markup \concat \vcenter { [ C \natural ] }
o mediante diagramas de pedal:
\textLengthOn cis''1_\markup { \harp-pedal "^v-|vv-^" } c''!1_\markup { \harp-pedal "^o--|vv-^" }
La instrucción \harp-pedal
acepta una cadena de caracteres
en la que ^
es la posición alta del pedal (altura bemol),
-
es la posición intermedia (altura natural), v
es
la posición baja (altura sostenido), y |
es la línea
vertical separadora. Si se antepone o
, el siguiente
símbolo de pedal se rodea por una elipse.
Véase también
Referencia de la notación: Guiones de texto, Instrument-specific markup.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Pedales de arpa ] | [ Up : Notación especializada ] | [ Notación común para cuerdas sin trastes > ] |
2.3 Instrumentos de cuerda sin trastes
Esta sección aporta información y referencias que resultan útiles si se escribe música para instrumentos de cuerda sin trastes, principalmente instrumentos de cuerda orquestales.
2.3.1 Notación común para cuerdas sin trastes |
2.3.1 Notación común para cuerdas sin trastes
Hay poca notación especializada para los instrumentos de cuerdas sin trastes. La notación de la música se realiza en un solo pentagrama, y se suele usar una sola voz. Se pueden necesitar dos voces para algunos pasajes en dobles cuerdas o en divisi.
Referencias para cuerdas sin trastes | ||
Indicaciones de arco | ||
Armónicos | ||
Snap (Bartók) pizzicato |
Referencias para cuerdas sin trastes
La mayor parte de la notación que resulta de utilidad para las cuerdas orquestales y otros instrumentos de arco se estudia en otras partes del manual:
- Las indicaciones textuales como “pizz.” y “arco” se añaden como texto simple: véase Guiones de texto.
- Las digitaciones, entre ellas la indicación de pulgar, se describen en Indicaciones de digitación.
- Se pueden añadir números de cuerda (en general como números romanos para los instrumentos de cuedra frotada) como se explica en Indicación de los números de cuerda.
- Las dobles cuerdas se indican normalmente escribiendo un acorde, véase Notas en acorde. Hay otras indicaciones que se pueden añadir para la interpretación de acordes, véase Arpegio.
- Hay plantillas para cuarteto de cuerda en Plantillas de cuarteto de cuerda. Otras se muestran en la sección de fragmentos de código.
Véase también
Manual de aprendizaje: Plantillas de cuarteto de cuerda.
Referencia de la notación: Guiones de texto, Indicaciones de digitación, Notas en acorde, Arpegio.
Fragmentos de código: Unfretted strings.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para cuerdas sin trastes ] | [ Up : Notación común para cuerdas sin trastes ] | [ Armónicos > ] |
Indicaciones de arco
Las indicaciones de arco se crean como articulaciones, que se describen en Articulaciones y ornamentos.
Las instrucciones de arco \upbow
(arco arriba) y
\downbow
(arco abajo) se usan con ligaduras de expresión de
la siguiente manera:
\relative { c''4(\downbow d) e(\upbow f) }
Se pueden usar números romanos para los números de cuerda (en sustitución de la opción predeterminada, que son cifras arábigas rodeadas por un círculo), tal y como se explica en Indicación de los números de cuerda.
Como alternativa, se pueden imprimir las indicaciones de cuerda mediante instrucciones de marcado; los símbolos de articulación también pueden indicar cuerdas al aire.
a'4 \open \romanStringNumbers a'\2 a'2^\markup { \small "sul A" }
Instrucciones predefinidas
\downbow
,
\upbow
,
\open
,
\romanStringNumbers
.
Véase también
Referencia de la notación: Articulaciones y ornamentos, Indicación de los números de cuerda, Ligaduras de expresión.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Indicaciones de arco ] | [ Up : Notación común para cuerdas sin trastes ] | [ Snap (Bartók) pizzicato > ] |
Armónicos
Armónicos naturales
La notación de los armónicos naturales se puede realizar de varias formas. Generalmente, una nota con la cabeza en forma de rombo significa tocar (sin apretar) la cuerda en el lugar donde se pisaría la nota si no fuese un rombo.
\relative d'' { d4 e4. \harmonicsOn d8 e e d4 e4. \harmonicsOff d8 e e }
Como posibilidad alternativa está la de mostrar una cabeza normal de nota en la altura de la nota que debe sonar, con un pequeño círculo que indica que se debe tocar como armónico:
d''2^\flageolet d''_\flageolet
Se puede hacer un círculo de menor tamaño, véase la lista de fragmentos de código en Referencias para cuerdas sin trastes.
Armónicos artificiales
La notación de los armónicos artificiales se realiza con dos notas, una con una cabeza normal que indica la posición donde se pisa, y otra con una cabeza en forma de rombo hueco para indicar la posición donde se roza la cuerda (sin pisar) para producir el armónico.
Los armónicos artificiales indicados con \harmonic
no
presentan los puntillos. La propiedad de contexto
harmonicDots
se debe activar si se necesitan los puntillos.
\relative e' { <e a\harmonic>2. <c g'\harmonic>4 \set harmonicDots = ##t <e a\harmonic>2. <c g'\harmonic>4 }
Véase también
Glosario musical: harmonics.
Referencia de la notación: Cabezas de nota especiales, Referencias para cuerdas sin trastes.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Armónicos ] | [ Up : Notación común para cuerdas sin trastes ] | [ Instrumentos de cuerda con trastes > ] |
Snap (Bartók) pizzicato
El snap pizzicato (conocido también como “pizzicato de Bartók”) es un tipo de pizzicato en el que la cuerda se pulsa hacia arriba (y no lateralmente) de forma deliberada, de forma que golpea la madera del diapasón.
\relative { c'4\snappizzicato <c' e g>4\snappizzicato <c' e g>4^\snappizzicato <c, e g>4_\snappizzicato }
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Snap (Bartók) pizzicato ] | [ Up : Notación especializada ] | [ Notación común para cuerdas con trastes > ] |
2.4 Instrumentos de cuerda con trastes
Esta sección trata varios aspectos de la notación musical que son exclusivos de los instrumentos de cuerda con trastes.
2.4.1 Notación común para cuerdas con trastes | ||
2.4.2 Guitarra | ||
2.4.3 Banjo | ||
2.4.4 Laúd |
2.4.1 Notación común para cuerdas con trastes
Esta sección se ocupa de la notación común exclusiva de los instrumentos de cuerda con trastes.
Referencias para cuerdas con trastes
La notación musical para instrumentos de cuerda con trastes se
realiza normalmente en una sola pauta, ya sea en notación musical
tradicional o en tablatura. A veces se combinan los dos tipos, y
es común en música popular utilizar diagramas de acordes por
encima de un pentagrama de notación tradicional. La guitarra y el
banjo son instrumentos transpositores, que suenan una octava por
debajo de lo escrito. Las partituras para estos instrumentos
deben usar la clave de Sol octava baja "treble_8"
(o
\transposition c
para obtener una salida MIDI correcta).
Otros elementos relativos a los instrumentos de cuerda con trastes
se estudian en otras partes de manual:
- Las digitaciones se indican como se explica en Indicaciones de digitación.
- Las instrucciones para ligaduras Laissez vibrer así como ligaduras de unión sobre arpegios y trémolos están en Ligaduras de unión.
- Las instrucciones para el manejo de varias voces se encuentran en Resolución de las colisiones.
- Las instrucciones para la indicación de armónicos está en Armónicos.
Véase también
Referencia de la notación: Indicaciones de digitación, Ligaduras de unión, Resolución de las colisiones, Nombres de instrumentos, Escribir música en paralelo, Arpegio, Lista de articulaciones, Clave, Transposición de los instrumentos.
Indicación de los números de cuerda
Se puede indicar la cuerda en que se debe tocar una nota añadiendo
\
número a una nota.
\clef "treble_8" c4\5 e\4 g2\3 <c\5 e\4 g\3>1
Cuando se usan al mismo tiempo digitaciones e indicaciones del número de cuerda, su colocación se puede controlar por el orden en que aparecen estos elementos en el código solamente si aparecen dentro de un acorde explícito: aplicado a acordes completos o notas individuales fuera de acordes, las digitaciones se colocan usando un mecanismo distinto.
\clef "treble_8" g4\3-0 g-0\3 <g\3-0> <g-0\3>
Los números de cuerda también pueden (así como en los instrumentos sin trastes, donde es obligatorio) imprimirse en números romanos y colocarse bajo el pentagrama, en lugar de encima de él.
\clef "treble_8" c'2\2 a\3 \romanStringNumbers c'\2 \set stringNumberOrientations = #'(down) a\3 \arabicStringNumbers g1\4
Fragmentos de código seleccionados
Controlar la colocación de las digitaciones de acordes
Se puede controlar con precisión la colocación de los números de digitación. Para que se tenga en cuenta la orientación de las digitaciones, se debe utilizar dentro de una construcción de acorde <> aunque sea una sola nota. Se puede establecer la orientación para los números de cuerda y las digitaciones de la mano derecha de una forma similar.
\relative c' { \set fingeringOrientations = #'(left) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down right up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(left) <c-1>2 \set fingeringOrientations = #'(down) <e-3>2 \set stringNumberOrientations = #'(up left down) <f\3 a\2 c\1>1 \set strokeFingerOrientations = #'(down right up) <c\rightHandFinger 1 e\rightHandFinger 2 c'\rightHandFinger 4 > }
Permitir que las digitaciones se impriman dentro del pentagrama
Las cifras de digitación orientadas verticalmente se colocan de forma predeterminada fuera del pentagrama. Sin embargo, este comportamiento se puede cancelar. Hay que prestar atención en situaciones en las que las digitaciones y las plicas están en la misma dirección: por defecto, las digitaciones solo evitan la colisión con plicas unidas por una barra. Se puede cambiar este ajuste para no evitar ninguna plica o evitarlas todas; el ejemplo siguiente muestra las dos copciones, así como la manera de volver al comportamiento predeteminado.
\relative c' { <c-1 e-2 g-3 b-5>2 \override Fingering.staff-padding = #'() <c-1 e-2 g-3 b-5>4 g'-0 a8[-1 b]-2 g-0 r \override Fingering.add-stem-support = ##f a[-1 b]-2 g-0 r \override Fingering.add-stem-support = ##t a[-1 b]-2 g-0 r \override Fingering.add-stem-support = #only-if-beamed a[-1 b]-2 g-0 r }
Instrucciones predefinidas
\arabicStringNumbers
,
\romanStringNumbers
.
Véase también
Referencia de la notación: Indicaciones de digitación.
Fragmentos de código: Fretted strings.
Referencia de funcionamiento interno: StringNumber, Fingering.
Tablaturas predeterminadas
La notación para instrumentos de cuerda pulsada se realiza con frecuencia utilizando un sistema de dedos y cifras, o tablatura. A diferencia de la notación tradicional, las notas no se designan mediante figuras, sino mediante números (o símbolos semejantes a letras en la intavolatura histórica). Las líneas de la tablatura indican sobre qué cuerda se debe tocar la nota, y el número sobre una línea indica el traste en que la cuerda correspondiente debe pisarse. Las notas que se deben tocar simultáneamente se alinean en sentido vertical.
De forma predeterminada, la cuerda 1 es la más aguda y corresponde
a la línea superior de la pauta TabStaff
. La afinación
predeterminada de las cuerdas del TabStaff
es la afinación
estándar de guitarra (con 6 cuerdas). Las notas se imprimen como
tablatura, usando los contextos TabStaff
y TabVoice
.
Se añade automáticamente una clave caligráfica de tablatura.
\new TabStaff \relative { a,8 a' <c e> a d,8 a' <d f> a }
Las tablaturas predeterminadas no contienen símbolos para la duración de las notas ni ningún otro símbolo musical, como p.ej. indicaciones expresivas.
symbols = { \time 3/4 c4-.^"Allegro" d( e) f4-.\f g a^\fermata \mark \default c8_.\<\( c16 c~ 2\! c'2.\prall\) } \score { << \new Staff { \clef "G_8" \symbols } \new TabStaff { \symbols } >> }
Si queremos que todos los símbolos musicales que se usan en la
notación tradicional aparezcan también en la tablatura, tenemos
que aplicar la instrucción \tabFullNotation
dentro de un
contexto TabStaff
. Tenga en cuenta que, en la tablatura,
las blancas tienen doble plica para poder distinguirlas de las
negras.
symbols = { \time 3/4 c4-.^"Allegro" d( e) f4-.\f g a^\fermata \mark \default c8_.\<\( c16 c~ 2\! c'2.\prall\) } \score { \new TabStaff { \tabFullNotation \symbols } }
De forma predeterminada, las notas se asignan a la posición más
baja del mástil (primera posición). Las cuerdas al aire se toman
como preferencia, automáticamente. Si queremos que una nota
determinada se toque sobre una cuerda concreta, podemos añadir una
indicación de número de cuerda al nombre de la nota. Si no
queremos que las indicaciones de número de cuerda aparezcan en la
notación tradicional, podemos sobreescribir el sello
correspondiente. Generalmente es mucho más cómodo definir la
posición utilizando el valor de minimumFret
. El valor
predeterminado de es 0.
Incluso si minimumFret
está establecido, se usan las
cuerdas al aire siempre que sea posible. Este comportamiento se
puede cambiar fijando restrainOpenStrings
al valor
#t
.
\layout { \omit Voice.StringNumber } \new StaffGroup << \new Staff \relative { \clef "treble_8" \time 2/4 c16 d e f g4 c,16\5 d\5 e\4 f\4 g4\4 c,16 d e f g4 } \new TabStaff \relative { c16 d e f g4 c,16\5 d\5 e\4 f\4 g4\4 \set TabStaff.minimumFret = #5 \set TabStaff.restrainOpenStrings = ##t c,16 d e f g4 } >>
Las construcciones de acorde se pueden repetir mediante el símbolo
de repetición de acordes q
. En combinación con las
tablaturas, su comportamiento de eliminar números de cuerda y de
dedos junto a otros eventos es fastidioso, por lo que quizá quiera
ejecutar
\chordRepeats #'(string-number-event fingering-event)
explícitamente sobre expresiones musicales en las tablaturas que
utilicen Repetición de acordes. Esta instrucción en
particular es tan común que está disponible como
\tabChordRepeats
.
guitar = \relative { r8 <gis-2 cis-3 b-0>~ q4 q8~ 8 q4 } \new StaffGroup << \new Staff { \clef "treble_8" \guitar } \new TabStaff { \tabChordRepeats \guitar } >>
Las ligaduras de unión que cruzan saltos de línea llevan paréntesis de forma predeterminada. Lo mismo rige para la casilla de segunda vez de una repetición.
ties = \relative { \repeat volta 2 { e'2. f4~ 2 g2~ } \alternative { { g4 f2. } { g4\repeatTie c,2. } } b1~ \break b1 \bar "|." } \score { << \new StaffGroup << \new Staff { \clef "treble_8" \ties } \new TabStaff { \ties } >> >> \layout { indent = #0 ragged-right = ##t } }
La instrucción \hideSplitTiedTabNotes
cancela el
comportamiento de imprimir los números de traste entre paréntesis:
ties = \relative { \repeat volta 2 { e'2. f4~ 2 g2~ } \alternative { { g4 f2. } { g4\repeatTie c,2. } } b1~ \break b1 \bar "|." } \score { << \new StaffGroup << \new Staff { \clef "treble_8" \ties } \new TabStaff { \hideSplitTiedTabNotes \ties } >> >> \layout { indent = #0 ragged-right = ##t } }
Se pueden añadir indicaciones de armónicos a la notación de tablatura como sus alturas de sonido:
\layout { \omit Voice.StringNumber } firstHarmonic = { d'4\4\harmonic g'4\3\harmonic b'2\2\harmonic } \score { << \new Staff { \clef "treble_8" \firstHarmonic } \new TabStaff { \firstHarmonic } >> }
Observe que la instrucción \harmonic
se debe adjuntar
siempre a notas individuales (posiblemente dentro de un acorde) en
lugar de a acordes completos. Sólo tiene sentido para armónicos
sobre una cuerda abierta en el duodécimo traste. Cualquier otro
armónico debe estar calculado por parte de LilyPond. Se puede
conseguir esto indicando el traste en que debe rozar la cuerda el
dedo de la mano que pisa.
fretHarmonics = { \harmonicByFret #5 d16\4 \harmonicByFret #4 d16\4 \harmonicByFret #3 d8\4 \harmonicByFret #5 <g\3 b\2>2. } \score { << \new Staff { \clef "treble_8" \fretHarmonics } \new TabStaff { \fretHarmonics } >> }
De forma alternativa, se pueden calcular los armónicos definiendo la razón de las longitudes de cuerda por encima y por debajo de la digitación de armónico.
ratioHarmonics = { \harmonicByRatio #1/2 <g\3 b\2 e'\1>4 \harmonicByRatio #1/3 <g\3 b\2 e'\1>4 \harmonicByRatio #1/4 { g8\3 b8\2 e'4\1 } } \score { << \new Staff { \clef "treble_8" \ratioHarmonics } \new TabStaff { \ratioHarmonics } >> }
Fragmentos de código seleccionados
Comportamiento de las plicas y las barras de corchea en tablaturas
La dirección de las plicas se controla de la misma forma en la tablatura que en la notación tradicional. Las barras se pueden poner horizontales, como se muestra en este ejemplo.
\new TabStaff { \relative c { \tabFullNotation g16 b d g b d g b \stemDown \override Beam.concaveness = 10000 g,,16 b d g b d g b } }
Polifonía en tablaturas
La polifonía se crea de la misma forma en un TabStaff
que
en una pauta normal.
upper = \relative c' { \time 12/8 \key e \minor \voiceOne r4. r8 e, fis g16 b g e e' b c b a g fis e } lower = \relative c { \key e \minor \voiceTwo r16 e d c b a g4 fis8 e fis g a b c } \score { << \new StaffGroup = "tab with traditional" << \new Staff = "guitar traditional" << \clef "treble_8" \new Voice = "upper" \upper \new Voice = "lower" \lower >> \new TabStaff = "guitar tab" << \new TabVoice = "upper" \upper \new TabVoice = "lower" \lower >> >> >> }
Referencia para armónicos sobre cuerdas al aire
Referencia para armónicos sobre cuerdas al aire (armónicos naturales):
openStringHarmonics = { \textSpannerDown \override TextSpanner.staff-padding = 3 \override TextSpanner.dash-fraction = 0.3 \override TextSpanner.dash-period = 1 %first harmonic \override TextSpanner.bound-details.left.text = \markup\small "1st harm. " \harmonicByFret 12 e,2\6\startTextSpan \harmonicByRatio #1/2 e,\6\stopTextSpan %second harmonic \override TextSpanner.bound-details.left.text = \markup\small "2nd harm. " \harmonicByFret 7 e,\6\startTextSpan \harmonicByRatio #1/3 e,\6 \harmonicByFret 19 e,\6 \harmonicByRatio #2/3 e,\6\stopTextSpan %\harmonicByFret 19 < e,\6 a,\5 d\4 > %\harmonicByRatio #2/3 < e,\6 a,\5 d\4 > %third harmonic \override TextSpanner.bound-details.left.text = \markup\small "3rd harm. " \harmonicByFret 5 e,\6\startTextSpan \harmonicByRatio #1/4 e,\6 \harmonicByFret 24 e,\6 \harmonicByRatio #3/4 e,\6\stopTextSpan \break %fourth harmonic \override TextSpanner.bound-details.left.text = \markup\small "4th harm. " \harmonicByFret 4 e,\6\startTextSpan \harmonicByRatio #1/5 e,\6 \harmonicByFret 9 e,\6 \harmonicByRatio #2/5 e,\6 \harmonicByFret 16 e,\6 \harmonicByRatio #3/5 e,\6\stopTextSpan %fifth harmonic \override TextSpanner.bound-details.left.text = \markup\small "5th harm. " \harmonicByFret 3 e,\6\startTextSpan \harmonicByRatio #1/6 e,\6\stopTextSpan \break %sixth harmonic \override TextSpanner.bound-details.left.text = \markup\small "6th harm. " \harmonicByFret 2.7 e,\6\startTextSpan \harmonicByRatio #1/7 e,\6\stopTextSpan %seventh harmonic \override TextSpanner.bound-details.left.text = \markup\small "7th harm. " \harmonicByFret 2.3 e,\6\startTextSpan \harmonicByRatio #1/8 e,\6\stopTextSpan %eighth harmonic \override TextSpanner.bound-details.left.text = \markup\small "8th harm. " \harmonicByFret 2 e,\6\startTextSpan \harmonicByRatio #1/9 e,\6\stopTextSpan } \score { << \new Staff \with { \omit StringNumber } { \new Voice { \clef "treble_8" \openStringHarmonics } } \new TabStaff { \new TabVoice { \openStringHarmonics } } >> } \paper { tagline = ##f }
Armónicos sobre cuerdas pisadas en tablatura
Armónicos sobre cuerdas pisadas (armónicos artificiales):
pinchedHarmonics = { \textSpannerDown \override TextSpanner.bound-details.left.text = \markup {\halign #-0.5 \teeny "PH" } \override TextSpanner.style = #'dashed-line \override TextSpanner.dash-period = 0.6 \override TextSpanner.bound-details.right.attach-dir = 1 \override TextSpanner.bound-details.right.text = \markup { \draw-line #'(0 . 1) } \override TextSpanner.bound-details.right.padding = -0.5 } harmonics = { % artificial harmonics (AH) \textLengthOn <\parenthesize b b'\harmonic>4_\markup { \teeny "AH 16" } <\parenthesize g g'\harmonic>4_\markup { \teeny "AH 17" } <\parenthesize d' d''\harmonic>2_\markup { \teeny "AH 19" } % pinched harmonics (PH) \pinchedHarmonics <a'\harmonic>2\startTextSpan <d''\harmonic>4 <e'\harmonic>4\stopTextSpan % tapped harmonics (TH) <\parenthesize g\4 g'\harmonic>4_\markup { \teeny "TH 17" } <\parenthesize a\4 a'\harmonic>4_\markup { \teeny "TH 19" } <\parenthesize c'\3 c''\harmonic>2_\markup { \teeny "TH 17" } % touch harmonics (TCH) a4( <e''\harmonic>2. )_\markup { \teeny "TCH" } } frettedStrings = { % artificial harmonics (AH) \harmonicByFret 4 g4\3 \harmonicByFret 5 d4\4 \harmonicByFret 7 g2\3 % pinched harmonics (PH) \harmonicByFret 7 d2\4 \harmonicByFret 5 d4\4 \harmonicByFret 7 a4\5 % tapped harmonics (TH) \harmonicByFret 5 d4\4 \harmonicByFret 7 d4\4 \harmonicByFret 5 g2\3 % touch harmonics (TCH) a4 \harmonicByFret 9 g2.\3 } \score { << \new Staff \with { \omit StringNumber } { \new Voice { \clef "treble_8" \harmonics } } \new TabStaff { \new TabVoice { \frettedStrings } } >> }
Deslizamientos en tablatura
Los deslizamientos se pueden componer tipográficamente tanto en los
contextos de Staff
como en los de TabStaff
:
slides = { c'8\3(\glissando d'8\3) c'8\3\glissando d'8\3 \hideNotes \grace { g16\glissando } \unHideNotes c'4\3 \afterGrace d'4\3\glissando { \stemDown \hideNotes g16 } \unHideNotes } \score { << \new Staff { \clef "treble_8" \slides } \new TabStaff { \slides } >> \layout { \context { \Score \override Glissando.minimum-length = 4 \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods \override Glissando.thickness = 2 \omit StringNumber % or: %\override StringNumber.stencil = ##f } } }
Glissando de acordes en tablatura
Los deslizamientos para acordes se indican por omisión tanto en el contexto
Staff
como en TabStaff
. Los números de cuerda son
necesarios para TabStaff porque los cálculos de cuerda automáticos son
diferentes para los acordes y para notas sueltas.
myMusic = \relative c' { <c e g>1 \glissando <f a c> <cis, eis gis>1 \glissando <f a c> <cis eis gis>1 \glissando <f a c\3> } \score { << \new Staff { \clef "treble_8" \omit StringNumber \myMusic } \new TabStaff \myMusic >> } \score { << \new Staff { \clef "treble_8" \omit StringNumber \myMusic } \new TabStaff \with { \override Glissando.style = #'none } { \myMusic } >> } \paper { tagline = ##f }
Hammer on and pull off
Hammer-on and pull-off can be obtained using slurs.
\new TabStaff { \relative c' { d4( e\2) a( g) } }
Hammer on and pull off using voices
The arc of hammer-on and pull-off is upwards in voices one and three and downwards in voices two and four:
\new TabStaff { \relative c' { << { \voiceOne g2( a) } \\ { \voiceTwo a,( b) } >> \oneVoice } }
Hammer on and pull off using chords
When using hammer-on or pull-off with chorded notes, only a single arc
is drawn. However “double arcs” are possible by setting the
doubleSlurs
property to #t
.
\new TabStaff { \relative c' { % chord hammer-on and pull-off \set doubleSlurs = ##t <g' b>8( <a c> <g b>) } }
Véase también
Referencia de la notación: Repetición de acordes, Repeticiones explícitas, Plicas, Armónicos, Glissando.
Fragmentos de código: Fretted strings.
Referencia de funcionamiento interno: TabNoteHead, TabStaff, TabVoice, Beam.
Advertencias y problemas conocidos
Los acordes no se tratan de una forma especial, y de aquí que el selector automático de la cuerda puede elegir fácilmente la misma cuerda para dos notas del acorde.
Para manejar \partCombine
, es necesario que TabStaff
utilice voces especialmente creadas:
melodia = \partCombine { e4 g g g } { e4 e e e } << \new TabStaff << \new TabVoice = "one" s1 \new TabVoice = "two" s1 \new TabVoice = "shared" s1 \new TabVoice = "solo" s1 { \melodia } >> >>
Los efectos especiales de guitarra se limitan a armónicos y slides.
Tablaturas personalizadas
La tablatura en LilyPond calcula automáticamente el traste para
cada nota, basándose en la cuerda a que está asignada la nota.
Para hacerlo, es necesario especificar la afinación de las
cuerdas. La afinación de las cuerdas se da en la propiedad
stringTunings
.
LilyPond trae afinaciones predefinidas para el banjo, la mandolina, la guitarra, el bajo, el ukelele, el violín, la viola, el violoncello y el contrabajo. LilyPond establece automáticamente la transposición correcta para las afinaciones predefinidas. El ejemplo siguiente es para bajo, que suena una octava por debajo de lo escrito.
<< \new Voice \with { \omit StringNumber } { \clef "bass_8" \relative { c,4 d e f } } \new TabStaff \with { stringTunings = #bass-tuning } { \relative { c,4 d e f } } >>
La afinación por omisión es guitar-tuning
(la afinación
estándar Mi-La-Re-Sol-Si-Mi). Otras afinaciones predefinidas son
guitar-open-g-tuning
(Sol Mayor al aire,
Re-Sol-Re-Sol-Si-Re), mandolin-tuning
(mandolina) y
banjo-open-g-tuning
(banjo con Sol Mayor al aire). Las
afinaciones predefinidas están en
ly/string-tunings-init.ly.
Es posible crear cualquier afinación de cuerdas que se desee. Se
puede usar la función \stringTuning
para definir una
afinación de cuerdas y que puede usarse para establecerla como el
valor de stringTunings
para el contexto actual.
Su argumento es una construcción de acorde que define la altura de
las notas de cada cuerda al aire en dicha afinación. La
construcción de acorde debe estar en el modo de octava absoluto,
véase Escritura de octava absoluta. La cuerda con el número
más alto (generalmente la más grave) debe ir primero en el acorde.
Por ejemplo, podemos definir una afinación para un instrumento de
cuatro cuerdas con las alturas a''
, d''
, g'
y
c'
:
mynotes = { c'4 e' g' c'' | e''4 g'' b'' c''' } << \new Staff { \clef treble \mynotes } \new TabStaff { \set Staff.stringTunings = \stringTuning <c' g' d'' a''> \mynotes } >>
La propiedad stringTunings
también se utiliza por parte de
FretBoards
para calcular los diagramas de posición
automáticos.
Las afinaciones de cuerdas se utilizan como parte de la clave de asociación para los diagramas de posición predefinidos (véase Diagramas predefinidos de trastes).
El ejemplo anterior también se podría haber escrito como sigue:
custom-tuning = \stringTuning <c' g' d'' a''> mynotes = { c'4 e' g' c'' | e''4 g'' b'' c''' } << \new Staff { \clef treble \mynotes } \new TabStaff { \set TabStaff.stringTunings = #custom-tuning \mynotes } >>
Internamente, una afinación de las cuerdas es una lista de Scheme de alturas, una por cada cuerda, ordenadas de 1 a N, donde la cuerda 1 está arriba en la pauta de tablatura y la cuerda N está abajo. Esto resulta generalmente en un orden de la nota más aguda a la más grave, pero algunos instrumentos (p.ej. el ukelele) no tienen las cuerdas dispuestas en orden de altura.
La altura de una cuerda dentro de una lista de alturas de cuerdas
es un objeto altura de LilyPond. Los objetos altura se crean con
la función de Scheme ly:make-pitch
(véase
Funciones de Scheme).
\stringTuning
crea dicho objeto a partir de la entrada de
acordes.
LilyPond calcula automáticamente el número de líneas dentro del
TabStaff
y el número de cuerdas dentro de un
FretBoard
calculado automáticamente como el número de
elementos de stringTunings
.
Para permitir a todos los contextos TabStaff usar la misma afinación personalizada por omisión, podemos usar
\layout { \context { \TabStaff stringTunings = \stringTuning <c' g' d'' a''> } }
También se puede usar una clave moderna de tablatura.
\new TabStaff { \clef moderntab <a, e a>1 \break \clef tab <a, e a>1 }
La clave moderna de tablatura contempla tablaturas de 4 a 7 cuerdas.
Ua pauta de tablatura TabStaff
puede contener intervalos
microtonales como cuartos de tono, que se pueden reproducir
mediante eventos de la rueda de cambio de tono. Es necesario
fijar el valor supportNonIntegerFret = ##t
dentro del
contexto Score. Sin embargo, los microtonos no están contemplados
en los diagramas FretBoards
.
\layout { \context { \Score supportNonIntegerFret = ##t } } custom-tuning = \stringTuning <e, a, d ges beh eeh'> mus = \relative { eeses'4 eeseh ees eeh e eih eis eisih eisis } << \new Staff << \clef "G_8" \mus >> \new TabStaff \with { stringTunings = \custom-tuning } \mus >>
Véase también
Referencia de la notación: Escritura de octava absoluta, Diagramas predefinidos de trastes.
Archivos instalados: ly/string-tunings-init.ly, scm/tablature.scm.
Fragmentos de código: Fretted strings.
Referencia de funcionamiento interno: Tab_note_heads_engraver, Funciones de Scheme.
Advertencias y problemas conocidos
Los cálculos de tablatura automáticos no funcionan bien en la mayoría de los casos para instrumentos en que la afinación de las cuerdas no varía de forma monótona con el número de cuerda, como el ukelele.
Marcas de diagramas de trastes
Se pueden añadir diagramas de trastes a la música como elementos de marcado sobre la nota deseada. El marcado contiene información sobre el diagrama de trastes deseado. Existen tres interfaces distintos de marcado de diagramas de trastes: standard (estándar), terse (escueto) y verbose (prolijo). Los tres interfaces producen marcados equivalentes, pero tienen cantidades variables de información en la cadena de marcado. Hay más detalles sobre la sintaxis de las distintos cadenas de marcado que se usan para definir diagramas de posiciones en Instrument-specific markup.
La cadena de marcado de los diagramas estándar de trastes indica el número de la cuerda y el número de traste en que se coloca cada uno de los puntos sobre la cuerda. Además se pueden indicar cuerdas al aire y cuerdas mudas (que no se tocan).
<< \new ChordNames { \chordmode { c1 d:m } } \new Staff { \clef "treble_8" <c e g c' e'>1^\markup { \fret-diagram "6-x;5-3;4-2;3-o;2-1;1-o;" } <d a d' f'>1^\markup { \fret-diagram "6-x;5-x;4-o;3-2;2-3;1-1;" } } >>
Las indicaciones de cejilla se pueden añadir al diagrama a partir de la cadena de marcado del diagrama de trastes.
<< \new ChordNames { \chordmode { f1 g } } \new Staff { \clef "treble_8" <f, c f a c' f'>1^\markup { \fret-diagram "c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;" } <g, d g b d' g'>1^\markup { \fret-diagram "c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;" } } >>
El tamaño del diagrama de trastes y el número de trastes del
diagrama, se puede cambiar en la cadena de marcado
fret-diagram
.
<< \new ChordNames { \chordmode { f1 g } } \new Staff { \clef "treble_8" <f, c f a c' f'>1^\markup { \fret-diagram "s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;" } <g, b, d g b g'>1^\markup { \fret-diagram "h:6;6-3;5-2;4-o;3-o;2-o;1-3;" } } >>
Se puede cambiar el número de cuerdas de un diagrama de trastes para que se adapte a distintos instrumentos como el bajo y el ukelele, con la cadena de marcado del diagrama.
<< \new ChordNames { \chordmode { a1 } } \new Staff { % An 'A' chord for ukulele a'1^\markup { \fret-diagram "w:4;4-2-2;3-1-1;2-o;1-o;" } } >>
Se pueden añadir indicaciones de digitación, y la posición de las etiquetas de los dedos se puede controlar mediante la cadena de marcado del diagrama.
<< \new ChordNames { \chordmode { c1 d:m } } \new Staff { \clef "treble_8" <c e g c' e'>1^\markup { \fret-diagram "f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;" } <d a d' f'>1^\markup { \fret-diagram "f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;" } } >>
Se puede controlar el radio y la posición de los puntos con la
cadena de marcado fret-diagram
.
<< \new ChordNames { \chordmode { c1 d:m } } \new Staff { \clef "treble_8" <c e g c' e'>1^\markup { \fret-diagram "d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;" } <d a d' f'>1^\markup { \fret-diagram "p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;" } } >>
Se pueden imprimir diagramas de trastes de acordes invertidos para personas zurdas.
\markup \center-column { "C" "(left-handed)" \override #`(fret-diagram-details . ((handedness . ,LEFT))) \fret-diagram "6-x;5-3-3;4-2-2;3-o;2-1;1-o;" }
La cadena de marcado de diagrama de trastes escueta,
fret-diagram-terse
, omite los números de la cuerda; el
número de cuerda viene implícito por la presencia del punto y
coma. Hay un punto y coma por cada cuerda del diagrama. El
primer punto y coma corresponde al número de cuerda más alto, y el
último punto y coma corresponde a la primera cuerda. Se pueden
indicad cuerdas mudas, al aire y números de traste.
<< \new ChordNames { \chordmode { c1 d:m } } \new Staff { \clef "treble_8" <c e g c' e'>1^\markup { \fret-diagram-terse "x;3;2;o;1;o;" } <d a d' f'>1^\markup { \fret-diagram-terse "x;x;o;2;3;1;" } } >>
Se pueden incluir números de cejilla en la cadena de marcado
escueta fret-diagram-terse
.
<< \new ChordNames { \chordmode { f1 g } } \new Staff { \clef "treble_8" <f, c f a c' f'>1^\markup { \fret-diagram-terse "1-(;3;3;2;1;1-);" } <g, d g b d' g'>1^\markup { \fret-diagram-terse "3-(;5;5;4;3;3-);" } } >>
Se pueden incluir indicaciones de digitación en la cadena de
marcado escueta fret-diagram-terse
<< \new ChordNames { \chordmode { c1 d:m } } \new Staff { \override Voice.TextScript.fret-diagram-details.finger-code = #'below-string \clef "treble_8" <c e g c' e'>1^\markup { \fret-diagram-terse "x;3-3;2-2;o;1-1;o;" } <d a d' f'>1^\markup { \fret-diagram-terse "x;x;o;2-2;3-3;1-1;" } } >>
Otras propiedades de los diagramas de trastes se deben ajustar
usando \override
al utilizar el marcado escueto con
fret-diagram-terse.
Solo se puede incluir una indicación por cada cuerda en un marcado del tipo fret-diagram-terse. Para tener más de una indicación por cuerda, utilice un marcado de diagrama normal o del tipo prolijo.
La cadena de marcado prolija fret-diagram-verbose
está en
el formato de una lista de Scheme. Cada elemento de la lista
indica la colocación un elemento sobre el diagrama de trastes.
<< \new ChordNames { \chordmode { c1 d:m } } \new Staff { \clef "treble_8" <c e g c' e'>1^\markup { \fret-diagram-verbose #'( (mute 6) (place-fret 5 3) (place-fret 4 2) (open 3) (place-fret 2 1) (open 1) ) } <d a d' f'>1^\markup { \fret-diagram-verbose #'( (mute 6) (mute 5) (open 4) (place-fret 3 2) (place-fret 2 3) (place-fret 1 1) ) } } >>
Se pueden incluir digitaciones y cejillas en una cadena de marcado
prolija fret-diagram-verbose
. Es exclusiva del interfaz de
fret-diagram-verbose la indicación ‘capo’ que se puede colocar
sobre el diagrama de posición. La indicación de capo es una barra
gruesa que cubre todas las cuerdas. El traste que tiene el capo
es el más bajo del diagrama de posición.
Los puntos que indican las digitaciones se pueden tanto colorear como imprimir entre paréntesis; asimismo, es posible alterar independientemente el color de los paréntesis.
También se pueden insertar elementos de marcado dentro de los puntos.
<< \new ChordNames { \chordmode { f1 g c c b } } \new Staff { \clef "treble_8" \override Voice.TextScript .fret-diagram-details.finger-code = #'below-string <f, c f a c' f'>1^\markup { \fret-diagram-verbose #'( (place-fret 6 1) (place-fret 5 3) (place-fret 4 3) (place-fret 3 2) (place-fret 2 1) (place-fret 1 1) (barre 6 1 1) ) } <g, b, d g b g'>1^\markup { \fret-diagram-verbose #'( (place-fret 6 3 2) (place-fret 5 2 1) (open 4) (open 3) (open 2) (place-fret 1 3 3) ) } <c g c' e' g'>1^\markup { \fret-diagram-verbose #'( (capo 3) (mute 6) (place-fret 4 5 1) (place-fret 3 5 2) (place-fret 2 5 3) ) } \override Voice.TextScript.size = 1.4 <c g c' e' g'>1^\markup { \fret-diagram-verbose #'( (place-fret 6 3 1 red parenthesized default-paren-color) (place-fret 5 3 1 inverted) (place-fret 4 5 2 blue parenthesized) (place-fret 3 5 3 blue) (place-fret 2 5 4 blue) (place-fret 1 3 1 inverted) ) } \override Voice.TextScript.size = 1.5 <b, fis b dis' fis'>1^\markup \override #'(fret-diagram-details . ((finger-code . in-dot))) \fret-diagram-verbose #`( (place-fret 5 2 1) (place-fret 4 4 "fis" red) (place-fret 3 4 "b" red) (place-fret 2 4 ,#{ \markup \concat { \vcenter "d" \fontsize #-5 \musicglyph "accidentals.sharp"} #} red) (place-fret 1 2 1) ) } >>
Todas las otras propiedades de diagrama de trastes se deben
ajustar utilizando \override
cuando se usa el marcado
prolijo con fret-diagram-verbose.
El aspecto gráfico de un diagrama de trastes se puede personalizar
según las preferencias del usuario a través de las propiedades del
interface fret-diagram-interface
. Los detalles están en
fret-diagram-interface. Para un marcado de diagrama
de trastes, las propiedades del interface pertenecen a
Voice.TextScript
.
Fragmentos de código seleccionados
Modificar la orientación de los trastes
Los diagramas de posiciones de acordes se pueden orientar de tres formas. De manera predeterminada se alinena la cuerda o traste superior en las distintas alineaciones.
\include "predefined-guitar-fretboards.ly" << \chords { c1 c1 c1 } \new FretBoards { \chordmode { c1 \override FretBoard.fret-diagram-details.orientation = #'landscape c1 \override FretBoard.fret-diagram-details.orientation = #'opposing-landscape c1 } } \new Voice { c'1 c'1 c' } >>
Personalizar diagramas de posiciones de marcado
Se pueden establecer las propiedades de los diagramas de
posiciones a través de 'fret-diagram-details
. Para los
diagramas de posiciones de marcado, se pueden aplicar overrides
(sobreescrituras) al objeto Voice.TextScript
o directamente al elemento de marcado.
<< \chords { c1 | c | c | d } \new Voice = "mel" { \textLengthOn % Set global properties of fret diagram \override TextScript.size = 1.2 \override TextScript.fret-diagram-details.finger-code = #'in-dot \override TextScript.fret-diagram-details.dot-color = #'white %% C major for guitar, no barre, using defaults % terse style c'1^\markup { \fret-diagram-terse "x;3-3;2-2;o;1-1;o;" } %% C major for guitar, barred on third fret % verbose style % size 1.0 % roman fret label, finger labels below string, straight barre c'1^\markup { % standard size \override #'(size . 1.0) { \override #'(fret-diagram-details . ( (number-type . roman-lower) (finger-code . in-dot) (barre-type . straight))) { \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) } } } %% C major for guitar, barred on third fret % verbose style % landscape orientation, arabic numbers, M for mute string % no barre, fret label down or left, small mute label font c'1^\markup { \override #'(fret-diagram-details . ( (finger-code . below-string) (number-type . arabic) (label-dir . -1) (mute-string . "M") (orientation . landscape) (barre-type . none) (xo-font-magnification . 0.4) (xo-padding . 0.3))) { \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) } } %% simple D chord % terse style % larger dots, centered dots, fewer frets % label below string d'1^\markup { \override #'(fret-diagram-details . ( (finger-code . below-string) (dot-radius . 0.35) (dot-position . 0.5) (fret-count . 3))) { \fret-diagram-terse "x;x;o;2-1;3-2;2-3;" } } } >>
Véase también
Referencia de la notación: Instrument-specific markup.
Fragmentos de código: Fretted strings.
Referencia de funcionamiento interno: fret-diagram-interface.
Diagramas predefinidos de trastes
Se pueden imprimir los diagramas de trastes usando el contexto
FretBoards
. De forma predeterminada, el contexto
FretBoards
imprime diagramas de trastes que están
almacenados en una tabla de búsqueda:
\include "predefined-guitar-fretboards.ly" \new FretBoards { \chordmode { c1 d } }
Los diagramas de traste predefinidos están en el archivo
predefined-guitar-fretboards.ly. Los diagramas de trastes
se almacenan tomando como base las notas de un acorde y el valor
de stringTunings
que se está utilizando en cada momento.
predefined-guitar-fretboards.ly contiene diagramas de
traste predefinidos sólo para guitar-tuning
. Los diagramas
de traste predefinidos se pueden añadir para otros instrumentos u
otras afinaciones siguiendo los ejemplos que aparecen en
predefined-guitar-fretboards.ly.
Los diagramas de posiciones para el ukelele están en el archivo
predefined-ukulele-fretboards.ly.
\include "predefined-ukulele-fretboards.ly" myChords = \chordmode { a1 a:m a:aug } \new ChordNames { \myChords } \new FretBoards { \set Staff.stringTunings = #ukulele-tuning \myChords }
Los diagramas de posiciones para la mandolina
están contenidos en el archivo
predefined-mandolin-fretboards.ly.
\include "predefined-mandolin-fretboards.ly" myChords = \chordmode { c1 c:m7.5- c:aug } \new ChordNames { \myChords } \new FretBoards { \set Staff.stringTunings = #mandolin-tuning \myChords }
Las notas de los acordes se pueden introducir como música simultánea o bien usando el modo de acordes (véase Panorámica del modo de acordes).
\include "predefined-guitar-fretboards.ly" \new FretBoards { \chordmode { c1 } <c' e' g'>1 }
Es corriente que se impriman juntos los nombres de acorde y los
diagramas de traste. Esto se puede hacer poniendo un contexto de
nombres de acorde ChordNames
en paralelo con un contexto de
trastes FretBoards
y dando a los dos contextos el mismo
contenido musical.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode { c1 f g } << \new ChordNames { \mychords } \new FretBoards { \mychords } >>
Los diagramas de traste predefinidos se pueden transportar, en la medida en que esté almacenado un diagrama para el acorde transportado, en la tabla de diagramas de traste.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode{ c1 f g } mychordlist = { \mychords \transpose c e { \mychords } } << \new ChordNames { \mychordlist } \new FretBoards { \mychordlist } >>
La tabla de diagramas de traste predefinidos para la guitarra contiene ocho acordes (mayor, menor, aumentado, disminuido, séptima dominante, séptima mayor, menor séptima y novena domniante) para 17 tonalidades distintas. La tabla de diagramas predefinidos para el ukelele contiene estos acordes y además otros tres (sexta mayor, segunda suspendida y cuarta suspendida). Se puede ver una lista completa de los diagramas de traste predefinidos en Diagramas predefinidos de trastes. Si no hay una entrada en la tabla para un acorde, el grabador FretBoards calcula un cadena de diagrama fret-diagram usando la funcionalidad de diagramas automáticos que se describe en Diagramas de traste automáticos.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode { c1 c:maj9 } << \new ChordNames { \mychords } \new FretBoards { \mychords } >>
Se pueden añadir diagramas de posiciones a la tabla de diagramas de posiciones. Para añadir un diagrama debemos especificar la tabla de correspondencias para el diagrama, el acorde del diagrama, la afinación utilizada y una definición del diagrama. Normalmente la tabla de correspondencias será default-fret-table. La definición del diagrama puede ser una cadena de definición escueta fret-diagram-terse o una lista de marcados prolija fret-diagram-verbose.
\include "predefined-guitar-fretboards.ly" \storePredefinedDiagram #default-fret-table \chordmode { c:maj9 } #guitar-tuning "x;3-2;o;o;o;o;" mychords = \chordmode { c1 c:maj9 } << \new ChordNames { \mychords } \new FretBoards { \mychords } >>
Se pueden almacenar distintos diagramas de traste para el mismo acorde usando distintas octavas para las notas. Las octavas de diferencia deben ser al menos dos por encima o por debajo de la octava predeterminada, porque las octavas inmediatas superior e inferior de la predeterminada se utilizan para los trasteros transpositores.
\include "predefined-guitar-fretboards.ly" \storePredefinedDiagram #default-fret-table \chordmode { c'' } #guitar-tuning #(offset-fret 2 (chord-shape 'bes guitar-tuning)) mychords = \chordmode { c1 c'' } << \new ChordNames { \mychords } \new FretBoards { \mychords } >>
Además de los diagramas de traste, LilyPond almacena una lista interna de formas de acorde. Las formas de acorde son diagramas de traste que se pueden desplazar por el mástil para dar acordes distintos. Se pueden añadir formas de acorde a la lista interna y luego usarlas para definir diagramas de posición predefinidos. Dado que se pueden mover a distintas posiciones dentro del mástil, las formas de acorde normalmente no contienen cuerdas al aire. Como los diagramas de posiciones, las formas de acorde se pueden introducir como cadenas escuetas fret-diagram-terse o como listas de marcado prolijas fret-diagram-verbose.
\include "predefined-guitar-fretboards.ly" % Add a new chord shape \addChordShape #'powerf #guitar-tuning "1-1;3-3;3-4;x;x;x;" % add some new chords based on the power chord shape \storePredefinedDiagram #default-fret-table \chordmode { f'' } #guitar-tuning #(chord-shape 'powerf guitar-tuning) \storePredefinedDiagram #default-fret-table \chordmode { g'' } #guitar-tuning #(offset-fret 2 (chord-shape 'powerf guitar-tuning)) mychords = \chordmode { f1 f'' g g'' } << \new ChordNames { \mychords } \new FretBoards { \mychords } >>
El aspecto gráfico de un diagrama de traste se puede personalizar
según las preferencias del usuario a través de las propiedades del
interface fret-diagram-interface
. Los detalles están en
fret-diagram-interface. Para un diagrama de trastes
predefinido, las propiedades de interface pertenecen a
FretBoards.FretBoard
.
Fragmentos de código seleccionados
Personalizar los diagramas de posiciones
Se pueden establecer las propiedades de los diagramas de
posiciones de acordes por medio de 'fret-diagram-details
.
Para los diagramas de posiciones de FretBoard, se aplican los
overrides (sobreescrituras) al objeto FretBoards.FretBoard
.
Como Voice
, FretBoards
es un contexto del nivel
inferior, y por tanto se puede omitir su nombre en la
sobreescritura de propiedades.
\include "predefined-guitar-fretboards.ly" \storePredefinedDiagram #default-fret-table \chordmode { c' } #guitar-tuning "x;1-1-(;3-2;3-3;3-4;1-1-);" % shorthand oo = #(define-music-function (grob-path value) (list? scheme?) #{ \once \override $grob-path = #value #}) << \new ChordNames { \chordmode { c1 | c | c | d } } \new FretBoards { % Set global properties of fret diagram \override FretBoards.FretBoard.size = 1.2 \override FretBoard.fret-diagram-details.finger-code = #'in-dot \override FretBoard.fret-diagram-details.dot-color = #'white \chordmode { c \oo FretBoard.size #1.0 \oo FretBoard.fret-diagram-details.barre-type #'straight \oo FretBoard.fret-diagram-details.dot-color #'black \oo FretBoard.fret-diagram-details.finger-code #'below-string c' \oo FretBoard.fret-diagram-details.barre-type #'none \oo FretBoard.fret-diagram-details.number-type #'arabic \oo FretBoard.fret-diagram-details.orientation #'landscape \oo FretBoard.fret-diagram-details.mute-string "M" \oo FretBoard.fret-diagram-details.label-dir #LEFT \oo FretBoard.fret-diagram-details.dot-color #'black c' \oo FretBoard.fret-diagram-details.finger-code #'below-string \oo FretBoard.fret-diagram-details.dot-radius #0.35 \oo FretBoard.fret-diagram-details.dot-position #0.5 \oo FretBoard.fret-diagram-details.fret-count #3 d } } \new Voice { c'1 | c' | c' | d' } >>
Definición de posiciones predefinidas para otros instrumentos
Se pueden añadir diagramas de posiciones predefinidas para instrumentos nuevos además de los estándar que se usan para la guitarra. Este archivo muestra cómo se hace, definiendo una afinación nueva y unas cuantas posiciones para el cuatro venezolano.
Este archivo también muestra cómo se pueden incluir las digitaciones
en los acordes que se usan como puntos de referencia para la búsqueda
de acordes en la tabla, y mostrarse en el diagrama de posiciones y la
tablatura TabStaff
, pero no en la música.
Estas posiciones no se pueden transportar porque contienen información de las cuerdas. Hay planes para corregir esto en un futuro.
% add FretBoards for the Cuatro % Note: This section could be put into a separate file % predefined-cuatro-fretboards.ly % and \included into each of your compositions cuatroTuning = #`(,(ly:make-pitch 0 6 0) ,(ly:make-pitch 1 3 SHARP) ,(ly:make-pitch 1 1 0) ,(ly:make-pitch 0 5 0)) dSix = { <a\4 b\1 d\3 fis\2> } dMajor = { <a\4 d\1 d\3 fis \2> } aMajSeven = { <a\4 cis\1 e\3 g\2> } dMajSeven = { <a\4 c\1 d\3 fis\2> } gMajor = { <b\4 b\1 d\3 g\2> } \storePredefinedDiagram #default-fret-table \dSix #cuatroTuning "o;o;o;o;" \storePredefinedDiagram #default-fret-table \dMajor #cuatroTuning "o;o;o;3-3;" \storePredefinedDiagram #default-fret-table \aMajSeven #cuatroTuning "o;2-2;1-1;2-3;" \storePredefinedDiagram #default-fret-table \dMajSeven #cuatroTuning "o;o;o;1-1;" \storePredefinedDiagram #default-fret-table \gMajor #cuatroTuning "2-2;o;1-1;o;" % end of potential include file /predefined-cuatro-fretboards.ly #(set-global-staff-size 16) primerosNames = \chordmode { d:6 d a:maj7 d:maj7 g } primeros = { \dSix \dMajor \aMajSeven \dMajSeven \gMajor } \score { << \new ChordNames { \set chordChanges = ##t \primerosNames } \new Staff { \new Voice \with { \remove "New_fingering_engraver" } \relative c'' { \primeros } } \new FretBoards { \set Staff.stringTunings = #cuatroTuning % \override FretBoard % #'(fret-diagram-details string-count) = 4 \override FretBoard.fret-diagram-details.finger-code = #'in-dot \primeros } \new TabStaff \relative c'' { \set TabStaff.stringTunings = #cuatroTuning \primeros } >> \layout { \context { \Score \override SpacingSpanner.base-shortest-duration = \musicLength 16 } } \midi { } }
Cambios de acorde de posiciones de trastes
Se puede hacer que los diagramas de posiciones se muestren sólo cuando el acorde cambia o al comienzo de una nueva línea.
\include "predefined-guitar-fretboards.ly" \paper { tagline = ##f } myChords = \chordmode { c1 c1 \break \set chordChanges = ##t c1 c1 \break c1 c1 } << \new ChordNames { \myChords } \new FretBoards { \myChords } \new Staff { \myChords } >>
Tablas alternativas de diagramas de posiciones
Se pueden crear tablas alternativas de diagramas de posiciones. Se utilizarían para tener diagramas altenativos para un acorde dado.
Para usar una tabla alternativa de diagramas de posiciones, se debe crear la tabla primero. Después se añaden los diagramas a la tabla.
La tabla de diagramas de posiciones que se crea puede estar vacía o se puede copiar a partir de una tabla existente.
La tabla a usar en la impresión de los diagramas predefinidos se
selecciona por medio de la propiedad \predefinedDiagramTable
.
\include "predefined-guitar-fretboards.ly" % Make a blank new fretboard table #(define custom-fretboard-table-one (make-fretboard-table)) % Make a new fretboard table as a copy of default-fret-table #(define custom-fretboard-table-two (make-fretboard-table default-fret-table)) % Add a chord to custom-fretboard-table-one \storePredefinedDiagram #custom-fretboard-table-one \chordmode {c} #guitar-tuning "3-(;3;5;5;5;3-);" % Add a chord to custom-fretboard-table-two \storePredefinedDiagram #custom-fretboard-table-two \chordmode {c} #guitar-tuning "x;3;5;5;5;o;" << \chords { c1 | d1 | c1 | d1 | c1 | d1 | } \new FretBoards { \chordmode { \set predefinedDiagramTable = #default-fret-table c1 | d1 | \set predefinedDiagramTable = #custom-fretboard-table-one c1 | d1 | \set predefinedDiagramTable = #custom-fretboard-table-two c1 | d1 | } } \new Staff { \clef "treble_8" << \chordmode { c1 | d1 | c1 | d1 | c1 | d1 | } { s1_\markup "Default table" | s1 | s1_\markup \column {"New table" "from empty"} | s1 | s1_\markup \column {"New table" "from default"} | s1 | } >> } >>
Véase también
Referencia de la notación: Tablaturas personalizadas, Diagramas de traste automáticos, Panorámica del modo de acordes, Diagramas predefinidos de trastes.
Archivos de inicio:
ly/predefined-guitar-fretboards.ly,
ly/predefined-guitar-ninth-fretboards.ly,
ly/predefined-ukulele-fretboards.ly,
ly/predefined-mandolin-fretboards.ly.
Fragmentos de código: Fretted strings.
Referencia de funcionamiento interno: fret-diagram-interface.
Diagramas de traste automáticos
Se pueden crear diagramas de traste automáticamente a partir de
las notas introducidas usando el contexto FretBoards
. Si
no está disponible ningún diagrama predefinido para las notas
introducidas en la afinación stringTunings
activa, este
contexto calcula las cuerdas y los trastes que se pueden usar para
tocar las notas.
<< \new ChordNames { \chordmode { f1 g } } \new FretBoards { <f, c f a c' f'>1 <g,\6 b, d g b g'>1 } \new Staff { \clef "treble_8" <f, c f a c' f'>1 <g, b, d g b' g'>1 } >>
Puesto que de forma predeterminada no se carga ningún diagrama predefinido, el comportamiento predeterminado es el cálculo automático de los diagramas de traste. Una vez que los diagramas predeterminados se han cargado, se puede habilitar e inhabilitar el cálculo automático con instrucciones predefinidas:
\storePredefinedDiagram #default-fret-table <c e g c' e'> #guitar-tuning "x;3-1-(;5-2;5-3;5-4;3-1-1-);" << \new ChordNames { \chordmode { c1 c c } } \new FretBoards { <c e g c' e'>1 \predefinedFretboardsOff <c e g c' e'>1 \predefinedFretboardsOn <c e g c' e'>1 } \new Staff { \clef "treble_8" <c e g c' e'>1 <c e g c' e'>1 <c e g c' e'>1 } >>
A veces el calculador de trastes es incapaz de encontrar un
diagrama aceptable. Esto se puede remediar generalmente mediante
la asignación manual de una nota a una cuerda. En muchos casos
sólo hay que colocar manualmente una nota sobre una cuerda; el
resto de las notas se situará en el lugar adecuado por parte del
contexto FretBoards
.
Se pueden añadir digitaciones a los diagramas de traste del contexto FretBoard.
<< \new ChordNames { \chordmode { c1 d:m } } \new FretBoards { <c-3 e-2 g c'-1 e'>1 <d a-2 d'-3 f'-1>1 } \new Staff { \clef "treble_8" <c e g c' e'>1 <d a d' f'>1 } >>
El traste mínimo que usar en el cálculo de cuerdas y trastes para
el contexto FretBoard se puede fijar con la propiedad
minimumFret
.
<< \new ChordNames { \chordmode { d1:m d:m } } \new FretBoards { <d a d' f'>1 \set FretBoards.minimumFret = #5 <d a d' f'>1 } \new Staff { \clef "treble_8" <d a d' f'>1 <d a d' f'>1 } >>
Las cuerdas y los trastes para el contexto FretBoards
dependen de la propiedad stringTunings
, que tiene el mismo
significado que en el contexto de tablatura TabStaff. Consulte
Tablaturas personalizadas para ver más información sobre la
propiedad stringTunings
.
El aspecto gráfico de un diagrama de trastes se puede personalizar
de acuerdo a las preferencias del usuario a través de las
propiedades del interface fret-diagram-interface
. Los
detalles están en fret-diagram-interface. Para un
diagrama de FretBoards
, las propiedades del interface
pertenecen a FretBoards.FretBoard
.
Instrucciones predefinidas
\predefinedFretboardsOff
,
\predefinedFretboardsOn
.
Véase también
Referencia de la notación: Tablaturas personalizadas.
Fragmentos de código: Fretted strings.
Referencia de funcionamiento interno: fret-diagram-interface.
Advertencias y problemas conocidos
Los cálculos de tablatura automáticos no funcionan bien para instrumentos con afinaciones no monótonas.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Diagramas de traste automáticos ] | [ Up : Notación común para cuerdas con trastes ] | [ Guitarra > ] |
Digitaciones de la mano derecha
Las digitaciones de la mano derecha p-i-m-a se deben introducir
usando \rightHandFinger
seguido de un número.
Nota: Si el número se introduce en notación de Scheme, recuerde
escribir al final un espacio seguido de un ángulo de cierre
>
o similar.
\clef "treble_8" c4\rightHandFinger #1 e\rightHandFinger #2 g\rightHandFinger #3 c'\rightHandFinger #4 <c\rightHandFinger #1 e\rightHandFinger #2 g\rightHandFinger #3 c'\rightHandFinger #4 >1
Por brevedad, se puede escribir \rightHandFinger
como algo
más corto, como por ejemplo RH
:
RH=#rightHandFinger
Fragmentos de código seleccionados
Posicionamiento de digitaciones de mano derecha
Es posible ejercer un mayor control sobre la colocación de las digitaciones de la mano derecha estableciendo el valor de una propiedad específica, como se muestra en el ejemplo siguiente.
#(define RH rightHandFinger) \relative c { \clef "treble_8" \set strokeFingerOrientations = #'(up down) <c\RH 1 e\RH 2 g\RH 3 c\RH 4 >4 \set strokeFingerOrientations = #'(up right down) <c\RH 1 e\RH 2 g\RH 3 c\RH 4 >4 \set strokeFingerOrientations = #'(left) <c\RH 1 e\RH 2 g\RH 3 c\RH 4 >2 \set strokeFingerOrientations = #'(right) c\RH 1 }
Digitaciones - indicación del número de cuerda y digitaciones de mano derecha
En este ejemplo se combinan las digitaciones de la mano izquierda, indicaciones del número de cuerda y digitaciones de la mano derecha.
#(define RH rightHandFinger) \relative c { \clef "treble_8" <c-3\5\RH 1 >4 <e-2\4\RH 2 >4 <g-0\3\RH 3 >4 <c-1\2\RH 4 >4 }
Véase también
Fragmentos de código: Fretted strings.
Referencia de funcionamiento interno: StrokeFinger.
2.4.2 Guitarra
Casi todos los asuntos de notación relacionados con la música para guitarra están suficientemente cubiertos en la sección general sobre ajustes de instrumentos de trastes, pero hay algunos más de los que merece la pena hablar aquí. De forma ocasional, los usuarios quieren crear documentos del tipo de cancioneros que tengan sólo la letra de las canciones con indicaciones de acordes sobre ella. Dado que LilyPond es un tipografiador de música, no se recomienda para documentos que no tienen notación musical. Una alternativa mejor es un procesador de texto, editor de texto o, para usuarios con experiencia, un tipografiador como GuitarTeX.
Indicar la posición y la cejilla | ||
Indicar armónicos y notas tapadas | ||
Indicación de acordes de potencia o de quinta vacía |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Guitarra ] | [ Up : Guitarra ] | [ Indicar armónicos y notas tapadas > ] |
Indicar la posición y la cejilla
Este ejemplo muestra cómo incluir indicaciones de posición y cejilla de guitarra:
\relative { \clef "treble_8" b,16 d g b e \textSpannerDown \override TextSpanner.bound-details.left.text = "XII " g16\startTextSpan b16 e g e b g\stopTextSpan e16 b g d }
Véase también
Referencia de la notación: Extensiones de texto.
Fragmentos de código: Fretted strings, Expressive marks.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Indicar la posición y la cejilla ] | [ Up : Guitarra ] | [ Indicación de acordes de potencia o de quinta vacía > ] |
Indicar armónicos y notas tapadas
Se pueden usar cabezas de nota especiales para indicar notas apagadas o armónicos. Los armónicos se suelen explicar de forma más completa con un marcado de texto.
\relative { \clef "treble_8" \override NoteHead.style = #'harmonic-mixed d'8^\markup { \italic \fontsize #-2 "harm. 12" } <g b>4 }
Las notas tapadas (llamadas también notas muertas) están contempladas dentro de los pentagramas normales y de tablatura:
music = \relative { < a\3 \deadNote c\2 a'\1 >4 < b\3 \deadNote d\2 b'\1 > < c\3 \deadNote e\2 c'\1 > \deadNotesOn \tuplet 3/2 { g8 b e } \deadNotesOff < a,\3 c\2 e\1 >1 } \new StaffGroup << \new Staff { \clef "treble_8" \music } \new TabStaff { \music } >>
Otra téctnica de ejecución (utilizada especialmente en la guitarra eléctrica) se llama tapado de palma. La cuerda es parcialmente tapada por la palma de la mano que pulsa (de ahí el nombre). LilyPond contempla la notación de las notas de estilo de tapado de palma mediante el cambio de la forma de la cabeza de nota a un triángulo.
\new Voice { % Warning: explicit Voice instantiation is % required to have palmMuteOff work properly % when palmMuteOn comes at the beginning of % the piece. \relative c, { \clef "G_8" \palmMuteOn e8^\markup { \musicglyph "noteheads.s2do" = palm mute } < e b' e > e \palmMuteOff e e \palmMute e e e | e8 \palmMute { e e e } e e e e | < \palmMute e b' e >8 \palmMute { e e e } < \palmMute e b' e >2 } }
Véase también
Fragmentos de código: Fretted strings.
Referencia de la notación: Cabezas de nota especiales, Estilos de cabezas de nota.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Indicar armónicos y notas tapadas ] | [ Up : Guitarra ] | [ Banjo > ] |
Indicación de acordes de potencia o de quinta vacía
Los acordes de quinta vacía o acordes de potencia (power chords) y sus símbolos se pueden tipografiar en el modo de acordes o como construcciones de acorde normales. Como excepción, se especifica la quinta en estos nombres de acorde, meintras que habitualmente se omite en otros acordes (p. ej. en las tríadas mayores o menores).
ChordsAndSymbols = { \chordmode { e,,1:5 a,,:5.8 \set TabStaff.restrainOpenStrings = ##t \set minimumFret = #8 c,:5 f,:5.8 } \set minimumFret = #2 \set restrainOpenStrings = ##f <a, e> <a cis' e'> <g d' g'> } \score { << \new ChordNames { \ChordsAndSymbols } \new Staff { \clef "treble_8" \ChordsAndSymbols } \new TabStaff { \ChordsAndSymbols } >> }
Véase también
Glosario musical: power chord.
Referencia de la notación: Acordes extendidos y alterados, Impresión de los nombres de acorde.
Fragmentos de código: Fretted strings.
2.4.3 Banjo
Tablaturas de banjo |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Banjo ] | [ Up : Banjo ] | [ Laúd > ] |
Tablaturas de banjo
LilyPond contempla el banjo de cinco cuerdas de una manera básica. Cuando haga tablaturas para banjo de cinco cuerdas, utilice la función de formato de tablatura de banjo para obtener los números correctos de los trastes para la quinta cuerda:
music = { g8 d' g'\5 a b g e d' | g4 d''8\5 b' a'\2 g'\5 e'\2 d' | g4 } << \new Staff \with { \omit StringNumber } { \clef "treble_8" \music } \new TabStaff \with { tablatureFormat = #fret-number-tablature-format-banjo stringTunings = #banjo-open-g-tuning } { \music } >>
Se encuentran predefinidas varias afinaciones comunes para
el banjo de cinco cuerdas:
banjo-c-tuning
(sol-Do-Sol-Si-Re),
banjo-modal-tuning
(sol-Re-Sol-Do-Re),
banjo-open-d-tuning
(Re Mayor al aire, la-Re-Fa#-La-Re) y
banjo-open-dm-tuning
(Re menor al aire, la-Re-Fa-La-Re).
Estas afinaciones se pueden convertir a afinaciones para banjo de
cuatro cuerdas utilizando la función four-string-banjo
:
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
Véase también
Archivos de inicio: ly/string-tunings-init.ly
Fragmentos de código: Fretted strings.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Tablaturas de banjo ] | [ Up : Instrumentos de cuerda con trastes ] | [ Tablaturas de laúd > ] |
2.4.4 Laúd
Tablaturas de laúd |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Laúd ] | [ Up : Laúd ] | [ Percusión > ] |
Tablaturas de laúd
LilyPond contempla las tablaturas para laúd.
Para obtener las cuerdas graves adicionales, utilice
additionalBassStrings
, donde se determinan las notas
correspondientes a dichas cuerdas. Se imprimen por debajo de la
línea inferior como: a, /a, //a, ///a, 4, 5, etc.
Se debe usar el valor fret-letter-tablature-format
para la
propiedad de contexto tablatureFormat
y probablemente
también ajustar la propiedad fretLabels
para una mayor
personalización.
m = { f'4 d' a f d a, g, fis, e, d, c, \bar "|." } \score { << \new Staff { \clef bass \cadenzaOn \m } \new TabStaff \m >> \layout { \context { \Score tablatureFormat = #fret-letter-tablature-format } \context { \TabStaff stringTunings = \stringTuning <a, d f a d' f'> additionalBassStrings = \stringTuning <c, d, e, fis, g,> fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k") } } }
Advertencias y problemas conocidos
No se contempla el uso de FretBoards
con
additionalBassStrings
; de utilizarse, puede dar lugar a un
resultado poco satisfactorio.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Tablaturas de laúd ] | [ Up : Notación especializada ] | [ Notación común para percusión > ] |
2.5 Percusión
2.5.1 Notación común para percusión |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Percusión ] | [ Up : Percusión ] | [ Referencias para percusión > ] |
2.5.1 Notación común para percusión
La notación rítmica se emplea primordialmente para la percusión y la batería, pero también se puede utilizar para mostrar los valores rítmicos una melodía.
Referencias para percusión | ||
Notación básica de percusión | ||
Redobles | ||
Percusión afinada | ||
Pautas de percusión | ||
Pautas de percusión personalizadas | ||
Notas fantasma |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notación común para percusión ] | [ Up : Notación común para percusión ] | [ Notación básica de percusión > ] |
Referencias para percusión
- La notación de algunas percusiones se puede hacer sobre una pauta de ritmo; esto se estudia en Mostrar los ritmos de la melodía y Crear instancias de pentagramas nuevos.
- La salida MIDI se trata en una sección aparte; véase Creación de salida MIDI.
Véase también
Referencia de la notación: Mostrar los ritmos de la melodía, Crear instancias de pentagramas nuevos, Creación de salida MIDI.
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para percusión ] | [ Up : Notación común para percusión ] | [ Redobles > ] |
Notación básica de percusión
Las notas de percusión se pueden escribir en el modo
\drummode
, que es similar al modo estándar para introducir
notas. La manera más fácil de escribir notas de percusión es
utilizar la instrucción \drums
, que crea el contexto y el
modo de entrada apropiados para percusión:
\drums { hihat4 hh bassdrum bd }
Esto es una abreviatura de
\new DrumStaff \drummode { hihat4 hh bassdrum bd }
Cada elemento de un set de percusión lleva un nombre completo y un nombre abreviado, y los dos se pueden usar en la entrada. La lista completa de nombre de instrumentos de percusión se encuentra en Notas de percusión.
Observe que la notación normal de las notas con altura determinada
(como cis4
) en un contexto DrumStaff
producen un
mensaje de error. Las claves de percusión se añaden
automáticamente al contexto DrumStaff
pero también se
pueden establecer explícitamente o utilizar otras claves.
\drums { \clef percussion bd4 4 4 4 \clef treble hh4 4 4 4 }
Hay ciertos detalles respecto a cómo está contemplado el MIDI para los instrumentos de percusión; para ver los detalles consulte Creación de salida MIDI.
Véase también
Referencia de la notación: Creación de salida MIDI, Notas de percusión.
Archivos de inicio: ly/drumpitch-init.ly.
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notación básica de percusión ] | [ Up : Notación común para percusión ] | [ Percusión afinada > ] |
Redobles
Los redobles se indican mediante tres barras cruzadas en la plica. Para las negras o notas más largas, las tres barras se muestran explícitamente, las corcheas se presentan con dos barras cruzadas (siendo la barra de corchea la tercera), y los redobles más breves que las corcheas tienen una barra cruzada para complementar las barras normales. Esto se consigue mediante la notación de trémolo, véase Repeticiones de trémolo.
\drums { \time 2/4 sn16 8 16 8 8:32 ~ 8 8 4:32 ~ 4 8 16 16 4 r4 }
Los golpes de baqueta se pueden indicar mediante la colocación de
los elementos de marcado "R"
o "L"
encima o debajo
de las notas, como se estudia en Dirección y posición. La
propiedad staff-padding
se puede sobreescribir para
conseguir una línea de base satisfactoria.
\drums { \repeat unfold 2 { sn16^"L" 16^"R" 16^"L" 16^"L" 16^"R" 16^"L" 16^"R" 16^"R" \stemUp sn16_"L" 16_"R" 16_"L" 16_"L" 16_"R" 16_"L" 16_"R" 16_"R" } }
Véase también
Referencia de la notación: Repeticiones de trémolo.
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Redobles ] | [ Up : Notación común para percusión ] | [ Pautas de percusión > ] |
Percusión afinada
Ciertos instrumentos de percusión de altura determinada (p.ej.: el xilófono, el vibráfono y los timbales) se escriben usando pentagramas normales. Esto se estudia en otras secciones del manual.
Véase también
Referencia de la notación: Instrumentos MIDI.
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Percusión afinada ] | [ Up : Notación común para percusión ] | [ Pautas de percusión personalizadas > ] |
Pautas de percusión
Una parte de percusión para más de un instrumento, normalmente utiliza una pauta de varias líneas donde cada posición dentro de la pauta se refiere a un elemento de percusión. Para tipografiar la música, se deben interpretar las notas dentro de los contextos DrumStaff y DrumVoice.
up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat } down = \drummode { bassdrum4 snare8 bd r bd sn4 } \new DrumStaff << \new DrumVoice { \voiceOne \up } \new DrumVoice { \voiceTwo \down } >>
El ejemplo anterior muestra una notación polifónica prolija. La notación polifónica abreviada, descrita en Oigo voces, también se puede usar. Por ejemplo,
\new DrumStaff << \drummode { bd4 sn4 bd4 sn4 << { \repeat unfold 16 hh16 } \\ { bd4 sn4 bd4 sn4 } >> } >>
También existen otras posibilidades en lo referente a la
disposición. Para usarlas, establezca la propiedad
drumStyleTable
en el contexto DrumVoice. Se
han predefinido las siguientes variables:
drums-style
Es la opción por defecto. Se usa para tipografiar una batería típica sobre pentagrama:
El esquema de percusión contempla seis tambores graves (toms) distintos. Cuando haya menos toms, sencillamente seleccione aquellos que producen el resultado deseado, es decir, para tener toms en las tres líneas centrales utilizará
tommh
,tomml
ytomfh
.agostini-drums-style
Inventado por el percusionista francés Dante Agostini en 1965, esta notación se emplea normalmente en Francia pero también en muchos otros lugares.
timbales-style
Se usa para tipografiar timbales en una pauta de dos líneas:
congas-style
Se usa para tipografiar congas en una pauta de dos líneas:
bongos-style
Se usa para bongos sobre una pauta de dos líneas:
percussion-style
Para tipografiar toda clase de percusiones simples sobre pautas de una línea:
También se pueden definir estilos de percusión personalizados como se explica en Pautas de percusión personalizadas.
Véase también
Manual de aprendizaje: Oigo voces.
Referencia de la notación: Pautas de percusión personalizadas.
Archivos instalados: ly/drumpitch-init.ly.
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Pautas de percusión ] | [ Up : Notación común para percusión ] | [ Notas fantasma > ] |
Pautas de percusión personalizadas
Se pueden definir estilos de percusión personalizados, a los que
después puede establecerse la propiedad drumStyleTable
.
Las notaciones existentes se pueden redefinir como una lista de
asociación en la que cada entrada debe estar compuesta de cuatro
elementos: un nombre, el estilo de cabezas de nota (o
default
), un símbolo de articulación si es necesario (o
#f
en caso contrario), y la posición de la cabeza sobre la
pauta. Dicha lista se debe entonces convertir a una tabla de hash
de Scheme usando la función alist->hash-table
.
#(define mydrums '( (bassdrum default #f -1) (snare default #f 0) (hihat cross #f 1) (halfopenhihat cross halfopen 1) (pedalhihat xcircle stopped 2) (lowtom diamond #f 3))) up = \drummode { hh8 hh hhho hhho hhp4 hhp } down = \drummode { bd4 sn bd toml8 toml } \new DrumStaff << \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \new DrumVoice { \voiceOne \up } \new DrumVoice { \voiceTwo \down } >>
También se pueden añadir nombres nuevos a dichas notaciones
personalizadas mediante la variable drumPitchNames
, que se
puede redefinir como una lista de asociación (o aumentada
añadiendo al final una lista nueva a su valor existente, como se
muestra más abajo), pero también a través de sus entradas
individuales. Esto también hace posible definir nombres
alternativos o alias.
drumPitchNames = #(append '((leftsnap . sidestick) (rightsnap . ridecymbal)) drumPitchNames) drumPitchNames.ls = #'sidestick drumPitchNames.rs = #'ridecymbal \drums { leftsnap4. rightsnap8 leftsnap4 rightsnap ls8 rs ls rs ls4 rs }
De manera similar, la propiedad drumPitchTable
asocia una
altura específica (con el significado de un sonido instrumental
distinto, tal y como lo proveen las fuentes de sonido MIDI) a cada
notación. Dicha propiedad necesita definirse como una tabla de
hash, que es de nuevo convertida a partir de una lista de
asociación (almacenada de forma predeterminada como la variable
midiDrumPitches
). La redefinición de estas asociaciones se
consigue como se ha explicado más arriba, ya sea definiendo una
lista de asociación completa o mediante las entradas
individuales. El siguiente ejemplo muestra cómo crear un conjunto
completo de notaciones con su propia sintaxis de entrada, su
propia notación personalizada y la salida MIDI correspondiente.
drumPitchNames.dbass = #'dbass drumPitchNames.dba = #'dbass % 'db is in use already drumPitchNames.dbassmute = #'dbassmute drumPitchNames.dbm = #'dbassmute drumPitchNames.do = #'dopen drumPitchNames.dopenmute = #'dopenmute drumPitchNames.dom = #'dopenmute drumPitchNames.dslap = #'dslap drumPitchNames.ds = #'dslap drumPitchNames.dslapmute = #'dslapmute drumPitchNames.dsm = #'dslapmute #(define djembe-style '((dbass default #f -2) (dbassmute default stopped -2) (dopen default #f 0) (dopenmute default stopped 0) (dslap default #f 2) (dslapmute default stopped 2))) midiDrumPitches.dbass = g midiDrumPitches.dbassmute = fis midiDrumPitches.dopen = a midiDrumPitches.dopenmute = gis midiDrumPitches.dslap = b midiDrumPitches.dslapmute = ais test = \drummode { dba4 do ds dbm dom dsm } \score { \new DrumStaff \with { \override StaffSymbol.line-count = #3 instrumentName = "Djembé " drumStyleTable = #(alist->hash-table djembe-style) drumPitchTable = #(alist->hash-table midiDrumPitches) } { \time 3/4 \test } \layout {} \midi {} }
Véase también
Fragmentos de código: Percussion.
Referencia de funcionamiento interno: DrumStaff, DrumVoice.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Pautas de percusión personalizadas ] | [ Up : Notación común para percusión ] | [ Instrumentos de viento > ] |
Notas fantasma
Las notas fantasma para la batería e instrumentos de percusión,
también conocidas como notas muertas, tapadas, silenciadas o
falsas, se pueden crear utilizando la instrucción
\parenthesize
, véase Paréntesis.
\new DrumStaff << \new DrumVoice = "1" { s1 } \new DrumVoice = "2" { s1 } \drummode { << { hh8[ 8] <hh sn> hh16 \parenthesize sn hh \parenthesize sn hh8 <hh sn> hh } \\ { bd4 r4 bd8 8 r8 bd } >> } >>
Véase también
Referencia de la notación: Paréntesis.
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notas fantasma ] | [ Up : Notación especializada ] | [ Notación común para instrumentos de viento > ] |
2.6 Instrumentos de viento
Esta sección incluye elementos de notación musical que afloran al escribir para instrumentos de viento.
2.6.1 Notación común para instrumentos de viento | ||
2.6.2 Gaita | ||
2.6.3 Instrumentos de viento madera |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Instrumentos de viento ] | [ Up : Instrumentos de viento ] | [ Referencias para instrumentos de viento > ] |
2.6.1 Notación común para instrumentos de viento
Esta sección trata la notación común para casi todos los instrumentos de viento.
Referencias para instrumentos de viento | ||
Digitaciones |
Referencias para instrumentos de viento
Muchas cuestiones de la notación para instrumentos de viento tienen que ver con las respiraciones y los golpes de lengua:
- Las respiraciones se pueden especificar mediante silencios o marcas de respiración, véase Marcas de respiración.
- La ejecución ligada se indica mediante ligaduras de expresión, véase Ligaduras de expresión.
- Los distintos golpes de lengua, desde legato hasta staccato pasando por non legato, se presentan por lo general mediante articulaciones, en ocasiones combinadas con ligaduras de expresión, véase Articulaciones y ornamentos y Lista de articulaciones.
- El frullato se indica generalmente mediante una indicación de trémolo y una marca textual sobre la nota. Véase Repeticiones de trémolo.
También existen otros aspectos de la notación musical que son de aplicación a los instrumentos de viento:
- Muchos instrumentos de viento son transpositores, véase Transposición de los instrumentos.
- El portamento es característico del trombón, pero otros instrumentos de viento pueden realizar glissandos con llaves o válvulas. Véase Glissando.
- Los glissandos de serie armónica, que son posibles en todos los metales pero bastante específicos de las trompas, se escriben en general como notas de adorno, véase Notas de adorno.
- Las inflexiones de tono al final de una nota se tratan en Caídas y elevaciones.
- Los golpes de llave o de válvula se suelen indicar con el estilo
cross
(aspas) de cabezas de nota, véase Cabezas de nota especiales. - Los instrumentos de viento-madera pueden sobreinflar las notas
graves para producir armónicos. Éstos se muestran por medio de la
articulación
flageolet
. Véase Lista de articulaciones. - El uso de sordinas para los metales se suele indicar mediante
marcas de texto, pero en los lugares donde se suceden muchos
cambios rápidos es mejor utilizar las articulaciones
stopped
(tapado) yopen
(abierto). Véase Articulaciones y ornamentos y Lista de articulaciones. - Las trompas tapadas se indican por medio de la articulación
stopped
. Véase Articulaciones y ornamentos.
Véase también
Referencia de la notación: Marcas de respiración, Ligaduras de expresión, Articulaciones y ornamentos, Lista de articulaciones, Repeticiones de trémolo, Transposición de los instrumentos, Glissando, Notas de adorno, Caídas y elevaciones, Cabezas de nota especiales.
Fragmentos de código: Winds.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para instrumentos de viento ] | [ Up : Notación común para instrumentos de viento ] | [ Gaita > ] |
Digitaciones
Todos los instrumentos de viento aparte del trombón requieren el uso de los distintos dedos para producir cada nota. En los fragmentos de código que aparecen a continuación pueden verse algunos ejemplos de digitaciones.
Se pueden producir diagramas de posiciones para instrumentos de viento madera,como se describe en Diagramas de posiciones para viento madera.
Fragmentos de código seleccionados
Símbolos de digitación para instrumentos de viento
Se pueden conseguir símbolos especiales combinando glifos existentes, lo que es de utilidad para la notación de instrumentos de viento.
mymarkup = { \once \override TextScript.outside-staff-padding = 0 \once \override TextScript.staff-padding = 0 \once \override TextScript.padding = 0.2 \once \override TextScript.X-offset = #(lambda (g) (+ (ly:self-alignment-interface::centered-on-x-parent g) (ly:self-alignment-interface::x-aligned-on-self g))) } \relative c' { g\open \mymarkup g^\markup \combine \musicglyph "scripts.open" \musicglyph "scripts.tenuto" \mymarkup g^\markup \combine \musicglyph "scripts.open" \musicglyph "scripts.stopped" g\stopped }
Diagramas de digitación para la flauta dulce
El ejemplo siguiente muestra cómo se pueden realizar diagramas de digitación para instrumentos de viento.
% range chart for paetzold contrabass recorder centermarkup = { \once \override TextScript.self-alignment-X = #CENTER \once \override TextScript.X-offset = #(lambda (g) (+ (ly:self-alignment-interface::centered-on-x-parent g) (ly:self-alignment-interface::x-aligned-on-self g))) } \score { \new Staff \with { \remove "Time_signature_engraver" \omit Stem \omit Flag \consists "Horizontal_bracket_engraver" } { \clef bass \set Score.timing = ##f f,1*1/4 \glissando \clef violin gis'1*1/4 \stemDown a'4^\markup "1)" \centermarkup \once \override TextScript.padding = 2 bes'1*1/4_\markup \override #'(baseline-skip . 1.7) \column { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2 \finger 3 \finger 4 \finger 5 \finger 6 \finger 7 } b'1*1/4 c''4^\markup "1)" \centermarkup \once \override TextScript.padding = 2 cis''1*1/4 deh''1*1/4 \centermarkup \once \override TextScript.padding = 2 \once \override Staff.HorizontalBracket.direction = #UP e''1*1/4_\markup \override #'(baseline-skip . 1.7) \column { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2 \finger 4 \finger 5}\startGroup f''1*1/4^\markup "2)"\stopGroup } }
Véase también
Referencia de la notación: Diagramas de posiciones para viento madera.
Fragmentos de código: Winds.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Digitaciones ] | [ Up : Instrumentos de viento ] | [ Definiciones para la gaita > ] |
2.6.2 Gaita
Esta sección trata de la notación común para gaita.
Definiciones para la gaita | ||
Ejemplo de música de gaita |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Gaita ] | [ Up : Gaita ] | [ Ejemplo de música de gaita > ] |
Definiciones para la gaita
LilyPond contiene definiciones especiales para la música de gaita escocesa de las tierras altas; para usarlas, escriba
\include "bagpipe.ly"
al principio del archivo de entrada. De esta forma podrá escribir
las notas de adorno especiales que son usuales en la música de
gaita, mediante instrucciones breves. Por ejemplo, puede escribir
\taor
en lugar de
\grace { \small G32[ d G e] }
bagpipe.ly también contiene definiciones de alturas para
las notas de la gaita en las octavas adecuadas, de forma que no se
tenga que preocupar por \relative
o por \transpose
.
\include "bagpipe.ly" { \grg G4 \grg a \grg b \grg c \grg d \grg e \grg f \grA g A }
La música de gaita utiliza siempre la tonalidad de Re mayor
(aunque esto no es completamente cierto). Sin embargo, puesto que
es la única tonalidad que se puede utilizar, normalmente la
armadura no se escribe. Para configurar esto de forma correcta,
comience la música siempre con \hideKeySignature
(ocultar
armadura). Si, por algún motivo, quiere mostrar la armadura, puede
usar \showKeySignature
en su lugar.
Alguna música moderna utiliza digitaciones cruzadas sobre el Do y
el Fa para bemolizar estas notas. Se puede indicar esto mediante
c-flat
o f-flat
. De forma parecida, el sol agudo
piobaireachd se puede escribir g-flat
cuando aparece en
música ligera.
Véase también
Fragmentos de código: Winds.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Definiciones para la gaita ] | [ Up : Gaita ] | [ Instrumentos de viento madera > ] |
Ejemplo de música de gaita
La conocida melodía Amazing Grace tiene este aspecto en notación de gaita.
\include "bagpipe.ly" \layout { indent = 0.0\cm \context { \Score \remove Bar_number_engraver } } \header { title = "Amazing Grace" meter = "Hymn" arranger = "Trad. arr." } { \hideKeySignature \time 3/4 \grg \partial 4 a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 \grg f8 e \thrwd d2 \grg b4 \grG a2 \grg a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 \grg e8. f16 \dblA A2 \grg A4 \grg A2 f8. A16 \grg A2 \hdblf f8[ e32 d16.] \grg f2 \grg f8 e \thrwd d2 \grg b4 \grG a2 \grg a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 e4 \thrwd d2. \slurd d2 \bar "|." }
Véase también
Fragmentos de código: Winds.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Ejemplo de música de gaita ] | [ Up : Instrumentos de viento ] | [ Diagramas de posiciones para viento madera > ] |
2.6.3 Instrumentos de viento madera
Esta sección estudia la notación específica para instrumentos de viento madera.
2.6.3.1 Diagramas de posiciones para viento madera |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Instrumentos de viento madera ] | [ Up : Instrumentos de viento madera ] | [ Notación de acordes > ] |
2.6.3.1 Diagramas de posiciones para viento madera
Se pueden utilizar diagramas de posiciones para los instrumentos de viento madera para indicar la digitación que usar al tocar ciertas notas, y están disponibles para los siguientes instrumentos:
- flautín
- flauta
- oboe
- clarinete
- clarinete bajo
- saxofón
- fagot
- contrafagot
Los diagramas se crean como elementos de marcado:
c''1^\markup { \woodwind-diagram #'piccolo #'((lh . (gis)) (cc . (one three)) (rh . (ees))) }
Las llaves pueden estar abiertas, parcialmente cubiertas, con el anillo pulsado o totalmente apretadas:
\textLengthOn c''1^\markup { \center-column { "one quarter" \woodwind-diagram #'flute #'((cc . (one1q)) (lh . ()) (rh . ())) } } c''1^\markup { \center-column { "one half" \woodwind-diagram #'flute #'((cc . (one1h)) (lh . ()) (rh . ())) } } c''1^\markup { \center-column { "three quarter" \woodwind-diagram #'flute #'((cc . (one3q)) (lh . ()) (rh . ())) } } c''1^\markup { \center-column { "ring" \woodwind-diagram #'flute #'((cc . (oneR)) (lh . ()) (rh . ())) } } c''1^\markup { \center-column { "full" \woodwind-diagram #'flute #'((cc . (oneF two)) (lh . ()) (rh . ())) } }
Los trinos se indican mediante llaves sombreadas:
c''1^\markup { \woodwind-diagram #'bass-clarinet #'((cc . (threeT four)) (lh . ()) (rh . (b fis))) }
Es posible imprimir una amplia variedad de trinos:
\textLengthOn c''1^\markup { \center-column { "one quarter to ring" \woodwind-diagram #'flute #'((cc . (one1qTR)) (lh . ()) (rh . ())) } } c''1^\markup { \center-column { "ring to shut" \woodwind-diagram #'flute #'((cc . (oneTR)) (lh . ()) (rh . ())) } } c''1^\markup { \center-column { "ring to open" \woodwind-diagram #'flute #'((cc . (oneRT)) (lh . ()) (rh . ())) } } c''1^\markup { \center-column { "open to shut" \woodwind-diagram #'flute #'((cc . (oneT)) (lh . ()) (rh . ())) } } c''1^\markup { \center-column { "one quarter to three quarters" \woodwind-diagram #'flute #'((cc . (one1qT3q)) (lh . ()) (rh . ())) } }
La lista de todas las tonalidades y ajustes posibles para un
instrumento dado se puede imprimir en la consola usando
#(print-keys-verbose 'flute)
o en el archivo de registro
usando #(print-keys-verbose 'flute (current-error-port))
,
aunque no se pueden mostrar en la salida de música impresa.
Es posible crear diagramas nuevos, aunque requiere conocimientos de Scheme y quizá no esté al alcance de todos los usuarios. Los patrones de los diagramas están en scm/define-woodwind-diagrams.scm y en scm/display-woodwind-diagrams.scm.
Instrucciones predefinidas
Fragmentos de código seleccionados
Listado de los diagramas para viento madera
El fragmento de música que aparece a continuación presenta todos los diagramas de viento madera que se encuentran definidos en LilyPond por el momento.
\layout { indent = 0 } \relative c' { \textLengthOn c1^ \markup { \center-column { 'tin-whistle " " \woodwind-diagram #'tin-whistle #'() } } c1^ \markup { \center-column { 'piccolo " " \woodwind-diagram #'piccolo #'() } } c1^ \markup { \center-column { 'flute " " \woodwind-diagram #'flute #'() } } c1^\markup { \center-column { 'oboe " " \woodwind-diagram #'oboe #'() } } c1^\markup { \center-column { 'clarinet " " \woodwind-diagram #'clarinet #'() } } c1^\markup { \center-column { 'bass-clarinet " " \woodwind-diagram #'bass-clarinet #'() } } c1^\markup { \center-column { 'saxophone " " \woodwind-diagram #'saxophone #'() } } c1^\markup { \center-column { 'bassoon " " \woodwind-diagram #'bassoon #'() } } c1^\markup { \center-column { 'contrabassoon " " \woodwind-diagram #'contrabassoon #'() } } }
Diagramas para viento madera gráficos y textuales
En muchos casos, las llaves que no están en la columna central se pueden presentar por el nombre de la llave así como de forma gráfica.
\relative c'' { \textLengthOn c1^\markup \woodwind-diagram #'piccolo #'((cc . (one three)) (lh . (gis)) (rh . (ees))) c^\markup \override #'(graphical . #f) { \woodwind-diagram #'piccolo #'((cc . (one three)) (lh . (gis)) (rh . (ees))) } }
Modificar el tamaño de los diagramas de viento madera
Se puede cambiar el tamaño y grosor de las líneas de los diagramas de posiciones para instrumentos de viento madera.
\relative c'' { \textLengthOn c1^\markup \woodwind-diagram #'piccolo #'() c^\markup \override #'(size . 1.5) { \woodwind-diagram #'piccolo #'() } c^\markup \override #'(thickness . 0.15) { \woodwind-diagram #'piccolo #'() } }
Listas de llaves para los diagramas de viento madera
El fragmento de código que aparece a continuación produce una lista de
todas las llaves y disposiciones de llave posibles para los diagramas
de posiciones de instrumentos de viento madera, tal y como están
definidos en scm/define-woodwind-diagrams.scm
. La lista se
muestra en el archivo de registro, pero no en la música. Si desea una
salida por la consola, omita el (current-error-port)
de las
instrucciones.
#(print-keys-verbose 'piccolo (current-error-port)) #(print-keys-verbose 'flute (current-error-port)) #(print-keys-verbose 'flute-b-extension (current-error-port)) #(print-keys-verbose 'tin-whistle (current-error-port)) #(print-keys-verbose 'oboe (current-error-port)) #(print-keys-verbose 'clarinet (current-error-port)) #(print-keys-verbose 'bass-clarinet (current-error-port)) #(print-keys-verbose 'low-bass-clarinet (current-error-port)) #(print-keys-verbose 'saxophone (current-error-port)) #(print-keys-verbose 'soprano-saxophone (current-error-port)) #(print-keys-verbose 'alto-saxophone (current-error-port)) #(print-keys-verbose 'tenor-saxophone (current-error-port)) #(print-keys-verbose 'baritone-saxophone (current-error-port)) #(print-keys-verbose 'bassoon (current-error-port)) #(print-keys-verbose 'contrabassoon (current-error-port)) \score {c''1}
Véase también
Archivos de inicio:
scm/define-woodwind-diagrams.scm,
scm/display-woodwind-diagrams.scm.
Fragmentos de código: Winds.
Referencia de funcionamiento interno: TextScript, instrument-specific-markup-interface.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Diagramas de posiciones para viento madera ] | [ Up : Notación especializada ] | [ Modo de acordes > ] |
2.7 Notación de acordes
Los acordes se pueden escribir en el modo de acordes, que reconoce ciertas convenciones europeas tradicionales de nomenclatura de acordes. También se pueden imprimir los nombres de los acordes. Además se puede imprimir notación de bajo cifrado.
2.7.1 Modo de acordes | ||
2.7.2 Imprimir los acordes | ||
2.7.3 Bajo cifrado |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notación de acordes ] | [ Up : Notación de acordes ] | [ Panorámica del modo de acordes > ] |
2.7.1 Modo de acordes
Para introducir acordes se utiliza el modo de acordes. Se usa un indicador de la estructura del acorde en lugar de la altura de sus notas.
Panorámica del modo de acordes | ||
Acordes más usuales | ||
Acordes extendidos y alterados | ||
Inversiones de acorde y realizaciones especiales |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Modo de acordes ] | [ Up : Modo de acordes ] | [ Acordes más usuales > ] |
Panorámica del modo de acordes
Los acordes se pueden escribir como música simultánea, como se explica en Notas en acorde.
También se pueden escribir los acordes en el “modo de acordes”, que es un modo de entrada que se centra en las estructuras de los acordes dentro de la música europea tradicional (donde se conoce como «cifrado americano») más que en las notas concretas. Esto es muy práctico para los que están familiarizados con la utilización de nombres para describir los acordes. Hay más información sobre los distintos modos de entrada en Modos de entrada.
\chordmode { c1 g a g c }
Los acordes escritos con el modo de acordes son elementos
musicales, y se pueden transportar igual que los acordes escritos
mediante construcciones de música simultánea. \chordmode
es
absoluto, pues \relative
no tiene ningún efecto sobre los
bloques chordmode
. Sin embargo, dentro de
\chordmode
las alturas absolutas son una octava más agudas
que en el modo de notas.
Se pueden mezclar los modos de acorde y de nota en la música secuencial:
\relative { <c' e g>2 <g b d> \chordmode { c2 f } <c e g>2 <g' b d> \chordmode { f2 g } }
Véase también
Glosario musical: chord.
Referencia de la notación: Notas en acorde, Modos de entrada.
Fragmentos de código: Chords.
Advertencias y problemas conocidos
No se pueden usar las abreviaturas predefinidas de articulaciones y adornos sobre notas dentro del modo de acordes; véase Articulaciones y ornamentos.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Panorámica del modo de acordes ] | [ Up : Modo de acordes ] | [ Acordes extendidos y alterados > ] |
Acordes más usuales
Las tríadas mayores se introducen escribiendo la fundamental y una duración opcional:
\chordmode { c2 f4 g }
Las tríadas menores, aumentadas y disminuidas se escriben poniendo
:
y una cadena modificadora de variante después de la
duración:
\chordmode { c2:m f4:aug g:dim }
Se pueden crear acordes de séptima:
\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
La tabla que aparece más abajo muestra el efecto de los modificadores de variante sobre los acordes de tríada y de séptima. La séptima añadida de forma predeterminada a los acordes es menor, lo que hace del acorde de séptima dominante el acorde básico de séptima. Todas las alteraciones se consideran en relación con la séptima dominante. Hay una tabla más completa donde aparecen los usos de los modificadores en Modificadores de acorde más usuales.
Modificador | Acción | Ejemplo |
Ninguno | Acción predeterminada; produce una tríada mayor. | |
m, m7 | Acorde menor. Este modificador baja la tercera. | |
dim, dim7 | Acorde disminuido. Este modificador baja la tercera, la quinta y, si existe, la séptima. | |
aug | Acorde aumentado. Este modificador eleva la quinta. | |
maj, maj7 | Acorde de séptima mayor. Este modificador añade una séptima
elevada. El 7 que sigue a maj es opcional. NO
utilice este modificador para crear una tríada mayor. |
Véase también
Referencia de la notación: Modificadores de acorde más usuales, Acordes extendidos y alterados.
Fragmentos de código: Chords.
Advertencias y problemas conocidos
Sólo se puede usar un modificador por cada acorde, normalmente sobre la nota más aguda del mismo. Los acordes con más de un modificador se analizan sin producir errores ni advertencias, pero el resultado es impredecible. Los acordes que no se pueden conseguir con un solo modificador se deben alterar en sus notas individuales como se describe en Acordes extendidos y alterados.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Acordes más usuales ] | [ Up : Modo de acordes ] | [ Inversiones de acorde y realizaciones especiales > ] |
Acordes extendidos y alterados
Se pueden crear estructuras de acorde de complejidad arbitraria dentro del modo de acordes. Se puede usar la cadena modificadora para extender un acorde, añadir o quitar notas, elevar o bajar notas del acorde y añadir un bajo distinto o crear una inversión.
El primer número que sigue al :
se considera que es el
ámbito del acorde. El acorde se construye secuencialmente
añadiendo terceras a la fundamental hasta que se alcanza el número
especificado. Observe que la séptima añadida como parte de un
acorde extendido es la séptima menor, no mayor. Si el ámbito no
es una tercera (p.ej. 6), se añaden terceras hasta la tercera más
alta inferior al ámbito, y después se añade la nota del ámbito.
El mayor valor posible para el ámbito es 13. Cualquier valor
mayor se interpreta como 13.
\chordmode { c1:2 c:3 c:4 c:5 c1:6 c:7 c:8 c:9 c1:10 c:11 c:12 c:13 c1:14 }
Como excepción especial, c:5
produce un ‘power chord’,
que tiene solamente la fundamental y la quinta.
Puesto que una oncena sin alteración no suena bien cuando se
combina con una trecena sin alteración, se elimina la oncena de
los acordes de :13
(a no ser que se añada explícitamente).
\chordmode { c1:13 c:13.11 c:m13 }
Se pueden añadir notas individuales a un acorde. Las adiciones
siguen el ámbito y van prefijadas por un punto (.
). La
séptima normal que se añade a un acorde es la séptima menor, no
mayor.
\chordmode { c1:3.5.6 c:3.7.8 c:3.6.13 }
Las notas añadidas pueden ser tan agudas como se desee.
\chordmode { c4:3.5.15 c:3.5.20 c:3.5.25 c:3.5.30 }
Las notas añadidas a los acordes se pueden alterar mediante la
adición de los sufijos -
o +
al número. Para
alterar una nota que se ha incluido automáticamente como parte de
la estructura básica del acorde, añádala como una nota alterada.
\chordmode { c1:7+ c:5+.3- c:3-.5-.7- }
Una nota que se quiere suprimir de un acorde se indica dentro de
la cadena modificadora prefijándola por un acento circunflejo
^
. Sólo se permite una supresión con ^
dentro de
una cadena modificadora.
\chordmode { c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7 }
Se puede añadir el modificador sus
a la cadena modificadora
para crear acordes suspendidos. Esto elimina la tercera del
acorde. Escriba bien 2
o bien 4
para añadir la
segunda o la cuarta al acorde, respectivamente. Cuando sus
va seguido de una segunda o una cuarta, es equivalente a
^3
, y en caso contrario a sus4
, o sea, 5.4
.
\chordmode { c1:sus c:sus2 c:sus4 c:5.4 }
Se pueden especificar notas añadidas en el bajo (colocar en el
bajo una nota distinta de la fundamental del acorde) mediante la
adición de /
nota al acorde.
\chordmode { c'1 c'/e c'/f }
Si la nota añadida ya forma parte del acorde, esto se puede
aprovechar para imprimir inversiones de acorde, en cuyo caso la
nota no se añade realmente sino que se desplaza a la base del
acorde. Sin embargo, se puede tratar como una nota añadida
(imprimiéndose así dos veces), mediante la sintaxis
/+
nota.
\chordmode { c'1 c'/g c'/+e }
Las inversiones y realizaciones de acorde automáticas se explican en Inversiones de acorde y realizaciones especiales.
Los modificadores de acorde que se pueden utilizar para producir una amplia variedad de acordes estándar se muestran en Modificadores de acorde más usuales.
Véase también
Referencia de la notación: Inversiones de acorde y realizaciones especiales, Modificadores de acorde más usuales.
Fragmentos de código: Chords.
Advertencias y problemas conocidos
Cada nota sólo puede estar presente en el acorde una sola vez. Lo
que sigue produce simplemente el acorde aumentado, porque
5+
se interpreta en último lugar.
\chordmode { c1:3.5.5-.5+ }
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Acordes extendidos y alterados ] | [ Up : Modo de acordes ] | [ Imprimir los acordes > ] |
Inversiones de acorde y realizaciones especiales
Además de los modificadores de acorde y las notas añadidas en el bajo, se pueden usar varias funciones para imprimir automáticamente acordes en una inversión o realización especial (por ejemplo la realización conocida como ‘drop 2’ que se usa habitualmente en el jazz).
\chordmode { \dropNote 2 { c2:maj7 d:m7 } \invertChords 1 d1:maj7 }
A diferencia de las notas añadidas en el bajo que se ven en
Acordes extendidos y alterados, esto afecta solamente a la
manera en que los acordes se imprimen en un pentagrama, y no a los
nombres de acorde escritos con letras. Es más, estas funciones se
pueden usar no solo en el modo de acordes sino también con la
construcción de acorde habitual <...>
que se explica en
Notas en acorde.
Véase también
Referencia de la notación: Acordes extendidos y alterados, Notas en acorde.
Fragmentos de código: Chords.
2.7.2 Imprimir los acordes
Los acordes se pueden imprimir por su nombre, además de la impresión estándar como notas sobre un pentagrama.
Impresión de los nombres de acorde | ||
Nombres de acorde personalizados |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Imprimir los acordes ] | [ Up : Imprimir los acordes ] | [ Nombres de acorde personalizados > ] |
Impresión de los nombres de acorde
Los nombres de acorde se imprimen dentro del contexto
ChordNames
:
\new ChordNames { \chordmode { c2 f4. g8 } }
Los acordes se pueden escribir como notas simultáneas o a través del uso del modo de acordes. El nombre de acorde que se imprime es el mismo independientemente del modo de entrada, a no ser que existan inversiones o bajos añadidos:
chordmusic = \relative { <c' e g>2 <f bes c> <f c' e g>1 \chordmode { c2 f:sus4 c1:/f } } << \new ChordNames { \chordmusic } { \chordmusic } >>
Los silencios pasados a un contexto ChordNames
hacen que se
imprima el elemento de marcado noChordSymbol
(símbolo de
N.C., Sin Acorde).
<< \new ChordNames \chordmode { c1 r1 g1 c1 } \chordmode { c1 r1 g1 c1 } >>
\chords { … }
es una forma abreviada de escribir
\new ChordNames \chordmode { … }
.
\chords { c2 f4.:m g8:maj7 }
\new ChordNames { \chordmode { c2 f4.:m g8:maj7 } }
Fragmentos de código seleccionados
Imprimir los acordes cuando se produce un cambio
De forma predeterminada se imprimen todos los acordes que aparecen en el código de entrada; se puede modificar este comportamiento de tal manera que los acordes se impriman exclusivamente al comienzo de las líneas y cuando cambia el acorde.
harmonies = \chordmode { c1:m c:m \break c:m c:m d } << \new ChordNames { \set chordChanges = ##t \harmonies } \new Staff { \relative c' { \harmonies } } >>
Hoja guía de acordes o «lead sheet» sencilla
Al juntar nombres de acorde en cifrado americano, melodía y letra, obtenemos una hoja guía de acordes o «lead sheet»:
<< \chords { c2 g:sus4 f e } \new Staff \relative c'' { a4 e c8 e r4 b2 c4( d) } \addlyrics { One day this shall be free __ } >>
Véase también
Glosario musical: chord.
Referencia de la notación: Escribir música en paralelo.
Fragmentos de código: Chords.
Referencia de funcionamiento interno: ChordNames, ChordName, Chord_name_engraver, Volta_engraver, Bar_engraver.
Advertencias y problemas conocidos
Los acordes que contienen inversiones o bajos alterados no reciben un nombre adecuado si se escriben usando música simultánea.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Impresión de los nombres de acorde ] | [ Up : Imprimir los acordes ] | [ Bajo cifrado > ] |
Nombres de acorde personalizados
No hay un sistema único para nombrar acordes. Las distintas tradiciones musicales usan distintos nombres para el mismo conjunto de acordes. También hay distintos símbolos impresos para un nombre de acorde dado. Los nombres y símbolos que se imprimen para los nombres de acorde dados se pueden personalizar.
El esquema de nomenclatura de acordes predeterminado es un sistema para música de Jazz, propuesto por Klaus Ignatzek (véase Lista de referencias bibliográficas. Se pueden implementar otros sistemas de nomenclatura de acordes mediante funciones de Scheme, como se muestra en el fragmento de código “Chord names alternative” dentro de la sección Chords.)). Hay una lista de notaciones comunes para acordes de jazz en la tabla de la sección Cuadro de nombres de acordes.
Se puede trucar fácilmente el sistema de nomenclatura de acordes
predeterminado. Para empezar, ciertas órdenes predefinidas
permiten la utilización de distintos idiomas para la nota
fundamental. Entre ellos están \germanChords
,
\semiGermanChords
, \italianChords
y
\frenchChords
:
Algunos cancioneros alemanes indican los acordes menores como
letras minúsculas, sin el sufijo m. Esto se puede conseguir
estableciendo la propiedad chordNameLowercaseMinor
:
\chords { \set chordNameLowercaseMinor = ##t c2 d:m e:m f }
También se puede afinar la presentación de los nombres de acorde a través de las siguientes propiedades.
chordRootNamer
-
El nombre de acorde se imprime normalmente como una letra para la fundamental con una alteración opcional. La transformación de la nota en la letra se realiza por parte de esta función. Los nombres de nota especiales (por ejemplo, la ‘H’ alemana para un acorde de Si) se pueden producir almacenando una función nueva en esta propiedad.
majorSevenSymbol
-
Esta propiedad contiene el objeto de marcado que se usa para hacer el seguimiento de la salida de
chordRootNamer
para identificar un acorde de séptima mayor. Las opciones predefinidas sonwhiteTriangleMarkup
(triángulo blanco) yblackTriangleMarkup
(triángulo negro). additionalPitchPrefix
-
Cuando el acorde contiene notas añadidas, se pueden prefijar opcionalmente por un texto. Por omisión no hay ningún prefijo, para evitar la sobrecarga visual, pero para pequeñas cantidades de notas añadidas puede ser visualmente efectivo.
\new ChordNames { <c e g d'> % add9 \set additionalPitchPrefix = "add" <c e g d'> % add9 }
chordNoteNamer
-
Cuando el nombre del acorde contiene notas adicionales aparte de la fundamental (p.ej., un bajo añadido), se utiliza esta función para imprimir la nota adicional. De forma predeterminada se imprime la nota usando
chordRootNamer
. La propiedadchordNoteNamer
se puede establecer a una función especializada para cambiar este comportamiento. Por ejemplo, el bajo se puede imprimir en minúscula. chordNameSeparator
-
Las diferentes partes del nombre de un acorde se separan normalmente mediante un pequeño espacio en blanco. Mediante el ajuste de
chordNameSeparator
, podemos usar cualquier marcado que deseemos como separador. Esto no afecta al separador entre un acorde y la nota del bajo: para personalizar eso, utiliceslashChordSeparator
.\chords { c4:7.9- c:7.9-/g \set chordNameSeparator = \markup { "/" } \break c4:7.9- c:7.9-/g }
slashChordSeparator
-
Los acordes se pueden tocar sobre una nota del bajo distinta a la fundamental. Se llaman "inversiones" o "acordes de barra inclinada" porque la manera predeterminada de efectuar su notación es con una barra inclinada entre el acorde y la nota del bajo. Por tanto, el valor de
slashChordSeparator
es, por omisión, una barra inclinada, pero podemos cambiarlo a cualquier elemento de marcado que queramos.\chords { c4:7.9- c:7.9-/g \set slashChordSeparator = \markup { " over " } \break c4:7.9- c:7.9-/g }
chordNameExceptions
-
Esta propiedad es una lista de parejas. El primer elemento de cada pareja es un conjunto de notas utilizadas para identificar los elementos presentes en el acorde. El segundo elemento es un elemento de marcado que sigue a la salida de
chordRootNamer
para crear el nombre del acorde. minorChordModifier
-
La notación de los acordes menores se suele hacer por medio del sufijo ‘m’ a la derecha de la letra que indica la fundamental del acorde. Sin embargo, otras convenciones dan preferencia a sufijos diferentes, como un signo menos.
\chords { c4:min f:min7 \set minorChordModifier = \markup { "-" } \break c4:min f:min7 }
chordPrefixSpacer
-
El modificador de los acordes menores tal y como viene determinado por
minorChordModifier
se imprime por lo general inmediatamente a la derecha de la fundamental. Se puede insertar un símbolo separador entre la fundamental y el modificador estableciendochordPrefixSpacer
. El símbolo separador no se usa cuando el acorde está alterado.
Instrucciones predefinidas
\whiteTriangleMarkup
,
\blackTriangleMarkup
,
\germanChords
,
\semiGermanChords
,
\italianChords
,
\frenchChords
.
Fragmentos de código seleccionados
Excepciones para los nombres de acorde
Se puede usar la propiedad chordNameExceptions
para
almacenar una lista de notaciones espaciales para acordes
específicos.
% modify maj9 and 6(add9) % Exception music is chords with markups chExceptionMusic = { <c e g b d'>1-\markup { \super "maj9" } <c e g a d'>1-\markup { \super "6(add9)" } } % Convert music to list and prepend to existing exceptions. chExceptions = #(append (sequential-music-to-chord-exceptions chExceptionMusic #t) ignatzekExceptions) theMusic = \chordmode { g1:maj9 g1:6.9 \set chordNameExceptions = #chExceptions g1:maj9 g1:6.9 } \layout { ragged-right = ##t } << \new ChordNames \theMusic \new Voice \theMusic >>
Nombre de acorde maj7
La presentación del acorde de séptima mayor se puede ajustar mediante majorSevenSymbol.
\chords { c:7+ \set majorSevenSymbol = \markup { j7 } c:7+ }
Añadir barras de compás al contexto de nombres de acorde (ChordNames)
Para añadir indicaciones de línea divisoria dentro del contexto de
los nombres de acorde ChordNames
, incluya el grabador
Bar_engraver
.
\new ChordNames \with { \override BarLine.bar-extent = #'(-2 . 2) \consists "Bar_engraver" } \chordmode { f1:maj7 f:7 bes:7 }
Corchetes de primera y segunda vez debajo de los acordes
Mediante la adición del grabador Volta_engraver
al
pentagrama pertinente, se pueden poner los corchetes de primera y
segunda vez debajo de los acordes.
\score { << \chords { c1 c1 } \new Staff \with { \consists "Volta_engraver" } { \repeat volta 2 { c'1 } \alternative { c' } } >> \layout { \context { \Score \remove "Volta_engraver" } } }
Modificación del separador de acordes
Se puede establecer el separador entre las distintas partes del nombre de un acorde para que sea cualquier elemento de marcado.
\chords { c:7sus4 \set chordNameSeparator = \markup { \typewriter | } c:7sus4 }
Véase también
Referencia de la notación: Cuadro de nombres de acordes, Modificadores de acorde más usuales.
El ensayo sobre grabado musical automatizado: Lista de referencias bibliográficas.
Archivos instalados: scm/chords-ignatzek-names.scm, scm/chord-entry.scm, ly/chord-modifiers-init.ly.
Fragmentos de código: Chords.
Advertencias y problemas conocidos
Los nombres de acorde se determinan a partir de las notas que
están presentes en el mismo y de la información acerca de la
estructura del acorde que ha podido ser introducida en
\chordmode
. Si el método de las notas simultáneas se usa
para introducir los acordes, pueden resultar nombres no deseados a
partir de las inversiones o de las notas del bajo.
myChords = \relative c' { \chordmode { c1 c/g c/f } <c e g>1 <g c e> <f c' e g> } << \new ChordNames { \myChords } \new Staff { \myChords } >>
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Nombres de acorde personalizados ] | [ Up : Notación de acordes ] | [ Introducción al bajo cifrado > ] |
2.7.3 Bajo cifrado
Se puede imprimir notación de bajo cifrado.
Introducción al bajo cifrado | ||
Introducir el bajo cifrado | ||
Imprimir el bajo cifrado |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Bajo cifrado ] | [ Up : Bajo cifrado ] | [ Introducir el bajo cifrado > ] |
Introducción al bajo cifrado
LilyPond contempla el bajo cifrado, también conocido como basso continuo:
<< \new Voice { \clef bass dis4 c d ais g fis} \new FiguredBass { \figuremode { < 6 >4 < 7\+ >8 < 6+ [_!] > < 6 >4 <6 5 [3+] > < _ >4 < 6 5/>4 } } >>
El soporte para bajo cifrado se compone de dos partes: hay un modo
de entrada, presentado por \figuremode
, que admite la
entrada de las cifras del bajo, y hay un contexto llamado
FiguredBass
que se ocupa de la impresión de los objetos del
tipo BassFigure
. El bajo cifrado también se puede imprimir
dentro de contextos de Staff
.
\figures { … }
es una notación abreviada de
\new FiguredBass \figuremode { … }
.
Aunque el soporte para bajo cifrado puede parecerse
superficialmente al de los acordes, realmente es mucho más simple.
El modo \figuremode
simplemente almacena las cifras y el
contexto FiguredBass
las imprime tal y como se han
introducido. No hay ninguna conversión a notas.
Véase también
Glosario musical: figured bass.
Fragmentos de código: Chords.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Introducción al bajo cifrado ] | [ Up : Bajo cifrado ] | [ Imprimir el bajo cifrado > ] |
Introducir el bajo cifrado
Se usa \figuremode
para cambiar el modo de entrada al modo
de cifras. Hay más información sobre los distintos modos de
entrada en Modos de entrada.
En el modo de cifras, un grupo de cifras del bajo está delimitado
mediante ángulos simples, <
y >
. La duración se
escribe después del >
.
\new FiguredBass { \figuremode { <6 4>2 } }
Se pueden usar alteraciones accidentales (incluso becuadros) para
modificar grados de la escala. Se escriben añadiendo +
(para los sostenidos), -
(para los bemoles) o !
(para los becuadros) después del número. Para obtener
alteraciones dobles, se aplica el modificador dos veces seguidas.
Con frecuencia, para la modificación del tercer grado se omite el
número, lo que puede obtenerse utilizando _
en lugar de un
número.
\figures { <7! 6+ 4-> <5++> <3--> < _+ > < 7 _!> }
Se pueden indicar elementos del acorde aumentados y disminuidos:
\figures { <6\+ 5/> <7/> }
Se puede crear una barra invertida cruzando una cifra (usada normalmente para sextas elevadas):
\figures { <6> <6\\> }
Se pueden incluir corchetes en las cifras:
\figures { <[12] 8 [6 4]> }
Se puede insertar cualquier elemento de marcado de texto como una cifra:
\figures { <\markup { \tiny \number 6 \super (1) } 5> }
Se pueden usar líneas de continuación para indicar cifras que se repiten:
<< { \clef bass e4 d c b, e4 d c b, } \figures { \bassFigureExtendersOn <6 4>4 <6 3> <7 3> <7 3> \bassFigureExtendersOff <6 4>4 <6 3> <7 3> <7 3> } >>
En este caso, las líneas de extensión sustituyen a las cifras existentes, a no ser que las líneas de continuación hayan sido terminadas explícitamente.
<< \figures { \bassFigureExtendersOn <6 4>4 <6 4> <6\! 4\!> <6 4> } { \clef bass d4 d c c } >>
La siguiente tabla resume los modificadores de cifrado disponibles.
Modificador | Propósito | Ejemplo |
+, -, ! | Alteraciones | |
\+, / | Aumentaciones y disminuciones | |
\\ | Sexta elevada | |
\! | Fin de línea de continuación |
Instrucciones predefinidas
\bassFigureExtendersOn
,
\bassFigureExtendersOff
.
Fragmentos de código seleccionados
Cambiar las posiciones de las alteraciones del bajo cifrado
Las alteraciones y los signos «más» pueden aparecer antes o
después de los números, según el valor de las propiedades
figuredBassAlterationDirection
y
figuredBassPlusDirection
.
\figures { <5\+> <5+ 4\+> <6 4- 2\+> r \set figuredBassAlterationDirection = #RIGHT <5\+> <5+ 4\+> <6 4- 2\+> r \set figuredBassPlusDirection = #RIGHT <5\+> <5+ 4\+> <6 4- 2\+> r \set figuredBassAlterationDirection = #LEFT <5\+> <5+ 4\+> <6 4- 2\+> r }
Véase también
Fragmentos de código: Chords.
Referencia de funcionamiento interno: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Introducir el bajo cifrado ] | [ Up : Bajo cifrado ] | [ Música contemporánea > ] |
Imprimir el bajo cifrado
El bajo cifrado se puede imprimir usando el contexto
FiguredBass
, o dentro de la mayoría de los contextos de
pentagrama.
Cuando se presenta dentro de un contexto de FiguredBass
, la
ubicación vertical de las cifras es independiente de las notas que
están en el pentagrama.
<< \relative { c''4 c'8 r8 c,4 c' } \new FiguredBass { \figuremode { <4>4 <10 6>8 s8 <6 4>4 <6 4> } } >>
En el ejemplo de arriba, el contexto FiguredBass
se debe
instanciar explícitamente para evitar crear un segundo pentagrama
vacío.
El bajo cifrado se puede añadir también a contextos de
Staff
directamente. En este caso, la posición vertical de
las cifras se ajusta automáticamente.
<< \new Staff = "myStaff" \figuremode { <4>4 <10 6>8 s8 <6 4>4 <6 4> } %% Put notes on same Staff as figures \context Staff = "myStaff" { \clef bass c4 c'8 r8 c4 c' } >>
Cuando se escribe dentro de un contexto de pentagrama, el bajo cifrado se puede presentar encima o debajo del mismo.
<< \new Staff = "myStaff" \figuremode { <4>4 <10 6>8 s8 \bassFigureStaffAlignmentDown <6 4>4 <6 4> } %% Put notes on same Staff as figures \context Staff = "myStaff" { \clef bass c4 c'8 r8 c4 c' } >>
Instrucciones predefinidas
\bassFigureStaffAlignmentDown
,
\bassFigureStaffAlignmentUp
,
\bassFigureStaffAlignmentNeutral
.
Véase también
Fragmentos de código: Chords.
Referencia de funcionamiento interno: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.
Advertencias y problemas conocidos
Para asegurar que las líneas extensoras funcionan adecuadamente, lo más seguro es utilizar las mismas duraciones en la línea de cifras y en la línea del bajo.
<< { \clef bass \repeat unfold 4 { f16. g32 } f8. es16 d8 es } \figures { \bassFigureExtendersOn % The extenders are correct here, with the same rhythm as the bass \repeat unfold 4 { <6 4->16. <6 4->32 } <5>8. r16 <6>8 <6\! 5-> } >> << { \clef bass \repeat unfold 4 { f16. g32 } f8. es16 d8 es } \figures { \bassFigureExtendersOn % The extenders are incorrect here, even though the timing is the same <6 4->4 <6 4->4 <5>8. r16 <6>8 <6\! 5-> } >>
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Imprimir el bajo cifrado ] | [ Up : Notación especializada ] | [ Altura y armonía en la música contemporánea > ] |
2.8 Música contemporánea
A partir de comienzos del s.XX se ha producido una expansión masiva de los estilos y técnicas composicionales. Los nuevos desarrollos armónicos y rítmicos, una expansión del espectro de alturas y el desarrollo de un amplio abanico de nuevas técnicas instrumentales han venido acompañadas de una evolución y expansión paralelas de la notación musical. El objetivo de esta sección es proporcionar referencias e información relevante para el trabajo con estas nuevas técnicas notacionales.
2.8.1 Altura y armonía en la música contemporánea
Esta sección destaca los problemas de la notación de las alturas y la armonía en la música contemporánea.
Referencias para alturas y armonía en música contemporánea | ||
Notación microtonal | ||
Armonía y armaduras de tonalidad contemporáneas |
Referencias para alturas y armonía en música contemporánea
- La notación estándar de cuartos de tono se estudia en Nombres de las notas en otros idiomas.
- Las armaduras de tonalidad no estándar se estudian en Armadura de la tonalidad.
- Las prácticas contemporáneas en la presentación de las alteraciones accidentales se estudian en Alteraciones accidentales automáticas.
Notación microtonal
Armonía y armaduras de tonalidad contemporáneas
2.8.2 Enfoques contemporáneos del ritmo
Esta sección destaca los problemas de la notación de las duraciones en la música contemporánea.
Referencias para enfoque contemporáneos del ritmo
- Los tipos de compás de amalgama se estudian en Indicación de compás.
- La notación polimétrica básica se estudia en Notación polimétrica.
- Las barras en ángulo progresivas se estudian en Barras progresivas.
- Las líneas divisorias de estilo Mensurstriche (líneas que están solamente entre los pentagramas) se estudian en Agrupar pentagramas.
Grupos de valoración especial en música contemporánea
Compases contemporáneos
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Compases contemporáneos ] | [ Up : Enfoques contemporáneos del ritmo ] | [ Barrado en música contemporánea > ] |
Notación polimétrica extendida
Barrado en música contemporánea
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Barrado en música contemporánea ] | [ Up : Enfoques contemporáneos del ritmo ] | [ Notación gráfica > ] |
Líneas divisorias en música contemporánea
2.8.3 Notación gráfica
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notación gráfica ] | [ Up : Música contemporánea ] | [ Nuevas técnicas instrumentales > ] |
2.8.4 Técnicas de partitura contemporáneas
2.8.5 Nuevas técnicas instrumentales
2.8.6 Lecturas adicionales y partituras de interés
Esta sección sugiere libros, ejemplos musicales y otros recursos de utilidad en el estudio de la notación musical contemporánea.
Libros y artículos sobre notación musical contemporánea | ||
Partituras y ejemplos musicales |
Libros y artículos sobre notación musical contemporánea
- Music Notation in the Twentieth Century: A Practical Guidebook de Kurt Stone [W. W. Norton, 1980]
- Music Notation: A Manual of Modern Practice de Gardner Read [Taplinger, 1979]
- Instrumentation and Orchestration de Alfred Blatter [Schirmer, 2nd ed. 1997]
Partituras y ejemplos musicales
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Partituras y ejemplos musicales ] | [ Up : Notación especializada ] | [ Panorámica de los estilos contemplados > ] |
2.9 Notación antigua
Entre las formas en que está contemplada la notación antigua se encuentra la posibilidad de tipografiar notación mensural, canto gregoriano y canto kievano en notación cuadrada. Se puede acceder a estas funcionalidades mediante la modificación de propiedades de estilo de objetos gráficos como la cabeza de las notas o los silencios, o bien mediante la utilización de uno de los contextos predefinidos para estos estilos.
Muchos objetos gráficos, como la cabeza y el corchete de las
figuras, las alteraciones, la indicación de compás y los silencios
ofrecen una propiedad style
(estilo), que se puede cambiar
para emular varios estilos diferentes de notación antigua. Véase
- Cabezas de nota de la música mensural,
- Alteraciones y armaduras de la música mensural,
- Silencios de la música mensural,
- Claves de la música mensural,
- Claves de canto gregoriano,
- Corchetes de la música mensural,
- Indicaciones de compás de la música mensural.
Ciertos conceptos de notación se incluyen específicamente para la notación antigua:
Véase también
Glosario musical: custos, ligature, mensural notation.
Referencia de la notación: Cabezas de nota de la música mensural, Alteraciones y armaduras de la música mensural, Silencios de la música mensural, Claves de canto gregoriano, Corchetes de la música mensural, Indicaciones de compás de la música mensural, Custos, Divisiones, Ligaduras.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notación antigua ] | [ Up : Notación antigua ] | [ Notación antigua – funcionalidades comunes > ] |
2.9.1 Panorámica de los estilos contemplados
Están disponibles tres estilos para la composición tipográfica del canto gregoriano:
- Editio Vaticana es un estilo completo para canto gregoriano, que sigue la apariencia de las ediciones de Solesmes, los libros de canto oficiales del Vaticano desde 1904. LilyPond contempla todos los signos de notación que se utilizan en este estilo, entre ellos las ligaduras, custodias y símbolos especiales como el quilisma y el oriscus.
- El estilo Editio Medicaea ofrece ciertas funcionalidades que se usan en las ediciones Medicaea (o de Ratisbona) que se usaban con anterioridad a las ediciones de Solesmes. Las diferencias más significativas con respecto al estilo Vaticana son las claves, que tienen trazos descendentes, y la cabeza de las figuras, que son cuadradas y regulares.
- El estilo Hufnagel (en “uña de herradura”) o gótico reproduce el estilo de escritura en los manuscritos de canto medievales de Alemania y Centro Europa. Recibe el nombre de la forma de la nota básica (la virga), que parece una pequeña uña.
Tres estilos emulan la apariencia de los manuscritos y ediciones impresas de música mensural tardomedievales y renacentistas:
- El estilo Mensural se asemeja bastante al estilo de escritura utilizado en los manuscritos tardomedievales y renacentistas tempranos, con la cabeza de sus figuras en forma de rombo pequeñas y estrechas, y los silencios que imitan un estilo dibujado a mano.
- El estilo Neomensural es una versión modernizada y estilizada del anterior: la cabeza de las figuras es más ancha y los silencios están formados por trazos rectilíneos. Este estilo está particularmente indicado, p.ej., para los incipits de transcripciones de fragmentos de música mensural.
- El estilo Petrucci recibe su nombre de Ottaviano Petrucci (1466-1539), el primer impresor en utilizar tipos móviles para la música (en su Harmonice musices odhecaton, 1501). Este estilo utiliza para las figuras una cabeza más grande que los otros estilos mensurales.
Baroque y Classical no son estilos completos, sino que difieren del estilo predeterminado solamente en ciertos detalles: algunas cabezas de nota (Baroque) y el silencio de negra (Classical).
Sólo el estilo mensural tiene alternativas para todos los aspectos de la notación. Así, no existen silencios ni corchetes en los estilos gregorianos, pues estos símbolos no se usan en la notación del canto llano, y el estilo Petrucci no posee corchetes ni alteraciones por sí mismo.
Cada elemento de la notación se puede cambiar independientemente de los otros, y así podemos usar corchetes mensurales, cabezas de petrucci, silencios de classical y claves de vaticana en la misma pieza, si queremos.
Véase también
Glosario musical: mensural notation, flag.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Panorámica de los estilos contemplados ] | [ Up : Notación antigua ] | [ Contextos predefinidos > ] |
2.9.2 Notación antigua – funcionalidades comunes
Contextos predefinidos | ||
Ligaduras | ||
Custos |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Notación antigua – funcionalidades comunes ] | [ Up : Notación antigua – funcionalidades comunes ] | [ Ligaduras > ] |
Contextos predefinidos
Para el canto gregoriano y la notación mensural, están a nuestra
disposición contextos predefinidos de voz y de pauta, que
establecen todos los símbolos de notación a unos valores adecuados
para estos estilos. Si nos satisfacen estos valores
predeterminados, podemos a continuación introducir directamente
las notas sin la necesidad de preocuparnos de los detalles sobre
cómo personalizar un contexto. Véanse uno de los contextos
predefinidos VaticanaVoice
, VaticanaStaff
,
MensuralVoice
y MensuralStaff
.
Véase también
Glosario musical: mensural notation.
Referencia de la notación: Contextos del canto gregoriano, Contextos de la música mensural.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Contextos predefinidos ] | [ Up : Notación antigua – funcionalidades comunes ] | [ Custos > ] |
Ligaduras
Una ligadura es un símbolo gráfico que representa al menos dos notas distintas. Las ligaduras aparecieron originalmente en los manuscritos de la notación del canto gregoriano para denotar secuencias de notas ascendentes o descendentes en la misma sílaba. Se usan también en notación mensural.
Las ligaduras se escriben encerrándolas dentro de un par
\[
y \]
. Ciertos estilos de ligadura podrían
necesitar una sintaxis de entrada adicional específica para este
tipo de ligadura en particular. De forma predeterminada, el
grabador LigatureBracket
se limita a colocar un corchete
recto sobre la ligadura:
\relative { \[ g' c, a' f d' \] a g f \[ e f a g \] }
Están disponibles otros dos estilos de ligaduras: el Vaticana para
canto gregoriano, y el Mensural para música mensural (sólo están
contempladas las ligaduras mensurales blancas para la música
mensural, y con ciertas limitaciones). Para usar cualquiera de
estos estilos, se debe sustituir el grabador predeterminado
Ligature_bracket_engraver
por uno de los grabadores
especializados en ligaduras del contexto Voice
, como se
explica en Ligaduras mensurales blancas y
Ligaduras de neumas cuadrados gregorianos.
Véase también
Glosario musical: ligature.
Referencia de la notación: Ligaduras mensurales blancas, Ligaduras de neumas cuadrados gregorianos.
Advertencias y problemas conocidos
El espacio que las ligaduras necesitan no está implementado actualmente, y como resultado, puede producirse una separación excesiva entre ellas. Los saltos de línea podrían también ser poco satisfactorios.
La estra podría no alinearse con la música de la forma esperada cuando se utilizan ligaduras.
No se deben imprimir alteraciones accidentales dentro de una ligadura, sino acumularse e imprimirse delante de ella.
La sintaxis aún utiliza el estilo obsoleto “infijo” \[
expresión musical \]
. Por motivos de consistencia, se cambiará
tarde o temprano al estilo “postfijo” nota\[ …
nota\]
.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Ligaduras ] | [ Up : Notación antigua – funcionalidades comunes ] | [ Tipografiar música mensural > ] |
Custos
Un custos (en plural: custodias, que en latín significa “guarda”) es un símbolo que aparece al final de una pauta. Anticipa la altura de la primera o primeras notas de la línea siguiente, ayudando al intérprete con los saltos de línea durante la ejecución.
Las custodias se utilizaron mucho en la notación musical hasta el siglo XVII. En nuestros días, sobreviven sólo en algunas formas particulares de notación musical como las ediciones contemporáneas de canto gregoriano como la Editio Vaticana. Hay distintos glifos para el custos que se utilizan en las diferentes variaciones de estilo notacional.
Para tipografiar las custodias, simplemente coloque un grabador
Custos_engraver
dentro del contexto Staff
(el
contexto del pentagrama) al declarar el bloque de \layout
(el bloque de disposición de la página), y modifique el estilo del
custos con una instrucción \override
si lo desea, como se
muestra en el ejemplo siguiente:
\score { \relative { a'1 \break g } \layout { \context { \Staff \consists Custos_engraver \override Custos.style = #'mensural } } }
El glifo del custos se selecciona mediante la propiedad
style
. Los estilos contemplados son vaticana
,
medicaea
, hufnagel
y mensural
.
\new Lyrics \lyricmode { \markup { \column { \typewriter "vaticana " \line { " " \musicglyph "custodes.vaticana.u0" } } } \markup { \column { \typewriter "medicaea " \line { " " \musicglyph "custodes.medicaea.u0" } }} \markup { \column { \typewriter "hufnagel " \line { " " \musicglyph "custodes.hufnagel.u0" } }} \markup { \column { \typewriter "mensural " \line { " " \musicglyph "custodes.mensural.u0" } }} }
Véase también
Glosario musical: custos.
Fragmentos de código: Ancient notation.
Referencia de funcionamiento interno: Custos.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Custos ] | [ Up : Notación antigua ] | [ Contextos de la música mensural > ] |
2.9.3 Tipografiar música mensural
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Tipografiar música mensural ] | [ Up : Tipografiar música mensural ] | [ Claves de la música mensural > ] |
Contextos de la música mensural
Los contextos predefinidos de voz MensuralVoice
y de pauta
MensuralStaff
se pueden usar para grabar una pieza en
estilo mensural. Estos contextos establecen a unos valores
iniciales adecuados todas las propiedades relevantes de los
contextos y de los objetos gráficos, de manera que pueda comenzar
inmediatamente a escribir el canto, como lo demuestra el siguiente
fragmento:
\score { << \new MensuralVoice = "discantus" \relative { \hide Score.BarNumber { c''1\melisma bes a g\melismaEnd f\breve \[ f1\melisma a c\breve d\melismaEnd \] c\longa c\breve\melisma a1 g1\melismaEnd fis\longa^\signumcongruentiae } } \new Lyrics \lyricsto "discantus" { San -- ctus, San -- ctus, San -- ctus } >> }
Véase también
Glosario musical: mensural notation.
Claves de la música mensural
Están contempladas las claves mensurales usando la instrucción
\clef
. Algunas de las claves utilizan el mismo glifo, pero
se diferencian solamente respecto a la línea en la que se
imprimen. En tales casos, se utiliza un sufijo numérico en el
nombre para denominar dichas claves, contando las líneas desde la
inferior hasta la superior.
\override NoteHead.style = #'vaticana.punctum \clef "vaticana-do1" c'1
\override NoteHead.style = #'medicaea.punctum \clef "medicaea-do3" c'1
\override NoteHead.style = #'hufnagel.punctum \clef "hufnagel-fa2" c'1
\override NoteHead.style = #'neomensural \clef "neomensural-c4" c'1
Se puede forzar manualmente la composición tipográfica de un glifo de clave sobre cualquier línea seleccionada arbitrariamente, según se describe en Clave. Para ver el abanico completo de las claves posibles, consulte Estilos de clave.
Véase también
Glosario musical: mensural notation, clef.
Referencia de la notación: Claves de canto gregoriano, Clave.
Archivos instalados: scm/parser-clef.scm.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Clef_engraver, Clef, ClefModifier, clef-interface.
Advertencias y problemas conocidos
La clave de Sol Mensural está asignada a la clave de Sol de Petrucci.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Claves de la música mensural ] | [ Up : Tipografiar música mensural ] | [ Cabezas de nota de la música mensural > ] |
Indicaciones de compás de la música mensural
Los símbolos de mensuración (que son algo similar, pero no
exactamente igual que las indicaciones de compás) están
contemplados de forma limitada. Los glifos están configurados de
forma fija para determinadas fracciones de tiempo. En otras
palabras, para obtener un símbolo de mensuración determinado con
la instrucción \time n/m
, se tienen que escoger n
y
m
según la siguiente tabla
Utilice la propiedad style
del elemento gráfico
TimeSignature
para seleccionar las indicaciones de compás
de la música antigua. Los estilos contemplados son
neomensural
y mensural
. La tabla anterior utiliza
el estilo neomensural
. Los ejemplos siguientes muestran
las diferencias que existen entre los estilos:
Indicación de compás ofrece una introducción general al uso de las indicaciones de compás.
Véase también
Glosario musical: mensural notation.
Referencia de la notación: Indicación de compás.
Advertencias y problemas conocidos
Las relaciones de duración de las notas no pueden cambiar con la indicación de compás, porque no son constantes. Por ejemplo, la razón de 1 breve = 3 semibreves (tempus perfectum) se puede hacer a mano mediante el establecimiento de
breveTP = #(ly:make-duration -1 0 3/2) … { c\breveTP f1 }
Esto fija un valor para breveTP
de 3/2 multiplicado por 2 =
3 veces una redonda.
Los símbolos mensural68alt
y neomensural68alt
(alternativos al símbolo de 6/8) no se puede seleccionar
directamente con \time
. En su lugar, utilice \markup
{\musicglyph "timesig.mensural68alt" }
.
Cabezas de nota de la música mensural
Para la notación antigua, se puede elegir un estilo de cabezas de
notas distinto al default
(estilo predeterminado). Esto se
consigue estableciendo la propiedad style
del objeto
NoteHead
a los valores baroque
, neomensural
,
mensural
, petrucci
, blackpetrucci
o
semipetrucci
.
El estilo baroque
se diferencia del estilo predeterminado
default
en que:
- Proporciona una cabeza de nota para la
maxima
, y - Usa una forma cuadrada para las cabezas de
\breve
.
Los estilos neomensural
, mensural
y petrucci
se diferencian del estilo baroque
en que:
- Usan cabezas romboidales para las semibreves y todas las notas más cortas, y
- Centran las plicas sobre las cabezas.
El estilo blackpetrucci
produce notas con una cabeza que
puede usarse en notación mensural negra o en secciones de
coloratio dentro de la notación mensural blanca. A causa de que
el estilo de la cabeza de las notas no influye en el número de
corchetes, en este estilo la notación de la semimínima debe hacer
como a8*2
, no como a4
, pues de lo contrario tendrá
el aspecto de una mínima. El multiplicador puede ser distinto si
se usa la coloratio, es decir, para la notación de tresillos.
Utilice el estilo semipetrucci
para dibujar notas con
cabeza semi-rellena (breves, longas y máximas).
El ejemplo siguiente muestra el estilo petrucci
:
\compressEmptyMeasures \autoBeamOff \override NoteHead.style = #'petrucci a'\maxima a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 a' \override NoteHead.style = #'semipetrucci a'\breve*5/6 \override NoteHead.style = #'blackpetrucci a'8*4/3 a' \override NoteHead.style = #'petrucci a'\longa
Estilos de cabezas de nota ofrece una visión de conjunto sobre la totalidad de los estilos de cabeza disponibles.
Véase también
Glosario musical: mensural notation, note head.
Referencia de la notación: Estilos de cabezas de nota.
Corchetes de la música mensural
Utilice la propiedad flag-style
del elemento gráfico
Stem
para seleccionar los corchetes de estilo antiguo.
Aparte del estilo de corchete por defecto default
, sólo
está contemplado el estilo mensural
\relative c' { \override Flag.style = #'mensural \override Stem.thickness = #1.0 \override NoteHead.style = #'mensural \autoBeamOff c8 d e f c16 d e f c32 d e f s8 c'8 d e f c16 d e f c32 d e f }
Observe que la bandera más interna de cada uno de los corchetes mensurales se alinea verticalmente con una línea de la pauta.
No existe un estilo particular de corchete para la notación neo-mensural ni Petrucci. No existen corchetes en la notación del canto gregoriano.
Véase también
Glosario musical: mensural notation, flag.
Advertencias y problemas conocidos
La alineación vertical de cada uno de los corchetes con una línea de la pauta da por supuesto que las plicas siempre terminan exactamente encima o bien exactamente en el medio de dos líneas de la pauta. Esto puede no ser siempre cierto cuando se utilizan las posibilidades de disposición avanzadas de la notación clásica (que, de todas formas, por lo común se encuentra fuera del ámbito de la notación mensural).
Silencios de la música mensural
Utilice la propiedad style
del elemento gráfico Rest
para seleccionar silencios antiguos. Los estilos de música
antigua contemplados son classical
, neomensural
y
mensural
.
El ejemplo siguiente muestra estos estilos:
\compressEmptyMeasures \override Rest.style = #'mensural r\longa^"mensural" r\breve r1 r2 r4 r8 r16 s \break \override Rest.style = #'neomensural r\longa^"neomensural" r\breve r1 r2 r4 r8 r16
No existen silencios de fusa y semifusa específicos para los estilos mensural ni neo-mensural. Se usan los silencios del estilo predeterminado.
Véase también
Glosario musical: mensural notation.
Referencia de la notación: Silencios.
Fragmentos de código: Ancient notation.
Advertencias y problemas conocidos
El glifo para el silencio de máxima en el estilo mensural es en realidad un silencio de longa perfecta; use dos (o tres) silencios de longa para imprimir un silencio de máxima. Los sliencions de longa no se agrupan automáticamente, por lo que debe hacerse manualmente utilizando silencios con altura determinada.
Alteraciones y armaduras de la música mensural
El estilo mensural
ofrece unos símbolos de sostenido y
bemol distintos de los del estilo predeterminado. La notación
mensural rara vez utilizaba el becuadro: en su lugar, se usaba el
sostenido o bemol correspondiente. Por ejemplo, un Si natural en
la tonalidad de Fa mayor se indicaría con un sostenido. Sin
embargo, si se solicita explícitamente, el símbolo de becuadro se
extrae del estilo vaticana
.
El estilo de las alteraciones y de la armadura de la tonalidad se
controlan a través de la propiedad alteration-glyph-name-alist
de los
elementos gráficos Accidental
y KeySignature
,
respectivamente; p.ej.:
\override Staff.Accidental.alteration-glyph-name-alist = #alteration-mensural-glyph-name-alist
Véase también
Glosario musical: mensural notation, Pitch names, accidental, key signature.
Referencia de la notación: Alturas, Alteraciones accidentales, Alteraciones accidentales automáticas, Armadura de la tonalidad.
Referencia de funcionamiento interno: KeySignature.
Alteraciones de anotación (musica ficta)
En la música europea de hasta aprox. 1600, se esperaba de los cantantes que alterasen cromáticamente ciertas notas según su propia iniciativa y de acuerdo a ciertas reglas. Esto recibe el nombre de musica ficta. En las transcripciones modernas, estas alteraciones accidentales se imprimen normalmente encima de la nota.
Están contempladas estas alteraciones sugeridas, y se pueden
activar estableciendo suggestAccidentals
al valor
verdadero.
\relative { fis' gis \set suggestAccidentals = ##t ais bis }
Esto hará que se traten todas las alteraciones siguientes
como musica ficta hasta que se desactive con \set
suggestAccidentals = ##f
. Una forma más práctica es usar
\once \set suggestAccidentals = ##t
, que puede incluso
definirse como una forma breve muy conveniente:
ficta = { \once \set suggestAccidentals = ##t } \score { \relative \new MensuralVoice { \once \set suggestAccidentals = ##t bes'4 a2 g2 \ficta fis8 \ficta e! fis2 g1 } }
Véase también
Referencia de funcionamiento interno: Accidental_engraver, AccidentalSuggestion.
Ligaduras mensurales blancas
Las ligaduras mensurales blancas están contempladas de forma limitada.
Para grabar ligaduras mensurales blancas, en el bloque layout o de
diseño de página reemplace el grabador
Ligature_bracket_engraver
por el grabador
Mensural_ligature_engraver
en el contexto Voice
:
\layout { \context { \Voice \remove Ligature_bracket_engraver \consists Mensural_ligature_engraver } }
No existe ningún lenguaje de entrada adicional para describir la forma de una ligadura mensural blanca. Más bien la forma se determina exclusivamente a partir de la altura y duración de las notas comprendidas. Si bien este enfoque podría hacer que un usuario con poca experiencia tardase un tiempo en acostumbrarse a él, tiene la gran ventaja de que toda la información musical de la ligadura se conoce internamente. Esto no se requiere solamente para una salida MIDI correcta, sino que también permite la transcripción automática de las ligaduras.
En algunos lugares, dos notas consecutivas se pueden representar
bien como dos cuadrados, bien como un paralelogramo oblicuo (forma
de flexa). En tales casos la forma por omisión es dos cuadrados,
pero puede requerirse una flexa fijando la propiedad
ligature-flexa
de la segunda cabeza. La longitud de
una flexa se puede fijar mediante la propiedad flexa-width
de la cabeza.
Por ejemplo:
\score { \relative { \set Score.timing = ##f \set Score.measureBarType = "" \override NoteHead.style = #'petrucci \override Staff.TimeSignature.style = #'mensural \clef "petrucci-g" \[ c''\maxima g \] \[ d'\longa \override NoteHead.ligature-flexa = ##t \once \override NoteHead.flexa-width = #3.2 c\breve f e d \] \[ c\maxima d\longa \] \[ e1 a, g\breve \] } \layout { \context { \Voice \remove Ligature_bracket_engraver \consists Mensural_ligature_engraver } } }
Si no se sustituye el grabador Ligature_bracket_engraver
por el Mensural_ligature_engraver
, la misma música presenta
la siguiente apariencia:
Véase también
Glosario musical: ligature.
Referencia de la notación: Ligaduras de neumas cuadrados gregorianos, Ligaduras.
Advertencias y problemas conocidos
El espaciado horizontal de las ligaduras puede ser algo pobre. Las alteraciones accidentales pueden colisionar con las notas previas.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Ligaduras mensurales blancas ] | [ Up : Notación antigua ] | [ Contextos del canto gregoriano > ] |
2.9.4 Tipografiado del canto gregoriano
Al componer tipográficamente una pieza en notación de canto
gregoriano, el grabador Vaticana_ligature_engraver
selecciona automáticamente la cabeza adecuada de las figuras, de
manera que no es necesario establecer explícitamente el estilo de
las cabezas. A pesar de ello se puede establecer el estilo de las
cabezas, p.ej.: a vaticana.punctum
para producir neumas de
punctum. De forma similar, el grabador
Mensural_ligature_engraver
construye ligaduras mensurales
automáticamente. Consulte Ligaduras para ver cómo funcionan
los grabadores de ligaduras.
Véase también
Glosario musical: ligature.
Referencia de la notación: Ligaduras mensurales blancas, Ligaduras.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Tipografiado del canto gregoriano ] | [ Up : Tipografiado del canto gregoriano ] | [ Claves de canto gregoriano > ] |
Contextos del canto gregoriano
El contexto predefinido de voz VaticanaVoice
y el de pauta
VaticanaStaff
se pueden utilizar para grabar una pieza de
canto gregoriano en el estilo de la Editio Vaticana. Estos
contextos establecen a unos valores iniciales adecuados todas las
propiedades relevantes de los contextos y de los objetos gráficos,
de forma que pueda inmediatamente comenzar a escribir el canto en
sí, como lo demuestra el siguiente fragmento:
\new VaticanaScore { << \new VaticanaVoice = "cantus" { \[ c'\melisma c' \flexa a \] \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima \[ f\melisma \pes a c' c' \pes d'\melismaEnd \] c' \divisioMinima \break \[ c'\melisma c' \flexa a \] \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima } \new Lyrics \lyricsto "cantus" { San- ctus, San- ctus, San- ctus } >> } \layout { indent = 0 ragged-last = ##t }
Claves de canto gregoriano
La tabla siguiente muestra todas las claves gregorianas
contempladas a través de la instrucción \clef
. Algunas de
las claves usan el mismo glifo, pero se diferencian solamente en
la línea en que se imprimen. En estos casos, para enumerar estas
claves se usa un número a continuación del nombre de la clave,
contando desde la línea inferior. Aún se puede forzar manualmente
la composición tipográfica de un glifo de clave sobre una línea
arbitraria, como se describe en Clave. La nota que se
imprime a la derecha junto a cada una de las claves en la columna
de los ejemplos, denota el Do central (c'
) respecto a dicha
clave.
Descripción | Claves posibles | Ejemplo |
Clave de Do, estilo Editio Vaticana | vaticana-do1 , vaticana-do2 ,vaticana-do3 | |
Clave de Fa, estilo Editio Vaticana | vaticana-fa1 , vaticana-fa2 | |
Clave de Do, estilo Editio Medicaea | medicaea-do1 , medicaea-do2 ,medicaea-do3 | |
Clave de Fa, estilo Editio Medicaea | medicaea-fa1 , medicaea-fa2 | |
Clave de Do, estilo hufnagel | hufnagel-do1 , hufnagel-do2 ,hufnagel-do3 | |
Clave de Fa, estilo hufnagel | hufnagel-fa1 , hufnagel-fa2 | |
Clave combinada de Do y Fa, estilo hufnagel | hufnagel-do-fa |
Véase también
Glosario musical: clef.
Referencia de la notación: Clave.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Claves de canto gregoriano ] | [ Up : Tipografiado del canto gregoriano ] | [ Divisiones > ] |
Alteraciones y armaduras de canto gregoriano
Están disponibles las alteraciones de los tres estilos gregorianos:
Como se ve en el ejemplo, cada estilo no contempla todas las alteraciones. Al intentar acceder a una alteración que no está contemplada, LilyPond cambia a un estilo diferente.
El estilo de las alteraciones y las armaduras de tonalidad se
controla a través de la propiedad alteration-glyph-name-alist
de los
grobs (objetos gráficos) Accidental y
KeySignature, respectivamente; p.ej.:
\override Staff.Accidental.alteration-glyph-name-alist = #alteration-mensural-glyph-name-alist
Véase también
Glosario musical: accidental, key signature.
Referencia de la notación: Alturas, Alteraciones accidentales, Alteraciones accidentales automáticas, Armadura de la tonalidad.
Referencia de funcionamiento interno: KeySignature.
Divisiones
En la notación del canto gregoriano no existen silencios, sino Divisiones.
Una divisio (en plural: divisiones, que en latín significa ‘división’) es un símbolo del contexto del pentagrama que se usa para estructurar la música gregoriana en frases y secciones. El significado musical de divisio minima, divisio maior y divisio maxima se podrían caracterizar como una pausa corta, media y larga (respectivamente), algo así como las marcas de respiración de Marcas de respiración. El signo de finalis no sólo marca el final de un canto, sino que se usa también con frecuencia dentro de un único canto antifonal o responsorial para marcar el final de cada una de las secciones.
Para usar divisiones, incluya el archivo gregorian.ly.
Contiene definiciones que podrá aplicar con tan sólo escribir
\divisioMinima
, \divisioMaior
, \divisioMaxima
y \finalis
en los lugares adecuados de la entrada. Algunas
ediciones usan virgula o caesura en vez de divisio
minima. Por ello, gregorian.ly define también las
instrucciones \virgula
y \caesura
.
Instrucciones predefinidas
\virgula
,
\caesura
,
\divisioMinima
,
\divisioMaior
,
\divisioMaxima
,
\finalis
.
Véase también
Glosario musical: caesura, divisio.
Referencia de la notación: Marcas de respiración.
Archivos de inicio: ly/gregorian.ly.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Divisiones ] | [ Up : Tipografiado del canto gregoriano ] | [ Puntos de aumentación (morae) > ] |
Articulaciones del canto gregoriano
Además de los signos de articulación estándar que se hallan descritos en la sección Articulaciones y ornamentos, se proveen signos de articulación diseñados específicamente para utilizarlos con la notación en el estilo de la Editio Vaticana.
\new VaticanaScore { \new VaticanaVoice { \override TextScript.font-family = #'typewriter \override TextScript.font-shape = #'upright \override Script.padding = #-0.1 a\ictus_"ictus " \bar "" \break a\circulus_"circulus " \bar "" \break a\semicirculus_"semicirculus " \bar "" \break a\accentus_"accentus " \bar "" \break \[ a_"episema" \episemInitium \pes b \flexa a b \episemFinis \flexa a \] } } \layout { indent = 0 ragged-last = ##t }
Véase también
Referencia de la notación: Articulaciones y ornamentos.
Fragmentos de código: Ancient notation.
Referencia de funcionamiento interno: Episema, EpisemaEvent, Episema_engraver, Script, ScriptEvent, Script_engraver.
Advertencias y problemas conocidos
Ciertas articulaciones se colocan demasiado cerca verticalmente de las cabezas de nota correspondientes.
Puntos de aumentación (morae)
Los puntos de aumentación, llamados también morae, se
escriben con la función musical \augmentum
. Observe que
\augmentum
está programado como una función musical unaria
y no como un prefijo de cabeza. Se aplica solamente a la
expresión musical que sigue inmediatamente. Esto es,
\augmentum \virga c
no tendrá ningún efecto visible. En su
lugar, escriba \virga \augmentum c
o \augmentum
{\virga c}
. Tenga en cuenta también que puede escribir
\augmentum {a g}
como abreviatura de \augmentum a
\augmentum g
.
\new VaticanaScore { \new VaticanaVoice { \[ \augmentum a \flexa \augmentum g \] \augmentum g } }
Véase también
Referencia de la notación: Marcas de respiración.
Referencia de funcionamiento interno: BreathingSign.
Fragmentos de código: Ancient notation.
Ligaduras de neumas cuadrados gregorianos
La notación de neumas cuadrados gregorianos está contemplada de forma limitada (siguiendo el estilo de la Editio Vaticana). El núcleo principal del conjunto de las ligaduras ya se pueden tipografiar, pero aún faltan aspectos esenciales para una composición tipográfica seria, como (entre otros) la alineación horizontal de varias ligaduras, la alineación de la letra y un correcto manejo de las alteraciones accidentales.
Se habilita el soporte de los neumas gregorianos por medio de la
inclusión con \include
del archivo gregorian.ly al
principio del archivo. Esto hace que estén disponibles una cierta
cantidad de instrucciones adicionales para producir los símbolos
de los neumas que se usan en la notación de canto llano.
Las cabezas de las notas se pueden modificar y/o unir.
-
La forma de la cabeza se puede modificar precediendo el
nombre de la nota con una cualquiera de las instrucciones
siguientes:
\virga
,\stropha
,\inclinatum
,\auctum
,\descendens
,\ascendens
,\oriscus
,\quilisma
,\deminutum
,\cavum
,\linea
. - Las ligaduras hablando en propiedad, (es decir, notas unidas), se
producen escribiendo una de las instrucciones de unión
\pes
o\flexa
, para el movimiento ascendente y descendente, respectivamente, intercaladas entre las notas que se han de unir.
Una nota sin modificaciones produce un punctum. Todos los
demás neumas, incluso los neumas de una nota con forma distinta
como la virga, se consideran en principio como ligaduras y
por ello se deben escribir dentro de \[…\]
.
Neumas de una nota:
- El punctum es la forma básica de nota (en el estilo
Vaticana: un cuadrado con una ligera curvatura a modo de
excelencia tipográfica). Además del punctum normal, están
el punctum inclinatum, oblicuo, producido con el prefijo
\inclinatum
. El punctum normal se puede modificar con\cavum
, que produce una nota vacía, y\linea
, que traza líneas verticales a ambos lados de la nota. - La virga tiene una plica descendente en el lado derecho.
Se produce mediante el modificador
\virga
.
Ligaduras
A diferencia de casi todos los otros sistemas de notación de
neumas, el aspecto tipográfico de las ligaduras no viene dictado
directamente por las instrucciones de la entrada, sino que sigue
unas convenciones que dependen del significado musical. Por
ejemplo, una ligadura de tres notas con la forma musical
bajo-alto-bajo, como \[ a \pes b \flexa g \]
, produce un
Torculus que consiste en tres cabezas de Punctum, mientras que la
forma alto-bajo-alto, como \[ a \flexa g \pes b \]
, produce
un Porrectus con una forma de flexa curvada y una sola cabeza de
Punctum. No existe ninguna instrucción para tipografiar
explícitamente la forma de flexa curvada; la decisión de cuándo
tipografiar una forma de flexa curvada está basada en la entrada
musical. La idea de este enfoque es separar los aspectos
musicales de la entrada, del estilo de notación de la salida. De
esta forma, la misma entrada se puede reutilizar para tipografiar
la misma música en un estilo diferente de notación de canto
gregoriano.
Neumas licuescentes
Otra categoría fundamental de notas en el canto gregoriano es la de los llamados neumas licuescentes. Se utilizan bajo ciertas circunstancias al final de una sílaba que acaba en una letra ‘licuescente’, es decir, consonantes sonoras que pueden tener una altura tonal, (nasales, l, r, v, j, y sus diptongos equivalentes). Así, los neumas licuescentes nunca se utilizan aisladamente (aunque se pueden producir algunos de ellos), y siempre están al final de una ligadura.
Los neumas licuescentes se representan gráficamente de dos formas
distintas más o menos intercambiables: con una nota pequeña o
‘girando’ la nota principal hacia arriba o hacia abajo. La
primera forma se produce haciendo un pes
o una flexa
normales y modificando la forma de la segunda nota: \[ a
\pes \deminutum b \]
, mientras que la segunda se hace
modificando la forma de un neuma de una nota con \auctum
y
uno de los generadores de dirección \descendens
o
\ascendens
, p.ej. \[ \auctum \descendens a \]
.
Símbolos especiales
Hay una tercera categoría de símbolos que se hace a partir de un
pequeño número de símbolos que tienen un significado especial
(que, por cierto, casi siempre se conocen sólo vagamente): el
quilisma, el oriscus y el strophicus. Todos
ellos se producen anteponiendo al nombre de la nota el modificador
correspondiente, \quilisma
, \oriscus
o
\stropha
.
Dentro de los delimitadores de ligadura \[
y \]
, se
pueden acumular prácticamente cualquier cantidad de cabezas de
nota para formar una sola ligadura, y los prefijos de cabeza como
\pes
, \flexa
, \virga
, \inclinatum
,
etc. se pueden mezclar libremente. El uso del conjunto de reglas
que subyace a la construcción de ligaduras en la tabla anterior
está consecuentemente extrapolada. De esta manera se pueden crear
un número infinito de ligaduras distintas.
Observe que el uso de esos símbolos en la propia música sigue ciertas reglas que LilyPond no comprueba. P.ej., el quilisma siempre es la nota intermedia de una ligadura ascendente, y suele caer sobre un intervalo de semitono, pero es perfectamente posible, si bien incorrecto, hacer un quilisma de una nota.
Además de los símbolos de nota, el archivo gregorian.ly
define también las instrucciones \versus
,
\responsum
, \ij
, \iij
, \IJ
y
\IIJ
, que producen los caracteres correspondientes,
p.ej. para utilizarlos en la letra, como marcas de sección, etc.
Estas instrucciones utilizan caracteres de Unicode especiales y
sólo funcionan si se usa una fuente tipográfica que los contemple.
La tabla siguiente muestra un conjunto limitado, pero representativo, de ligaduras gregorianas, junto a los fragmentos de código que las producen. La tabla está basada en la tabla de neumas extendidos del segundo volumen del Antiphonale Romanum (Liber Hymnarius), publicado en 1983 por los monjes de Solesmes. La primera columna da el nombre de la ligadura, con la forma principal en tipo negrita y las formas licuescentes en cursiva. La tercera forma muestra el fragmento de código que produce dicha ligadura, utilizando Sol, La y Si como alturas de ejemplo.
Neumas de una nota
Formas Básica y Licuescente | Salida | Código de LilyPond |
Punctum | \[ b \] | |
\[ \cavum b \] | ||
\[ \linea b \] | ||
Punctum Auctum Ascendens | \[ \auctum \ascendens b \] | |
Punctum Auctum Descendens | \[ \auctum \descendens b \] | |
Punctum inclinatum | \[ \inclinatum b \] | |
Punctum Inclinatum Auctum | \[ \inclinatum \auctum b \] | |
Punctum Inclinatum Parvum | \[ \inclinatum \deminutum b \] | |
Virga |
Ligaduras de dos notas
Clivis vel Flexa | \[ b \flexa g \] | |
Clivis Aucta Descendens | \[ b \flexa \auctum \descendens g \] | |
Clivis Aucta Ascendens | \[ b \flexa \auctum \ascendens g \] | |
Cephalicus | \[ b \flexa \deminutum g \] | |
Podatus o Pes | \[ g \pes b \] | |
Pes Auctus Descendens | \[ g \pes \auctum \descendens b \] | |
Pes Auctus Ascendens | \[ g \pes \auctum \ascendens b \] | |
Epiphonus | \[ g \pes \deminutum b \] | |
Pes Initio Debilis | \[ \deminutum g \pes b \] | |
Pes Auctus Descendens Initio Debilis | \[ \deminutum g \pes \auctum \descendens b \] |
Ligaduras de varias notas
Torculus | \[ a \pes b \flexa g \] | |
Torculus Auctus Descendens | \[ a \pes b \flexa \auctum \descendens g \] | |
Torculus Deminutus | \[ a \pes b \flexa \deminutum g \] | |
Torculus Initio Debilis | \[ \deminutum a \pes b \flexa g \] | |
Torculus Auctus Descendens Initio Debilis | \[ \deminutum a \pes b \flexa \auctum \descendens g \] | |
Torculus Deminutus Initio Debilis | \[ \deminutum a \pes b \flexa \deminutum g \] | |
Porrectus | \[ a \flexa g \pes b \] | |
Porrectus Auctus Descendens | \[ a \flexa g \pes \auctum \descendens b \] | |
Porrectus Deminutus | \[ a \flexa g \pes \deminutum b \] | |
Climacus | \[ \virga b \inclinatum a \inclinatum g \] | |
Climacus Auctus | \[ \virga b \inclinatum a \inclinatum \auctum g \] | |
Climacus Deminutus | \[ \virga b \inclinatum a \inclinatum \deminutum g \] | |
Scandicus | \[ g \pes a \virga b \] | |
Scandicus Auctus Descendens | \[ g \pes a \pes \auctum \descendens b \] | |
Scandicus Deminutus | \[ g \pes a \pes \deminutum b \] |
Símbolos especiales
Quilisma | \[ g \pes \quilisma a \pes b \] | |
Quilisma Pes Auctus Descendens | \[ \quilisma g \pes \auctum \descendens b \] | |
Oriscus | \[ \oriscus b \] | |
Pes Quassus | \[ \oriscus g \pes \virga b \] | |
Pes Quassus Auctus Descendens | \[ \oriscus g \pes \auctum \descendens b \] | |
Salicus | \[ g \oriscus a \pes \virga b \] | |
Salicus Auctus Descendens | \[ g \oriscus a \pes \auctum \descendens b \] | |
(Apo)stropha | \[ \stropha b \] | |
Stropha Aucta | \[ \stropha \auctum b \] | |
Bistropha | \[ \stropha b \stropha b \] | |
Tristropha | \[ \stropha b \stropha b \stropha b \] | |
Trigonus | \[ \stropha b \stropha b \stropha a \] |
Instrucciones predefinidas
Están contemplados los siguientes prefijos de cabeza:
\virga
,
\stropha
,
\inclinatum
,
\auctum
,
\descendens
,
\ascendens
,
\oriscus
,
\quilisma
,
\deminutum
,
\cavum
,
\linea
.
Se pueden acumular los prefijos de cabeza, aunque con ciertas
restricciones. Por ejemplo, se pueden aplicar \descendens
o \ascendens
a una cabeza, pero no los dos a la misma
cabeza.
Se pueden ligar dos cabezas adyacentes con las instrucciones
infijas \pes
y \flexa
para una línea melódica
ascendente y descendente, respectivamente.
Utilice la función musical unaria \augmentum
para añadir
puntos de augmentum.
Véase también
Glosario musical: ligature.
Referencia de la notación: Ligaduras de neumas cuadrados gregorianos, Ligaduras mensurales blancas, Ligaduras.
Advertencias y problemas conocidos
Cuando aparece un punto de \augmentum
al final de la última
pauta dentro de una ligadura, a veces se posiciona defectuosamente
en el sentido vertical. Para rodear el problema, escriba una nota
adicional de salto (p.ej. s8
) como última nota de la pauta.
\augmentum
debería estar implementado como un prefijo de
cabeza en vez de una función musical unaria, de forma que
\augmentum
se pudiera entremezclar con los prefijos de
cabeza en un orden arbitrario.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Ligaduras de neumas cuadrados gregorianos ] | [ Up : Notación antigua ] | [ Contextos del canto kievano > ] |
2.9.5 Tipografiado del canto kievano en notación cuadrada
Contextos del canto kievano | ||
Claves del canto kievano | ||
Notas del canto kievano | ||
Alteraciones accidentales del canto kievano | ||
Líneas divisorias del canto kievano | ||
Melismas del canto kievano |
Contextos del canto kievano
De la misma manera que con las notaciones mensural y gregoriana,
pueden usarse los contextos predefinidos KievanVoice
y
KievanStaff
para tipografiar una pieza en notación
cuadrada. Estos contextos inician todas las propiedades de
contexto necesarias a sus valores adecuados, de manera que pueda
ponerse manos a la obra inmediatamente con la introducción del
propio canto:
% Font settings for Cyrillic \paper { property-defaults.fonts.serif = "Linux Libertine O,serif" } \score { << \new KievanVoice = "melody" \relative c' { \cadenzaOn c4 c c c c2 b\longa \bar "k" } \new Lyrics \lyricsto "melody" { Го -- спо -- ди по -- ми -- луй. } >> }
Véase también
Glosario musical: Kievan notation.
Advertencias y problemas conocidos
LilyPond contempla la notación del canto kievano en el estilo sinodal, tal y como se usa en los cantorales impresos por el Sacro Sínodo Ruso en la década de 1910 y recientemenre reimpreso por la Casa de Publicaciones del Patriarcado de Moscú. LilyPond no contempla las formas anteriores (menos corrientes) de notación kievana que se usaban en Galitzia para la notación del canto llano ruteno.
Claves del canto kievano
En la notación kievana solamente se utiliza una clave (la clave Tse-fa-ut). Se utiliza para indicar la posición del Do:
\clef "kievan-do" \kievanOn c'
Véase también
Glosario musical: Kievan notation, clef.
Referencia de la notación: Clave.
Notas del canto kievano
Para la notación cuadrada del canto kievano, debe escogerse el
estilo apropiado para la forma de la cabeza de las notas y se
deben suprimir los corchetes y las plicas. Esto se consigue
mediante una llamada a la función \kievanOn
, que establece
las propiedades adecuadas para la cabeza, plica y corchete de las
notas. Una vez que las notas de estilo kievano ya no se
necesiten, pueden revertirse estas propiedades llamando a la
función \kievanOff
.
La nota final del canto kievano, que suele ir al final de una
pieza musical, puede seleccionarse estableciendo la duración al
valor \longa
. La marca kievana de recitativo, utilizada
para indicar la entonación de varias sílabas sobre una sola nota,
se puede seleccionar estableciendo la duración al valor
\breve
. El siguiente ejemplo muestra las diversas formas
de la cabeza de las notas del canto kievano:
\autoBeamOff \cadenzaOn \kievanOn b'1 b'2 b'4 b'8 b'\breve b'\longa \kievanOff b'2
Véase también
Glosario musical: Kievan notation, note head.
Referencia de la notación: Estilos de cabezas de nota.
Advertencias y problemas conocidos
LilyPond determina de forma automática si debe trazarse la forma
de una nota con la plica hacia arriba o hacia abajo. Sin embargo,
cuando se está tipografiando un canto en notación cuadrada, es
preceptivo que las plicas estén orientadas en la misma dirección
dentro de un melisma. Esto puede hacerse manualmente fijando la
propiedad direction
del objeto Stem
.
Alteraciones accidentales del canto kievano
El estilo kievan
para las alteraciones accidentales se
selecciona con la propiedad alteration-glyph-name-alist
del grob
Accidental
. El estilo kievan
provee unos signos de
sostenido y de bemol diferentes del estilo predeterminado. No
esiste el becuadro en la notación kievana. El símbolo del
sostenido no se utiliza en la música sinodal pero puede aparecer
en manuscritos más antiguos. Se ha incluido principalmente a
efectos de compatibilidad.
\clef "kievan-do" \override Accidental.alteration-glyph-name-alist = #alteration-kievan-glyph-name-alist bes' dis'
Véase también
Glosario musical: Kievan notation, accidental.
Referencia de la notación: Alteraciones accidentales, Alteraciones accidentales automáticas, La tipografía Emmentaler.
Líneas divisorias del canto kievano
Normalmente se coloca una figura decorativa al final de una pieza
de notación kievana, que puede denominarse como «doble barra final
del canto kievano». Se puede invocar como \bar "k"
.
\kievanOn \clef "kievan-do" c' \bar "k"
Véase también
Barras de compás, La tipografía Emmentaler.
Melismas del canto kievano
Las notas que están dentro de un melisma del canto kievano se
suelen colocar a poca distancia entre sí y cada melisma está
separado de los demás por un espacio vacío. Esto se hace para
permitir al cantor la identificación rápida de las estructuras
melódicas del canto Znamenny. En LilyPond, los melismas se tratan
como ligaduras y el especiado está implementado por el grabador
Kievan_ligature_engraver
.
Cuando se usan los contextos KievanVoice
y
KievanStaff
, se habilita el grabador
Kievan_ligature_engraver
de forma predeterminada. En otros
contextos, se puede invocar sustituyendo el grabador
Ligature_bracket_engraver
por
Kievan_ligature_engraver
en el bloque layout:
\layout { \context { \Voice \remove Ligature_bracket_engraver \consists Kievan_ligature_engraver } }
El espaciado entre las notas que están dentro de una misma
ligadura kievana puede controlatse estableciendo la propiedad
padding
de KievanLigature
.
El ejemplo siguiente muestra el uso de las ligaduras del canto kievano:
% Font settings for Cyrillic \paper { property-defaults.fonts.serif = "Linux Libertine O,serif" } \score { << \new KievanVoice = "melody" \relative c' { \cadenzaOn e2 \[ e4( d4 ) \] \[ c4( d e d ) \] e1 \bar "k" } \new Lyrics \lyricsto "melody" { Га -- врі -- и -- лу } >> }
Véase también
Glosario musical: ligature.
Referencia de la notación: Ligaduras mensurales blancas, Ligaduras de neumas cuadrados gregorianos, Ligaduras.
Advertencias y problemas conocidos
El espaciado horizontal de las ligaduras es mediocre.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Melismas del canto kievano ] | [ Up : Notación antigua ] | [ Incipits > ] |
2.9.6 Trabajar con música antigua – escenarios y soluciones
Incipits | ||
Disposición tipo «Mensurstriche» | ||
Transcripción de canto gregoriano | ||
Antigua y moderna desde la misma fuente |
El trabajo con música antigua implica con frecuencia tareas adicionales que difieren considerablemente de la notación moderna para la que se diseñó LilyPond. En el resto de esta sección se perfilan unos cuantos escenarios típicos, con sugerencias de soluciones. Entre ellos están los siguientes:
- cómo hacer incipits (o sea, material a modo de prefacio que indica cómo era el original) a las transcripciones modernas de música mensural;
- cómo conseguir el diseño Mensurstriche que se usa con frecuencia para las transcripciones modernas de música polifónica;
- cómo transcribir canto gregoriano en notación moderna;
- cómo generar notación antigua y moderna a partir de la misma fuente.
Incipits
Al transcribir música mensural a la notación moderna, es costumbre
poner una indicación de la forma en que aparecían en la versión
original los silencios y la nota o notas iniciales (incluso con
las claves originales). Esto recibe el nombre de incipit.
La instrucción \incipit
usa el valor de indent
del
pentagrama principal para fijar el espacio horizontal que ocupa el
incipit, y incipit-width
para establecer la anchura del
pentagrama del propio incipit.
\score { \new Staff << \new Voice = Tenor { \set Staff.instrumentName = "Tenor" \override Staff.InstrumentName.self-alignment-X = #RIGHT \incipit { \clef "mensural-c4" \key f \major r\breve r1 c'1 } \clef "treble_8" \key f \major R1 r2 c'2 | a4. c'8 } \new Lyrics \lyricsto Tenor { Cyn -- thia your } >> \layout { indent = 5\cm incipit-width = 3\cm } }
Advertencias y problemas conocidos
Observe que se debe configurar el contenido de
instrumentName
dentro de la música, para que aparezca el
incipit. Si no quiere que aparezca ningún nombre para el
instrumento, utilice \set Staff.instrumentName = ""
.
Disposición tipo «Mensurstriche»
Mensurstriche (‘líneas de mensuración’) es el término aceptado para las barras de compás que se trazan entre los pentagramas de un sistema pero no dentro de los propios pentagramas. Es una forma común de preservar el aspecto visual de las duraciones del original, es decir, sin tener que dividir las notas sincopadas en las barras de compás, y al mismo tiempo ofrecer la ayuda orientativa que proporcionan las barras de compás.
La disposición «mensurstriche» en que las líneas divisorias no
están dibujadas sobre los pentagramas, sino entre ellos, se puede
conseguir con un StaffGroup
en vez de un ChoirStaff
.
La línea divisoria sobre los pentagramas se borra usando \hide
.
\layout { \context { \Staff measureBarType = "-span|" } } music = \fixed c'' { c1 d2 \section e2 f1 \fine } \new StaffGroup << \new Staff \music \new Staff \music >>
Transcripción de canto gregoriano
El canto gregoriano se puede transcribir a notación moderna con ciertos trucos sencillos.
Plicas. Todas las plicas se pueden eliminar de una vez retirando
el grabador Stem_engraver
del contexto de voz:
\layout { … \context { \Voice \remove Stem_engraver } }
Compás. Para el canto no medido, existen diversas alternativas.
Se puede eliminar el grabador Time_signature_engraver del contexto de Staff sin ningún efecto secundario negativo. La alternativa, que es hacer transparente la indicación de compás, deja un espacio en blanco en la partitura, pues la indicación invisible sigue ocupando un espacio.
En muchos casos da un buen resultado \set Score.timing =
##f
. Otra alternativa es utilizar \cadenzaOn
y
\cadenzaOff
.
Para quitar las barras de compás, el enfoque radical consiste en
retirar (mediante la instrucción \remove
) el grabador
Bar_engraver del contexto de pentagrama Staff. Una vez más, en
vez de ello podemos usar \hide BarLine
si se necesita
ocasionalmente una barra de compás.
Un tipo de transcripción muy común es el canto de recitativo, en el que la nota repetida se indica con una breve. Se puede tratar el texto del tono de recitativo de dos maneras. Podemos ponerlo como una sola sílaba alineada por la izquierda:
chant = \relative { \clef "G_8" c'\breve c4 b4 a c2 c4 \divisioMaior c\breve c4 c f, f \finalis } verba = \lyricmode { \once \override LyricText.self-alignment-X = #-1 "Noctem quietam et" fi -- nem per -- fec -- tum \once \override LyricText.self-alignment-X = #-1 "concedat nobis Dominus" om -- ni -- po -- tens. } \score { \new Staff << \new Voice = "melody" \chant \new Lyrics = "one" \lyricsto melody \verba >> \layout { \context { \Staff \remove Time_signature_engraver \remove Bar_engraver } \context { \Voice \remove Stem_engraver } } }
Esto funciona bien en la medida en que el texto no comprenda un salto de línea. Si es el caso, una alternativa sería añadir notas ocultas a la partitura, en combinación con cambios en la visibilidad de las plicas:
En ciertos estilos de transcripción, se usan plicas de forma
ocasional, por ejemplo para indicar la transición a partir de un
recitativo monotónico a un gesto melódico fijo. En estos casos
podemos usar bien \hide Stem
o bien \override
Stem.length = #0
en lugar de eliminar el grabador
Stem_engraver
con \remove
, y restaurar la plica
cuando sea necesario, con el correspondiente \undo \hide
Stem
.
chant = \relative { \clef "G_8" \set Score.timing = ##f \hide Stem c'\breve \hide NoteHead c c c c c \undo \hide NoteHead \undo \hide Stem \stemUp c4 b4 a \hide Stem c2 c4 \divisioMaior c\breve \hide NoteHead c c c c c c c \undo \hide NoteHead c4 c f, f \finalis } verba = \lyricmode { No -- ctem qui -- e -- tam et fi -- nem per -- fec -- tum con -- ce -- dat no -- bis Do -- mi -- nus om -- ni -- po -- tens. } \score { \new Staff << \new Voice = "melody" \chant \new Lyrics \lyricsto "melody" \verba >> \layout { \context { \Staff \remove Time_signature_engraver \hide BarLine } } }
Otra situación común es la transcripción de cantos neumáticos o
melismáticos, es decir, cantos con un número variable de notas en
cada sílaba. En este caso, podemos establecer los grupos de
sílabas claramente separados, normalmente también las
subdivisiones de un melisma mayor. Una forma de conseguirlo es
usar un \time
fijo, p.ej. 1/4, y dejar que cada sílaba o
grupo de notas llene uno de esos compases, con la ayuda de grupos
de valoración especial o duraciones más breves. Si las líneas
divisorias y todas las demás indicaciones rítmicas se hacen
transparentes, y el espacio que rodea las líneas divisorias se
aumenta, ello proporciona una aceptable representación del
original, en notación moderna.
Para evitar que las sílabas de distinta anchura (como “-ri” y
“-rum”) dispongan los grupos de notas de las sílabas de forma
irregular, se puede ajustar la propiedad 'X-extent
del
objeto LyricText
a un valor fijo. Otra forma más engorrosa
sería añadir las sílabas como elementos de \markup
. Si se
necesitan más ajustes posteriormente, esto se puede hacer
fácilmente con ‘notas’ s
.
spiritus = \relative { \time 1/4 \override Lyrics.LyricText.X-extent = #'(0 . 3) d'4 \tuplet 3/2 { f8 a g } g a a4 g f8 e d4 f8 g g8 d f g a g f4 g8 a a4 s \tuplet 3/2 { g8 f d } e f g a g4 } spirLyr = \lyricmode { Spi -- ri -- _ _ tus _ Do -- mi -- ni _ re -- ple -- _ vit _ or -- _ bem _ ter -- ra -- _ rum, al -- _ _ le -- _ lu -- _ ia. } \score { \new Staff << \new Voice = "chant" \spiritus \new Lyrics = "one" \lyricsto "chant" \spirLyr >> \layout { \context { \Staff \remove Time_signature_engraver \override BarLine.X-extent = #'(-1 . 1) \hide Stem \hide Beam \hide BarLine \hide TupletNumber } } }
Antigua y moderna desde la misma fuente
Using tags to produce mensural and modern music from the same source
Using tags, it is possible to produce both mensural and modern notation
from the same music. In this snippet, a function \menrest
is
introduced, allowing mensural rests to be pitched as in the original,
but with modern rests in the standard staff position.
Tags can also be used where other differences are needed: for example
using “whole measure rests” (R1
, R\breve
, etc.) in
modern music, but normal rests (r1
, r\breve
, etc.) in
the mensural version. Converting mensural music to its modern
equivalent is usually referred to as transcription.
\header { tagline = ##f } menrest = #(define-music-function (note) (ly:music?) #{ \tag #'mens $(make-music 'RestEvent note) \tag #'mod $(make-music 'RestEvent note 'pitch '()) #}) MenStyle = { \autoBeamOff \override NoteHead.style = #'petrucci \override Score.BarNumber.transparent = ##t \override Stem.neutral-direction = #up } finalis = \section Music = \relative c'' { \set Score.tempoHideNote = ##t \key f \major \time 4/4 g1 d'2 \menrest bes4 bes2 a2 r4 g4 fis2. \finalis } MenLyr = \lyricmode { So farre, deere life, deare life } ModLyr = \lyricmode { So far, dear life, dear life } \score { \keepWithTag #'mens { << \new MensuralStaff { \new MensuralVoice = Cantus \clef "mensural-c1" \MenStyle \Music } \new Lyrics \lyricsto Cantus \MenLyr >> } } \score { \keepWithTag #'mod { \new ChoirStaff << \new Staff { \new Voice = Sop \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" \remove "Rest_engraver" \consists "Completion_rest_engraver" } { \shiftDurations 1 0 { \autoBeamOff \Music } } } \new Lyrics \lyricsto Sop \ModLyr >> } }
2.10 Músicas del mundo
El propósito de esta sección es remarcar los problemas de notación que son de relevancia a las tradiciones musicales distintas a la occidental.
2.10.1 Notación común para músicas no occidentales | ||
2.10.2 Música árabe | ||
2.10.3 Música clásica de Turquía |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Músicas del mundo ] | [ Up : Músicas del mundo ] | [ Extensión de la notación y los sistemas de afinación > ] |
2.10.1 Notación común para músicas no occidentales
Esta sección estudia la forma de introducir e imprimir partituras musicales que no pertenecen a la tradición clásica occidental, también conocida como Período de la práctica común.
Extensión de la notación y los sistemas de afinación |
Extensión de la notación y los sistemas de afinación
La notación clásica estándar (también conocida como la notación del Período de la práctica común) se usa normalmente en todo tipo de música, sin limitación a la música occidental ‘clásica’. Esta notación se estudia en Escritura de notas, y los distintos nombres de las notas que se pueden utilizar están explicados en Nombres de las notas en otros idiomas.
Ciertos tipos de música no occidental, folk y tradicional con frecuencia emplean sistemas de afiniación altenativos o extendidos que no encajan fácilmente dentro de la notación clásica estándar.
Muchas veces se usa la notación estándar, pero con algunas diferencias de afinación implícitas. Por ejemplo, la notación de la música árabe se realiza con alteraciones accidentales de semitono y de cuarto de tono, estando determinadas por el contexto las exactas variaciones en la entonación. En el caso de la música árabe, el archivo de inicio arabic.ly proporciona un conjunto adecuado de macros y definiciones que extienden la notación estándar que emplea los nombres de nota italianos. Para ver más detalles, consulte Música árabe.
Otros tipos de música requieren notaciones extendidas o singulares; por ejemplo, la música clásica turca o música clásica otomana, por ejemplo, emplea formas melódicas conocidas como makamlar cuyos intervalos están basados en divisiones de 1/9 de tono. Se siguen usando las notas del pentagrama occidental, pero con alteraciones accidentales que están definidas de forma inequívoca en el archivo turkish-makam.ly. Para ver más información sobre la música clásica turca y los makamlar, consulte Música clásica de Turquía.
También están disponibles otros archivos de inicio relacionados, hel-arabic.ly and makam.ly.
Para localizar estos archivos de inicio en su sistema, consulte Otras fuentes de información.
Véase también
Glosario musical: Common Practice Period, makamlar.
Manual de aprendizaje: Otras fuentes de información.
Referencia de la notación: Escritura de notas, Nombres de las notas en otros idiomas, Música árabe, Música clásica de Turquía.
2.10.2 Música árabe
Esta sección destaca asuntos relativos a la música árabe.
Referencias para música árabe | ||
Nombres de nota árabes | ||
Armaduras de tonalidad árabes | ||
Indicaciones de compás árabes | ||
Ejemplo de música árabe | ||
Lecturas adicionales sobre música árabe |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Música árabe ] | [ Up : Música árabe ] | [ Nombres de nota árabes > ] |
Referencias para música árabe
La música árabe ha sido principalmente una tradición oral hasta el momento. Cuando se transcribe la música, se suele hacer en la forma de un esbozo sobre el que los intérpretes deben improvisar ampliamente. En una medida creciente, se está adoptando la notación occidental con ciertas variantes para preservar y transmitir la música árabe.
Algunos elementos de la notación musical occidental como la transcripción de acordes o las particellas independientes, no se necesitan para tipografiar las piezas árabes, más tradicionales. Sin embargo hay ciertos problemas, como la necesidad de indicar intervalos que tienen una medida intermedia entre el semitono y el tono, además de los intervalos mayores y menores de la música occidental. También existe la necesidad de agrupar e indicar los numerosos maqams (modos) que forman parte de la música árabe.
Por lo general la notación musical árabe no trata de indicar con precisión los elementos microtonales que se encuentran presentes en la práctica musical.
Son de relevancia para la música árabe ciertos asuntos que se encuentran cubiertos en otras partes del manual:
- Los nombres de las notas y sus alteraciones (entre ellos, cuartos de tono) se pueden realizar como se estudia en Notación común para músicas no occidentales.
- Las armaduras adicionales también pueden realizarse como se describe en Armadura de la tonalidad.
- Los compases complejos pueden requerir agrupaciones manuales de las notas tal y como se describe en Barras manuales.
- Los takasim o improvisaciones libres desde el punto de vista rítmico se pueden escribir omitiendo las barras de compás como aparece en Música sin compasear.
Véase también
Referencia de la notación: Notación común para músicas no occidentales, Armadura de la tonalidad, Barras manuales.
Fragmentos de código: World music.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Referencias para música árabe ] | [ Up : Música árabe ] | [ Armaduras de tonalidad árabes > ] |
Nombres de nota árabes
Los nombres tradicionales de las notas en árabe pueden ser bastante largos y por ello no siempre son adecuados para el propósito de escribir música.
El archivo hel-arabic.ly permite usar los nombres de nota
ingleses. He aquí una escala rast
que usa
hel-arabic.ly;
\include "hel-arabic.ly" \language "arabic" \language "english" \relative { \key c \rast c' d eqf f | g a bqf c | c bf a g | f d c }
En lugar de ello se pueden usar los nombres de las notas en
italiano (o Solfege) gracias al archivo arabic.ly. He aquí
una escala rast
que usa arabic.ly;
\include "arabic.ly" \relative { do' re misb fa | sol la sisb do | sisb la sol fa | misb re do }
“Rast” es una escala heptatónica que usa intervalos en cuartos de tono y se considera la escala central y más importante del “Maqamat árabe”. Para ver la lista completa de las escalas árabes contempladas, consulte los archivos hel-arabic.ly o arabic.ly que están incluidos en la distribución de LilyPond.
El uso de notación occidental estándar para música no occidental se discute en Notación común para músicas no occidentales. Véase también Nombres de las notas en otros idiomas.
El símbolo del semi-bemol no coincide con el símbolo que se utiliza en
la notación árabe. Se puede usar el símbolo \dwn
definido en
arabic.ly precediendo a un bemol como vía alternativa si es
importante usar el símbolo árabe específico del semi-bemol. El
aspecto del símbolo del semi-bemol dentro de la armadura no se puede
alterar mediante este método.
\include "arabic.ly" \relative { \set Staff.extraNatural = ##f dod' dob dosd \dwn dob dobsb dodsd do do }
Véase también
Referencia de la notación: Nombres de las notas en otros idiomas, Notación común para músicas no occidentales, Inclusión de archivos de LilyPond.
Archivos instalados: ly/arabic.ly ly/hel-arabic.ly
Fragmentos de código: World music.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Nombres de nota árabes ] | [ Up : Música árabe ] | [ Indicaciones de compás árabes > ] |
Armaduras de tonalidad árabes
Además de las armaduras de tonalidad mayores y menores, las armaduras de tonalidad de la música árabe vienen definidas en los archivos hel-arabic.ly o arabic.ly y definen muchos grupos de maqam distintos.
En general, un maqam usa la armadura de su grupo o la de un grupo vecino, y las alteraciones que difieren se van marcando a lo largo de la música. Los maqams árabes admiten sólo modulaciones limitadas, a causa de la naturaleza de los instrumentos musicales árabes.
He aquí un ejemplo de armadura de tonalidad para una pieza del tipo “maqam muhayer”:
\key re \bayati
Aquí, re es la altura predeterminada del maqam muhayer, y bayati es el nombre del maqam básico dentro del grupo.
Al tiempo que la armadura indica el grupo, el título suele indicar el maqam específico, y así en este ejemplo el nombre del “maqam muhayer” debe aparecer también en el título.
Se pueden indicar de la misma forma otros maqams dentro del mismo grupo bayati, como aparece en la tabla a continuación, (p. ej. bayati, hussaini, saba y ushaq). Todos ellos son variantes del maqam básico y más común dentro del grupo, que es bayati. Normalmente se diferencian del maqam básico en su tetracordo superior, o en ciertos detalles de discurso que no cambian su naturaleza fundamental como parientes.
El otro maqam del grupo (nawa) se relaciona con el bayati a través de una modulación y se indica en la tabla entre paréntesis para aquellos que son modulaciones de su maqam básico. El Nawa, por ejemplo, se puede indicar de la siguiente forma:
\key sol \bayati
En la música árabe, el mismo término (p.ej. bayati) que se utiliza para indicar un grupo de maqam, es también un maqam que normalmente es el más importante del grupo, y podemos verlo como el maqam básico.
A continuación presentamos una posibilidad de agrupación que asigna los maqams más comunes a armaduras de tonalidad:
grupo de maqam | tono | final | otros maqams del grupo (final) |
---|---|---|---|
ajam | major | sib | jaharka (fa) |
bayati | bayati | re | hussaini, muhayer, saba, ushaq, nawa (sol) |
hijaz | kurd | re | shahnaz, shad arban (sol), hijazkar (do) |
iraq | iraq | sisb | - |
kurd | kurd | re | hijazkar kurd (do) |
nahawand | minor | do | busalik (re), farah faza (sol) |
nakriz | minor | do | nawa athar, hisar (re) |
rast | rast | do | mahur, yakah (sol) |
sikah | sikah | misb | huzam |
Fragmentos de código seleccionados
Armaduras de tonalidad no tradicionales
La muy utilizada instrucción \key
establece la propiedad
keyAlterations
dentro del contexto Staff
. Para crear
armaduras de tonalidad no estándar, ajuste esta propiedad
directamente.
El formato de esta instrucción es una lista:
\set Staff.keyAlterations = #`(((octava . paso) . alteración)
((octava . paso) . alteración) ...)
donde, para cada elemento dentro de la lista, octava
especifica
la octava (siendo cero la octava desde el Do central hasta
el Si por encima), paso
especifica la nota dentro de la octava
(cero significa Do y 6 significa Si), y
alteración
es ,SHARP ,FLAT ,DOUBLE-SHARP
etc.
De forma alternativa, el uso del formato más conciso (paso
. alteración)
para cada elemento de la lista especifica que la misma
alteración debe estar en todas las octavas. Para escalas microtonales
en las que un “sostenido” no son 100 cents, alteración
se
refiere a la proporción de un tono entero de 200 cents.
\include "arabic.ly" \relative do' { \set Staff.keyAlterations = #`((0 . ,SEMI-FLAT) (1 . ,SEMI-FLAT) (2 . ,FLAT) (5 . ,FLAT) (6 . ,SEMI-FLAT)) %\set Staff.extraNatural = ##f re reb \dwn reb resd dod dob dosd \dwn dob | dobsb dodsd do do | }
Véase también
Glosario musical: maqam, bayati, rast, sikah, iraq, kurd.
Manual de aprendizaje: Alturas y armaduras.
Referencia de la notación: Armadura de la tonalidad.
Archivos instalados: ly/arabic.ly ly/hel-arabic.ly
Fragmentos de código: World music, Pitches.
Referencia de funcionamiento interno: KeySignature.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Armaduras de tonalidad árabes ] | [ Up : Música árabe ] | [ Ejemplo de música árabe > ] |
Indicaciones de compás árabes
Ciertas formas clásicas de música árabe y turca como el Semai utilizan compases poco comunes como el 10/8. Ello puede derivar en una agrupación automática de las notas muy distinta a la de las partituras impresas existentes, donde las notas pueden no estar agrupadas sobre el pulso, sino de una forma difícil de emular ajustando el barrado automático. La alternativa sería desactivar el barrado automático y realizar un barrado manual de las notas. Incluso si no es necesaria una correspondencia con música escrita ya existente, puede seguir siendo deseable ajustar el comportamiento del barrado automático y/o utilizar indicaciones de compás compuestas.
Fragmentos de código seleccionados
Improvisación de música árabe
Para las improvisaciones o taqasim que son libres durante unos
momentos, se puede omitir la indicación de compás y se puede usar
\cadenzaOn
. Podría ser necesario ajustar el estilo de
alteraciones accidentales, porque la ausencia de líneas divisorias
hará que la alteración aparezca una sola vez. He aquí un ejemplo de
cómo podría ser el comienzo de una improvisación hijaz:
\include "arabic.ly" \relative sol' { \key re \kurd \accidentalStyle forget \cadenzaOn sol4 sol sol sol fad mib sol1 fad8 mib re4. r8 mib1 fad sol }
Véase también
Glosario musical: semai, taqasim.
Referencia de la notación: Barras manuales, Barras automáticas, Música sin compasear, Alteraciones accidentales automáticas, Establecer el comportamiento de las barras automáticas, Indicación de compás.
Archivos instalados: ly/arabic.ly ly/hel-arabic.ly
Fragmentos de código: World music.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Indicaciones de compás árabes ] | [ Up : Música árabe ] | [ Lecturas adicionales sobre música árabe > ] |
Ejemplo de música árabe
A continuación aparece una plantilla que emplea también el comienzo de un Semai turco muy común en la educación musical árabe con el objeto de ilustrar algunas de las peculiaridades de la notación árabe, como los intervalos intermedios y los modos poco usuales que tratamos en esta sección.
\include "arabic.ly" \score { \header { title = "Semai Muhayer" composer = "Jamil Bek" } \relative { \set Staff.extraNatural = ##f \set Staff.autoBeaming = ##f \key re \bayati \time 10/8 re'4 re'8 re16 [misb re do] sisb [la sisb do] re4 r8 re16 [misb do re] sisb [do] la [sisb sol8] la [sisb] do [re] misb fa4 fa16 [misb] misb8. [re16] re8 [misb] re [do] sisb do4 sisb8 misb16 [re do sisb] la [do sisb la] la4 r8 } }
Véase también
Archivos instalados: ly/arabic.ly ly/hel-arabic.ly
Véase también
Fragmentos de código: World music.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Ejemplo de música árabe ] | [ Up : Música árabe ] | [ Música clásica de Turquía > ] |
Lecturas adicionales sobre música árabe
Existen ciertas variantes en los detalles sobre la forma en que se agrupan los maqams, a pesar del relativo acuerdo existente acerca de los criterios de agrupación de maqams en función de los tetracordos inferiores comunes, o por medio de la modulación. No es completamente consistente, incluso a veces dentro del mismo texto, la forma en que se deben especificar las armaduras para los maqams concretos. Sin embargo, es usual utilizar una armadura por ‘grupo’ de maqams, más que una armadura distinta para cada maqam concreto.
- The music of the Arabs, de Habib Hassan Touma [Amadeus
Press, 1996], contiene un tratado de los maqams y sus formas de
agrupación.
También existen algunos sitios web que explican los maqams e incluso ofrecen ejemplos de audio:
- Varios métodos de los siguientes autores para el Ud, el laúd
árabe, contienen ejemplos de composiciones turcas y árabes,
principalmente.
- Charbel Rouhana
- George Farah
- Ibrahim Ali Darwish Al-masri
2.10.3 Música clásica de Turquía
Esta sección destaca los problemas de relevancia para la notación de la música clásica de Turquía.
Referencias para música clásica de Turquía | ||
Nombres de las notas en turco | ||
Armaduras de tonalidad de la música turca | ||
Lecturas adicionales sobre música turca |
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Música clásica de Turquía ] | [ Up : Música clásica de Turquía ] | [ Nombres de las notas en turco > ] |
Referencias para música clásica de Turquía
La música clásica de Turquía se desarrolló en el imperio Otomano durante un período aproximadamente contemporáneo con la música clásica de Europa, y se ha prolongado hasta los ss.XX y XXI como una viva y característica tradición con sus propias formas composicionales, teorías y estilos de interpretación. Entre sus características más sobresalientes está el uso de intervalos microtonales basados en ‘comas’ de 1/9 de tono, a partir de los que se construyen las formas melódicas conocidas como makam (en plural makamlar).
Ciertos asuntos de relevancia respecto a la música clásica de Turquía se tratan en otras partes. Los nombres especiales de las notas y las alteraciones se dan en Notación común para músicas no occidentales.
Nombres de las notas en turco
Las notas en la música clásica de Turquía tienen tradicionalmente nombres únicos, y la base de las alturas sobre divisiones de 1/9 de tono significan que los makamlar utilizan un conjunto de intervalos completamente diferente de las escalas y modos occidentales.
Desde el punto de vista de la notación moderna, es conveniente utilizar las notas occidentales (do, re, mi, … ó c, d, e, …) con alteraciones especiales que elevan o bajan las notas en intervalos de 1/9, 4/9, 5/9 y 8/9 de tono.
Estas alteraciones personalizadas están definidas en el archivo makam.ly.
Para ver una explicación más general sobre la notación musical no occidental, consulte Notación común para músicas no occidentales.
Véase también
Glosario musical: makam, makamlar.
Referencia de la notación: Notación común para músicas no occidentales.
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Nombres de las notas en turco ] | [ Up : Música clásica de Turquía ] | [ Lecturas adicionales sobre música turca > ] |
Armaduras de tonalidad de la música turca
Lilypond da soporte a más de 200 definiciones de armaduras de makam (mucho más de las que se utilizan en la música clásica turca), teniendo cada makam su propia tónica o finalis (conocida en turco como ‘karar’).
Es importante tener en cuenta la nota finalis de cada maqam. He aquí un ejemplo en el que g es la tónica predeterminada y rast es el nombre del maqam.
\key g \rast
Las alteraciones correctas, bemol de coma (b1) y sostenido
de coma (f4
), (ambos en relación a la tónica g), se
imprimen automáticamente.
Fragmentos de código seleccionados
Turkish Makam example
This template uses the start of a well-known Turkish Saz Semai that is familiar in the repertoire in order to illustrate some of the elements of Turkish music notation.
\paper { tagline = ##f } % Initialize makam settings \include "turkish-makam.ly" \header { title = "Hüseyni Saz Semaisi" composer = "Lavtacı Andon" } \relative { \set Staff.extraNatural = ##f \set Staff.autoBeaming = ##f \key a \huseyni \time 10/8 a'4 g'16 [fb] e8. [d16] d [c d e] c [d c8] bfc | a16 [bfc a8] bfc c16 [d c8] d16 [e d8] e4 fb8 | d4 a'8 a16 [g fb e] fb8 [g] a8. [b16] a16 [g] | g4 g16 [fb] fb8. [e16] e [g fb e] e4 r8 | }
[ << Notación especializada ] | [Top][Contents][Index] | [ Entrada y salida generales >> ] |
[ < Armaduras de tonalidad de la música turca ] | [ Up : Música clásica de Turquía ] | [ Entrada y salida generales > ] |
Lecturas adicionales sobre música turca
- Turk Musikisi Nazariyati ve Usulleri: Kudum Velveleleri de Ismail
Hakki Ozkan [(Kultur serisi, 41) (Turkish) Paperback – 1986]
contiene información acerca de la teoría de los maqams y los usul.
- Music of the Ottoman Court de Walter Feldman
[VWB Hardback – 1996]
contiene información sobre la historia de la música cortesana otomana.
- Turkish Music Makam Guide de Murat Aydemir [Pan Paperback – 2010]
contiene información en inglés concerniente al maqam turco, incluyendo dos CDs.
[ << Notación especializada ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Lecturas adicionales sobre música turca ] | [ Up : Top ] | [ Estructura del código de entrada > ] |
3 Entrada y salida generales
Esta sección trata de asuntos relacionados con la entrada y salida generales de LilyPond, más que con la notación específica.
3.1 Estructura del código de entrada | ||
3.2 Títulos y encabezamientos | ||
3.3 Trabajar sobre los archivos de entrada | ||
3.4 Controlar la salida | ||
3.5 Creación de salida MIDI | ||
3.6 Extraer información musical |
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Entrada y salida generales ] | [ Up : Entrada y salida generales ] | [ Estructura de una partitura > ] |
3.1 Estructura del código de entrada
El formato principal de entrada para LilyPond son archivos de texto. Por convenio, el nombre de estos archivos termina en .ly.
3.1.1 Estructura de una partitura | ||
3.1.2 Varias partituras en un libro | ||
3.1.3 Varios archivos de salida a partir de uno de entrada | ||
3.1.4 Nombres de los archivos de salida | ||
3.1.5 Estructura del archivo |
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Estructura del código de entrada ] | [ Up : Estructura del código de entrada ] | [ Varias partituras en un libro > ] |
3.1.1 Estructura de una partitura
Un bloque \score
debe contener una expresión musical única
delimitada por un par de llaves:
\score { … }
Nota: Sólo puede haber una expresión musical dentro del
bloque \score
, y debe estar encerrada entre llaves.
Esta expresión musical única puede tener cualquier tamaño, y puede contener otras expresiones musicales hasta cualquier grado de complejidad. Todos los siguientes ejemplos son expresiones musicales:
{ c'4 c' c' c' }
{ { c'4 c' c' c' } { d'4 d' d' d' } }
<< \new Staff { c'4 c' c' c' } \new Staff { d'4 d' d' d' } >>
{ \new GrandStaff << \new StaffGroup << \new Staff { \flute } \new Staff { \oboe } >> \new StaffGroup << \new Staff { \violinI } \new Staff { \violinII } >> >> }
Los comentarios son una excepción a esta regla general (para ver
otras excepciones, consulte Estructura del archivo). Tanto
los comentarios de una línea como los que están delimitados por
%{ … %}
se pueden escribir en cualquier lugar
dentro del archivo de entrada. Se pueden escribir dentro o fuera
del bloque \score
, y dentro o fuera de la expresión
musical única dentro del bloque \score
.
Recuerde que incluso dentro de un archivo que contenga solamente
un bloque \score
, éste se encuentra incluido
implícitamente dentro de un bloque \book
. Un bloque
\book
dentro de un archivo fuente produce al menos un
archivo de salida, y de forma predeterminada el nombre del
archivo de salida que se produce está derivado del nombre del
archivo de entrada, de forma que fandangoforelephants.ly
da como resultado fandangoforelephants.pdf.
(Para ver más detalles acerca de los bloques \book
,
consulte Varias partituras en un libro,
Varios archivos de salida a partir de uno de entrada y
Estructura del archivo.)
Véase también
Manual de aprendizaje: Trabajar sobre los archivos de entrada, Explicación de las expresiones musicales, La partitura es una (única) expresión musical compuesta.
3.1.2 Varias partituras en un libro
Un documento puede contener varias piezas de música y texto. Son
ejemplos un libro de estudios o una parte orquestal con varios
movimientos. Cada movimiento se introduce con un bloque
\score
:
\score { …música… }
y los textos se introducen con un bloque \markup
:
\markup { …texto… }
Todos los movimientos y textos que aparecen en el mismo archivo .ly se tipografían normalmente en la forma de un solo archivo de salida.
\score { … } \markup { … } \score { … }
Una excepción importante se da dentro de los documentos de
lilypond-book, en los que tenemos que escribir explícitamente un
bloque \book
, pues en caso contrario sólo aparecerá en la
salida el primer \score
o \markup
.
El encabezamiento de cada pieza se puede poner dentro del bloque
\score
. Antes de cada movimiento, se imprime el nombre de
la pieza (piece
) extraído del encabezamiento. El título
del libro entero se puede poner dentro del bloque \book
,
pero si no está presente se inserta el encabezamiento
\header
que está al principio del archivo.
\header { title = "Ocho miniaturas" composer = "Igor Stravinsky" } \score { \header { piece = "Romanze" } … } \markup { …texto de la segunda estrofa… } \markup { …texto de la tercera estrofa… } \score { \header { piece = "Menuetto" } … }
Se pueden agrupar distintas piezas de música en partes de un
libro utilizando bloques \bookpart
. Las partes de libro
se separan por medio de saltos de página, y pueden dar comienzo
con un título, como el libro propiamente dicho, mediante la
especificación del bloque \header
.
\bookpart { \header { title = "Título del libro" subtitle = "Primera parte" } \score { … } … } \bookpart { \header { subtitle = "Segunda parte" } \score { … } … }
3.1.3 Varios archivos de salida a partir de uno de entrada
Si queremos varios archivos de salida a partir del mismo archivo
.ly, podemos escribir varios bloques \book
, donde
cada uno de estos bloques \book
dará como resultado un
archivo de salida distinto. Si no especificamos ningún bloque
\book
en el archivo, LilyPond trata implícitamente todo el
archivo como un solo bloque \book
, véase Estructura del archivo.
Al producir varios archivos a partir de un solo archivo fuente,
LilyPond se asegura de que ninguno de los archivos de salida de
ningún bloque \book
sobreescribe el archivo de salida
producido por un \book
anterior del mismo archivo de
entrada.
Lo hace añadiendo un sufijo al nombre de la salida para cada
libro \book
que utiliza el nombre del archivo de salida
predeterminado, derivado del archivo fuente de entrada.
El comportamiento predeterminado es añadir un sufijo con el número de versión para cada nombre que pueda coincidir; así:
\book { \score { … } \paper { … } } \book { \score { … } \paper { … } } \book { \score { … } \paper { … } }
en el archivo fuente eightminiatures.ly, produce
- eightminiatures.pdf,
- eightminiatures-1.pdf y
- eightminiatures-2.pdf.
3.1.4 Nombres de los archivos de salida
LilyPond le ofrece unos mecanismos que le permiten controlar los nombres de archivo que se utilizan por parte de los diversos motores finales al producir los archivos de salida.
En la sección anterior vimos cómo LilyPond evita las
coincidencias de nombres al producir varias salidas a partir de
un único archivo fuente de entrada. También podemos especificar
nuestros propios sufijos para cada bloque \book
, de manera
que podemos producir, por ejemplo, archivos con los nombres
eightminiatures-Romanze.pdf,
eightminiatures-Menuetto.pdf y
eightminiatures-Nocturne.pdf añadiendo una declaración
\bookOutputSuffix
dentro de cada bloque \book
.
\book { \bookOutputSuffix "Romanze" \score { … } \paper { … } } \book { \bookOutputSuffix "Menuetto" \score { … } \paper { … } } \book { \bookOutputSuffix "Nocturne" \score { … } \paper { … } }
También podemos especificar un nombre de archivo de salida
diferente para cada bloque book
, mediante la utilización
de declaraciones \bookOutputName
:
\book { \bookOutputName "Romanze" \score { … } \paper { … } } \book { \bookOutputName "Menuetto" \score { … } \paper { … } } \book { \bookOutputName "Nocturne" \score { … } \paper { … } }
El código anterior produce los siguientes archivos de salida:
- Romanze.pdf,
- Menuetto.pdf y
- Nocturne.pdf.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Nombres de los archivos de salida ] | [ Up : Estructura del código de entrada ] | [ Títulos y encabezamientos > ] |
3.1.5 Estructura del archivo
Un archivo .ly puede contener cualquier número de expresiones del nivel superior, donde una expresión del nivel superior es una de las siguientes posibilidades:
- Una definición de salida, como
\paper
,\midi
y\layout
. Tal definición en el nivel más alto cambia los ajustes predeterminados para todo el libro. Si se introduce más de una de estas definiciones del mismo tipo en el nivel más alto, las definiciones se combinan, pero en situaciones de conflicto las definiciones más tardías tienen preferencia. Para ver los detalles sobre cómo afecta al bloque\layout
, consulte El bloque\layout
. - Una expresión directa de Scheme, como
#(set-default-paper-size "a7" 'landscape)
o#(ly:set-option 'point-and-click #f)
. - Un bloque
\header
. Esto establece el bloque de encabezamiento global (es decir, al principio del archivo). Es el bloque que contiene los ajustes predeterminados de los campos de encabezamientos como el compositor, título, etc. para todos los libros que están dentro del archivo (véase Explicación de los títulos). - Un bloque
\score
. Esta partitura se reúne con otras partituras del nivel superior, y se combina con ellas formando un\book
(libro) único. Este comportamiento se puede cambiar estableciendo el valor de la variabletoplevel-score-handler
en el nivel superior (el handler predeterminado se define en el archivo ../scm/lily-library.scm y su valor se establece en el archivo ../ly/declarations-init.ly.) - Un bloque
\book
combina lógicamente varios movimientos (es decir, varios bloques\score
) en un solo documento. Si hay varias partituras\score
, se crea un solo archivo de salida para cada bloque\book
, en el que se concatenan todos los movimientos correspondientes. La única razón para especificar explícitamente bloques\book
en un archivo de entrada .ly es si queremos crear varios archivos de salida a partir de un único archivo de entrada. Una excepción se da dentro de los documentos de lilypond-book, en los que tenemos que escribir explícitamente un bloque\book
si queremos tener más de una única partitura\score
o marcado\markup
en el mismo ejemplo. Se puede cambiar este comportamiento estableciendo el valor de la variabletoplevel-book-handler
en el nivel superior. El handler predeterminado se define en el archivo de inicio ../scm/lily.scm. - Un bloque
\bookpart
. Un libro puede dividirse en varias partes, utilizando bloques\bookpart
, con objeto de facilitar la inserción de saltos de página o usar distintos ajustes de\paper
en las distintas partes. - Una expresión musical compuesta, como
{ c'4 d' e'2 }
Esto añade la pieza al
\score
y la conforma dentro de un libro único junto a todas las demás partituras\score
y expresiones musicales del nivel superior. En otras palabras, un archivo que contiene sólo la expresión musical anterior se traduce a\book { \score { \new Staff { \new Voice { { c'4 d' e'2 } } } \layout { } } \paper { } \header { } }
Se puede cambiar este comportamiento estableciendo el valor de la variable
toplevel-music-handler
en el nivel más alto. El handler predeterminado se define en el archivo de inicio ../scm/lily.scm. - Un texto de marcado, por ejemplo una estrofa
\markup { 2. Estrofa dos, línea uno }
Los textos de marcado se colocan encima, en medio o debajo de las partituras o expresiones musicales, según donde aparezcan escritos.
- Una variable, como
fulano = { c4 d e d }
Esto se puede utilizar más tarde en el archivo escribiendo
\fulano
. El nombre de las variables ha de ser exclusivamente alfabético; sin números, guiones ni barras bajas.
El ejemplo siguiente muestra tres cosas que se pueden introducir en el nivel superior:
\layout { % No justificar la salida ragged-right = ##t } \header { title = "Do-re-mi" } { c'4 d' e2 }
En cualquier punto del archivo se pueden introducir cualquiera de las instrucciones léxicas siguientes:
-
\version
-
\include
-
\sourcefilename
-
\sourcefileline
- Un comentario de una línea, determinado por un símbolo
%
al principio. - Un comentario de varias líneas, delimitado por
%{ … %}
.
Por lo general se ignoran los espacios entre elementos del flujo de entrada, y se pueden omitir o aumentar tranquilamente para mejorar la legibilidad. Sin embargo, los espacios se deben utilizar siempre para evitar errores, en las siguientes situaciones:
- Alrededor de todas y cada una de las llaves curvas de apertura y cierre.
- A continuación de las instrucciones y variables, es decir,
todos los elementos que comienzan con un signo
\
de barra invertida. - A continuación de todo elemento que se deba interpretar
como expresión de Scheme, es decir, todo elemento que comience
por un signo
#
. - Para separar los elementos de una expresión de Scheme.
- Dentro de
lyricmode
antes y después de las instrucciones\set
y\override
.
Véase también
Manual de aprendizaje: Cómo funcionan los archivos de entrada de LilyPond.
Referencia de la notación:
Explicación de los títulos,
El bloque \layout
.
3.2 Títulos y encabezamientos
Casi toda la música impresa tiene un título y el nombre del compositor; ciertas piezas tienen mucha más información.
3.2.3 Crear metadatos en los archivos de salida
Además de mostrarse en la salida impresa, las variables de
encabezamiento de \header
se usan para establecer los
metadatos para los archivos de salida. Por ejemplo, con los
archivos PDF, estos metadatos pueden mostrarse por parte de los
lectores de documentos como propiedades
del PDF. Para cada
tipo de archivo de salida, solamente se consultan las definiciones
de \header
de los bloques que definen archivos separados de
ese tipo, y los bloques más altos en la jerarquía de bloques. Por
tanto, para los archivos PDF, solo afectan a los metadatos de PDF
de cada documento las definiciones de \header
de los
niveles de \book
y de nivel superior, mientras que para
archivos MIDI, se usan todas las cabeceras que están por encima o
al nivel de \score
.
Por ejemplo, si se
establece la propiedad title
del bloque header
como
‘Sinfonía núm. 1’, el documento PDF llevará también este
título, y lo usará como el nombre de la secuencia del archivo MIDI.
\header { title = "Sinfonía núm. 1" }
Si quiere fijar el título de la salida impresa con un texto pero
quiere que la propiedad de título del PDF tenga un texto
diferente, puede usar pdftitle
como se muestra a
continuación.
\header { title = "Sinfonía núm. 1" pdftitle = "Sinfonía núm. 1 de Beethoven" }
Todas las variables title
, subject
,
keywords
, subtitle
, composer
,
arranger
, poet
, author
y copyright
establecen propiedades del PDF y pueden hacerse preceder de
‘pdf’ para fijar una propiedad del archivo PDF a un valor
distinto del de la salida impresa.
La propiedad de PDF Creator
se fija automáticamente a
‘LilyPond’ más la versión actual de LilyPond, y las variables
CreationDate
y ModDate
se fijan a la fecha y hora
actuales. Se puede sobreescribir ModDate
mediante el
establecimiento de un valor para la variable de cabecera
moddate
(o pdfmoddate
) a una cadena de fecha de PDF
válida.
La variable title
establece también el nombre de la
secuencia para el archivo MIDI. Se puede usar la variable
midititle
para fijar el nombre de la secuencia
independientemente del valor usado para la salida impresa.
3.2.4 Crear notas al pie
Se pueden crear dos tipos de notas al pie: automáticas y manuales.
Notas al pie dentro de expresiones musicales | ||
Notas al pie en texto independiente |
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Crear notas al pie ] | [ Up : Crear notas al pie ] | [ Notas al pie en texto independiente > ] |
Notas al pie dentro de expresiones musicales
Panorámica de las notas al pie
Las notas al pie dentro de expresiones musicales caen dentro de dos categorías:
- Notas al pie basadas en eventos
Se adjuntan a un evento en particular. Son ejemplos de tales eventos las notas sueltas, las articulaciones (como indicaciones de digitación, acentos, indicaciones dinámicas) y los post-eventos (como las ligaduras de expresión y las barras de corchea manuales). La forma general de las notas al pie basadas en eventos es como sigue:
[dirección] \footnote [marca] desplazamiento texto-de-la-nota música
- Notas al pie basadas en tiempo
Se ligan a un punto temporal determinado, dentro de un contexto musical. Algunas instrucciones como
\time
y\clef
en realidad no usan eventos para crear objetos como la indicación de compás y la clave. Un acorde tampoco crea un evento por sí mismo: su plica o corchete se crea al final de un paso de tiempo (nominalmente, a través de uno de los eventos de nota que contiene). Una nota al pie basada en tiempo permite anotar tales objetos de presentación sin referirse a ningún evento.Una nota al pie basada en tiempo permite que tales objetos de presentación se puedan anotar sin hacer referencia a un evento. La forma general para las notas al pie basadas en tiempo es:
\footnote [marca] desplazamiento texto-de-la-nota [Contexto].Nombre-del-Grob
Los elementos para las dos formas son como sigue:
- dirección
Si (y sólo si) el
\footnote
se está aplicando a un post-evento o articulación, debe ir precedida de un indicador de dirección (-, _, ^
) con el objeto de adjuntar la música (con una marca de nota al pie) a la nota o silencio precedente.- marca ¶
-
es un elemento de marcado o cadena de caracteres que especifica la marca de nota al pie que se usa para marcar tanto el punto de referencia como la propia nota al pie en la parte inferior de la página. Se puede omitir (o, de forma equivalente, sustituirse por
\default
) en cuyo caso se genera un número secuencialmente de forma automática. Tales secuencias numéricas se reinician en cada página que contiene una nota al pie. - desplazamiento
es una pareja de números tal como ‘#(2 . 1)’ que especifica los desplazamientos en X y en Y en unidades de espacios de pentagrama a partir del límite del objeto en que se desea situar la marca. Los valores de desplazamiento positivos se toman a partir del borde superior derecho, los valores negativos a partir del borde inferior izquierdo y cero implica que la marca se centra sobre el borde.
- Contexto
es el contexto en que se crea el grob que recibe la nota al pie. Se puede omitir si el grob está en un contexto del nivel inferior, p. ej. un contexto
Voice
.- Nombre-del-Grob
especifica un tipo de grob que marcar (como ‘Flag’ para el corchete). Si se da, la nota al pie no se adjunta a una expresión musical en particular, sino a todos los grobs del tipo especificado que ocurren en dicho momento de tiempo musical.
- texto-de-la-nota
es el elemento de marcado o cadena de caracteres que especifica el texto de la nota al pie que utilizar en la parte baja de la página.
- música
es el evento musical, post-evento o articulación que se está anotando.
Notas al pie basadas en eventos
Una nota al pie se adjunta a un objeto de presentación causado directamente por el evento que corresponde a música, con la sintaxis siguiente:
\footnote [marca] desplazamiento texto-de-la-nota música
\book { \header { tagline = ##f } \relative c'' { \footnote #'(-1 . 3) "Una nota" a4 a4 \footnote #'(2 . 2) "Un silencio" r4 a4 } }
No es posible marcar un acorde completo con una nota al pie basada en evento: un acorde, incluso aquel que contiene una sola nota, no produce un verdadero evento por sí mismo. Sin embargo, las notas individuales que están dentro del acorde sí se pueden marcar:
\book { \header { tagline = ##f } \relative c'' { \footnote #'(2 . 3) "No funciona" <a-3>2 <\footnote #'(-2 . -3) "Funciona" a-3>4 <a-3 \footnote #'(3 . 1/2) "También funciona" c-5>4 } }
Si se desea que la nota al pie se adjunte a un post-evento o
articulación, la instrucción \footnote
debe ir
precedida por un indicador de dirección, -, _, ^
, y
seguida por el post-evento o articulación que se desea anotar
como argumento música. En esta forma, la \footnote
se puede considerar como una simple copia de su último argumento
con una marca de nota al pie adjunta. La sintaxis es:
dirección \footnote [marca] desplazamiento texto-de-la-nota música
\book { \header { tagline = ##f } \relative { a'4_\footnote #'(0 . -1) "Ligadura forzada hacia abajo" ( b8^\footnote #'(1 . 0.5) "Barra manual forzada hacia arriba" [ b8 ] c4 ) c-\footnote #'(1 . 1) "Tenuto" -- } }
notas al pie basadas en tiempo
Si el objeto de presentación que recibe la nota al pie está
causado indirectamente por un evento (como un objeto
Accidental
, alteración, o Stem
, plica, causados por
un evento NoteHead
, cabeza de nota), el nombre del grob
GrobName del objeto de presentación es necesario después
del texto de la nota al pie, en lugar de música:
\book { \header { tagline = ##f } \relative c'' { \footnote #'(-1 . -3) "Un bemol" Accidental aes4 c \footnote #'(-1 . 0.5) "Otro bemol" Accidental ees \footnote #'(1 . -2) "Una plica" Stem aes } }
Sin embargo, observe que cuando se especifica el nombre de un grob, se adjunta una nota al pie a todos los grobs de ese tipo dentro del instante de tiempo actual:
\book { \header { tagline = ##f } \relative c' { \footnote #'(-1 . 3) "Un bemol" Accidental <ees ges bes>4 \footnote #'(2 . 0.5) "Articulación" Script c'->-. } }
Una nota dentro de un acorde puede recibir una nota al pie
individual, basada en evento. El único grob causado directamente
por una nota de un acorde es ‘NoteHead’, por lo que la
instrucción de nota al pie basada en evento solamente es
apta para añadir una nota al pie a la ‘NoteHead’ dentro de
un acorde. Todos los demás grobs de notas de acorde están
causados indirectamente. La propia instrucción \footnote
no ofrece ninguna sintaxis para especificar al mismo tiempo un
tipo concreto de grob y también un evento concreto al que
adjuntar la nota. Sin embargo, se puede usar una instrucción
\footnote
basada en tiempo para especificar el tipo de
grob, y luego añadir la instrucción \single
como prefijo,
con el objeto de que se aplique solamente al evento siguiente:
\book { \header { tagline = ##f } \relative c'' { < \footnote #'(1 . -2) "Un La" a \single \footnote #'(-1 . -1) "Un sostenido" Accidental cis \single \footnote #'(0.5 . 0.5) "Un bemol" Accidental ees fis >2 } }
Nota: Cuando las notas al pie se adjuntan a varios elementos musicales que están dentro del mismo momento musical, como ocurre en el ejemplo anterior, las notas al pie se numeran desde los elementos más altos a los más bajos tal y como aparecen en la salida impresa, no en el orden en que se escriben en el flujo de entrada.
Los objetos de presentación como las claves y las armaduras de cambio de tonalidad están, más bien, causadas por propiedades que cambian, y no por eventos. Otros, como las líneas divisorias y los números de compás, son una consecuencia directa del paso del tiempo. Por esta razón, las notas al pie sobre tales objetos tienen que basarse en su tiempo musical. Las notas al pie basadas en tiempo so preferibles también cuando se marcan cosas como las plicas y las barras de corchea en acordes: dado que estas funcionalidades de cada acorde individual están asignadas normalmente a un solo evento dentro del acorde, sería imprudente descansar en una elección particular.
En las notas al pie basadas en tiempo, siempre se debe especificar explícitamente el objeto de presentación en cuestión, y si el grob se crea dentro de un contexto distinto al de nivel más bajo, debe especificarse el contexto apropiado.
\book { \header { tagline = ##f } \relative c'' { r1 | \footnote #'(-0.5 . -1) "Cambio de compás" Staff.TimeSignature \time 3/4 \footnote #'(1 . -1) "Plica de acorde" Stem <c e g>4 q q \footnote #'(-0.5 . 1) "Línea divisoria" Staff.BarLine q q \footnote #'(0.5 . -1) "Cambio de tonalidad" Staff.KeySignature \key c\minor q } }
Se pueden usar marcas personalizadas como alternativas a las marcas numéricas, y se puede suprimir la línea de anotación que une el objeto marcado con su marca:
\book { \header { tagline = ##f } \relative c' { \footnote "*" #'(0.5 . -2) \markup { \italic "* La primera nota" } a'4 b8 \footnote \markup { \super "$" } #'(0.5 . 1) \markup { \super "$" \italic " La segunda nota" } e c4 \once \override Score.Footnote.annotation-line = ##f b-\footnote \markup \tiny "+" #'(0.1 . 0.1) \markup { \super "+" \italic " Editorial" } \p } }
Se muestran más ejemplos de marcas personalizadas en Notas al pie en texto independiente.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Notas al pie dentro de expresiones musicales ] | [ Up : Crear notas al pie ] | [ Referencia a números de página > ] |
Notas al pie en texto independiente
Se utilizan dentro de un elemento de marcado fuera de cualquier expresión musical. No se traza una línea hasta el punto de referencia: la marca simplemente sigue al elemento de marcado que se referencia. Se pueden insertar las marcas automáticamente, en cuyo caso son numéricas. De forma alternativa, se pueden aportar manualmente marcas personalizadas.
Las notas al pie para texto independiente con marcas automáticas y personalizadas se crean de distintas formas.
Notas al pie en texto independiente con marcas automáticas
La sintaxis de una nota al pie sobre texto independiente con marcas automáticas es
\markup { … \footnote texto nota … }
Los elementos son:
- texto
es el elemento de marcado o cadena de caracteres que se desea anotar.
- nota
es el elemento de marcado o cadena de caracteres que especifica el texto de la nota al pie que utilizar en la parte baja de la página.
Por ejemplo:
\book { \header { tagline = ##f } \markup { "A simple" \footnote "tune" \italic " By me" "is shown below. It is a" \footnote "recent" \italic " Aug 2012" "composition." } \relative { a'4 b8 e c4 d } }
Notas al pie sobre texto independiente con marcas personalizadas
La sintaxis de una nota al pie sobre texto independiente con marcas personalizadas es
\markup { … \footnote marca nota … }
Los elementos son:
- marca
es un elemento de marcado o cadena de caracteres que especifica la marca que se usa para señalar el punto de referencia. Observe que esta marca no se inserta automáticamente antes de la propia nota al pie.
- nota
es el elemento de marcado o cadena de caracteres que especifica el texto de la nota que aparece en la parte baja de la página, precedida por la marca especificada.
Se puede usar como marca un carácter fácil de teclear, como * ó +, según se muestra en Notas al pie dentro de expresiones musicales. De forma alternativa, se pueden usar alias en ASCII (véase Alias de ASCII):
\book { \paper { #(include-special-characters) } \header { tagline = ##f } \markup { "A simple tune" \footnote "*" \italic "* By me" "is shown below. It is a recent" \footnote \super † \concat { \super † \italic " Aug 2012" } "composition." } \relative { a'4 b8 e c4 d } }
También pueden utilizarse códigos de caracteres Unicode para especificar las marcas (véase Unicode):
\book { \header { tagline = ##f } \markup { "A simple tune" \footnote \super \char##x00a7 \concat { \super \char##x00a7 \italic " By me" } "is shown below. It is a recent" \footnote \super \char##x00b6 \concat { \super \char##x00b6 \italic " Aug 2012" } "composition." } \relative { a'4 b8 e c4 d } }
Véase también
Manual de aprendizaje: Objetos e interfaces.
Referencia de la notación: Alias de ASCII, Globos de ayuda, Lista de caracteres especiales, Indicaciones de texto, Guiones de texto, Unicode.
Referencia de funcionamiento interno: FootnoteEvent, Footnote, Footnote_engraver.
Advertencias y problemas conocidos
Varias notas al pie en la misma página solo pueden ir apiladas unas sobre otras; no se pueden imprimir en la misma línea.
Las notas al pie no se pueden adjuntar a MultiMeasureRests
(silencios multicompás), a barras de corchea automáticas ni a la
letra de las canciones.
Las notas al pie pueden colisionar con las pautas, objetos
\markup
, otras marcas de notas al pie y líneas de
anotación.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Notas al pie en texto independiente ] | [ Up : Títulos y encabezamientos ] | [ Índice general > ] |
3.2.5 Referencia a números de página
Un lugar determinado de una partitura puede señalizarse usando la
instrucción \label
(etiqueta), ya sea en el nivel superior
o dentro de la música. Podemos referirnos a esta etiqueta más
tarde dentro de un elemento de marcado, para obtener el número de
la página en la que se sitúa el punto señalizado, usando la
instrucción de marcado \page-ref
.
\header { tagline = ##f } \book { \label #'firstScore \score { { c'1 \pageBreak \mark A \label #'markA c'1 } } \markup { La primera partitura comienza en la página \page-ref #'firstScore "0" "?" } \markup { La marca A está en la página \page-ref #'markA "0" "?" } }
La instrucción de marcado \page-ref
toma tres argumentos:
- la etiqueta, un símbolo de Scheme, p.ej.
#'firstScore
; - un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
- un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
El motivo de que se necesite un medidor es que en el momento en que se están interpretando los marcados, los saltos de página aún no se han producido y por tanto los números de página no se conocen todavía. Para sortear este inconveniente, la interpretación real del marcado se retrasa hasta un momento posterior; sin embargo, las dimensiones del marcado se tienen que conocer de antemano, así que se usa el medidor para decidir estas dimensiones. Si el libro tiene entre 10 y 99 páginas, el medidor puede ser "00", es decir, un número de dos dígitos.
Instrucciones predefinidas
\label
,
\page-ref
.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Referencia a números de página ] | [ Up : Títulos y encabezamientos ] | [ Trabajar sobre los archivos de entrada > ] |
3.2.6 Índice general
Se puede insertar un índice general o tabla de contenidos
utilizando la instrucción \markuplist \table-of-contents
.
Los elementos que deben aparecer en la tabla de contenidos se
introducen con la instrucción \tocItem
, que se puede usar
en el nivel más alto de la jerarquía del código, o dentro de una
expresión musical.
\markuplist \table-of-contents \pageBreak \tocItem \markup "Primera partitura" \score { { c'4 % ... \tocItem \markup "Un punto concreto dentro de la primera partitura" d'4 % ... } } \tocItem \markup "Segunda partitura" \score { { e'4 % ... \tocItem actI \markup "Act I" f'4 % ... \tocItem actI.sceneI \markup "Scene 1" g'4 % ... \tocItem actI.sceneI.recitativo \markup "Recit." a'4 % ... } }
De manera opcional se puede asociar una etiqueta con un elemento en particular o con una lista jerárquica de etiquetas existentes, terminando con la etiqueta de ese elemento. Esta última posibilidad nos permite marcar el elemento como un ‘hijo’ de los elementos etiquetados precedentes, haciendo así aparente la estructura de la partitura en el índice general.
Los elementos de marcado que se usan para dar formato al índice
general o tabla de contenidos se encuentran definidos dentro del
bloque \paper
. Hay tres elementos de marcado
‘predefinidos’ disponibles:
-
tocTitleMarkup
Utilizado para dar formato al título del índice general.
tocTitleMarkup = \markup \huge \column { \fill-line { \null "Índice general" \null } \null }
-
tocItemMarkup
Usado para dar formato a los elementos del índice general.
tocItemMarkup = \markup \fill-line { \fromproperty #'toc:text \fromproperty #'toc:page }
-
tocFormatMarkup
Cómo se formatean las entradas del nivel superior de la tabla (si existen varios niveles jerárquicos). Esto es un procedimiento en realidad, como se explica en Construcción de elementos de marcado en Scheme.
tocFormatMarkup = #make-bold-markup
-
tocIndentMarkup
Usado para definir cómo la jerarquía del esquema general se hace aparente. Este elemento de marcado se imprime ninguna, una o varias veces dependiendo del nivel de cada entrada.
tocIndentMarkup = \markup \hspace #4
Cualquiera de estas variables puede modificarse.
He aquí un ejemplo que traduce el título del índice general al francés:
\paper { tocTitleMarkup = \markup \huge \column { \fill-line { \null "Table des matières" \null } \hspace #1 }
A continuación aparece un ejemplo que modifica el tamaño de fuente tipográfica de los elementos del índice general:
tocItemMarkup = \markup \large \fill-line { \fromproperty #'toc:text \fromproperty #'toc:page }
Observe la forma en que nos referimos al texto y al número de
página del elemento de índice, dentro de la definición
tocItemMarkup
.
La instrucción \tocItemWithDotsMarkup
se puede incluir
dentro de tocItemMarkup
para llenar la línea con puntos
entre un elemento del índice general y su número de página
correspondiente:
\header { tagline = ##f } \paper { tocItemMarkup = \tocItemWithDotsMarkup } \book { \markuplist \table-of-contents \tocItem \markup { Allegro } \tocItem \markup { Largo } \markup \null }
Además del mecanismo incorporado de construcción del índice general, las instrucciones predefinidas pueden definirse también para que construyan un índice general más personalizado con diferentes elementos de marcado. En el ejemplo siguiente se define un estilo nuevo para introducir los actos y escenas de una ópera en el índice general:
Una nueva variable de marcado (llamada tocActMarkup
) se
define en el bloque \paper
:
\paper { tocActMarkup = \markup \large \column { \hspace #1 \fill-line { \null \italic \fromproperty #'toc:text \null } \hspace #1 } }
A continuación se crea una función musical personalizada
(tocAct
), que usa la nueva definición de marcado
tocActMarkup
, y permite especificar una etiqueta para cada
acto.
tocAct = #(define-music-function (label text) (symbol? markup?) (add-toc-item! 'tocActMarkup text label))
Usando estas definiciones personalizadas y modificando algunas de las definiciones existentes, el archivo fuente se podría escribir entonces de la manera siguiente:
El ejemplo anterior muestra también cómo usar la instrucción de
marcado \fill-with-pattern
dentro del contexto de un índice
general o tabla de contenidos.
Véase también
Archivos de inicio: ly/toc-init.ly.
Instrucciones predefinidas
\table-of-contents
,
\tocItem
,
tocItemMarkup
,
tocTitleMarkup
,
tocFormatMarkup
,
tocIndentMarkup
.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Índice general ] | [ Up : Entrada y salida generales ] | [ Inclusión de archivos de LilyPond > ] |
3.3 Trabajar sobre los archivos de entrada
3.3.1 Inclusión de archivos de LilyPond | ||
3.3.2 Distintas ediciones a partir de una misma fuente | ||
3.3.3 Caracteres especiales |
3.3.1 Inclusión de archivos de LilyPond
Un proyecto grande se puede dividir en varios archivos. Para referirse a otro archivo, utilice
\include "otroarchivo.ly"
La línea \include "otroarchivo.ly"
equivale a pegar todo
el contenido de otroarchivo.ly en el archivo actual en el
lugar en que aparece el \include
. Por ejemplo, en un
proyecto grande podríamos querer archivos distintos para cada
parte instrumental y crear un archivo de “partitura completa”
que reúne los archivos individuales de los instrumentos.
Normalmente el archivo incluido define un cierto número de
variables que a partir de entonces quedan disponibles para
poderlas utilizar en el archivo de la partitura completa. En los
archivos incluidos se pueden marcar las secciones etiquetadas
para ayudar a hacerlas utilizables en distintos lugares de la
partitura, véase Distintas ediciones a partir de una misma fuente.
Los archivos que están en el directorio de trabajo actual se
pueden referenciar simplemente especificando el nombre después de
la instrucción \include
. Los archivos en otros lugares se
pueden incluir proporcionando una referencia de ruta completa o
una ruta relativa (pero utilice la barra inclinada normal del
UNIX, /, no la barra invertida de DOS/Windows, \, como separador
de directorio). Por ejemplo, si material.ly está situado
un directorio por encima del directorio de trabajo actual,
utilice
\include "../material.ly"
o si los archivos de las partes orquestales incluidas están todos situados en un subdirectorio llamado partes dentro del directorio actual, use
\include "partes/VI.ly" \include "partes/VII.ly" … etc.
Los archivos de inclusión también pueden contener enunciados
\include
a su vez. Estos enunciados \include
de
segundo nivel se interpretan de manera relativa a la ruta del
archivo que contiene dicha instrucción, lo que es conveniente para
varios archivos ubicados dentro del mismo subdirectorio. Por
ejemplo, una biblioteca general, bibA, puede a su vez usar
sub-archivos que son incluidos por el archivo principal de dicha
biblioteca, así:
bibA/ bibA.ly A1.ly A2.ly …
entonces el archivo de entrada, bibA.ly
, contiene
\include "A1.ly" \include "A2.ly" …
Cualquier archivo .ly puede entonces incluir la biblioteca completa, simplemente con
\include "~/bibA/bibA.ly"
Sin embargo, este comportamiento se puede modificar de forma
global pasando la opción -drelative-includes=#f en la
línea de órdenes (o añadiendo #(ly:set-option
'relative-includes #f)
al principio del archivo principal de
entrada). En tal caso, cada archivo se incuirá relativamente a la
ubicación del archivo principal, sin importar dónde está situado
su instrucción \include
. Estructuras de archivo complejas
que requieren realizar la inclusión tanto de archivos relativos al
directorio principal como de archivos relativos a algún otro
directorio, pueden incluso configurarse estableciendo
relative-includes
a los valores #f
o #t
en
los lugares adecuados dentro de dichos archivos.
También se pueden incluir archivos de un directorio que está en una ruta de búsqueda especificada como opción al invocar a LilyPond desde la línea de órdenes. Los archivos incluidos se especifican usando solamente su nombre de archivo. Por ejemplo, para compilar mediante este método un archivo principal.ly que incluye archivos situados en un subdirectorio llamado partes, cambie al directorio que contiene principal.ly e introduzca
lilypond --include=partes principal.ly
y en principal.ly escriba
\include "VI.ly" \include "VII.ly" … etc.
Los archivos que se incluyen en muchas partituras se pueden poner
en el directorio de LilyPond ../ly (la localización de
este directorio depende de la instalación: véase Otras
fuentes de información). Estos archivos se pueden incluir
sencillamente por su nombre en un enunciado \include
. De
esta forma se incluyen los archivos dependientes del idioma como
espanol.ly.
LilyPond incluye de forma predeterminada ciertos archivos cuando
se inicia el programa. Estas inclusiones no son visibles para el
usuario, pero los archivos se pueden identificar ejecutando
lilypond --verbose
desde la línea de órdenes. Esto
presentará una lista de rutas y archivos que utiliza LilyPond,
junto a muchas otras indicaciones. De forma alternativa, pueden
verse explicaciones sobre los archivos más importantes de este
conjunto en Otras fuentes de información. Estos
archivos se pueden editar, pero los cambios realizados sobre
ellos se perderán al instalar una nueva versión de LilyPond.
Pueden verse ejemplos sencillos sobre el uso de \include
en Partituras y particellas.
Véase también
Manual de aprendizaje: Otras fuentes de información, Partituras y particellas.
Advertencias y problemas conocidos
Si un archivo incluido recibe un nombre igual al de uno de los archivos de instalación de LilyPond, el archivo que tiene prioridad es el de los archivos de instalación de LilyPond.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Inclusión de archivos de LilyPond ] | [ Up : Trabajar sobre los archivos de entrada ] | [ Uso de las variables > ] |
3.3.2 Distintas ediciones a partir de una misma fuente
Se pueden usar varios métodos para generar la producción de distintas versiones de una partitura a partir de la misma fuente musical. Las variables son quizá el más útil para combinar secciones extensas de música y/o anotaciones. Las etiquetas son más útiles para seleccionar una sección de entre varias secciones de música alternativas, más cortas, y se pueden usar también para dividir piezas de música en distintos trozos.
Cualquiera que sea el método utilizado, la separación de la notación de la estructura de la partitura hará que sea más fácil cambiar la estructura dejando intacta la notación.
Uso de las variables | ||
Uso de etiquetas | ||
Uso de ajustes globales |
Uso de las variables
Si las secciones de la música se definen dentro de variables, se pueden reutilizar en distintas partes de la partitura, véase Organizar las piezas mediante variables. Por ejemplo, una partitura vocal a cappella con frecuencia incluye una reducción de piano de las partes para ensayar que es idéntica a la música vocal, por lo que ésta sólo se tiene que escribir una vez. Se puede combinar sobre un solo pentagrama la música de dos variables, véase Combinación automática de las partes. He aquí un ejemplo:
sopranoMusic = \relative { a'4 b c b8( a) } altoMusic = \relative { e'4 e e f } tenorMusic = \relative { c'4 b e d8( c) } bassMusic = \relative { a4 gis a d, } allLyrics = \lyricmode { King of glo -- ry } << \new Staff = "Soprano" \sopranoMusic \new Lyrics \allLyrics \new Staff = "Alto" \altoMusic \new Lyrics \allLyrics \new Staff = "Tenor" { \clef "treble_8" \tenorMusic } \new Lyrics \allLyrics \new Staff = "Bass" { \clef "bass" \bassMusic } \new Lyrics \allLyrics \new PianoStaff << \new Staff = "RH" { \partCombine \sopranoMusic \altoMusic } \new Staff = "LH" { \clef "bass" \partCombine \tenorMusic \bassMusic } >> >>
Se pueden producir partituras distintas que presenten sólo las partes vocales o sólo la parte de piano, cambiando solamente los enunciados estructurales, sin modificar la notación musical.
Para partituras extensas, las definiciones de variable se pueden poner en archivos separados que se incluyen más tarde, véase Inclusión de archivos de LilyPond.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Uso de las variables ] | [ Up : Distintas ediciones a partir de una misma fuente ] | [ Uso de ajustes globales > ] |
Uso de etiquetas
La instrucción \tag #'parteA
marca una expresión
musical con el nombre parteA. Las expresiones etiquetadas
de esta manera se pueden seleccionar o filtrar más tarde por su
nombre, usando bien \keepWithTag #'nombre
o bien
\removeWithTag #'nombre
. El resultado de la
aplicación de estos filtros a la música etiquetada es como sigue:
Filtro | Resultado |
---|---|
Música etiquetada precedida de \keepWithTag #'nombre
o de \keepWithTag #'(nombre1 nombre2…) | Se incluye la música no etiquetada y la música etiquetada con el nombre o nombres de etiqueta dados; se excluye la música etiquetada con cualquier otro nombre de etiqueta. |
Música etiquetada precedida de
\removeWithTag #'nombre o
\removeWithTag #'(nombre1 nombre2…) | Se incluye la música no etiquetada y la música que no está etiquetada con ninguno de los nombres de etiqueta dados; se excluye la música etiquetada con los nombres de etiqueta dados. |
Música etiquetada no precedida de \keepWithTag ni de
\removeWithTag | Se incluye toda la música etiquetada y no etiquetada. |
Los argumentos de las instrucciones \tag
,
\keepWithTag
y \removeWithTag
deben ser un símbolo
o lista de símbolos (como #'score
o #'(violinI
violinII
), seguida de una expresión musical. Si y solo
si los símbolos son identificadores de LilyPond válidos
(caracteres alfabéticos solamente, sin números, guiones bajos ni
guiones normales) que no puedan confundirse con notas, la porción
#'
se puede omitir y, como abreviatura, una lista de
símbolos puede usar el separador de punto, es decir: \tag
#'(violinI violinII)
se puede escribir como \tag
violinI.violinII
. Lo mismo vale para \keepWithTag
y
\removeWithTag
.
En el ejemplo siguiente vemos dos versiones de una pieza musical, una que muestra trinos con la notación usual y otra con los trinos expandidos explícitamente:
music = \relative { g'8. c32 d \tag #'trills { d8.\trill } \tag #'expand { \repeat unfold 3 { e32 d } } c32 d } \score { \keepWithTag #'trills \music } \score { \keepWithTag #'expand \music }
De forma alternativa, a veces es más fácil excluir secciones de música:
music = \relative { g'8. c32 d \tag #'trills { d8.\trill } \tag #'expand {\repeat unfold 3 { e32 d } } c32 d } \score { \removeWithTag #'expand \music } \score { \removeWithTag #'trills \music }
El filtrado con etiquetas se puede aplicar a articulaciones, textos, etc. anteponiendo
-\tag #'mi-etiqueta
a una articulación. Por ejemplo, esto define una nota con una indicación opcional de digitación y una nota con una anotación condicional:
c1-\tag #'finger ^4 c1-\tag #'warn ^"¡Ojo!"
Se pueden poner varias etiquetas sobre expresiones con varias
entradas de \tag
, o combinando varias etiquetas en una
lista de símbolos:
music = \relative c'' { \tag #'a \tag #'both { a4 a a a } \tag #'(b both) { b4 b b b } } << \keepWithTag #'a \music \keepWithTag #'b \music \keepWithTag #'both \music >>
Se pueden aplicar varios filtros \removeWithTag
a una sola
expresión musical para quitar varias secciones etiquetadas con
nombres distintos. De forma alternativa, podemos usar una sola
instrucción \removeWithTag
con una lista de etiquetas.
music = \relative c'' { \tag #'A { a4 a a a } \tag #'B { b4 b b b } \tag #'C { c4 c c c } \tag #'D { d4 d d d } } \new Voice { \removeWithTag #'B \removeWithTag #'C \music \removeWithTag #'(B C) \music }
El uso de dos o más filtros \keepWithTag
sobre una sola
expresión musical produce la eliminación de todas las
secciones etiquetadas. El primer filtro quita todas excepto la
que se nombra, y cualquier filtro posterior elimina el resto.
Usando una sola instrucción \keepWithTag
con una lista de
varias etiquetas se suprimirán solamente las secciones etiquetadas
que no aparezcan especificadas en la lista.
music = \relative c'' { \tag #'violinI { a4 a a a } \tag #'violinII { b4 b b b } \tag #'viola { c4 c c c } \tag #'cello { d4 d d d } } \new Staff { \keepWithTag #'(violinI violinII) \music }
will print \tag
s violinI and violinII but not
viola or cello.
Aunque \keepWithTag
es útil para el manejo de un
solo conjunto de alternativas, la eliminación de música
etiquetada con otras etiquetas no relacionadas es
problemática si se utilizan para más de un propósito. En ese caso
pueden declararse ‘grupos de etiquetas’:
\tagGroup #'(violinI violinII viola cello)
Ahora todas las etiquetas pertenecen a un solo ‘grupo de etiquetas’. Observe que las etiquetas individuales no pueden ser miembros de más de un grupo de etiquetas.
\keepWithTag #'violinI …
mostrará solamente la música etiquetada a partir del
grupo de etiquetas de violinI
y
cualquier fragmento musical etiquetado con una de las
otras etiquetas resultará suprimido.
music = \relative { \tagGroup #'(violinI violinII viola cello) \tag #'violinI { c''4^"violinI" c c c } \tag #'violinII { a2 a } \tag #'viola { e8 e e2. } \tag #'cello { d'2 d4 d } R1^"untagged" } \new Voice { \keepWithTag #'violinI \music }
Al usar la instrucción \keepWithTag
solo son visibles
las etiquetas de los grupos de aquellas etiquetas se se incluyen
en la instrucción.
A veces podemos desear dividir la música en un determinado lugar
dentro de una expresión musical existente. Podemos usar
\pushToTag
y \appendToTag
para añadir material
delante o al final de los elements
de una construcción
musical existente. No toda construcción musical tiene la parte
elements
, pero las músicas secuenciales y simultáneas son
dos apuestas seguras:
music = { \tag #'here { \tag #'here <<c''>> } } { \pushToTag #'here c' \pushToTag #'here e' \pushToTag #'here g' \music \appendToTag #'here c' \appendToTag #'here e' \appendToTag #'here g' \music }
Las dos instrucciones admiten una etiqueta, el material que dividir en cada ocurrencia de la etiqueta, y la expresión etiquetada.
Véase también
Manual de aprendizaje: Organizar las piezas mediante variables.
Referencia de la notación: Combinación automática de las partes, Inclusión de archivos de LilyPond.
Advertencias y problemas conocidos
Al llamar a \relative
sobre una expresión musical obtenida
mediante el filtrado de música con las instrucciones
\keepWithTag
o \removeWithTag
, podría ocurrir que
cambiaran las relaciones de octava, dado que solo se tendrán en
cuenta las alturas de las notas que efectivamente permanecen en
la expresión filtrada. La aplicación de \relative
en
primer lugar, antes de \keepWithTag
o de
\removeWithTag
, evita este peligro porque en este caso
\relative
actúa sobre todas las notas tal y como se
introducen.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Uso de etiquetas ] | [ Up : Distintas ediciones a partir de una misma fuente ] | [ Caracteres especiales > ] |
Uso de ajustes globales
Se pueden incluir ajustes globales a partir de un archivo distinto:
lilypond -dinclude-settings=MIS_AJUSTES.ly MI_PARTITURA.ly
En archivos diferentes se pueden almacenar grupos de ajustes como el tamaño de la página o las fuentes tipográficas. Ello permite hacer diferentes ediciones de la misma partitura así como aplicar ajustes estándar a muchas partituras, simplemente por medio de la especificación del archivo de ajustes adecuado.
Esta técnica también funciona bien con el uso de hojas de estilo, como se estudia en Hojas de estilo.
Véase también
Manual de aprendizaje: Organizar las piezas mediante variables, Hojas de estilo.
Referencia de la notación: Inclusión de archivos de LilyPond.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Uso de ajustes globales ] | [ Up : Trabajar sobre los archivos de entrada ] | [ Codificación del texto > ] |
3.3.3 Caracteres especiales
Codificación del texto | ||
Unicode | ||
Alias de ASCII |
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Caracteres especiales ] | [ Up : Caracteres especiales ] | [ Unicode > ] |
Codificación del texto
LilyPond usa el conjunto de caracteres definido por el consorcio Unicode y la norma ISO/IEC 10646. Define un nombre único y un código para los conjuntos de caracteres que se utilizan en prácticamente todos los idiomas modernos y también en muchos otros. Unicode se puede implementar utilizando varios esquemas de codificación distintos. LilyPond usa la codificación UTF-8 (UTF son las siglas de Unicode Transformation Format, o formato de transformación de Unicode) que representa todos los caracteres comunes de la codificación Latin en un solo byte, y representa otros caracteres usando un formato de longitud variable de hasta cuatro bytes.
El aspecto visual real de los caracteres viene determinado por los glifos que se definen en las fuentes tipográficas concretas que se tengan disponibles: una fuente tipográfica define la asignación de un subconjunto de los códigos de Unicode a glifos. LilyPond usa la biblioteca Pango para representar y disponer tipográficamente textos multilingües.
LilyPond no realiza ninguna conversión en la codificación de la entrada. Esto significa que cualquier text, ya sea el título, la letra de la canción o una instrucción musical que contenga caracteres distintos a los del conjunto ASCII, se deben codificar en UTF-8. La forma más fácil de escribir dicho texto es utilizar un editor preparado para Unicode y guardar el archivo con la codificación UTF-8. Casi todos los editores modernos populares contemplan el UTF-8, por ejemplo lo hacen vim, Emacs, jEdit y Gedit. Todos los sistemas MS Windows posteriores a NT usan Unicode como codificación de caracteres nativa, de manera que incluso el accesorio Bloc de Notas (Notepad) puede editar y guardar un archivo en el formato UTF-8. Una alternativa más funcional para Windows es BabelPad.
Si un archivo de entrada que contiene un carácter que no es ASCII, no se guarda en el formato UTF-8, se genera el mensaje de error
FT_Get_Glyph_Name () error: argumento inválido
He aquí un ejemplo que muestra texto cirílico, hebreo y portugués:
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Codificación del texto ] | [ Up : Caracteres especiales ] | [ Alias de ASCII > ] |
Unicode
Para introducir un carácter aislado para el que se conoce el
punto de código Unicode pero no está disponible en el editor que
se está usando, use \char ##xhhhh
o bien \char
#dddd
dentro de un bloque \markup
, donde hhhh
es
el código hexadecimal del carácter en cuestión y dddd
es
su valor decimal correspondiente. Pueden omitirse los ceros
iniciales, pero es costumbre indicar los cuatro caracteres en la
representación hexadecimal (observe que no debe utilizarse
la codificación UTF-8 del punto de código Unicode después de
\char
, pues la codificación UTF-8 contiene bits
adicionales que indican el número de octetos). Hay tablas de
códigos Unicode y un índice de nombres de caracteres que da el
punto de código en hexadecimal para cualquier carácter en el
portal del Consorcio Unicode, https://www.unicode.org/.
Por ejemplo, tanto \char ##x03BE
como \char #958
insertan el carácter Unicode U+03BE, que tiene el nombre Unicode
“Letra griega Xi pequeña”.
Se puede escribir de esta forma cualquier punto de código Unicode, y si todos los caracteres especiales se escriben en este formato no es necesario guardar el archivo de entrada en formato UTF-8. Por supuesto, debe estar instalada y estar disponible para LilyPond una fuente tipográfica que contenga codificados todos estos caracteres.
El ejemplo siguiente muestra valores hexadecimales Unicode que se usan en cuatro lugares: en una llamada de ensayo, como texto de articulación, en la letra y como texto independiente bajo la partitura:
\score { \relative { c''1 \mark \markup { \char ##x03A8 } c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } } } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } \markup { "Copyright 2008--2023" \char ##x00A9 }
Para escribir el símbolo de copyright en la nota de créditos, utilice:
\header { copyright = \markup { \char ##x00A9 "2008" } }
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Unicode ] | [ Up : Caracteres especiales ] | [ Controlar la salida > ] |
Alias de ASCII
Se puede incluir una lista de alias de ASCII para caracteres especiales:
\paper { #(include-special-characters) } \markup "&flqq; – &OE;uvre incomplète… &frqq;" \score { \new Staff { \repeat unfold 9 a'4 } \addlyrics { This is al -- so wor -- kin'~in ly -- rics: –_&OE;… } } \markup \column { "The replacement can be disabled:" "– &OE; …" \override #'(replacement-alist . ()) "– &OE; …" }
También podemos hacer nuestros propios alias, ya sea de forma global,
\paper { #(add-text-replacements! '(("100" . "hundred") ("dpi" . "dots per inch"))) } \markup "A 100 dpi."
o local:
\markup \replace #'(("100" . "hundred") ("dpi" . "dots per inch")) "A 100 dpi."
Véase también
Referencia de la notación: Lista de caracteres especiales.
Archivos instalados: ly/text-replacements.ly.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Alias de ASCII ] | [ Up : Entrada y salida generales ] | [ Extracción de fragmentos de música > ] |
3.4 Controlar la salida
3.4.1 Extracción de fragmentos de música | ||
3.4.2 Saltar la música corregida | ||
3.4.3 Formatos de salida alternativos | ||
3.4.4 Sustituir la tipografía de la notación |
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Controlar la salida ] | [ Up : Controlar la salida ] | [ Saltar la música corregida > ] |
3.4.1 Extracción de fragmentos de música
Es posible producir en la salida uno o más fragmentos de una
partitura mediante la definición de la situación explícita de la
música que se quiere extraer dentro del bloque \layout
del
archivo de entrada, utilizando la función clip-regions
, y
a continuación ejecutando LilyPond con la opción
-dclip-systems.
\layout { clip-regions = #(list (cons (make-rhythmic-location 5 1 2) (make-rhythmic-location 7 3 4))) }
Este ejemplo extrae un solo fragmento del archivo de entrada
comenzando después de la duración de una blanca en el
quinto compás (5 1 2
) y terminando después de la
tercera negra del compás séptimo (7 3 4
).
Se pueden extraer fragmentos adicionales añadiendo más pares de
entradas de make-rhythmic-location
a la lista
clip-regions
dentro del bloque \layout
.
De forma predeterminada, cada fragmento de música se obtendrá en
la salida como un archivo EPS
distinto, pero también se
pueden crear otros formatos como PDF
o PNG
si es
necesario. La música extraída se obtiene en la salida como si
hubiera sido literalmente ‘cortada’ de la partitura original
impresa, de forma que si un fragmento se extiende sobre una o más
líneas, se genera un archivo de salida distinto por cada línea
generada.
Véase también
Referencia de la notación:
El bloque \layout
.
Manual de utilización: Utilización desde la línea de órdenes.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Extracción de fragmentos de música ] | [ Up : Controlar la salida ] | [ Formatos de salida alternativos > ] |
3.4.2 Saltar la música corregida
Al escribir o copiar música, normalmente sólo es interesante de ver y corregir la música cercana al final (donde estamos añadiendo las notas). Para acelerar este proceso de corrección, es posible saltar la composición tipográfica de todos excepto unos pocos de los últimos compases. Esto se consigue definiendo una variable especial al principio del archivo fuente, como sigue:
showLastLength = R1*5 \score { … }
En este ejemplo no se dibujará nada excepto los últimos cinco
compases (suponiendo un compás de 4/4) de cada una de las
partituras \score
del archivo de entrada. Para piezas
largas, el tipografiado de únicamente una parte pequeña es con
frecuencia un orden de magnitud más rápido que el de la obra
completa. Si estamos trabajando sobre el principio de una
partitura que ya hemos tipografiado (p.ej., para añadir una parte
instrumental nueva), también puede ser útil la propiedad
showFirstLength
.
Este mecanismo de pasar por alto partes de un partitura se puede
controlar con un grano más fino mediante la propiedad
Score.skipTypesetting
. Cuando su valor está establecido,
no se lleva a cabo ningún tipografiado en absoluto. Como propiedad
del contexto Score
, afecta a todas las voces y pentagramas;
véase Score. El contexto maestro.
Esta propiedad se usa también para controlar la salida hacia el
archivo MIDI. Si algún evento dentro de la sección que se salta
altera alguna de sus propiedades de contexto, por ejemplo una
indicación de tempo o un cambio de instrumento, entonces el ajuste
tendrá efecto solamente en el punto temporal en que
skipTypesetting
se desactiva de nuevo:
\relative c' { c4 c c c \set Score.skipTypesetting = ##t d4 d d d \tempo 4 = 80 e4 e e e \set Score.skipTypesetting = ##f f4 f f f }
Instrucciones predefinidas
showLastLength
,
showFirstLength
.
Véase también
Referencia de la notación: Contextos de interpretación, Score. El contexto maestro.
Referencia de funcionamiento interno: Todas las propiedades de contexto.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Saltar la música corregida ] | [ Up : Controlar la salida ] | [ Salida de SVG > ] |
3.4.3 Formatos de salida alternativos
Los formatos de salida predeterminados para la partitura impresa son el formato de documento portátil (PDF) y PostScript (PS). Los formatos de salida Gráficos de red portátiles (PNG), Gráficos de vector escalables (SVG) y PostScript encapsulado (EPS) también están disponibles a través de opciones de la línea de órdenes, véase Opciones básicas de la línea de órdenes para LilyPond.
Salida de SVG |
Salida de SVG
La salida de SVG puede contener, opcionalmente, metadatos para
objetos gráficos (grobs) como cabezas de nota, silencios, etc.
Estos metadatos pueden ser atributos SVG estándar como id
y
class
, o atributos personalizados no estándar. Especifique
los atributos y sus values mediante la sobreescritura de la
propiedad de grob output-attributes
con una lista de
asociación de Scheme (alist). Los valores pueden ser números,
cadenas de caracteres o símbolos. Por ejemplo:
{ \once \override NoteHead.output-attributes = #'((id . 123) (class . "esto aquello") (data-lo-que-sea . algo)) c }
El código de entrada anterior produce la siguiente etiqueta
<g>
(grupo) dentro del archivo SVG:
<g id="123" class="esto aquello" data-lo-que-sea="algo"> ...elementos del SVG de objetos gráficos como cabezas de nota... </g>
La etiqueta <g>
contiene todos los elementos de SVG para un
grob dado (ciertos grobs generan más de un elemento del SVG). En
la sintaxis del SVG el prfijo data-
se usa para atributos
de medios personalizados no estándar.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Salida de SVG ] | [ Up : Controlar la salida ] | [ Creación de salida MIDI > ] |
3.4.4 Sustituir la tipografía de la notación
Gonville es un conjunto de glifos alternativo a la tipografía Feta (que es parte de la tipografía Emmentaler que se usa en LilyPond). Se puede descargar de:
Aquí presentamos algunos compases de muestra tipografiados con la fuente Gonville:
Aquí hay unos compases de muestra tipografiados con los glifos Feta de LilyPond:
Instrucciones de instalación
Descargue y extraiga los archivos de fuente tipográfica. Copie los archivos gonville-11.otf, gonville-13.otf, gonville-14.otf, gonville-16.otf, gonville-18.otf, gonville-20.otf, gonville-23.otf, gonville-26.otf y gonville-brace.otf en la carpeta …/share/lilypond/current/fonts/otf o …/share/lilypond/X.Y.Z/fonts/otf. Si tiene los archivos gonville-*.svg y gonville-*.woff, cópielos a …/share/lilypond/current/fonts/svg o a …/share/lilypond/X.Y.Z/fonts/svg. Para más información consulte Otras fuentes de información.
Nota: los archivos gonville-*.otf son para los backends
ps
y eps
(para las salidas en formato PDF y PostScript).
Los archivos gonville-*.svg son para el backend
svg
sin la opción svg-woff
.
Los archivos gonville-*.woff son para el backend
svg
con la opción svg-woff
.
Para más información, consulte Opciones avanzadas de línea de órdenes para LilyPond.
La sintaxis siguiente cambia la fuente tipográfica de la notación (general y llaves) al tipo Gonville.
\paper { property-defaults.fonts.music = "gonville" }
Nota: cada llamada a set-global-fonts
reinicia
completamente tanto la fuente principal de notación como la de
texto. Si se deja sin especificar una cualquiera de las
categorías, entonces se utiliza la tipografía predeterminada para
esa categoría. Cada llamada a set-global-fonts
cambia las
fuentes para cada \book
que le sigue, tanto si se ha creado
explícitamente como implícitamente. Esto significa que cada
\book
puede tener su propio conjunto de fuentes principales
llamando a set-global-fonts
previamente. Para más
información, véase Fuentes tipográficas del documento completo.
Véase también
Manual de aprendizaje: Otras fuentes de información.
Referencia de la notación: La tipografía Emmentaler, Fuentes tipográficas del documento completo.
Advertencias y problemas conocidos
Gonville no se puede usar para tipografiar notación de ‘Música Antigua’ y es probable que cualquier nuevo glifo en versiones posteriores de LilyPond no existan en la familia tipográfica Gonville. Diríjase a la página web del autor para obtener más información sobre éste y otros asuntos, entre ellos el régimen de licencias de Gonville.
Otras fuentes de notación
Si tiene otras fuentes de notación como fontname-*.otf, fontname-*.svg y fontname-*.woff, puede usarlas de la misma manera que Gonville.
Esto es, copie los archivos fontname-*.otf a la carpeta …/share/lilypond/current/fonts/otf o a …/share/lilypond/X.Y.Z/fonts/otf. Si tiene los archivos fontname-*.svg y fontname-*.woff, cópielos a …/share/lilypond/current/fonts/svg o a …/share/lilypond/X.Y.Z/fonts/svg.
Nota: por el momento, LilyPond espera que los nombres de archivo tengan los siguientes sufijos, todos los cuales deben estar presentes en las carpetas de instalación arriba mencionadas para que funcionen adecuadamente: -11, -13, -14, -16, -18, -20, -23, -26, -brace. Por ejemplo, emmentaler-11.otf, emmentaler-20.svg y emmentaler-brace.woff, etc.
La sintaxis siguiente cambia la fuente tipográfica de la notación (general y de llaves) a la fuente tipoletra.
\paper { #(define fonts (set-global-fonts #:music "tipoletra" ; nombre del archivo de fuente sin el sufijo ni la extensión #:brace "tipoletra" ; nombre del archivo de fuente sin el sufijo ni la extensión )) }
Nota: para las categorías music
y brace
, especifique
el nombre del archivo de fuente sin el sufijo ni la extensión.
3.5 Creación de salida MIDI
LilyPond puede producir archivos que siguen el estándar MIDI (Musical Instrument Digital Interface; interfaz digital para instrumentos musicales) y permitir así comprobar la música por el oído (con la ayuda de alguna aplicación o dispositivo que entienda el MIDI). La escucha de la salida MIDI también puede ser de ayuda en la localización de errores tales como notas que se han introducido incorrectamente, alteraciones omitidas y otros casos por el estilo.
Los archivos MIDI no contienen sonido (como los archivos AAC, MP3 o Vorbis) pero requieren software adicional para producir el sonido a partir de ellos.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Creación de salida MIDI ] | [ Up : Creación de salida MIDI ] | [ Notación no contemplada en el MIDI > ] |
3.5.1 Notación contemplada por el MIDI
Se puede usar la notación musical siguiente con las posibilidades predeterminadas de LilyPond para producir salida MIDI:
- Marcas de respiración
- Acordes introducidos como nombres de acorde
- Crescendos y decrescendos sobre más de una nota. El volumen se altera de forma lineal entre los dos extremos
- Indicadores dinámicos desde
ppppp
hastafffff
, incluyendomp
,mf
ysf
- Microtonos, pero no acordes microtonales. Se necesita también un reproductor de MIDI capaz de ejecutar eventos de rueda de tono.
- Letra de las canciones
- Altura de las notas
- Ritmo introducido como duraciones de las notas, incluidos los grupos de valoración especial como los tresillos
- Articulaciones ‘sencillas’; picado, staccato, acento, marcato y portato
- Cambios de tempo introducidos con la función
\tempo
- Ligaduras de unión
- Trémolos que not se hayan introducido como un valor del tipo ‘
:
[número]’
También se pueden controlar el panorama, el balance, la expresión y los efectos de reverberación y chorus mediante el establecimiento de propiedades de contexto, véase Propiedades de contexto para efectos MIDI.
Si se combina con el script articulate, es posible producir la salida por el MIDI de los siguientes elementos adicionales de notación musical:
- Appoggiaturas (apoyaturas). Se les da la mitad de la duración de la nota siguiente (sin tener en cuenta los puntillos). Por ejemplo:
\appoggiatura c8 d2.
El Do toma la duración de una negra.
- Notas y grupos de adorno (mordentes de una nota, trinos, grupetos circulares, etc.)
- Rallentando, accelerando, ritardando y a tempo
- Ligaduras de expresión y de fraseo
- Tenuto
Véase Enriquecimiento de la salida MIDI.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Notación contemplada por el MIDI ] | [ Up : Creación de salida MIDI ] | [ El bloque MIDI > ] |
3.5.2 Notación no contemplada en el MIDI
Los siguientes elementos de notación musical no se pueden hacer salir por el MIDI:
- Articulaciones distintas al picado, staccato, acento, marcato y portato
- Crescendos y decrescendos sobre una sola nota
- Calderón
- Bajo cifrado
- Glissandos
- Caídas y elevaciones
- Acordes microtonales
- Duraciones introducidas como anotaciones, p.ej. el swing
- Cambios de tempo sin
\tempo
(p.ej., introducidas como anotaciones) - Trémolos que se introducen con la notación de la forma ‘
:
[número]’
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Notación no contemplada en el MIDI ] | [ Up : Creación de salida MIDI ] | [ Control de las dinámicas del MIDI > ] |
3.5.3 El bloque MIDI
Para crear un archivo de salida MIDI a partir de un archivo de
entrada de LilyPond, introduzca un bloque \midi
, que puede
estar vacío, dentro del bloque \score
:
\score { … música … \layout { } \midi { } }
Nota: Un bloque \score
que, además de la música,
contiene solamente un bloque \midi
(o sea, sin
el bloque \layout
), solo produce archivos de salida
MIDI; no se imprime ninguna notación musical.
La extensión predeterminada para los archivos de salida
(.midi
) se puede cambiar usando la opción
-dmidi-extension
con la instrucción lilypond
:
lilypond -dmidi-extension=mid Archivo.ly
Como alternativa, puede añadirse la siguiente expresión de Scheme
antes del comienzo de uno de los bloques \book
,
\bookpart
o \score
. Véase Estructura del archivo.
#(ly:set-option 'midi-extension "mid")
Véase también
Referencia de la notación: Estructura del archivo, Crear metadatos en los archivos de salida.
Archivos instalados: scm/midi.scm.
Advertencias y problemas conocidos
Están disponibles 15 canales MIDI y un canal adicional (el número 10) para la percusión. Los pentagramas se asignan a los canales por orden, de forma que una partitura que contenga más de 15 pentagramas da como resultado que los pentagramas adicionales comparten (pero no sobreescriben) el mismo canal MIDI. Esto puede ser problemático si los pentagramas que comparten canal tienen establecidas propiedades MIDI, basadas en canal, en mutuo conflicto (como distintos instrumentos MIDI).
Using a midi
block with polymetric notation may cause unexpected
barcheck warnings. In this case move the Timing_translator
from
the Score
context to the Staff
context within the
midi
block.
\midi { \context { \Score \remove Timing_translator } \context { \Staff \consists Timing_translator } }
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < El bloque MIDI ] | [ Up : Creación de salida MIDI ] | [ Indicaciones de matiz dinámico en el MIDI > ] |
3.5.4 Control de las dinámicas del MIDI
Es posible controlar el volumen MIDI general, el volumen relativo de las indicaciones de matiz dinámico y el volumen relativo de los distintos instrumentos.
Las indicaciones matiz dinámico se traducen automáticamente a niveles de volumen dentro del rango de volúmenes MIDI disponible mientras que los crescendos y decrescendos varían el volumen linealmente entre sus dos extremos. Es posible controlar el volumen relativo de las indicaciones de matiz dinámico, y el volumen general de los diferentes instrumentos.
Indicaciones de matiz dinámico en el MIDI | ||
Establecimiento del volumen MIDI | ||
Establecimiento de las propiedades del bloque MIDI |
Indicaciones de matiz dinámico en el MIDI
Solo las marcas de dinámica desde ppppp
hasta
fffff
, incluidos mp
, mf
y sf
tienen
valores asignados. Este valor se aplica a continuación al valor
del rango de volumen MIDI general para obtener el volumen final
que se incluye en la salida MIDI para esa indicación de matiz
dinámico en particular. Las fracciones predeterminadas varían
desde 0.25 para el ppppp hasta 0.95 para el
fffff. El conjunto completo de las indicaciones de
matiz dinámico pueden verse en el archivo scm/midi.scm.
Fragmentos de código seleccionados
Creating custom dynamics in MIDI output
The following example shows how to create a dynamic marking, not included in the default list, and assign a specific value to it so that it affects MIDI output.
The dynamic mark \rfz
gets value 0.9
.
#(define (myDynamics dynamic) (if (equal? dynamic "rfz") 0.9 (default-dynamic-absolute-volume dynamic))) \score { \new Staff { \set Staff.midiInstrument = "cello" \set Score.dynamicAbsoluteVolumeFunction = #myDynamics \new Voice { \relative { a'4\pp b c-\rfz } } } \layout {} \midi {} }
Archivos instalados: ly/script-init.ly scm/midi.scm.
Fragmentos de código: MIDI.
Referencia de funcionamiento interno: Dynamic_performer.
Establecimiento del volumen MIDI
Los volúmenes generales mínimo y máximo de las indicaciones de
matiz dinámico MIDI se controlan estableciendo las propiedades
midiMinimumVolume
y midiMaximumVolume
en el nivel
del bloque Score
. Estas propiedades tienen efecto
solamente al comienzo de una vos y sobre las indicaciones
dinámicas. La fracción que corresponde a cada indicación
dinámica se modifica con esta fórmula:
midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
En el ejemplo siguiente, el rango dinámico del volumen MIDI
general se limita al intervalo entre 0.2
y 0.5
.
\score { << \new Staff { \set Staff.midiInstrument = "flute" … music … } \new Staff { \set Staff.midiInstrument = "clarinet" … music … } >> \midi { \context { \Score midiMinimumVolume = #0.2 midiMaximumVolume = #0.5 } } }
Se puede obtener una ecualización sencilla de instrumentos MIDI
estableciendo las propiedades midiMinimumVolume
y
midiMaximumVolume
dentro del contexto Staff
.
\score { \new Staff { \set Staff.midiInstrument = "flute" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 … music … } \midi { } }
Para partituras con más de un pentagrama y más de un instrumento MIDI, se pueden fijar individualmente los volúmenes relativos de cada instrumento:
\score { << \new Staff { \set Staff.midiInstrument = "flute" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 … music … } \new Staff { \set Staff.midiInstrument = "clarinet" \set Staff.midiMinimumVolume = #0.3 \set Staff.midiMaximumVolume = #0.6 … music … } >> \midi { } }
En este ejemplo el volumen del clarinete se reduce de forma relativa al volumen de la flauta.
Si no se establecen estas propiedades de volumen, LilyPond aún aplica un ‘pequeño grado’ de ecualización a ciertos instrumentos. Véase scm/midi.scm.
Archivos instalados: scm/midi.scm.
Véase también
Referencia de la notación: Disposición de la partitura.
Referencia de funcionamiento interno: Dynamic_performer.
Fragmentos de código seleccionados
Replacing default MIDI instrument equalization
The default MIDI instrument equalizer can be replaced by setting the
instrumentEqualizer
property in the Score
context to a
user-defined Scheme procedure that uses a MIDI instrument name as its
argument along with a pair of fractions indicating the minimum and
maximum volumes respectively to be applied to that specific instrument.
The following example sets the minimum and maximum volumes for flute and clarinet respectively."
#(define my-instrument-equalizer-alist '()) #(set! my-instrument-equalizer-alist (append '( ("flute" . (0.7 . 0.9)) ("clarinet" . (0.3 . 0.6))) my-instrument-equalizer-alist)) #(define (my-instrument-equalizer s) (let ((entry (assoc s my-instrument-equalizer-alist))) (if entry (cdr entry)))) \score { << \new Staff { \key g \major \time 2/2 \set Score.instrumentEqualizer = #my-instrument-equalizer \set Staff.midiInstrument = "flute" \new Voice \relative { r2 g''\mp g fis~ 4 g8 fis e2~ 4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = "clarinet" \new Voice \relative { b'1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout { } \midi { } }
Advertencias y problemas conocidos
Los cambios en el volumen del MIDI solamente tienen lugar en el comienzo de una nota, por lo que los crescendos y decrescendos no afectan al volumen de una sola nota.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Establecimiento del volumen MIDI ] | [ Up : Control de las dinámicas del MIDI ] | [ Uso de los instrumentos MIDI > ] |
Establecimiento de las propiedades del bloque MIDI
El bloque \midi
puede contener distintas disposiciones de
los contextos, definiciones de contexto nuevas o código que fija
los valores de ciertas propiedades.
\score { … music … \midi { \tempo 4 = 72 } }
Aquí, el tempo se establece a 72 pulsos de negra por minuto. La
indicación de tempo dentro del bloque \midi
no aparece en
la partitura impresa. Aunque cualquier otra indicación de
\tempo
que se especifique dentro del bloque \score
también se reflejará en la salida MIDI.
Dentro de un bloque \midi
, la instrucción \tempo
está estableciendo propiedades durante la interpretación de la
música y en el contexto de las definiciones de salida; así, se
interpreta como si fuera una modificación de contesto.
Las definiciones de contexto siguen la misma sintaxis que las del
bloque \layout
:
\score { … music … \midi { \context { \Voice \remove Dynamic_performer } } }
Este ejemplo suprime el efecto de las indicaciones dinámicas sobre la salida MIDI. Nota: los módulos de traducción de LilyPond usados para el sonido se llaman ‘performers’.
Véase también
Manual de aprendizaje: Otras fuentes de información.
Referencia de la notación: Expresiones, Disposición de la partitura.
Archivos instalados: ly/performer-init.ly.
Fragmentos de código: MIDI.
Referencia de funcionamiento interno: Dynamic_performer.
Advertencias y problemas conocidos
Ciertos reproductores de MIDI no siempre maneja correctamente los cambios de tempo en la salida MIDI.
Los cambios efectuados al midiInstrument
, así como ciertas
opciones MIDI, al comienzo de un pentagrama pueden
aparecer dos veces en la salida MIDI.
3.5.5 Uso de los instrumentos MIDI
Los instrumentos MIDI se establecen usando la propiedad
midiInstrument
dentro de un contexto Staff
.
\score { \new Staff { \set Staff.midiInstrument = "glockenspiel" … music … } \midi { } }
o
\score { \new Staff \with {midiInstrument = "cello"} { … music … } \midi { } }
Si el instrumento elegido no coincide exactamente con uno de los
instrumentos de la lista de la sección ‘instrumentos MIDI’, se
usará el instrumento Piano de Cola ("acoustic grand"
).
Véase Instrumentos MIDI.
Véase también
Manual de aprendizaje: Otras fuentes de información.
Referencia de la notación: Instrumentos MIDI, Disposición de la partitura.
Archivos instalados: scm/midi.scm.
Advertencias y problemas conocidos
Los instrumentos de percusión cuya notación está en un contexto
DrumStaff
se encontrará a la salida, correctamente, sobre
el canal MIDI número 10 pero ciertos instrumentos de
percusión afinada como el xilófono, el vibráfono o los timbales,
se tratan como instrumentos “normales”, de forma que la música
de éstos se debe introducir en un contexto Staff
(no
DrumStaff
) para obtener una salida MIDI correcta. Hay una
lista completa de entradas de los sets de percusión del
canal 10
en el archivo scm/midi.scm. Véase
Otras fuentes de información.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Uso de los instrumentos MIDI ] | [ Up : Creación de salida MIDI ] | [ Asignación de canales MIDI > ] |
3.5.6 Uso de las repeticiones con el MIDI
Las repeticiones se pueden representar en la salida MIDI
aplicando la instrucción \unfoldRepeats
.
\score { \unfoldRepeats { \repeat tremolo 8 { c'32 e' } \repeat percent 2 { c''8 d'' } \repeat volta 2 { c'4 d' e' f' } \alternative { { g' a' a' g' } { f' e' d' c' } } } \midi { } }
Para restringir el efecto de \unfoldRepeats
a la salida
MIDI únicamente, y al mismo tiempo genera partituras imprimibles,
es necesario hacer dos bloques \score
: uno para el
MIDI (con las repeticiones desplegadas) y otro para la notación
(con repeticiones de primera y segunda vez, trémolos y del tipo
porcentaje);
\score { … music … \layout { } } \score { \unfoldRepeats { … music … } \midi { } }
Si se usan varias voces, cada una de ellas debe contener las repeticiones completamente desplegadas para poder obtener una salida MIDI correcta.
Véase también
Referencia de la notación: Repeticiones.
3.5.7 Asignación de canales MIDI
Cuando se está generando un archivo MIDI de una partitura, LilyPond asigna cada nota de la partitura automáticamente a un canal MIDI, aquel en que se tocaría cuando se envía hacia un dispositivo MIDI. Un canal MIDI tiene una cierta cantidad de controles disponibles para seleccionar, por ejemplo, el instrumento que usar para reproducir las notas en ese canal, u ordenar al dispositivo MIDI que aplique diversos efectos al sonido producido sobre el canal. En todo momento, cada control de un canal MIDI solo puede tener asignado un valor único (que sin embargo se puede modificar, por ejemplo, para cambiar a otro instrumento en mitad de una partitura).
El estándar MIDI contempla solamente 16 canales por dispositivo MIDI. Este límite en el número de canales limita también el número de instrumentos diferentes que pueden estar tocando al mismo tiempo.
LilyPond crea pistas MIDI separadas para cada pentagrama (o
instrumento o voz, según el valor de
Score.midiChannelMapping
), y también para cada contexto de
letra. No hay un límite para el número de pistas.
Para solventar el número limitado de canales MIDI, LilyPond
contempla algunos modos diferentes para la asignación de canales
MIDI, que se seleccionan usando la propiedad de contexto
Score.midiChannelMapping
. En cada caso, si se necesitan
más canales MIDI que el límite, los números de canal asignados
vuelven a contar desde cero, causando posiblemente una asignación
incorrecta de instrumento a algunas notas. Esta propiedad de
contexto se puede fijar a uno de los siguientes valores:
'staff
-
Reservar un canal MIDI distinto para cada uno de los pentagramas de la partitura (es el ajuste predeterminado). Todas las notas de todas las voces comparten el canal MIDI del pentagrama que las encierra, y todas se codifican dentro de la misma pista MIDI.
El límite de 16 canales se aplica al número total de contextos de pentagrama y de letra, incluso aunque las letras del MIDI no consumen un canal MIDI.
'instrument
-
Reservar un canal MIDI distinto a cada uno de los instrumentos diferentes especificados en la partitura. Esto significa que todas las notas reproducidas con el mismo instrumento MIDI comparten el mismo canal MIDI (y la misma pista), incluso aunque las notas provengan de diferentes voces o pentagramas.
En este caso los contextos de letra no cuentan para el límite de 16 canales MIDI (ya que no se asignan a un instrumento MIDI), de forma que este ajuste puede permitir una mejor distribución de los canales MIDI cuando el número de contextos de pentagrama y de letra en la partitura excede la cantidad de 16.
'voice
-
Reservar un canal MIDI distinto a cada voz de la partitura que tenga un nombre único entre las voces de su pentagrama circundante. Las voces de los distintos pentagramas siempre se asignan a distintos canales MIDI pero dos voces cualesquiera contenidas dentro del mismo pentagrama comparten el mismo canal MIDI sin tienen el mismo nombre. A causa de que
midiInstrument
y los diversos controles MIDI para los efectos son propiedades del contexto de pentagrama, no se pueden fijar independientemente para cada voz. La primera voz se reproduce con el instrumento y los efectos especificados para el pentagrama, y las voces con un nombre distinto de la primera recibirán el instrumento y los efectos predeterminados.Nota: se pueden asignar distintos instrumentos y/o efectos a varias voces dentro del mismo pentagrama moviendo el
Staff_performer
del contextoStaff
al contextoVoice
, y dejando quemidiChannelMapping
conserve su valor predeterminado de'staff
o se fije al valor'instrument
; véase el fragmento de código siguiente.
Por ejemplo, la asignación predeterminada de canal MIDI de una
partitura puede cambiarse al ajuste 'instrument
como se
muestra a continuación:
\score { ...music... \midi { \context { \Score midiChannelMapping = #'instrument } } }
Fragmentos de código seleccionados
Modificar la salida MIDI para que tenga un canal por cada voz
Al producir una salida MIDI, el comportamiento predeterminado es que cada pentagrama representa un canal MIDI, con todas las voces de dicho pentagrama mezcladas. Esto reduce al mínimo el riesgo de que se agote el número de canales MIDI disponibles, pues existe un máximo de 16 canales por cada puerto MIDI, y la mayoría de los dispositivos sólo tiene un puerto.
Sin embargo, cuando se traslada el interpretador
Staff_performer
al contexto Voice
, cada voz de un
pentagrama puede tener su propio canal MIDI, como se muestra en el
siguiente ejemplo: a pesar de estar sobre el mismo pentagrama, se
crean dos canales MIDI, cada uno con un midiInstrument
distinto.
\score { \new Staff << \new Voice \relative c''' { \set midiInstrument = "flute" \voiceOne \key g \major \time 2/2 r2 g-"Flute" ~ g fis ~ fis4 g8 fis e2 ~ e4 d8 cis d2 } \new Voice \relative c'' { \set midiInstrument = "clarinet" \voiceTwo b1-"Clarinet" a2. b8 a g2. fis8 e fis2 r } >> \layout { } \midi { \context { \Staff \remove "Staff_performer" } \context { \Voice \consists "Staff_performer" } \tempo 2 = 72 } }
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Asignación de canales MIDI ] | [ Up : Creación de salida MIDI ] | [ Enriquecimiento de la salida MIDI > ] |
3.5.8 Propiedades de contexto para efectos MIDI
Se pueden usar las siguientes propiedades de contexto para
aplicar diversos efectos MIDI a las notas que se reproducen sobre
el canal MIDI asociado con el pentagrama, instrumento MIDI o voz
actual (dependiendo del valor de la propiedad de contexto
Score.midiChannelMapping
y del contexto en que está
situado el Staff_performer
; véase Asignación de canales MIDI).
Los cambios en estas propiedades de contexto afectan a todas las notas que se reproducen sobre el canal después del cambio, aunque algunos de los efectos se pueden incluso aplicar también a notas que están ya sonando en ese momento (dependiendo de la implementación del dispositivo de salida MIDI).
Se contemplan las siguientes propiedades de contexto:
Staff.midiPanPosition
-
La posición de panorama controla cómo se distribuye el sonido de un canal MIDI entre las salidas estéreo izquierda y derecha. La propiedad de contexto acepta un número entre -1.0 (
#LEFT
) y 1.0 (#RIGHT
); el valor -1.0 pone toda la potencia de sonido en la salida estéreo izquierda (dejando la salida derecha en completo silencio), el valor 0.0 (#CENTER
) distribuye el sonido por igual entre las salidas estéreo izquierda y derecha, y el valor 1.0 mueve todo el sonido a la salida estéreo derecha. Los valores entre -1.0 y 1.0 se pueden usar para obtener distribuciones mezcladas entre las salidas estéreo izquierda y derecha. Staff.midiBalance
-
Equilibrio estéreo de un canal MIDI. De forma similar a la posición de panorama esta propiedad de contexto acepta un número entre -1.0 (
#LEFT
) y 1.0 (#RIGHT
). Varía el volumen relativo que se envía a los dos altavoces estéreo sin afectar a la distribución de las propias señales estéreo. Staff.midiExpression
-
Nivel de expresión (como una fracción del nivel máximo disponible) que se aplica a un canal MIDI. Un dispositivo MIDI combina el nivel de expresión del canal MIDI con el nivel actual de dinámica de una voz (controlado mediante las instrucciones de dinámica como
\p
o\ff
) para obtener el volumen total de cada nota dentro de la voz. El control de expresión se puede usar, por ejemplo, para implementar efectos de crescendo y decrescendo sobre notas mantenidas (algo que LilyPond no contempla de forma automática).El rango de los niveles de expresión se extiende desde 0.0 (ninguna expresión, lo que significa un volumen nulo) hasta 1.0 (expresión al máximo).
Staff.midiReverbLevel
-
El nivel de reverberación (cono una fracción del máximo nivel disponible) que se aplica a un canal MIDI. Esta propiedad acepta números entre 0.0 (sin reverberación) y 1.0 (efecto máximo).
Staff.midiChorusLevel
-
Nivel del efecto Chorus (como una fracción del máximo nivel disponible) que se aplica a un canal MIDI. Esta propiedad acepta números entre 0.0 (sin efecto de chorus) y 1.0 (efecto al máximo).
Advertencias y problemas conocidos
Dado que los archivos MIDI no contienen en realidad ninguna información sonora, los cambios en estas propiedades de contexto solamente se convierten en peticiones para que cambien los controles de canal MIDI dentro de los archivos MIDI emitidos. Si un dispositivo MIDI determinado (como un reproductor MIDI por software) puede de hecho manejar cualquiera de estas solicitudes de un archivo MIDI, es algo que depende totalmente de la implementación del mismo: un dispositivo podría optar por ignorar algunas o todas estas solicitudes. Asimismo, la forma en que un dispositivo MIDI interpreta los diferentes valores de estos controles (generalmente, el estándar MIDI determina el comportamiento solamente en los puntos extremos del rango de valores disponibles para cada control), y el hecho de si un cambio en el valor de un control afecta a las notas que ya se están reproduciendo sobre ese canal MIDI o no, también son aspectos específicos de la implementación del dispositivo MIDI.
Al generar archivos MIDI, LilyPond sencillamente convierte de forma lineal los valores fraccionarios dentro de cada rango (7 bits, o 14 bits para los controles de canal MIDI que admiten resolución fina) en valores enteros dentro del rango correspondiente (de 0 a 127 o de 0 a 32767, respectivamente), redondeando los valores fraccionarios hacia el entero más próximo en dirección opuesta al cero. Los valores enteros convertidos se almacenan tal cual en el archivo MIDI generado. Consulte la documentación de su dispositivo MIDI para ver información acerca de cómo interpreta estos valores.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Propiedades de contexto para efectos MIDI ] | [ Up : Creación de salida MIDI ] | [ El script Articulate > ] |
3.5.9 Enriquecimiento de la salida MIDI
3.5.10 El script Articulate |
La salida MIDI predeterminada es muy básica, pero se puede
mejorar mediante la selección de los instrumentos MIDI las
propiedades del bloque \midi
y/o usando el script
articulate.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < Enriquecimiento de la salida MIDI ] | [ Up : Creación de salida MIDI ] | [ Extraer información musical > ] |
3.5.10 El script Articulate
Para utilizar el script Articulate, tenemos que incluirlo al principio de nuestro archivo de entrada:
\include "articulate.ly"
El script crea una salida MIDI en que las notas tienen una duración ajustada en el tiempo de forma que se correspondan con una serie de indicaciones de articulación y de tempo. Sin embargo, la salida tipografiada también se altera para reflejar literalmente el contenido de la salida MIDI.
\score { \articulate << … music … >> \midi { } }
La instrucción \articulate
habilita el procesado de las
abreviaturas como trinos y mordentes de varias notas. En el
propio script puede verse una lista completa de los elementos que
están previstos. Véase ly/articulate.ly.
Véase también
Manual de aprendizaje: Otras fuentes de información.
Referencia de la notación: Disposición de la partitura.
Archivos instalados: ly/articulate.ly.
Nota: El script articulate puede acortar los acordes,
lo que podría no ser adecuado para algunos tipos de instrumento,
como el órgano. Las notas que no tienen ninguna articulación
también se pueden acortar; así, para contener el alcance
de este efecto limite
el uso de de la función \articulate
a segmentos de música
más breves o modifique los valores de las variables definidas
dentro del script articulate
para compensar el efecto de acortamiento de las notas.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Problemas de espaciado >> ] |
[ < El script Articulate ] | [ Up : Entrada y salida generales ] | [ Displaying LilyPond notation > ] |
3.6 Extraer información musical
Además de crear un resultado visual y MIDI, LilyPond es capaz de presentar información musical en forma de texto.
3.6.1 Displaying LilyPond notation | ||
3.6.2 Impresión de las expresiones musicales de Scheme | ||
3.6.3 Guardar los eventos musicales en un archivo |
3.6.1 Displaying LilyPond notation
La impresión textual de una expresión musical en notación de
LilyPond puede hacerse con la función musical
\displayLilyMusic
. Para ver el resultado, lo más usual es
llamar a LilyPond mediante la línea de órdenes. Por ejemplo,
{ \displayLilyMusic \transpose c a, { c4 e g a bes } }
imprime lo siguiente:
{ a,4 cis e fis g }
De forma predeterminada, LilyPond imprime estos mensajes en la
consola junto al resto de los mensajes de la compilación de
LilyPond. Para discernir entre estos mensajes y guardar el
resultado de \displayLilyMusic
, redireccione la salida
hacia un archivo.
lilypond archivo.ly >resultado.txt
Observe que LilyPond no se limita a mostrar la expresión musical,
sino que también la interpreta (porque \displayLilyMusic
la devuelve además de mostrarla). Simplemente inserte
\displayLilyMusic
dentro de
la música existente con el objeto de obtener información sobre
ella.
Para interpretar y mostrar una sección de música en la consola,
y al mismo tiempo suprimirla del archivo de salida,
use la instrucción \void
.
{ \void \displayLilyMusic \transpose c a, { c4 e g a bes } c1 }
3.6.2 Impresión de las expresiones musicales de Scheme
Véase Presentación de las expresiones musicales.
3.6.3 Guardar los eventos musicales en un archivo
Los eventos musicales se pueden guardar en un archivo pentagrama a pentagrama mediante la inclusión de un archivo en nuestra partitura principal.
\include "event-listener.ly"
De esta forma se crean uno o más archivos llamados FILENAME-STAFFNAME.notes ó FILENAME-unnamed-staff.notes para cada pentagrama. Observe que si tiene más de un pentagrama sin nombre, los eventos de todos los pentagramas se mezclarán entre sí dentro del mismo archivo. El resultado tiene el aspecto siguiente:
0.000 note 57 4 p-c 2 12 0.000 dynamic f 0.250 note 62 4 p-c 7 12 0.500 note 66 8 p-c 9 12 0.625 note 69 8 p-c 14 12 0.750 rest 4 0.750 breathe
La sintaxis consiste en una línea delimitada por caracteres de tabulación, con dos campos fijos en cada línea seguidos de parámetros opcionales.
tiempo tipo …parámetros…
Esta información se puede leer fácilmente por parte de otros programas como guiones de Python, y pueden ser muy útiles para aquellos investigadores que desean realizar un análisis musical o hacer experimentos de reproducción con LilyPond.
Advertencias y problemas conocidos
No todos los eventos musicales de lilypond están contemplados por event-listener.ly. Se pretende que sea una “prueba de concepto” bien realizada. Si algunos eventos que quiere ver no aparecen incluidos, copie event-listener.ly en su carpeta de lilypond y modifique el archivo de forma que produzca la información que desea.
[ << Entrada y salida generales ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Guardar los eventos musicales en un archivo ] | [ Up : Top ] | [ Disposición de la página > ] |
4 Problemas de espaciado
La disposición global sobre el papel viene determinada por tres factores: el diseño de página, los saltos de línea y el espaciado. Estos factores influyen entre sí. La elección de uno u otro espaciado determina qué densidad termina teniendo cada sistema de música. Esto influye en el lugar en que se eligen los saltos de línea y, en último término, en el número de páginas que tiene una partitura.
Considerado globalmente, este proceso se produce en cuatro fases: en primer lugar se eligen unas distancias elásticas o ‘muelles’, basados en la duración de las figuras. Se prueban todas las combinaciones de saltos de línea posibles, y para cada una de ellas se calcula una puntuación de ‘maldad’. Después se hace una estimación de la altura de cada uno de los posibles sistemas. Finalmente se selecciona una combinación de saltos de página y de línea de tal forma que ni el espaciado horizontal ni el vertical estén demasiado estrechos ni estirados.
Hay dos tipos de bloques que pueden contener ajustes de
disposición: \paper {…}
y \layout
{…}
. El bloque \paper
contiene ajustes de
disposición de la página que se espera sean los mismos para todas
las partituras de un libro o parte de libro, como la altura de la
hoja o si se imprimen los números de página, etc. Véase
Disposición de la página. El bloque \layout
contiene
ajustes de disposición de la partitura, como el número de sistemas
que utilizar, o la separación entre grupos de pentagramas, etc.
Véase Disposición de la partitura.
4.1 Disposición de la página | ||
4.2 Disposición de la partitura | ||
4.3 Saltos | ||
4.4 Espaciado vertical | ||
4.5 Espaciado horizontal | ||
4.6 Encajar la música en menos páginas |
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Problemas de espaciado ] | [ Up : Problemas de espaciado ] | [ El bloque \paper > ] |
4.1 Disposición de la página
Esta sección estudia las opciones de disposición de la página para
el bloque \paper
.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Disposición de la página ] | [ Up : Disposición de la página ] | [ Tamaño del papel y escalado automático > ] |
4.1.1 El bloque \paper
Los bloques \paper
pueden aparecer en tres lugares
diferentes para formar una jerarquía descendente de bloques
\paper
:
- Al principio del archivo de entrada, antes de cualquier bloque
\book
,\bookpart
, o\score
. - Dentro de un bloque
\book
pero fuera de cualquier bloque\bookpart
o\score
que estén dentro de ese libro. - Dentro de un bloque
\bookpart
pero fuera de cualquier bloque\score
que esté dentro de esa parte de libro.
No se puede poner un bloque \paper
dentro de un bloque
\score
.
Los valores de los campos filtran esta jerarquía, persistiendo los valores establecidos más arriba en la jerarquía a no ser que se sobreescriban por algún valor establecido más abajo en la jerarquía.
Pueden aparecer varios bloques \paper
en cada uno de los
niveles, por ejemplo como parte de distintos archivos incluidos
con \include
. Si es el caso, los campos en cada nivel se
combinan, tomando precedencia los campos que aparecen más tarde si
se producen campos duplicados.
Entre los ajustes que pueden aparecer dentro de un bloque
\paper
están los siguientes:
- la función de Scheme
set-paper-size
, - variables de
\paper
utilizadas para personalizar la disposición de la página, y - definiciones de marcado utilizadas para personalizar la disposición de los encabezamientos, pies y títulos.
La función set-paper-size
se estudia en la sección
siguiente, Tamaño del papel y escalado automático. Las
variables de \paper
que se ocupan de la disposición de la
página se estudian en secciones posteriores. Las definiciones de
elementos de marcado que se encargan de los encabezamientos, pies
y títulos se estudian en
Títulos, encabezamientos y pies de página personalizados.
Casi todas las variables de \paper
funcionan solamente
dentro de un bloque \paper
. Las pocas que funcionan
también en un bloque \layout
están relacionadas en El bloque \layout
.
Excepto cuando se especifica lo contrario, todas las variables de
\paper
que corresponden a distancias sobre la página se
miden en milímetros, a no ser que el usuario especifique unas
unidades diferentes. Por ejemplo, la declaración siguiente
establece el margen superior top-margin
a diez milímetros:
\paper { top-margin = 10 }
Para fijarlo en 0.5
pulgadas, utilice el sufijo de unidades
\in
:
\paper { top-margin = 0.5\in }
Los sufijos de unidades que están disponibles son \mm
,
\cm
, \in
y \pt
. Estas unidades son valores
simples para convertir a partir de milímetros; están definidos en
ly/paper-defaults-init.ly. Por claridad, al usar
milímetros, se suele escribir el sufijo \mm
aunque no es
necesario técnicamente.
También es posible definir valores de \paper
utilizando
Scheme. El equivalente de Scheme del ejemplo anterior es:
\paper { #(define top-margin (* 0.5 in)) }
Véase también
Referencia de la notación:
Tamaño del papel y escalado automático,
Títulos, encabezamientos y pies de página personalizados,
El bloque \layout
.
Archivos instalados: ly/paper-defaults-init.ly.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < El bloque \paper ] | [ Up : Disposición de la página ] | [ Fijar el tamaño del papel > ] |
4.1.2 Tamaño del papel y escalado automático
Fijar el tamaño del papel | ||
Escalado automático al tamaño del papel |
Fijar el tamaño del papel
‘A4’ es el valor predeterminado si no se establece ningún tamaño de página explícitamente. Sin embargo, existen dos funciones que se pueden usar para modificarlo:
set-default-paper-size
-
#(set-default-paper-size "quarto")
que siempre se debe colocar en el ámbito superior, y
set-paper-size
-
\paper { #(set-paper-size "tabloid") }
que se debe colocar siempre dentro de un bloque
\paper
.
Si se usa la función set-default-paper-size
en el ámbito
superior jerárquico, debe ir antes de cualquier bloque
\paper
. set-default-paper-size
establece el tamaño
de todas las páginas, mientras que set-paper-size
establece
sólo el tamaño de las páginas a las que se aplica el bloque
\paper
. Por ejemplo, si el bloque \paper
está al
principio del archivo, aplica el tamaño de papel a todas las
páginas. Si el bloque \paper
está dentro de un bloque
\book
, entonces el tamaño del papel sólo se aplica a ese
libro.
Cuando se usa la función set-paper-size
, se debe colocar
antes de cualquier otra función que se utilice dentro del
mismo bloque \paper
. Véase
Escalado automático al tamaño del papel.
Los tamaños de página están definidos en el archivo scm/paper.scm, y aunque es posible añadir tamaños personalizados, se sobreescribirán en las actualizaciones del software posteriores. La lista de todos los tamaños de papel disponibles está en Tamaños de página predefinidos.
Se puede usar la siguiente instrucción en el archivo para añadir
un tamaño de página personalizado que se puede usar después con
set-default-paper-size
o con set-paper-size
según
convenga,
#(set! paper-alist (cons '("mi tamaño" . (cons (* 15 in) (* 3 in))) paper-alist)) \paper { #(set-paper-size "mi tamaño") }
Se puede usar cualquiera de las unidades in
(pulgadas),
cm
(centímetros) o mm
(milímetros).
Si se añade el símbolo 'landscape
a la función del tamaño
de la página, el papel se gira 90 grados y se establece
adecuadamente la anchura de las líneas.
#(set-default-paper-size "a6" 'landscape)
Se pueden intercambiar las dimensiones del papel sin que la impresión resulte girada (como cuando se imprime en tamaño tarjeta postal, o al crear gráficos para su inclusión en lugar de un documento independiente) añadiendo ‘landscape’ después del nombre del propio tamaño del papel:
#(set-default-paper-size "a6landscape")
Cuando el tamaño del papel termina de forma explícita con
‘landscape’ o con ‘portrait’, la presencia de un símbolo
'landscape
solamente afecta a la orientación de la
impresión, no a las dimensiones del papel que se usan para la
disposición.
Véase también
Referencia de la notación: Escalado automático al tamaño del papel, Tamaños de página predefinidos.
Archivos instalados: scm/paper.scm.
Escalado automático al tamaño del papel
Si se cambia el tamaño del papel con una de las funciones de
Scheme (set-default-paper-size
o set-paper-size
),
los valores de algunas variables de \paper
se escalan
automáticamente al nuevo tamaño. Para sortear el escalado
automático para una variable determinada, fije el valor de la
variable después de establecer el tamaño del papel. Observe que
el escalado automático no se activa mediante el ajuste de las
variables paper-height
o de paper-width
, incluso
aunque paper-width
puede influir sobre otros valores (esto
es distinto al escalado y se estudia más abajo). Las funciones
set-default-paper-size
y set-paper-size
se describen
en Fijar el tamaño del papel.
Las dimensiones verticales afectadas por el escalado automático
son top-margin
y bottom-margin
(véase Variables de espaciado de \paper
verticales fijas). Las dimensiones
horizontales afectadas por el escalado automático son
left-margin
, right-margin
, inner-margin
,
outer-margin
, binding-offset
, indent
y
short-indent
(véase Variables de espaciado de \paper
horizontales).
Los valores predeterminados para estas dimensiones están fijados
en el archivo ly/paper-defaults-init.ly, usando variables
internas llamadas top-margin-default
,
bottom-margin-default
, etc. Estos son los valores que
resultan del tamaño predeterminado del papel a4
. Como
referencia, con el papel a4
la altura paper-height
es 297\mm
y la anchura paper-width
es 210\mm
.
Véase también
Referencia de la notación:
Variables de espaciado de \paper
verticales fijas,
Variables de espaciado de \paper
horizontales.
Archivos de inicio: ly/paper-defaults-init.ly, scm/paper.scm.
4.1.3 Variables de espaciado de \paper
verticales fijas
Nota: Algunas dimensiones de \paper
se escalan
automáticamente al tamaño del papel, lo que puede llevar a un
comportamiento no esperado. Véase
Escalado automático al tamaño del papel.
Los valores predeterminados (previos al escalado) están definidos en el archivo ly/paper-defaults-init.ly.
paper-height (altura del papel)
¶-
Altura de la página, no fijada de forma predeterminada. Observe que el escalado automático de algunas dimensiones verticales no resulta afectado por esto.
top-margin (margen superior)
¶-
Margen entre el extremo superior de la página y la parte superior de la zona imprimible. Si se modifica el tamaño del papel, el valor predeterminado de esta dimensión se escala de acuerdo con ello.
bottom-margin (margen inferior)
¶-
Margen entre la parte inferior de la zona imprimible y el extremo inferior de la página. Si se modifica el tamaño del papel, se escala de acuerdo con ello el valor predeterminado de esta dimensión.
ragged-bottom (sin justificar por abajo)
¶-
Si esto se fija al valor verdadero, los sistemas se disponen según su espaciado natural, ni comprimido ni ampliado verticalmente para rellenar la página.
ragged-last-bottom (sin justificar la última por abajo)
¶-
Si se establece al valor falso, entonces la última página (tanto del documento como de cada sección que se hubiera creado con un bloque
\bookpart
) se justifica verticalmente de la misma forma que las páginas anteriores.
Véase también
Referencia de la notación: Escalado automático al tamaño del papel.
Archivos de inicio: ly/paper-defaults-init.ly.
Fragmentos de código: Spacing.
Advertencias y problemas conocidos
Los títulos (extraídos del bloque \header
) se tratan como
sistemas, así pues ragged-bottom
y
ragged-last-bottom
aumentan la separación entre los títulos
y el primer sistema de la partitura.
Los tamaños de papel definidos explícitamente sobreescriben cualquier ajuste de los márgenes superior o inferior definidos por el usuario.
4.1.4 Variables de espaciado de \paper
verticales flexibles
En casi todos los casos es preferible que las distancias
verticales entre ciertos elementos (como márgenes, títulos,
sistemas y las distintas partituras) sean flexibles, de manera que
se amplíen y compriman adecuadamente dependiendo de la situación.
Están disponibles un cierto número de variables del bloque
\paper
(relacionadas más abajo) para realizar un ajuste
fino del comportamiento de estas dimensiones frente a su
ampliación o compresión.
Observe que las variables de \paper
que se estudian en esta
sección no controlan el espaciado de los pentagramas que están
dentro de los sistemas individuales. El espaciado dentro de los
sistemas se controla por medio de propiedades de grob, con ajustes
que se escriben normalmente dentro de un bloque \score
o
\layout
, y no dentro del bloque \paper
. Véase
Espaciado vertical flexible dentro de los sistemas.
Estructura de las listas-A de espaciado vertical flexible | ||
Lista de variables de espaciado de \paper verticales flexibles |
Estructura de las listas-A de espaciado vertical flexible
Cada una de las variables de espaciado de \paper
flexibles
es una lista-A (lista asociativa) que contiene cuatro
claves:
-
basic-distance
(distancia básica): distancia vertical, medida en espacios de pentagrama, entre los puntos de referencia de los dos elementos, cuando no resulte ninguna colisión, y no se produzca ninguna ampliación o compresión. El punto de referencia de un elemento de marcado (de título o del nivel jerárquico superior) es su punto más alto, y el punto de referencia de un sistema es el centro vertical delStaffSymbol
más cercano (incluso si se trata de una línea que no es un pentagrama, como un contextoLyrics
). Los valores dedistancia básica
menores depadding
o deminimum-distance
no son significativos, porque la distancia resultante nunca será menor depadding
o deminimum-distance
. -
minimum-distance
(distancia mínima): la distancia vertical mínima permitida, medida en espacios de pentagrama, entre los puntos de referencia de los dos elementos, cuando se produce una compresión. Los valores deminimum-distance
menores depadding
no son significativos, porque la distancia resultante nunca será menor depadding
. -
padding
(relleno): mínimo espacio vertical vacío necesario entre los rectángulos circundantes (o las líneas de horizonte) de los dos elementos, medido en espacios de pentagrama. -
stretchability
(ampliabilidad): medida sin unidades de la propensión relativa de esta dimensión a ampliarse. Si es cero, la distancia no se ampliará (a no ser que resultasen colisiones). Si es positiva, la significación del valor de ampliabilidad de una dimensión concreta depende solamente de su relación con los valores destretchability
de las otras dimensiones. Por ejemplo, si una dimensión tiene el doble destretchability
que otra, se ampliará con el doble de facilidad. Los valores deben ser no negativos y finitos. El valor+inf.0
desencadena un error de programación y se ignora, pero se puede usar1.0e7
para un muelle casi infinitamente ampliable. Si no se fija un valor, el valor predeterminado se establece abasic-distance
. Observe que la propensión de la dimensión a comprimirse no se puede establecer directamente por el usuario y es igual a (basic-distance
−minimum-distance
).
Si una página tiene un margen inferior no justificado, la distancia resultante es la mayor de:
-
basic-distance
, -
minimum-distance
, y -
padding
más la menor distancia necesaria para eliminar las colisiones.
Para partituras de varias páginas con la parte inferior no justificada en la última página, ésta usará el mismo espaciado que la página anterior siempre y cuando haya espacio suficiente para ello.
Los métodos específicos para la modificación de las listas-A se estudian en Modificación de las listas-A. El siguiente ejemplo muestra las dos formas en que pueden modificarse estas listas-A. La primera declaración actualiza un par clave-valor individualmente, y la segunda redefine la variable completamente:
\paper { system-system-spacing.basic-distance = #8 score-system-spacing = #'((basic-distance . 12) (minimum-distance . 6) (padding . 1) (stretchability . 12)) }
Lista de variables de espaciado de \paper
verticales flexibles
Los nombres de estas variables siguen el formato
superior-inferior-spacing
, donde
superior
e inferior
son los elementos
que van a ser espaciados. Cada distancia se mide entre los puntos
de referencia de los dos elementos (véase más arriba la
descripción de la estructura de la lista-A). Observe que en estos
nombres de variable, el término ‘markup
’ se refiere tanto
a elementos de marcado de título (bookTitleMarkup
o
scoreTitleMarkup
) como a elementos de marcado del
nivel superior (véase Estructura del archivo). Todas las
distancias se miden en espacios de pentagrama.
Los ajustes predeterminados están definidos en el archivo ly/paper-defaults-init.ly.
markup-system-spacing
¶-
distancia entre un elemento de marcado (de título o del nivel superior) y el sistema que le sigue.
score-markup-spacing
¶-
distancia entre el último sistema de una partitura y el elemento de marcado (de título o del nivel superior) que le sigue.
score-system-spacing
¶-
distancia entre el último sistema de una partitura y el primer sistema de la partitura que le sigue, cuando no existe ningún elemento de marcado (de título o del nivel superior) entre ellos.
system-system-spacing
¶-
distancia entre dos sistemas dentro de la misma partitura.
markup-markup-spacing
¶-
distancia entre dos elementos de marcado (de título o del nivel superior).
last-bottom-spacing
¶-
distancia desde el último sistema o elemento de marcado del nivel superior en una página, hasta la parte inferior de la zona imprimible (es decir, el extremo superior del margen inferior).
top-system-spacing
¶-
distancia desde la parte superior de la zona imprimible (es decir, el extremo inferior del margen superior) hasta el primer sistema de una página, cuando no hay ningún elemento de marcado (de título o del nivel superior) entre los dos.
top-markup-spacing
¶-
distancia desde el extremo superior de la zona imprimible (es decir, el extremo inferior del margen superior) hasta el primer elemento de marcado (de título o del nivel superior) sobre una página, cuando no hay ningún sistema entre los dos.
Véase también
Referencia de la notación: Espaciado vertical flexible dentro de los sistemas.
Archivos de inicio: ly/paper-defaults-init.ly.
Fragmentos de código: Spacing.
4.1.5 Variables de espaciado de \paper
horizontales
Nota: Algunas dimensiones de \paper
se escalan
automáticamente al tamaño del papel, lo que puede dar lugar a un
comportamiento distinto al esperado. Véase
Escalado automático al tamaño del papel.
Variables de \paper para la anchura y los márgenes | ||
Variables de \paper para el modo de doble cara | ||
Variables de \paper para desplazamientos y sangrados |
Variables de \paper
para la anchura y los márgenes
Los valores predeterminados (antes del escalado) que no están relacionados aquí se encuentran definidos en el archivo ly/paper-defaults-init.ly.
paper-width (anchura del papel)
¶-
Anchura de la página, sin fijar de forma predeterminada. Aunque
paper-width
no tiene ningún efecto sobre el escalado automático de algunas dimensiones horizontales, sí influye sobre la variableline-width
. Si están establecidas las dos variablespaper-width
yline-width
, entonces también se actualizanleft-margin
yright-margin
. Véase tambiéncheck-consistency
. line-width (longitud de la línea)
¶-
Cuando se especifica dentro de un bloque
\paper
, define las dimensiones horizontales del espacio disponible para las líneas del pentagrama en los sistemas sin sangrado por la izquierda. Si se deja sin especificar, la longitudline-width
del papel se determina a partir de(paper-width − left-margin − right-margin)
. Si se especifica la longitudline-width
del papel, y no se especifican el margen izquierdoleft-margin
ni el margen derechoright-margin
, entonces los márgenes se actualizan de forma que los sistemas se centran automáticamente sobre la página. Véase tambiéncheck-consistency
.Los valores de
line-width
para las partituras individuales se pueden especificar dentro de los bloques\layout
de las partituras. Estos valores controlan la longitud de las líneas producidas partitura a partitura. Si la longitudline-width
no se especifica para una partitura, su valor predeterminado es elline-width
del bloque paper. El hecho de fijar la longitudline-width
de una partitura no tiene efecto sobre los márgenes del papel. Las líneas del pentagrama, de una longitud determinada por el valorline-width
de la partitura, se alinean por la izquierda dentro del área definida por la longitudline-width
del papel. Si la longitudline-width
del papel y de la partitura son iguales, las líneas del pentagrama se extienden exactamente desde el margen izquierdo hasta el margen derecho, pero si la longitudline-width
de la partitura es mayor que laline-width
del papel, las líneas del pentagrama se imprimirán encima del espacio reservado al margen derecho. left-margin (margen izquierdo)
¶-
Margen entre el extremo izquierdo de la página y el comienzo de las líneas del pentagrama en los sistemas sin sangrado. Si el tamaño del papel se modifica, el valor predeterminado de esta dimensión se escala de acuerdo con ello. Si no se fija el valor de
left-margin
, y tantoline-width
comoright-margin
están fijados, entonces se establece el valor deleft-margin
a(paper-width − line-width − right-margin)
. Si solamente está fijadoline-width
, entonces los dos márgenes se establecen a((paper-width − line-width) / 2)
, y como consecuencia los sistemas se centran sobre la página. Véase tambiéncheck-consistency
. right-margin (margen derecho)
¶-
Margen entre el extremo derecho de la página y el final de las líneas del pentagrama en sistemas justificados. Si el tamaño de la página se modifica, el valor predeterminado de esta dimensión se escala de acuerdo con ello. Si
right-margin
está sin fijar, y tantoline-width
comoleft-margin
están fijados, el valor deright-margin
se establece a(paper-width − line-width − left-margin)
. Si solamente está fijadoline-width
, los dos márgenes se establecen a((paper-width − line-width) / 2)
, y como consecuencia los sistemas aparecen centrados sobre la página. Véase tambiéncheck-consistency
. check-consistency (comprobar la consistencia)
¶-
Si esto es verdadero (su valor predeterminado), se imprime una advertencia en caso de que la suma de
left-margin
,line-width
yright-margin
no coincida exactamente con el valor depaper-width
, y se sustituye cada uno de estos valores (exceptopaper-width
) con su valor predeterminado (escalado al tamaño del papel si es necesario). Si está fijado al valor falso, se ignora cualquier inconsistencia y se permite que los sistemas se salgan del borde del papel. ragged-right (no justificar por la derecha)
¶-
Si está fijado al valor verdadero, los sistemas no cubren el ancho de la línea. En lugar de ello, los sistemas finalizan en su longitud horizontal natural. Valor predeterminado:
#t
para las partituras con un solo sistema, y#f
para partituras que tienen dos o más sistemas. Esta variable también se puede establecer dentro de un bloque\layout
. ragged-last (no justificar el último)
¶-
Si está fijado al valor verdadero, el último sistema de la partitura no llena toda la anchura de la línea. En lugar de ello, el último sistema finaliza en su longitud horizontal natural. Valor predeterminado:
#f
. Esta variable también puede ajustarse dentro de un bloque\layout
.
Véase también
Referencia de la notación: Escalado automático al tamaño del papel.
Archivos de inicio: ly/paper-defaults-init.ly.
Advertencias y problemas conocidos
Los tamaños de papel definidos explícitamente sobreescriben cualquier ajuste de los márgenes izquierdo o derecho definidos por el usuario.
Variables de \paper
para el modo de doble cara
Los valores predeterminados (antes del escalado) se definen en ly/paper-defaults-init.ly.
two-sided (dos caras)
¶-
Si tiene el valor verdadero, utilizar
inner-margin
,outer-margin
ybinding-offset
para determinar los márgenes dependiendo de si el número de la página es par o impar. Esto sobreescribe aleft-margin
y aright-margin
. inner-margin (margen interno)
¶-
Margen que todas las páginas tienen en el lado interno si forman parte de un libro. Si el tamaño del papel se modifica, el valor predeterminado de esta dimensión se escala de acuerdo con ello. Solamente funciona con
two-sided
fijado al valor verdadero. outer-margin (margen externo)
¶-
Margen que todas las páginas tienen en el lado externo si forman parte de un libro. Si el tamaño del papel se modifica, el valor predeterminado de esta dimensión se escala de acuerdo con ello. Solamente funciona con
two-sided
fijado al valor verdadero. binding-offset (margen de encuadernación)
¶-
Medida en que se aumenta
inner-margin
para asegurar que no se oculta nada a causa de la encuadernación. Si el tamaño del papel se modifica, el valor predeterminado de esta dimensión se escala de acuerdo con ello. Solamente funciona contwo-sided
fijado al valor verdadero.
Véase también
Referencia de la notación: Escalado automático al tamaño del papel.
Archivos de inicio: ly/paper-defaults-init.ly.
Variables de \paper
para desplazamientos y sangrados
Los valores predeterminados (antes del escalado) que no se relacionan aquí están definidos en el archivo ly/paper-defaults-init.ly.
horizontal-shift (desplazamiento horizontal)
¶-
Medida en que todos los sistemas (incluidos los títulos de cabecera y los separadores de sistemas) se desplazan a la derecha. Predeterminado:
0.0
. indent (sangrado)
¶-
Nivel de sangrado para el primer sistema de una partitura. Si se modifica el tamaño del papel, el valor predeterminado de esta dimensión se escala de acuerdo con ello. El espacio dentro de
line-width
que está disponible para el primer sistema se reduce en esta cantidad.indent
se puede también especificar dentro de los bloques\layout
para ajustar los sangrados partitura a partitura. short-indent (sangrado reducido)
¶-
Nivel de sangrado para todos los sistemas de una partitura excepto el primero. Si el tamaño del papel se modifica, el valor predeterminado de esta dimensión se escala de acuerdo con ello. El espacio dentro de
line-width
que está disponible para los sistemas que no son el primero, se reduce en esta cantidad. También se puede especificarshort-indent
dentro de los bloques\layout
para ajustar los sangrados reducidos partitura a partitura.
Véase también
Referencia de la notación: Escalado automático al tamaño del papel.
Archivos de inicio: ly/paper-defaults-init.ly.
Fragmentos de código: Spacing.
4.1.6 Otras variables de \paper
Variables de \paper para los saltos de línea | ||
Variables de \paper para los saltos de página | ||
Variables de \paper para la numeración de las páginas | ||
Variables de \paper diversas |
Variables de \paper
para los saltos de línea
max-systems-per-page
¶-
Número máximo de sistemas que se colocan sobre una página. Solo está contemplado por el algoritmo
ly:optimal-breaking
. Valor predeterminado: no fijado. min-systems-per-page
¶-
Número mínimo de sistemas que se colocan sobre una página. Puede causar que las páginas aparezcan atiborradas si el valor es demasiado grande En el momento actual solo está contemplado por el algoritmo
ly:optimal-breaking
. Valor predeterminado: no fijado. systems-per-page
¶-
Número de sistemas que se deben colocar en cada página. En el momento actual solo está contemplado por el algoritmo
ly:optimal-breaking
. Valor predeterminado: no fijado. system-count
¶-
Número de sistemas que utilizar para una partitura. Valor predeterminado: no fijado. Esta variables también se puede ajustar dentro de un bloque
\layout
.
Véase también
Referencia de la notación: Saltos de línea.
Variables de \paper
para los saltos de página
Los valores predeterminados que no están relacionados aquí, se definen en el archivo ly/paper-defaults-init.ly
page-breaking
¶-
Algoritmo de saltos de página que utilizar. Se puede elegir entre
ly:minimal-breaking
,ly:page-turn-breaking
,ly:one-page-breaking
,ly:one-line-breaking
,ly:one-line-auto-height-breaking
yly:optimal-breaking
(predeterminado). page-breaking-system-system-spacing
¶-
Engaña a la parte del programa encargada de los saltos de página para que piense que
system-system-spacing
está establecido a un valor distinto al que tiene realmente. Por ejemplo, sipage-breaking-system-system-spacing.padding
está establecido a algo que es mucho mayor quesystem-system-spacing.padding
, entonces el divisor de páginas pone menos sistemas en cada página. Valor predeterminado: sin ajustar. page-count
¶-
Número de páginas que utilizar en una partitura, no ajustado de forma predeterminada.
Las siguientes variables son efectivas solamente cuando
page-breaking
está sijado a ly:page-turn-breaking
.
Los saltos de página se seleccionan entonces de forma que se
minimice el número de pasos de página. Dado que los pasos de
página son necesarios cuando se pasa de una página impar a una
página par, normalmente resultará favorecida aquella disposición
en que la última página sea impar. Los lugares en que se
prefieran pasos de página pueden indicarse manualmente insertando
\allowPageTurn
o automáticamente incluyendo el grabador
Page_turn_engraver
(véase Paso de página óptimo).
Si no hay un número suficiente de posibilidades para escoger a la hora de insertar unos pasos de página adecuados, LilyPond puede insertar una página vacía dentro de una partitura, entre partituras (si hay dos o más partituras) o finalizando una partitura en una página de numeración par. Los valores de las tres siguientes variables pueden incrementarse para que estas acciones se vuelvan menos probables.
Los valores son penalizaciones, es decir, cuando más alto es el valor menos probables será la acción asociada relativa a otras posibilidades.
blank-page-penalty (penalización por página vacía)
¶-
Penalización por tener una página vacía en mitad de una partitura. Si
blank-page-penalty
es grande y está seleccionadoly:page-turn-breaking
, entonces será menos probable que LilyPond inserte una página en medio de una partitura. En lugar de ello, intercala espacio en la música hasta que se rellene la página vacía y la siguiente. Predeterminado: 5. blank-last-page-penalty (penalización por última página vacía)
¶-
Penalización por terminar la partitura sobre una página par. Si
blank-last-page-penalty
es grande y está seleccionadoly:page-turn-breaking
, entonces será menos probable que LilyPond produzca una partitura en que la última página tenga numeración par. En su lugar, ajustará el espaciado de manera que use una página más o una página menos. Predeterminado: 0. blank-after-score-page-penalty (penalización por página vacía después de una partitura)
¶-
Penalización por tener una página vacía después del final de una partitura y antes de la siguiente. De forma predeterminada, esta penalización es más pequeña que
blank-page-penalty
, de forma que se insertan páginas vacías después de las partituras como preferencia sobre la inserción de páginas vacías dentro de una partitura. Predeterminado: 2.
Véase también
Referencia de la notación: Saltos de página, Saltos de página óptimos, Paso de página óptimo, Saltos de página mínimos, Saltos de página del tipo página única, Saltos de página del tipo una-línea, Saltos de página del tipo una-línea-altura-automática.
Archivos de inicio: ly/paper-defaults-init.ly.
Variables de \paper
para la numeración de las páginas
Los valores predeterminados que no se relacionan aquí están definidos en el archivo ly/paper-defaults-init.ly
auto-first-page-number
¶-
El algoritmo de división de páginas está afectado por el hecho de que el número de la primera página sea par o impar. Si está establecido al valor verdadero, el algoritmo de división de páginas decide si comenzar con un número par o impar. Esto hace que el número de la primera página se quede como está, o que se aumente en una unidad. Predeterminado:
#f
. first-page-number
¶-
Valor del número de página en la primera página.
print-first-page-number
¶-
Si está fijado a verdadero, se imprime un número de página en la primera página.
print-page-number
¶-
Si está fijado a falso, no se imprimen los números de página.
page-number-type
¶-
Tipo de numeración para las páginas. Entre las posibilidades están
roman-lower
(números romanos en minúsculas),roman-upper
(números romanos en mayúsculas) yarabic
(cifras arábigas). Valor predeterminado:'arabic
.
Véase también
Archivos de inicio: ly/paper-defaults-init.ly.
Advertencias y problemas conocidos
Los números de página impares siempre están a la derecha. Si quiere que la música comience en la página 1 debe haber una página en blanco en el reverso de la página de cubierta de manera que la página 1 esté en el lado derecho.
Variables de \paper
diversas
page-spacing-weight
¶-
Importancia relativa del espacio (vertical) de las páginas y el espaciado (horizontal) de las líneas. Los valores altos hacen que el espaciado de la página tenga más importancia. Predeterminado:
10
. print-all-headers
¶-
Si está fijado a verdadero, imprime todos los encabezamientos para cada una de las partituras
\score
de la salida. Normalmente sólo se imprimen las variables de encabezamientopiece
yopus
. Valor predeterminado:#f
. system-separator-markup
¶-
Objeto de marcado que se inserta entre los sistemas. Se suele usar para partituras orquestales. Predeterminado: sin establecer. El elemento de marcado
\slashSeparator
, definido en el archivo ly/titling-init.ly, se aporta como un valor predeterminado adecuado, por ejemplo:#(set-default-paper-size "a8") \book { \paper { system-separator-markup = \slashSeparator } \header { tagline = ##f } \score { \relative { c''1 \break c1 \break c1 } } }
footnote-separator-markup
¶-
A markup object that is inserted above the footnote texts at the bottom of the page. Default: a centered horizontal line, defined in ly/paper-defaults-init.ly.
Véase también
Archivos de inicio: ly/titling-init.ly, ly/paper-defaults-init.ly.
Fragmentos de código: Spacing.
Advertencias y problemas conocidos
El encabezamiento de página predeterminado pone el número de
página y el campo instrument
del bloque \header
sobre la misma línea.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Variables de \paper diversas ] | [ Up : Problemas de espaciado ] | [ El bloque \layout > ] |
4.2 Disposición de la partitura
Esta sección trata de las opciones de disposición de la partitura
para el bloque \layout
.
4.2.1 El bloque \layout | ||
4.2.2 Establecer el tamaño del pentagrama |
4.2.1 El bloque \layout
Así como el bloque \paper
contiene ajustes relativos al
formateo de la página para todo el documento, el bloque
\layout
contiene ajustes para la disposición específica de
las partituras. Para fijar las opciones de disposición de
partituras de forma global, escríbalas en un bloque \layout
del nivel jerárquico superior. Para fijar opciones de disposición
para una partitura individual escríbalas dentro de un bloque
\layout
dentro del bloque \score
, después de la
música. Entre los ajustes que pueden aparecer en un bloque
\layout
se encuentran los siguientes:
- la función de Scheme
layout-set-staff-size
, - las modificaciones de contexto de los bloques
\context
, y - las variables de
\paper
que afectan a la disposición de la partitura.
La función layout-set-staff-size
se estudia en la sección
siguiente, Establecer el tamaño del pentagrama. Las
modificaciones de contexto se estudian en un capítulo distinto;
véase Modificar los complementos (plug-ins) de contexto y
Cambiar los valores por omisión de los contextos.
Las variables de \paper
que pueden aparecer dentro de un
bloque \layout
, y cuyos valores predeterminados se toman
del bloque paper
, son:
-
line-width
,ragged-right
yragged-last
(véase Variables de\paper
para la anchura y los márgenes) -
indent
yshort-indent
(véase Variables de\paper
para desplazamientos y sangrados) -
system-count
(véase Variables de\paper
para los saltos de línea)
He aquí un ejemplo de un bloque \layout
:
\layout { indent = 2\cm \context { \StaffGroup \override StaffGrouper.staff-staff-spacing.basic-distance = #8 } \context { \Voice \override TextScript.padding = #1 \override Glissando.thickness = #3 } }
Se pueden escribir varios bloques \layout
como expresiones
del nivel superior. Esto puede ser útil, por ejemplo, si hay
distintos ajustes almacenados en diversos archivos y se incluyen
opcionalmente. Internamente, cuando se evalúa un bloque
\layout
, se hace una copia de la configuración de
\layout
actual, y después se aplican los cambios definidos
en el bloque; el resultado se guarda como la nueva configuración
actual. Desde el punto de vista del usuario, los bloques
\layout
se combinan, pero en situaciones de conflicto
(cuando se cambia la misma propiedad en diferentes bloques) las
definiciones más tardías toman precedencia.
Por ejemplo: si este bloque:
\layout { \context { \Voice \override TextScript.color = #magenta \override Glissando.thickness = #1.5 } }
se coloca después del del ejemplo anterior, las sobreescrituras de
'padding
y de 'color
para TextScript
se
combinan, pero la última sobreescritura 'thickness
para
Glissando
sustituye (u oculta) a la anterior.
Los bloques \layout
se pueden asignar a variables para una
reutilización posterior, pero la forma en que esto funciona es
ligera y significativamente diferente del hecho de escribirlas
literalmente.
Si se define una variable de la siguiente manera:
variable_de_Layout = \layout { \context { \Voice \override NoteHead.font-size = #4 } }
guardará la configuración actual de \layout
con la
sobreescritura añadida de NoteHead.font-size
, pero esta
combinación no se guarda como la nueva configuración
actual. Tenga en cuenta que la ‘configuración actual’ se lee
cuando la variable se define y no cuando se usa, de manera que el
contenido de la variable depende de su posición dentro del código
fuente.
La variable se puede entonces usar dentro de otro bloque
\layout
, por ejemplo:
\layout { \variable_de_layout \context { \Voice \override NoteHead.color = #red } }
Un bloque \layout
que contiene una variable, como en el
ejemplo anterior, no copia la configuración actual, sino
que en lugar de ello usa el contenido de
\variable_de_layout
como la configuración base para las
adiciones posteriores. Esto significa que cualquier cambio
definido entre la definición y el uso de la variable, se pierde.
Si la variable_de_layout
se define (o se incluye con
\include
) inmediatamente antes de que se utilice, su
contenido es sencillamente la configuración en curso más las
sobreescrituras que se hayan definido dentro de él. Así pues, en
el ejemplo anterior que muestra el uso de
\variable_de_layout
el último bloque \layout
consistiría en:
TextScript.padding = #1 TextScript.color = #magenta Glissando.thickness = #1.5 NoteHead.font-size = #4 NoteHead.color = #red
más las sobreescrituras de indent
y de StaffGrouper
.
Pero si la variable ya hubiera sido definida antes del primer
bloque \layout
la configuración actual contendría ahora
solamente
NoteHead.font-size= #4 % (escrita en la definición de la variable) NoteHead.color = #red % (añadida después del uso de la variable)
Si se planifica cuidadosamente, las variables de \layout
pueden ser una herramienta valiosa para estructurar el diseño de
la disposición de las fuentes, y también para reiniciar la
configuración de \layout
a un estado conocido.
Véase también
Referencia de la notación: Cambiar los valores por omisión de los contextos.
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < El bloque \layout ] | [ Up : Disposición de la partitura ] | [ Saltos > ] |
4.2.2 Establecer el tamaño del pentagrama
El tamaño de pentagrama predeterminado es de 20 puntos, que corresponde a una altura del pentagrama de 7.03 mm (un punto es 100/7227 de pulgada, o 2540/7227 mm). El tamaño del pentagrama se puede modificar de tres formas:
- Para establecer globalmente el tamaño del pentagrama para todas
las partituras de un archivo (o en un bloque
\book
, para ser exactos), utiliceset-global-staff-size
:#(set-global-staff-size 14)
El ejemplo de arriba establece el tamaño global predeterminado del pentagrama a 14 pt (4.92 mm) y escala todas las tipografías según corresponda.
- Para fijar el tamaño del pentagrama para una sola partitura dentro
de un libro, use
layout-set-staff-size
dentro del bloque\layout
de dicha partitura:\score { … \layout { #(layout-set-staff-size 14) } }
-
Para fijar el tamaño del pentagrama para una sola pauta dentro de
un sistema, use la instrucción
\magnifyStaff
. Por ejemplo, las partituras de música de cámara editadas de la forma tradicional, con piano, usan habitualmente pautas de 7 mm para el piano, mientras que los otros pentagramas suelen estar entre 3/5 y 5/7 de reducción (entre el 60% y el 71%). Para obtener la proporción de 5/7, escriba:\score { << \new Staff \with { \magnifyStaff #5/7 } { … } \new PianoStaff { … } >> }
En caso de que usted sepa qué tamaño de
fontSize
quiere usar, puede emplear la forma siguiente:\score { << \new Staff \with { \magnifyStaff #(magstep -3) } { … } \new PianoStaff { … } >> }
Para imitar la apariencia de las ediciones tradicionales, es mejor evitar reducir el grosor de las líneas del pentagrama.
Peso automático de la tipografía a distintos tamaños
La tipografía Emmentaler ofrece el conjunto de glifos musicales Feta en ocho tamaños distintos, cada uno de ellos ajustado a un tamaño de pentagrama. Cuanto más pequeño es el tamaño de los glifos, más “pesados” se vuelven, de manera que armonicen con las líneas del pentagrama, que son también relativamente más gruesas. Los tamaños de glifo recomendados se relacionan en la tabla siguiente:
nombre de la fuente | altura del pentagrama (pt) | altura del pentagrama (mm) | usos |
feta11 | 11.22 | 3.9 | partituras de bolsillo |
feta13 | 12.60 | 4.4 | |
feta14 | 14.14 | 5.0 | |
feta16 | 15.87 | 5.6 | |
feta18 | 17.82 | 6.3 | cancioneros |
feta20 | 20 | 7.0 | particellas estándar |
feta23 | 22.45 | 7.9 | |
feta26 | 25.2 | 8.9 |
Véase también
Referencia de la notación: Seleccionar el tamaño de la tipografía para la notación, La tipografía Emmentaler.
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Establecer el tamaño del pentagrama ] | [ Up : Problemas de espaciado ] | [ Saltos de línea > ] |
4.3 Saltos
4.3.1 Saltos de línea | ||
4.3.2 Saltos de página |
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Saltos ] | [ Up : Saltos ] | [ Saltos de página > ] |
4.3.1 Saltos de línea
Normalmente los saltos de línea se determinan automáticamente. Se eligen de forma que las líneas no aparezcan demasiado apretadas ni demasiado sueltas, y que las líneas consecutivas tengan una densidad similar.
Para forzar manualmente un salto de línea sobre la línea
divisoria, utilice la instrucción \break
:
\relative c'' { c4 c c c | \break c4 c c c | }
De forma predeterminada se ignora cualquier instrucción
\break
insertada en la mitad de un compás, y se imprime un
mensaje de advertencia durante la compilación del archivo de
entrada de LilyPond. Para forzar un salto de línea en medio de un
compás, añada una línea divisoria invisible con ‘\bar ""’:
\relative c'' { c4 c c \bar "" \break c | c4 c c c | }
También se ignora cualquier instrucción \break
que se
produzca en la línea divisoria si el compás anterior termina en
medio de una nota, como cuando un grupo de valoración especial
comienza en un compás y termina en otro distinto. En este caso,
elimine el grabador Forbid_line_break_engraver
del contexto
Voice
y use una construcción de música simultánea
insertando el break
en el lugar adecuado dentro de la
segunda voz:
\new Voice \with { \remove Forbid_line_break_engraver } \relative { << { c''2. \tuplet 3/2 { c4 c c } c2. | } { s1 | \break s1 | } >> }
De forma similar, el funcionamiento predeterminado es que los
saltos de línea resulten ignorados cuando hay barras de corchea
que cruzan la línea divisoria. Utilice la instrucción
\override Beam.breakable = ##t
para forzar esto:
\relative c'' { \override Beam.breakable = ##t c2. c8[ c | \break c8 c] c2. | }
La instrucción \noBreak
, evita que se produzca
un salto de línea en la barra divisoria en que se inserta.
Dentro de una partitura, se evitan los saltos de línea automáticos
dento de la música que se encuentra entre las instrucciones
\autoLineBreaksOff
y \autoLineBreaksOn
. Si también
se quieren evitar los saltos de página automáticos, deben usarse
las instrucciones \autoBreaksOff
y \autoBreaksOn
.
Los saltos manuales no están afectados por estas instrucciones.
Observe que el hecho de inhibir los saltos de línea automáticos
puede hacer que la música se extienda sobre el margen derecho
cuandoquiera que no cabe completamente dentro de una sola línea.
Los saltos automáticos de línea (no de página) se pueden habilitar
sobre líneas divisorias individuales mediante el uso de
\once \autoLineBreaksOn
en una barra. La instrucción
identifica un salto de línea permitido, en lugar de uno prohibido.
Los ajustes más básicos que influyen sobre el espaciado de las
líneas son indent
y line-width
. Se establecen dentro
del bloque \layout
. Controlan el sangrado de la primera
línea de música, y la longitud de las líneas.
Si se establece ragged-right
a verdadero en el bloque
\layout
, los sistemas terminan en su longitud horizontal
natural, en lugar de distribuirse horizontalmente para llenar toda
la línea. Esto es de utilidad para fragmentos cortos, y para
efectuar una comprobación de lo apretado que es el espaciado
natural.
La opción ragged-last
es similar a ragged-right
,
pero afecta sólo a la última línea de la pieza.
\layout { indent = 0\mm line-width = 150\mm ragged-last = ##t }
Para saltos de línea a intervalos regulares utilice \break
separado mediante desplazamientos con \skip
y repetidos con
\repeat
. Por ejemplo, esto haría que los 28 compases
siguientes (suponiendo un compás de 4/4) se dividan cada cuatro
compases, y sólo en dichos lugares:
<< \repeat unfold 7 { s1 \noBreak s1 \noBreak s1 \noBreak s1 \break } { la música real… } >>
Instrucciones predefinidas
\break
,
\noBreak
,
\autoBreaksOff
,
\autoBreaksOn
,
\autoLineBreaksOff
,
\autoLineBreaksOn
.
Fragmentos de código seleccionados
Using an extra voice for breaks
Often it is easier to manage line and page-breaking information by
keeping it separate from the music by introducing an extra voice
containing only skips along with the \break
, pageBreak
and other layout information.
This pattern becomes especially helpful when overriding
line-break-system-details
and the other useful but long
properties of NonMusicalPaperColumnGrob
.
\paper { tagline = ##f } music = \relative c'' { c4 c c c } \score { \new Staff << \new Voice { s1 * 2 \break s1 * 3 \break s1 * 6 \break s1 * 5 \break } \new Voice { \repeat unfold 2 { \music } \repeat unfold 3 { \music } \repeat unfold 6 { \music } \repeat unfold 5 { \music } } >> }
Véase también
Referencia de la notación:
Variables de \paper
para los saltos de línea,
El bloque \layout
.
Fragmentos de código: Spacing.
Referencia de funcionamiento interno: LineBreakEvent.
Advertencias y problemas conocidos
Si se escribe \autoLineBreaksOff
o \autoBreaksOff
antes de cualquier contenido musical, aparecerán mensajes de
error. Escriba siempre estas instrucciones después de algo de
música.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Saltos de línea ] | [ Up : Saltos ] | [ Saltos de página manuales > ] |
4.3.2 Saltos de página
Esta sección describe los distintos métodos para crear saltos de página, y cómo modificarlos.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Saltos de página ] | [ Up : Saltos de página ] | [ Saltos de página óptimos > ] |
Saltos de página manuales
Se puede sobreescribir el mecanismo predeterminado de salto de
página insertando instrucciones \pageBreak
o
\noPageBreak
. Estas instrucciones son análogas a
\break
y \noBreak
. Se deben insertar en una línea
divisoria. Estas instrucciones fuerzan y prohíben,
respectivamente, la eventualidad de un salto de página en dicha
línea divisoria. Por supuesto, la instrucción \pageBreak
también fuerza un salto de línea.
Las instrucciones \pageBreak
y \noPageBreak
también
se pueden insertar en el nivel más alto, entre las partituras y
los elementos de marcado situados en el nivel superior.
Dentro de una partitura, no se producen saltos de página
automáticos en el interior de la música que se encuentra entre las
instrucciones \autoPageBreaksOff
y
\autoPageBreaksOn
. Los saltos de página manuales no
reultan afectados por estas instrucciones.
Hay ajustes análogos a ragged-right
y ragged-last
que tienen el mismo efecto sobre el espaciado vertical. Si
ragged-bottom
se establece a #t
los sistemas no se
justifican verticalmente. Cuando el valor de
ragged-last-bottom
se fija a #t
, como lo está de
forma predeterminada, se permite una separación al final de la
última página (o la última página de cada uno de las partes de
libro \bookpart
). Véase
Variables de espaciado de \paper
verticales fijas.
Los saltos de página se calculan por medio de la función
page-breaking
. LilyPond ofrece varios algoritmos para el
cómputo de los saltos de página, entre ellos
ly:optimal-breaking
, ly:page-turn-breaking
y
ly:minimal-breaking
. El predeterminado es
ly:optimal-breaking
, pero el valor se puede cambiar en el
bloque \paper
:
\paper { page-breaking = #ly:page-turn-breaking }
Cuando un libro tiene muchas partituras y páginas, puede ser
difícil resolver el problema de los saltos de página, necesitando
mucha memoria y prolongados tiempos de procesamiento. Para
facilitar el proceso de división en páginas, se usan los bloques
\bookpart
para dividir el libro en varias partes: los
saltos de página se producen de manera independiente en cada
parte. También se pueden usar diferentes funciones de división en
páginas para las distintas partes del libro.
\bookpart { \header { subtitle = "Prefacio" } \paper { %% En una parte que consiste en texto principalmente, %% puede ser preferible ly:minimal-breaking page-breaking = #ly:minimal-breaking } \markup { … } … } \bookpart { %% En esta parte, consistente en música, se usa la función %% óptima predeterminada de saltos de página. \header { subtitle = "Primer movimiento" } \score { … } … }
Instrucciones predefinidas
\pageBreak
,
\noPageBreak
,
\autoPageBreaksOn
,
\autoPageBreaksOff
.
Véase también
Referencia de la notación:
Variables de \paper
para los saltos de página.
Fragmentos de código: Spacing.
Advertencias y problemas conocidos
El prefijo \once
no es efectivo con
\autoPageBreaksOn
y \autoPageBreaksOff
. Si se ha
desactivado la división automática de páginas y después se vuelve
a activar para permitir un salto, debe continuar activada durante
algunos compases (cuyo número exacto dependerá de la partitura)
antes de volverse a desactivar, pues en caso contrario podría
perderse la oportunidad de que el salto se produzca.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Saltos de página manuales ] | [ Up : Saltos de página ] | [ Saltos de página mínimos > ] |
Saltos de página óptimos
La función ly:optimal-breaking
es el método predeterminado
de LilyPond para determinar los saltos de página. Intenta hallar
una división de páginas que haga mínimos el apretujamiento y la
distensión, tanto horizontal como verticalmente. A diferencia de
ly:page-turn-breaking
, no tiene un concepto de los pasos de
página.
Véase también
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Saltos de página óptimos ] | [ Up : Saltos de página ] | [ Saltos de página del tipo página única > ] |
Saltos de página mínimos
La función ly:minimal-breaking
efectúa unos cálculos
mínimos para determinar los saltos de página: completa una página
con tantos sistemas como sea posible antes de continuar con la
siguiente. Así, puede preferirse para partituras con muchas
páginas, donde las otras funciones de salto de página pueden
resultar demasiado lentas o ávidas de memoria, o con una gran
cantidad de textos. Se habilita utilizando:
\paper { page-breaking = #ly:minimal-breaking }
Véase también
Snippets: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Saltos de página mínimos ] | [ Up : Saltos de página ] | [ Saltos de página del tipo una-línea > ] |
Saltos de página del tipo página única
La función ly:one-page-breaking
(saltos de página única) es
un algoritmo de saltos de página de proósito especial que ajusta
automáticamente la altura de la página para que quepa toda la
música en una sola página. La variable paper-height
del
bloque paper
se ignora, pero los otros ajustes funcionan de
la manera acostumbrada. Concretamente, el espaciado entre el
último sistema (o elemento de marcado de nivel superior) y el pie
de página se puede personalizar con last-bottom-spacing
dentro del bloque paper
. La anchura de la página se queda
sin alterar por omisión, pero se puede fijar con la variable
paper-width
del bloque paper
.
Advertencias y problemas conocidos
ly:one-page-breaking
no es compatible, de momento, con
\bookpart
.
Saltos de página del tipo una-línea
La función ly:one-line-breaking
es un algoritmo de saltos
de página para uso especial que pone cada partitura en una página
y en una sola línea. Esta función de salto de página no compone
los títulos ni los márgenes; solamente se imprime la partitura.
El ancho de la página se ajusta de forma que la partitura más
larga quepa en una línea. Concretamente, las variables
paper-width
, line-width
y indent
del bloque
\paper
se ignoran, aunque left-margin
y
right-margin
aún se respetan. La altura de la página se
deja sin cambios.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Saltos de página del tipo una-línea ] | [ Up : Saltos de página ] | [ Paso de página óptimo > ] |
Saltos de página del tipo una-línea-altura-automática
La función ly:one-line-auto-height-breaking
funciona igual
que ly:one-line-breaking
excepro que la altura de la página
se modifica automáticamente para hacerse corresponder con la
altura de la música. De forma específica, la variable
paper-height
del bloque \paper
se ajusta de tal
manera que abarca los extremos superior e inferior de la partitura
más alta más los márgenes superior e inferior top-margin
y
bottom-margin
.
Observe que el ajuste top-system-spacing
afecta a la
posición vertical de la música. Fíjelo al valor ##f
dentro
de un bloque paper
para disponer la música sencillamente
entre los márgenes superior e inferior.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Saltos de página del tipo una-línea-altura-automática ] | [ Up : Saltos de página ] | [ Espaciado vertical > ] |
Paso de página óptimo
Con frecuencia es necesario encontrar una configuración de
división de páginas de manera que haya un silencio al final de una
página de cada dos. De esta forma, el músico puede pasar la
página sin perder notas. La función ly:page-turn-breaking
trata de encontrar una división de páginas que haga mínimos el
apretujamiento y el estiramiento, pero con la restricción añadida
de que sólo se permite introducir vueltas de página en los lugares
especificados.
Hay dos etapas en el uso de esta función de división de páginas.
En primer lugar debemos habilitarlo en el bloque \paper
,
como se explicó en Saltos de página. Entonces debemos
decirle a la función dónde nos gustaría permitir los saltos de
página.
Hay dos formas de conseguir la segunda tarea. Primero, podemos
especificar manualmente cada uno de los pasos de página
potenciales, insertando \allowPageTurn
en nuestro archivo
de entrada en los lugares adecuados.
Si esto es demasiado tedioso, podemos añadir un grabador
Page_turn_engraver
a un contexto Staff o Voice. El
grabador Page_turn_engraver
analizará el contexto en busca
de secciones sin notas (observe que no busca silencios, sino la
ausencia de notas. Se hace así para que la polifonía en un solo
pentagrama con silencios en una de las voces no arruine la labor
del grabador Page_turn_engraver
). Cuando encuentra una
sección sin notas suficientemente larga, el grabador
Page_turn_engraver
inserta un \allowPageTurn
en la
última barra de compás de dicha sección, a no ser que haya una
barra ‘especial’ de compás (como una doble barra), en cuyo caso
se insertará el \allowPageTurn
en la última barra
‘especial’ de compás de la sección.
El grabador Page_turn_engraver
lee la propiedad de contexto
minimumPageTurnLength
para determinar qué longitud debe
tener una sección sin notas antes de que se considere la
posibilidad de un paso de página. El valor predeterminado para
minimumPageTurnLength
es (ly:make-moment 1/1)
. Si
quiere inhabilitar las vueltas de página, fíjelo a algún valor
‘muy grande’.
\new Staff \with { \consists Page_turn_engraver } { a4 b c d | R1 | % aquí se permite un salto de página a4 b c d | \set Staff.minimumPageTurnLength = \musicLength 2*5 R1 | % aquí no se permite un salto de página a4 b r2 | R1*2 | % aquí se permite un salto de página a1 }
Al usar repeticiones de primera y segunda vez, el grabador
Page_turn_engraver
solo permite un pase de página durante
la repetición si hay suficiente tiempo al principio y al final de
la repetición para volver a pasar la página hacia atrás. Si la
repetición es demasiado corta, se puede usar el grabador
Page_turn_engraver
para inhabilitar los pasos de
página mediante el establecimiento de un valor adecuado para la
propiedad de contexto minimumRepeatLengthForPageTurn
. En
este caso el grabador Page_turn_engraver
sólo permitirá los
pases de página en las repeticiones cuya duración sea mayor que el
valor especificado.
Las instrucciones de paso de página, \pageTurn
,
\noPageTurn
y \allowPageTurn
, se pueden usar también
en el nivel más elevado del código, dentro de elementos de marcado
del nivel superior y entre las partituras.
Instrucciones predefinidas
\pageTurn
,
\noPageTurn
,
\allowPageTurn
.
Véase también
Referencia de la notación:
Variables de \paper
para los saltos de línea.
Fragmentos de código: Spacing.
Advertencias y problemas conocidos
Utilice un solo grabador Page_turn_engraver
en cada
partitura. Si hay más de uno, se interferirán entre sí.
Véase también
Notation Reference: Espaciado vertical.
Fragmentos de código: Spacing.
4.4 Espaciado vertical
El espaciado vertical está controlado por tres factores: la cantidad de espacio disponible (es decir, el tamaño del papel y los márgenes), la separación entre los sistemas, y la separación entre los pentagramas dentro de un sistema.
4.4.1 Espaciado vertical flexible dentro de los sistemas | ||
4.4.2 Posicionamiento explícito de los pentagramas y los sistemas | ||
4.4.3 Evitar las colisiones verticales |
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Espaciado vertical ] | [ Up : Espaciado vertical ] | [ Propiedades de espaciado dentro de los sistemas > ] |
4.4.1 Espaciado vertical flexible dentro de los sistemas
Tres mecanismos distintos controlan el espaciado vertical flexible dentro de los sistemas, uno por cada una de las categorías siguientes:
- pautas sin agrupar,
- pautas agrupadas (pautas dentro de un grupo de pentagramas como
ChoirStaff
, etc.), y - líneas que no son pautas (como
Lyrics
,ChordNames
, etc.).
La altura de cada sistema se determina en dos fases. Primero, todos los pentagramas se disponen según la cantidad de espacio vacío disponible. Después, las líneas que no son pautas se distribuyen entre las pautas.
Observe que los mecanismos de espaciado estudiados en esta sección
solamente controlan el espaciado vertical de las pautas y líneas
que no son pautas dentro de los sistemas individuales. El
espaciado vertical entre distintos sistemas, partituras, marcados
y márgenes se controla mediante variables de \paper
que se
estudian en
Variables de espaciado de \paper
verticales flexibles.
Propiedades de espaciado dentro de los sistemas | ||
Espaciado de pautas no agrupadas | ||
Espaciado de pautas agrupadas | ||
Espaciado de las líneas que no son pautas |
Propiedades de espaciado dentro de los sistemas
Los mecanismos de espaciado vertical dentro del sistema están
controlados por dos conjuntos de propiedades de grob. El primer
conjunto está asociado con el grob VerticalAxisGroup
, que
se crea por parte de todas las pautas y líneas que no son pautas.
El segundo conjunto está asociado con el grob StaffGrouper
,
que puede crearse por parte de los grupos de pentagramas, pero
solamente si se le llama explícitamente. Estas propiedades se
describen individualmente al final de la presente sección.
Los nombres de estas propiedades (excepto para
staff-affinity
) siguen el formato
elemento1-elemento2-spacing
, donde
elemento1
y elemento2
son los elementos
que se van a espaciar. Observe que elemento2
no está
necesariamente por debajo de elemento1
; por ejemplo,
nonstaff-relatedstaff-spacing
mide hacia arriba a partir de
la línea del tipo no-pauta si staff-affinity
es UP
.
Cada distancia se mide entre los puntos de referencia de
los dos elementos. El punto de referencia para un
pentagrama y otro tipo de pauta es el centro vertical de su
StaffSymbol
(es decir, la línea central si
line-count
es un número impar; el espacio central si
line-count
es par). Los puntos de referencia para las
líneas individuales que no son pautas aparecen en la tabla
siguiente:
Línea que no es una pauta | Punto de referencia |
---|---|
ChordNames | línea de base |
NoteNames | línea de base |
Lyrics | línea de base |
Dynamics | la mitad de la altura de la ‘m’ |
FiguredBass | punto más alto |
FretBoards | línea superior |
En la siguiente imagen, las líneas horizontales indican las posiciones de estos puntos de referencia:
Cada una de las propiedades de grob del espaciado vertical
(excepto staff-affinity
) usa la misma estructura de lista-A
que las variables de espaciado del bloque \paper
que se han
estudiado en
Variables de espaciado de \paper
verticales flexibles.
En Modificación de las listas-A se estudian métodos
específicos para la modificación de las listas-A. Las propiedades
de los grobs deben ajustarse con un \override
dentro de un
bloque \score
o \layout
, y no dentro de un bloque
\paper
.
El ejemplo que sigue muestra las dos maneras en que pueden modificarse estas listas-A. La primera declaración actualiza un par clave-valor de forma individual, y la segunda redefine la propiedad completamente:
\new Staff \with { \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10 } { … } \new Staff \with { \override VerticalAxisGroup.default-staff-staff-spacing = #'((basic-distance . 10) (minimum-distance . 9) (padding . 1) (stretchability . 10)) } { … }
Para modificar globalmente cualquiera de los ajustes de espaciado,
póngalos dentro del bloque \layout
:
\layout { \context { \Staff \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10 } }
Los ajustes estándar para las propiedades de grob del espaciado vertical están relacionadas en VerticalAxisGroup y en StaffGrouper. Las sobreescrituras predeterminadas para los tipos específicos de líneas que no son pautas están relacionadas en las descripciones de contexto correspondientes en Contexts.
Propiedades del grob VerticalAxisGroup
Las propiedades de VerticalAxisGroup
se suelen ajustar con
una instrucción \override
en el nivel de Staff
(o
equivalente).
staff-staff-spacing
Se utiliza para determinar la distancia entre la pauta actual y la pauta que está justo por debajo de ella dentro del mismo sistema, incluso si hay más líneas que no son pautas (tales como
Lyrics
) entre las dos pautas. No se aplica a la pauta inferior de un sistema.Inicialmente, el valor de espaciado
staff-staff-spacing
de un grupoVerticalAxisGroup
es una función de Scheme que aplica las propiedades delStaffGrouper
si la pauta forma parte de un grupo, o eldefault-staff-staff-spacing
de la pauta en caso contrario. Esto hace posible que las pautas estén espaciadas de forma diferente cuando están agrupadas. Para conseguir un espaciado regular sin importar el agrupamiento, esta función se puede sustituir por una lista-A de espaciado flexible, utilizando la forma de sobreescritura de redefinición completa que se ha mostrado más arriba. Si solo se especifican algunos valores en una operación de sobreescritura, los valores que faltan se toman dedefault-staff-staff-spacing
(si tiene valores para ellos).default-staff-staff-spacing
Una lista-A de espaciado flexible que define el espacio
staff-staff-spacing
que se usará para las pautas sin agrupar, a no ser que se haya sobreescrito explícitamentestaff-staff-spacing
con una instrucción\override
.staff-affinity
Dirección de la pauta que utilizar para el espaciado de la línea actual que no es pauta. Se puede elegir entre
UP
(arriba),DOWN
(abajo) yCENTER
(centro). Si esCENTER
, la línea del tipo no-pauta se coloca equidistante entre las dos pautas contiguas a ambos lados, a no ser que lo impidan colisiones u otras restricciones de espaciado. Las líneas del tipo no-pauta adyacentes han de llevar valores destaff-affinity
no crecientes desde la parte superior hasta la inferior, p.ej. una línea del tipo no-pauta establecida aUP
no debería seguir inmediatamente a otra que esté establecida aDOWN
. Las líneas del tipo no-pauta en la parte superior de un sistema deben usarDOWN
; las de la parte inferior deben usarUP
. El ajuste destaff-affinity
para una pauta hace que se le trate como una línea que no es una pauta. El establecimiento destaff-affinity
a#f
para una línea que no es una pauta hace que se trate como una pauta. Establecerstaff-affinity
aUP
,CENTER
, oDOWN
hace que el pentagrama resulte espaciado como si fuera una línea que no es una pauta.nonstaff-relatedstaff-spacing
Distancia entre la línea del tipo no-pauta actual y la pauta más próxima en la dirección de
staff-affinity
, si no hay ninguna línea que no sea una pauta entre las dos, ystaff-affinity
esUP
oDOWN
. Sistaff-affinity
esCENTER
, entonces se usanonstaff-relatedstaff-spacing
para las pautas más próximas a los dos lados, incluso aunque aparezcan otras líneas del tipo no-pauta entre la pauta actual y una de las otras. Esto significa que la colocación de una línea que no es una pauta depende tanto de las pautas que la rodean como de las líneas que no son pautas y que la rodean. Establecer la ampliabilidadstretchability
de uno de estos tipos de espaciado a un valor más pequeño provoca que este espaciado domine. El establecimiento destretchability
a un valor mayor hace que dicho espaciado tenga un menor efecto.nonstaff-nonstaff-spacing
Distancia entre la línea actual del tipo no-pauta y la siguiente línea del tipo no-pauta en la dirección de
staff-affinity
, si las dos están al mismo lado de la pauta relacionada, ystaff-affinity
esUP
oDOWN
.nonstaff-unrelatedstaff-spacing
Distancia entre la línea actual del tipo no-pauta y la pauta en la dirección opuesta de
staff-affinity
, si no hay ninguna otra línea del tipo no-pauta entre las dos, ystaff-affinity
esUP
oDOWN
. Se puede usar, por ejemplo, para requerir una cantidad de relleno mínima entre una línea deLyrics
y la pauta a la que no pertenece.
Propiedades del grob StaffGrouper
Las propiedades de StaffGrouper
se suelen ajustar con una
instrucción \override
en el nivel de StaffGroup
(o
equivalente).
staff-staff-spacing
Distancia entre pautas consecutivas dentro del grupo de pautas actual. La propiedad
staff-staff-spacing
del grobVerticalAxisGroup
de una pauta individual se puede sobreescribir con distintos ajustes de espaciado para dicha pauta.staffgroup-staff-spacing
Distancia entre la última pauta del grupo en curso y la pauta que está justo por debajo de ella dentro del mismo sistema, incluso si existen una o más líneas que no son pautas (tales como
Lyrics
) entre las dos pautas. No se aplica al pentagrama o pauta inferior de un sistema. La propiedadstaff-staff-spacing
del grobVerticalAxisGroup
de una pauta individual se puede sobreescribir con distintos ajustes de espaciado para dicha pauta.
Véase también
Referencia de la notación:
Variables de espaciado de \paper
verticales flexibles,
Modificación de las listas-A.
Archivos de inicio: ly/engraver-init.ly, scm/define-grobs.scm.
Referencia de funcionamiento interno: Contexts, VerticalAxisGroup, StaffGrouper.
Espaciado de pautas no agrupadas
Las pautas, tales como los pentagramas (Staff
),
pautas de percusión (DrumStaff
) o de tablatura
(TabStaff
), etc. son contextos que pueden contener uno o
más contextos de voz, pero no pueden contener otras pautas.
Las siguientes propiedades afectan al espaciado de las pautas no agrupadas:
- Propiedades de
VerticalAxisGroup
:-
default-staff-staff-spacing
-
staff-staff-spacing
-
Estas propiedades de grob se describen individualmente más arriba; véase Propiedades de espaciado dentro de los sistemas.
Están implicadas ciertas propiedades adicionales para las pautas que son parte de un grupo; véase Espaciado de pautas agrupadas.
El ejemplo siguiente muestra cómo la propiedad
default-staff-staff-spacing
puede afectar al espaciado de
pautas no agrupadas. Las mismas sobreescrituras aplicadas a
staff-staff-spacing
tendrían el mismo efecto, pero también
se aplicaría en caso de que las pautas estuvieran combinadas en un
grupo o grupos.
\layout { \context { \Staff \override VerticalAxisGroup.default-staff-staff-spacing = #'((basic-distance . 8) (minimum-distance . 7) (padding . 1)) } } << % The very low note here needs more room than 'basic-distance % can provide, so the distance between this staff and the next % is determined by 'padding. \new Staff { b,2 r | } % Here, 'basic-distance provides enough room, and there is no % need to compress the space (towards 'minimum-distance) to make % room for anything else on the page, so the distance between % this staff and the next is determined by 'basic-distance. \new Staff { \clef bass g2 r | } % By setting 'padding to a negative value, staves can be made to % collide. The lowest acceptable value for 'basic-distance is 0. \new Staff \with { \override VerticalAxisGroup.default-staff-staff-spacing = #'((basic-distance . 3.5) (padding . -10)) } { \clef bass g2 r | } \new Staff { \clef bass g2 r | } >>
Véase también
Archivos de inicio: scm/define-grobs.scm.
Fragmentos de código: Spacing.
Referencia de funcionamiento interno: VerticalAxisGroup.
Espaciado de pautas agrupadas
En partituras grandes como las orquestales, es común colocar los pentagramas en grupos. El espacio entre los grupos suele ser mayor que el espacio que hay entre los pentagramas dentro del mismo grupo.
Los grupos de pautas, Staff-groups (tales como
StaffGroup
, ChoirStaff
, etc.) son contextos que
pueden contener al mismo tiempo uno o más pentagramas o pautas.
Las siguientes propiedades afectan al espaciado de las pautas dentro de los grupos:
- Propiedades de
VerticalAxisGroup
:-
staff-staff-spacing
-
- Propiedades de
StaffGrouper
:-
staff-staff-spacing
-
staffgroup-staff-spacing
-
Estas propiedades de grob se describen individualmente más arriba; véase Propiedades de espaciado dentro de los sistemas.
El ejemplo siguiente muestra cómo pueden afectar las propiedades
del grob StaffGrouper
al espaciado de las pautas agrupadas:
\layout { \context { \Score \override StaffGrouper.staff-staff-spacing.padding = #0 \override StaffGrouper.staff-staff-spacing.basic-distance = #1 } } << \new PianoStaff \with { \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20 } << \new Staff { c'1 } \new Staff { c'1 } >> \new StaffGroup << \new Staff { c'1 } \new Staff { c'1 } >> >>
Véase también
Archivos de inicio: scm/define-grobs.scm.
Fragmentos de código: Spacing.
Referencia de funcionamiento interno: VerticalAxisGroup, StaffGrouper.
Espaciado de las líneas que no son pautas
Las Líneas que no son pautas (tales como Lyrics
,
ChordNames
, etc.) son contextos cuyos objetos de
presentación se imprimen como pentagramas (es decir, en líneas
horizontales dentro de los sistemas). Específicamente, las líneas
que no son pautas son contextos del tipo no-pauta que contienen el
grabador Axis_group_engraver.
Las siguientes propiedades afectan al espaciado de las líneas que no son pautas:
- Propiedades de
VerticalAxisGroup
:-
staff-affinity
-
nonstaff-relatedstaff-spacing
-
nonstaff-nonstaff-spacing
-
nonstaff-unrelatedstaff-spacing
-
Estas propiedades de grob se describen individualmente más arriba; véase Propiedades de espaciado dentro de los sistemas.
El ejemplo siguiente muestra cómo la propiedad
nonstaff-nonstaff-spacing
puede afectar el espaciado de
líneas consecutivas que no son pautas. Aquí, mediante el
establecimiento de la clave de ampliabilidad stretchability
a un valor muy grande, la línea de letra es capaz de ampliarse
mucho más de lo que es usual:
\layout { \context { \Lyrics \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000 } } \new StaffGroup << \new Staff \with { \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30)) } { c'1 } \new Lyrics \with { \override VerticalAxisGroup.staff-affinity = #UP } \lyricmode { up } \new Lyrics \with { \override VerticalAxisGroup.staff-affinity = #CENTER } \lyricmode { center } \new Lyrics \with { \override VerticalAxisGroup.staff-affinity = #DOWN } \lyricmode { down } \new Staff { c'1 } >>
Véase también
Archivos de inicio: ly/engraver-init.ly, scm/define-grobs.scm.
Fragmentos de código: Spacing.
Referencia de funcionamiento interno: Contexts, VerticalAxisGroup.
4.4.2 Posicionamiento explícito de los pentagramas y los sistemas
Una forma de entender los mecanismos del espaciado vertical flexible que se han explicado más arriba es como una colección de ajustes que controlan la cantidad de relleno vertical entre los pentagramas y los sistemas.
Es posible enfrentarse al espaciado vertical de una forma distinta
utilizando NonMusicalPaperColumn.line-break-system-details
.
Mientras que los mecanismos del espaciado vertical flexible
especifican relleno vertical,
NonMusicalPaperColumn.line-break-system-details
puede
especificar posiciones verticales exactas sobre la página.
NonMusicalPaperColumn.line-break-system-details
acepta una
lista asociativa de cuatro ajustes diferentes:
-
X-offset
(desplazamiento en X) -
Y-offset
(desplazamiento en Y) -
extra-offset
(desplazamiento adicional) -
alignment-distances
(distancias de alineación)
Las sobreescrituras de los objetos gráficos, entre ellas las de
NonMusicalPaperColumn
que aparecen más abajo, pueden
ocurrir en tres lugares distintos dentro de un archivo de entrada:
- directamente en medio de las notas
- en un bloque
\context
- en el bloque
\with
Cuando sobreescribimos NonMusicalPaperColumn
, usamos la
instrucción \override
usual en los bloques \context
y en el bloque \with
. Por otra parte, cuando
sobreescribimos NonMusicalPaperColumn
en medio de las
notas, debemos usar la instrucción especial
\overrideProperty
. He aquí algunas sobreescrituras de
NonMusicalPaperColumn
de ejemplo con la instrucción
especial \overrideProperty
:
\overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20)) \overrideProperty NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40)) \overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20) (Y-offset . 40)) \overrideProperty NonMusicalPaperColumn.line-break-system-details #'((alignment-distances . (15))) \overrideProperty NonMusicalPaperColumn.line-break-system-details #'((X-offset . 20) (Y-offset . 40) (alignment-distances . (15)))
Para entender cómo funciona cada uno de los distintos ajustes, empezamos observando un ejemplo que no incluye absolutamente ninguna sobreescritura.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { s1*5 \break s1*5 \break s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }
Esta partitura mantiene aislada tanto la información de los saltos de línea como los de página en una voz dedicada a ello. Esta técnica de crear una voz de saltos ayuda a mantener separada de la escritura de notas conforme el ejemplo se vuelve más complicado. Consulte Saltos.
Utilizando instrucciones \break
explícitas, la música se
divide líneas de cinco compases cada una. El espaciado vertical
proviene de los ajustes predeterminados de LilyPond pero el punto
de origen vertical de cada sistema se fija explícitamente usando
el par Y-offset
en el atributo
line-break-system-details
del grob (objeto gráfico)
NonMusicalPaperColumn
:
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0)) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 40)) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60)) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }
Observe que line-break-system-details
toma una lista
asociativa de una cantidad de valores potencialmente elevada, pero
aquí sólo fijamos un valor. Observe también que aquí la propiedad
Y-offset
determina la posición vertical exacta sobre la
página en la que se trazará cada uno de los nuevos sistemas.
En contraste con el posicionado absoluto que está disponible a
través de Y-offset
y de X-offset
, es posible un
posicionamiento relativo con la propiedad extra-offset
de
line-break-system-details
. La colocación es relativa a la
disposición predeterminada o al posicionamiento absoluto creado
mediante el establecimiento de los valores de X-offset
y de
Y-offset
. La propiedad extra-offset
acepta una
pareja de números (un pair
) que consiste en desplazamientos
a lo largo de los ejes X e Y.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((extra-offset . (0 . 10))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((extra-offset . (0 . 10))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }
Ahora que hemos establecido explícitamente el punto de origen
vertical de cada sistema, podemos también establecer manualmente
las distancias verticales entre los pentagramas dentro de cada
sistema. Lo hacemos usando la subpropiedad
alignment-distances
de line-break-system-details
.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 20) (alignment-distances . (10))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60) (alignment-distances . (15))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 85) (alignment-distances . (20))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }
Observe que aquí asignamos dos valores distintos al atributo
line-break-system-details
del grob
NonMusicalPaperColumn
. Aunque el atributo alist de
line-break-system-details
acepta muchos parámetros de
espaciado adicionales (entre ellos, por ejemplo, un par
X-offset
correspondiente), sólo tenemos que establecer el
desplazamiento Y-offset
y los pares
alignment-distances
para controlar el punto de origen
vertical de cada sistema y pentagrama. Finalmente, observe que
alignment-distances
especifica el posicionamiento vertical
de los pentagramas pero no de los grupos de pentagramas.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 0) (alignment-distances . (30 10))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 60) (alignment-distances . (10 10))) s1*5 \break \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #'((Y-offset . 100) (alignment-distances . (10 30))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new StaffGroup << \new Staff { \repeat unfold 15 { d'4 d' d' d' } } \new Staff { \repeat unfold 15 { e'4 e' e' e' } } >> >> } }
Algunos puntos que tener en cuenta:
- Al usar
alignment-distances
, la letra y otras líneas que no son pautas, no cuentan como un pentagrama. - Las unidades de los números que se pasan a
X-offset
,Y-offset
,extra-offset
yalignment-distances
se interpretan como múltiplos de la distancia entre líneas de pentagrama adyacentes. Los valores positivos mueven a los pentagramas y a la letra hacia arriba, los valores negativos mueven los pentagramas y la letra hacia abajo. - A causa de que los ajustes a
NonMusicalPaperColumn.line-break-system-details
dados aquí permiten el posicionamiento de pentagramas y sistemas en cualquier lugar de la página, es posible violar los márgenes o los límites del papel, o incluso imprimir pentagramas o sistemas unos encima de otros. Esto se evitaría pasando a los diferentes ajustes unos valores razonables.
Véase también
Fragmentos de código: Spacing.
4.4.3 Evitar las colisiones verticales
Podemos decir intuitivamente que algunos objetos de la notación musical pertenecen al pentagrama y otros se sitúan fuera del pentagrama. Entre los objetos que pertenecen al exterior del pentagrama están las marcas de ensayo, las marcas textuales y las indicaciones de dinámica (en lo sucesivo, les llamaremos objetos fuera del pentagrama). La regla de LilyPond para la colocación vertical de los objetos fuera del pentagrama es ponerlos tan cerca del pentagrama como sea posible pero no tan próximos como para que choquen con otro objeto.
LilyPond utiliza la propiedad outside-staff-priority
para
determinar si un grob es un objeto fuera del pentagrama: si
outside-staff-priority
es un número, el grob es un objeto
fuera del pentagrama. Además, outside-staff-priority
informa a LilyPond en qué orden se debe situar los objetos.
En primer lugar, LilyPond sitúa todos los objetos que no
pertenecen al exterior del pentagrama. Después ordena los objetos
fuera del pentagrama de acuerdo a su prioridad
outside-staff-priority
(en orden creciente). LilyPond toma
los objetos fuera del pentagrama uno a uno y los coloca de forma
que no choquen con ningún objeto que ya haya sido colocado. Esto
es, si dos grobs fuera del pentagrama compiten por el mismo
espacio, el que tiene la prioridad outside-staff-priority
más baja se colocará más próximo al pentagrama.
Hay un listado completo de las prioridades outside-staff-priorities en La propiedad outside-staff-priority (prioridad fuera del pentagrama).
\relative c'' { c4_"Text"\pp r2. \once \override TextScript.outside-staff-priority = #1 c4_"Text"\pp % this time the text will be closer to the staff r2. % by setting outside-staff-priority to a non-number, % we disable the automatic collision avoidance \once \override TextScript.outside-staff-priority = ##f \once \override DynamicLineSpanner.outside-staff-priority = ##f c4_"Text"\pp % now they will collide }
El relleno vertical que rodea a los objetos fuera del pentagrama
se puede controlar con outside-staff-padding
.
\relative { \once \override TextScript.outside-staff-padding = #0 a'4-"outside-staff-padding = #0" \once \override TextScript.outside-staff-padding = #3 d-"outside-staff-padding = #3" c-"default outside-staff-padding" b-"default outside-staff-padding" R1 }
De forma predeterminada, los objetos fuera del pentagrama se
colocan de forma que eviten una colisión horizontal con los grobs
posicionados previamente. Esto puede llevar a situaciones en las
que los objetos se colocan muy próximos entre sí en el sentido
horizontal. Como se muestra en el ejemplo que aparece más abajo,
al establecer outside-staff-horizontal-padding
se
incrementa el espacio horicontal necesario, y en este caso mueve
el texto hacia arriba para evitar que quede demasiado cerca de las
líneas adicionales.
\relative { c''4^"Word" c c''2 R1 \once \override TextScript.outside-staff-horizontal-padding = #1 c,,4^"Word" c c''2 }
Véase también
Fragmentos de código: Spacing.
4.5 Espaciado horizontal
4.5.1 Panorámica del espaciado horizontal | ||
4.5.2 Sección de espaciado nueva | ||
4.5.3 Cambiar el espaciado horizontal | ||
4.5.4 Longitud de la línea | ||
4.5.5 Notación proporcional |
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Espaciado horizontal ] | [ Up : Espaciado horizontal ] | [ Sección de espaciado nueva > ] |
4.5.1 Panorámica del espaciado horizontal
El motor de espaciado traduce las diferencias en las duraciones a
distancias ampliables (‘muelles’) de distintas longitudes. Las
duraciones más largas reciben un espacio mayor y las duraciones
más cortas reciben menos. Las duraciones más breves reciben un
espacio de tamaño fijo (que se controla mediante
shortest-duration-space
en el objeto
SpacingSpanner). Cuanto más larga es la duración,
más espacio recibe: al doblar una duración se suma
spacing-increment
al espacio que ocupa la nota.
Por ejemplo, la pieza siguiente contiene numerosas blancas, negras y corcheas; la corchea va seguida de un ancho de cabeza de blanca (ACB). La negra va seguida de 2 ACB, la blanca por 3 ACB, etc.
\relative c' { c2 c4. c8 c4. c8 c4. c8 c8 c c4 c c }
Normalmente, el valor de spacing-increment
está establecido
en 1.2 espacios de pentagrama, lo que es aproximadamente el ancho
de una cabeza, y shortest-duration-space
está establecido
en 2.0, lo que significa que la nota más breve recibe 2.4 espacios
de pentagrama (2.0 multiplicado por el spacing-increment
)
de espacio horizontal. Este espacio se cuenta a partir del borde
izquierdo del símbolo, de manera que las notas más breves van
seguidas generalmente por un espacio de 1 ACB.
Si siguiésemos el procedimiento anterior exactamente, entonces la adición de una sola fusa a una partitura que usa corcheas y semicorcheas, aumentaría enormemente la anchura de la partitura completa. La nota más breve ya no es la semicorchea, sino la fusa, añadiendo así 1 ACB a cada una de las notas. Para evitarlo, la duración más breve a efectos de espaciado no es la nota más breve de la partitura, sino la que ocurre con más frecuencia.
La duración más breve que es más común se determina de la
siguiente manera: en cada compás se determina la duración más
breve. La menor duración más común se toma como base para el
espaciado, habiendo estipulado que esta duración menor siempre
debe ser igual o menor que una corchea. La duración más breve se
imprime cuando se ejecuta lilypond
con la opción
--verbose.
Estas duraciones también se pueden personalizar. Si establecemos
la common-shortest-duration
en SpacingSpanner,
entonces éste establece la duración base para el espaciado. La
duración máxima para esta base (normalmente una corchea), se fija
a través de base-shortest-duration
.
Las notas que son aún más breves que la nota común más breve van seguidas por un espacio proporcional a su duración en relación con la nota común más breve. Así pues, si fuésemos a añadir tan sólo algunas semicorcheas al ejemplo anterior, irían seguidas por medio ACB:
\relative { c''2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c }
Como se explicó en el Ensayo sobre grabado musical
automatizado, las direcciones de las plicas influyen en el
espaciado (véase Espaciado óptico) y se puede ajustar con
la propiedad stem-spacing-correction
del objeto
NoteSpacing. Estos se generan para cada uno de los
contextos de Voice.
El objeto StaffSpacing
(generado en el contexto de
Staff) contiene la misma propiedad para controlar el
espaciado de las líneas de plica o divisorias.
El ejemplo siguiente muestra estas correcciones, una vez con los valores predeterminados y otra con un ajuste exagerado:
Está contemplada la notación proporcional; consulte Notación proporcional.
Véase también
Ensayo sobre grabado musical automatizado: Espaciado óptico.
Fragmentos de código: Spacing.
Referencia de funcionamiento interno: SpacingSpanner, NoteSpacing, StaffSpacing, NonMusicalPaperColumn.
Advertencias y problemas conocidos
No existe ningún mecanismo conveniente para sobreescribir el espaciado manualmente. Se puede usar el siguiente rodeo para insertar espacio adicional en una partitura, ajustando el valor del relleno en la medida necesaria.
\override Score.NonMusicalPaperColumn.padding = #10
No existe ningún rodeo para disminuir la magnitud de la separación.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Panorámica del espaciado horizontal ] | [ Up : Espaciado horizontal ] | [ Cambiar el espaciado horizontal > ] |
4.5.2 Sección de espaciado nueva
Se pueden iniciar secciones nuevas con diferentes parámetros de
espaciado, con la instrucción newSpacingSection
. Esto es
útil para las secciones que tienen distinta noción de las notas
‘largas’ y ‘cortas’. La instrucción \newSpacingSection
crea un nuevo objeto SpacingSpanner
en ese momento musical.
En el ejemplo siguiente, el cambio de compás introduce una sección nueva, y por ello las semicorcheas se separan automáticamente de manera ligeramente más amplia.
\relative c' { \time 2/4 c4 c8 c c8 c c4 c16[ c c8] c4 \newSpacingSection \time 4/16 c16[ c c8] }
Si los ajustes de espaciado automáticos no dan el espaciado
deseado, pueden aplicarse sobreescrituras manuales a sus
propiedades con \override
. Las sobreescrituras se deben
aplicar en el mismo momento musical que la propia instrucción
\newSpacingSection
y afectarán entonces al espaciado de
toda la música que venga a continuación hasta que las propiedades
se cambien en una nueva sección de espaciado, por ejemplo:
\relative c' { \time 4/16 c16[ c c8] \newSpacingSection \override Score.SpacingSpanner.spacing-increment = #2 c16[ c c8] \newSpacingSection \revert Score.SpacingSpanner.spacing-increment c16[ c c8] }
Véase también
Fragmentos de código: Spacing.
Referencia de funcionamiento interno: SpacingSpanner.
4.5.3 Cambiar el espaciado horizontal
Estiramiento uniforme de los grupos especiales | ||
Espaciado estricto de las notas |
Se puede alterar el espaciado horizontal con la propiedad
base-shortest-duration
. Aquí compararemos la misma música,
una vez sin alterar la propiedad, y luego alterándola. Los
valores mayores de ly:make-moment
producen música más
pequeña. Observe que ly:make-moment
construye una
duración, por lo que 1 4
es una duración mayor que 1
16
.
\score { \relative { g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | f4 d d2 | c4 e g g | c,1 | d4 d d d | d4 e f2 | e4 e e e | e4 f g2 | g4 e e2 | f4 d d2 | c4 e g g | c,1 | } }
\score { \relative { g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | f4 d d2 | c4 e g g | c,1 | d4 d d d | d4 e f2 | e4 e e e | e4 f g2 | g4 e e2 | f4 d d2 | c4 e g g | c,1 | } \layout { \context { \Score \override SpacingSpanner.base-shortest-duration = \musicLength 16 } } }
Estiramiento uniforme de los grupos especiales
De forma predeterminada, el espaciado en los grupos de valoración
especial depende de varios factores ajenos a la duración (como
alteraciones, cambios de clave, etc.). Para pasar por alto estos
símbolos y forzar un espaciado de duraciones iguales uniforme, use
Score.SpacingSpanner.uniform-stretching
. Esta propiedad
sólo puede cambiarse al principio de la partitura:
\score { << \new Staff \relative c' { \tuplet 5/4 { c8 c c c c } c8 c c c } \new Staff \relative c' { c8 c c c \tuplet 5/4 { c8 c c c c } } >> \layout { \context { \Score \override SpacingSpanner.uniform-stretching = ##t } } }
Espaciado estricto de las notas
Cuando se establece strict-note-spacing
, las notas se
separan sin tener en cuenta las claves, líneas divisorias ni notas
de adorno:
\override Score.SpacingSpanner.strict-note-spacing = ##t \new Staff \relative { c''8[ c \clef alto c \grace { c16 c } c8 c c] c32[ c] }
Véase también
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Espaciado estricto de las notas ] | [ Up : Espaciado horizontal ] | [ Notación proporcional > ] |
4.5.4 Longitud de la línea
Los ajustes más básicos que influyen en el espaciado son
indent
y line-width
. Se definen en el bloque
\layout
. Controlan el sangrado de la primera línea de
música y la longitud de las líneas.
Si se fija un valor verdadero para ragged-right
en el
bloque \layout
, entonces los sistemas terminan en su
longitud horizontal natural, en lugar de repartirse
horizontalmente hasta llenar toda la línea. Esto es útil para
fragmentos cortos, y para comprobar qué tan apretado es el
espaciado natural. El valor normal predeterminado es falso, pero
si la partitura tiene un solo sistema, el valor predeterminado es
verdadero.
La opción ragged-last
es similar a ragged-right
,
pero afecta sólo a la última línea de la pieza. No se efectúa
ninguna restricción sobre dicha línea. El resultado es similar al
formateo de los párrafos de texto. En un párrafo, la última línea
sencillamente ocupa su longitud horizontal natural.
\layout { indent = #0 line-width = #150 ragged-last = ##t }
Véase también
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Longitud de la línea ] | [ Up : Espaciado horizontal ] | [ Encajar la música en menos páginas > ] |
4.5.5 Notación proporcional
LilyPond contempla la notación proporcional, un tipo de espaciado horizontal en el que cada nota consume una medida horizontal que equivale exactamente a su duración rítmica. Este tipo de espaciado proporcional es comparable al espaciado horizontal hecho sobre un papel milimetrado. Ciertas partituras del finales del s.XX y principios del s.XXI utilizan notación proporcional para clarificar relaciones rítmicas complejas o para facilitar la colocación de líneas cronométricas u otros gráficos directamente en la partitura.
LilyPond contempla cinco ajustes distintos para la notación proporcional, que se pueden usar solos o combinados:
-
proportionalNotationDuration
-
uniform-stretching
-
strict-note-spacing
-
\remove Separating_line_group_engraver
-
\override PaperColumn.used = ##t
En los ejemplos que siguen, exploramos el uso de estos cinco ajustes de la notación proporcional y examinamos la forma en que interactúan.
Comenzamos con el siguiente ejemplo de un solo compás, que usa un espaciado clásico sin justificación por la derecha.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> }
Observe que la blanca que inicia el compás ocupa mucho menos de la mitad de todo el espacio horizontal del compás. De forma similar, las semicorcheas y el cinquillo de semicorcheas con que finaliza el compás ocupan en conjunto mucho más de la mitad de todo el espacio horizontal del compás.
En el grabado clásico, este espaciado puede ser exactamente el que deseamos porque podemos tomar prestado el espacio horizontal de la blanca y conservar el espacio horizontal a lo largo del compás como un todo.
Por otro lado, si queremos insertar una línea de tiempo graduada o
algún otro gráfico encima o debajo de la partitura, necesitamos la
notación proporcional. Se activa la notación proporcional con el
ajuste proportionalNotationDuration
.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> \layout { \context { \Score proportionalNotationDuration = \musicLength 1*1/20 } } }
La blanca al principio del compás y las notas rápidas de la segunda mitad del compás ocupan ahora cantidades iguales de espacio horizontal. Podríamos colocar una línea de tiempo graduada o un gráfico encima o debajo de este ejemplo.
El ajuste proportionalNotationDuration
es un ajuste de
contexto que reside en Score
. Recordemos que los ajustes
de contexto aparecen en uno de tres posibles lugares del archivo
de entrada: en un bloque \with
, en un bloque
\context
, o directamente entre la música precedido por la
instrucción \set
. Como con todos los ajustes de contexto,
el usuario puede elegir en cuál de los tres lugares diferentes
prefiere establecer el valor de
proportionalNotationDuration
.
El ajuste proportionalNotationDuration
acepta un solo
argumento, que es la duración de referencia contra el que se
aplica el espaciado de toda la música. La función Scheme de
LilyPond make-moment
acepta dos argumentos: un numerador y
un denominador que, juntos, expresan una cierta fracción de
redonda. La llamada (ly:make-moment 1/20)
, por tanto,
produce una duración de referencia de una nota de un veinteavo de
redonda (semicorcheas de cinquillo). Son también posibles valores
como (ly:make-moment 1/16)
, (ly:make-moment 1/8)
y
(ly:make-moment 3/97)
.
¿Cómo seleccionamos la duración correcta de referencia para
pasarla a proportionalNotationDuration
? Normalmente
mediante un proceso de ensayo y error, comenzando con una duración
cercana a la más rápida (o más breve) duración de la pieza. Las
duraciones de referencia más pequeñas aplican un espaciado más
suelto; las duraciones de referencia más largas aplican un
espaciado más apretado.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> \layout { \context { \Score proportionalNotationDuration = \musicLength 8 } } } \score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> \layout { \context { \Score proportionalNotationDuration = \musicLength 16 } } } \score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } >> \layout { \context { \Score proportionalNotationDuration = \musicLength 32 } } }
Observe que una duración de referencia demasiado grande (como la corchea, en el ejemplo de arriba) produce un espaciado excesivamente apretado y puede ser causa de colisiones entre las cabezas de nota. Observe también que la notación proporcional en general ocupa más espacio horizontal que el espaciado clásico. El espaciado proporcional aporta claridad rítmica a expensas del espacio horizontal.
Ahora veremos cómo espaciar de forma óptima grupos de valoración especial que se superponen.
Empezamos por examinar qué le ocurre a nuestro ejemplo original, con espaciado clásico, cuando añadimos un segundo pentagrama con un tipo diferente de grupo especial.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } \new RhythmicStaff { \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 } } >> }
El espaciado es defectuoso porque las notas regularmente
espaciadas del pentagrama inferior no se amplían de manera
uniforme. Los grabados clásicos incluyen muy pocos tresillos
complejos y así las reglas del grabado clásico pueden generar este
tipo de resultado. El establecimiento de
proportionalNotationDuration
lo soluciona.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } \new RhythmicStaff { \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 } } >> \layout { \context { \Score proportionalNotationDuration = \musicLength 1*1/20 } } }
Pero si observamos con mucho cuidado podremos ver que las notas de
la segunda mitad del 9-illo están espaciadas de forma ligeramente
más ancha que las de la primera mitad del 9-illo. Para asegurar
una ampliación uniforme, activamos uniform-stretching
, que
es una propiedad de SpacingSpanner
.
\score { << \new RhythmicStaff { c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 } } \new RhythmicStaff { \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 } } >> \layout { \context { \Score proportionalNotationDuration = \musicLength 1*1/20 \override SpacingSpanner.uniform-stretching = ##t } } }
Nuestro ejemplo de dos pentagramas ahora está espaciado exactamente, nuestras relaciones rítmicas son visualmente claras, y podemos incluir una línea de tiempo graduada o un gráfico, si queremos.
Observe que el paquete de notación proporcional de LilyPond espera
que todas las partituras proporcionales establezcan el atributo
uniform-stretching
de SpacingSpanner
al valor ##t.
El establecimiento de proportionalNotationDuration
sin
ajustar también el atributo uniform-stretching
de
SpacingSpanner
al valor ##t causará, por ejemplo, que los
desplazamientos (skips
) consuman una cantidad de espacio
horizontal incorrecta.
El SpacingSpanner
es un grob abstracto que reside en el
contexto de Score
. Como con nuestros ajustes de
proportionalNotationDuration
, las sobreescrituras al
SpacingSpanner
sólo pueden ocurrir en uno de estos tres
lugares dentro del archivo de entrada: en el bloque \with
,
en el bloque \context
o directamente dentro de la escritura
de notas.
De manera predeterminada, sólo hay un SpacingSpanner
por
Score
. Esto supone que, por omisión,
uniform-stretching
está activado para la partitura completa
o desactivado para la partitura completa. Sin embargo, podemos
sobreescribir este comportamiento y activar distintas
posibilidades de espaciado en distintos lugares de la partitura.
Lo hacemos con la instrucción \newSpacingSection
. Consulte
Sección de espaciado nueva para más información.
A continuación examinamos los efectos del grabador
Separating_line_group_engraver
y veremos por qué las
partituras proporcionales con frecuencia eliminan este grabador.
El ejemplo siguiente muestra que hay una pequeña cantidad de
espacio “preliminar” justo antes de la primera nota de cada
sistema.
\paper { indent = #0 } \new Staff { c'1 \break c'1 }
Esta cantidad de espacio preliminar es la misma ya sea después de
una indicación de compás, una armadura o una clave. El grabador
Separating_line_group_engraver
es responsable de este
espacio. La eliminación de Separating_line_group_engraver
reduce este espacio a cero.
\paper { indent = #0 } \new Staff \with { \remove Separating_line_group_engraver } { c'1 \break c'1 }
Los elementos no musicales como la indicación de compás, la armadura, la clave y las alteraciones son problemáticos en notación proporcional. Ninguno de estos elementos tiene duración rítmica. Pero todos ellos consumen espacio horizontal. Las distintas partituras proporcionales abordan este problema de distinta manera.
Sería posible evitar los problemas de espaciado con las armaduras, simplemente evitando tenerlas. Esta es una opción válida pues casi todas las partituras proporcionales son música contemporánea. Lo mismo puede valer para las indicaciones de compás, especialmente para las partituras que incluyen una línea de tiempo graduada u otro gráfico. Pero estas partituras son excepcionales y casi todas las partituras proporcionales incluyen al menos unas pocas indicaciones de compás. Las claves y las alteraciones son aún más esenciales.
Así pues ¿qué estrategias existen para el espaciado de los
elementos no musicales en un contexto proporcional? Una buena
opción es la propiedad strict-note-spacing
de
SpacingSpanner
. Compare las dos partituras siguientes:
\new Staff { \set Score.proportionalNotationDuration = \musicLength 16 c''8 8 8 \clef alto d'2 2 } \new Staff { \set Score.proportionalNotationDuration = \musicLength 16 \override Score.SpacingSpanner.strict-note-spacing = ##t c''8 8 8 \clef alto d'2 2 }
Las dos partituras son proporcionales, pero el espaciado de la
primera es muy suelto a causa del cambio de clave. Sin embargo, el
espaciado de la segunda partitura se mantiene estricto, porque
strict-note-spacing
está activado. La activación de
strict-note-spacing
hace que el ancho de las indicaciones
de compás, armaduras, cambios de clave y alteraciones no tomen
parte en el algoritmo de espaciado.
Además de los ajustes dados aquí, hay otros que aparecen con frecuencia en las partituras proporcionales. Entre ellos están:
-
\override SpacingSpanner.strict-grace-spacing = ##t
-
\set tupletFullLength = ##t
-
\override Beam.breakable = ##t
-
\override Glissando.breakable = ##t
-
\override TextSpanner.breakable = ##t
-
\remove Forbid_line_break_engraver in the Voice context
Estos ajustes dan a las notas de adorno un espaciado estricto, extienden los corchetes de grupo especial para que marquen tanto los puntos de comienzo como de final, y permiten que los elementos de extensión se dividan entre los sistemas y las páginas. Consulte las partes respectivas del manual para ver estos ajustes relacionados.
Véase también
Referencia de la notación: Sección de espaciado nueva.
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Notación proporcional ] | [ Up : Problemas de espaciado ] | [ Mostrar el espaciado > ] |
4.6 Encajar la música en menos páginas
En ocasiones, podemos terminar con uno o dos pentagramas en una segunda página (o tercera, o cuarta…). Es fastidioso, especialmente cuando vemos que las páginas anteriores parecen tener espacio de sobra.
Al investigar los problemas de disposición, una herramienta de
valor incalculable es annotate-spacing
. Esta instrucción
imprime los valores de un cierto número de variables de espaciado;
para ver más detalles consulte la sección siguiente,
Mostrar el espaciado.
4.6.1 Mostrar el espaciado | ||
4.6.2 Cambiar el espaciado |
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Encajar la música en menos páginas ] | [ Up : Encajar la música en menos páginas ] | [ Cambiar el espaciado > ] |
4.6.1 Mostrar el espaciado
Para presentar gráficamente las dimensiones de las variables de
disposición vertical que pueden verse alteradas por el formato de
la página, establezca annotate-spacing
en el bloque
\paper
:
\book { \score { { c4 } } \paper { annotate-spacing = ##t } }
Todas las dimensiones de disposición se muestran en espacios de
pentagrama, independientemente de las unidades especificadas en
los bloques \paper
o \layout
. En el ejemplo
anterior, paper-height
tiene un valor de 59.75
staff-spaces
(espacios de pentagrama), y el
staff-size
(tamaño del pentagrama) es de 20 puntos, el
valor predeterminado. Observe que:
1 punto | = (25.4/72.27) mm |
1 staff-space | = (staff-size )/4 pts |
= (staff-size )/4 * (25.4/72.27) mm |
En este caso, un staff-space
equivale aproximadamente a
1.757mm. Así, la medida paper-height
de 59.75
staff-spaces
equivale a 105 milímetros, la altura de una
hoja a6
en orientación apaisada. Las parejas
(a,b) son intervalos, donde a es el límite
inferior y b es el límite superior del intervalo.
Véase también
Referencia de la notación: Establecer el tamaño del pentagrama.
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Cambiar los valores por omisión >> ] |
[ < Mostrar el espaciado ] | [ Up : Encajar la música en menos páginas ] | [ Cambiar los valores por omisión > ] |
4.6.2 Cambiar el espaciado
La salida de annotate-spacing
revela las dimensiones
verticales con gran detalle. Para ver más detalles acerca de la
modificación de los márgenes y otras variables de diseño de la
página, consulte Disposición de la página.
Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:
- Forzar los sistemas para que se junten lo más posible entre sí (de
forma que quepan la mayor cantidad de ellos en la página) y al
mismo tiempo estén espaciados de forma que no exista un espacio
vacío en la parte baja del papel.
\paper { system-system-spacing = #'((basic-distance . 0.1) (padding . 0)) ragged-last-bottom = ##f ragged-bottom = ##f }
- Forzar el número de sistemas. Puede ser de utilidad de dos
formas. Si tan sólo se establece un valor, incluso el mismo valor
que el número de sistemas que se están trazando de forma
predeterminada, ello ocasionará a veces que se traten de
introducir más sistemas en cada página, pues en este caso se omite
un paso en que se produce una estimación, dando así un encaje
mejor en cada página. Asimismo, el forzar una reducción neta en
el número de sistemas puede producir el ahorro de una página
adicional. Por ejemplo, si la disposición predeterminada tiene 11
sistemas, la asignación siguiente fuerza una disposición con 10
sistemas.
\paper { system-count = #10 }
- Forzar el número de páginas. Por ejemplo, la asignación siguiente
fuerza una disposición con dos páginas.
\paper { page-count = #2 }
- Evitar (o reducir en número) los objetos que aumentan el tamaño
vertical de un sistema. Por ejemplo, los corchetes de las
repeticiones de primera y segunda vez (o repeticiones con finales
alternativos) necesitan espacio adicional. Si estas casillas se
reparten a lo largo de dos sistemas, ocupan más espacio que si
estuvieran sobre el mismo sistema. Como otro ejemplo, las
indicaciones dinámicas que se ‘salen’ de un sistema se pueden
acercar al pentagrama:
\relative e' { e4 c g\f c e4 c g-\tweak X-offset #-2.7 \f c }
- Alterar el espaciado horizontal por medio de
SpacingSpanner
. Para ver más detalles, consulte Cambiar el espaciado horizontal. El ejemplo siguiente ilustra el espaciado predeterminado:\score { \relative { g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | } }
El ejemplo siguiente modifica
common-shortest-duration
de un valor de1/4
(negra) a1/2
(blanca). La negra es la nota más común y la más breve del ejemplo, por lo que al agrandar esta duración se produce un efecto de ‘apretujamiento’:\score { \relative { g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | } \layout { \context { \Score \override SpacingSpanner.common-shortest-duration = \musicLength 2 } } }
La propiedad
common-shortest-duration
no se puede modificar de manera dinámica, por lo que se debe situar siempre dentro de un bloque\context
de forma que se aplique a la partitura completa.
Véase también
Referencia de la notación: Disposición de la página, Cambiar el espaciado horizontal.
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Cambiar el espaciado ] | [ Up : Top ] | [ Contextos de interpretación > ] |
5 Cambiar los valores por omisión
El objetivo del diseño de LilyPond es proporcionar la más alta calidad de los resultados, de forma predeterminada. A pesar de ello, podría tener que cambiar este resultado predeterminado. La disposición sobre el papel se controla a través de un amplio número de ‘botones e interruptores’ llamados en su conjunto ‘propiedades’. En el Manual de aprendizaje podemos encontrar una introducción en forma de tutorial al acceso y modificación de estas propiedades, véase Trucar la salida. Éste debería leerse en primer lugar. Este capítulo cubre un terreno similar, pero con un estilo más adecuado para un manual de referencia.
La descripción definitiva de los controles que están disponibles para su ajuste fino están en un documento aparte: la Referencia de funcionamiento interno. Dicho manual relaciona todas las variables, funciones y opciones que se encuentran disponibles en LilyPond. Está escrito como un documento HTML, que se puede encontrar en línea, pero que también va incluido en el paquete de la documentación de LilyPond.
Internamente, LilyPond utiliza el lenguaje Scheme (un dialecto de
LISP) para aportar la infraestructura. La sobreescritura de las
decisiones de disposición da acceso efectivo a las interioridades
del programa, lo que requiere código de Scheme como entrada. Los
elementos de Scheme se inauguran dentro de un archivo .ly
con el símbolo de
cuadradillo #
.1
5.1 Contextos de interpretación
Esta sección explica qué son los contextos y cómo modificarlos.
Véase también
Manual de aprendizaje: Contextos y grabadores.
Archivos de inicio: ly/engraver-init.ly, ly/performer-init.ly.
Fragmentos de código: Contexts and engravers.
Referencia de funcionamiento interno: Contexts, Engravers and Performers.
5.1.1 Explicación de los contextos
Los contextos se disponen de forma jerárquica:
Definiciones de salida - estructura de los contextos
Esta sección explica la relevancia de las definiciones de salida cuando se trabaja con los contextos. Más adelante ofrecemos ejemplos de definiciones de salida reales (véase Cambiar todos los contextos del mismo tipo).
Aunque la música escrita en un archivo haga referencia a tipos y
nombres de contexto, los contextos se crean solamente cuando la
música se está realmente interpretando. LilyPond interpreta la
música bajo el control de una ‘definición de salida’ y puede
hacerlo así para varias definiciones de salida distintas, dando
como resultado distintas salidas también. La definicion de salida
que corresponde a la impresión de la música se especifica mediante
\layout
.
Una definición de salida mucho más sencilla que se usa para la
producción de MIDI se especifica mediante \midi
.
Internamente, LilyPond utiliza varias otras definiciones de
salida, como cuando se usa el combinador de particellas
(Combinación automática de las partes) o se crean fragmentos
de notas guía citadas (Citar otras voces).
Las definiciones de salida establecen la relación entre los
contextos así como sus respectivos valores predeterminados.
Aunque la mayor parte de los cambios se suelen hacer dentro de un
bloque \layout
, los ajustes de valores relacionados con el
MIDI solamente tienen efecto cuando se hacen dentro de un bloque
\midi
block.
Algunos ajustes afectan a varias salidas: por ejemplo, si se
desactiva el barrado automático, autoBeaming
, dentro de
algún contexto, las barras cuentan como melismas en lo que
respecta a la correspondencia entre la música y la letra, como se
describe en Duración automática de las sílabas. Esta
correspondencia se hace tanto para la salida impresa como para el
MIDI. Si los cambios hechos sobre el autoBeaming
dentro de
la definición de contexto de un bloque \layout
no se
repiten dentro del correspondiente bloque \midi
, la letra y
la música dejarán de estar sincronizadas dentro del MIDI.
Véase también
Archivos instalados: ly/engraver-init.ly. ly/performer-init.ly.
Score. El contexto maestro
Este es el contexto de notación del nivel más alto. Ningún otro contexto puede contener a un contexto Score. De forma predeterminada, el contexto Score maneja la administración de las indicaciones de compás y se asegura de que ciertos elementos como claves, compases y armaduras están siempre alineados entre los distintos pentagramas.
Se crea implícitamente una instancia del contexto Score cuando se
procesa un bloque \score {…}
.
Contextos del nivel superior: contenedores de pentagramas
StaffGroup
Agrupa pentagramas y añade un corchete en la parte izquierda,
formando un grupo. Las líneas divisorias de los pentagramas
contenidos se conectan verticalmente. StaffGroup
sólo
consiste en una colección de pentagramas, con un corchete delante
y líneas divisorias de arriba a abajo.
ChoirStaff
Idéntico a StaffGroup
excepto que las barras de compás de
los pentagramas contenidos no se conectan verticalmente.
GrandStaff
Un grupo de pentagramas, con una llave en la parte izquierda que abarca el grupo. Las barras de compás de los pentagramas contenidos se conectan verticalmente.
PianoStaff
Igual que GrandStaff
, pero contempla la posibilidad de
poner el nombre del instrumento a la izquierda del sistema.
Contextos de nivel intermedio. Pentagramas
Staff
Maneja claves, barras de compás, tonalidades y alteraciones
accidentales. Puede contener contextos de Voice
.
RhythmicStaff
Como Staff
, pero para imprimir ritmos. Al imprimir se
ignoran las alturas de las notas; las notas se imprimen sobre una
línea. La salida de MIDI conserva las alturas sin modificación.
TabStaff
Contexto para generar tablaturas. De forma predeterminada dispone la expresión musical como una tablatura de guitarra, impresa sobre seis líneas.
DrumStaff
Maneja el tipografiado para instrumentos de percusión. Puede contener
contextos DrumVoice
.
VaticanaStaff
Igual que Staff
, excepto que está pensado para tipografiar
piezas en estilo gregoriano.
MensuralStaff
Igual que Staff
, excepto que está diseñado para tipografiar
piezas en estilo mensural.
Contextos del nivel más bajo. Voces
Los contextos del mismo nivel que Voice dan un valor inicial a
ciertas propiedades e inician los grabadores correspondientes. Un
contexto del nivel más bajo es aquel que no tiene un contexto
descendiente predeterminado defaultchild
. Aunque es
posible hacer que pueda aceptar o contener subcontextos, éstos
solo se pueden crear e introducir de forma explícita.
Voice
Corresponde a una voz sobre un pentagrama. este contexto maneja la conversión de las indicaciones dinámicas, plicas, barras, subíndices y superíndices, ligaduras de expresión y de unión, y silencios. Tenemos que crear instancias explícitas de este contexto si necesitamos varias voces en el mismo pentagrama.
VaticanaVoice
Lo mismo que Voice
, excepto que está diseñado para
tipografiar piezas en estilo gregoriano.
MensuralVoice
Lo mismo que Voice
, con modificaciones para el tipografiado
de piezas en estilo mensural.
Lyrics
Corresponde a una voz con letra. Maneja la impresión de una sola línea de letra.
DrumVoice
El contexto de voz utilizado en una pauta de percusión.
FiguredBass
El contexto en que los objetos BassFigure
se crean a partir
de la entrada escrita en el modo \figuremode
.
TabVoice
El contexto de voz utilizado dentro de un contexto TabStaff
.
Se suele dejar que se cree implícitamente.
CueVoice
El contexto de voz que se utiliza para dibujar notas de tamaño reducido, con el principal objetivo de añadir notas guía de un pentagrama a otro, véase Formateo de las notas guía. Normalmente se deja que se cree implícitamente.
ChordNames
Tipografía nombres de acordes.
5.1.2 Crear y referenciar contextos
LilyPond crea automáticamente contextos de nifel inferior si se
encuentra una expresión musical antes de que exista un contexto
adecuado, pero normalmente esto sólo funciona bien para partituras
sencillas o fragmentos musicales como los que aparecen en la
documentación. Para partituras más complejas, se recomienda
especificar explícitamente todos los contextos con las
instrucciones \new
o \context
. La sintaxis de estas
dos instrucciones es muy similar:
[\new | \context] Contexto [ = nombre] [expresión_musical]
donde se puede especificar \new
o \context
.
Contexto es el tipo de contexto que se desea crear,
nombre es un nombre opcional que se da al contexto concreto
que se está creando, y expresión_musical es una sola
expresión musical que será interpretada por los complementos
grabadores y reproductores dentro de este contexto.
El prefijo \new
sin ningún nombre se usa con frecuencia
para crear partituras con muchos pentagramas:
<< \new Staff \relative { % leave the Voice context to be created implicitly c''4 c } \new Staff \relative { d''4 d } >>
y para introducir varias voces dentro de un solo pentagrama:
\new Staff << \new Voice \relative { \voiceOne c''8 c c4 c c } \new Voice \relative { \voiceTwo g'4 g g g } >>
\new
debería usarse siempre para especificar contextos sin
nombre.
La diferencia entre \new
y \context
se encuentra en
la acción que se realiza:
-
\new
con un nombre o sin él, siempre crea un contexto nuevo y distinto, incluso si ya existe un contexto con el mismo nombre:\new Staff << \new Voice = "A" \relative { \voiceOne c''8 c c4 c c } \new Voice = "A" \relative { \voiceTwo g'4 g g g } >>
-
\context
con un nombre especificado, crea un contexto nuevo solamente si no existe ya un contexto del mismo tipo y con el mismo nombre, dentro de la misma jerarquía de contextos. En caso contrario, se toma como referencia a dicho contexto creado previamente, y su expresión musical se pasa a este contexto para su interpretación.Los contextos con nombre pueden ser útiles en casos especiales como la letra de las canciones o los bajos cifrados, como se ve en los ejemplos de Trabajar con letra y variables y Plantillas de conjuntos vocales para el primer caso, y Imprimir el bajo cifrado para el segundo. De manera más general, una aplicación de los contextos con nombre es la separación entre la disposición de la partitura y el contenido musical. Son válidas culaquiera de las dos formas siguientes:
\score { << % score layout \new Staff << \new Voice = "one" { \voiceOne } \new Voice = "two" { \voiceTwo } >> % musical content \context Voice = "one" { \relative { c''4 c c c } } \context Voice = "two" { \relative { g'8 g g4 g g } } >> }
\score { << % score layout \new Staff << \context Voice = "one" { \voiceOne } \context Voice = "two" { \voiceTwo } >> % musical content \context Voice = "one" { \relative { c''4 c c c } } \context Voice = "two" { \relative { g'8 g g4 g g } } >> }
De manera alternativa, se pueden utilizar variables con un efecto similar. Véase Organizar las piezas mediante variables.
-
\context
sin ningún nombre corresponderá con el primer contexto que se encuentre entre los creados previamente que sean del mismo tipo dentro de la misma jerarquía de contextos, incluso si tiene nombre, y su expresión musical se pasará a dicho contexto para su interpretación. Esta forma rara vez es útil. Sin embargo,\context
sin nombre y sin expresión musical se usa para establecer el contexto en que se ejecuta un procedimiento de Scheme especificado con\applyContext
:\new Staff \relative { c'1 \context Timing \applyContext #(lambda (ctx) (newline) (display (ly:context-current-moment ctx))) c1 }
Un contexto debe tener un nombre si se va a hacer referencia a él más tarde, por ejemplo cuando se asocia la letra con la música:
\new Voice = "tenor" música … \new Lyrics \lyricsto "tenor" letra
Para ver más detalles sobre la asociación de letra y música, consulte Duración automática de las sílabas.
Las propiedades de todos los contextos de un tipo en particular se
pueden modificar dentro de un bloque \layout
(con una
sintaxis diferente), véase
Cambiar todos los contextos del mismo tipo.
Esta construcción también ofrece una forma de mantener las
instrucciones de disposición separadas del contenido musical. Si
se va a modificar un solo contexto, debe usarse un bloque
\with
, véase
Cambiar solamente un contexto determinado.
Véase también
Manual de aprendizaje: Organizar las piezas mediante variables.
Referencia de la notación: Cambiar solamente un contexto determinado, Duración automática de las sílabas.
5.1.3 Mantener vivos los contextos
Normalmente los contextos finalizan en el primer momento musical
en que no tienen nada que hacer. Así, los contextos de
Voice
mueren tan pronto como ya no contienen ningún evento,
los contextos de Staff
mueren tan pronto como todos los
contextos de Voice
que contenían ya no contengan ningún
evento, etc. Esto puede ocasionar dificultades si se tiene que
hacer referencia a contextos anteriores que ya han muerto, por
ejemplo, al cambiar de pentagramas con instrucciones
\change
, asociar letra con una voz mediante instrucciones
\lyricsto
, o cuando se añaden eventos musicales adicionales
a un contexto anterior.
Existe una excepción a esta regla general: dentro de una
construcción {…}
(música secuencial), la noción que
la construcción tiene del “contexto actual” descenderá un nivel
cada vez que un elemento de la secuencia finaliza en un
subcontexto del contexto anterior. Esto evita la creación espúrea
de contextos implícitos en ciertas situaciones, pero significa que
el primer contexto dentro del que se desciende, se va a mantener
vivo hasta el final de la expresión.
Como contraste, los contextos de una expresión hecha con la
construcción <<…>>
(música simultánea) no se
prolongan, por lo que si una instrucción que crea un contexto se
encierra en otro par de <<…>>
, se impedirá que el
contexto persista durante toda la duración de la secuencia
{…}
que lo contiene.
Cualquier contexto se puede mantener vivo si nos aseguramos de que
tiene algo que hacer en cualquier momento musical dado. Los
contextos de Staff
se mantienen con vida si nos aseguramos
de que una de sus voces se mantiene viva. Una manera de hacerlo
es añadir silencios de separación a una voz en paralelo con la
música real. Éstos deben añadirse a todos y cada uno de los
contextos de Voice
que se hayan de mantener vivos. Si se
van a usar esporádicamente varias voces, es más seguro mantenerlas
todas vivas en lugar de tratar de confiar en las excepciones que
hemos mencionado arriba.
En el ejemplo siguiente, tanto la voz A como la voz B se mantienen vivas de esta manera durante la duración de la pieza:
musicA = \relative { d''4 d d d } musicB = \relative { g'4 g g g } keepVoicesAlive = { << \new Voice = "A" { s1*5 } % Keep Voice "A" alive for 5 bars \new Voice = "B" { s1*5 } % Keep Voice "B" alive for 5 bars >> } music = { \context Voice = "A" { \voiceOneStyle \musicA } \context Voice = "B" { \voiceTwoStyle \musicB } \context Voice = "A" { \musicA } \context Voice = "B" { \musicB } \context Voice = "A" { \musicA } } \score { \new Staff << \keepVoicesAlive \music >> }
El ejemplo siguiente muestra cómo se puede escribir una línea melódica esporádica con letra utilizando este enfoque. Por supuesto, en una situación real la melodía y el acompañamiento consistirían en varias secciones diferentes.
melody = \relative { a'4 a a a } accompaniment = \relative { d'4 d d d } words = \lyricmode { These words fol -- low the mel -- o -- dy } \score { << \new Staff = "music" { << \new Voice = "melody" { \voiceOne s1*4 % Keep Voice "melody" alive for 4 bars } { \new Voice = "accompaniment" { \voiceTwo \accompaniment } << \context Voice = "melody" { \melody } \context Voice = "accompaniment" { \accompaniment } >> \context Voice = "accompaniment" { \accompaniment } << \context Voice = "melody" { \melody } \context Voice = "accompaniment" { \accompaniment } >> } >> } \new Lyrics \with { alignAboveContext = "music" } \lyricsto "melody" { \words } >> }
Una forma alternativa, que podría resultar mejor en muchas situaciones, es mantener con vida la línea melódica simplemente incluyendo notas espaciadoras para alinearla correctamente con el acompañamiento:
melody = \relative { s1 % skip a bar a'4 a a a s1 % skip a bar a4 a a a } accompaniment = \relative { d'4 d d d d4 d d d d4 d d d d4 d d d } words = \lyricmode { These words fol -- low the mel -- o -- dy } \score { << \new Staff = "music" { << \new Voice = "melody" { \voiceOne \melody } \new Voice = "accompaniment" { \voiceTwo \accompaniment } >> } \new Lyrics \with { alignAboveContext = "music" } \lyricsto "melody" { \words } >> }
5.1.4 Modificar los complementos (plug-ins) de contexto
Los contextos de notación (como Score
y Staff
) no
sólo almacenan propiedades, también contienen «plug-ins» o
complementos llamados ‘grabadores’ que crean elementos de
notación. Por ejemplo, el contexto Voice
contiene un
grabador Note_heads_engraver
que crea las cabezas de nota y
el contexto Staff
contiene un grabador Key_engraver
que crea la armadura.
Para ver una descripción completa de todos y cada uno de los complementos, consulte Engravers and Performers. Cada contexto que se describe en Contexts relaciona los grabadores que se usan para ese contexto.
Puede ser de utilidad jugar un poco con estos complementos. Se
hace iniciando un contexto nuevo con \new
o \context
y modificándolo:
\new contexto \with { \consists … \consists … \remove … \remove … etc. } { …música… }
donde cada uno de los … deben ser el nombre de un grabador.
Aquí tenemos un ejemplo sencillo que suprime los grabadores
Time_signature_engraver
y Clef_engraver
de un
contexto Staff
:
<< \new Staff \relative { f'2 g } \new Staff \with { \remove Time_signature_engraver \remove Clef_engraver } \relative { f'2 g2 } >>
En el segundo pentagrama no hay indicación de compás ni clave. Éste es un método bastante rudimentario de hacer que desaparezcan los objetos porque afecta a todo el pentagrama. Este método también afecta al espaciado, lo que puede ser deseable o no serlo. Se muestran métodos más sofisticados para quitar objetos en Visibilidad y color de los objetos.
El ejemplo siguiente muestra una aplicación práctica. Normalmente
las líneas divisorias y las indicaciones de compás están
sincronizadas a lo largo de toda la partitura. Lo hacen los
grabadores Timing_translator
y
Default_bar_line_engraver
. Estos complementos mantienen al
día la administración de las indicaciones de compás, posición
dentro del compás, etc. Moviendo estos grabadores desde el
contexto de Score
al de Staff
, podemos conseguir una
partitura en la que cada pentagrama tiene su propio compás
independiente.
\score { << \new Staff \with { \consists Timing_translator } \relative { \time 3/4 c''4 c c c c c } \new Staff \with { \consists Timing_translator } \relative { \time 2/4 c''4 c c c c c } >> \layout { \context { \Score \remove Timing_translator } } }
Advertencias y problemas conocidos
El orden en que los grabadores se especifican es el orden en que se llaman para realizar su tarea de procesamiento. Normalmente, el orden en que se especifican los grabadores no tiene importancia, pero en algunos casos especiales sí la tiene, por ejemplo donde un grabador escribe una propiedad y otro la lee, o donde un grabador crea un groby otro debe procesarlo.
Las siguientes ordenaciones son importantes:
- el grabador de compases
Bar_engraver
debe ir normalmente en primer lugar, - el grabador de digitaciones
New_fingering_engraver
debe ir antes del grabadorScript_column_engraver
de columnas de inscripciones, - el
Timing_translator
debe ir antes del grabador de números de compásBar_number_engraver
.
Véase también
Archivos instalados: ly/engraver-init.ly.
5.1.5 Cambiar los valores por omisión de los contextos
Se pueden cambiar las propiedades de contexto y de grob con las
instrucciones \set
y \override
, tal y como se
describe en Modificar las propiedades. Estas instrucciones
crean eventos musicales, haciendo que los cambios tengan efecto en
el punto temporal en que la música se está procesando.
Por contra, esta sección explica la forma de cambiarlos valores predeterminados de las propiedades de contexto y de grob en el momento en que se crea el contexto. Existen dos formas de hacerlo. Una modifica los valores predeterminados en todos los contextos de un tipo dado, y el otro modifica los valores predeterminados solamente en una instancia concreta de un contexto.
Cambiar todos los contextos del mismo tipo | ||
Cambiar solamente un contexto determinado | ||
Orden de precedencia |
Cambiar todos los contextos del mismo tipo
Los ajustes de contexto predeterminados que se han de usar para la
composición tipográfica dentro de Score
, Staff
,
Voice
y otros contextos se pueden especificar en un bloque
\context
dentro de cualquier bloque \layout
.
Los ajustes para la salida MIDI, al contrario que para la
composición tipográfica, se tendrán que especificar aparte en
bloques \midi
(véase
Definiciones de salida - estructura de los contextos).
El bloque \layout
se debe colocar dentro del bloque
\score
al que se aplica, después de la música.
\layout { \context { \Voice [ajustes de contexto para todos los contextos Voice] } \context { \Staff [ajustes de contexto para todos los contextos Staff] } }
Se pueden especificar los siguientes tipos de ajustes:
- Una instrucción
\override
, pero omitiendo el nombre del contexto\score { \relative { a'4^"Thicker stems" a a a a4 a a\ff a } \layout { \context { \Staff \override Stem.thickness = #4.0 } } }
- Estableciendo una propiedad de contexto directamente
\score { \relative { a'4^"Smaller font" a a a a4 a a\ff a } \layout { \context { \Staff fontSize = #-4 } } }
- Una instrucción predefinida tal como
\dynamicUp
o una expresión musical como\accidentalStyle dodecaphonic
\score { \relative { a'4^"Dynamics above" a a a a4 a a\ff a } \layout { \context { \Voice \dynamicUp } \context { \Staff \accidentalStyle dodecaphonic } } }
- Una variable definida por el usuario que contenga un bloque
\with
; para ver detalles acerca del bloque\with
, consulte Cambiar solamente un contexto determinado.StaffDefaults = \with { fontSize = #-4 } \score { \new Staff { \relative { a'4^"Smaller font" a a a a4 a a a } } \layout { \context { \Staff \StaffDefaults } } }
Las instrucciones de ajuste de propiedades se pueden disponer
dentro de un bloque \layout
sin que estén encerradas en un
bloque \context
. Tales ajustes son equivalentes a incluir
las mismas instrucciones de ajuste de propiedades al comienzo de
cada uno de los contextos del tipo especificado. Si no se
especifica ningún contexto, todos y cada uno de los
contextos del nivel inferior quedan afectados, véase
Contextos del nivel más bajo. Voces. La sintaxis de una
instrucción de ajuste de propiedades dentro de un bloque
\layout
es la misma que si la misma instrucción estuviera
escrita en el propio flujo musical.
\score { \new Staff { \relative { a'4^"Smaller font" a a a a4 a a a } } \layout { \accidentalStyle dodecaphonic \set fontSize = #-4 \override Voice.Stem.thickness = #4.0 } }
Cambiar solamente un contexto determinado
Las propiedades de contexto de una única instancia de contexto
pueden cambiarse dentro de un bloque \with
. Todas las
demás instancias de contexto del mismo tipo retienen los ajustes
predeterminados que LilyPond tiene programados y que se modifican
por parte de cualquier bloque \layout
que se encuentre
dentro del ámbito. El bloque \with
se debe situar
inmediatamente después de las instrucciones \new
context-type:
\new Staff \with { [ajustes de contexto para esta instancia de contexto solamente] } { … }
De forma alternativa, si la música se escribe usando la forma
corta de las instrucciones de especificación de modo, como por
ejemplo \chords
en lugar de \chordmode
, la
instrucción \with
se debe colocar inmediatamente después de
la instrucción que especifica el modo:
\chords \with { [ajustes de contexto para esta instancia de contexto (implícita) solamente] } { … }
dado que es el contexto implícito creado por estas formas breves
el que se quiere modificar. Se aplica la misma consideración a
las otras formas cortas de especificar el modo de entrada
(\drums
, \figures
), véase Modos de entrada.
Dado las modificaciones de contexto especificadas en bloques
\with
están dentro de la música, afectarán a todas
las salidas (tipografía y también el MIDI), a diferencia de
los cambios que se hacen dentro de una definición de salida.
Se pueden especificar los siguientes tipos de ajustes:
- Una instrucción
\override
, pero omitiendo el nombre del contexto\score { \new Staff { \new Voice \with { \override Stem.thickness = #4.0 } { \relative { a'4^"Thick stems" a a a a4 a a a } } } }
- Estableciendo una propiedad de contexto directamente
\score { << \new Staff { \relative { a'4^"Default font" a a a a4 a a a } } \new Staff \with { fontSize = #-4 } { \relative { a'4^"Smaller font" a a a a4 a a a } } >> }
- Una instrucción predefinida tal como
\dynamicUp
\score { << \new Staff { \new Voice { \relative { a'4^"Dynamics below" a a a a4 a a\ff a } } } \new Staff \with { \accidentalStyle dodecaphonic } { \new Voice \with { \dynamicUp } { \relative { a'4^"Dynamics above" a a a a4 a a\ff a } } } >> }
Véase también
Referencia de la notación: Modos de entrada
Orden de precedencia
El valor de una propiedad que se aplica en un momento determinado se determina de la siguiente forma:
- si está en efecto una instrucción
\override
o\set
dentro del flujo musical, se usa dicho valor, - de lo contrario, se usa el valor predeterminado tomado de un
enunciado
\with
en las instrucciones de inicio del contexto, - de lo contrario, se usa el valor tomado del bloque
\context
más reciente que corresponda dentro de los bloques\layout
o\midi
, - de lo contrario se usa el valor predeterminado que LilyPond lleva preprogramado.
Véase también
Manual de aprendizaje: Modificar las propiedades de los contextos.
Referencia de la notación:
Explicación de los contextos,
Contextos del nivel más bajo. Voces,
La instrucción \set
,
La instrucción \override
,
El bloque \layout
.
5.1.6 Definir contextos nuevos
Los contextos específicos, como Staff
y Voice
, están
construidos a partir de bloques sencillos. Es posible crear
nuevos tipos de contextos con combinaciones distintas de añadidos
grabadores.
El siguiente ejemplo muestra cómo construir un tipo diferente de
contexto de Voice
partiendo de cero. Será parecido a
Voice
, pero imprime solamente cabezas centradas en forma de
barra inclinada. Se puede usar para indicar improvisación en
piezas de jazz,
Estos ajustes se definen dentro de un bloque \context
que a
su vez está dentro de un bloque \layout
,
\layout { \context { … } }
En el siguiente análisis, la entrada de ejemplo que se muestra debe ir en el lugar de los puntos suspensivos … del fragmento anterior.
En primer lugar es necesario definir un nombre para el nuevo contexto:
\name ImproVoice
Debido a que es parecido al contexto Voice
, queremos
órdenes que funcionen dentro de los contextos Voice
(existentes) para que siga funcionando. Esto se consigue dando al
contexto nuevo un alias de Voice
,
\alias Voice
El contexto imprimirá notas y textos explicativos, por ello tenemos que añadir los grabadores que aportan esta funcionalidad, y además el grabador que agrupa las notas, plicas y silencios que están en el mismo momento musical en forma de columnas,
\consists Note_heads_engraver \consists Text_engraver \consists Rhythmic_column_engraver
Las cabezas de todas las notas se deben situar sobre la línea central,
\consists Pitch_squash_engraver squashedPosition = #0
El grabador Pitch_squash_engraver
modifica las cabezas de
nota (creadas por el grabador Note_heads_engraver
) y
establece sus posiciones verticales al valor de
squashedPosition
, en este caso 0
, la línea
central.
Las notas parecen barras inclinadas y no tienen plica:
\override NoteHead.style = #'slash \hide Stem
Todos estos complementos o plug-ins tienen que comunicarse bajo el
control del contexto. Los mecanismos con el que se comunican los
contextos se establecen mediante la declaración del \type
(tipo) del contexto. Dentro de un bloque \layout
, casi
todos los contextos serán del tipo Engraver_group
. Algunos
contextos especiales y los contextos de los bloques \midi
usan otros tipos. La copia y la modificación de una definición de
contexto existente también cumplimentan el tipo. Como este
ejemplo crea una definición partiendo de cero, tiene que ser
especificada explícitamente.
\type Engraver_group
Al juntarlo todo, obtenemos
\context { \name ImproVoice \type Engraver_group \consists Note_heads_engraver \consists Text_engraver \consists Rhythmic_column_engraver \consists Pitch_squash_engraver squashedPosition = #0 \override NoteHead.style = #'slash \hide Stem \alias Voice }
Los contextos dan lugar a jerarquías. Queremos poner el contexto
ImproVoice
dentro del contexto Staff
, igual que los
contextos de voz normales. Por tanto, modificamos la definición
de Staff
con la instrucción \accepts
(acepta),
\context { \Staff \accepts ImproVoice }
Con frecuencia, al reutilizar una definición de contexto existente, el contexto resultante se puede usar en cualquier lugar donde el contexto original hubiera podido hacerlo.
\layout { … \inherit-acceptability to from }
consigue que tengamos contextos del tipo to aceptados por todos los contextos que asimismo aceptan from. Por ejemplo, usar
\layout { … \inherit-acceptability "ImproVoice" "Voice" }
añade un \accepts
para ImproVoice
tanto a la
definición de Staff
como a la de RhythmicStaff
.
Lo opuesto a \accepts
(acepta) es \denies
(deniega),
lo que a veces se necesita cuando se están reutilizando
definiciones de contexto existentes.
Organizar las piezas requeridas dentro de un bloque \layout
nos deja con
\layout { \context { \name ImproVoice … } \inherit-acceptability "ImproVoice" "Voice" }
Así pues, la salida que aparece al comienzo de esta sub-sección se puede escribir como
\relative { a'4 d8 bes8 \new ImproVoice { c4^"ad lib" c c4 c^"desvístete" c c_"mientras tocas :)" } a1 }
Para completar el ejemplo, los cambios que afectan a la jerarquía
de contextos se deben repetir dentro de un bloque \midi
de
manera que la salida MIDI dependa de las mismas relaciones de
contexto.
Véase también
Referencia de funcionamiento interno: Note_heads_engraver, Text_engraver, Rhythmic_column_engraver, Pitch_squash_engraver.
5.1.7 Orden de disposición de los contextos
Los contextos se disponen en un sistema normalmente desde arriba hacia abajo en el orden en que se encuentran en el archivo de entrada. Cuando los contextos se anidan unos dentro de otros, el contexto exterior incluye a los contextos anidados tal y como se especifica en el archivo de entrada, siempre y cuando los contextos interiores estén incluidos en la lista “accepts” del contexto externo. Los contextos anidados que no está nincluidos en la lista “accepts” del contexto externo se recolocan debajo del contexto externo en lugar de anidarse dentro de él.
La lista “accepts” de un contexto se puede cambiar con las
instrucciones \accepts
(acepta) o \denies
(niega).
\accepts
añade un contexto a la lista “accepts” y
\denies
elimina un contexto de la lista.
Por ejemplo, un grupo de pentagramas con un corchete cuadrado no
se encuentra normalmente en el interior de un pentagrama con llave
curva que tenga conectadas las líneas divisorias, y un
GrandStaff
para piano no acepta un StaffGroup
dentro
de él, de forma predeterminada.
\score { \new GrandStaff << \new StaffGroup << \new Staff { c'1 } \new Staff { d'1 } >> \new Staff { \set Staff.instrumentName = bottom f'1 } >> }
Sin embargo, usando la instrucción \accepts
, se puede
añadir un StaffGroup
al contexto GrandStaff
:
\score { \new GrandStaff << \new StaffGroup << \new Staff { c'1 } \new Staff { d'1 } >> \new Staff { \set Staff.instrumentName = bottom f'1 } >> \layout { \context { \GrandStaff \accepts StaffGroup } } }
\denies
se usa principalmente cuando un contexto nuevo se
está basando en otro, pero los anidamientos requeridos difieren.
Por ejemplo, el contexto VaticanaStaff
está basado en el
contexto Staff
, pero con el contexto VaticanaVoice
sustituido por el contexto Voice
en la lista “accepts”.
Observe que discretamente se crea un contexto de forma implícita si se encuentra una instrucción donde no hay un contexto apropiado para contenerlo.
Dentro de una definición de contexto, el tipo de un subcontexto
que se va a crear implícitamente se especifica usando
\defaultchild
(hijo predeterminado). Algunos eventos
musicales requieren un contexto ‘Bottom’ (inferior): cuando
se encuentra este evento, se crean subcontextos de forma recursiva
hasta que se alcanza un contexto que no tiene establecido el
‘defaultchild’.
La creación implícita de contextos puede dar lugar a pentagramas o
partituras nuevos no esperados. La utilización de \new
para crear contextos explícitamente evita esos problemas.
En ocasiones se necesita que un contexto exista durante un breve intervalo de tiempo, siendo un buen ejemplo el contexto de pentagrama de un ossia. Esto se consigue normalmente mediante la introducción de la definición del contexto en el lugar apropiado en paralelo con la sección correspondiente de la música principal. De forma predeterminada, el contexto tempral se coloca debajo de todos los contextos existentes. Para reposicionarlo por encima del contexto que tenga el nombre “principal”, debería definirse de esta forma:
\new Staff \with { alignAboveContext = "principal" }
Se presenta una situación similar cuando se posiciona un contexto
temporal de letra de una canción dentro de una disposición de varios
pentagramas tal como ChoirStaff
, por ejemplo, cuando se añade
una segunda estrofa a una sección que se repite. De forma
predeterminada, el contexto temporal de letra se coloca debajo de los
pentagramas inferiores. Mediante la definición del contexto temporal
de letra con alignBelowContext
se puede posicionar
correctamente debajo del contexto de letra con nombre que contiene el
texto de la primera estrofa.
En diversos lugares pueden verse ejemplos que muestran esta recolocación de contextos temporales: véase Anidado de expresiones musicales, Modificación de pentagramas sueltos y Técnicas específicas para la letra.
Véase también
Manual de aprendizaje: Anidado de expresiones musicales.
Referencia de la notación: Modificación de pentagramas sueltos, Técnicas específicas para la letra.
Manual de utilización del programa: Aparece un pentagrama de más.
Archivos instalados: ly/engraver-init.ly.
5.2 Explicación del Manual de referencia de funcionamiento interno
5.2.1 Navegar por la referencia del programa | ||
5.2.2 Interfaces de la presentación | ||
5.2.3 Determinar la propiedad del grob | ||
5.2.4 Convenciones de nombres |
5.2.2 Interfaces de la presentación
La página HTML que pudimos ver en la sección anterior describe el objeto de presentación llamado Fingering. Dicho objeto es un símbolo dentro de la partitura. Tiene propiedades que guardan números (como grosores y direcciones), pero también punteros a objetos relacionados. Un objeto de presentación también se llama un Grob, que es una abreviatura de Graphical Object (objeto gráfico). Para ver más detalles acerca de los objetos gráficos o Grobs, consulte grob-interface.
La página dedicada a Fingering
relaciona las definiciones del
objeto Fingering
. Por ejemplo, la página dice
padding
(dimensión, en espacios de pentagrama):
0.5
lo que significa que el número se mantendrá a una distancia de al menos 0.5 de la cabeza de la nota.
Cada objeto de presentación puede tener varias funciones como elemento notacional o tipográfico. Por ejemplo, el objeto de digitación Fingering tiene los siguientes aspectos
- Su tamaño es independiente del espaciado horizontal, al contrario de las ligaduras o las barras de las figuras.
- Es un elemento de texto. Casi seguro que es un texto muy corto.
- este elemento de texto se tipografía con un tipo de letra, no como las ligaduras o las barras de las figuras.
- Horizontalmente, el centro del símbolo se debe alinear con el centro de la cabeza de la nota.
- Verticalmente, el símbolo se coloca cerca de la nota y del pentagrama.
- La posición vertical también está coordinada con otros símbolos de superíndice y de subíndice.
Cada uno de estos aspectos se capta en lo que se llaman interfaces, que se relacionan al final de la página dedicada a Fingering
Este objeto contempla los siguientes interfaces: item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface y grob-interface.
Al pulsar sobre cualquiera de los enlaces nos desplazaremos a la página del respectivo interfaz del objeto. Cada interfaz tiene un cierto número de propiedades. Algunas de ellas no son para que el usuario las pueda ajustar (‘Propiedades internas’), pero otras sí se pueden modificar.
Hemos estado hablando de el objeto Fingering
, pero
realmente esto no significa mucho. El archivo de inicialización
(véase Otras fuentes de información)
scm/define-grobs.scm muestra el alma del ‘objeto’,
(Fingering . ((padding . 0.5) (avoid-slur . around) (slur-padding . 0.2) (staff-padding . 0.5) (self-alignment-X . 0) (self-alignment-Y . 0) (script-priority . 100) (stencil . ,ly:text-interface::print) (direction . ,ly:script-interface::calc-direction) (font-encoding . fetaText) (font-size . -5) ; don't overlap when next to heads. (meta . ((class . Item) (interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface))))))
Como podemos ver, el objeto Fingering
no es más que un
montón de valores de variables, y la página web de la Referencia
de funcionamiento interno se genera directamente a partir de esta
definición.
5.2.3 Determinar la propiedad del grob
Recordemos que queríamos cambiar la posición del 2 en
c''-2
Puesto que el 2 se encuentra colocado verticalmente sobre su
nota, tenemos que negociar con el interfaz asociado con esta
colocación. Esto se hace usando side-position-interface
.
La página que describe este interface dice:
side-position-interface
Colocar un objeto víctima (este mismo) junto a otros objetos (el soporte). La propiedad
direction
significa dónde poner el objeto víctima con relación al soporte (¿a la izquierda o a la derecha, encima o debajo?)
Debajo de esta descripción, la variable padding
(relleno)
se describe como
padding
(dimensión, en espacios de pentagrama)
Añadir esta cantidad de espacio adicional entre objetos que están unos junto a otros.
Aumentando el valor de padding
, podemos alejar la cifra de
digitación de la cabeza de la nota. La siguiente orden inserta un
espacio en blanco de tres “espacios de pentagrama” entre la
nota y la digitación:
\once \override Voice.Fingering.padding = #3
Al insertar este relleno antes de que se haya creado el objeto de digitación, llegamos al siguiente resultado:
\once \override Voice.Fingering.padding = #3 c''-2
En este caso, el contexto de este truco es Voice
. Véase el
apartado dedicado al añadido Fingering_engraver, que
dice:
El grabador Fingering_engraver forma parte de los contextos: … Voice
5.2.4 Convenciones de nombres
Se hace necesario presentar una panorámica de las diversas convenciones de nomenclatura:
- funciones de Scheme: minúsculas-con-guiones (lo que incluye a los nombres de una sola palabra)
- funciones de Scheme específicas de LilyPond: ly:más-estilo-de-scheme
- eventos, clases y propiedades musicales: como-las-funciones-de-scheme
- interfaces de Grobs: estilo-scheme
- propiedades de backend: estilo-scheme (¡pero X e Y en mayúsculas!)
- contextos (y ExpresionesMusicales y grobs): Mayúsculas o MayúsculasDeCamello
- propiedades de contexto: minúsculasSeguidoDeMayúsculasDeCamello
- grabadores: Mayúsculas_seguido_de_minúsculas_y_con_barras_bajas
5.3 Modificar las propiedades
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Modificar las propiedades ] | [ Up : Modificar las propiedades ] | [ La instrucción \set > ] |
5.3.1 Panorámica de la modificación de las propiedades
Cada contexto es responsable de la creación de ciertos tipos de objetos gráficos. Los ajustes que se usan para imprimir estos objetos también se almacenan por contexto. Mediante la modificación de estos ajustes, se puede alterar la apariencia de los objetos.
Existen dos tipos diferentes de propiedades almacenadas en los contextos: las propiedades de contexto y las propiedades de grob. Las propiedades de contexto son propiedades que se aplican al contexto como un todo y controlan la forma en que el propio contexto se imprime. Por contra, las propiedades de grob se aplican a los tipos de grob específicos que se imprimirán dentro del contexto.
Las instrucciones \set
y \unset
se usan para cambiar
los valores de las propiedades de contexto. Las instrucciones
\override
y \revert
se usan para cambiar los valores
de las propiedades de grob.
Véase también
Referencia de funcionamiento interno: Backend, All layout objects, OverrideProperty, RevertProperty, PropertySet.
Advertencias y problemas conocidos
El «back-end» o motor de salida no es muy estricto en la comprobación de tipos de las propiedades de objetos. Las referencias cíclicas en valores Scheme de propiedades pueden producir cuelgues o salidas abruptas, o las dos cosas.
5.3.2 La instrucción \set
Cada contexto puede tener distintas propiedades, variables
contenidas dentro de ese contexto. Se pueden cambiar mientras
dura el paso de interpretación. Se consigue insertando la
instrucción \set
dentro de la música:
\set contexto.propiedad = #valor
valor es un objeto de Scheme, razón por la que va precedido
del carácter almohadilla, #
.
El nombre de las propiedades de contexto suele ir en minúsculas
con mayúscula en medio. Controlan sobre todo la traducción de la
música a la notación, p.ej. localAlterations
(para
determinar si hay que impriir alteraciones o no), o
measurePosition
(para determinar cuándo hay que imprimir
una línea divisoria). El valor de las propiedades de contexto
puede modifcarse con el tiempo durante la interpretación de la
música; un ejemplo obvio es measurePosition
. Las
propiedades de contexto se modifican mediante la instrucción
\set
.
Por ejemplo, los silencios multicompás se combinan en un solo
compás (como se explica en Compresión de los compases vacíos) si el
valor de la propiedad de contexto skipBars
se establece a
#t
(verdadero):
R1*2 \set Score.skipBars = ##t R1*2
Si se omite el argumento context, entonces se utiliza el
contexto actual de nivel más bajo (normalmente ChordNames
,
Voice
o Lyrics
). En este ejemplo:
\set Score.autoBeaming = ##f \relative { e''8 e e e \set autoBeaming = ##t e8 e e e } \\ \relative { c''8 c c c c8 c c c }
El cambio se aplica ‘al vuelo’, mientras dura la música, de forma que el ajuste sólo afecta al segundo grupo de corcheas.
Observe que el contexto del nivel más bajo no siempre contiene la
propiedad que querríamos modificar: por ejemplo, intentar ajustar
el valor de la propiedad skipBars
del contexto
predeterminado del nivel más bajo, que en este caso es
Voice
, no tendrá ningún efecto, porque skipBars es una
propiedad del contexto Score
.
R1*2 \set skipBars = ##t R1*2
Los contextos son jerárquicos, y si se ha especificado un contexto
mayor, por ejemplo Staff
, entonces el cambio se aplicaría
también a todos los contextos Voice
dentro del pentagrama
actual.
También existe una instrucción \unset
:
\unset contexto.propiedad
que elimina la definición de propiedad. Esta instrucción elimina la definición solamente si está establecida dentro de contexto. Properties that have been set in enclosing contexts will not be altered by an unset in an enclosed context:
\set Score.autoBeaming = ##t \relative { \unset autoBeaming e''8 e e e \unset Score.autoBeaming e8 e e e } \\ \relative { c''8 c c c c8 c c c }
Como \set
, el argumento contexto no se tiene que
especificar para un contexto del nivel más bajo, por lo que los
dos enunciados
\set Voice.autoBeaming = ##t \set autoBeaming = ##t
son equivalentes si el contexto inferior en curso es Voice
.
Los ajustes con \set
o \unset
que se aplican
solamente a un único paso de tiempo se pueden escribir con
\once
, por ejemplo en
c''4 \once \set fontSize = #4.7 c''4 c''4
En el manual de Referencia de funcionamiento interno hay una descripción completa de todas las propiedades de contexto disponibles, consulte Tunable context properties.
Véase también
Referencia de funcionamiento interno: Tunable context properties.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < La instrucción \set ] | [ Up : Modificar las propiedades ] | [ La instrucción \tweak > ] |
5.3.3 La instrucción \override
Existe un tipo especial de propiedad de contexto: la descripción
de los grobs. Las decscripciones de los grobs reciben un nombre
en MayúsculasDeCamello
(empezando en mayúscula). Contienen
los ‘ajustes predeterminados’ para un tipo particular de grob,
en forma de lista asociativa. Consulte
scm/define-grobs.scm para ver los ajustes de cada
descripción de grob. Las descripciones de grob se modifican con
\override
.
La sintaxis de la instrucción \override
es
\override [contexto.]NombreDelGrob.propiedad = #valor
Por ejemplo, podemos aumentar el grosor de la plica de una figura
sobreescribiendo la propiedad thickness
(grosor) del objeto
Stem
(plica):
c''4 c'' \override Voice.Stem.thickness = #3.0 c''4 c''
Si no se ha especificado ningún contexto en la instrucción
\override
, se utiliza el contexto del nivel inferior:
\override Staff.Stem.thickness = #3.0 << \relative { e''4 e \override Stem.thickness = #0.5 e4 e } \\ \relative { c''4 c c c } >>
Algunas opciones susceptibles de trucaje, se llaman ‘subpropiedades’ y residen dentro de las propiedades. Para efectura trujajes sobre ellas, utilice instrucciones de la forma
\override Stem.details.beamed-lengths = #'(4 4 3)
o para modificar los extremos de los objetos extensos, utilice una forma como las siguientes:
\override TextSpanner.bound-details.left.text = "left text" \override TextSpanner.bound-details.right.text = "right text"
El efecto de una instrucción de sobreescritura \override
se
puede deshacer con \revert
.
La sintaxis de la instrucción \revert
es
\revert [Contexto.]NombreDelGrob.propiedad
Por ejemplo,
\relative { c''4 \override Voice.Stem.thickness = #3.0 c4 c \revert Voice.Stem.thickness c4 }
Los efectos de \override
y \revert
se aplican a
todos los grobs del contexto afectado partiendo del momento actual
y hacia adelante:
<< \relative { e''4 \override Staff.Stem.thickness = #3.0 e4 e e } \\ \relative { c''4 c c \revert Staff.Stem.thickness c4 } >>
Se puede usar \once
con \override
o \revert
para afectar solamente al instante de tiempo actual:
<< \relative c { \override Stem.thickness = #3.0 e''4 e e e } \\ \relative { c''4 \once \override Stem.thickness = #3.0 c4 c c } >>
Véase también
Referencia de funcionamiento interno: Backend
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < La instrucción \override ] | [ Up : Modificar las propiedades ] | [ \set frente a \override > ] |
5.3.4 La instrucción \tweak
El cambio de las propiedades de grob mediante \override
produce
la aplicación del cambio a todos los grobs dados en el contexto en el
momento en que se aplica dicho cambio. Sin embargo, en ocasiones
podemos desear que los cambios se apliquen a un solo grob en lugar de
a todos los grobs del contexto afectado. Esto se consigue con la
instrucción \tweak
, que tiene la sintaxis siguiente:
\tweak [objeto-de-presentación.]propiedad-del-grob valor
Es opcional especificar el objeto-de-presentación. La
instrucción \tweak
se aplica al objeto musical que viene
inmediatamente después de valor dentro del flujo musical.
Para ver una introducción a la sintaxis y los usos de la instrucción tweak, consulte Métodos de trucaje.
Si se colocan varios elementos similares en el mismo momento
musical, la instrucción \override
no se puede usar para
modificar uno solo de ellos: aquí es donde se debe usar la
instrucción \tweak
. Entre los elementos que pueden
aparecer más de una vez en el mismo momento musical están los
siguientes:
- las cabezas de las notas de un acorde
- signos de articulación sobre la misma nota
- ligaduras de unión entre notas de un acorde
- corchetes de grupos especials que comienzan en el mismo momento
En este ejemplo se modifican el color de una cabeza y el tipo de otra, dentro del mismo acorde:
< c'' \tweak color #red d'' g'' \tweak duration-log #1 a'' > 4
\tweak
se puede usar para modificar ligaduras de expresión:
\relative { c'-\tweak thickness #5 ( d e f) }
Para que funcione la instrucción \tweak
, debe permanecer
adyacente al objeto al que se ha de aplicar después de que el código
de entrada se ha convertido a un flujo musical. El trucaje de un
acorde completo no hace nada porque su evento musical actúa solamente
como un contenedor, y todos los objetos de presentación se crean a
partir de eventos dentro del EventChord
:
\tweak color #red c''4 \tweak color #red <c'' e''>4 <\tweak color #red c'' e''>4
La instrucción \tweak
sencilla no se puede usar para
modificar ningún objeto que no se haya creado directamente a
partir de la entrada. Concretamente, no afecta a las plicas,
barras automáticas ni alteraciones, porque éstos se generan
posteriormente por parte de objetos de presentación
NoteHead
más que por elementos musicales del flujo de
entrada.
Tales objetos de presentación creados indirectamente se pueden
trucar usando la forma de la instrucción \tweak
en que el
nombre del grob se especifica de forma explícita:
\tweak Stem.color #red \tweak Beam.color #green c''8 e'' <c'' e'' \tweak Accidental.font-size #-3 ges''>4
No se puede usar \tweak
para modificar las claves o las
indicaciones de compás, porque éstos se separan de cualquier
instrucción \tweak
precedente dentro del flujo de entrada
merced a la inserción automática de elementos adicionales que se
requieren para especificar el contexto.
Se pueden colocar varias instrucciones \tweak
antes de un
elemento de notación; todos le afectan:
c' -\tweak style #'dashed-line -\tweak dash-fraction #0.2 -\tweak thickness #3 -\tweak color #red \glissando f''
El flujo musical que se genera a partir de una sección de un
archivo de entrada (incluido cualquier elemento insertado
automáticamente) puede examinarse, véase
Presentación de las expresiones musicales. Esto puede
ser de utilidad en la determinación de lo que puede modificarse
por medio de una instrucción \tweak
.
Véase también
Manual de aprendizaje: Métodos de trucaje.
Manual de extensión: Presentación de las expresiones musicales.
Advertencias y problemas conocidos
No se puede usar la instrucción \tweak
para modificar los
puntos de control de una sola de varias ligaduras de unión dentro
de un acorde, aparte de la primera que se encuentre en el código
de entrada.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < La instrucción \tweak ] | [ Up : Modificar las propiedades ] | [ La instrucción \offset > ] |
5.3.5 \set
frente a \override
Tanto la instrucción \set
como \override
manipulan
propiedades asociadas a contextos. En ambos casos las propiedades
siguen unajerarquía de contextos: las propiedades que no se
establecen dentro del contexto aún presentan los valores del
contexto de su padre respectivo.
El valor y la duración en el tiempo de una propiedad de contexto son dinámicos y están disponibles solamente cuando la música se está interpretando o ‘iterando’. En el momento de la creación del contexto, se inicializan las propiedades a partir de las definiciones correspondientes (así como otras posibles modificaciones) de dicho contexto. Cualquier cambio posterior se obtiene a través de instrucciones de establecimiento de propiedades dentro de la propia música.
Las definiciones de grob (objetos gráficos) son una clase especial de propiedades de contexto, pues su estructura y uso son distintos de las propiedades de contexto ordinarias. A diferencia de las propiedades de los contextos normales, las definiciones de grob se subdividen en propiedades de grob.
Además, en contraste con las propiedades de contexto normales, las definiciones de grob tienen su propio conjunto de ‘utilidades de mantenimiento’ de las propiedades individuales y, en su caso, sub-propiedades. Esto supone que es posible definir las distintas partes dentro de diferentes contextos y aún tener la definición completa del grob en el momento de su creación, montada a partir de todas las piezas proporcionadas por el contexto actual y su ancestro o ancestros, conjuntamente.
Un grob u objeto gráfico se crea normalmente por parte de un grabador en el momento de la interpretación de una expresión musical y recibe sus propiedades iniciales de la definición de grob en curso del contexto del grabador. El grabador (u otras partes del ‘backend’ de LilyPond) pueden después modificar (o añadirse a) las propiedades iniciales del grob; sin embargo, ello no afecta a la definición de grob del contexto.
Lo que LilyPond conoce como ‘propiedades de grob’ en el contexto del trucaje a nivel de usuario son en realidad las propiedades de la definición de grob de un contexto.
Se accede a las definiciones de grob con un conjunto de
instrucciones diferente. Se manipulan usando \override
y
\revert
y tienen un nombre que empieza con una letra
mayúscula (como ‘NoteHead’) mientras que las propiedades de
contexto ordinarias se manipulan utilizando \set
y
\unset
y se nombran empezando en letra minúscula.
Las instrucciones \tweak
y \overrideProperty
cambian
las propiedades de grob pasando por encima de las propiedades de
contexto completamente. En su lugar, atrapan a los grobs tan
pronto se crean, y establecen propiedades sobre ellos directamente
con \tweak
cuando se originan a partir de un evento musical
o, en el caso de \overrideProperty
, para una sobreescritura
específica.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < \set frente a \override ] | [ Up : Modificar las propiedades ] | [ Modificación de las listas-A > ] |
5.3.6 La instrucción \offset
Aunque es posible fijar propiedades de grob a valores nuevos con
las instrucciones \override
, \tweak
y
\overrideProperty
, muchas veces conviene más modificar
dichas propiedades en una cantidad relativa al valor
predeterminado. La instrucción \offset
se encuentra
disponible para este fin.
La sintaxis de \offset
es
[-]\offset propiedad incrementos elemento
La instrucción funciona añadiendo el contenido de incrementos al ajuste predeterminado de la propiedad del grob indicado por elemento.
Dependiendo de la formulación de la instrucción, \offset
puede actuar como un \tweak
(trucaje) o como un
\override
(sobreescritura). Las variaciones en su uso se
explicarán después de haber examinado las propiedades de grob que
se pueden usar con \offset
.
Propiedades que admiten el desplazamiento
Muchas, pero no todas, las propiedades de grob admiten la
aplicación de un desplazamiento. Si propiedad no se puede
desplazar, el objeto permanece sin cambios y se emite una
advertencia. En estos casos se deben usar en su lugar
\override
o \tweak
para modificar el objeto.
Se puede trabajar por ensayo y error y dejar que las advertencias nos sirvan de guía para saber lo que puede o no puede ser desplazado. Sin embargo, es posible un enfoque más sistemático.
Los criterios siguientes determinan si una propiedad se puede
modificar con \offset
:
- La propiedad tiene un ‘ajuste predeterminado’ en la descripción del grob. Tales propiedades aparecen listadas para cada grob en All layout objects (y también están en scm/define-grobs.scm).
- La propiedad admite un valor numérico. Entre los valores
numéricos se encuentran
number
, una lista denumber
s,number-pair
, ynumber-pair-list
. Las páginas de All layout objects contienen una lista de los tipos de datos característicos de cada propiedad. No importa si el ajuste predeterminado es una función. - La propiedad no puede ser una ‘subpropiedad’ (una propiedad que reside dentro de otra propiedad).
- Las propiedades establecidas a valores infinitos no se pueden desplazar. No hay ninguna forma sensata de incrementar los valores infinitos positivos o negativos.
Los ejemplos siguientes tratan diversas propiedades de grob frente a los criterios que se han expuesto.
- Propiedades que se pueden desplazar
Hairpin.height
-
Esta propiedad no es una subpropiedad, y está en la lista que aparece en Hairpin. En cuanto a su valor, admite ‘dimension, in staff space’ (dimensión, en espacios de pentagrama) fijado a
0.6666
(que claramente es unnumber
no infinito). Arpeggio.positions
-
En la lista de la página que describe Arpeggio aparece una propiedad
positions
que admite una ‘pareja de números’. Su valor predeterminado esly:arpeggio::positions
, que es un ‘callback’ que se evalúa durante la fase de tipografiado para dar como resultado una pareja de números para cualguier objetoArpeggio
dado.
- Propiedades que no admiten el desplazamiento
Hairpin.color
-
No hay un listado para
color
en Hairpin. Hairpin.circled-tip
-
La lista de
Hairpin.circled-tip
en la página de Hairpin muestra que admite un valorboolean
. Los valores booleanos so no numéricos. Stem.details.lengths
-
Aunque está listado en Stem y su valor por omisión es una lista de
number
s, es una ‘subpropiedad’. Por el momento no se contemplan las ‘propiedades anidadas’.
\offset como sobreescritura
Si elemento es un nombre de grob como Arpeggio
o
Staff.OttavaBracket
, el resultado es un \override
o
sobreescritura de el tipo de grob especificado.
\offset propiedad incremento [contexto.]NombreDeGrob
Observe que el guión precedente nunca se utiliza con la
forma ‘override’, de igual manera que nunca se usa con la propia
instrucción \override
.
El ejemplo siguiente usa la forma ‘override’, de sobreescritura,
para alargar los arpegios predeterminados que aparecen en el
primer compás para que cubran todo el tamaño de los acordes. Los
arpegios se amplían en medio espacio de pentagrama hacia arriba y
hacia abajo. También se muestra la misma operación efectuada
sobre el primer acorde con una sobreescritura normal de la
propiedad the positions
. Este método no es en absoluto
expresivo de la acción de ‘ampliar en medio espacio de
pentagrama’, porque los extremos se tienen que especificar
mediante coordenadas absolutas, no relativas. Además, se
necesitarían sobreescrituras individuales para los otros acordes,
ya que varían en tamaño y posición.
arpeggioMusic = { <c' e' g'>\arpeggio <a' c'' e''>\arpeggio <d' f' a' c''>\arpeggio <c' e' g' b' d'' f'' a''>\arpeggio } { \arpeggioMusic \bar "||" \offset positions #'(-0.5 . 0.5) Arpeggio \arpeggioMusic \bar "||" \once \override Arpeggio.positions = #'(-3.5 . -0.5) <c' e' g'>1\arpeggio \bar "||" }
En su uso como ‘override’, \offset
se puede hacer
preceder por \once
o por \temporary
y revertirse
mediante \revert
con la propiedad. (véase Funciones de sustitución intermedias). Esto se sigue a
partir del hecho de que \offset
en realidad crea un
\override
para la propiedad.
music = { c'8\< d' e' f'\! } { \music \offset height 1 Hairpin \music \music \revert Hairpin.height \music \bar "||" \once \offset height 1 Hairpin \music \music \bar "||" \override Hairpin.height = 0.2 \music \temporary \offset height 2 Hairpin \music \music \revert Hairpin.height \music \bar "||" }
Así como \override
, la forma ‘override’ de \offset
se puede usar con \undo
y con \single
.
longStem = \offset length 6 Stem { \longStem c'4 c''' c' c'' \bar "||" \undo \longStem c'4 c''' c' c'' \bar "||" \single \longStem c'4 c''' c' c'' \bar "||" }
\offset como trucaje
Si elemento es una expresión musical como (
o
\arpeggio
, el resultado es la misma expresión musical con
un trucaje aplicado.
[-]\offset [NombreDeGrob.]propiedad incrementos expresión-musical
La sintaxis de \offset
en forma de ‘tweak’ es análoga a
la propia instrucción \tweak
, tanto en orden como en cuanto
a la presencia o ausencia del guión inicial.
El ejemplo siguiente usa la forma ‘tweak’ para ajustar la
posición vertical del objeto BreathingSign
. Compárelo con
la instrucción \tweak
normal que también aparece. La
sintaxis es equivalente; sin embargo, la salida de \tweak
es menos intuitiva, ya que BreathingSign.Y-offset
se
calcula a partir de la tercera línea del pentagrama. No es
necesario saber cómo se calcula Y-offset
, al usar
\offset
.
{ c''4 \breathe c''4 \offset Y-offset 2 \breathe c''2 \tweak Y-offset 3 \breathe }
En el ejemplo anterior, los objetos trucados se crearon
directamente a partir de la entrada del usuario: la instrucción
\breathe
era una instrucción explícita para devolver un
objeto BreathingSign
. Dado que el objeto de la instrucción
no es ambiguo, no había necesidad de especificar el nombre del
objeto. Sin embargo, cuando un objeto se crea
indirectamente, es necesario incluir el nombre del grob.
Es lo mismo que para la instrucción \tweak
.
En el ejemplo siguiente, el objeto Beam
se baja en dos
espacios de pentagrama aplicando \offset
a la propiedad
positions
.
La primera aplicación de \offset
exige que se incluya el
nombre del grob, porque nada en el código de entrada crea
explícitamente la barra. En la segunda aplicación, la barra se
crea manualmente con la expresión musical [
; por tanto, el
nombre del grob no es necesario (también aparece en la ilustración
una abreviatura: un solo número se aplica a los dos miembros de
una pareja).
{ c''8 g'' e'' d'' \offset Beam.positions #'(-2 . -2) c''8 g'' e'' d'' c''8 g'' e'' d'' c''8-\offset positions #-2 [ g'' e'' d''] }
\offset con objetos extensos divididos
También es posible modificar segmentos de un objeto que se extiende sobre un salto o saltos de línea. En este caso, offsets admite una lista de valores del tipo de datos requerido por la propiedad.
La instrucción \offset
usada de esta forma es similar a la
instrucción \alterBroken
(véase Modificación de objetos de extensión divididos). Sin
embargo, a diferencia de \alterBroken
, los valores que se
le dan a \offset
son relativos, no absolutos.
El ejemplo siguiente desplaza el objeto ‘dividido’
OttavaBracket
a través de su propiedad
staff-padding
. Dado que la propiedad toma un
number
, se le proporciona a incrementos una lista de
números para aplicarlos a los dos segmentos creados por el salto
de línea. La parte de corchete de la primera línea queda, en
realidad, inalterada, ya que se añade 0
a su valor por
omisión de staff-padding
. El segmento que está en la
segunda línea se eleva tres espacios de pentagrama a partir de su
altura por omisión. La altura predeterminada resulta ser
2
, aunque no es necesario saberlo para conseguir la
posición deseada.
{ \offset staff-padding #'(0 3) Staff.OttavaBracket \ottava #1 c'''2 c''' \break c'''2 c''' }
El ejemplo siguiente copia el efecto de la instrucción
\shape
mediante el incremento de la propiedad
control-points
del objeto Slur
. Aquí,
incrementos es una lista de parejas de números, una por cada
segmento de la ligadura. Este ejemplo produce un resultado
idéntico a la ilustración correspondiente que aparece en
Modificación de las formas.
{ c'4-\offset control-points #'( ((0 . 0) (0 . 0) (0 . 0) (0 . 1)) ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5)) ) ( f'4 g' c'' \break d'4 c'' f' c') }
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < La instrucción \offset ] | [ Up : Modificar las propiedades ] | [ Conceptos y propiedades útiles > ] |
5.3.7 Modificación de las listas-A
Ciertas propiedades configurables por parte del usuario se representan internamente como listas-A (listas asociativas), que almacenan duplas de claves y valores. La estructura de una lista-A es la siguiente:
'((clave1 . valor1) (clave2 . valor2) (clave3 . valor3) …)
Si una lista-A es una propiedad de un grob o una variable de
\paper
, sus claves se pueden modificar individualmente sin
que afecte a las otras claves.
Por ejemplo, para reducir el espacio entre pentagramas adyacentes
dentro de un grupo, use la propiedad staff-staff-spacing
del grob StaffGrouper
. La propiedad es una lista-A con
cuatro claves: basic-distance
(distancia básica),
minimum-distance
(distancia mínima), padding
(relleno) y stretchability
(ampliabilidad). Los ajustes
estándar para esta propiedad se relacionan en la sección
“Backend” de la Referencia de Funcionamiento Interno (véase
StaffGrouper):
'((basic-distance . 9) (minimum-distance . 7) (padding . 1) (stretchability . 5))
Una forma de acercar los pentagramas entre sí es reducir el valor
de la clave basic-distance
(9
) para que se
corresponda con el valor de minimum-distance
(7
).
Para modificar una única clave de forma individual, utilice una
declaración anidada:
% default space between staves \new PianoStaff << \new Staff { \clef treble c''1 } \new Staff { \clef bass c1 } >> % reduced space between staves \new PianoStaff \with { % this is the nested declaration \override StaffGrouper.staff-staff-spacing.basic-distance = #7 } << \new Staff { \clef treble c''1 } \new Staff { \clef bass c1 } >>
La utilización de una declaración anidada actualiza la clave
especificada (como basic-distance
en el ejemplo anterior)
sin alterar ninguna de las otras claves que ya se habían
establecido para la misma propiedad.
Ahora, supongamos que deseamos que los pentagramas estén tan próximos como sea posible sin que se superpongan. La manera más sencilla de hacerlo es establecer las cuatro claves de la lista-A a cero. Sin embargo, no es necesario escribir cuatro declaraciones anidadas, una por cada clave. En lugar de eso, se puede redefinir completamente la propiedad con una sola declaración, como una lista-A:
\new PianoStaff \with { \override StaffGrouper.staff-staff-spacing = #'((basic-distance . 0) (minimum-distance . 0) (padding . 0) (stretchability . 0)) } << \new Staff { \clef treble c''1 } \new Staff { \clef bass c1 } >>
Observe que cualquier clave que no haya sido relacionada
explícitamente en la definición de la lista-A, será reiniciada a
sus valores predeterminados si no se han fijado. En el
caso de staff-staff-spacing
, el valor de cualquier clave no
fijada se reiniciaría a cero (excepto stretchability
, que
toma el valor de basic-distance
si no se fija). Así, las
dos declaraciones siguientes son equivalentes:
\override StaffGrouper.staff-staff-spacing = #'((basic-distance . 7)) \override StaffGrouper.staff-staff-spacing = #'((basic-distance . 7) (minimum-distance . 0) (padding . 0) (stretchability . 7))
Una consecuencia de esto (posiblemente no intencionada) es la
eliminación de cualquier valor estándar que se establezca en un
archivo de inicio y que se carga cada vez que se compila un
archivo de entrada. En el ejemplo anterior, los ajustes estándar
para padding
y minimum-distance
(definidos en
scm/define-grobs.scm) se reinician a sus valores
predeterminados si no se han fijado (cero para las dos claves).
La definición de una propiedad o variable como una lista-A (de
cualquier tamaño) siempre reinicia todos los valores de clave no
establecidos a sus valores predeterminados si no se han fijado.
Ano ser que este sea el resultado deseado, es más seguro
actualizar los valores de clave individualmente con una
declaración anidada.
Nota: Las declaraciones anidadas no funcionan para las listas-A
de propiedades de contexto (como beamExceptions
,
keyAlterations
, timeSignatureSettings
, etc.). Estas
propiedades sólo se pueden modificar redefiniéndolas completamente
como listas-A.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Modificación de las listas-A ] | [ Up : Cambiar los valores por omisión ] | [ Modos de entrada > ] |
5.4 Conceptos y propiedades útiles
5.4.1 Modos de entrada
La forma en que se interpreta la notación contenida dentro de un
archivo de entrada, está determinada por el modo de entrada en
curso. In general,
there are two ways of specifying the mode: a long form, e.g.
\chordmode
, and a short form, e.g. \chords
. The long
form is typically used when supplying input to a variable or when
entering input directly into an explicitly created context. The short
form implicitly creates a context of the correct type for the input and
passes the input directly to it. It is useful in simple situations
when there is no requirement to explicitly create the receiving context.
Modo de acordes
Se activa con la instrucción \chordmode
y produce que la
entrada se interprete con al sintaxis de la notación de acordes,
véase Notación de acordes. Music in chord mode is rendered as chords on a staff
when entered into a Staff
context, as chord names when entered
into a ChordNames
context or as fret boards when entered into
a FretBoards
context.
El modo de acordes se activa también con la instrucción
\chords
. Esto también produce que el código que sigue se interprete con la
sintaxis de la notación de acordes but in addition it implicitly creates a new
ChordNames
context and renders the input into it as chord names, véase Impresión de los nombres de acorde.
Modo de percusión
Se activa con la instrucción \drummode
y produce que el
código de entrada se interprete con la sintaxis de la notación de
percusión, véase Notación básica de percusión. Music in drum mode is rendered as
percussion notes when entered into a DrumStaff
context.
El modo de percusión también se activa con la instrucción
\drums
. También
hace que el código que sigue se interprete con la sintaxis de la
notación de percusión but in addition it implicitly creates a new
DrumStaff
context and renders the input into it as percussion
notes, véase Notación básica de percusión.
Modo de cifras
Se activa con la instrucción \figuremode
y hace que el código
de entrada se interprete con la sintaxis del bajo cifrado, véase
Introducir el bajo cifrado. Music in figure mode is rendered as
figured bass when entered into a FiguredBass
context or a
Staff
context.
El modo de cifras también se activa con la instrucción
\figures
. También hace que el código que viene a continuación se interprete
con la sintaxis del bajo cifrado but in addition it implicitly creates a new
FiguredBass
context and renders the input into it as figured
bass, véase
Introducción al bajo cifrado.
Modos de traste y tablatura
No existen modos de entrada especiales para introducir símbolos de trastes y de tablatura.
Para crear diagramas de trastes, escriba las notas o acordes en el
modo de notas e imprímalos dentro de un contexto TabStaff
,
véase Tablaturas predeterminadas.
Para crear diagramas de trastes encima de un pentagrama, enter notes or chords in either
note mode or chord mode and render them in a FretBoards
context, véase Diagramas de traste automáticos. Alternatively, los diagramas de trastes se pueden introducir como elementos de marcado encima de las notas
utilizando la instrucción \fret-diagram
, véase
Marcas de diagramas de trastes.
Modo de letra
Se activa con la instrucción \lyricmode
, y hace que la
entrada se interprete como sílabas de la letra de la canción con
duraciones opcionales y modificadores de letra asociados, véase
Música vocal. Input in
lyric mode is rendered as lyric syllables when entered into a
Lyrics
context.
El modo de letra también se habilita con la instrucción
\addlyrics
. This
also causes the following input to be interpreted as lyric syllables
but in addition it implicitly creates a new Lyrics
context and
renders the input into it as lyric syllables.
Lyric mode is also activated with the \addlyrics
command. Esto también crea un contexto Lyrics
nuevo y además añade una instrucción \lyricsto
implícita que asocia la
letra que viene a continuación con la música precedente, véase Duración automática de las sílabas.
Modo de marcado
Se activa con la instrucción \markup
, y hace que la entrada
se interprete con la sintaxis del marcado, véase
Instrucciones de marcado de texto.
Modo de notas
Es el modo predeterminado o se puede activar con la instrucción
\notemode
. La entrada se interpreta como alturas,
duraciones, marcado, etc. y se imprime como notación musical sobre
un pentagrama.
Normalmente no es necesario especificar el modo de notas de forma explícita, pero puede ser útil hacerlo en ciertas situaciones, por ejemplo si estamos en el modo de letra, en el modo de acordes o en otro modo y queremos insertar algo que solamente se puede hacer con la sintaxis del modo de notas.
5.4.2 Dirección y posición
Al tipografiar música, la dirección y colocación de muchos elementos es cuestión de elección. Por ejemplo, las plicas de las notas se pueden dirigir hacia arriba o hacia abajo; la letra, las indicaciones dinámicas y otras marcas expresivas se pueden colocar encima o debajo del pentagrama; el texto se pude alinear a la izquierda, a la derecha o centrado; etc. La mayoría de estas elecciones pueden dejarse que LilyPond las determine automáticamente, pero en ciertos casos puede ser deseable forzar una dirección o colocación concreta.
Indicadores de dirección de las articulaciones | ||
La propiedad de dirección |
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Dirección y posición ] | [ Up : Dirección y posición ] | [ La propiedad de dirección > ] |
Indicadores de dirección de las articulaciones
De forma predeterminada algunas direcciones siempre son hacia arriba o siempre hacia abajo (p. ej. los matices o el calderón), mientras que otras cosas pueden alternar entre arriba y abajo en función de la dirección de las plicas (como las ligaduras o los acentos).
Se puede sobreescribir la acción predeterminada mediante el
prefijado de la articulación por un indicacor de dirección.
Están disponibles tres indicadores de dirección: ^
(que
significa “arriba”), _
(que significa “abajo”) o
-
(que significa “usar la dirección predeterminada”).
El indicador de dirección se puede normalmente omitir, en cuyo
caso se supone el indicador predeterminado -
, pero se
necesita un indicador de dirección siempre antes de:
- las instrucciones
\tweak
- las instrucciones
\markup
- las instrucciones
\tag
- los marcados de cadena, p.ej. -"cadena"
- las instrucciones de digitación, p.ej.
-1
- las abreviaturas de articulación, p.ej.
-.
,->
,--
Estas indicaciones afectan sólo a la nota siguiente.
\relative { c''2( c) c2_( c) c2( c) c2^( c) }
La propiedad de dirección
La posición o dirección de muchos objetos de presentación está
controlada por la propiedad direction
.
El valor de la propiedad direction
se puede establecer al
valor 1
, con el significado de “hacia arriba” o
“encima”, o a -1
, con el significado de “hacia
abajo” o “debajo”. Se pueden usar los símbolos UP
y
DOWN
en sustitución de 1
y -1
respectivamente. La dirección predeterminada se puede especificar
estableciendo direction
a 0
ó a CENTER
. De
forma alternativa, en muchos casos existen instrucciones
predefinidas para especificar la dirección. Todas ellas son de la
forma:
\xxxUp, \xxxDown o \xxxNeutral
donde \xxxNeutral
significa “utilizar la dirección
predeterminada”. Véase Objetos interiores al
pentagrama.
En alguna que otra ocasión como en el arpegio, el valor de la
propiedad direction
puede especificar si el objeto se debe
colocar a la izquierda o a la derecha del objeto padre. En este
caso -1
ó LEFT
significan “a la izquierda” y
1
ó RIGHT
significan “a la derecha”. 0
ó
CENTER
significan “utilizar la dirección
predeterminada”.
Estas indicaciones afectan a todas las notas hasta que son canceladas.
\relative { c''2( c) \slurDown c2( c) c2( c) \slurNeutral c2( c) }
En música polifónica, en general es mejor especificar una voz explícita que cambiar la dirección de un objeto. Para ver más información, véase Varias voces.
Véase también
Manual de aprendizaje: Objetos interiores al pentagrama.
Referencia de la notación: Varias voces.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < La propiedad de dirección ] | [ Up : Conceptos y propiedades útiles ] | [ Dimensiones > ] |
5.4.3 Distancias y medidas
Las distancias en LilyPond son de dos tipos: absolutas y escaladas.
Las distancias absolutas se usan para especificar márgenes,
sangrados y otros detalles de diseño de página, y de forma
predeterminada se especifican en milímetros. Las distancias se
pueden especificar en otras unidades escribiendo después de la
cifra indicativa de la cantidad, \mm
, \cm
,
\in
(pulgadas), o \pt
(puntos, 1/72.27
pulgadas). Las distancias de diseño de página se pueden
especificar también en unidades escalables (véase el párrafo
siguiente) adjuntando \staff-space
a la cantidad. La
disposición de página se describe en detalle en Disposición de la página.
Las distancias escaladas siempre se especifican en unidades de un
espacio del pentagrama o, más raramente, medio espacio del
pentagrama. El espacio de pentagrama es la distancia entre dos
líneas del pentagrama adyacentes. El valor predeterminado se
puede cambiar globalmente fijando el tamaño global del pentagrama,
o se puede sobreescribir localmente cambiando la propiedad
staff-space
del objeto StaffSymbol
. Las distancias
escaladas se escalan automáticamente con cualquier cambio al
tamaño global del pentagrama o a la propiedad staff-space
del objeto StaffSymbol
, pero las fuentes tipográficas se
escalan solamente con los cambios efectuados al tamaño global del
pentagrama. Así, el tamaño global del pentagrama posibilita la
fácil variación del tamaño general de una partitura impresa. Para
ver los métodos de establecimiento del tamaño global del
pentagrama, véase Establecer el tamaño del pentagrama.
Si se necesita dibujar sólo una sección de una partitura a una
escala distinta, por ejemplo una sección ossia o una nota al pie,
no se puede simplemente cambiar el tamaño global del pentagrama
porque esto afectaría a toda la partitura. En tales casos, el
cambio de tamaño se hace sobreescribiendo tanto la propiedad
staff-space
de StaffSymbol
como el tamaño de las
fuentes tipográficas. Está a nuestra disposición una función de
Scheme, magstep
, para convertir de un cambio en el tamaño
de la fuente al cambio equivalente en staff-space
. Para
ver una explicación y un ejemplo de su utilización, consulte
Longitud y grosor de los objetos.
Véase también
Manual de aprendizaje: Longitud y grosor de los objetos.
Referencia de la notación: Disposición de la página, Establecer el tamaño del pentagrama.
5.4.4 Dimensiones
Las dimensiones de un objeto gráfico especifican las posiciones de
los límites izquierdo y derecho, así como los límites inferior y
superior de las cajas limítrofes de los objetos como distancias a
partir del punto de referencia del objeto en unidades de espacios
de pentagrama. Estas posiciones se codifican frecuentemente como
dos parejas de valores de Scheme. Por ejemplo, la instrucción de
marcado de texto \with-dimensions
toma tres argumentos, de
los cuales los dos primeros son una pareja de Scheme que da las
posiiciones de los bordes izquierdo y derecho y otra pareja de
Scheme que da las posiciones de los límites inferior y superior:
\with-dimensions #'(-5 . 10) #'(-3 . 15) arg
Esto especifica una caja circundante para arg con su límite izquierdo en -5, su límite derecho en 10, el inferior en -3 y el superior e 15, todos ellos medidos a partir del punto de referencia del objeto en unidades de espacios de pentagrama.
Véase también
Referencia de la notación: Distancias y medidas.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Dimensiones ] | [ Up : Conceptos y propiedades útiles ] | [ Objetos de extensión > ] |
5.4.5 Propiedades del símbolo del pentagrama
Se puede definir al mismo tiempo la posición vertical de las líneas de la pauta y el número de líneas de la misma. Como muestra el siguiente ejemplo, las posiciones de las notas no están influidas por las posiciones de las líneas de la pauta.
Nota: La propiedad 'line-positions
sobreescribe a la
propiedad 'line-count
. El número de líneas de la pauta
está definido implícitamente por el número de elementos de la
lista de valores de 'line-positions
.
\new Staff \with { \override StaffSymbol.line-positions = #'(7 3 0 -4 -6 -7) } \relative { a4 e' f b | d1 }
Se puede modificar la anchura de la pauta. Las unidades son espacios de pentagrama. El espaciado de los objetos dentro del pentagrama no resulta afectado por este ajuste.
\new Staff \with { \override StaffSymbol.width = #23 } \relative { a4 e' f b | d1 }
5.4.6 Objetos de extensión
Muchos objetos de notación musical abarcan varias notas o incluso varios compases. Son ejemplos los crescendi, trinos, corchetes de grupo especial y corchetes de primera y segunda vez. Estos objetos se llaman “spanners” u «objetos de extensión», y tienen propiedades especiales para controlar su apariencia y comportamiento. Algunas de estas propiedades son comunes a todos los objetos de extensión; otras se limitan a un subconjunto de los extensores.
Todos los objetos de extensión contemplan el interface
spanner-interface
. Algunos, básicamente aquellos que
trazan una línea recta entre los dos objetos, contemplan también
el interface line-spanner-interface
.
Uso del spanner-interface | ||
Uso del line-spanner-interface |
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Objetos de extensión ] | [ Up : Objetos de extensión ] | [ Uso del line-spanner-interface > ] |
Uso del spanner-interface
Este interface proporciona dos propiedades que se aplican a varios extensores.
La propiedad minimum-length
(longitud mínima)
La longitud mínima del objeto de extensión se especifica a través
de la propiedad minimum-length
. Su aumento suele producir
el efecto necesario de aumentar el espaciado de las notas entre
los dos puntos extremos. Sin embargo, esta sobreescritura no
tiene ningún efecto sobre muchos extensores, pues su longitud está
determinada por otras consideraciones. Más abajo se muestran
algunos ejemplos de dónde es efectiva.
a'~ a' a' % increase the length of the tie -\tweak minimum-length #5 ~ a'
\relative \compressMMRests { a'1 R1*23 % increase the length of the rest bar \once \override MultiMeasureRest.minimum-length = #20 R1*23 a1 }
\relative { a' \< a a a \! % increase the length of the hairpin \override Hairpin.minimum-length = #20 a \< a a a \! }
Esta sobreescritura se puede usar también para aumentar la longitud de las ligaduras de expresión y de fraseo:
\relative { a'( g) a -\tweak minimum-length #5 ( g) a\( g\) a -\tweak minimum-length #5 \( g\) }
Para algunos objetos de presentación, la propiedad
minimum-length
es efectiva sólo si se llama explícitamente
al procedimiento set-spacing-rods
. Para hacerlo, se debe
fijar la propiedad springs-and-rods
al valor
ly:spanner::set-spacing-rods
. Por ejemplo, la longitud
mínima de un glissando no tiene efecto a no ser que se establezca
la propiedad springs-and-rods
:
% default e' \glissando c'' % not effective alone \once \override Glissando.minimum-length = #20 e' \glissando c'' % effective only when both overrides are present \once \override Glissando.minimum-length = #20 \once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods e' \glissando c''
Lo mismo se puede decir del objeto Beam
:
% not effective alone \once \override Beam.minimum-length = #20 e'8 e' e' e' % effective only when both overrides are present \once \override Beam.minimum-length = #20 \once \override Beam.springs-and-rods = #ly:spanner::set-spacing-rods e'8 e' e' e'
La propiedad to-barline
La segunda propiedad útil del spanner-interface
es
to-barline
. De forma predeterminada tiene el valor cierto,
haciendo que los reguladores y otros objetos de extensión que
terminan sobre la primera nota de un compás, en vez de eso
terminen en la línea divisoria inmediatamente precedente. Si se
establece al valor falso, el extensor llegará más allá de la barra
de compás y terminará exactamente sobre la nota:
\relative { a' \< a a a a \! a a a \break \override Hairpin.to-barline = ##f a \< a a a a \! a a a }
Esta propiedad no es efectiva para todos los extensores. Por
ejemplo, su establecimiento a #t
no tienen ningún efecto
sobre las ligaduras de expresión o de fraseo, o sobre otros
extensores para los que terminar en la barra de compás no tendría
ningún significado.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Uso del spanner-interface ] | [ Up : Objetos de extensión ] | [ Visibilidad de los objetos > ] |
Uso del line-spanner-interface
Entre los objetos que contemplan el interface
line-spanner-interface
se encuentran
-
DynamicTextSpanner
-
Glissando
-
TextSpanner
-
TrillSpanner
-
VoiceFollower
La rutina responsable de dibujar los sellos de estos extensores es
ly:line-spanner::print
. esta rutina determina la
localización exacta de los dos puntos extremos y traza una línea
entre ellos, en el estilo solicitado. Las posiciones de los dos
puntos extremos del extensor se calculan al vuelo, pero es posible
sobreescribir sus coordenadas Y. Las propiedades que se deben
especificar están anidadas a dos niveles de profundidad en la
jerarquía de propiedades, pero la sintaxis de la instrucción
\override
es bastante sencilla:
e''2 \glissando b' \once \override Glissando.bound-details.left.Y = #3 \once \override Glissando.bound-details.right.Y = #-2 e''2 \glissando b'
Las unidades para la propiedad Y
son staff-space
s,
siendo el punto del cero la línea central del pentagrama. Para el
glissando, esto es el valor de Y
en la coordenada X que
corresponde al punto central de cada cabeza de nota si nos
imaginamos que la línea se extiende hasta allí.
Si no está fijado Y
, su valor se calcula a partir de la
posición vertical del punto de anclaje correspondiente del
extensor.
En caso de salto de línea, los valores para los puntos extremos se
especifican por las sub-listas left-broken
y
right-broken
de bound-details
. Por ejemplo:
\override Glissando.breakable = ##t \override Glissando.bound-details.right-broken.Y = #-3 c''1 \glissando \break f''1
Un número de propiedades adicionales de las sub-listas left
y right
de la propiedad bound-details
se pueden
especificar de la misma forma que Y
:
Y
Establece la coordenada Y del punto extremo, en desplazamientos de
staff-space
s desde la línea central del pentagrama. De forma predeterminada es el centro del objeto ancla, y así un glissando apunta al centro vertical de la cabeza de la nota.Para extensores horizontales como los extensores de texto y los trinos, está inamoviblemente codificado como 0.
attach-dir (dirección de anclaje)
Determina dónde comienza y termina la línea en la dirección X, con relación al objeto ancla. Sí, un valor de
-1
(oLEFT
, izquierda) hace que la línea comience o termine en el lado izquierdo de la cabeza de la nota a la que está anclado.X
Es la coordenada X absoluta del punto extremo. Se suele calcular al vuelo, y su sobreescritura no tiene un efecto útil.
stencil (sello)
Los extensores de línea pueden tener símbolos al comienzo o al final, lo que está contenido en esta sub-propiedad. Esto es para uso interno; se recomienda en su lugar el uso de
text
.text (texto)
Es un elemento de marcado que se evalúa para dar lugar al sello. Se usa para escribir cresc., tr y otros textos sobre los objetos de extensión horizontales.
\override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } \relative { c''2\startTextSpan b c a\stopTextSpan }
stencil-align-dir-y (alineación del sello en y)
stencil-offset (desplazamiento del sello)
Si no se modifican uno u otro, el sello se coloca sencillamente en el punto extremo, centrado sobre la línea, como viene definido por las subpropiedades
X
eY
. Si se fijanstencil-align-dir-y
ostencil-offset
se moverá el símbolo del borde verticalmente con relación al extremo de la línea:\override TextSpanner.bound-details.left.stencil-align-dir-y = #-2 \override TextSpanner.bound-details.right.stencil-align-dir-y = #UP \override TextSpanner.bound-details.left.text = "ggg" \override TextSpanner.bound-details.right.text = "hhh" \relative { c'4^\startTextSpan c c c \stopTextSpan }
Observe que los valores negativos mueven el texto hacia arriba, al contrario de lo que podría esperarse, pues el valor de
-1
oDOWN
(abajo) significa alinear el borde inferior del texto con la línea de extensión. Un valor de1
oUP
(arriba) alinea el borde superior del texto con la línea extensora.arrow (flecha)
Al establecer esta sub-propiedad a
#t
se produce una punta de flecha en el extremo de la línea.padding (relleno)
Esta sub-propiedad controla el espacio entre el punto extremo especificado de la línea y el extremo real. Sin relleno, un glissando empezaría y terminaría en el centro de la cabeza de las notas.
La función musical \endSpanners
finaliza de forma prematura
el extensor que comienza sobre la nota que sigue inmediatamente a
continuación. Se termina después de una nota exactamente, o en la
siguiente barra de compás si to-barline
es verdadero y se
produce una divisoria antes de la siguiente nota.
\relative c'' { \endSpanners c2 \startTextSpan c2 c2 \endSpanners c2 \< c2 c2 }
Si se usa \endSpanners
no es necesario cerrar
\startTextSpan con \stopTextSpan, ni cerrar los reguladores con
\!
.
Véase también
Referencia de funcionamiento interno: TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Uso del line-spanner-interface ] | [ Up : Conceptos y propiedades útiles ] | [ Eliminar el sello > ] |
5.4.7 Visibilidad de los objetos
Hay cuatro formas principales en que se puede controlar la
visibilidad de los objetos de presentación: se puede eliminar su
sello, se pueden volver transparentes, se pueden pintar de blanco,
o se puede sobreescribir su propiedad break-visibility
.
Las tres primeras se aplican a todos los objetos de presentación;
la última sólo a unos pocos: los objetos divisibles. El
Manual de aprendizaje introduce estas cuatro técnicas, véase
Visibilidad y color de los objetos.
Hay también algunas otras técnicas que son específicas de ciertos objetos de presentación. Se estudian bajo Consideraciones especiales.
Eliminar el sello | ||
Hacer transparentes los objetos | ||
Pintar los objetos de blanco | ||
Uso de break-visibility (visibilidad en el salto) | ||
Consideraciones especiales |
Eliminar el sello
Todo objeto de presentación tiene una propiedad stencil (sello).
De forma predeterminada está establecida a la función específica
que dibuja ese objeto. Si se sobreescribe esta propiedad a
#f
no se llama a ninguna función y el objeto no se dibuja.
La acción predeterminada se puede recuperar con \revert
.
a1 a \override Score.BarLine.stencil = ##f a a \revert Score.BarLine.stencil a a a
Esta operación, bastante común, tiene la forma abreviada
\omit
como atajo:
a1 a \omit Score.BarLine a a \undo \omit Score.BarLine a a a
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Eliminar el sello ] | [ Up : Visibilidad de los objetos ] | [ Pintar los objetos de blanco > ] |
Hacer transparentes los objetos
Todo objeto de presentación tiene una propiedad transparent
(transparente) que de forma predeterminada está establecida a
#f
. Si se fija a #t
el objeto aún ocupa espacio
pero es invisible.
a'4 a' \once \override NoteHead.transparent = ##t a' a'
Esta operación, bastante común, tiene la forma abreviada \hide
como atajo:
a'4 a' \once \hide NoteHead a' a'
Pintar los objetos de blanco
Todo objeto de presentación tiene una propiedad de color que de
forma predeterminada está establecida a black
(negro). Si
se sobreescribe a white
(blanco) el objeto será
indistinguible del fondo blanco. Sin embargo, si el objeto cruza
a otros objetos, el color de los puntos de cruce queda determinado
por el orden en que se dibujan estos objetos, lo que puede dejar
una imagen fantasma del objeto blanco, como puede verse aquí:
\override Staff.Clef.color = #white a'1
Se puede evitar esto cambiando el orden de impresión de los
objetos. Todos los objetos de presentación tienen una propiedad
layer
(capa) que se debe establecer a un valor entero. Los
objetos con el valor de layer
más bajo se dibujan primero,
después se dibujan los objetos con valores progresivamente
mayores, y así los objetos con valores más altos se dibujan encima
de los que tienen valores más bajos. De forma predeterminada,
casi todos los objetos tienen asignado un valor layer
de
1
, aunque algunos objetos, entre ellos el pentagrama y las
líneas divisorias, StaffSymbol
y BarLine
, tienen
asignado un calor de 0
. El orden de impresión de los
objetos con el mismo valor de layer
es indeterminado.
En el ejemplo de arriba, la clave blanca, con un valor
layer
predeterminado de 1
, se dibuja después de las
líneas del pentagrama (valor layer
predeterminado de
0
), sobreimpresionándolas. Para cambiarlo, se debe dar al
objeto Clef
un valor de layer
más bajo, digamos
-1
, para que se dibuje antes:
\override Staff.Clef.color = #white \override Staff.Clef.layer = #-1 a'1
Uso de break-visibility (visibilidad en el salto)
Casi todos los objetos de presentación se imprimen una sola vez,
pero algunos como las líneas divisorias, claves, indicaciones de
compás y armaduras de tonalidad, se pueden tener que imprimir dos
veces cuando se produce un salto de línea : una vez al final de la
línea y otra al comienzo de la siguiente. Estos objetos reciben
el nombre de divisibles, y tienen una propiedad,
break-visibility
(visibilidad en el salto), para controlar
su visibilidad en las tres posiciones en que pueden aparecer: al
comienzo de una línea, dentro de la línea si se produce un cambio,
y al final de la línea si el cambio se produce en ese lugar.
Por ejemplo, la indicación de compás se imprime de forma predeterminada al comienzo de la primera línea y en ningún otro lugar a no ser que cambie, en cuyo caso se imprime en el punto en que se produce el cambio. Si este cambio se produce al final de una línea, la nueva indicación de compás se imprime al principio de la línea siguiente y también al final de la línea anterior como indicación de precaución.
Este comportamiento se controla por medio de la propiedad
break-visibility
, que se explica en
Visibilidad y color de los objetos. Esta propiedad
toma un vector de tres valores booleanos que, por orden,
determinan si el objeto se imprime al final, dentro, o al
principio de la línea. O, para ser más exactos: antes del salto
de línea, si no hay salto, o después del salto.
Como alternativa se puede especificar cualquiera de las ocho combinaciones mediante funciones predefinidas cuya definición está en scm/output-lib.scm, donde las tres últimas columnas indican si los objetos de presentación serán visibles en las posiciones que se muestran en el encabezamiento de cada columna:
Forma | Forma | Antes del | Si no hay | Después del |
---|---|---|---|---|
de función | de vector | salto | salto | salto |
all-visible | #(#t #t #t) | sí | sí | sí |
begin-of-line-visible | #(#f #f #t) | no | no | sí |
center-visible | #(#f #t #f) | no | sí | no |
end-of-line-visible | #(#t #f #f) | sí | no | no |
begin-of-line-invisible | #(#t #t #f) | sí | sí | no |
center-invisible | #(#t #f #t) | sí | no | sí |
end-of-line-invisible | #(#f #t #t) | no | sí | sí |
all-invisible | #(#f #f #f) | no | no | no |
Los ajustes predeterminados de break-visibility
dependen
del objeto de presentación. La tabla siguiente muestra todos los
objetos de presentación de interés que resultan afectados por
break-visibility
y el ajuste predeterminado de esta
propiedad:
Objeto | Contexto usual | Valor predet. |
---|---|---|
BarLine | Score | calculado |
BarNumber | Score | begin-of-line-visible |
BreathingSign | Voice | begin-of-line-invisible |
Clef | Staff | begin-of-line-visible |
Custos | Staff | end-of-line-visible |
DoublePercentRepeat | Voice | begin-of-line-invisible |
KeyCancellation | Staff | begin-of-line-invisible |
KeySignature | Staff | begin-of-line-visible |
ClefModifier | Staff | begin-of-line-visible |
RehearsalMark | Score | end-of-line-invisible |
TimeSignature | Staff | all-visible |
El ejemplo de abajo muestra el uso de la forma de vector para controlar la visibilidad de las líneas divisorias:
\relative { f'4 g a b f4 g a b % Remove bar line at the end of the current line \once \override Score.BarLine.break-visibility = ##(#f #t #t) \break f4 g a b f4 g a b }
Aunque los tres componentes del vector utilizado para
sobreescribir break-visibility
deben estar presentes, no
todos son efectivos para todos los objetos de presentación, y
algunas combinaciones pueden incluso dar errores. Son de
aplicación las siguientes limitaciones:
- Las líneas divisorias no se pueden imprimir al principio de la línea.
- No se puede imprimir el número de compás al principio de la
primera línea a no ser que su valor establecido sea
distinto de
1
. - Clave: véase la sección siguiente.
- Las repeticiones dobles de tipo porcentaje se imprimen todas
siempre o bien no se imprimen nunca. Utilice
begin-of line-invisible
para imprimirlas yall-invisible
para suprimirlas. - Armadura: véase la sección siguiente.
- ClefModifier: véase la sección siguiente.
Consideraciones especiales
Visibilidad después de un cambio explícito
La propiedad break-visibility
controla la visibilidad de
las armaduras y cambios de clave sólo al principio de las líneas,
es decir, después de un salto. No tiene ningún efecto sobre la
visibilidad de la armadura o la clave después de un cambio
explícito de tonalidad o de clave dentro o al final de una línea.
En el ejemplo siguiente la armadura que sigue al cambio explícito
de tonalidad a Si bemol mayor es visible incluso con
all-invisible
establecido.
\relative { \key g \major f'4 g a b % Try to remove all key signatures \override Staff.KeySignature.break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b }
La visibilidad de estos cambios explícitos de tonalidad y de clave
se controla por medio de las propiedades
explicitKeySignatureVisibility
y
explicitClefVisibility
. Son los equivalentes de la
propiedad break-visibility
y las dos toman un vector de
tres valores booleanos o las funciones predefinidas relacionadas
anteriormente, exactamente igual que break-visibility
. Las
dos son propiedades del contexto Staff, no de los propios objetos
de presentación, y por tanto se establecen utilizando la
instrucción \set
. Las dos están establecidas de forma
predeterminada al valor all-visible
. Estas propiedades
controlan sólo la visibilidad de las armaduras y las claves que
resultan de los cambios explícitos y no afectan a las armaduras y
tonalidades que están al principio de las líneas; para quitarlas,
aún se debe sobreescribir la propiedad break-visibility
en
el objeto correspondiente.
\relative { \key g \major f'4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \override Staff.KeySignature.break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b }
Visibilidad de las alteraciones de precaución
Para eliminar las alteraciones de cancelación que se imprimen en
un cambio de tonalidad explícito, establezca la propiedad
printKeyCancellation
del contexto Staff a #f
:
\relative { \key g \major f'4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \set Staff.printKeyCancellation = ##f \override Staff.KeySignature.break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b }
Con estas sobreescrituras solamente permanecen las alteraciones accidentales delante de las notas para indicar el cambio de tonalidad.
Observe que al modificar la tonalidad a Do mayor o
La menor, las alteraciones de cancelación serían la
única indicación del cambio de armadura. En este caso, el
establecimiento de printKeyCancellation
al valor #f
no tiene ningún efecto:
\relative { \key g \major f'4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \set Staff.printKeyCancellation = ##f \key c \major f4 g a b \break f4 g a b f4 g a b }
En lugar de ello, para suprimir las alteraciones de cancelación
aún cuando la armadura cambia a Do mayor o a La menor,
sobreescriba la visibilidad del grob KeyCancellation
:
\relative { \key g \major f'4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \override Staff.KeyCancellation.break-visibility = #all-invisible \key c \major f4 g a b \break f4 g a b f4 g a b }
Líneas divisorias automáticas
Como caso especial, la impresión de las líneas divisorias también
se puede inhabilitar estableciendo la propiedad
automaticBars
en el contexto Score. Si se fija a
#f
, las barras de compás no se imprimen automáticamente; se
deben crear explícitamente con una instrucción \bar
. A
diferencia de la instrucción predefinida \cadenzaOn
, los
compases se siguen contando. La generación de compases continúa
de acuerdo a esta cuenta si esta propiedad se establece
posteriormente a #t
. Si se fija al valor #f
, sólo
pueden producirse saltos de línea en instrucciones \bar
explícitas.
Claves transportadas
El pequeño símbolo de transposición sobre una clave se produce por
parte del objeto ClefModifier
. Su visibilidad se hereda
automáticamente de la del objeto Clef
, así que no es
necesario aplicar las sobreescrituras correspondientes
break-visibility
a los objetos ClefModifier
para
suprimir los símbolos de transposición u octavación para las
claves invisibles.
Para los cambios de clave explícitos, la propiedad
explicitClefVisibility
controla tanto el símbolo de clave
como el símbolo de transposición o de octava asociado.
Véase también
Manual de aprendizaje: Visibilidad y color de los objetos
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Consideraciones especiales ] | [ Up : Conceptos y propiedades útiles ] | [ Rotación de objetos > ] |
5.4.8 Estilos de línea
Ciertas indicaciones de ejecución, p.ej., rallentando, accelerando y los trinos se escriben como texto y se extienden sobre muchos compases mediante líneas, a veces punteadas u onduladas.
Todos ellos usan las mismas rutinas que el glissando para dibujar
los textos y las líneas, y por ello el ajuste fino de su
comportamiento se hace de la misma manera. Se hace con un spanner
(un objeto de extensión), y la rutina responsable de dibujar los
objetos de extensión es ly:line-spanner::print
. Esta rutina
determina la colocación exacta de los dos extremos del objeto
de extensión y dibuja una línea entre ellos, en el estilo
solicitado.
He aquí un ejemplo de los distintos estilos de línea disponibles, y cómo aplicarles ajustes finos.
\relative { d''2 \glissando d'2 \once \override Glissando.style = #'dashed-line d,2 \glissando d'2 \override Glissando.style = #'dotted-line d,2 \glissando d'2 \override Glissando.style = #'zigzag d,2 \glissando d'2 \override Glissando.style = #'trill d,2 \glissando d'2 }
Las posiciones de los puntos extremos del objeto de extensión se computan al vuelo para cada uno de los objetos gráficos, pero es posible sobreescribirlos:
\relative { e''2 \glissando f \once \override Glissando.bound-details.right.Y = #-2 e2 \glissando f }
El valor de Y
está establecido a -2
para el
extremo derecho. El lado izquierdo se puede ajustar de forma
similar especificando left
en vez de right
.
Si no está establecido Y
, el valor se computa a partir de la
posición vertical de los puntos de anclaje izquierdo y derecho del
extensor.
Son posibles otros ajustes de los extensores, para ver más detalles consulte Objetos de extensión.
5.4.9 Rotación de objetos
Tanto los objetos de presentación como los elementos de texto de marcado se pueden girar cualquier ángulo respecto a cualquier punto, pero difiere el método de hacerlo.
Rotación de objetos de presentación | ||
Rotación de elementos de marcado |
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Rotación de objetos ] | [ Up : Rotación de objetos ] | [ Rotación de elementos de marcado > ] |
Rotación de objetos de presentación
Todos los objetos de presentación que contemplan el interface
grob-interface
se pueden rotar estableciendo su propiedad
rotation
. Acepta una lista de tres elementos: el ángulo de
la rotación en sentido antihorario, y las coordenadas x e y del
punto con relación al punto de referencia del objeto, alrededor
del que se va a realizar la rotación. El ángulo de rotación se
especifica en grados y las coordenadas en espacios de pentagrama.
El ángulo de rotación y las coordenadas del punto de rotación se deben determinar por ensayo y error.
Solamente en ciertas ocasiones es útil la rotación de objetos de presentación; el ejemplo siguiente muestra una situación en que puede serlo:
g4\< e' d'' f''\! \override Hairpin.rotation = #'(15 -1 0) g4\< e' d'' f''\!
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Rotación de objetos de presentación ] | [ Up : Rotación de objetos ] | [ Trucos avanzados > ] |
Rotación de elementos de marcado
Todos los textos de marcado se pueden rotar para que se dispongan
en cualquier ángulo precediéndolos de la instrucción
\rotate
. La instrucción acepta dos argumentos: el ángulo
de rotación en grados en sentido antihorario, y el texto que
rotar. Los límites que ocupa el texto no se rotan: toman su valor
a partir de los extremos de las coordenadas x e y del texto
rotado. En el ejemplo siguiente la propiedad
outside-staff-priority
del texto se establece a #f
para desactivar la evitación automática de colisiones, lo que
empuja al texto a una posición muy alta.
\override TextScript.outside-staff-priority = ##f g4^\markup { \rotate #30 "a G" } b^\markup { \rotate #30 "a B" } des'^\markup { \rotate #30 "a D-Flat" } fis'^\markup { \rotate #30 "an F-Sharp" }
5.5 Trucos avanzados
Esta sección trata sobre distintos enfoques en la realización de ajustes finos a la apariencia de la partitura impresa.
Véase también
Manual de aprendizaje: Trucar la salida, Otras fuentes de información.
Referencia de la notación: Explicación del Manual de referencia de funcionamiento interno, Modificar las propiedades.
Manual de extensión: Interfaces para programadores.
Archivos de inicio: scm/define-grobs.scm.
Fragmentos de código: Tweaks and overrides.
Referencia de funcionamiento interno: All layout objects.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Trucos avanzados ] | [ Up : Trucos avanzados ] | [ Establecer directamente X-offset y Y-offset > ] |
5.5.1 Alineación de objetos
Los objetos gráficos que soportan el interface
self-alignment-interface
y/o el
side-position-interface
se pueden alinear contra un objeto
colocado previamente, de diversas maneras. Para ver una lista de
estos objetos, consulte self-alignment-interface y
side-position-interface.
Todos los objetos gráficos tienen un punto de referencia, una extensión horizontal y una extensión vertical. La extensión horizontal es una pareja de números que dan los desplazamientos a partir del punto de referencia de los bordes izquierdo y derecho, siendo negativos los desplazamientos hacia la izquierda. La extensión vertical es una pareja de números que dan el desplazamiento a partir del punto de referencia hasta los bordes inferior y superior, siendo negativos los desplazamientos hacia abajo.
La posición de un objeto sobre el pentagrama viene dada por los
valores de las propiedades X-offset
e Y-offset
. El
valor de X-offset
da el desplazamiento desde la coordenada
X del punto de referencia del objeto padre, y el valor de
Y-offset
da el desplazamiento a partir de la línea central
del pentagrama. Los valores de X-offset
y Y-offset
se pueden establecer directamente o se puede dejar que se calculen
por parte de procedimientos para conseguir una alineación con el
objeto padre.
Nota: Muchos objetos tienen consideraciones de posicionamiento
especiales que hacen que se ignore o se modifique cualquier ajuste
realizado a X-offset
o a Y-offset
, a pesar de que el
objeto contemple el interface self-alignment-interface
. La
sobreescritura de las propiedades X-offset
ó
Y-offset
a un valor fijo hace que se descarte la respectiva
propiedad self-alignment
.
Por ejemplo, una alteración accidental se puede reposicionar
verticalmente estableciendo Y-offset
pero los cambios a
X-offset
no tienen ningún efecto.
Las letras de ensayo se pueden alinear con objetos divisibles como
líneas divisorias, claves, armaduras e indicaciones de compás.
Hay propiedades especiales que se encuentran en
break-aligned-interface
para el posicionamiento de las
letras de ensayo sobre dichos objetos.
Véase también
Referencia de la notación:
Uso del break-alignable-interface
.
Manual de extensión: Funciones de callback.
Establecer directamente X-offset y Y-offset | ||
Uso del side-position-interface | ||
Uso del self-alignment-interface | ||
Uso del break-alignable-interface |
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Alineación de objetos ] | [ Up : Alineación de objetos ] | [ Uso del side-position-interface > ] |
Establecer directamente X-offset
y Y-offset
Se pueden dar valores numéricos a las propiedades X-offset
y Y-offset
de muchos objetos. El ejemplo siguiente muestra
tres notas con una digitación en su posición predeterminada y con
los valores X-offset
y Y-offset
modificados.
a'-3 a' -\tweak X-offset #0 -\tweak Y-offset #0 -3 a' -\tweak X-offset #-1 -\tweak Y-offset #1 -3
Uso del side-position-interface
Un objeto que contempla el side-position-interface
se puede
colocar junto a su objeto padre de forma que los bordes
especificados de los dos objetos se toquen. El objeto se puede
situar encima, debajo, a la derecha o a la izquierda del objeto
padre. El padre no se puede especificar; viene determinado por el
orden de los elementos en el flujo de entrada. Casi todos los
objetos tienen la cabeza de la nota asociada como padre.
Los valores de las propiedades side-axis
y direction
determinan dónde colocar el objeto, como sigue:
side-axis | direction | |
---|---|---|
propiedad | propiedad | colocación |
0 | -1 | izquierda |
0 | 1 | derecha |
1 | -1 | debajo |
1 | 1 | encima |
Si side-axis
es 0
, X-offset
se debe
establecer al procedimiento
ly:side-position-interface::x-aligned-side
. Este
procedimiento devuelve el calor correcto de X-offset
para
situar el objeto al lado izquierdo o derecho del padre de acuerdo
con el valor de direction
.
Si side-axis
es 1
, Y-offset
se debe
establecer al procedimiento
ly:side-position-interface::y-aligned-side
. Este
procedimiento devuelve el valor correcto de Y-offset
para
situar el objeto encima o debajo del padre de acuerdo con el valor
de direction
.
Uso del self-alignment-interface
Auto-alineación horizontal de los objetos
La alineación horizontal de un objeto que contempla el interface
self-alignment-interface
está controlada por el valor de la
propiedad self-alignment-X
, siempre y cuando la propiedad
X-offset
de este objeto esté establecida a
ly:self-alignment-interface::x-aligned-on-self
. Se le
puede dar a self-alignment-X
cualquier valor real, en
unidades de la mitad de la extensión X total del objeto. Los
valores negativos mueven el objeto a la derecha, los positivos
hacia la izquierda. Un valor de 0
centra el objeto sobre
el punto de referencia de su padre, un valor de -1
alinea el borde izquierdo del objeto sobre el punto de referencia
de su padre, y un valor de 1
alinea el borde derecho del
objeto sobre el punto de referencia de su padre. Se pueden usar
los símbolos LEFT
, CENTER
y RIGHT
en
sustitución de los valores -1
, 0
y 1
,
respectivamente.
Normalmente se usaría la instrucción \override
para
modificar el valor de self-alignment-X
, pero se puede usar
la instrucción \tweak
para alinear varias anotaciones por
separado sobre una sola nota:
a' -\tweak self-alignment-X #-1 ^"left-aligned" -\tweak self-alignment-X #0 ^"center-aligned" -\tweak self-alignment-X #RIGHT ^"right-aligned" -\tweak self-alignment-X #-2.5 ^"aligned further to the right"
Auto-alineación vertical de los objetos
Los objetos se pueden alinear verticalmente en una forma análoga a la
alineación horizontal si la propiedad Y-offset
está establecida
a ly:self-alignment-interface::y-aligned-on-self
. Sin embargo,
a menudo se encuentran implicados otros mecanismos en la alineación
vertical: el valor de Y-offset
es tan sólo una variable que se
tiene en cuenta. Esto puede hacer que ajustar el valor de ciertos
objetos sea una tarea dificultosa. Las unidades son sólo la mitad de
las dimensiones verticales del objeto, que suele ser bastante pequeño,
por lo que pueden requerirse números bastante grandes. Un valor de
-1
alinea el borde inferior del objeto con el punto de
referencia del objeto padre, un valor de 0
alinea el centro del
objeto con el punto de referencia del padre, y un valor de 1
alinea el borde superior del objeto con el punto de referencia del
padre. Se pueden usar los símbolos DOWN
, CENTER
,
UP
en sustitución de -1
,
0
y 1
, respectivamente.
Auto-alineación de objetos en las dos direcciones
Estableciendo tanto X-offset
como Y-offset
, se puede
alinear un objeto en las dos direcciones simultáneamente.
El ejemplo siguiente muestra cómo ajustar una digitación de forma que se acerque a la cabeza dela nota.
a' -\tweak self-alignment-X #0.5 % move horizontally left -\tweak Y-offset #ly:self-alignment-interface::y-aligned-on-self -\tweak self-alignment-Y #-1 % move vertically up -3 % third finger
Uso del break-alignable-interface
Las letras de ensayo se pueden alinear con objetos de notación
distintos a las barras de compás. Estos objetos son
ambitus
, breathing-sign
, clef
, custos
,
staff-bar
, left-edge
, key-cancellation
,
key-signature
y time-signature
.
Cada tipo de objeto tiene su propio punto de referencia predeterminado, con el que se alinean las marcas de ensayo:
% The rehearsal mark will be aligned to the right edge of the Clef \override Score.RehearsalMark.break-align-symbols = #'(clef) \key a \major \clef treble \mark "↓" e'1 % The rehearsal mark will be aligned to the left edge of the Time Signature \override Score.RehearsalMark.break-align-symbols = #'(time-signature) \key a \major \clef treble \time 3/4 \mark "↓" e'2. % The rehearsal mark will be centered above the Breath Mark \override Score.RehearsalMark.break-align-symbols = #'(breathing-sign) \key a \major \clef treble \time 4/4 e'1 \breathe \mark "↓"
Se puede especificar una lista de posibles objetos para la
alineación. Si algunos de los objetos son invisibles en ese punto
debido al valor de break-visibility
o a valores de
visibilidad explícitos para las armaduras y las claves, la letra
de ensayo o número de compás se alinean con el primer objeto de la
lista que sea visible. Si ningún objeto de la lista es visible,
el objeto se alinea con la línea divisoria. Si la línea divisoria
es invisible, el objeto se alinea con el punto en el que se
encontraría la línea divisoria.
% The rehearsal mark will be aligned to the right edge of the Key Signature \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef) \key a \major \clef treble \mark "↓" e'1 % The rehearsal mark will be aligned to the right edge of the Clef \set Staff.explicitKeySignatureVisibility = #all-invisible \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef) \key a \major \clef bass \mark "↓" gis,1 % The rehearsal mark will be centered above the Bar Line \set Staff.explicitKeySignatureVisibility = #all-invisible \set Staff.explicitClefVisibility = #all-invisible \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef) \key a \major \clef treble \mark "↓" e'1
La alineación de la letra de ensayo con relación al objeto de notación se puede cambiar, como se ve en el ejemplo siguiente. En una partitura con varios pentagramas, este ajuste se debe hacer para todos los pentagramas.
% The RehearsalMark will be aligned with the right edge of the Key Signature \override Score.RehearsalMark.break-align-symbols = #'(key-signature) \key a \major \clef treble \time 4/4 \mark "↓" e'1 % The RehearsalMark will be centered above the Key Signature \once \override Score.KeySignature.break-align-anchor-alignment = #CENTER \mark "↓" \key a \major e'1 % The RehearsalMark will be aligned with the left edge of the Key Signature \once \override Score.KeySignature.break-align-anchor-alignment = #LEFT \key a \major \mark "↓" e'1
La letra de ensayo también se puede desplazar al borde derecho o izquierdo en una medida arbitraria. Las unidades son espacios de pentagrama:
% The RehearsalMark will be aligned with the left edge of the Key Signature % and then shifted right by 3.5 staff-spaces \override Score.RehearsalMark.break-align-symbols = #'(key-signature) \once \override Score.KeySignature.break-align-anchor = #3.5 \key a \major \mark "↓" e'1 % The RehearsalMark will be aligned with the left edge of the Key Signature % and then shifted left by 2 staff-spaces \once \override Score.KeySignature.break-align-anchor = #-2 \key a \major \mark "↓" e'1
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Uso del break-alignable-interface ] | [ Up : Trucos avanzados ] | [ Modificación de los sellos > ] |
5.5.2 Agrupación vertical de objetos gráficos
Los grobs (objetos gráficos) VerticalAlignment
y
VerticalAxisGroup
trabajan de manera coordinada.
VerticalAxisGroup
agrupa distintos grobs como Staff
,
Lyrics
, etc. Después, VerticalAlignment
alinea los
distintos grobs agrupados previamente por
VerticalAxisGroup
. Normalmente sólo existe un
VerticalAlignment
por cada partitura, pero cada
Staff
, Lyrics
, etc. tiene su propio
VerticalAxisGroup
.
5.5.3 Modificación de los sellos
Todos los objetos de presentación tienen una propiedad
stencil
que es parte del grob-interface
. De forma
predeterminada, esta propiedad suele estar establecida a una
función específica del objeto que está hecha a medida para
disponer el símbolo que lo representa en la salida. Por ejemplo,
el ajuste estándar para la propiedad stencil
del objeto
MultiMeasureRest
es ly:multi-measure-rest::print
.
El símbolo estándar de cualquier objeto se puede sustituir
modificando la propiedad stencil
para que haga referencia a
un procedimiento diferente escrito especialmente. Esto requiere
un alto nivel de conocimiento del funcionamiento interno de
LilyPond, pero hay una forma más fácil que a menudo puede dar
resultados adecuados.
El procedimiento es establecer la propiedad stencil
al
procedimiento que imprime texto (ly:text-interface::print
)
y añadir una propiedad text
al objeto ajustada para que
contenga el texto de marcado que produce el símbolo requerido.
Debido a la flexibilidad del marcado, se pueden conseguir muchas
cosas; en particular, consulte Notación gráfica dentro de elementos de marcado.
El ejemplo siguiente muestra esto cambiando el símbolo de la cabeza de la nota a unas aspas dentro de una circunferencia.
XinO = { \once \override NoteHead.stencil = #ly:text-interface::print \once \override NoteHead.text = \markup { \combine \halign #-0.7 \draw-circle #0.85 #0.2 ##f \musicglyph "noteheads.s2cross" } } \relative { a' a \XinO a a }
Cualquiera de los glifos de Feta usados en la fuente tipográfica Emmentaler se puede
pasar a la instrucción de marcado \musicglyph
: véase
La tipografía Emmentaler.
Se pueden insertar en línea tanto imágenes en formato EPS
como instrucciones de Postscript usando las instrucciones de
marcado \epsfile
y \postscript
respectivamente;
véase Graphical markup.
Véase también
Referencia de la notación: Notación gráfica dentro de elementos de marcado, Formatear el texto, Instrucciones de marcado de texto, La tipografía Emmentaler, Graphical markup.
5.5.4 Modificación de las formas
Modificación de ligaduras de unión y de expresión |
Modificación de ligaduras de unión y de expresión
Las ligaduras de unión (Tie
s), de expresión (Slur
s),
de fraseo (PhrasingSlur
s), de dejar vibrar
(LaissezVibrerTie
s) y de repetición (RepeatTie
s) se
trazan como curvas de Bézier de tercer orden. Si la forma de la
ligadura calculada automáticamente no resulta óptima, se puede
modificar su forma manualmente de dos formas:
- mediante la especificación de los desplazamientos que se quieren realizar sobre los puntos de control de la curva de Bézier calculada automáticamente, o bien
- mediante la especificación explícita de las posiciones de los cuatro puntos de control que se requieren para definir la curva deseada.
A continuación se explican ambos métodos. El primer método es más adecuado cuando solo se requieren ligeros ajustes de la curva; el segundo puede ser mejor para crear curvas que tienen relación con una única nota.
Curvas de Bézier cúbicas
Las curvas Bézier de tercer orden o cúbicas están definidas por cuatro puntos de control. El primer y cuarto puntos de control son exactamente los puntos extremos de comienzo y de final de la curva. Los dos puntos de control intermedios definen la forma. Se pueden encontrar en la web animaciones que muestran cómo se traza la curva, pero la descripción siguiente puede ser de ayuda. La curva comienza a partir del primer punto de control dirigiéndose directamente hacia el segundo, curvándose progresivamente para dirigirse hacia el tercero y continuando la curva hacia el cuarto, llegando a éste en viaje directo desde el tercer punto de control. La curva está contenida enteramente dentro del cuadrilátero definido por los cuatro puntos de control. Todas las traslaciones, rotaciones y escalado de los puntos de control producen exactamente las mismas operaciones sobre la curva.
Especificar desplazamientos a partir de los puntos de control actuales
En este ejemplo, la colocación automática de la ligadura no
resulta óptima, y \tieDown
no es la solución.
<< { e'1~ 1 } \\ \relative { r4 <g' c,> <g c,> <g c,> } >>
El ajuste de los puntos de control de la ligadura mediante la
instrucción \shape
permite evitar las colisiones.
La sintaxis de \shape
es:
[-]\shape desplazamientos elemento
Esta instrucción recoloca los puntos de control de elemento
en las cantidades dadas por desplazamientos. El argumento
desplazamientos es una lista de parejas de números o una
lista de tales listas. Cada elemento de una pareja representa el
desplazamiento de una de las coordenadas de un punto de control.
Si el elemento es una cadena de caracteres, el resultado es
\once\override
para el tipo de grob especificado. Si
elemento es una expresión musical, el resultado es la misma
expresión musical con la consiguiente modificación aplicada.
En otras palabras, la función \shape
puede actuar como una
instrucción \once\override
o como una instrucción
\tweak
dependiendo de si el argumento elemento es el
nombre de un grob, como “Slur”, o una expresión musical, como
“(”. El argumento desplazamientos especifica los
desplazamientos de los cuatro puntos de control como una lista de
cuatro parejas de valores (dx . dy) en unidades de espacios de
pentagrama (o una lista de tales listas si la curva tiene más de
un segmento).
El guión precedente se exige si, y sólo si, se usa la forma
\tweak
.
Así, usando el mismo ejemplo de arriba y la forma
\once\override
de la instrucción \shape
, lo
siguiente tiene el efecto de elevar la ligadura de unión en la
mitad de un espacio de pentagrama:
<< { \shape #'((0 . 0.5) (0 . 0.5) (0 . 0.5) (0 . 0.5)) Tie e'1~ 1 } \\ \relative { r4 <g' c,> <g c,> <g c,> } >>
Este posicionamiento de la ligadura de unión es mejor, pero quizá
debería elevarse más en la parte central. El ejemplo siguiente
hace esto, esta vez usando la forma alternativa \tweak
:
<< { e'1-\shape #'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)) ~ e' } \\ \relative { r4 <g' c,> <g c,> <g c,> } >>
Los cambios en las posiciones horizontales de los puntos de control se pueden hacer de la misma forma, y dos curvas distintas que dan comienzo en el mismo momento musical se pueden conformar también:
\relative { c''8(\( a) a'4 e c\) \shape #'((0.7 . -0.4) (0.5 . -0.4) (0.3 . -0.3) (0 . -0.2)) Slur \shape #'((0 . 0) (0 . 0.5) (0 . 0.5) (0 . 0)) PhrasingSlur c8(\( a) a'4 e c\) }
La función \shape
también puede desplazar los puntos de
control de las curvas que se extienden atravesando saltos de
línea. Cada pieza de la curva dividida puede recibir su propia
lista de desplazamientos. Si no se necesita hacer cambios a uno
de los segmentos en particular, se puede usar una lista vacía como
contenedor. En este ejemplo, el salto de línea hace que la única
ligadura de expresión aparezca como si fueran dos:
\relative { c'4( f g c \break d,4 c' f, c) }
Los cambios en la forma de las dos mitades de la ligadura de expresión deja más claro que la ligadura continúa más allá del salto de línea:
% () may be used as a shorthand for ((0 . 0) (0 . 0) (0 . 0) (0 . 0)) % if any of the segments does not need to be changed \relative c' { \shape #'( (( 0 . 0) (0 . 0) (0 . 0) (0 . 1)) ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5)) ) Slur c4( f g c \break d,4 c' f, c) }
En una curva en forma de «S» siempre es necesario ajustar manualmente los puntos de control: LilyPond nunca escoge tales formas automáticamente.
\relative c'' { c8( e b-> f d' a e-> g) \shape #'((0 . -1) (5.5 . -0.5) (-5.5 . -10.5) (0 . -5.5)) PhrasingSlur c8\( e b-> f d' a e-> g\) }
Especificar los puntos de control explícitamente
Las coordenadas de los puntos de contro de Bézier se especifican en unidades de espacios de pentagrama. La coordenada X es relativa al punto de referencia al que se adjunta la ligadura, y la coordenada Y es relativa a la línea central del pentagrama. Las coordenadas se especifican como una lista de cuatro parejas de números decimales (reales). Un enfoque consiste en estimar las coordenadas de los dos extremos, y después adivinar los dos puntos intermedios. Los valores óptimos se encuentran después por ensayo y error. Tenga en cuenta que estos valores podrían requerir un ajuste manual si se hace posteriormente cualquier cambio manual a la música o a la disposición.
Una situación en la que es preferible especificar los puntos de control explícitamente a especificar los desplazamientos es cuando se necesita especificarlos de forma relativa a una nota única. A continuación presentamos un ejemplo de esto. Muestra una forma de indicar una ligadura que se extiende hacia el interior de las casillas de primera y segunda vez de una repetición.
\relative { c''1 \repeat volta 3 { c4 d( e f } \alternative { { g2) d } { g2 % create a slur and move it to a new position % the <> is just an empty chord to carry the slur termination -\tweak control-points #'((-2 . 3.8) (-1 . 3.9) (0 . 4) (1 . 3.4)) ( <> ) f, } { e'2 % create a slur and move it to a new position -\tweak control-points #'((-2 . 3) (-1 . 3.1) (0 . 3.2) (1 . 2.4)) ( <> ) f, } } }
Advertencias y problemas conocidos
No es posible modificar la forma de las ligaduras de unión o de
expresión cambiando la propiedad control-points
si hay más
de una en el mismo momento musical, ni siquiera usando la
instrucción \tweak
. Sin embargo, se puede sobreescribir la
propiedad tie-configuration
de TieColumn
para fijar
la línea de inicio y la dirección según se requiera.
Véase también
Referencia de funcionamiento interno: TieColumn.
5.5.5 Modificación de objetos de extensión divididos
Uso de \alterBroken |
Uso de \alterBroken
Cuando un “spanner” u objeto extenso atraviesa uno o varios
saltos de línea, cada fragmento hereda los atributos del objeto de
extensión original. Así, el trucado ordinario de un objeto
dividido aplica las mismas modificaciones a todos y cada uno de
sus segmentos. En el ejemplo que aparece a continuación, la
sobreescritura de thickness
(grosor) afecta a la ligadura a
ambos lados del salto de línea.
\relative c'' { r2 \once\override Slur.thickness = 10 c8( d e f \break g8 f e d) r2 }
Es posible modificar de forma independiente el aspecto de los
fragmentos individuales de un objeto de extensión dividido, con la
instrucción \alterBroken
. Esta instrucción puede producir
un \override
o bien un \tweak
de una propiedad del
objeto de extensión.
La sintaxis de \alterBroken
es
[-]\alterBroken propiedad valores elemento
El argumento valores es una lista de valores, uno por cada
fragmento. Si elemento el el nombre de un grob como
Slur
o Staff.PianoPedalBracket
, el resultado es una
instrucción de sobreescritura \override
del tipo de grob
especificado. Si elemento es una expresión musical como
“(” o “[” el resultado es la misma expresión musical con el
correspondiente truco aplicado.
El guión inicial se debe utilizar con la forma de trucaje,
\tweak
. No lo escriba cuando utilice \alterBroken
como una operación de sobreescritura, \override
.
En su uso como \override
, \alterBroken
puede ir
precedido de \once
o \temporary
y ser revertido con
\revert
con el argumento propiedad (véase Funciones de sustitución intermedias).
EL código siguiente aplica un \override
independiente a
cada uno de los fragmentos de la ligadura del ejemplo anterior:
\relative c'' { r2 \alterBroken thickness #'(10 1) Slur c8( d e f \break g8 f e d) r2 }
La instrucción \alterBroken
se puede usar con cualquier
objeto de extensión, incluidos Tie
, PhrasingSlur
,
Beam
y TextSpanner
. Por ejemplo, un editor que está
preparando una edición académica podría desear indicar la ausencia
de parte de una ligadura de fraseo en una fuente haciendo
discontinuo solamente el segmento que se ha añadido. El siguiente
ejemplo ilustra de qué manera se puede hacer esto, en este caso
usando la forma \tweak
de la instrucción:
% The empty list is conveniently used below, because it is the % default setting of dash-definition, resulting in a solid curve. \relative { c''2-\alterBroken dash-definition #'(() ((0 1.0 0.4 0.75))) \(e \break g2 e\) }
Es importante comprender que \alterBroken
fija cada pieza
del objeto fragmentado al valor correspondiente dentro del
argumento valores. Cuando hay menos valores que piezas,
cualquier fragmento adicional recibe la asignación de la lista
vacía. Esto puede conllevar resultados no deseados si la
propiedad de disposición no está establecida a la lista vacía de
forma predeterminada. En estos casos, se debe asignar a cada
segmento un valor adecuado.
Advertencias y problemas conocidos
Los saltos de línea pueden ocurrir en distintos lugares según
cambia la disposición de la música. Los ajustes elegidos para
\alterBroken
podrían no ser adecuados para un objeto de
extensión que ya no está dividido o que se fragmenta en más piezas
que antes. El uso explícito (manual) de saltos de línea mediante
\break
puede prevenir situaciones como ésta.
La instrucción \alterBroken
no es efectiva para propiedades
de los objetos extensos accedidas antes del salto de línea, como
direction
.
Véase también
Extender LilyPond: Trucos difíciles.
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Tablas del manual sobre notación >> ] |
[ < Uso de \alterBroken ] | [ Up : Trucos avanzados ] | [ Uso de las funciones musicales > ] |
5.5.6 Contenedores unpure-pure
Los contenedores ‘unpure-pure’ (pura y no pura) son útiles para
la sobreescritura de los cálculos del espaciado en el eje Y
(concretamente Y-offset
e Y-extent
) con una función
de Scheme en lugar de un literal, es decir, un número o una pareja
de números.
Para ciertos objetos gráficos, las dimensiones Y-extent
están basadas en la propiedad stencil
, la sobreescritura de
la propiedad de sello de éstos requiere una sobreescritura
adicional de Y-extent
con un contenedor unpure-pure.
Cuando una función sobreescribe una dimensión Y-offset
y/o
Y-extent
se supone que esto dispara los cálculos de los
saltos de línea prematuramente durante la compilación. Así pues,
la función no se evalúa en absoluto (devolviendo por lo general un
valor de ‘0’ o ‘'(0 . 0)’) lo que puede dar lugar a
colisiones. Una función ‘pura’ no afecta a las propiedades,
objetos o suicidios de grobs, y por ello siempre ven sus valores
relacionados con el eje Y evaluados correctamente.
Actualmente hay unas treinta funciones que ya se consideran ‘puras’ y los contenedores Unpure-pure son una manera de establecer funciones que no están en esta lista como ‘puras’. La función ‘pura’ se evalúa antes de cualquier salto de línea y así el espaciado horizontal se puede ajustar ‘a tiempo’. La función ‘impura’ se evalúa entonces después del salto de línea.
Nota: Dado que es difícil saber siempre qué funciones están en
esta lista, recomendamos que cualquier función ‘pura’ que
estemos creando no utilice los grobs Beam
o
VerticalAlignment
.
Un contenedor ‘unpure-pure’ se contruye de la manera siguiente:
(ly:make-unpure-pure-container f0 f1)
donde f0
es una función que toma n argumentos (n >=
1) y el primer argumento siempre debe ser el grob. Ésta es la
función que da el resultado real. f1 es la función que se
etiqueta como ‘pura’ que toma n + 2 argumentos. De nuevo, el
primer argumento debe ser siempre el grob pero los argumentos segundo
y tercero son argumentos de ‘inicio’ y de ‘final’.
inicio y final son, a todos los efectos, valores mudos
que sólo tienen importancia para los objetos de extensión
(o sea: Hairpin
, regulador, o Beam
, barra), que
pueden devolver distintas estimaciones de altura basadas en una
columna de inicio y una de final.
El resto son los otros argumentos para la primera función (que puede no ser ninguno si n = 1).
El resultado de la segunda función se usa como una aproximación del valor necesario, que se usa entonces por la primera función para obtener el valor real que se usa a continuación para el ajuste de precisión mucho más tardío durante el proceso de espaciado.
#(define (square-line-circle-space grob) (let* ((pitch (ly:event-property (ly:grob-property grob 'cause) 'pitch)) (notename (ly:pitch-notename pitch))) (if (= 0 (modulo notename 2)) (make-circle-stencil 0.5 0.0 #t) (make-filled-box-stencil '(0 . 1.0) '(-0.5 . 0.5))))) squareLineCircleSpace = { \override NoteHead.stencil = #square-line-circle-space } smartSquareLineCircleSpace = { \squareLineCircleSpace \override NoteHead.Y-extent = #(ly:make-unpure-pure-container ly:grob::stencil-height (lambda (grob start end) (ly:grob::stencil-height grob))) } \new Voice \with { \remove Stem_engraver } \relative c'' { \squareLineCircleSpace cis4 ces disis d \smartSquareLineCircleSpace cis4 ces disis d }
En el primer compás, sin el contenedor unpure-pure, el motor de espaciado no conoce la anchura de la cabeza de la nota y permite que colisione con las alteraciones accidentales. En el segundo compás, el motor de espaciado conoce la anchura de las cabezas de las notas y evita la colisión mediante el alargamiento de la línea en la medida adecuada.
Normalmente, para cálculos simples se pueden usar funciones casi
idénticas tanto para las partes ‘no pura’ y ‘pura’,
simplemente cambiando el número de argumentos que se pasan a, y el
ámbito de, la función. Este caso de utilización es lo bastante
frecuente como para que ly:make-unpure-pure-container
construya dicha segunda función de forma predeterminada cuando se
llama con solo un argumento de función.
Nota: Si una función está caracterizada como ‘pura’ y resulta que no lo es, el resultado puede ser inesperado.
5.6 Uso de las funciones musicales
Dondequiera que se necesite reutilizar trucos con distintas expresiones musicales, con frecuencia conviene hacer que el truco forme parte de una función musical. En esta sección estudiaremos solamente las funciones de sustitución, en las que el objeto es sustituir una variable dentro de un fragmento de código de entrada de LilyPond. Se describen otras funciones más complejas en Funciones musicales.
5.6.1 Sintaxis de las funciones de sustitución | ||
5.6.2 Ejemplos de funciones de sustitución |
5.6.1 Sintaxis de las funciones de sustitución
Es fácil hacer una función que sustituya una variable dentro de código de LilyPond. La forma general de estas funciones es
funcion = #(define-music-function (arg1 arg2 …) (type1? type2? …) #{ …música… #})
donde
argN | n-ésimo argumento |
typeN? | predicado de tipo de Scheme para el que argN
debe devolver #t . |
…música… | código de entrada normal de LilyPond, que utiliza $ (en los
lugares en que sólo se permiten construcciones de LilyPond) o
# (para usarlo como un valor de Scheme o un argumento de
función musical o música dentro de listas de música) para
referenciar argumentos (p.ej. ‘#arg1’). |
Es necesaria la lista de predicados de tipo. Algunos de los predicados de tipo más comunes que se utilizan en las funciones musicales son:
boolean? cheap-list? (utilizar en lugar de ‘list?’ para un procesado más rápido) ly:duration? ly:music? ly:pitch? markup? number? pair? string? symbol?
Para ver una lista de los predicados de tipo disponibles, consulte Predicados de tipo predefinidos. También se permiten los predicados de tipo definidos por el usuario.
Véase también
Referencia de la notación: Predicados de tipo predefinidos.
Expansión de LilyPond: Funciones musicales.
Archivos instalados: lily/music-scheme.cc, scm/c++.scm, scm/lily.scm.
5.6.2 Ejemplos de funciones de sustitución
Esta sección presenta algunos ejemplos de funciones de sustitución. No pretenden ser exhaustivas, sino demostrar algunas de las posibilidades de las funciones de sustitución sencillas.
En el primer ejemplo se define una función que simplifica el ajuste del relleno de un elemento de inscripción de texto TextScript:
padText = #(define-music-function (padding) (number?) #{ \once \override TextScript.padding = #padding #}) \relative { c''4^"piu mosso" b a b \padText #1.8 c4^"piu mosso" b a b \padText #2.6 c4^"piu mosso" b a b }
Además de números, podemos usar expresiones musicales, como notas, para los argumentos de las funciones musicales:
custosNote = #(define-music-function (note) (ly:music?) #{ \tweak NoteHead.stencil #ly:text-interface::print \tweak NoteHead.text \markup \musicglyph "custodes.mensural.u0" \tweak Stem.stencil ##f #note #}) \relative { c'4 d e f \custosNote g }
Ambas funciones son expresiones únicas sencillas en las que solo
falta el último elemento de una lamada de función o
sobreescritura. Para estas definiciones de función en particular,
existe una sintaxis alternativa más simple que consiste
simplemente en escribir la parte constante de la expresión y
sustituir el elemento final que falta por \etc
:
padText = \once \override TextScript.padding = \etc \relative { c''4^"piu mosso" b a b \padText #1.8 c4^"piu mosso" b a b \padText #2.6 c4^"piu mosso" b a b }
custosNote = \tweak NoteHead.stencil #ly:text-interface::print \tweak NoteHead.text \markup \musicglyph "custodes.mensural.u0" \tweak Stem.stencil ##f \etc \relative { c'4 d e f \custosNote g }
Se pueden definir funciones de sustitución con más de un argumento:
tempoPadded = #(define-music-function (padding tempotext) (number? markup?) #{ \once \override Score.MetronomeMark.padding = #padding \tempo \markup { \bold #tempotext } #}) \relative { \tempo \markup { "Low tempo" } c''4 d e f g1 \tempoPadded #4.0 "High tempo" g4 f e d c1 }
[ << Cambiar los valores por omisión ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Ejemplos de funciones de sustitución ] | [ Up : Top ] | [ Cuadro de nombres de acordes > ] |
Appendix A Tablas del manual sobre notación
A.1 Cuadro de nombres de acordes
La siguiente tabla muestra el sistema estándar para imprimir los nombres de los acordes, junto a las notas que representa. Se muestran también otros sistemas de nomenclatura (no soportados) en el fragmento de código “Chord names alternative” de la sección Chords, incluida la notación inspirada por Harald Banter (1982) que se utilizaba de forma predeterminada en algunas de las primeras versiones de LilyPond (hasta la 1.7).
A.2 Modificadores de acorde más usuales
La tabla siguiente presenta los modificadores de acorde que se pueden usar para generar las estructuras de acordes estándar.
Tipo | Intervalo | Modificador | Ejemplo | Salida |
Mayor | Tercera mayor y quinta justa | 5 o nada | c1:5 | |
Menor | Tercera menor y quinta justa | m o m5 | c1:m | |
Aumentado | Tercera mayor y quinta aumentada | aug | c1:aug | |
Disminuido | Tercera menor y quinta disminuida | dim | c1:dim | |
Séptima dominante | Tríada mayor con séptima menor | 7 | c1:7 | |
Séptima mayor | Tríada mayor y séptima mayor | maj7 ó maj | c1:maj7 | |
Séptima menor | Tríada menor y séptima menor | m7 | c1:m7 | |
Séptima disminuida | Tríada disminuida y séptima disminuida | dim7 | c1:dim7 | |
Aumentado con séptima | Tríada aumentada y séptima menor | aug7 | c1:aug7 | |
Séptima semi-disminuido | Tríada disminuida y séptima menor | m7.5- | c1:m7.5- | |
Menor con séptima mayor | Tríada menor con séptima mayor | m7+ | c1:m7+ | |
Mayor con sexta | Tríada mayor y sexta | 6 | c1:6 | |
Menor con sexta | Tríada menor y sexta | m6 | c1:m6 | |
Novena dominante | Séptima dominante con novena mayor | 9 | c1:9 | |
Mayor con novena | Séptima mayor y novena mayor | maj9 | c1:maj9 | |
Menor con novena | Séptima menor y novena mayor | m9 | c1:m9 | |
Oncena dominante | Novena dominante con oncena justa | 11 | c1:11 | |
Oncena mayor | Novena mayor y oncena justa | maj11 | c1:maj11 | |
Menor con oncena | Novena menor y oncena justa | m11 | c1:m11 | |
Trecena dominante | Novena dominante y trecena mayor | 13 | c1:13 | |
Trecena dominante | Oncena dominante y trecena mayor | 13.11 | c1:13.11 | |
Mayor con trecena | Oncena mayor y trecena mayor | maj13.11 | c1:maj13.11 | |
Menor con trecena | Oncena menor y trecena mayor | m13.11 | c1:m13.11 | |
Segunda suspendida | Segunda mayor y quinta justa | sus2 | c1:sus2 | |
Cuarta suspendida | Cuarta justa y quinta justa | sus4 | c1:sus4 | |
Acorde de potencia o de quinta vacía (de dos notas) | Quinta justa | 1.5 | c1:5 | |
Acorde de potencia o de quinta vacía (de tres notas) | Quinta justa, octava | 1.5.8 | c1:5.8 |
A.3 Afinaciones de cuerdas predefinidas
El cuadro de abajo muestra las afinaciones predefinidas de cuerdas.
A.4 Diagramas predefinidos de posiciones
Diagramas para guitarra | ||
Diagramas para ukelele | ||
Diagramas para mandolina |
Diagramas para guitarra
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Diagramas para guitarra ] | [ Up : Diagramas predefinidos de posiciones ] | [ Diagramas para mandolina > ] |
Diagramas para ukelele
Diagramas para mandolina
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Diagramas para mandolina ] | [ Up : Tablas del manual sobre notación ] | [ Instrumentos MIDI > ] |
A.5 Tamaños de página predefinidos
Los tamaños de página se definen en el archivo scm/paper.scm
La serie A de “ISO 216”
"a10"
(26 x 37 mm)
"a9"
(37 x 52 mm)
"a8"
(52 x 74 mm)
"a7"
(74 x 105 mm)
"a6"
(105 x 148 mm)
"a5"
(148 x 210 mm)
"a4"
(210 x 297 mm)
"a3"
(297 x 420 mm)
"a2"
(420 x 594 mm)
"a1"
(594 x 841 mm)
"a0"
(841 x 1189 mm)
La serie B de “ISO 216”
"b10"
(31 x 44 mm)
"b9"
(44 x 62 mm)
"b8"
(62 x 88 mm)
"b7"
(88 x 125 mm)
"b6"
(125 x 176 mm)
"b5"
(176 x 250 mm)
"b4"
(250 x 353 mm)
"b3"
(353 x 500 mm)
"b2"
(500 x 707 mm)
"b1"
(707 x 1000 mm)
"b0"
(1000 x 1414 mm)
Dos tamaños extendidos según se definen en “DIN 476”
"4a0"
(1682 x 2378 mm)
"2a0"
(1189 x 1682 mm)
Serie C estándar de “ISO 269”
"c10"
(28 x 40 mm)
"c9"
(40 x 57 mm)
"c8"
(57 x 81 mm)
"c7"
(81 x 114 mm)
"c6"
(114 x 162 mm)
"c5"
(162 x 229 mm)
"c4"
(229 x 324 mm)
"c3"
(324 x 458 mm)
"c2"
(458 x 648 mm)
"c1"
(648 x 917 mm)
"c0"
(917 x 1297 mm)
Tamaños de página norteamiericanos
"junior-legal"
(8.0 x 5.0 in)
"legal"
(8.5 x 14.0 in)
"ledger"
(17.0 x 11.0 in)
"letter"
(8.5 x 11.0 in)
"tabloid"
(11.0 x 17.0 in)
"11x17"
(11.0 x 17.0 in)
"17x11"
(17.0 x 11.0 in)
Tamaño carta gubernamental del IEEE Printer Working Group, para escritura de niños
"government-letter"
(8 x 10.5 in)
"government-legal"
(8.5 x 13.0 in)
"philippine-legal"
(8.5 x 13.0 in)
Tamaños de ANSI
"ansi a"
(8.5 x 11.0 in)
"ansi b"
(17.0 x 11.0 in)
"ansi c"
(17.0 x 22.0 in)
"ansi d"
(22.0 x 34.0 in)
"ansi e"
(34.0 x 44.0 in)
"engineering f"
(28.0 x 40.0 in)
Tamaños arquitectóncos norteamericanos
"arch a"
(9.0 x 12.0 in)
"arch b"
(12.0 x 18.0 in)
"arch c"
(18.0 x 24.0 in)
"arch d"
(24.0 x 36.0 in)
"arch e"
(36.0 x 48.0 in)
"arch e1"
(30.0 x 42.0 in)
Tamaños antiguos que aún se utilizan en el Reino Unido
"statement"
(5.5 x 8.5 in)
"half letter"
(5.5 x 8.5 in)
"quarto"
(8.0 x 10.0 in)
"octavo"
(6.75 x 10.5 in)
"executive"
(7.25 x 10.5 in)
"monarch"
(7.25 x 10.5 in)
"foolscap"
(8.27 x 13.0 in)
"folio"
(8.27 x 13.0 in)
"super-b"
(13.0 x 19.0 in)
"post"
(15.5 x 19.5 in)
"crown"
(15.0 x 20.0 in)
"large post"
(16.5 x 21.0 in)
"demy"
(17.5 x 22.5 in)
"medium"
(18.0 x 23.0 in)
"broadsheet"
(18.0 x 24.0 in)
"royal"
(20.0 x 25.0 in)
"elephant"
(23.0 x 28.0 in)
"double demy"
(22.5 x 35.0 in)
"quad demy"
(35.0 x 45.0 in)
"atlas"
(26.0 x 34.0 in)
"imperial"
(22.0 x 30.0 in)
"antiquarian"
(31.0 x 53.0 in)
Tamaños basados en PA4
"pa0"
(840 x 1120 mm)
"pa1"
(560 x 840 mm)
"pa2"
(420 x 560 mm)
"pa3"
(280 x 420 mm)
"pa4"
(210 x 280 mm)
"pa5"
(140 x 210 mm)
"pa6"
(105 x 140 mm)
"pa7"
(70 x 105 mm)
"pa8"
(52 x 70 mm)
"pa9"
(35 x 52 mm)
"pa10"
(26 x 35 mm)
Usado en el Asia suroriental y en Australia
"f4"
(210 x 330 mm)
Usado para los diminutos ejemplos de @lilypond
de la documentación; basado en a8 apaisado.
"a8landscape"
(74 x 52 mm)
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Tamaños de página predefinidos ] | [ Up : Tablas del manual sobre notación ] | [ Lista de colores > ] |
A.6 Instrumentos MIDI
A continuación figura una lista con los nombres que se pueden
utilizar para la propiedad midiInstrument
(instrumento
MIDI). El orden de los instrumentos que aparece aquí, de arriba a
abajo empezando por la columna de la izquierda, corresponde a los
128 números de programa del estándar General MIDI.
acoustic grand contrabass lead 7 (fifths) bright acoustic tremolo strings lead 8 (bass+lead) electric grand pizzicato strings pad 1 (new age) honky-tonk orchestral harp pad 2 (warm) electric piano 1 timpani pad 3 (polysynth) electric piano 2 string ensemble 1 pad 4 (choir) harpsichord string ensemble 2 pad 5 (bowed) clav synthstrings 1 pad 6 (metallic) celesta synthstrings 2 pad 7 (halo) glockenspiel choir aahs pad 8 (sweep) music box voice oohs fx 1 (rain) vibraphone synth voice fx 2 (soundtrack) marimba orchestra hit fx 3 (crystal) xylophone trumpet fx 4 (atmosphere) tubular bells trombone fx 5 (brightness) dulcimer tuba fx 6 (goblins) drawbar organ muted trumpet fx 7 (echoes) percussive organ french horn fx 8 (sci-fi) rock organ brass section sitar church organ synthbrass 1 banjo reed organ synthbrass 2 shamisen accordion soprano sax koto harmonica alto sax kalimba concertina tenor sax bagpipe acoustic guitar (nylon) baritone sax fiddle acoustic guitar (steel) oboe shanai electric guitar (jazz) english horn tinkle bell electric guitar (clean) bassoon agogo electric guitar (muted) clarinet steel drums overdriven guitar piccolo woodblock distorted guitar flute taiko drum guitar harmonics recorder melodic tom acoustic bass pan flute synth drum electric bass (finger) blown bottle reverse cymbal electric bass (pick) shakuhachi guitar fret noise fretless bass whistle breath noise slap bass 1 ocarina seashore slap bass 2 lead 1 (square) bird tweet synth bass 1 lead 2 (sawtooth) telephone ring synth bass 2 lead 3 (calliope) helicopter violin lead 4 (chiff) applause viola lead 5 (charang) gunshot cello lead 6 (voice)
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Instrumentos MIDI ] | [ Up : Tablas del manual sobre notación ] | [ La tipografía Emmentaler > ] |
A.7 Lista de colores
Colores normales
La sintaxis para el uso de colores se encuentra detallada en Colorear objetos.
black white red green blue cyan magenta yellow grey darkred darkgreen darkblue darkcyan darkmagenta darkyellow
Nombre de los colores de CSS
Los nombres de colores de CSS se pueden usar tal cual dentro de argumentos de cadena de caracteres.
aliceblue darkturquoise lightsalmon papayawhip antiquewhite darkviolet lightseagreen peachpuff aqua deeppink lightskyblue peru aquamarine deepskyblue lightslategray pink azure dimgray lightslategrey plum beige dimgrey lightsteelblue powderblue bisque dodgerblue lightyellow purple black firebrick lime rebeccapurple blanchedalmond floralwhite limegreen red blue forestgreen linen rosybrown blueviolet fuchsia magenta royalblue brown gainsboro maroon saddlebrown burlywood ghostwhite mediumaquamarine salmon cadetblue gold mediumblue sandybrown chartreuse goldenrod mediumorchid seagreen chocolate gray mediumpurple seashell coral green mediumseagreen sienna cornflowerblue greenyellow mediumslateblue silver cornsilk grey mediumspringgreen skyblue crimson honeydew mediumturquoise slateblue cyan hotpink mediumvioletred slategray darkblue indianred midnightblue slategrey darkcyan indigo mintcream snow darkgoldenrod ivory mistyrose springgreen darkgray khaki moccasin steelblue darkgreen lavender navajowhite tan darkgrey lavenderblush navy teal darkkhaki lawngreen oldlace thistle darkmagenta lemonchiffon olive tomato darkolivegreen lightblue olivedrab turquoise darkorange lightcoral orange violet darkorchid lightcyan orangered wheat darkred lightgoldenrodyellow orchid white darksalmon lightgray palegoldenrod whitesmoke darkseagreen lightgreen palegreen yellow darkslateblue lightgrey paleturquoise yellowgreen darkslategray lightpink palevioletred darkslategrey
Las definiciones de colores de CSS difieren de los nombres de
colores de X por los colres siguientes: green
, grey
,
maroon
, purple
.
Nombres de los colores de X
Los nombres de los colores de X11 ofrecen un abanico de opciones más amplio que los nombres de CSS. Admiten distintas variantes:
- Un nombre que se escribe como una palabra única con mayúsculas intercaladas (p.ej. ‘LightSlateBlue’) se puede escribir también como palabras separadas por espacios, con o sin mayúsculas (p.ej. ‘light slate blue’).
- La palabra ‘grey’ siempre se puede escribir como ‘gray’ (p.ej. ‘DarkSlateGray’), sin ninguna diferencia en el resultado.
- Algunos nombres admiten un sufijo numérico (p.ej. ‘LightSalmon4’).
Las tablas siguientes presentan todos los nombres de colores que se pueden usar sin un sufijo numérico y después el subconjunto de ellos que se pueden usar con un sufijo.
Nombres de los colores sin sufijo numérico
AliceBlue LawnGreen OrangeRed firebrick AntiqueWhite LemonChiffon PaleGoldenrod gainsboro BlanchedAlmond LightBlue PaleGreen gold BlueViolet LightCoral PaleTurquoise goldenrod CadetBlue LightCyan PaleVioletRed green CornflowerBlue LightGoldenrod PapayaWhip grey DarkBlue LightGoldenrodYellow PeachPuff honeydew DarkCyan LightGreen PowderBlue ivory DarkGoldenrod LightGrey RosyBrown khaki DarkGreen LightPink RoyalBlue lavender DarkGrey LightSalmon SaddleBrown linen DarkKhaki LightSeaGreen SandyBrown magenta DarkMagenta LightSkyBlue SeaGreen maroon DarkOliveGreen LightSlateBlue SkyBlue moccasin DarkOrange LightSlateGrey SlateBlue navy DarkOrchid LightSteelBlue SlateGrey orange DarkRed LightYellow SpringGreen orchid DarkSalmon LimeGreen SteelBlue peru DarkSeaGreen MediumAquamarine VioletRed pink DarkSlateBlue MediumBlue WhiteSmoke plum DarkSlateGrey MediumOrchid YellowGreen purple DarkTurquoise MediumPurple aquamarine red DarkViolet MediumSeaGreen azure salmon DeepPink MediumSlateBlue beige seashell DeepSkyBlue MediumSpringGreen bisque sienna DimGrey MediumTurquoise black snow DodgerBlue MediumVioletRed blue tan FloralWhite MidnightBlue brown thistle ForestGreen MintCream burlywood tomato GhostWhite MistyRose chartreuse turquoise GreenYellow NavajoWhite chocolate violet HotPink NavyBlue coral wheat IndianRed OldLace cornsilk white LavenderBlush OliveDrab cyan yellow
Nombres de los colores con sufijo numérico
En los nombres siguientes, el sufijo N debe ser un número entero entre 1 y 4, de más claro a más oscuro:
AntiqueWhiteN LightSkyBlueN SteelBlueN khakiN CadetBlueN LightSteelBlueN VioletRedN magentaN DarkGoldenrodN LightYellowN aquamarineN maroonN DarkOliveGreenN MediumOrchidN azureN orangeN DarkOrangeN MediumPurpleN bisqueN orchidN DarkOrchidN MistyRoseN blueN pinkN DarkSeaGreenN NavajoWhiteN brownN plumN DeepPinkN OliveDrabN burlywoodN purpleN DeepSkyBlueN OrangeRedN chartreuseN redN DodgerBlueN PaleGreenN chocolateN salmonN HotPinkN PaleTurquoiseN coralN seashellN IndianRedN PaleVioletRedN cornsilkN siennaN LavenderBlushN PeachPuffN cyanN snowN LemonChiffonN RosyBrownN firebrickN tanN LightBlueN RoyalBlueN goldN thistleN LightCyanN SeaGreenN goldenrodN tomatoN LightGoldenrodN SkyBlueN greenN turquoiseN LightPinkN SlateBlueN honeydewN wheatN LightSalmonN SpringGreenN ivoryN yellowN
Escala de grises
Se puede obtener una escala de grises utilizando:
greyN
donde N es un número entre 0 y 100.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Lista de colores ] | [ Up : Tablas del manual sobre notación ] | [ Glifos de clave > ] |
A.8 La tipografía Emmentaler
La fuente tipográfica Emmentaler consiste en dos subconjuntos de glifos. “Feta”, utilizado para la notación clásica, y “Parmesan”, usado para la notación de la música antigua.
Cualquier glifo que esté comprendido dentro de la tipografía Emmentaler se puede acceder directamente usando elementos de marcado de texto junto con el nombre del glifo (según se muestra en las tablas, más adelante). Por ejemplo:
g^\markup {\musicglyph "scripts.segno" }
or
\markup {\musicglyph "five"}
Para ver más información, consulte Formatear el texto.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < La tipografía Emmentaler ] | [ Up : La tipografía Emmentaler ] | [ Glifos de indicación de compás > ] |
Glifos de clave
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de clave ] | [ Up : La tipografía Emmentaler ] | [ Glifos de cifras > ] |
Glifos de indicación de compás
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de indicación de compás ] | [ Up : La tipografía Emmentaler ] | [ Glifos de alteraciones > ] |
Glifos de cifras
Glifos de alteraciones
Glifos de las cabezas de nota predeterminadas
Glifos de las cabezas de nota especiales
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de las cabezas de nota especiales ] | [ Up : La tipografía Emmentaler ] | [ Glifos de silencios > ] |
Glifos de las cabezas de nota con formas
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de las cabezas de nota con formas ] | [ Up : La tipografía Emmentaler ] | [ Glifos de corchetes > ] |
Glifos de silencios
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de silencios ] | [ Up : La tipografía Emmentaler ] | [ Glifos de puntillos > ] |
Glifos de corchetes
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de corchetes ] | [ Up : La tipografía Emmentaler ] | [ Glifos de matices dinámicos > ] |
Glifos de puntillos
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de puntillos ] | [ Up : La tipografía Emmentaler ] | [ Glifos de inscripciones > ] |
Glifos de matices dinámicos
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de matices dinámicos ] | [ Up : La tipografía Emmentaler ] | [ Glifos de flechas > ] |
Glifos de inscripciones
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de inscripciones ] | [ Up : La tipografía Emmentaler ] | [ Glifos de puntas de corchete > ] |
Glifos de flechas
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de flechas ] | [ Up : La tipografía Emmentaler ] | [ Glifos de pedal > ] |
Glifos de puntas de corchete
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de puntas de corchete ] | [ Up : La tipografía Emmentaler ] | [ Glifos de acordeón > ] |
Glifos de pedal
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de pedal ] | [ Up : La tipografía Emmentaler ] | [ Glifos de ligadura > ] |
Glifos de acordeón
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de acordeón ] | [ Up : La tipografía Emmentaler ] | [ Glifos de vaticana > ] |
Glifos de ligadura
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de ligadura ] | [ Up : La tipografía Emmentaler ] | [ Glifos de medicea > ] |
Glifos de vaticana
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de vaticana ] | [ Up : La tipografía Emmentaler ] | [ Glifos de Hufnagel > ] |
Glifos de medicea
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de medicea ] | [ Up : La tipografía Emmentaler ] | [ Glifos de mensural > ] |
Glifos de Hufnagel
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de Hufnagel ] | [ Up : La tipografía Emmentaler ] | [ Glifos de neomensural > ] |
Glifos de mensural
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de mensural ] | [ Up : La tipografía Emmentaler ] | [ Glifos de Petrucci > ] |
Glifos de neomensural
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de neomensural ] | [ Up : La tipografía Emmentaler ] | [ Glifos de Solesmes > ] |
Glifos de Petrucci
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de Petrucci ] | [ Up : La tipografía Emmentaler ] | [ Glifos de la notación del canto kievano > ] |
Glifos de Solesmes
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glifos de Solesmes ] | [ Up : La tipografía Emmentaler ] | [ Estilos de cabezas de nota > ] |
Glifos de la notación del canto kievano
A.9 Estilos de cabezas de nota
Se pueden usar los siguientes estilos para las cabezas de las notas.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Estilos de cabezas de nota ] | [ Up : Tablas del manual sobre notación ] | [ Claves estándar > ] |
A.10 Estilos de clave
La tabla siguiente presenta todos los estilos de clave posibles y el lugar del Do central en cada una.
Claves estándar | ||
Clave de pentagramas de percusión | ||
Claves de pautas de tablatura | ||
Claves de la música antigua |
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Estilos de clave ] | [ Up : Estilos de clave ] | [ Clave de pentagramas de percusión > ] |
Claves estándar
Ejemplo | Salida | Ejemplo | Salida |
---|---|---|---|
\clef G | \clef "G2" | ||
\clef treble | \clef violin | ||
\clef french | \clef GG | ||
\clef tenorG |
| ||
\clef soprano | \clef mezzosoprano | ||
\clef C | \clef alto | ||
\clef tenor | \clef baritone |
| |
\clef varC | \clef altovarC | ||
\clef tenorvarC | \clef baritonevarC |
| |
\clef varbaritone | \clef baritonevarF | ||
\clef F | \clef bass | ||
\clef subbass |
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Claves estándar ] | [ Up : Estilos de clave ] | [ Claves de pautas de tablatura > ] |
Clave de pentagramas de percusión
Ejemplo | Salida | Ejemplo | Salida |
---|---|---|---|
\clef percussion | \clef varpercussion |
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Clave de pentagramas de percusión ] | [ Up : Estilos de clave ] | [ Claves de la música antigua > ] |
Claves de pautas de tablatura
Ejemplo | Salida | Ejemplo | Salida |
---|---|---|---|
\new TabStaff { |
\new TabStaff { |
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Claves de pautas de tablatura ] | [ Up : Estilos de clave ] | [ Instrucciones de marcado de texto > ] |
Claves de la música antigua
Gregoriano
Ejemplo | Salida | Ejemplo | Salida |
---|---|---|---|
\clef "vaticana-do1" | \clef "vaticana-do2" | ||
\clef "vaticana-do3" | \clef "vaticana-fa1" | ||
\clef "vaticana-fa2" |
| ||
\clef "medicaea-do1" | \clef "medicaea-do2" | ||
\clef "medicaea-do3" | \clef "medicaea-fa1" | ||
\clef "medicaea-fa2" |
| ||
\clef "hufnagel-do1" | \clef "hufnagel-do2" | ||
\clef "hufnagel-do3" | \clef "hufnagel-fa1" | ||
\clef "hufnagel-fa2" | \clef |
Mensural
Ejemplo | Salida | Ejemplo | Salida |
---|---|---|---|
\clef "mensural-c1" | \clef "mensural-c2" | ||
\clef "mensural-c3" | \clef "mensural-c4" | ||
\clef "mensural-c5" |
| ||
\clef "mensural-f" | \clef "mensural-f2" | ||
\clef "mensural-f3" | \clef "mensural-f4" | ||
\clef "mensural-f5" |
| ||
\clef "mensural-g1" | \clef "mensural-g2" | ||
\clef "mensural-g" |
| ||
\clef "blackmensural-c1" | \clef "blackmensural-c2" | ||
\clef "blackmensural-c3" | \clef "blackmensural-c4" | ||
\clef "blackmensural-c5" |
| ||
\clef "neomensural-c1" | \clef "neomensural-c2" | ||
\clef "neomensural-c3" | \clef "neomensural-c4" | ||
\clef "neomensural-c5" |
| ||
\clef "petrucci-c1" | \clef "petrucci-c2" | ||
\clef "petrucci-c3" | \clef "petrucci-c4" | ||
\clef "petrucci-c5" |
| ||
\clef "petrucci-f" | \clef "petrucci-f2" | ||
\clef "petrucci-f3" | \clef "petrucci-f4" | ||
\clef "petrucci-f5" |
| ||
\clef "petrucci-g1" | \clef "petrucci-g2" | ||
\clef "petrucci-g" |
Kievanas
Ejemplo | Salida | ||
---|---|---|---|
\clef "kievan-do" |
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Claves de la música antigua ] | [ Up : Tablas del manual sobre notación ] | [ Font markup > ] |
A.11 Instrucciones de marcado de texto
The following commands can all be used inside \markup { }
.
A.11.1 Font markup
\abs-fontsize
size (number) arg (markup) ¶-
Use size as the absolute font size (in points) to display arg.
This function adjusts the
baseline-skip
andword-space
properties accordingly.\markup { default text font size \hspace #2 \abs-fontsize #16 { text font size 16 } \hspace #2 \abs-fontsize #12 { text font size 12 } }
Used properties:
-
baseline-skip
(3
) -
word-space
(0.6
)
-
\bold
arg (markup) ¶-
Print arg with a bold face.
\markup { default \hspace #2 \bold bold }
The code
\markup \bold …
is a shorthand for\markup \override #'(font-series . bold) …
– using the more verbose form, it is possible to obtain nuances such as semi-bold, if the text font has such variants. Refer to the documentation for thefont-series
properties (User backend properties). \box
arg (markup) ¶-
Draw a box around arg.
This function looks at the
thickness
,box-padding
, andfont-size
properties to determine the line thickness and padding around the markup.\markup { \override #'(box-padding . 0.5) \box \line { V. S. } }
Note that the box does not horizontally displace its argument. Use markup commands like
\left-align
or\table
to make LilyPond realign it.\markup { \override #'(box-padding . 1.5) \column { "text" \box "text" \left-align \box "text" } }
Used properties:
-
box-padding
(0.2
) -
font-size
(0
) -
thickness
(1
)
-
\caps
arg (markup) ¶-
Print arg in (fake) small caps.
This function is a copy of the
\smallCaps
command.\markup { default \hspace #2 \caps { Text in small caps } }
Use
\fontCaps
for real small caps (if the font provides it). \dynamic
arg (markup) ¶-
Print arg using the (music) font for dynamics.
This font only contains letters f, m, n, p, r, s, and z. When producing phrases like ‘più f’, the normal words (like ‘più’) should be done in a different font. The recommended font for this is bold and italic.
\markup { \dynamic { sfzp } }
\figured-bass
arg (markup) ¶-
Set arg as small numbers for figured bass.
Specially slashed digits can be achieved with a trailing backslash (for numbers 6, 7, and 9) or a trailing plus (for numbers 2, 4, and 5).2
The use of a backslash is in analogy to
\figuremode
(see Introducir el bajo cifrado). Note that to get a backslash character in markup it must be escaped by doubling it. Additionally, it must be put into double quotes.\markup { \figured-bass { 2 3 4+ 7 "9\\" } }
\finger
arg (markup) ¶-
Set arg as small numbers for fingering instructions.
\markup { \finger { 1 2 3 4 5 } }
\fontCaps
arg (markup) ¶-
Print arg in small caps.
This command sets the
font-variant
property tosmall-caps
.Unlike
\smallCaps
, which merely uses capital letters at a smaller font size, this uses the actual variant of the font for small caps. (As a consequence, if you configure a custom text font, this command has no effect if that font does not have a small caps variant.)\markup \fontCaps "Small caps"
\fontsize
increment (number) arg (markup) ¶-
Increase current font size by increment to print arg.
This function adjusts the
baseline-skip
andword-space
properties accordingly.\markup { default \hspace #2 \fontsize #-1.5 smaller }
Used properties:
-
baseline-skip
(2
) -
word-space
(1
) -
font-size
(0
)
-
\huge
arg (markup) ¶-
Set font size to value 2 to print arg.
\markup { default \hspace #2 \huge huge }
\italic
arg (markup) ¶-
Print arg in italics.
This command sets the
font-shape
property toitalic
.\markup { default \hspace #2 \italic italic }
\large
arg (markup) ¶-
Set font size to value 1 to print arg.
\markup { default \hspace #2 \large large }
\larger
arg (markup) ¶-
Increase current font size by 1 to print arg.
This function adjusts the
baseline-skip
andword-space
properties accordingly.\markup { default \hspace #2 \larger larger }
\magnify
sz (number) arg (markup) ¶-
Magnify current font by factor sz to print arg.
\markup { default \hspace #2 \magnify #1.5 { 50% larger } }
Note that magnification only works if a font name is explicitly selected. Use
\fontsize
otherwise. \normal-size-sub
arg (markup) ¶-
Set arg in subscript with a normal font size.
\markup { default \normal-size-sub { subscript in standard size } }
Used properties:
-
font-size
(0
)
-
\normal-size-super
arg (markup) ¶-
Set arg in superscript with a normal font size.
\markup { default \normal-size-super { superscript in standard size } }
Used properties:
-
font-size
(0
)
-
\normal-text
arg (markup) ¶-
Print arg with default text font.
This resets all font-related properties (except the size), no matter what font was used earlier.
\markup { \huge \bold \sans \fontCaps { huge bold sans caps \hspace #2 \normal-text { huge normal } \hspace #2 as before } }
\normal-weight
arg (markup) ¶-
Switch to normal weight (in contrast to bold) to print arg.
This command sets the
font-series
property tonormal
.\markup { \bold { some bold text \hspace #2 \normal-weight { normal font series } \hspace #2 bold again } }
\normalsize
arg (markup) ¶-
Set font size to default (i.e., to value 0) to print arg.
\markup { \teeny { this is very small \hspace #2 \normalsize { normal size } \hspace #2 teeny again } }
\number
arg (markup) ¶-
Print arg using the (music) font for numbers.
This font also contains symbols for figured bass, some punctuation, spaces of various widths, some letters and text variants of accidentals. Use
\dynamic
to access the (very small number of) letters. For accidentals you might use\number
in combination with Unicode characters to access the text representation forms of accidental glyphs, as the following table shows.To get accidentals protected against overrides of
font-name
it is preferable to use\text-doubleflat
,\text-flat
,\text-natural
,\text-sharp
,\text-doublesharp
or the general\text-accidental
for the text variants of accidentals.The appearance of digits in the Emmentaler font can be controlled with four OpenType features: ‘tnum’, ‘cv47’, ‘ss01’, and ‘kern’, which can be arbitrarily combined.
- tnum
If off (which is the default), glyphs ‘zero’ to ‘nine’ have no left and right side bearings. If on, the glyphs all have the same advance width by making the bearings non-zero.
- cv47
If on, glyphs ‘four’ and ‘seven’ have shorter vertical strokes. Default is off.
- ss01
If on, glyphs ‘zero’ to ‘nine’ have a fatter design, making them more readable at small sizes. Default is off.
- kern
If on (which is the default), provide pairwise kerning between (most) glyphs.
\markuplist \number \fontsize #4.5 \override #'((padding . 2) (baseline-skip . 4) (box-padding . 0) (thickness . 0.1)) \table #'(-1 -1 -1 -1) { 0123456789 \box 147 \concat { \box 1 \box 4 \box 7 } \normal-text \normalsize "(time signatures)" \override #'(font-features .("cv47")) { 0123456789 \box 147 \concat { \box 1 \box 4 \box 7 } } \normal-text \normalsize "(alternatives)" \override #'(font-features .("tnum" "cv47" "-kern")) { 0123456789 \box 147 \concat { \box 1 \box 4 \box 7 } } \normal-text \normalsize "(fixed-width)" \override #'(font-features . ("tnum" "cv47" "ss01")) { 0123456789 \box 147 \concat { \box 1 \box 4 \box 7 } } \normal-text \normalsize "(figured bass)" \override #'(font-features . ("cv47" "ss01")) { 0123456789 \box 147 \concat { \box 1 \box 4 \box 7 } } \normal-text \normalsize "(fingering)" }
See also the markup commands
\figured-bass
and\finger
, which set the font features accordingly. \overtie
arg (markup) ¶-
Overtie arg.
\markup \line { \overtie "overtied" \override #'((offset . 5) (thickness . 1)) \overtie "overtied" \override #'((offset . 1) (thickness . 5)) \overtie "overtied" }
Used properties:
-
shorten-pair
((0 . 0)
) -
height-limit
(0.7
) -
direction
(1
) -
offset
(2
) -
thickness
(1
)
-
\replace
replacements (list) arg (markup) ¶-
Use replacements to replace strings in arg.
Each
(key . value)
pair of the replacements alist specifies what should be replaced; key gets replaced by value. Note the quasiquoting syntax with a backquote in the second example.\markup \replace #'(("2nd" . "Second")) "2nd time" \markup \replace #`(("2nd" . ,#{ \markup \concat { 2 \super nd } #})) \center-column { \line { Play only } \line { the 2nd time } }
Used properties:
-
replacement-alist
-
\sans
arg (markup) ¶-
Print arg with a sans-serif font.
This command sets the
font-family
property tosans
.\markup { default \hspace #2 \sans { sans serif } }
\serif
arg (markup) ¶-
Print arg with a serif font.
This command sets the
font-family
property toserif
.\markup { \sans \bold { sans serif, bold \hspace #2 \serif { text in serif font } \hspace #2 return to sans } }
\simple
str (string) ¶-
Print string str.
\markup \simple "x"
is equivalent to\markup "x"
. This command was previously used internally, but no longer is, and is being kept for backward compatibility only. \small
arg (markup) ¶-
Set font size to value -1 to print arg.
\markup { default \hspace #2 \small small }
\smallCaps
arg (markup) ¶-
Print arg in (fake) small caps.
Unlike
\fontCaps
, which uses the actual small caps variant of the current font, this fakes small caps by using capital letters at a smaller font size. It can thus be used for fonts that don’t have a small caps variant.\markup { default \hspace #2 \smallCaps { Text in small caps } }
\smaller
arg (markup) ¶-
Decrease current font size by 1 to print arg.
This function adjusts the
baseline-skip
andword-space
properties accordingly.\markup { \fontsize #3.5 { large text \hspace #2 \smaller { smaller text } \hspace #2 large text } }
\sub
arg (markup) ¶-
Set arg in subscript.
\markup { \concat { H \sub 2 O } }
Ssee also
\super
.Used properties:
-
font-size
(0
)
-
\super
arg (markup) ¶-
Set arg in superscript.
\markup { E = \concat { mc \super 2 } }
See also
\sub
.Used properties:
-
font-size
(0
)
-
\teeny
arg (markup) ¶-
Set font size to value -3 to print arg.
\markup { default \hspace #2 \teeny teeny }
\tie
arg (markup) ¶-
Add a horizontal bow at the bottom or top of arg.
This function uses
make-tie-stencil
to create the bow; it looks at thethickness
andoffset
properties to determine the line thickness and vertical offset, respectively. The added bow fits the extent of arg; use theshorten-pair
property to modify this. Thedirection
property may be set explicitly usingoverride
or direction modifiers, or implicitly by usingvoiceOne
, etc.\markup { \override #'(direction . 1) \tie "above" \override #'(direction . -1) \tie "below" }
See also
\undertie
and\overtie
, which are shorthands for this function.Used properties:
-
shorten-pair
((0 . 0)
) -
height-limit
(0.7
) -
direction
(1
) -
offset
(2
) -
thickness
(1
)
-
\tiny
arg (markup) ¶-
Set font size to value -2 to print arg.
\markup { default \hspace #2 \tiny tiny }
\typewriter
arg (markup) ¶-
Print arg in typewriter.
This command sets the
font-family
property totypewriter
, also switching off the ‘liga’ OpenType feature to disable ligatures like ‘ff’ or ‘fi’.\markup { "default fi ff" \hspace #2 \typewriter "typewriter fi ff" }
\underline
arg (markup) ¶-
Underline arg.
This function looks at the property
thickness
to determine the line thickness, atoffset
to determine the line’s vertical offset from arg, and atunderline-skip
to determine the distance of additional lines from the others.The
underline-shift
property is used to make subsequent calls work correctly. Overriding it makes little sense since it would end up adding the provided value to the one ofoffset
.\markup \justify-line { \underline "underlined" \override #'(offset . 5) \override #'(thickness . 1) \underline "underlined" \override #'(offset . 1) \override #'(thickness . 5) \underline "underlined" \override #'(offset . 5) \override #'(underline-skip . 4) \underline \underline \underline "underlined thrice" }
Used properties:
-
underline-skip
(2
) -
underline-shift
(0
) -
offset
(2
) -
thickness
(1
)
-
\undertie
arg (markup) ¶-
Print a tie under arg.
\markup \line { \undertie "undertied" \override #'((offset . 5) (thickness . 1)) \undertie "undertied" \override #'((offset . 1) (thickness . 5)) \undertie "undertied" }
Used properties:
-
shorten-pair
((0 . 0)
) -
height-limit
(0.7
) -
direction
(1
) -
offset
(2
) -
thickness
(1
)
-
\upright
arg (markup) ¶-
Print arg upright.
This command is the opposite of
\italic
; it sets thefont-shape
property toupright
.\markup { \italic { italic text \hspace #2 \upright { upright text } \hspace #2 italic again } }
\volta-number
arg (markup) ¶-
Set arg in a font appropriate for volta numbers.
\markup \volta-number "4."
\with-string-transformer
transformer (procedure) arg (markup) ¶-
Apply string transformer function transformer to arg.
Whenever a string is interpreted inside arg, function transformer is called first, and its result is then interpreted. The arguments passed to transformer are the output definition, the property alist chain, and the markup arg. See New markup command definition about the two first arguments.
\markup \with-string-transformer #(lambda (layout props str) (string-upcase str)) \concat { "abc" \larger "def" }
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Font markup ] | [ Up : Instrucciones de marcado de texto ] | [ Graphical markup > ] |
A.11.2 Markup for text alignment
\abs-hspace
amount (number) ¶-
Create an invisible object taking up absolute horizontal space of amount points.
\markup { one \abs-hspace #20 two \abs-hspace #40 three }
See also
\hspace
. \abs-vspace
amount (number) ¶-
Create an invisible object taking up absolute vertical space of amount points.
\markup { \center-column { one \abs-vspace #20 two \abs-vspace #40 three } }
See also
\vspace
. \align-on-other
axis (non-negative, exact integer) other-dir (boolean-or-number) other (markup) self-dir (boolean-or-number) self (markup) ¶-
Align markup self on markup other along axis.
This function uses self-dir and other-dir for mutual alignment of self and other, respectively, translating self as requested relative to its surroundings. other is not printed.
If self-dir or other-dir is
#f
, use the reference point of self or other, respectively.\markup \column { 12 \align-on-other #X #RIGHT 12 #LEFT 12345 \align-on-other #X #RIGHT 123 #LEFT \fermata 123 \align-on-other #X #RIGHT 123 ##f \fermata }
\center-align
arg (markup) ¶-
Align arg to its X center.
\markup { \column { one \center-align two three } }
\center-column
args (markup list) ¶-
Put args into a centered column.
See also
\column
.\markup { \center-column { one two three } }
Used properties:
-
baseline-skip
-
\column
args (markup list) ¶-
Stack the markups in args vertically.
The property
baseline-skip
determines the space between markups in args (to be more precise, the space between the baselines of the markups).\markup { \column { one two three } }
The baseline of the output of
\column
is the baseline of its first line.Used properties:
-
baseline-skip
-
\combine
arg1 (markup) arg2 (markup) ¶-
Print arg1, then print arg2 on top of it.
Note:
\combine
cannot take a list of markups enclosed in curly braces as an argument; for this purpose use\overlay
instead.\markup { \fontsize #5 \override #'(thickness . 2) \combine \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f }
\concat
args (markup list) ¶-
Concatenate args in a horizontal line, without spaces in between.
Strings are concatenated on the input level, allowing ligatures. For example,
\concat { "f" "i" }
is equivalent to"fi"
.\markup { \concat { one two three } }
\dir-column
args (markup list) ¶-
Make a column of args.
Depending on the setting of the
direction
layout property, the arguments are stacked upwards or downwards.\markup { \override #`(direction . ,UP) \dir-column { going up } \hspace #1 \dir-column { going down } \hspace #1 \override #'(direction . 1) \dir-column { going up } }
The baseline of the output of
\dir-column
is the baseline of its first line.Used properties:
-
baseline-skip
-
direction
-
\fill-line
args (markup list) ¶-
Put markups args into a horizontal line.
The markups are spaced or flushed to fill the entire line. If there are no arguments, return an empty stencil.
The width of the horizontal line can be modified by overriding the
line-width
property.\markup { \column { \fill-line { Words evenly spaced across the page } \null \fill-line { \line { Text markups } \line { \italic { evenly spaced } } \line { across the page } } \null \override #'(line-width . 50) \fill-line { Width explicitly specified } } }
Used properties:
-
line-width
(#f
) -
word-space
(0.6
) -
text-direction
(1
)
-
\fill-with-pattern
space (number) dir (direction) pattern (markup) left (markup) right (markup) ¶-
Put left and right at the start and end of a line, respectively, and fill the space inbetween with repeated pattern markups.
Patterns are spaced apart by space and aligned to direction dir. The width of the line is given by the
line-width
property.\markup \column { "right-aligned:" \fill-with-pattern #1 #RIGHT . first right \fill-with-pattern #1 #RIGHT . second right \null "center-aligned:" \fill-with-pattern #1.5 #CENTER - left right \null "left-aligned:" \override #'(line-width . 50) { \fill-with-pattern #2 #LEFT : left first \fill-with-pattern #2 #LEFT : left second } }
Used properties:
-
line-width
-
word-space
-
\general-align
axis (integer) dir (number) arg (markup) ¶-
Align arg in axis direction to the dir side.
\markup { \column { one \general-align #X #LEFT two three \null one \general-align #X #CENTER two three \null \line { one \general-align #Y #UP two three } \null \line { one \general-align #Y #3.2 two three } } }
\halign
dir (number) arg (markup) ¶-
Print arg with horizontal alignment set to dir.
If dir is -1, arg is left-aligned, while +1 makes it right-aligned. Values inbetween interpolate the alignment accordingly.
\markup { \column { one \halign #LEFT two three \null one \halign #CENTER two three \null one \halign #RIGHT two three \null one \halign #-5 two three } }
\hcenter-in
length (number) arg (markup) ¶-
Center arg horizontally within a box of extending length/2 to the left and right.
\new StaffGroup << \new Staff { \set Staff.instrumentName = \markup { \hcenter-in #12 Oboe } c''1 } \new Staff { \set Staff.instrumentName = \markup { \hcenter-in #12 Bassoon } \clef tenor c'1 } >>
\hspace
amount (number) ¶-
Create an invisible object taking up amount horizontal space.
\markup { one \hspace #2 two \hspace #8 three }
See also
\abs-hspace
. \justify
args (markup list) ¶-
Print args as lines aligned both at the left and the right.
Like
\wordwrap
, but with lines stretched to justify the margins. Use\override #'(line-width . X)
to set the line width; X is the number of staff spaces.\markup { \justify { Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. } }
The baseline of the output of
\justify
is the baseline of its first line.Used properties:
-
text-direction
(1
) -
word-space
-
line-width
(#f
) -
baseline-skip
-
\justify-field
symbol (symbol) ¶-
Justify the data that has been assigned to symbol.
\header { title = "My title" myText = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." } \paper { bookTitleMarkup = \markup { \column { \fill-line { \fromproperty #'header:title } \null \justify-field #'header:myText } } } \markup { \null }
\justify-line
args (markup list) ¶-
Put markups args into a horizontal line.
The markups are spread to fill the entire line and separated by equal space. If there are no arguments, return an empty stencil.
The width of the horizontal line can be modified by overriding the
line-width
property.\markup { \justify-line { Constant space between neighboring words } }
Used properties:
-
line-width
(#f
) -
word-space
(0.6
) -
text-direction
(1
)
-
\justify-string
arg (string) ¶-
Print string arg as lines aligned both at the left and the right.
Paragraphs are indicated by double newlines. Use
\override #'(line-width . X)
to set the line width; X is the number of staff spaces.\markup { \override #'(line-width . 40) \justify-string "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum" }
The baseline of the output of
\justify-string
is the baseline of its first line.Used properties:
-
text-direction
(1
) -
word-space
-
line-width
-
baseline-skip
-
\left-align
arg (markup) ¶-
Align arg on its left edge.
\markup { \column { one \left-align two three } }
\left-column
args (markup list) ¶-
Put args into a left-aligned column.
\markup { \left-column { one two three } }
Used properties:
-
baseline-skip
-
\line
args (markup list) ¶-
Put args into a horizontal line.
The property
word-space
determines the space between markups in args. For right-to-left scripts like Hebrew,text-direction
should be set to -1.\markup \override #'(word-space . 3) \column { \line { "A B" "C D" "E F" } \override #'(text-direction . -1) \line { "A B" "C D" "E F" } }
Used properties:
-
text-direction
(1
) -
word-space
-
\lower
amount (number) arg (markup) ¶-
Lower arg by the distance amount.
A negative amount indicates raising; see also
\raise
.The argument to
\lower
is the vertical displacement amount, measured in (global) staff spaces, which is independent of the markup’s current font size. If you need vertical movement that takes the font size into account, use\translate-scaled
instead.This function is normally used to move one element inside of a markup relative to the other elements. When using it on the whole markup, bear in mind that spacing mechanisms that place the markup itself on the page could cancel this shift. Consider using grob properties such as
padding
,Y-offset
, orextra-offset
, or spacing variables such asmarkup-system-spacing
.\markup { one \lower #3 two three }
\overlay
args (markup list) ¶-
Take a list of markups args and combine them.
\markup { \fontsize #5 \override #'(thickness . 2) \overlay { \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f \translate #'(0 . 4) \arrow-head #Y #UP ##f } }
\pad-around
amount (number) arg (markup) ¶-
Add padding amount all around arg.
Identical to function
\pad-markup
.\markup { \box { default } \hspace #2 \box { \pad-around #0.5 { padded } } }
\pad-markup
amount (number) arg (markup) ¶-
Add padding amount all around arg.
Identical to function
\pad-around
.\markup { \box { default } \hspace #2 \box { \pad-markup #1 { padded } } }
\pad-to-box
x-ext (pair of numbers) y-ext (pair of numbers) arg (markup) ¶-
Make arg take at least x-ext, y-ext space.
\markup { \box { default } \hspace #4 \box { \pad-to-box #'(0 . 10) #'(0 . 3) { padded } } }
\pad-x
amount (number) arg (markup) ¶-
Add padding amount around arg in the X direction.
\markup { \box { default } \hspace #4 \box { \pad-x #2 { padded } } }
\put-adjacent
axis (integer) dir (direction) arg1 (markup) arg2 (markup) ¶-
Put arg2 next to arg1 along axis to the dir side, without moving arg1.
\markup \column { text \put-adjacent #X #LEFT text * text }
\raise
amount (number) arg (markup) ¶-
Raise arg by the distance amount.
A negative amount indicates lowering, see also
\lower
.The argument to
\raise
is the vertical displacement amount, measured in (global) staff spaces, which is independent of the markup’s current font size. If you need vertical movement that takes the font size into account, use\translate-scaled
instead.This function is normally used to move one element inside of a markup relative to the other elements. When using it on the whole markup, bear in mind that spacing mechanisms that place the markup itself on the page could cancel this shift. Consider using grob properties such as
padding
,Y-offset
, orextra-offset
, or spacing variables such asmarkup-system-spacing
.\markup { C \small \bold \raise #1.0 9/7+ }
\right-align
arg (markup) ¶-
Align arg on its right edge.
\markup { \column { one \right-align two three } }
\right-column
args (markup list) ¶-
Put args into a right-aligned column.
\markup { \right-column { one two three } }
Used properties:
-
baseline-skip
-
\rotate
ang (number) arg (markup) ¶-
Rotate arg by ang degrees around its center.
\markup { default \hspace #2 \rotate #45 \line { rotated 45° } }
\translate
offset (pair of numbers) arg (markup) ¶-
Translate arg relative to its surroundings.
offset is a pair of numbers representing the displacement in the X and Y axes. See also
\translate-scaled
.This function is normally used to move one element inside of a markup relative to the other elements. When using it on the whole markup, bear in mind that spacing mechanisms that place the markup itself on the page could cancel this shift. Consider using grob properties such as
padding
,X-offset
,Y-offset
orextra-offset
, or spacing variables such asmarkup-system-spacing
.\markup { * \translate #'(2 . 3) \line { translated two spaces right, three up } }
\translate-scaled
offset (pair of numbers) arg (markup) ¶-
Translate arg by offset, scaling the offset by the font size.
This function is normally used to move one element inside of a markup relative to the other elements. When using it on the whole markup, bear in mind that spacing mechanisms that place the markup itself on the page could cancel this shift. Consider using grob properties such as
padding
,X-offset
,Y-offset
orextra-offset
, or spacing variables such asmarkup-system-spacing
.See also
\translate
.\markup { \fontsize #5 { * \translate #'(2 . 3) translate \hspace #2 * \translate-scaled #'(2 . 3) translate-scaled } }
Used properties:
-
font-size
(0
)
-
\vcenter
arg (markup) ¶-
Align arg to its Y center.
\markup { one \vcenter two three }
\vspace
amount (number) ¶-
Create an invisible object taking up vertical space of amount multiplied by 3.
\markup { \center-column { one \vspace #2 two \vspace #5 three } }
See also
\abs-vspace
. \wordwrap
args (markup list) ¶-
Print args as left-aligned lines.
This function provides simple word-wrap. Use
\override #'(line-width . X)
to set the line width; X is the number of staff spaces.\markup { \wordwrap { Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. } }
The baseline of the output of
\wordwrap
is the baseline of its first line.Used properties:
-
text-direction
(1
) -
word-space
-
line-width
(#f
) -
baseline-skip
-
\wordwrap-field
symbol (symbol) ¶-
Word-wrap the data that has been assigned to symbol.
\header { title = "My title" myText = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." } \paper { bookTitleMarkup = \markup { \column { \fill-line { \fromproperty #'header:title } \null \wordwrap-field #'header:myText } } } \markup { \null }
\wordwrap-string
arg (string) ¶-
Print string arg as left-aligned lines.
Paragraphs are indicated by double newlines. Use
\override #'(line-width . X)
to set the line width; X is the number of staff spaces.\markup { \override #'(line-width . 40) \wordwrap-string "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum" }
The baseline of the output of
\wordwrap-string
is the baseline of its first line.Used properties:
-
text-direction
(1
) -
word-space
-
line-width
-
baseline-skip
-
A.11.3 Graphical markup
\arrow-head
axis (integer) dir (direction) filled (boolean) ¶-
Print an arrow head along axis in direction dir.
Fill the head if filled is set to
#t
.\markup { \fontsize #5 { \general-align #Y #DOWN { \arrow-head #Y #UP ##t \arrow-head #Y #DOWN ##f \hspace #2 \arrow-head #X #RIGHT ##f \arrow-head #X #LEFT ##f } } }
\beam
width (number) slope (number) thickness (number) ¶-
Draw a beam with given width, slope, and thickness.
\markup { \beam #5 #1 #2 }
\bracket
arg (markup) ¶-
Draw vertical brackets around arg.
\markup { \bracket { \note {2.} #UP } }
\circle
arg (markup) ¶-
Draw a circle around arg.
Use properties
thickness
,circle-padding
, andfont-size
to set the line thickness and padding around the markup.\markup { \circle { Hi } }
Used properties:
-
circle-padding
(0.2
) -
font-size
(0
) -
thickness
(1
)
-
\draw-circle
radius (number) thickness (number) filled (boolean) ¶-
Draw a circle with given radius and thickness.
Fill the circle if filled is set to
#t
.\markup { \draw-circle #2 #0.5 ##f \hspace #2 \draw-circle #2 #0 ##t }
\draw-dashed-line
dest (pair of numbers) ¶-
Draw a dashed line along vector dest.
Properties
on
andoff
give the length of a dash and the space between two dashes, respectively;phase
shortens the first dash by the given amount.If the
full-length
property is set to#t
(which is the default), the value of propertyoff
(andon
under some boundary conditions) gets adjusted so that there is neither whitespace at the end of the line nor the last dash truncated.\markup { \override #'((on . 0.3) (off . 0.5)) \draw-dashed-line #'(6 . 2) \draw-dashed-line #'(6 . 2) \override #'(full-length . #f) \draw-dashed-line #'(6 . 2) \override #'(phase . 0.5) \draw-dashed-line #'(6 . 2) \override #'((full-length . #f) (phase . 0.5)) \draw-dashed-line #'(6 . 2) }
Used properties:
-
full-length
(#t
) -
phase
(0
) -
off
(1
) -
on
(1
) -
thickness
(1
)
-
\draw-dotted-line
dest (pair of numbers) ¶-
Draw a dotted line along vector dest.
Property
off
gives the space between two dots; its value gets adjusted so that the first and last dot exactly start and end the line, respectively.phase
shifts all dots along the vector by the given amount.\markup { \draw-dotted-line #'(5.1 . 2.3) \override #'((thickness . 2) (off . 0.2)) \draw-dotted-line #'(5.1 . 2.3) }
Used properties:
-
phase
(0
) -
off
(1
) -
thickness
(1
)
-
\draw-hline
¶-
Draw a horizontal line.
The property
span-factor
sets the length of the line as a multiple of theline-width
property.\markup { \column { \draw-hline \override #'(span-factor . 1/3) \draw-hline } }
Used properties:
-
span-factor
(1
) -
line-width
-
thickness
(1
)
-
\draw-line
dest (pair of numbers) ¶-
Draw a line along vector dest.
\markup { \draw-line #'(4 . 4) \override #'(thickness . 5) \draw-line #'(-3 . 0) }
Used properties:
-
thickness
(1
)
-
\draw-squiggle-line
sq-length (number) dest (pair of numbers) eq-end? (boolean) ¶-
Draw a squiggled line along vector dest.
sq-length is the length of the first bow; this value gets always adjusted so that an integer number of squiggles is printed. If eq-end? is set to
#t
, the squiggled line ends with a bow in the same direction as the starting one.The appearance of the squiggled line may be customized by overriding the
thickness
,angularity
,height
, andorientation
properties.\markup \column { \draw-squiggle-line #0.5 #'(6 . 0) ##t \override #'(orientation . -1) \draw-squiggle-line #0.5 #'(6 . 0) ##t \draw-squiggle-line #0.5 #'(6 . 0) ##f \override #'(height . 1) \draw-squiggle-line #0.5 #'(6 . 0) ##t \override #'(thickness . 5) \draw-squiggle-line #0.5 #'(6 . -2) ##t \override #'(angularity . 2) \draw-squiggle-line #0.5 #'(6 . 2) ##t }
Used properties:
-
orientation
(1
) -
height
(0.5
) -
angularity
(0
) -
thickness
(0.5
)
-
\ellipse
arg (markup) ¶-
Draw an ellipse around arg.
Use properties
thickness
,x-padding
,y-padding
, andfont-size
to set the line thickness and padding around the markup.This is the same as function
\oval
but with different padding defaults.\markup { \ellipse { Hi } }
Used properties:
-
y-padding
(0.2
) -
x-padding
(0.2
) -
font-size
(0
) -
thickness
(1
)
-
\epsfile
axis (number) size (number) file-name (string) ¶-
Inline an image file-name, scaled along axis to size.
See
\image
for details on this command; calling\markup \epsfile axis size file-name
is the same as
\markup \override #'(background-color . #f) \image axis size file-name
\filled-box
xext (pair of numbers) yext (pair of numbers) blot (number) ¶-
Draw a box of dimensions xext and yext, with rounded corners given by blot.
For example,
\filled-box #'(-.3 . 1.8) #'(-.3 . 1.8) #0
creates a box extending horizontally from -0.3 to 1.8 and vertically from -0.3 up to 1.8, with corners formed from a circle of diameter 0 (i.e., sharp corners).
\markup { \filled-box #'(0 . 4) #'(0 . 4) #0 \filled-box #'(0 . 2) #'(-4 . 2) #0.4 \combine \filled-box #'(1 . 8) #'(0 . 7) #0.2 \with-color #white \filled-box #'(3.6 . 5.6) #'(3.5 . 5.5) #0.7 }
\hbracket
arg (markup) ¶-
Draw horizontal brackets around arg.
\markup { \hbracket { \line { one two three } } }
\image
axis (number) size (number) file-name (string) ¶-
Inline an image file-name, scaled along axis to size.
The image format is determined based on the extension of file-name, which should be .png for a PNG image, or .eps for an EPS image (.PNG and .EPS are allowed as well).
EPS files are only supported in the PostScript backend – for all output formats –, and in the Cairo backend – when creating PostScript or EPS output.
If the image has transparency, it will appear over a colored background with the color specified by the
background-color
property, which defaults to"white"
.To disable the colored background, set
background-color
to#f
. For EPS images, this always works (where EPS images work in the first place). On the other hand, for PNG images, it works in the Cairo backend (which can output all supported formats), as well as in the SVG backend, but not in the PostScript backend, which is the default. See Advanced command-line options for LilyPond for how to activate the Cairo backend.Use
\withRelativeDir
as a prefix to file-name if the file should be found relative to the input file.Used properties:
-
background-color
("white"
)
-
\oval
arg (markup) ¶-
Draw an oval around arg.
Use properties
thickness
,x-padding
,y-padding
, andfont-size
to set the line thickness and padding around the markup.This is the same as function
\ellipse
but with different padding defaults.\markup { \oval { Hi } }
Used properties:
-
y-padding
(0.75
) -
x-padding
(0.75
) -
font-size
(0
) -
thickness
(1
)
-
\parenthesize
arg (markup) ¶-
Draw parentheses around arg.
This is useful for parenthesizing a column containing several lines of text.
\markup { \parenthesize \column { foo bar } \override #'(angularity . 2) \parenthesize \column { bah baz } }
Used properties:
-
width
(0.25
) -
line-thickness
(0.1
) -
thickness
(1
) -
size
(1
) -
padding
-
angularity
(0
)
-
\path
thickness (number) commands (list) ¶-
Draw a path with line thickness according to the directions given in commands.
commands is a list of lists where the
car
of each sublist is a drawing command and thecdr
comprises the associated arguments for each command.There are seven commands available to use in commands:
moveto
,rmoveto
,lineto
,rlineto
,curveto
,rcurveto
, andclosepath
. Note that the commands that begin with ‘r’ are the relative variants of the other three commands. You may also use the standard SVG single-letter equivalents:moveto
=M
,lineto
=L
,curveto
=C
,closepath
=Z
. The relative commands are written lowercase:rmoveto
=r
,rlineto
=l
,rcurveto
=c
.The commands
moveto
,rmoveto
,lineto
, andrlineto
take 2 arguments, namely the X and Y coordinates of the destination point.The commands
curveto
andrcurveto
create cubic Bézier curves, and take 6 arguments; the first two are the X and Y coordinates for the first control point, the second two are the X and Y coordinates for the second control point, and the last two are the X and Y coordinates for the destination point.The
closepath
command takes zero arguments and closes the current subpath in the active path.Line-cap styles and line-join styles may be customized by overriding the
line-cap-style
andline-join-style
properties, respectively. Available line-cap styles arebutt
,round
, andsquare
. Available line-join styles aremiter
,round
, andbevel
.The property
filled
specifies whether or not the path is filled with color.samplePath = #'((lineto -1 1) (lineto 1 1) (lineto 1 -1) (curveto -5 -5 -5 5 -1 0) (closepath)) \markup \scale #'(2 . 2) { \path #0.25 #samplePath \override #'(line-join-style . miter) \path #0.25 #samplePath \override #'(filled . #t) \path #0.25 #samplePath }
Used properties:
-
filled
(#f
) -
line-join-style
(round
) -
line-cap-style
(round
)
-
\polygon
points (list of number pairs) ¶-
A polygon delimited by the list of points.
Property
extroversion
defines how the shape of the polygon is adapted to its thickness: if it is 0, the polygon is traced as-is. If it is -1, the outer side of the line is just on the given points. If set to 1, the line has its inner side on the points. Thethickness
property controls the thickness of the line; for filled polygons, this means the diameter of the blot.regularPentagon = #'((1 . 0) (0.31 . 0.95) (-0.81 . 0.59) (-0.81 . -0.59) (0.31 . -0.95)) \markup \scale #'(2 . 2) { \polygon #'((-1 . -1) (0 . -3) (2 . 2) (1 . 2)) \override #'(filled . #f) \override #'(thickness . 2) \combine \with-color #(universal-color 'blue) \polygon #regularPentagon \with-color #(universal-color 'vermillion) \override #'(extroversion . 1) \polygon #regularPentagon }
Used properties:
-
thickness
(1
) -
filled
(#t
) -
extroversion
(0
)
-
\postscript
str (string) ¶-
Insert str directly into the output as a PostScript command string.
This command is meant as a last resort. Almost all needs are better fulfilled by other markup commands (see, for example,
\path
and\draw-line
). If you do use this command, keep the following points in mind:-
\postscript
does not work in SVG output. - Only a subset of the PostScript language is supported during the conversion from PostScript to PDF.
- There are no stability guarantees on the details of how LilyPond produces its own output (i.e., the context into which the PostScript code is inserted). They may change substantially across versions.
- LilyPond cannot understand the shape of the drawing, leading to suboptimal
spacing. Usually, it is necessary to explicitly set up dimensions with a
command like
\with-dimensions
. - Depending on how you install LilyPond, the version of the PostScript interpreter (Ghostscript) can vary, and some of its features may be disabled.
str is processed with the following constraints.
- The string is embedded into the (intermediate) output file with the
PostScript commands
gsave currentpoint translate 0.1 setlinewidth
before and
grestore
after it.
- After these preceding commands (i.e.,
currentpoint translate
) the origin of the current transformation is the reference point of\postscript
. Scale and rotation of the current transformation reflect the global staff line distance and (if applied) other transformation markup commands (e.g.,\scale
and\rotate
) encapsulating the\postscript
command. - The current point is set to the coordinate (0, 0).
- If an unwanted line appears at the beginning of your PostScript code, you
are probably missing a call to
newpath
.
ringsps = " 0.15 setlinewidth 0.9 0.6 moveto 0.4 0.6 0.5 0 361 arc stroke 1.0 0.6 0.5 0 361 arc stroke " rings = \markup { \with-dimensions #'(-0.2 . 1.6) #'(0 . 1.2) \postscript #ringsps } \relative c'' { c2^\rings a2_\rings }
-
\rounded-box
arg (markup) ¶-
Draw a box with rounded corners around arg.
This function looks at properties
thickness
,box-padding
, andfont-size
to determine the line thickness and padding around the arg. Thecorner-radius
property defines the radius of the round corners (default value is 1).c4^\markup { \rounded-box { Overtura } } c,8. c16 c4 r
Note that the box does not horizontally displace its argument. Use markup commands like
\left-align
or\table
to make LilyPond realign it.\markup { \override #'(box-padding . 1.5) \column { "text" \rounded-box "text" \left-align \rounded-box "text" } }
Used properties:
-
box-padding
(0.5
) -
font-size
(0
) -
corner-radius
(1
) -
thickness
(1
)
-
\scale
factor-pair (pair of numbers) arg (markup) ¶-
Scale arg.
factor-pair is a pair of numbers representing the scaling factor of the X and Y axes. Negative values may be used to produce mirror images.
\markup { \line { \scale #'(2 . 1) stretched \scale #'(1 . -1) mirrored } }
\triangle
filled (boolean) ¶-
Draw a triangle.
Fill the triangle if filled is set to
#t
.The appearance can be controlled with properties
extroversion
,font-size
, andthickness
.\markup { \triangle ##t \triangle ##f \override #'(font-size . 5) \override #'(thickness . 5) { \override #'(extroversion . 1) \triangle ##f \override #'(extroversion . -1) \triangle ##f } }
Used properties:
-
thickness
(1
) -
font-size
(0
) -
extroversion
(0
)
-
\with-url
url (string) arg (markup) ¶-
Add a link to URL url around arg.
This only works in the PDF backend.3
\markup { \with-url "https://lilypond.org/" { LilyPond ... \italic { music notation for everyone } } }
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Graphical markup ] | [ Up : Instrucciones de marcado de texto ] | [ Conditional markup > ] |
A.11.4 Markup for music and musical symbols
\accidental
alteration (an exact rational number) ¶-
Select an accidental glyph for alteration, given as a rational number.
Use
\text-accidental
instead if you need glyph representation forms that fit and align well with text.\markup { text \tiny { \accidental #1/2 \accidental #-1/2 } text \tiny { \text-accidental #1/2 \text-accidental #-1/2 } text }
Used properties:
-
alteration-glyph-name-alist
-
\bar-line
strg (string) ¶-
Print a bar line in markup.
The allowed characters for input string strg are ‘;|.:!S[]{}’, having the same meaning as with the
\bar
command. The additional characters ‘{’ and ‘}’ denote left and right braces, respectively.The output is vertically centered.
Changes of
font-size
are respected.The default of
height
is 4 staff-space units. Apart from the bracket tips of a bracket bar line and the segno bar line all other bar lines are scaled withheight
. We don’t scale bracket tips and segno to meet the behaviour ofSystemStartBracket
and the segno barline.\bar-line
is further customizable by overridingdot-count
anddash-count
for dotted and dashed bar lines. The values forhair-thickness
,kern
andthick-thickness
are customizable as well; defaults are the same as the values of the correspondingBarLine
grob properties.\markup { \override #'(word-space . 2) \column { \line { Examples \fontsize #-5 \translate-scaled #'(0 . 2) { \bar-line ":|.|:" \bar-line ";!S!;" \bar-line "]{|}[" } } \line { Examples \fontsize #0 \translate-scaled #'(0 . 2) { \bar-line ":|.|:" \bar-line ";!S!;" \bar-line "]{|}[" } } \line { Examples \fontsize #5 \translate-scaled #'(0 . 2) { \bar-line ":|.|:" \bar-line ";!S!;" \bar-line "]{|}[" } } } }
Used properties:
-
thick-thickness
(6.0
) -
kern
(3.0
) -
hair-thickness
(1.9
) -
dash-count
(5
) -
dot-count
(4
) -
height
(4
) -
font-size
(0
)
-
\coda
¶-
Draw a coda sign.
\markup { \coda }
\compound-meter
time-sig (number or pair) ¶-
Draw a numeric time signature based on time-sig.
time-sig can be a single number, an alist, a simple list, or a list of lists, as the following example demonstrates.
\markup { \override #'(baseline-skip . 4.5) \column { \line { Single number: \compound-meter #3 } \line { Conventional: \compound-meter #'(4 . 4) or \compound-meter #'(4 4) } \line { Compound: \compound-meter #'(2 3 5 8) } \line { Single-number compound: \compound-meter #'((2) (3)) } \line { Complex compound: \compound-meter #'((2 3 8) (3 4)) } } }
\customTabClef
num-strings (integer) staff-space (number) ¶-
Draw a clef in sans-serif style for a tablature with num-strings lines spaced by staff-space.
This markup command is used to implement
\clef moderntab
within aTabStaff
context.\markup { \customTabClef #4 #1 }
\doubleflat
¶-
Draw a double flat symbol.
\markup { \doubleflat }
\doublesharp
¶-
Draw a double sharp symbol.
\markup { \doublesharp }
\fermata
¶-
Create a fermata glyph.
If property
direction
isDOWN
, use an inverted glyph.Note that within music, one would normally use the
\fermata
articulation instead of a markup.{ c''1^\markup \fermata d''1_\markup \fermata } \markup { \fermata \override #`(direction . ,DOWN) \fermata }
Used properties:
-
direction
(1
)
-
\flat
¶-
Draw a flat symbol.
\markup { \flat }
\multi-measure-rest-by-number
length (non-negative, exact integer) ¶-
Return a multi-measure rest symbol for length measures.
If the number of measures is greater than the number given by
expand-limit
a thick horizontal line is printed. For every multi-measure rest lasting more than one measure a number is printed on top. However, if propertymulti-measure-rest-number
is set to#t
, this number gets suppressed.\markup { Multi-measure rests may look like \multi-measure-rest-by-number #12 or \override #'(multi-measure-rest-number . #f) \multi-measure-rest-by-number #7 (church rests) }
Used properties:
-
multi-measure-rest-number
(#t
) -
width
(8
) -
expand-limit
(10
) -
hair-thickness
(2.0
) -
thick-thickness
(6.6
) -
word-space
-
style
(()
) -
font-size
(0
)
-
\musicglyph
glyph-name (string) ¶-
Print music symbol glyph-name.
See The Emmentaler font for a complete listing of the possible glyph names.
\markup { \musicglyph "f" \musicglyph "rests.2" \musicglyph "clefs.G_change" }
\natural
¶-
Draw a natural symbol.
\markup { \natural }
\note
duration (duration) dir (number) ¶-
Draw a note of given duration with a stem pointing into direction dir.
duration gives the note head type and augmentation dots; dir controls both the direction and length of the stem.
See also function
\note-by-number
.\markup { \note {4..} #UP \hspace #2 \override #'(style . cross) \note {4..} #0.75 \hspace #2 \note {\breve} #0 }
Used properties:
-
style
(()
) -
dots-direction
(0
) -
flag-style
(()
) -
font-size
(0
)
-
\note-by-number
log (number) dot-count (number) dir (number) ¶-
Draw a note of length log, with dot-count dots and a stem pointing into direction dir.
By using fractional values for dir, longer or shorter stems can be obtained.
Ancient note-head styles (via the
style
property, see Estilos de cabezas de nota) get mensural-style flags by default; useflag-style
to override this. Supported flag styles aredefault
,old-straight-flag
,modern-straight-flag
,flat-flag
,stacked
,mensural
, andneomensural
. The last flag style is the same asmensural
and provided for convenience.\markup { \note-by-number #3 #0 #DOWN \hspace #2 \note-by-number #1 #2 #0.8 \hspace #2 \override #'(style . petrucci) \note-by-number #3 #0 #UP \hspace #2 \override #'(flag-style . modern-straight-flag) \note-by-number #4 #0 #DOWN }
Used properties:
-
style
(()
) -
dots-direction
(0
) -
flag-style
(()
) -
font-size
(0
)
-
\rest
duration (duration) ¶-
Return a rest symbol with length duration.
If the
multi-measure-rest
property is set to#t
, a multi-measure rest symbol may be returned. In this case the duration needs to be entered as{ 1*N }
to get a multi-measure rest for N bars. Actually, only the scaling factor (i.e., the number after ‘*’) determines the length; the basic duration is disregarded.See also functions
\rest-by-number
and\multi-measure-rest-by-number
for more information on the used properties.\markup { Rests: \hspace #2 \rest { 4.. } \hspace #2 \rest { \breve } \hspace #2 Multi-measure rests: \override #'(multi-measure-rest . #t) { \hspace #2 \rest { 1*7 } \hspace #2 \rest { 1*12 } } }
Used properties:
-
multi-measure-rest-number
(#t
) -
width
(8
) -
expand-limit
(10
) -
hair-thickness
(2.0
) -
thick-thickness
(6.6
) -
word-space
-
style
(()
) -
font-size
(0
) -
style
(()
) -
ledgers
((-1 0 1)
) -
font-size
(0
)
-
\rest-by-number
log (integer) dot-count (integer) ¶-
Draw a rest of length log, with dot-count dots.
For duration logs that appear in the
ledgers
property, rest symbols with ledger lines are selected.\markup { \rest-by-number #3 #2 \hspace #2 \rest-by-number #0 #1 \hspace #2 \rest-by-number #-1 #0 \hspace #2 \override #'(ledgers . ()) \rest-by-number #-1 #0 }
Used properties:
-
style
(()
) -
ledgers
((-1 0 1)
) -
font-size
(0
)
-
\rhythm
music (music) ¶-
Draw embedded rhythmic pattern as specified by music.
\relative { \tempo \markup { Swing \hspace #0.4 \rhythm { 8[ 8] } = \rhythm { \tuplet 3/2 { 4 8 } } } b8 g' c, d ees d16 ees d c r8 }
Within
\rhythm
, there is no time signature and no division in measures (as with\cadenzaOn
, see Música sin compasear). Beaming must be added explicitly with the syntax explained in Barras manuales.\markup { The rhythmic pattern \rhythm { 16[ 8 16] } is a type of syncopation. }
\stemDown
can be used to flip the stems.\markup \rhythm { \stemDown 8 16 8 }
\rhythm
works by creating aStandaloneRhythmVoice
context. The parents of this context areStandaloneRhythmStaff
andStandaloneRhythmScore
. It is possible to apply global tweaks to the output by using a\layout
block.\layout { \context { \StandaloneRhythmVoice \xNotesOn } } \markup \rhythm { 8 16 8 }
Used properties:
-
font-size
(-2
)
-
\score
score (score) ¶-
Inline an image of music as specified by score.
The reference point (usually the middle staff line) of the lowest staff in the top system is placed on the baseline.
No page breaks and no MIDI output, i.e., both
\pageBreak
commands and\midi{}
blocks get ignored.\markup { Text before the score. \score { \new PianoStaff << \new Staff \relative c' { \key f \major \time 3/4 \mark \markup { Allegro } f2\p( a4) } \new Staff \relative c { \clef bass \key f \major \time 3/4 f8( a c a c a } >> \layout { indent = 0.0\cm } } Text after the score. }
Used properties:
-
baseline-skip
-
\segno
¶-
Draw a segno symbol.
\markup { \segno }
\semiflat
¶-
Draw a semiflat symbol.
\markup { \semiflat }
\semisharp
¶-
Draw a semisharp symbol.
\markup { \semisharp }
\sesquiflat
¶-
Draw a 3/2 flat symbol.
\markup { \sesquiflat }
\sesquisharp
¶-
Draw a 3/2 sharp symbol.
\markup { \sesquisharp }
\sharp
¶-
Draw a sharp symbol.
\markup { \sharp }
\text-accidental
alteration (an exact rational number) ¶-
Select an accidental glyph for alteration (given as a rational number) that aligns well with text.
\markup { text \tiny { \text-accidental #1/2 \text-accidental #-1/2 } text }
Used properties:
-
alteration-glyph-name-alist
-
\text-doubleflat
¶-
Draw a double flat symbol for text.
\markup { \text-doubleflat }
\text-doublesharp
¶-
Draw a double sharp symbol for text.
\markup { \text-doublesharp }
\text-flat
¶-
Draw a flat symbol for text.
\markup { \text-flat }
\text-natural
¶-
Draw a natural symbol for text.
\markup { \text-natural }
\text-sharp
¶-
Draw a sharp symbol for text.
\markup { \text-sharp }
\tied-lyric
str (string) ¶-
Replace ‘~’ tilde symbols with tie characters in str.
\markup \column { \tied-lyric "Siam navi~all'onde~algenti Lasciate~in abbandono" \tied-lyric "Impetuosi venti I nostri~affetti sono" \tied-lyric "Ogni diletto~e scoglio Tutta la vita~e~un mar." }
Used properties:
-
word-space
-
\varcoda
¶-
Draw a varcoda sign.
\markup { \varcoda }
A.11.5 Conditional markup
\if
condition? (procedure) argument (markup) ¶-
Test condition?, and only insert argument if it is true.
The condition is provided as a procedure taking an output definition and a property alist chain. The procedure is applied, and its result determines whether to print the markup. This command is most useful inside
oddHeaderMarkup
or similar. Here is an example printing page numbers in bold:\paper { oddHeaderMarkup = \markup \fill-line { "" \if #print-page-number \bold \fromproperty #'page:page-number-string } evenHeaderMarkup = \markup \fill-line { \if #print-page-number \bold \fromproperty #'page:page-number-string "" } }
\unless
condition? (procedure) argument (markup) ¶-
Test condition?, and only insert argument if it is false.
This function is similar to
\if
; the following example shows how to print the copyright notice on all pages but the last instead of just the first page.\paper { oddFooterMarkup = \markup { \unless #on-last-page-of-part \fill-line { \fromproperty #'header:copyright } } } \header { copyright = "© LilyPond Authors. License: GFDL." tagline = "© LilyPond Authors. Documentation placed under the GNU Free Documentation License version 1.3." }
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Conditional markup ] | [ Up : Instrucciones de marcado de texto ] | [ Accordion registers > ] |
A.11.6 Instrument-specific markup
\fret-diagram
definition-string (string) ¶-
Make a (guitar) fret diagram based on definition-string.
For example, say
\markup \fret-diagram "s:1.25;6-x;5-x;4-o;3-2;2-3;1-2;"
for fret spacing 5/4 of staff space, D chord diagram.
Syntax rules for definition-string:
- − Diagram items are separated by semicolons.
- − Possible items:
-
s:
number – Set the fret spacing of the diagram (in staff spaces). Default: 1. -
t:
number – Set the line thickness (relative to normal line thickness). Default: 0.5. -
h:
number – Set the height of the diagram in frets. Default: 4. -
w:
number – Set the width of the diagram in strings. Default: 6. -
f:
number – Set fingering label type (0 = none, 1 = in circle on string, 2 = below string). Default: 0. -
d:
number – Set radius of dot, in terms of fret spacing. Default: 0.25. -
p:
number – Set the position of the dot in the fret space. 0.5 is centered; 1 is on lower fret bar, 0 is on upper fret bar. Default: 0.6. -
c:
string1-
string2-
fret – Include a barre mark from string1 to string2 on fret. - string
-
fret – Place a dot on string at fret. If fret is ‘o’, string is identified as open. If fret is ‘x’, string is identified as muted. - string
-
fret-
fingering – Place a dot on string at fret, and label with fingering as defined by thef:
code.
-
- − Note: There is no limit to the number of fret indications per string.
Used properties:
-
thickness
(0.5
) -
fret-diagram-details
-
size
(1.0
) -
align-dir
(-0.4
)
\fret-diagram-terse
definition-string (string) ¶-
Make a fret diagram markup using terse string-based syntax.
For example,
\markup \fret-diagram-terse "x;x;o;2;3;2;"
displays a D chord diagram.
Syntax rules for definition-string:
- Strings are terminated by semicolons; the number of semicolons is the number of strings in the diagram.
- Mute strings are indicated by ‘x’.
- Open strings are indicated by ‘o’.
- A number indicates a fret indication at that fret.
- If there are multiple fret indicators desired on a string, they should be separated by spaces.
- Fingerings are given by following the fret number with a ‘-’ followed by the finger indicator, e.g., ‘3-2’ for playing the third fret with the second finger.
- Where a barre indicator is desired, follow the fret (or fingering) symbol
with
-(
to start a barre and-)
to end the barre.
Used properties:
-
thickness
(0.5
) -
fret-diagram-details
-
size
(1.0
) -
align-dir
(-0.4
)
\fret-diagram-verbose
marking-list (pair) ¶-
Make a fret diagram containing the symbols indicated in marking-list.
The following example produces a standard D chord diagram without fingering indications.
\markup \scale #'(1.5 . 1.5) \fret-diagram-verbose #'((mute 6) (mute 5) (open 4) (place-fret 3 2) (place-fret 2 3) (place-fret 1 2))
Possible elements in marking-list:
(mute string-number)
Place a small ‘x’ at the top of string string-number.
(open string-number)
Place a small ‘o’ at the top of string string-number.
(barre start-string end-string fret-number)
Place a barre indicator (much like a tie) from string start-string to string end-string at fret fret-number.
(capo fret-number)
Place a capo indicator (a large solid bar) across the entire fretboard at fret location fret-number. Also, set fret fret-number to be the lowest fret on the fret diagram.
(place-fret string-number fret-number [finger-value] [color-modifier] [color] ['parenthesized ['default-paren-color]])
Place a fret playing indication on string string-number at fret fret-number with an optional fingering label finger-value, an optional color modifier color-modifier, an optional color color, an optional parenthesis
'parenthesized
and an optional paranthesis color'default-paren-color
.By default, the fret playing indicator is a solid dot. This can be globally changed by setting the value of the property
dot-color
or for a single dot by setting the value of color. The dot can be parenthesized by adding'parenthesized
. By default the color for the parenthesis is taken from the dot. Adding'default-paren-color
will take the parenthesis color from the globaldot-color
property; as a fallback black will be used. Setting color-modifier toinverted
inverts the dot color for a specific fingering.The values for string-number, fret-number, and the optional finger should be entered first in that order. The order of the other optional arguments does not matter. If the finger part of the
place-fret
element is present, finger-value will be displayed according to the setting of the variable finger-code. There is no limit to the number of fret indications per string.
\markup \scale #'(1.5 . 1.5) \fret-diagram-verbose #'( (place-fret 6 3 1 red parenthesized default-paren-color) (place-fret 5 3 1 inverted) (place-fret 4 5 2 blue parenthesized) (place-fret 3 5 3 blue) (place-fret 2 5 4 blue) (place-fret 1 3 1 inverted) )
Used properties:
-
thickness
(0.5
) -
fret-diagram-details
-
size
(1.0
) -
align-dir
(-0.4
)
\harp-pedal
definition-string (string) ¶-
Make a harp pedal diagram containing the symbols indicated in definition-string.
Possible elements in definition-string:
^
pedal is up
-
pedal is neutral
v
pedal is down
|
vertical divider line
o
the following pedal should be circled (indicating a change)
\markup \harp-pedal "^-v|--ov^"
The function also checks whether the string has the typical form of three pedals, then the divider, and then the remaining four pedals, printing a warning otherwise (without preventing the non-standard order).
Use the
size
property to control the overall size, and thethickness
property for the line thickness of the horizontal line and the divider.The remaining configuration is done via the
harp-pedal-details
property; it contains the following elements:box-offset
vertical shift of the box center for up/down pedals
box-width
box width
box-height
box height
space-before-divider
spacing between two boxes before the divider
space-after-divider
spacing between two boxes after the divider
\markup { \override #'((size . 1.5) (harp-pedal-details . ((box-width . 1) (box-offset . 2)))) \harp-pedal "^-v|--ov^" }
For global modification of
harp-pedal-details
, i.e., outside of the current\markup
block, you can also use code similar to\override Voice.TextScript.harp-pedal-details.box-width = 1
Used properties:
-
thickness
(0.5
) -
harp-pedal-details
(()
) -
size
(1.2
)
\woodwind-diagram
instrument (symbol) user-draw-commands (list) ¶-
Make a woodwind-instrument diagram for instrument using user-draw-commands.
user-draw-commands is a list of alists, specifying the left-hand keys, the elements on the central column, and the right-hand keys. For example, this diagram
\markup \woodwind-diagram #'oboe #'((lh . (d ees)) (cc . (five3qT1q)) (rh . (gis)))
shows an oboe with the left-hand d key, left-hand ees key, and right-hand gis key depressed, while the five-hole of the central column effectuating a trill between 1/4 and 3/4 is closed.
The following instruments are supported:
- − piccolo
- − flute
- − oboe
- − clarinet
- − bass-clarinet
- − saxophone
- − bassoon
- − contrabassoon
To see all of the callable keys for a given instrument, include the function call
(print-keys 'instrument)
in your .ly file, where instrument is the instrument whose keys you want to print.Certain keys allow for special configurations. The entire gamut of configurations possible is as follows:
1q
1/4 covered
1h
1/2 covered
3q
3/4 covered
R
ring depressed
F
fully covered; the default if no state put
Additionally, these configurations can be used in trills. So, for example,
three3qTR
effectuates a trill between 3/4 full and ring depressed on the three hole. As another example,threeRT
effectuates a trill between R and open, whereasthreeTR
effectuates a trill between open and shut. To see all of the possibilities for all of the keys of a given instrument, invoke(print-keys-verbose 'instrument)
.Lastly, substituting an empty list for the pressed-key alist results in a diagram with all of the keys drawn but none filled, for example
\markup \woodwind-diagram #'flute #'()
Used properties:
-
woodwind-diagram-details
(()
) -
font-size
(0
) -
graphical
(#t
) -
thickness
(0.1
) -
size
(1
)
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Instrument-specific markup ] | [ Up : Instrucciones de marcado de texto ] | [ Other markup commands > ] |
A.11.7 Accordion registers
\discant
name (string) ¶-
Generate a discant accordion register symbol for name.
To make it available,
#(use-modules (lily accreg))
is required near the top of your input file.
The register names in the default
\discant
register set have been modeled after the numeric Swiss notation (as depicted in http://de.wikipedia.org/wiki/Register_%28Akkordeon%29), omitting the slashes and dropping leading zeros.The string name is basically a three-digit number with the lowest digit specifying the number of 16’ reeds, the tens the number of 8’ reeds, and the hundreds specifying the number of 4’ reeds. Without modification, the specified number of reeds in 8’ is centered in the symbol. Newer instruments may have registrations where 8’ can be used either within or without a tone chamber, ‘cassotto’. Notationally, the central dot then indicates use of cassotto. One can suffix the tens’ digits ‘1’ and ‘2’ with ‘+’ or ‘-’ to indicate clustering the dots at the right or left, respectively, rather than centered.
Some examples are
Used properties:
-
font-size
(0
)
-
\freeBass
name (string) ¶-
Generate a free bass/converter accordion register symbol for the usual two-reed layout as given by name.
To make it available,
#(use-modules (lily accreg))
is required near the top of your input file.
Available registrations are
Used properties:
-
font-size
(0
)
-
\stdBass
name (string) ¶-
Generate a standard bass accordion register symbol for name.
To make it available,
#(use-modules (lily accreg))
is required near the top of your input file.
The default bass register definitions have been modeled after the article http://www.accordions.com/index/art/stradella.shtml originally appearing in Accord Magazine.
The underlying register model is
This kind of overlapping arrangement is common for Italian instruments though the exact location of the octave breaks differ.
When not composing for a particular target instrument, using the five-reed definitions makes more sense than using a four-reed layout: in that manner, the ‘Master’ register is unambiguous. This is rather the rule in literature bothering about bass registrations at all.
Available registrations are
Used properties:
-
font-size
(0
)
-
\stdBassIV
name (string) ¶-
Generate a standard bass accordion register symbol for name.
To make it available,
#(use-modules (lily accreg))
is required near the top of your input file.
The main use is for four-reed standard bass instruments with reedbank layout
Notable instruments are Morino models with MIII (the others are five-reed instead) and the Atlantic IV. Most of those models have three register switches. Some newer Morinos with MIII might have five or even seven.
The prevalent three-register layout uses the middle three switches ‘Tenor’, ‘Master’, ‘Soft Bass’. Note that the sound is quite darker than the same registrations of ‘c,’-based instruments.
Available registrations are
Used properties:
-
font-size
(0
)
-
\stdBassV
name (string) ¶-
Generate a standard bass accordion register symbol for name.
To make it available,
#(use-modules (lily accreg))
is required near the top of your input file.
The main use is for five-reed standard bass instruments with reedbank layout
This tends to be the bass layout for Hohner’s Morino series without converter or MIII manual.
With the exception of the rather new 7-register layout, the highest two chord reeds are usually sounded together. Older instruments offer 5 or 3 bass registers. The Tango VM offers an additional ‘Solo Bass’ setting that mutes the chord reeds. The symbol on the register buttons of the Tango VM would actually match the physical five-octave layout reflected here, but it is not used in literature.
Composers should likely prefer the five-reed versions of these symbols. The mismatch of a four-reed instrument with five-reed symbols is easier to resolve for the player than the other way round.
Available registrations are
Used properties:
-
font-size
(0
)
-
\stdBassVI
name (string) ¶-
Generate a standard bass accordion register symbol for six-reed basses as given by name.
To make it available,
#(use-modules (lily accreg))
is required near the top of your input file.
This is primarily the register layout for the Hohner “Gola” model. The layout is
The registers are effectively quite similar to that of
\stdBass
. An additional bass reed at alto pitch is omitted for esthetical reasons from the ‘Master’ setting, so the symbols are almost the same except for the ‘Alto/Soprano’ register with bass notes at Alto pitch and chords at Soprano pitch.Available registrations are
Used properties:
-
font-size
(0
)
-
A.11.8 Other markup commands
\auto-footnote
mkup (markup) note (markup) ¶-
Have footnote note act as an annotation to the markup mkup.
\markup { \auto-footnote a b \override #'(padding . 0.2) \auto-footnote c d }
The footnote will be annotated automatically.
Used properties:
-
padding
(0.0
) -
raise
(0.5
)
-
\backslashed-digit
num (integer) ¶-
Print number num with the Emmentaler font, crossed through with a backslash.
This is for use in the context of figured bass notation.
\markup { \backslashed-digit #5 \hspace #2 \override #'(thickness . 3) \backslashed-digit #7 }
Used properties:
-
thickness
(1.6
) -
font-size
(0
)
-
\char
num (integer) ¶-
Produce a single Unicode character with code num.
Characters encoded in hexadecimal format require the prefix
#x
.\markup { \char #65 \char ##x00a9 }
\eyeglasses
¶-
Prints out eyeglasses, indicating strongly to look at the conductor.
\markup { \eyeglasses }
\first-visible
args (markup list) ¶-
Use the first markup in args that yields a non-empty stencil and ignore the rest.
\markup { \first-visible { \fromproperty #'header:composer \italic Unknown } }
\footnote
mkup (markup) note (markup) ¶-
Have footnote note act as an annotation to the markup mkup.
\markup { \footnote a b \override #'(padding . 0.2) \footnote c d }
The footnote will not be annotated automatically.
\fraction
arg1 (markup) arg2 (markup) ¶-
Make a fraction of markups arg1 and arg2.
\markup { π ≈ \fraction 355 113 }
Used properties:
-
font-size
(0
)
-
\fromproperty
symbol (symbol) ¶-
Read symbol from the property settings and produce a stencil from the markup contained within.
If symbol is not defined or is not a markup, return an empty markup.
Currently, the following properties can be accessed.
- Within a
\paper
block defining titles, headers, or footers, or within a\header
block: all fields from the\header
block (that produce markup) are available, withheader:
as a name prefix. - Within a
\paper
block defining headers or footers: the current page number (symbolpage:page-number-string
). - Within the
tocItemMarkup
paper variable (or in custom-made Scheme code that uses functionadd-toc-item!
) defining a table of contents entry: the entry’s text and page number are available astoc:text
andtoc:page
, respectively. An entry’s indentation markup is available astoc:indent
.
\header { myTitle = "myTitle" title = \markup { from \italic \fromproperty #'header:myTitle } } \markup { \null }
- Within a
\left-brace
size (number) ¶-
Print a brace from the music font, of height size (in points).
\markup { \left-brace #35 \hspace #2 \left-brace #45 }
\lookup
glyph-name (string) ¶-
Print a brace glyph with name glyph-name.
This is a historical command;
\left-brace
(which looks up the glyph by absolute size and is independent of the font size) is recommended instead.\markup \lookup "brace200"
\markalphabet
num (integer) ¶-
Make a markup letter for num.
The letters start with A to Z and continue with double letters.
\markup { \markalphabet #8 \hspace #2 \markalphabet #26 }
\markletter
num (integer) ¶-
Make a markup letter for num.
The letters start with A to Z (skipping letter I), and continue with double letters.
\markup { \markletter #8 \hspace #2 \markletter #26 }
\null
¶-
An empty markup with extents of a single point.
\markup { \null }
\on-the-fly
procedure (procedure) arg (markup) ¶-
Apply the procedure markup command to arg.
procedure takes the same arguments as
interpret-markup
and returns a stencil. \override
new-prop (pair) arg (markup) ¶-
Add the argument new-prop to the property list for printing arg.
In general, any property may be overridden that is part of
font-interface
(font-interface),text-interface
(text-interface), orinstrument-specific-markup-interface
(instrument-specific-markup-interface). Additionally, various markup commands listen to other properties, too, as described in a markup function’s documentation.new-prop is either a single alist pair or a non-empty list of alist pairs.
\markup { \undertie "undertied" \override #'(offset . 15) \undertie "offset undertied" \override #'((offset . 15) (thickness . 3)) \undertie "offset thick undertied" }
\page-link
page-number (number) arg (markup) ¶-
Add a link to a score’s page page-number around arg.
This only works in the PDF backend.
\markup { \page-link #2 { \italic { This links to page 2... } } }
\page-ref
label (symbol) gauge (markup) default (markup) ¶-
Print a page number reference.
label is the label set on the referenced page (using
\label
or\tocItem
), gauge a markup used to estimate the maximum width of the page number, and default the value to display when label is not found.If the current book or bookpart is set to use roman numerals for page numbers, the reference will be formatted accordingly – in which case the gauge’s width may require additional tweaking.
\pattern
count (non-negative, exact integer) axis (non-negative, exact integer) space (number) pattern (markup) ¶-
Print a pattern markup count times.
Patterns are spaced apart by space (defined as for
\hspace
or\vspace
, respectively) and distributed on axis.\markup \column { "Horizontally repeated:" \pattern #7 #X #2 \flat \null "Vertically repeated:" \pattern #3 #Y #0.5 \flat }
\property-recursive
symbol (symbol) ¶-
Print out a warning when header field markup in symbol contains some recursive markup definition.
\qr-code
width (non-negative number) str (string) ¶-
Insert a QR code for string str, usually a URL, with a given width.
\markup \vcenter { \center-column { Engraved with LilyPond } \hspace #1.5 \qr-code #10.0 "https://lilypond.org" }
The
error-correction-level
property can be set to one of the symbolslow
,medium
,quarter
, orhigh
. The higher the level of error correction is, the more the QR code contains redundancy, potentially helping detectors, e.g., in poor lighting conditions; however, a higher correction level also makes the code denser.\markup \vcenter { \center-column { Engraved with LilyPond } \hspace #1.5 \override #'(error-correction-level . high) \qr-code #10.0 "https://lilypond.org" }
The
quiet-zone-size
property specifies the width of the “quiet zone”, namely the white area around the QR code. It is expressed as a multiple of the width of one little square inside the QR code. Use at least 4 for best results.Used properties:
-
quiet-zone-size
(4
) -
error-correction-level
(low
)
-
\right-brace
size (number) ¶-
A music brace in point size size, rotated 180 degrees.
\markup { \right-brace #45 \hspace #2 \right-brace #35 }
\slashed-digit
num (integer) ¶-
Print number num with the Emmentaler font, crossed through with a slash.
This is for use in the context of figured bass notation.
\markup { \slashed-digit #5 \hspace #2 \override #'(thickness . 3) \slashed-digit #7 }
Used properties:
-
thickness
(1.6
) -
font-size
(0
)
-
\stencil
stil (stencil) ¶-
Use stencil stil as markup.
\markup { \stencil #(make-circle-stencil 2 0 #t) }
\strut
¶-
Create a box of the same height as the space in the current font.
\transparent
arg (markup) ¶-
Make arg transparent.
\markup { \transparent { invisible text } }
\verbatim-file
name (string) ¶-
Read the contents of file name and include it verbatim.
\markup { \verbatim-file "en/included/simple.ly" }
Use
\withRelativeDir
as a prefix to name if the file should be found relative to the input file. \whiteout
arg (markup) ¶-
Provide a white background for arg.
The shape of the white background is determined by the
style
property. The default isbox
which produces a rectangle.rounded-box
produces a rounded rectangle, andoutline
approximates the outline of the markup.The color of the background can be controlled with the
color
property, defaulting to"white"
.\markup { \combine \filled-box #'(-1 . 62) #'(-3 . 4) #1 \override #'(line-width . 60) \fill-line { \override #'(thickness . 1.5) \whiteout box \override #'((style . rounded-box) (thickness . 3)) \whiteout rounded-box \override #'((style . outline) (thickness . 3)) \whiteout outline \override #'((color . "red") (style . outline)) \whiteout red-outline } }
Used properties:
-
color
("white"
) -
thickness
(()
) -
style
(box
)
-
\with-color
col (color) arg (markup) ¶-
Use color col to draw arg.
See Colorear objetos for valid color specifications.
\markup { \with-color #red red \hspace #2 \with-color #green green \hspace #2 \with-color "#0000ff" blue }
\with-dimension
axis (integer) val (pair of numbers) arg (markup) ¶-
Set the dimension of arg along axis to val.
If axis is equal to
X
, set the horizontal dimension. If axis is equal toY
, set the vertical dimension. \with-dimension-from
axis (integer) arg1 (markup) arg2 (markup) ¶-
Print arg2 but replace the dimension along axis with the one from arg1.
If axis is set to
X
, replace the horizontal dimension. If axis is set toY
, replace the vertical dimension. \with-dimensions
x (pair of numbers) y (pair of numbers) arg (markup) ¶-
Set the horizontal and vertical dimensions of arg to x and y.
\with-dimensions-from
arg1 (markup) arg2 (markup) ¶-
Print arg2 with the horizontal and vertical dimensions of arg1.
\with-link
label (symbol) arg (markup) ¶-
Add a link to the page holding label label around arg.
This only works in the PDF backend.
\markup { \with-link #'label { \italic { This links to the page containing the label... } } }
\with-outline
outline (markup) arg (markup) ¶-
Print arg with the outline and dimensions of outline.
The outline is used by skylines to resolve collisions (not for whiteout).
\with-true-dimension
axis (integer) arg (markup) ¶-
Give arg its actual dimension (extent) on axis.
Sometimes, the extents of a markup’s printed ink differs from the default extents. The main case is if glyphs are involved. By default, the extents of a glyph are based on the glyph’s metrics (i.e., a default vertical and horizontal size for the glyph), which, for various reasons, are often not identical to its bounding box (i.e., the smallest rectangle that completely encompasses the glyph’s outline) – in most cases, the outline protrudes the box spanned up by the metrics.
\markup { text \fontsize #10 \override #'((box-padding . 0) (thickness . 0.2)) \box \musicglyph "scripts.trill" text }
For purposes other than setting text, this behavior may not be wanted. You can use
\with-true-dimension
in order to give the markup its actual printed extent.\markup { text \fontsize #10 \override #'((box-padding . 0) (thickness . 0.2)) \box \with-true-dimension #X \musicglyph "scripts.trill" text }
\with-true-dimensions
arg (markup) ¶-
Give arg its actual dimensions (extents).
Calling
\markup \with-true-dimensions arg
is short for
\markup \with-true-dimension #X \with-true-dimension #Y arg
i.e.,
\with-true-dimensions
has the effect of\with-true-dimension
on both axes.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Other markup commands ] | [ Up : Tablas del manual sobre notación ] | [ Lista de caracteres especiales > ] |
A.12 Instrucciones de listas de marcado de texto
Se puede usar cualquiera de las siguientes instrucciones con
\markuplist
:
\column-lines
args (markup list) ¶-
Stack the markups in args vertically.
Like
\column
, but return a list of lines instead of a single markup. The propertybaseline-skip
determines the space between each markup in args.Used properties:
-
baseline-skip
-
\justified-lines
args (markup list) ¶-
Print args as lines aligned both at the left and the right.
Like
\justify
, but return a list of lines instead of a single markup. Use\override-lines #'(line-width . X)
to set the line width; X is the number of staff spaces.Used properties:
-
text-direction
(1
) -
word-space
-
line-width
(#f
) -
baseline-skip
-
\override-lines
new-prop (pair) args (markup list) ¶-
Add the argument new-prop to the property list for printing args.
Like
\override
but for markup lists. \score-lines
score (score) ¶-
Inline an image of music as specified by score.
Like
\score
but return a list of lines instead of a single markup. \string-lines
str (string) ¶-
Split string str into lines.
The character to split at is specified by the property
split-char
, defaulting to#\newline
. Surrounding whitespace is removed from every resulting string. The returned list of markups is ready to be formatted by other markup or markup list commands like\column
,\line
, etc.\markup { \column \string-lines "foo, foo, bar, bar, buzz, buzz!" }
Used properties:
-
split-char
(#\newline
)
-
\table
column-align (number list) lst (markup list) ¶-
Print a table.
column-align specifies how each column is aligned; possible values are -1, 0, and 1. The number of elements in column-align determines how many columns will be printed.
The entries to print are given by lst, a markup list. If needed, the last row is filled up with
point-stencil
s.Override the
padding
property to increase the horizontal distance between columns. Overridebaseline-skip
to increase the vertical distance between rows.% A markup command to print a fixed-width number. \markup fwnum = \markup \override #'(font-features . ("ss01" "-kern")) \number \etc \markuplist { \override #'(padding . 2) \table #'(0 1 0 -1) { \underline { center-aligned right-aligned center-aligned left-aligned } one \fwnum 1 thousandth \fwnum 0.001 eleven \fwnum 11 hundredth \fwnum 0.01 twenty \fwnum 20 tenth \fwnum 0.1 thousand \fwnum 1000 one \fwnum 1.0 } }
Used properties:
-
baseline-skip
-
padding
(0
)
-
\table-of-contents
¶-
Print a table of contents.
This function uses the paper variable
tocTitleMarkup
for the title; it then prints\tocItem
entries line by line.See Índice general for a complete discussion.
Used properties:
-
baseline-skip
-
\wordwrap-lines
args (markup list) ¶-
Print args as left-aligned lines.
Like
\wordwrap
, but return a list of lines instead of a single markup. Use\override-lines #'(line-width . X)
to set the line width, where X is the number of staff spaces.Used properties:
-
text-direction
(1
) -
word-space
-
line-width
(#f
) -
baseline-skip
-
A.13 Lista de caracteres especiales
Se pueden usar las siguientes referencias a carcteres especiales; para ver más detalles, consulte Alias de ASCII.
Se usa la sintaxis del HTML y casi todas estas referencias son las mismas que en el HTML. El resto están inspiradas en LaTeX.
Los caracteres están enmarcados en un rectángulo de forma que pueda verse el tamaño que tienen. Se ha añadido un pequeño relleno de separación entre el carácter y el rectángulo para mejorar la legibilidad.
A.14 Lista de articulaciones
En la lógica interna de LilyPond, una ‘articulación’ es
cualquier objeto (que no sea una indicación de matiz dinámico) que
puede ser adosado directamente después de un evento rítmico (o con
una duración): notas, acordes; incluso silencios y saltos, o el
artificio de acorde vacío <>
(véase
Estructura de un elemento de nota). Incluso las
ligaduras de expresión, las digitaciones y las inscripciones
textuales son técnicamente articulaciones, aunque estas no se
muestran aquí.
Por tanto, las listas que aparecen a continuación incluyen no solo
las marcas de articulación, sino también todos los demás elementos
textuales dentro de la tipografía Emmentaler que pueden ser
adosados a notas (la forma en que se inserta un acento como
‘c'\accent’ o como ‘c'->’). Cada ejemplo muestra la
inscripción en sus dos posibles posiciones verticales:
respectivamente, superior e inferior, así como su
posición por defecto (neutra). Consulte también
Glifos de inscripciones para ver una lista más completa de
glifos, para su utilización con la instrucción de marcado
\musicglyph
tal y como se explica en
Notación musical dentro de elementos de marcado.
Indicaciones de articulación | ||
Indicaciones de adornos | ||
Indicaciones de calderón | ||
Indicaciones específicas de ciertos instrumentos | ||
Indicaciones de repetición | ||
Indicaciones antiguas |
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Lista de articulaciones ] | [ Up : Lista de articulaciones ] | [ Indicaciones de adornos > ] |
Indicaciones de articulación
\accent o ->
| \espressivo
| \marcato o -^
| \portato o -_
|
\staccatissimo o -!
| \staccato o -.
| \tenuto o --
|
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Indicaciones de articulación ] | [ Up : Lista de articulaciones ] | [ Indicaciones de calderón > ] |
Indicaciones de adornos
\prall
| \prallup
| \pralldown
| \upprall
|
\downprall
| \prallprall
| \lineprall
| \prallmordent
|
\mordent
| \upmordent
| \downmordent
| \trill
|
\turn
| \reverseturn
| \slashturn
| \haydnturn
|
Indicaciones de calderón
\veryshortfermata
| \shortfermata
| \fermata
| \longfermata
|
\verylongfermata
| \henzeshortfermata
| \henzelongfermata
|
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Indicaciones de calderón ] | [ Up : Lista de articulaciones ] | [ Indicaciones de repetición > ] |
Indicaciones específicas de ciertos instrumentos
\upbow
| \downbow
| \flageolet
| \open
|
\halfopen
| \lheel
| \rheel
| \ltoe
|
\rtoe
| \snappizzicato
| \stopped or -+
| \thumb
|
Indicaciones de repetición
\segno
| \coda
| \varcoda
|
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Indicaciones de repetición ] | [ Up : Lista de articulaciones ] | [ Notas de percusión > ] |
Indicaciones antiguas
\accentus
| \circulus
| \ictus
|
\semicirculus
| \signumcongruentiae
|
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Indicaciones antiguas ] | [ Up : Tablas del manual sobre notación ] | [ Glosario técnico > ] |
A.15 Notas de percusión
bassdrum
| acousticbassdrum
| snare
| acousticsnare
|
electricsnare
| lowfloortom
| highfloortom
| lowtom
|
hightom
| lowmidtom
| himidtom
| hihat
|
closedhihat
| openhihat
| halfopenhihat
| pedalhihat
|
crashcymbal
| crashcymbala
| crashcymbalb
| ridecymbal
|
ridecymbala
| ridecymbalb
| chinesecymbal
| splashcymbal
|
ridebell
| cowbell
| hibongo
| openhibongo
|
mutehibongo
| lobongo
| openlobongo
| mutelobongo
|
hiconga
| openhiconga
| mutehiconga
| loconga
|
openloconga
| muteloconga
| hitimbale
| lotimbale
|
hiagogo
| loagogo
| sidestick
| hisidestick
|
losidestick
| guiro
| shortguiro
| longguiro
|
cabasa
| maracas
| shortwhistle
| longwhistle
|
handclap
| tambourine
| vibraslap
| tamtam
|
claves
| hiwoodblock
| lowoodblock
| opencuica
|
mutecuica
| triangle
| opentriangle
| mutetriangle
|
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Notas de percusión ] | [ Up : Tablas del manual sobre notación ] | [ alist (lista-A) > ] |
A.16 Glosario técnico
Glosario de los términos técnicos y conceptos que se utilizan internamente en LilyPond. Estos términos pueden aparecer en los manuales, en las listas de distribución de correo o en el código fuente.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Glosario técnico ] | [ Up : Glosario técnico ] | [ callback > ] |
alist (lista-A)
Una lista asociativa o abreviadamente una lista-A (alist
en inglés) es una pareja de Scheme que asocia un valor con una
clave: (clave . valor)
. Por ejemplo, en
scm/lily.scm, la lista-A “type-p-name-alist” asocia
ciertos predicadps de tipo (p.ej. ly:music?
) con
nombres (p.ej. “music”) de forma que se pueda informar de
los fallos de comprobación de tipo con un mensaje de consola que
incluye el nombre del predicado de tipo esperado.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < alist (lista-A) ] | [ Up : Glosario técnico ] | [ closure (cerradura) > ] |
callback
Una callback es una rutina, función o método cuya referencia se pasa como argumento en una llamada a otra rutina, permitiendo así que la runtina llamada invoque a aquélla. La técnica permite que una capa de software de nivel más bajo llame a una función definida en una capa de nivel más alto. Las funciones de callback se usan ampliamente en LilyPond para permitir al código de Scheme del nivel de usuario definir cuántas acciones de bajo nivel se llevan a cabo.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < callback ] | [ Up : Glosario técnico ] | [ glifo > ] |
closure (cerradura)
En Scheme, se crea una cerradura cuando una función, por lo general una expresión lambda, se pasa como variable. La cerradura contiene el codigo de la función y referencias a las ligaduras léxicas de las variables libres de la función (es decir, las variables que se usan en la expresión pero se definen fuera de ella). Cuando más tarde se aplica esta función a diferentes argumentos, las ligaduras de variables libres que se capturaron dentro de la cerradura se utilizan para obtener los valores de las variables libres que se usarán en el cálculo. Una propiedad útil de las cerraduras es la retención de los valores internos de las variables de una invocación a otra, permitiendo así que se pueda mantener un estado.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < closure (cerradura) ] | [ Up : Glosario técnico ] | [ grob (objeto gráfico) > ] |
glifo
Un glifo es una representación gráfica particular de un carácter tipográfico, o una combinación de dos caracteres que forman una ligadura. Un conjunto de glifos con un estilo y forma uniformes forman una fuente tipográfica, y un conjunto de fuentes tipográficas que abarcan varios estilos forman un tipo.
Véase también
Referencia de la notación: Tipografías, Caracteres especiales.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < glifo ] | [ Up : Glosario técnico ] | [ inmutable > ] |
grob (objeto gráfico)
Los objetos de LilyPond que representan elementos de la notación
en la salida impresa tales como la cabeza y la plica de las notas,
ligaduras de unión y de expresión, digitaciones, claves, et. se
denominan ‘objetos de presentación’, a menudo conocidos como
‘OBjetos GRáficos’, o abreviadamente grobs. Se
representan mediante instancias de la clase Grob
.
Véase también
Manual de aprendizaje: Objetos e interfaces, Convenciones de nombres de objetos y propiedades, Propiedades de los objetos de presentación.
Referencia de funcionamiento interno: grob-interface, All layout objects.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < grob (objeto gráfico) ] | [ Up : Glosario técnico ] | [ interfaz > ] |
inmutable
Un objeto inmutable es aquel cuyo estado no se puede modificar después de su creación, en contraste con los objetos mutables, que se pueden modificar después de su creación.
En LilyPond, las propiedades inmutables o compartidas definen el
estilo y comportamiento predeterminados de los grobs. Se
comparten por parte de muchos objetos. En aparente contradicción
con su nombre, se pueden cambiar utilizando \override
y
\revert
.
Véase también
Referencia de la notación: mutable.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < inmutable ] | [ Up : Glosario técnico ] | [ lexer (analizador léxico) > ] |
interfaz
Las acciones y propiedades comunes a un conjunto de grobs se
agrupan en un objeto denominado interfaz de grob
(grob-inerface)
, o abreviadamente ‘interfaz’.
Véase también
Manual de aprendizaje: Objetos e interfaces, Convenciones de nombres de objetos y propiedades, Propiedades de los interfaces.
Referencia de la notación: Interfaces de la presentación.
Referencia de funcionamiento interno: Graphical Object Interfaces.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < interfaz ] | [ Up : Glosario técnico ] | [ mutable > ] |
lexer (analizador léxico)
Un lexer o analizador léxico es un programa que convierte una secuencia de caracteres en una secuencia de elementos o tokens, en un proceso que se llama análisis léxico. El analizador léxico de LilyPond convierte el flujo obtenido a partir de un archivo de entrada .ly en un flujo descompuesto en tokens más apto para la siguiente fase del procesado: el análisis sintáctico, véase parser (analizador sintáctico). El analizador léxico de LilyPond lexer está construido con la herramienta Flex a partir del archivo de lexer lily/lexer.ll que contiene las reglas léxicas. Este archivo es parte del código fuente y no se incluye dentro de la instalación binaria de LilyPond.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < lexer (analizador léxico) ] | [ Up : Glosario técnico ] | [ output-def (definición de salida) > ] |
mutable
Un objeto mutable es aquél cuyo estado se puede modificar después de su creación, en contraste con un objeto inmutable, cuyo estado se fija en el momento de la creación.
En LilyPond, las propiedades mutables contienen valores específicos de un grob. Por lo general, las listas de otros objetos o los resultados de los cálculos se almacenan en propiedades mutables.
Véase también
Referencia de la notación: inmutable.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < mutable ] | [ Up : Glosario técnico ] | [ parser (analizador sintáctico) > ] |
output-def (definición de salida)
Una instancia de la clase Output-def
contiene los métodos y
estructuras de datos asociados con un bloque de salida. Se crean
instancias parra los bloques midi, layout y paper.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < output-def (definición de salida) ] | [ Up : Glosario técnico ] | [ variable del analizador sintáctico > ] |
parser (analizador sintáctico)
Un parser o analizador sintáctico analiza la secuencia de tokens o elementos léxicos producida por un analizador léxico para determinar su estructura gramatical, agrupando los elementos léxicos en conjuntos mayores según las reglas de la gramática. Si la secuencia de elementos léxicos es válida, el producto final es un árbol de tokens cuya raíz es el símbolo inicial de la gramática. Si no se puede conseguir esto, el archivo es inválido y se produce un mensaje de error adecuado. Las agrupaciones sintácticas y las reglas para construir estas agrupaciones a partir de sus elementos constituyentes para la sintaxis de LilyPond están definidas en lily/parser.yy y se muestran en la forma normal de Backus (BNF) dentro de LilyPond grammar. Este archivo se usa para construir el analizador sintáctico durante la compilación del programa por parte del generador de analizadores sintácticos, Bison. Es parte del código fuente y no se incluye dentro de la instalación binaria de LilyPond.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < parser (analizador sintáctico) ] | [ Up : Glosario técnico ] | [ prob (objeto de propiedades) > ] |
variable del analizador sintáctico
Son variables definidas directamente dentro de Scheme. Su uso directo por parte de los usuarios está fuertemente desaconsejado, porque su semántica de ámbito puede ser confusa.
Cuando el valor de una de estas variables se modifica dentro de un
archivo .ly, el cambio es global, y a no ser que se
revierta explícitamente, el nuevo valor persistirá hasta el final
del archivo, afectando a todos los bloques \score
así como
a los archivos externos añadidos con la instrucción
\include
. Esto puede conducir a consecuencias imprevistas
y en proyectos de composición tipográfica complejos puede ser
difícil de rastrear.
LilyPond utiliza las siguientes variables del analizador sintáctico:
- afterGraceFraction
- musicQuotes
- mode
- output-count
- output-suffix
- partCombineListener
- pitchnames
- toplevel-bookparts
- toplevel-scores
- showLastLength
- showFirstLength
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < variable del analizador sintáctico ] | [ Up : Glosario técnico ] | [ smob (objeto de Scheme) > ] |
prob (objeto de propiedades)
Los OBjetos de PRopiedades, o abreviadamente probs, son
instancias de la clase Prob
, que es una sencilla clase
básica que tiene listas-A de propiedades mutables e inmutables y
los métodos para manipularlas. Las clases Music
y
Stream_event
derivan de Prob
. También se crean
instancias de la clase Prob
para almacenar el contenido
formateado de los grobs del sistema y los bloques de títulos
durante el proceso de disposición de la página.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < prob (objeto de propiedades) ] | [ Up : Glosario técnico ] | [ stencil (sello) > ] |
smob (objeto de Scheme)
Los Smobs, u OBjetos de ScheMe, forman parte del mecanismo utilizado por Guile para exportar objetos de C y de C++ al código de Scheme. En LilyPond, se crean smobs a partir de objetos de C++ por medio de macros. Hay dos tipos de objetos smob: los smobs simples, orientados a objetos inmutables simples como números, y los smobs complejos, usados para objetos con identidades. Si tiene acceso a las fuentes de LilyPond sources, encontrará más información en lily/includes/smob.hh.
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < smob (objeto de Scheme) ] | [ Up : Glosario técnico ] | [ Funciones musicales disponibles > ] |
stencil (sello)
Las instancias de la clase stencil contienen la información necesaria para imprimir un objeto tipográfico. Es un smob simple que contiene una caja de confinamiento, que a su vez define las dimensiones vertical y horizontal del objeto, y una expresión de Scheme que imprime el objeto cuendo se evalúa. Los stencils o sellos se pueden combinar para formar sellos más complejos definidos por un árbol de expresiones de Scheme formado a partir de las expresiones de Scheme de los sellos que lo componen.
La propiedad stencil
, que conecta a un grob con su sello,
se define dentro del interfaz grob-interface
.
Véase también
Referencia de funcionamiento interno: grob-interface.
A.17 Funciones musicales disponibles
\absolute
music (music) ⇒ music ¶-
Make music absolute.
This does not actually change the music itself but rather hides it from surrounding
\relative
and\fixed
commands. \acciaccatura
music (music) ⇒ music ¶-
Create an acciaccatura from music.
\accidentalStyle
style (symbol list) ⇒ music ¶-
Set accidental style to style.
style is a (predefined) symbol list like
piano-cautionary
; see Alteraciones accidentales automáticas for the available styles. If it is preceded by a context name, the settings are applied to that context (example:Staff.piano-cautionary
). Otherwise, the context defaults toStaff
, except for piano styles, which useGrandStaff
as a context. \addChordShape
key-symbol (symbol) tuning (pair) shape-definition (string or pair) ⇒ void ¶-
Add shape-definition as a chord shape.
It gets added to the
chord-shape-table
hash with the key(cons key-symbol tuning)
. \addInstrumentDefinition
name (string) lst (list) ⇒ void ¶-
Create instrument name with properties lst.
This function is deprecated.
\addQuote
name (string) music (music) ⇒ void ¶-
Define music as a quotable music expression named name.
\after
delta (duration) ev (music) mus (music) ⇒ music ¶-
Add music ev with a delay of delta after the onset of mus.
ev is usually a post-event.
\afterGrace
[fraction (non-negative rational, fraction, or moment)] main (music) grace (music) ⇒ music ¶-
Create grace as grace notes after a main music expression.
The musical position of the grace expression is after a given fraction of the main note’s duration has passed. If optional argument fraction is omitted, the fraction value is taken from
afterGraceFraction
, defaulting to 3/4. \allowPageTurn
⇒ music ¶-
Allow a page turn.
May be used at top level (i.e., between scores or markups), or inside a score.
\allowVoltaHook
bar (string) ⇒ void ¶-
Allow the volta bracket hook being drawn over bar line bar.
\alterBroken
property (key list or symbol) arg (list) target (key list or music) ⇒ music ¶-
Override property for pieces of broken spanner target with arg.
target may either be music in the form of a starting spanner event, or a symbol list of the form
Context.Grob
or justGrob
. If target is in the form of a spanner event, property may also have the formGrob.property
for specifying a directed tweak.arg is a list of values, one for each broken piece.
\ambitusAfter
target (symbol) ⇒ music ¶-
Move the ambitus after the break-align symbol target.
\appendToTag
tag (symbol) more (music) music (music) ⇒ music ¶-
Append more to music tagged with tag.
A post-event can be added to the articulations of rhythmic events or chords; other expressions may be added to chords, sequential or simultaneous music.
\applyContext
proc (procedure) ⇒ music ¶-
Modify context properties with Scheme procedure proc.
\applyMusic
func (procedure) music (music) ⇒ music ¶-
Apply procedure func to music.
\applyOutput
target (symbol list or symbol) proc (procedure) ⇒ music ¶-
Apply function
proc
to every layout object matched by target.target takes the form
Context
orContext.Grob
. \appoggiatura
music (music) ⇒ music ¶-
Create an appoggiatura from music.
\assertBeamQuant
l (pair) r (pair) ⇒ music ¶-
Testing function: check whether the beam quants l and r are correct.
\assertBeamSlope
comp (procedure) ⇒ music ¶-
Testing function: check whether the slope of the beam is the same as comp.
\augmentum
expr (music) ⇒ music ¶-
Add augmentum dots (morae) to Gregorian chant expr.
\autoChange
[pitch (pitch)] [clef-1 (context modification)] [clef-2 (context modification)] music (music) ⇒ music ¶-
Make voices for music that switch between staves automatically.
The optional argument pitch specifies where to switch staves; the default is
c'
. Optional arguments clef-1 and clef-2 specify which clefs to use; this only works for implicitly instantiated staves.Example:
\autoChange d' \with { \clef alto } { g4 d' g' }
\balloonGrobText
grob-name (symbol) offset (pair of numbers) text (markup) ⇒ music ¶-
Attach text to grob-name at offset offset (use like
\once
). \balloonText
offset (pair of numbers) text (markup) ⇒ post-event ¶-
Attach text at offset (use like
\tweak
). \bar
type (string) ⇒ music ¶-
Insert a bar line of type type, overriding any automatic bar lines.
\barNumberCheck
n (integer) ⇒ music ¶-
Print a warning if the current bar number is not n.
\beamExceptions
music (music) ⇒ any type ¶-
Set beam exceptions.
This function extracts a value suitable for setting
Timing.beamExceptions
from the given pattern with explicit beams in music. A bar check ‘|’ has to be used between bars of patterns in order to reset the timing. \bendAfter
delta (real number) ⇒ post-event ¶-
Create a fall or doit of pitch interval delta.
\bendHold
mus (music) ⇒ post-event ¶-
Set
BendSpanner.style
to'hold
for mus. \bendStartLevel
idx (non-negative, exact integer) mus (music) ⇒ post-event ¶-
Set
Bendspanner.details.successive-level
to idx for mus. \bookOutputName
newfilename (string) ⇒ void ¶-
Direct output for the current book block to newfilename.
This is equivalent to setting
output-filename
in the current book’s\paper
block. \bookOutputSuffix
newsuffix (string) ⇒ void ¶-
Set the output file name suffix for the current book block to newsuffix.
This is equivalent to setting
output-suffix
in the current book’s\paper
block. \breathe
⇒ music ¶-
Insert a breath mark.
\caesura
⇒ music ¶-
Insert a caesura.
\chordRepeats
[event-types (list)] music (music) ⇒ music ¶-
Extend ‘q’ to also repeat articulation.
This function walks through music, putting the notes of the previous chord into repeat chords, as well as an optional list of event-types such as
#'(string-number-event)
. \clef
type (string) ⇒ music ¶-
Set the current clef to type.
\codaMark
[num (non-negative, exact integer)] ⇒ music ¶-
Create a coda mark.
num may be 1 for the first mark, 2 for the second, etc., or it may be
\default
to use the next number in sequence automatically. \compoundMeter
args (pair) ⇒ music ¶-
Create a compound time signature.
The argument args is a Scheme list of lists. Each list represents one fraction, where all entries but the last hold the summands in the enumerator, and the last entry is the denominator. If the time signature consists of just one fraction, the list can be given directly, i.e., not as a list containing a single list. For example, a time signature of (3+1)/8 + 2/4 can be created with
\compoundMeter #'((3 1 8) (2 4))
, and a time signature of (3+2)/8 with either\compoundMeter #'((3 2 8))
or the shorter version\compoundMeter #'(3 2 8)
. \compressMMRests
music (music) ⇒ music ¶-
Convert empty bars to multi-measure rests in music.
\crossStaff
notes (music) ⇒ music ¶-
Create cross-staff stems for notes.
\cueClef
type (string) ⇒ music ¶-
Set the current cue clef to type.
\cueClefUnset
⇒ music ¶-
Unset the current cue clef.
\cueDuring
what (string) dir (direction) main-music (music) ⇒ music ¶-
Create a cue.
This function inserts the contents of quote what corresponding to main-music, in a
CueVoice
context calledcue
oriented by dir. \cueDuringWithClef
what (string) dir (direction) clef (string) main-music (music) ⇒ music ¶-
Create a cue with clef.
This function inserts the contents of quote what corresponding to main-music, in a
CueVoice
context calledcue
oriented by dir and using clef clef. \deadNote
note (music) ⇒ music ¶-
Print note with a cross-shaped note head.
\defineBarLine
bar (string) glyph-list (list) ⇒ void ¶-
Define bar line settings for bar line bar.
The list glyph-list must have three entries, defining substitute glyphs for the end of a line, the beginning of a line, and a span bar, respectively. The substitute glyphs may be either strings or Booleans:
#t
calls for the same value as bar and#f
calls for no glyph. \displayLilyMusic
[port (output port)] music (music) ⇒ music ¶-
Write LilyPond’s input representation of music.
If port is omitted, the output defaults to the console (stdout).
\displayMusic
[port (output port)] music (music) ⇒ music ¶-
Write the internal representation of music.
If port is omitted, the output defaults to the console (stdout).
\displayScheme
[port (output port)] expr (any type) ⇒ any type ¶-
Write the internal Scheme representation of expr.
If port is omitted, the output defaults to the console (stdout).
\dropNote
num (integer) music (music) ⇒ music ¶-
‘Drop’ the num-th note in each chord of music.
This function moves the affected notes down (usually by an octave) to be lower than the other notes of the chord. The position in a chord is counted downwards from the top.
The opposite function is
\raiseNote
. \enablePolymeter
⇒ void ¶-
Enable polymetry.
This function moves the timing management from
Score
toStaff
-like contexts. This is done by removing theTiming_translator
fromScore
, and adding it to all contexts having theStaff
alias.Use this within an output definition.
\endSpanners
music (music) ⇒ music ¶-
Terminate spanners.
This function prematurely ends all spanners in music by inserting an end-spanner event at the end of the argument, without the need of specific end-spanner commands.
\eventChords
music (music) ⇒ music ¶-
Compatibility function: Handle isolated rhythmic events in music.
Use this to wrap
EventChord
around isolated rhythmic events occuring since version 2.15.28, after expanding repeat chords ‘q’.Not needed for new code.
\featherDurations
scale (non-negative rational, fraction, or moment) music (music) ⇒ music ¶-
Adjust feathered beam durations in music by scale.
\finger
finger (index or markup) ⇒ post-event ¶-
Apply finger as a fingering indication.
\fixed
pitch (pitch) music (music) ⇒ music ¶-
Use the octave of pitch as the default octave for music.
\footnote
[mark (markup)] offset (pair of numbers) footnote (markup) item (symbol list or music) ⇒ music ¶-
Make the markup footnote a footnote on item.
The footnote is marked with a markup mark moved by offset with respect to the marked music.
If mark is not given or specified as
\default
, it is replaced by an automatically generated sequence number. If item is a symbol list of formGrob
orContext.Grob
, then grobs of that type are marked at the current time step in the given context (defaultBottom
).If item is music, the music gets a footnote attached to a grob immediately attached to the event, like
\tweak
does. For attaching a footnote to an indirectly caused grob, write\single\footnote
, use item to specify the grob, and follow it with the music to annotate.Like with
\tweak
, if you use a footnote on a following post-event, the\footnote
command itself needs to be attached to the preceding note or rest as a post-event with ‘-’. \grace
music (music) ⇒ music ¶-
Insert music as grace notes.
\grobdescriptions
descriptions (list) ⇒ any type ¶-
Create a context modification from descriptions.
The argument is a list in the format of
all-grob-descriptions
. \harmonicByFret
fret (number) music (music) ⇒ music ¶-
Convert music into mixed harmonics.
The resulting notes resemble harmonics played on a fretted instrument by touching the strings at fret.
\harmonicByRatio
ratio (number) music (music) ⇒ music ¶-
Convert music into mixed harmonics.
The resulting notes resemble harmonics played on a fretted instrument by touching the strings at the point given through ratio.
\harmonicNote
note (music) ⇒ music ¶-
Print note with a diamond-shaped note head.
\harmonicsOn
⇒ music ¶-
Set the default note head style to a diamond-shaped style.
\hide
item (symbol list or music) ⇒ music ¶-
Make item invisible while still retaining its dimensions.
If item is a symbol list of form
GrobName
orContext.GrobName
, the result is an override for the grob name specified by it. If item is a music expression, the result is the same music expression with an appropriate tweak applied to it.This function sets item’s
transparent
property to#t
. \incipit
incipit-music (music) ⇒ music ¶-
Output incipit-music as an incipit.
incipit-music is typeset within a
MensuralStaff
context; the result is positioned before the main staff (as part of anInstrumentName
grob) to indicate the music’s original notation. \inherit-acceptability
to (symbol) from (symbol) ⇒ void ¶-
Make two contexts ‘compatible’.
When used in an output definition, modify all context definitions such that context to is accepted as a child by all contexts that also accept from.
\initialContextFrom
music (music) ⇒ music ¶-
Enter the initial context of music and ignore the rest of it.
This is useful for prepending music while preserving the influence of the original music on the context.
Example:
{ \initialContextFrom \originalMusic \prependedMusic \originalMusic \appendedMusic }
\inStaffSegno
⇒ music ¶-
Put the segno variant
varsegno
at this position into the staff.This is compatible with the repeat command.
\instrumentSwitch
name (string) ⇒ music ¶-
Switch instrument to name.
name must have been predefined with function
\addInstrumentDefinition
.This function is deprecated.
\inversion
around (pitch) to (pitch) music (music) ⇒ music ¶-
Invert music about around and transpose from around to to.
\invertChords
num (integer) music (music) ⇒ music ¶-
Invert any chords in music into their num-th position.
Chord inversions may be directed downwards using negative integers.
\jump
text (markup) ⇒ music ¶-
Use text to mark a point of departure, e.g., ‘Gavotte I D.C.’.
\keepWithTag
tags (symbol list or symbol) music (music) ⇒ music ¶-
Keep tagged music.
This function only includes elements of music that are tagged with one of the tags in tags. tags may be either a single symbol or a list of symbols.
Each tag may be declared as a member of at most one tag group (defined with
\tagGroup
). If none of a music element’s tags share a tag group with one of the specified tags, the element is retained. \key
[tonic (pitch)] [pitch-alist (list of number pairs)] ⇒ music ¶-
Set key to tonic and scale pitch-alist.
If both arguments are omitted (i.e., replaced by
\default
), just generate aKeyChangeEvent
, which prints the current key signature again. \killCues
music (music) ⇒ music ¶-
Remove cue notes from music.
\label
label (symbol) ⇒ music ¶-
Create label as a referrable label.
The value stored in label is the page number, which can be extracted with the
\page-ref
markup command later on. \language
language (string) ⇒ void ¶-
Set note names for language language.
The value is stored in the
pitchnames
alist. \languageRestore
⇒ void ¶-
Restore the previously-saved
pitchnames
alist. \languageSaveAndChange
language (string) ⇒ void ¶-
Save current
pitchnames
alist and change note names to language. \ligature
music (music) ⇒ music ¶-
Make a ligature from Gregorian Chant music.
This is equivalent to enclosing music with
\[
and\]
. \magnifyMusic
mag (positive number) music (music) ⇒ music ¶-
Magnify the size of music by factor mag.
This doesn’t change the staff size. Stems, beams, slurs, ties, and horizontal spacing are adjusted automatically.
\magnifyStaff
mag (positive number) ⇒ music ¶-
Change the staff size by factor mag.
This adjusts notation size and horizontal spacing automatically.
\makeClusters
arg (music) ⇒ music ¶-
Display chords in arg as clusters.
\makeDefaultStringTuning
symbol (symbol) pitches (list) ⇒ void ¶-
Define string tuning symbol by a list of pitches.
symbol also gets registered in
defaultStringTunings
for documentation purposes. \mark
[label (index or markup)] ⇒ music ¶-
Create a rehearsal mark.
If label is an integer, create the rehearsal mark for the given sequence number. If label is
\default
, create the next sequential rehearsal mark. If label is markup, use it for the mark. \markupMap
path (symbol list or symbol) markupfun (markup-function) music (music) ⇒ music ¶-
Apply markupfun to property path in music.
Argument path is either of the form
property
orMusicExpression.property
. IfMusicExpression
is not given, markupfun gets applied to all properties calledproperty
, otherwise it is restricted toMusicExpression
events. Ifproperty
is not a markup, it is ignored.In the following example, both the tempo indication and the bowing instruction are printed in red. If you replace
text
withTempoChangeEvent.text
, only the tempo indication changes the color.\markupMap text \markup \with-color #red \etc { \tempo "Largo" g'2_"arco" c'' }
\modalInversion
around (pitch) to (pitch) scale (music) music (music) ⇒ music ¶-
Invert music about around using scale and transpose from around to to.
\modalTranspose
from (pitch) to (pitch) scale (music) music (music) ⇒ music ¶-
Transpose music from pitch from to pitch to using scale.
\musicLength
music (music) ⇒ any type ¶-
Return the length of music as a moment.
\musicMap
proc (procedure) mus (music) ⇒ music ¶-
Apply proc to mus and all of the music it contains.
\noPageBreak
⇒ music ¶-
Forbid a page break.
May be used at top level (i.e., between scores or markups), or inside a score.
\noPageTurn
⇒ music ¶-
Forbid a page turn.
May be used at top level (i.e., between scores or markups), or inside a score.
\octaveCheck
pitch (pitch) ⇒ music ¶-
Do an octave check.
This prints a warning if the interval between the previous note and pitch is not within a fourth.
\offset
property (symbol list or symbol) offsets (any type) item (key list or music) ⇒ music ¶-
Offset the default value of property of item by offsets.
If item is a string, the result is an override for the specified grob type. If item is a music expression, the result is the same music expression with an appropriate tweak applied to it.
\omit
item (symbol list or music) ⇒ music ¶-
Omit item without taking up space.
If item is a symbol list of form
GrobName
orContext.GrobName
, the result is an override for the grob name specified by it. If item is a music expression, the result is the same music expression with an appropriate tweak applied to it.This function sets item’s
stencil
property to#f
. \once
music (music) ⇒ music ¶-
Set property
once
to#t
on all layout instruction events in music. \ottava
octave (integer) ⇒ music ¶-
Set the octavation to octave.
A positive value n indicates n octaves higher; a negative value n octaves lower, and value 0 means no octavation.
\overrideProperty
grob-property-path (list of indices or symbols) value (any type) ⇒ music ¶-
Set the grob property specified by grob-property-path to value.
grob-property-path is a symbol list of the form
Context.GrobName.property
orGrobName.property
, possibly with subproperties given as well.As opposed to
\override
, which overrides the context-dependent defaults with which a grob is created, this command usesOutput_property_engraver
at the grob acknowledge stage. This may be necessary for overriding values set after the initial grob creation. \overrideTimeSignatureSettings
time-signature (boolean-or-fraction) beat-base (positive exact rational, fraction (as pair), moment, or +inf.0) beat-structure (list) beam-exceptions (list) ⇒ music ¶-
Override time signature settings.
This function sets
timeSignatureSettings
for time signatures equal to time-signature to have settings of beat-base, beat-structure, and beam-exceptions. \pageBreak
⇒ music ¶-
Force a page break.
May be used at top-level (i.e., between scores or markups), or inside a score.
\pageTurn
⇒ music ¶-
Force a page turn.
May be used at top-level (i.e., between scores or markups), or inside a score.
\palmMute
note (music) ⇒ music ¶-
Print note with a triangle-shaped note head.
\palmMuteOn
⇒ music ¶-
Set the default note head style to a triangle-shaped style.
\parallelMusic
voice-ids (list) music (music) ⇒ void ¶-
Define parallel music sequences.
Within music, parallel music sequences are separated by ‘|’ characters. The sequences are assigned to the LilyPond music identifiers provided in voice-ids.
For example, this code
\parallelMusic A,B,C { c c | d d | e e | d d | e e | f f | }
is equivalent to
A = { c c | d d } B = { d d | e e } C = { e e | f f }
The last bar checks in a sequence are not copied to the result in order to facilitate ending the last entry at non-bar boundaries.
\parenthesize
arg (symbol list or music) ⇒ music ¶-
Tag arg to be parenthesized.
arg may be either a music event or a grob path.
\partCombine
[chord-range (pair of numbers)] part1 (music) part2 (music) ⇒ music ¶-
Combine two parts into a single staff.
This takes the music in part1 and part2 and returns a music expression containing simultaneous
Voice
contexts (calledone
for the upper andtwo
for the lower voice). Where appropriate, part1 and part2 are combined into a single voice (calledshared
orsolo
, depending on context).Optional argument chord-range is a pair
(start . stop)
that defines the range in which the two voices are printed as chords (or unison); the default value is(0 . 8)
, which means that intervals up to and including a ninth are unified. \partCombineDown
[chord-range (pair of numbers)] part1 (music) part2 (music) ⇒ music ¶-
Combine two parts into a single staff with all stems downwards.
See function
\partCombine
for details. \partCombineForce
[type (symbol)] ⇒ music ¶-
Override the part-combiner mode with type.
The following table gives the possible values for type, together with the corresponding shorthand functions.
apart
\partCombineApart
chords
\partCombineChords
unisono
\partCombineUnisono
solo1
\partCombineSoloI
solo2
\partCombineSoloII
\default
\partCombineAutomatic
\partCombineUp
[chord-range (pair of numbers)] part1 (music) part2 (music) ⇒ music ¶-
Combine two parts into a single staff with all stems upwards.
See function
\partCombine
for details. \partial
dur (duration) ⇒ music ¶-
Make a partial measure of duration dur.
\phrasingSlurDashPattern
dash-fraction (number) dash-period (number) ⇒ music ¶-
Set up a custom dash pattern style for phrasing slurs.
dash-fraction gives the size of one dash relative to dash-period; dash-period is the length of one dash plus one space. LilyPond adjusts dash-period to produce symmetrical output.
More complex patterns can be achieved by directly manipulating the
PhrasingSlur.dash-definition
property. \pitchedTrill
main-note (music) secondary-note (music) ⇒ music ¶-
Print a pitched trill.
main-note is the main note of the trill; secondary-note gets printed as a stemless note head in parentheses.
\pointAndClickOff
⇒ void ¶-
Suppress links to LilyPond source code in music output.
\pointAndClickOn
⇒ void ¶-
Generate links to LilyPond source code in music output.
This enables the creation of code in a PDF or SVG output file to reference the originating LilyPond source code (i.e., file name, line number, and column). This is helpful when developing a score; however, the output file becomes much larger.
\pointAndClickTypes
types (symbol list or symbol) ⇒ void ¶-
Generate point-and-click info for music of type types only.
types is a single music expression (such as
#'note-event
) or a list of music expressions. \popContextProperty
path (list of indices or symbols) ⇒ music ¶-
Pop value of context property path from stack and set it.
This is the opposite to function
\pushContextProperty
. \preBend
mus (music) ⇒ post-event ¶-
Set
BendSpanner.style
to'pre-bend
for mus. \preBendHold
mus (music) ⇒ post-event ¶-
Set
BendSpanner.style
to'pre-bend-hold
for mus. \propertyOverride
grob-property-path (list of indices or symbols) value (any type) ⇒ music ¶-
Set the grob property specified by grob-property-path to value.
grob-property-path is a symbol list of the form
Context.GrobName.property
orGrobName.property
, possibly with subproperties given as well. This music function is mostly intended for use from Scheme as a substitute for the built-in\override
command. \propertyRevert
grob-property-path (list of indices or symbols) ⇒ music ¶-
Revert the grob property specified by grob-property-path to its previous value.
grob-property-path is a symbol list of the form
Context.GrobName.property
orGrobName.property
, possibly with subproperties given as well. This music function is mostly intended for use from Scheme as a substitute for the built-in\revert
command. \propertySet
property-path (symbol list or symbol) value (any type) ⇒ music ¶-
Set the context property specified by property-path to value.
This music function is mostly intended for use from Scheme as a substitute for the built-in
\set
command. \propertyTweak
prop (key list or symbol) value (any type) item (key list or music) ⇒ music ¶-
Add a tweak to item, usually music.
This function sets the value of property prop to value; it generally behaves like
\tweak
but will turn into an\override
when item is a symbol list. In that case, item specifies the grob path to override. This is mainly useful when using\propertyTweak
as as a component for building other functions like\omit
. It is not the default behavior for\tweak
since many input strings in\lyricmode
can serve equally as music or as symbols, which causes surprising behavior when tweaking lyrics using the less specific semantics of\propertyTweak
.prop can contain additional elements in which case a nested property (inside of an alist) is tweaked.
\propertyUnset
property-path (symbol list or symbol) ⇒ music ¶-
Unset the context property specified by property-path.
This music function is mostly intended for use from Scheme as a substitute for the built-in
\unset
command. \pushContextProperty
path (list of indices or symbols) value (any type) ⇒ music ¶-
Set context property path to value and push old value to stack.
The old value can be popped off the stack and restored with function
\popContextProperty
. \pushToTag
tag (symbol) more (music) music (music) ⇒ music ¶-
Add more to the front of music tagged with tag.
A post-event can be added to the articulations of rhythmic events or chords; other expressions may be added to chords, sequential or simultaneous music.
\quoteDuring
what (string) main-music (music) ⇒ music ¶-
Indicate a section of music to be quoted.
what indicates the name of the quoted voice, as specified in an
\addQuote
command. main-music is used to indicate the length of music to be quoted; it usually contains spacers or multi-measure rests. \raiseNote
num (integer) music (music) ⇒ music ¶-
‘Raise’ the num-th note in each chord of music.
This function moves the affected notes up (usually by an octave) to be higher than the other notes of the chord. The position in a chord is counted upwards from the bottom.
The opposite function is
\dropNote
. \reduceChords
music (music) ⇒ music ¶-
Reduce chords contained in music to single notes.
This is intended mainly for reusing music in a
RhythmicStaff
context. It does not reduce simultaneous music. \relative
[pitch (pitch)] music (music) ⇒ music ¶-
Make music relative to pitch.
If pitch is omitted, the first note in music is given in absolute pitch.
\removeWithTag
tags (symbol list or symbol) music (music) ⇒ music ¶-
Remove elements of music that are tagged with one of the tags in tags.
tags may be either a single symbol or a list of symbols.
\resetRelativeOctave
pitch (pitch) ⇒ music ¶-
Set the octave inside a
\relative
section to pitch. \responsum
music (music) ⇒ music ¶-
Prepend character U+211F (RESPONSE) to the lyrics represented by music.
\retrograde
music (music) ⇒ music ¶-
Return music in reverse order.
\revertTimeSignatureSettings
time-signature (pair) ⇒ music ¶-
Revert
timeSignatureSettings
for time signatures equal to time-signature. \rightHandFinger
finger (index or markup) ⇒ post-event ¶-
Apply finger as a right-hand fingering indication.
\scaleDurations
fraction (non-negative rational, fraction, or moment) music (music) ⇒ music ¶-
Multiply the duration of events in music by fraction.
\sectionLabel
text (markup) ⇒ music ¶-
Mark the beginning of a named passage with text, e.g., “Coda”.
This is well suited for use at a section division created with
\section
, but it does not imply\section
and may be used alone. \segnoMark
[num (non-negative, exact integer)] ⇒ music ¶-
Create a segno mark (or bar line).
num may be 1 for the first segno, 2 for the second, etc., or it may be
\default
to use the next number in sequence automatically.If the
segnoStyle
context property is'bar-line
, a segno bar line is created instead of a segno mark. \settingsFrom
[ctx (symbol)] music (music) ⇒ any type ¶-
Translate layout instructions into a context modification.
This function takes the layout instruction events from music (i.e.,
\set
,\unset
,\override
,\revert
), optionally restricted to those applying to context type ctx, and returns a context modification duplicating their effect. \shape
offsets (list) item (key list or music) ⇒ music ¶-
Offset control points of item by offsets.
offsets is a list of number pairs
(x . y)
or a list of such lists. Each pair represents an offset to a control point. The ‘y’ value of each pair is scaled by staff space.If item is a string, the result is
\once\override
for the specified grob type. If item is a music expression, the result is the same music expression with an appropriate tweak applied. \shiftDurations
dur (integer) dots (integer) arg (music) ⇒ music ¶-
Change duration of arg.
This function walks over all durations and dot counts in arg, adding dur to the durations and dots to the dot counts.
\single
overrides (music) music (music) ⇒ music ¶-
Convert overrides to tweaks and apply them to music.
This does not convert
\revert
,\set
or\unset
. \skip
arg (duration-or-music) ⇒ music ¶-
Skip over arg, which may be music or a duration.
\slashedGrace
music (music) ⇒ music ¶-
Create slashed graces from music.
This produces slashes through stems, but no slur.
\slurDashPattern
dash-fraction (number) dash-period (number) ⇒ music ¶-
Set up a custom dash pattern style for slurs.
dash-fraction gives the size of one dash relative to dash-period; dash-period is the length of one dash plus one space. LilyPond adjusts dash-period to produce symmetrical output.
More complex patterns can be achieved by directly manipulating the
Slur.dash-definition
property. \staffHighlight
color (color) ⇒ music ¶-
Start a highlight with color color.
\storePredefinedDiagram
fretboard-table (hash table) chord (music) tuning (pair) diagram-definition (string or pair) ⇒ void ¶-
Add a predefined fret diagram to fretboard-table.
It is defined by diagram-definition for the chord pitches chord and the string tuning tuning.
\stringTuning
chord (music) ⇒ any type ¶-
Convert chord to a string tuning.
chord must be in absolute pitches and should have the highest string number (generally the lowest pitch) first.
\styledNoteHeads
style (symbol) heads (symbol list or symbol) music (music) ⇒ music ¶-
Set heads in music to style.
\tabChordRepeats
[event-types (list)] music (music) ⇒ music ¶-
Extend ‘q’ to also repeat string and fingering information.
This function walks through music putting the notes, fingerings and string numbers of the previous chord into repeat chords, as well as an optional list of event-types such as
#'(articulation-event)
. \tabChordRepetition
⇒ void ¶-
Include the string and fingering information in a chord repetition.
This function is deprecated; use
\tabChordRepeats
instead. \tag
tags (symbol list or symbol) music (music) ⇒ music ¶-
Tag music with tags.
This function adds the single symbol or symbol list tags to the
tags
property of music and returns the result. \tagGroup
tags (symbol list) ⇒ void ¶-
Define a tag group comprising the symbols in the symbol list tags.
Tag groups must not overlap.
\temporary
music (music) ⇒ music ¶-
Make
\override
reversible with\revert
.This function makes any
\override
in music replace an existing grob property value only temporarily, restoring the old value when a corresponding\revert
is executed. This is achieved by clearing thepop-first
property normally set on\override
s.An
\override
/\revert
sequence created by using\temporary
and\undo
on the same music containing overrides will cancel out perfectly or cause a warning.Non-property-related music is ignored, warnings are generated for any property-changing music that isn’t an
\override
. \textEndMark
text (markup) ⇒ music ¶-
Create a right-aligned text mark using text.
\textMark
text (markup) ⇒ music ¶-
Create a (left-aligned) text mark using text.
\tieDashPattern
dash-fraction (number) dash-period (number) ⇒ music ¶-
Set up a custom dash pattern style for ties.
dash-fraction gives the size of one dash relative to dash-period; dash-period is the length of one dash plus one space. LilyPond adjusts dash-period to produce symmetrical output.
More complex patterns can be achieved by directly manipulating the
Tie.dash-definition
property. \time
[beat-structure (number list)] fraction (fraction, as pair) ⇒ music ¶-
Set fraction as a time signature.
The optional number list beat-structure additionally sets a beat structure.
\times
fraction (fraction, as pair) music (music) ⇒ music ¶-
Scale music in time by fraction.
\tocItem
[label (symbol list or symbol)] text (markup) ⇒ music ¶-
Add text as an entry to the table of contents.
This uses the
tocItemMarkup
paper variable markup for formatting and assigns it to label if one is provided. If a hierarchy of labels is given, make the current item a child of the corresponding objects. \transpose
from (pitch) to (pitch) music (music) ⇒ music ¶-
Transpose music from pitch from to pitch to.
\transposedCueDuring
what (string) dir (direction) pitch (pitch) main-music (music) ⇒ music ¶-
Create a transposed cue.
This function inserts notes from the part what into a
CueVoice
context calledcue
, using the transposition defined by pitch. This happens simultaneously with main-music, which is usually a rest. The argument dir determines whether the cue notes should be notated as a first or second voice. \transposition
pitch (pitch) ⇒ music ¶-
Set instrument transposition to pitch.
\tuplet
ratio (fraction, as pair) [tuplet-span (duration)] music (music) ⇒ music ¶-
Scale the given music to tuplets.
ratio is a fraction that specifies how many notes are played in place of the nominal value: it will be 3/2 for triplets, namely three notes being played in place of two.
If the optional duration tuplet-span is specified, it is used instead of
tupletSpannerDuration
for grouping the tuplets. For example,\tuplet 3/2 4 { c8 c c c c c }
results in two groups of three tuplets, each group lasting for a quarter note.
\tupletSpan
[tuplet-span (duration)] ⇒ music ¶-
Set
tupletSpannerDuration
to the duration tuplet-span.This context property is the length into which
\tuplet
without an explicit tuplet span argument of its own will group its tuplets. To revert to the default of not subdividing the contents of a\tuplet
command without an explicit tuplet span argument, use\tupletSpan \default
\tweak
prop (key list or symbol) value (any type) music (music) ⇒ music ¶-
Add a tweak to music.
Layout objects created by music get their property prop set to value. If prop has the form
Grob.property
, like with\tweak Accidental.color #red cis'
an indirectly created grob (
Accidental
is caused byNoteHead
) can be tweaked; otherwise only directly created grobs are affected.prop can contain additional elements in which case a nested property (inside of an alist) is tweaked.
If music is an
event-chord
, every containedrhythmic-event
is tweaked instead. \undo
music (music) ⇒ music ¶-
Convert
\override
and\set
in music to\revert
and\unset
, respectively.Any reverts and unsets already in music cause a warning. Non-property-related music is ignored.
\unfolded
music (music) ⇒ music ¶-
Mask music until the innermost enclosing repeat is unfolded.
\unfoldRepeats
[types (symbol list or symbol)] music (music) ⇒ music ¶-
Unfold
\repeat
.This forces
\repeat volta
,\repeat tremolo
or\repeat percent
commands in music to be interpreted as\repeat unfold
, if specified in the optional symbol-list types. The default for types is an empty list, which forces any of those commands in music to be interpreted as\repeat unfold
. Possible entries arevolta
,tremolo
orpercent
. Multiple entries are possible. \versus
music (music) ⇒ music ¶-
Prepend character U+2123 (VERSICLE) to the lyrics represented by music.
\voices
ids (list of indices or symbols) music (music) ⇒ music ¶-
Specify voice order in simultaneous music.
This takes the key list ids of numbers (indicating the use of ‘\voiceOne’…) or symbols (indicating voice names, typically converted from strings by argument list processing) and assign the following
\\
-separated music in music to contexts according to that list. Named rather than numbered contexts can be used for continuing one voice (for the sake of spanners and lyrics), usually requiring a\voiceOne
-style override at the beginning of the passage and a\oneVoice
override at its end.The default
<< … \\ … \\ … >>
construct would correspond to
\voices 1,2,3 << … \\ … \\ … >>
\void
arg (any type) ⇒ void ¶-
Accept a Scheme argument arg and return a void expression.
Use this if you want to have a Scheme expression evaluated because of its side effects but its return value being ignored.
\volta
volta-numbers (number list) music (music) ⇒ music ¶-
Mark music as being limited to the volte given in volta-numbers.
This gets used when the innermost enclosing repeat is unfolded. Volta number begins at 1 and increases by 1 with each repetition.
\vshape
offsets (list) item (key list or music) ⇒ music ¶-
Like
\shape
, but additionally show control points for ease of tweaking. \withMusicProperty
sym (symbol) val (any type) music (music) ⇒ music ¶-
Set music property sym to val in music.
\withRelativeDir
file-name (string) ⇒ any type ¶-
Prepend directory of current input file to string file-name.
Use this for markup commands that include files, and where such files should be found relative to the input file. Example:
\markup { \image #X #3 \withRelativeDir "test.png" }
\xNote
note (music) ⇒ music ¶-
Print note with a cross-shaped note head.
\=
id (index or symbol) event (post-event) ⇒ post-event ¶-
Assign an ID to a spanner or an item.
This sets the
spanner-id
orid
property of event to the given id, which is a non-negative integer or a symbol.For spanners this can be used to tell LilyPond how to connect overlapping or parallel slurs or phrasing slurs within a single
Voice
context.\fixed c' { c\=1( d\=2( e\=1) f\=2) }
For itmes this can be used, for example, to tell LilyPond how to connect a
FingerGlideSpanner
with non-matching fingers.\fixed c' { c\glide \= #'foo -1 d\= #'foo -2 }
A.18 Identificadores de modificación de contextos
Se definen las siguientes instrucciones para su uso como
modificaciones de contexto dentro de un bloque \layout
o
\with
.
\EnableGregorianDivisiones
¶-
Configure division commands such as
\section
to createDivisio
grobs rather thanBarLine
grobs. This does not affect measure bar lines or the properties of the grobs themselves.- Sets translator property
caesuraTypeTransform
tocaesura-to-divisio
. - Sets translator property
doubleRepeatBarType
to'()
. - Sets translator property
endRepeatBarType
to'()
. - Sets translator property
fineBarType
to""
. - Sets translator property
sectionBarType
to""
. - Sets translator property
startRepeatBarType
to'()
. - Sets translator property
underlyingRepeatBarType
to""
. - Sets translator property
doubleRepeatSegnoBarType
to"S-||"
. - Sets translator property
endRepeatSegnoBarType
to"S-||"
. - Sets translator property
fineSegnoBarType
to"S-||"
. - Sets translator property
fineStartRepeatSegnoBarType
to"S-||"
. - Sets translator property
segnoBarType
to"S-||"
. - Sets translator property
startRepeatSegnoBarType
to"S-||"
.
- Sets translator property
\RemoveAllEmptyStaves
¶-
Remove staves which are considered to be empty according to the list of interfaces set by
keepAliveInterfaces
, including those in the first system.- Sets grob property
remove-empty
in VerticalAxisGroup to#t
. - Sets grob property
remove-first
in VerticalAxisGroup to#t
.
- Sets grob property
\RemoveEmptyStaves
¶-
Remove staves which are considered to be empty according to the list of interfaces set by
keepAliveInterfaces
.- Sets grob property
remove-empty
in VerticalAxisGroup to#t
.
- Sets grob property
A.19 Predicados de tipo predefinidos
Predicates return #t
(true) if their argument is of the named type
and #f
(false) if it isn’t.
R5RS primary predicates | ||
R5RS secondary predicates | ||
Guile predicates | ||
LilyPond scheme predicates | ||
LilyPond exported predicates |
R5RS primary predicates
Primary predicates can be applied to any expression. They can be used on their own as predicates for LilyPond functions. The predicates here are part of the Scheme standard R5RS.
Type predicate Description boolean?
boolean char?
character complex?
complex number eof-object?
end-of-file object input-port?
input port integer?
integer list?
list (use cheap-list?
for faster processing)null?
null number?
number output-port?
output port pair?
pair port?
port procedure?
procedure rational?
rational number real?
real number string?
string symbol?
symbol vector?
vector
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < R5RS primary predicates ] | [ Up : Predicados de tipo predefinidos ] | [ Guile predicates > ] |
R5RS secondary predicates
Secondary predicates are only applicable to specific expressions (for example, to numbers). They will throw a type error when applied to expressions they are not intended for. The predicates here are part of the Scheme standard R5RS.
Type predicate Description char-alphabetic?
alphabetic character char-lower-case?
lower-case character char-numeric?
numeric character char-upper-case?
upper-case character char-whitespace?
whitespace character even?
even number exact?
exact number inexact?
inexact number negative?
negative number odd?
odd number positive?
positive number zero?
zero
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < R5RS secondary predicates ] | [ Up : Predicados de tipo predefinidos ] | [ LilyPond scheme predicates > ] |
Guile predicates
These predicates are defined by Guile but are not part of a Scheme standard.
Type predicate Description hash-table?
hash table
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < Guile predicates ] | [ Up : Predicados de tipo predefinidos ] | [ LilyPond exported predicates > ] |
LilyPond scheme predicates
These predicates are only available within LilyPond and defined in Scheme.
Type predicate Description alist?
association list (list of pairs) boolean-or-symbol?
boolean or symbol cheap-list?
list (use this instead of list?
for faster processing)color?
color exact-rational?
an exact rational number fraction?
fraction, as pair grob-list?
list of grobs index?
non-negative, exact integer index-or-markup?
index or markup key?
index or symbol key-list?
list of indices or symbols key-list-or-music?
key list or music key-list-or-symbol?
key list or symbol ly:skyline-pair?
pair of skylines markup?
markup markup-command-list?
markup command list markup-list?
markup list moment-pair?
pair of moment objects musical-length?
non-negative exact rational, fraction (as pair), moment, or +inf.0 musical-length-as-moment?
non-negative moment with no grace part musical-length-as-number?
non-negative exact rational or +inf.0 non-negative-number?
non-negative number number-list?
number list number-or-grob?
number or grob number-or-pair?
number or pair number-or-string?
number or string number-pair?
pair of numbers number-pair-list?
list of number pairs positive-fraction?
positive, finite fraction, as pair positive-musical-length?
positive exact rational, fraction (as pair), moment, or +inf.0 positive-musical-length-as-moment?
positive moment with no grace part positive-musical-length-as-number?
positive exact rational or +inf.0 positive-number?
positive number rational-or-procedure?
an exact rational or procedure rhythmic-location?
rhythmic location scale?
non-negative rational, fraction, or moment scheme?
any type string-or-music?
string or music string-or-pair?
string or pair string-or-symbol?
string or symbol symbol-key-alist?
alist, with symbols as keys symbol-list?
symbol list symbol-list-or-music?
symbol list or music symbol-list-or-symbol?
symbol list or symbol void?
void
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ Hoja de referencia rápida >> ] |
[ < LilyPond scheme predicates ] | [ Up : Predicados de tipo predefinidos ] | [ Hoja de referencia rápida > ] |
LilyPond exported predicates
These predicates are only available within LilyPond and usually defined in C++.
Type predicate Description ly:book?
book ly:context?
context ly:context-def?
context definition ly:context-mod?
context modification ly:dimension?
dimension, in staff space ly:dir?
direction ly:dispatcher?
dispatcher ly:duration?
duration ly:event?
post-event ly:font-metric?
font metric ly:grob?
graphical (layout) object ly:grob-array?
array of grobs ly:grob-properties?
grob properties ly:input-location?
input location ly:item?
item ly:iterator?
iterator ly:lily-lexer?
lily-lexer ly:lily-parser?
lily-parser ly:listener?
listener ly:moment?
moment ly:music?
music ly:music-function?
music function ly:music-list?
list of music objects ly:music-output?
music output ly:note-scale?
note scale ly:otf-font?
OpenType font ly:output-def?
output definition ly:page-marker?
page marker ly:pango-font?
Pango font ly:paper-book?
paper book ly:paper-system?
paper-system Prob ly:pitch?
pitch ly:prob?
property object ly:score?
score ly:skyline?
skyline ly:source-file?
source file ly:spanner?
spanner ly:spring?
spring ly:stencil?
stencil ly:stream-event?
stream event ly:transform?
coordinate transform ly:translator?
translator ly:translator-group?
translator group ly:unpure-pure-container?
unpure/pure container
[ << Tablas del manual sobre notación ] | [Top][Contents][Index] | [ GNU Free Documentation License >> ] |
[ < LilyPond exported predicates ] | [ Up : Top ] | [ GNU Free Documentation License > ] |
Appendix B Hoja de referencia rápida
Sintaxis | Descripción | Ejemplo |
1 2 8 16 | duraciones | |
c4. c4.. | puntillos | |
c d e f g a b | escala | |
fis bes | alteración | |
\clef treble \clef bass | claves | |
\time 3/4 \time 4/4 | compás | |
r4 r8 | silencio | |
d ~ d | ligadura de unión | |
\key es \major | armadura | |
note' | subir una octava | |
note, | bajar una octava | |
c( d e) | ligadura de expresión | |
c\( c( d) e\) | ligadura de fraseo | |
a8[ b] | barra | |
<< \new Staff … >> | más pentagramas | |
c-> c-. | articulaciones | |
c2\mf c\sfz | matices dinámicos | |
a\< a a\! | crescendo | |
a\> a a\! | decrescendo | |
< > | acorde | |
\partial 8 | anacrusa o compás incompleto | |
\tuplet 3/2 {f g a} | tresillos | |
\grace | mordentes | |
\lyricmode { twinkle } | escribir la letra | twinkle |
\new Lyrics | imprimir la letra | |
twin -- kle | separador de sílabas | |
\chordmode { c:dim f:maj7 } | acordes | |
\new ChordNames | imprimir los nombres de los acordes | |
<<{e f} \\ {c d}>> | polifonía | |
s4 s8 s16 | silencios de separación |
[ << Hoja de referencia rápida ] | [Top][Contents][Index] | [ Índice de instrucciones de LilyPond >> ] |
[ < Hoja de referencia rápida ] | [ Up : Top ] | [ Índice de instrucciones de LilyPond > ] |
Appendix C GNU Free Documentation License
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. https://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
- PREAMBLE
The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
- APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.
The “publisher” means any person or entity that distributes copies of the Document to the public.
A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.
The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
- VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
- COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
- MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
- Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
- List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
- State on the Title page the name of the publisher of the Modified Version, as the publisher.
- Preserve all the copyright notices of the Document.
- Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
- Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
- Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
- Include an unaltered copy of this License.
- Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
- Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
- For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
- Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
- Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version.
- Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section.
- Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.
You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
- COMBINING DOCUMENTS
You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements.”
- COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
- AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
- TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
- TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
- FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See https://www.gnu.org/licenses/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
- RELICENSING
“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site.
“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
“Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document.
An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright (C) year your name. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:
with the Invariant Sections being list their titles, with the Front-Cover Texts being list, and with the Back-Cover Texts being list.
If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
[ << GNU Free Documentation License ] | [Top][Contents][Index] | [ Índice de LilyPond >> ] |
[ < GNU Free Documentation License ] | [ Up : Top ] | [ Índice de LilyPond > ] |
Appendix D Índice de instrucciones de LilyPond
Este índice relaciona todas las instrucciones y palabras clave de LilyPond, con enlaces a aquellas secciones del manual que describen o se ocupan de su uso. Cada uno de los enlaces consta de dos partes. La primera parte apunta a la situación exacta del manual en que aparece la instrucción o palabra clave; la segunda parte apunta al comienzo de la sección correspondiente del manual en la que aparece la instrucción o palabra clave.
Jump to: | !
"
%
'
(
)
,
-
.
/
:
<
=
>
?
[
]
^
_
|
~
A B C D E F G H I J K L M N O P Q R S T U V W X |
---|
Jump to: | !
"
%
'
(
)
,
-
.
/
:
<
=
>
?
[
]
^
_
|
~
A B C D E F G H I J K L M N O P Q R S T U V W X |
---|
[ << Índice de instrucciones de LilyPond ] | [Top][Contents][Index] | [ >> ] |
[ < Índice de instrucciones de LilyPond ] | [ Up : Top ] | [ > ] |
Appendix E Índice de LilyPond
Además de todas las instrucciones y palabras clave de LilyPond, este índice es una lista de términos musicales y las palabras que tienen relación con cada uno de ellos, con enlaces a aquellas secciones del manual que describen o se ocupan de dicho término. Cada uno de los enlaces consta de dos partes. La primera parte apunta a la situación exacta del manual en que aparece el término; la segunda parte apunta al comienzo de la sección correspondiente del manual en la que se discute dicho término.
Jump to: | !
"
#
%
'
(
)
,
-
.
/
1
8
:
<
=
>
?
[
]
^
_
|
~
‘
A B C D E F G H I J K L M N O P Q R S T U V W X Z Á Í Ó |
---|
Jump to: | !
"
#
%
'
(
)
,
-
.
/
1
8
:
<
=
>
?
[
]
^
_
|
~
‘
A B C D E F G H I J K L M N O P Q R S T U V W X Z Á Í Ó |
---|
[Top][Contents][Index] |
Table of Contents
- 1 Notación musical
- 1.1 Alturas
- 1.2 Duraciones
- 1.3 Expresiones
- 1.4 Repeticiones
- 1.5 Notas simultáneas
- 1.6 Notación de los pentagramas
- 1.7 Anotaciones editoriales
- 1.8 Texto
- 2 Notación especializada
- 2.1 Música vocal
- 2.2 Teclados y otros instrumentos de varios pentagramas
- 2.3 Instrumentos de cuerda sin trastes
- 2.4 Instrumentos de cuerda con trastes
- 2.5 Percusión
- 2.6 Instrumentos de viento
- 2.7 Notación de acordes
- 2.8 Música contemporánea
- 2.9 Notación antigua
- 2.9.1 Panorámica de los estilos contemplados
- 2.9.2 Notación antigua – funcionalidades comunes
- 2.9.3 Tipografiar música mensural
- Contextos de la música mensural
- Claves de la música mensural
- Indicaciones de compás de la música mensural
- Cabezas de nota de la música mensural
- Corchetes de la música mensural
- Silencios de la música mensural
- Alteraciones y armaduras de la música mensural
- Alteraciones de anotación (musica ficta)
- Ligaduras mensurales blancas
- 2.9.4 Tipografiado del canto gregoriano
- 2.9.5 Tipografiado del canto kievano en notación cuadrada
- 2.9.6 Trabajar con música antigua – escenarios y soluciones
- 2.10 Músicas del mundo
- 3 Entrada y salida generales
- 3.1 Estructura del código de entrada
- 3.2 Títulos y encabezamientos
- 3.3 Trabajar sobre los archivos de entrada
- 3.4 Controlar la salida
- 3.5 Creación de salida MIDI
- 3.5.1 Notación contemplada por el MIDI
- 3.5.2 Notación no contemplada en el MIDI
- 3.5.3 El bloque MIDI
- 3.5.4 Control de las dinámicas del MIDI
- 3.5.5 Uso de los instrumentos MIDI
- 3.5.6 Uso de las repeticiones con el MIDI
- 3.5.7 Asignación de canales MIDI
- 3.5.8 Propiedades de contexto para efectos MIDI
- 3.5.9 Enriquecimiento de la salida MIDI
- 3.5.10 El script Articulate
- 3.6 Extraer información musical
- 4 Problemas de espaciado
- 4.1 Disposición de la página
- 4.2 Disposición de la partitura
- 4.3 Saltos
- 4.4 Espaciado vertical
- 4.5 Espaciado horizontal
- 4.6 Encajar la música en menos páginas
- 5 Cambiar los valores por omisión
- 5.1 Contextos de interpretación
- 5.2 Explicación del Manual de referencia de funcionamiento interno
- 5.3 Modificar las propiedades
- 5.4 Conceptos y propiedades útiles
- 5.5 Trucos avanzados
- 5.6 Uso de las funciones musicales
- Appendix A Tablas del manual sobre notación
- A.1 Cuadro de nombres de acordes
- A.2 Modificadores de acorde más usuales
- A.3 Afinaciones de cuerdas predefinidas
- A.4 Diagramas predefinidos de posiciones
- A.5 Tamaños de página predefinidos
- A.6 Instrumentos MIDI
- A.7 Lista de colores
- A.8 La tipografía Emmentaler
- Glifos de clave
- Glifos de indicación de compás
- Glifos de cifras
- Glifos de alteraciones
- Glifos de las cabezas de nota predeterminadas
- Glifos de las cabezas de nota especiales
- Glifos de las cabezas de nota con formas
- Glifos de silencios
- Glifos de corchetes
- Glifos de puntillos
- Glifos de matices dinámicos
- Glifos de inscripciones
- Glifos de flechas
- Glifos de puntas de corchete
- Glifos de pedal
- Glifos de acordeón
- Glifos de ligadura
- Glifos de vaticana
- Glifos de medicea
- Glifos de Hufnagel
- Glifos de mensural
- Glifos de neomensural
- Glifos de Petrucci
- Glifos de Solesmes
- Glifos de la notación del canto kievano
- A.9 Estilos de cabezas de nota
- A.10 Estilos de clave
- A.11 Instrucciones de marcado de texto
- A.12 Instrucciones de listas de marcado de texto
- A.13 Lista de caracteres especiales
- A.14 Lista de articulaciones
- A.15 Notas de percusión
- A.16 Glosario técnico
- A.17 Funciones musicales disponibles
- A.18 Identificadores de modificación de contextos
- A.19 Predicados de tipo predefinidos
- Appendix B Hoja de referencia rápida
- Appendix C GNU Free Documentation License
- Appendix D Índice de instrucciones de LilyPond
- Appendix E Índice de LilyPond
Footnotes
(1)
Tutorial de Scheme contiene un breve tutorial sobre la introducción de números, listas, cadenas y símbolos en Scheme.
(2)
Internally, this works by activating the ‘dlig’ OpenType feature of the Emmentaler font.
(3)
Due to technical limitations the link doesn’t work here in the Notation Reference.