[Arriba][Índice general][Índice][ ? ] |
LilyPond — Referencia de la notación
Este manual ofrece una referencia para toda la notación musical que se puede prducir con LilyPond versión 2.13.27. 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 teneral 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 | ||
---|---|---|
A. Tablas del manual sobre notación | Tablas y cuadros. | |
B. Hoja de referencia rápida | Resumen de la sintaxis de LilyPond. | |
C. Gramática de LilyPond | Diagrama de sintaxis para el analizador sintáctico de LilyPond. | |
D. GNU Free Documentation License | Licencia de este documento. | |
E. Índice de instrucciones de LilyPond | ||
F. Í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 http://www.lilypond.org/. |
[ << Top ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Top ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Notación musical ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Alturas ] | [ Subir : 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 | ||
Nombres de las notas y alteraciones no occidentales |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Escritura de notas ] | [ Subir : 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 c d e f g a b c d e f g
Se pueden especificar otras octavas mediante una comilla simple
quote ('
) o una coma (,
) .
Cada '
eleva la altura en una octava; cada ,
baja la altura una octava.
\clef treble c' c'' e' g d'' d' d c \clef bass c, c,, e, g d,, d, d c
Véase también
Glosario musical: Pitch names.
Fragmentos de código: Pitches.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Escritura de octava absoluta ] | [ Subir : Escritura de notas ] | [ Alteraciones accidentales > ] |
Escritura de octava relativa
Cuando las octavas se especifican en modo absoluto, es fácil poner por accidente una nota en la octava equivocada. El modo de octavas relativas reduce estos errores porque casi todo el tiempo es innecesario indicar octava alguna. Es más, en el modo absoluto puede ser difícil encontrar un error aislado, mientras que en el modo relativo un solo fallo hace que el resto de la pieza esté una octava más alta o más baja de lo que debería.
\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, y se recomienda que sea un Do (una octava dec
).
Aquí podemos ver el modo relativo en acción:
\relative c { \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'' { 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 { c f b e a d g c }
Cuando hay unos bloques \relative
anidados dentro de otros, es
de aplicación el bloque \relative
más interno.
\relative c' { c d e f \relative c'' { 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 esa dentro de un bloque \transpose
es absoluta, a
no ser que se incluya una instrucción \relative
.
\relative c' { d e \transpose f g { d e \relative c' { 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 <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'' { c2 fis c2 ges b2 eisis b2 feses }
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.
Si no se especifica ninguna altura_inicial para
\relative
, entonces se supone que es c'
. Sin
embargo, ésta es una opción en desuso y podría desaparecer en
versiones posteriores, por lo que su utilización está desaconsejada.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Escritura de octava relativa ] | [ Subir : 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 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
Alteraciones accidentales 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.
ais1 aes aisis aeses
Un becuadro cancelará el efecto de una alteración accidental o de la armadura. Sin embargo, los becuadros no se codifican dentro de la sintaxis del nombre de la nota con un sufijo; una nota becuadro se muestra como un simple nombre de nota natural:
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:
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. Estas alteraciones adicionales se pueden usar
también para producir notas con becuadro.
cis cis cis! cis? c c c! c?
Las alteraciones sobre notas unidas por ligadura sólo se imprimen al comienzo de un sistema:
cis1 ~ cis ~ \break cis
Fragmentos de código seleccionados
Evitar que se añadan becuadros adicionales automáticamente
Según las reglas estándar de composición
tipográfica, se imprime un becuadro antes de un sostenido o un
bemol cuando se tiene que cancelar una alteración anterior en la
misma nota. Para modificar este comportamiento, 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: Alteraciones accidentales 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.
Nombres de las notas en otros idiomas
Existen conjuntos predefinidos de nombres de notas y sus alteraciones
para algunos idiomas aparte del inglés. Para usarlos, incluya el
archivo de inicio específico del idioma según aparece relacionado más
abajo. Por ejemplo, para usar los nombres de las notas en español,
inserte \include "espanol.ly"
en el archivo de entrada.
Nota: A causa de que alguno de los otros archivos de inclusión
(como predefined-fretboards.ly
) utilizan los nombres de
nota predeterminados (holandeses), la instrucción \include
para el archivo de idioma se debe colocar después de todos los demás
archivos de la distribución de LilyPond.
Los archivos de idioma disponibles y los nombres de las notas que definen son los siguientes:
Archivo de idioma
Nombre de las notas
‘nederlands.ly’
c d e f g a bes b
‘arabic.ly’
do re mi fa sol la sib si
‘catalan.ly’
do re mi fa sol la sib si
‘deutsch.ly’
c d e f g a b h
‘english.ly’
c d e f g a bf b
‘espanol.ly’
do re mi fa sol la sib si
‘italiano.ly’
do re mi fa sol la sib si
‘norsk.ly’
c d e f g a b h
‘portugues.ly’
do re mi fa sol la sib si
‘suomi.ly’
c d e f g a b h
‘svenska.ly’
c d e f g a b h
‘vlaams.ly’
do re mi fa sol la sib si
y los sufijos de las alteraciones correspondientes que definen son:
Archivo de idioma
sostenido
bemol
doble sostenido
doble bemol
‘nederlands.ly’
-is
-es
-isis
-eses
‘arabic.ly’
-d
-b
-dd
-bb
‘catalan.ly’
-d/-s
-b
-dd/-ss
-bb
‘deutsch.ly’
-is
-es
-isis
-eses
‘english.ly’
-s/-sharp
-f/-flat
-ss/-x/-sharpsharp
-ff/-flatflat
‘espanol.ly’
-s
-b
-ss/-x
-bb
‘italiano.ly’
-d
-b
-dd
-bb
‘norsk.ly’
-iss/-is
-ess/-es
-ississ/-isis
-essess/-eses
‘portugues.ly’
-s
-b
-ss
-bb
‘suomi.ly’
-is
-es
-isis
-eses
‘svenska.ly’
-iss
-ess
-ississ
-essess
‘vlaams.ly’
-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.
a2 as e es a ases e eses
Algunas músicas utilizan microtonos cuyas alteraciones son fracciones de un sostenido o bemol ‘normales’. Los nombres de nota para cuartos de tono que se definen en los distintos archivos de idioma se encuentran listados en la tabla siguiente. Aquí los prefijos ‘semi-’ y ‘sesqui-’ significan ‘medio’ y ‘uno y medio’ respectivamente. Para los otros idiomas no se ha definido aún ningún nombre especial.
Archivo de idioma
semi-sostenido
semi-bemol
sesqui-sostenido
sesqui-bemol
‘nederlands.ly’
-ih
-eh
-isih
-eseh
‘arabic.ly’
-sd
-sb
-dsd
-bsb
‘deutsch.ly’
-ih
-eh
-isih
-eseh
‘english.ly’
-qs
-qf
-tqs
-tqf
‘espanol.ly’
-cs
-cb
-tcs
-tcb
‘italiano.ly’
-sd
-sb
-dsd
-bsb
‘portugues.ly’
-sqt
-bqt
-stqt
-btqt
Véase también
Glosario musical: Pitch names.
Fragmentos de código: Pitches.
Nombres de las notas y alteraciones no occidentales
Muchas músicas no occidentales (y algunas folclóricas y tradicionales occidentales) emplean sistemas de afinación alternativos o extendidos que no encajan directamente dentro de la notación clásica estándar.
En algunos casos aún se usa la notación estándar estando implícitas las diferencias de afinación. Por ejemplo, la notación de la música árabe se hace con alteraciones estándar de semitono y de cuarto de tono, estando las modificaciones de altura exactas determinadas por el contexto. Otras necesitan notaciones ampliadas o específicas.
La música clásica turca, o música otomana, emplea formas melódicas conocidas como makamlar, cuyos intervalos están basados en divisiones del tono en novenos. Desde el punto de vista de la notación moderna, es conveniente utilizar las notas (do, re, mi, ...) de un pentagrama occidental estándar con alteraciones accidentales específicas de la música turca. Estas alteraciones están definidas en ‘makam.ly’ (para encontrar este archivo en su sistema, consulte Otras fuentes de información). La tabla siguiente relaciona sus nombres, el sufijo de la alteración que se debe escribir detrás de las notas, y su alteración de altura como una fracción del tono.
Nombre de la alteración
Sufijo
Alteración de altura
büyük mücenneb (sostenido)
-bm
+8/9
kücük mücenneb (sostenido)
-k
+5/9
bakiye (sostenido)
-b
+4/9
koma (sostenido)
-c
+1/9
koma (bemol)
-fc
-1/9
bakiye (bemol)
-fb
-4/9
kücük mücenneb (bemol)
-fk
-5/9
büyük mücenneb (bemol)
-fbm
-8/9
Para ver más información sobre la música clásica turca y los makamlar, consulte Música clásica de Turquía.
Fragmentos de código seleccionados
Ejemplo de «Makam»
El «Makam» es un tipo de melodía de Turquía que
utiliza alteraciones microtonales de 1/9 de tono. Consulte el
archivo de inicio makam.ly
(véase el ’Manual de
aprendizaje 2.13.27, 4.6.3 Otras fuentes de información’ para
averiguar la situación de este archivo) para ver detalles de los
nombres de las notas y las alteraciones.
% Initialize makam settings \include "makam.ly" \relative c' { \set Staff.keySignature = #`((6 . ,(- KOMA)) (3 . ,BAKIYE)) c4 cc db fk gbm4 gfc gfb efk fk4 db cc c }
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Nombres de las notas y alteraciones no occidentales ] | [ Subir : 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 |
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'' { c2 d='4 d e2 f }
La octava de las notas se puede comprobar también con la instrucción
\octaveCheck
altura_de_control.
altura_de_control se especifica en modo absoluto. Esto
comprueba que el intervalo entre la nota anterior y la
altura_de_control se 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, pero la nota previa no se
modifica. Las notas posteriores están en relación a la
altura_de_control.
\relative c'' { c2 d \octaveCheck c' e2 f }
Compare los dos compases siguientes. La primera y tercera
comprobaciones de \octaveCheck
fracasan, pero la segunda es
correcto.
\relative c'' { c4 f g f c4 \octaveCheck c' f \octaveCheck c' g \octaveCheck c' f }
Véase también
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: RelativeOctaveCheck.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Comprobación de octava ] | [ Subir : Modificación de varias notas a la vez ] | [ Imprimir las alturas > ] |
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 c' { \key d \major d4 fis a d } }
Si una particella escrita en Do (afinación de concierto normal) se debe tocar con un clarinete en La (para el que un La se escribe como un Do, y que suena una tercera menor por debajo de lo que está escrito), la particella correspondiente se produce mediante:
\transpose a c' { \relative c' { \key c \major c4 d e g } }
Observe que especificamos \key c \major
de forma explícita. Si
no especificamos ninguna tonalidad, las notas se transportan pero no
se imprime la armadura.
\transpose
distingue entre notas enarmónicas: tanto
\transpose c cis
como \transpose c des
transportarán un
semitono hacia arriba. La primera versión imprimirá sostenidos y las
notas no se moverán de su lugar en la escala, la segunda imprimirá
bemoles de la nota siguiente.
music = \relative c' { c d e f } \new Staff { \transpose c cis { \music } \transpose c des { \music } }
\transpose
también se puede usar para introducir notas escritas
para un instrumento transpositor. Los ejemplos anteriores muestran
cómo escribir alturas en Do (o en afinación de concierto) y
tipografiarlas para un instrumento transpositor, pero también es
posible el caso contrario si, por ejemplo, tenemos un conjunto de
partes instrumentales y quiere hacer un guión en Do para el director.
Por ejemplo, al introducir música para trompeta en Si bemol que
comienza por un Mi en la partitura (Re de concierto), se puede
escribir:
musicaEnSiBemol = { e4 … } \transpose c bes, \musicaEnSiBemol
Para imprimir esta música en Fa (por ejemplo, al arreglarla para
trompa) puede envolver la música existente con otro \transpose
:
musicaEnSiBemol = { e4 … } \transpose f c' { \transpose c bes, \musicaEnSiBemol }
Para ver más información sobre instrumentos transpositores, consulte 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 (eq? n 6) (eq? n 2))) (set! a (- a 2)) (set! n (+ n 1))) ((and (< a -1) (or (eq? n 0) (eq? n 3))) (set! a (+ a 2)) (set! n (- n 1)))) (cond ((> a 2) (set! a (- a 4)) (set! n (+ n 1))) ((< a -2) (set! a (+ a 4)) (set! n (- n 1)))) (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7)))) (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7)))) (ly:make-pitch o n (/ a 4)))) #(define (naturalize music) (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (naturalize x)) es))) (if (ly:music? e) (ly:music-set-property! music 'element (naturalize e))) (if (ly:pitch? p) (begin (set! p (naturalize-pitch p)) (ly:music-set-property! music 'pitch p))) music)) naturalizeMusic = #(define-music-function (parser location m) (ly:music?) (naturalize m)) music = \relative c' { c4 d e g } \score { \new Staff { \transpose c ais { \music } \naturalizeMusic \transpose c ais { \music } \transpose c deses { \music } \naturalizeMusic \transpose c deses { \music } } \layout { } }
Véase también
Referencia de la notación: Escritura de octava relativa, Transposición de los instrumentos.
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
.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Transposición ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Imprimir las alturas ] | [ Subir : Imprimir las alturas ] | [ Armadura de la tonalidad > ] |
Clave
La clave se establece con la instrucción \clef
nombre_de_clave. En todos los ejemplos se muestra el Do
central. Estos nombres de clave pueden (aunque no necesariamente)
encerrarse entre comillas.
\clef treble c2 c \clef alto c2 c \clef tenor c2 c \clef bass c2 c
Otras claves son las siguientes:
\clef french c2 c \clef soprano c2 c \clef mezzosoprano c2 c \clef baritone c2 c \break \clef varbaritone c2 c \clef subbass c2 c \clef percussion c2 c \break \clef G % synonym for treble c2 c \clef F % synonym for bass c2 c \clef C % synonym for alto c2 c
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 c2 c \clef "treble_8" c2 c \clef "bass^15" c2 c \clef "alto_2" c2 c \clef "G_8" c2 c \clef "F^5" c2 c
Ciertas claves para usos especiales se describen en Claves de la música mensural, Claves de canto gregoriano, Tablaturas predeterminadas y Tablaturas personalizadas.
Fragmentos de código seleccionados
Trucaje de las propiedades de clave
La instrucción \clef "treble_8"
equivale a un ajuste de
clefGlyph
, clefPosition
(que controla la posición
vertical de la clave), middleCPosition
y
clefOctavation
. Se imprime una clave cada vez que se
modifica cualquiera de las propiedades excepto
middleCPosition
.
Observe que la modificación del glifo, la posición de la clave o
su octavación, no cambian ’per se’ la posición de las siguientes
notas del pentagrama: para hacer esto también se debe especificar
la posición del Do central. Los parámetros posicionales están en
relación con la tercera línea del pentagrama, los números
positivos desplazan hacia arriba, contando una unidad por cada
línea y espacio. El valor de clefOctavation
se
establecería normalmente a 7, -7, 15 or -15, pero son válidos
otros valores.
Cuando se produce un cambio de clave en el salto de línea se
imprime la clave nueva tanto al final de la línea anterior como al
principio de la nueva, de forma predeterminada. Si no se necesita
la clave de advertencia al final de la línea anterior, se puede
quitar estableciendo el valor de la propiedad
explicitClefVisibility
de Staff
, a
end-of-line-invisible
. El comportamiento predeterminado se
puede recuperar con \unset Staff.explicitClefVisibility
.
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.
\layout { ragged-right = ##t } { % The default treble clef c'1 % The standard bass clef \set Staff.clefGlyph = #"clefs.F" \set Staff.clefPosition = #2 \set Staff.middleCPosition = #6 c'1 % The baritone clef \set Staff.clefGlyph = #"clefs.C" \set Staff.clefPosition = #4 \set Staff.middleCPosition = #4 c'1 % The standard choral tenor clef \set Staff.clefGlyph = #"clefs.G" \set Staff.clefPosition = #-2 \set Staff.clefOctavation = #-7 \set Staff.middleCPosition = #1 c'1 % A non-standard clef \set Staff.clefPosition = #0 \set Staff.clefOctavation = #0 \set Staff.middleCPosition = #-4 c'1 \break % The following clef changes do not preserve % the normal relationship between notes 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.clefOctavation = #7 c'1 \set Staff.clefOctavation = #0 \set Staff.clefPosition = #0 c'1 % Return to the normal clef: \set Staff.middleCPosition = #0 c'1 }
Véase también
Referencia de la notación: Claves de la música mensural, Claves de canto gregoriano, Tablaturas predeterminadas Tablaturas personalizadas.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Clef_engraver, Clef, OctavateEight, clef-interface.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Clave ] | [ Subir : 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
Alteraciones accidentales 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 tipo
Aquí, tipo 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).
\key g \major fis1 f fis
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
keySignature
property, 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.keySignature = #`(((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. (observe la coma precedente.)
De forma alternativa, para cada elemento de la lista el uso del
formato más conciso (paso . alteración)
especifica que la
misma alteración debe estar en todas las octavas.
He aquí un ejemplo de una posible armadura para generar una escala exátona:
\relative c' { \set Staff.keySignature = #`(((0 . 6) . ,FLAT) ((0 . 5) . ,FLAT) ((0 . 3) . ,SHARP)) c4 d e fis aes4 bes c2 }
Véase también
Glosario musical: church mode, scordatura.
Manual de aprendizaje: Alteraciones accidentales y armaduras.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: KeyChangeEvent, Key_engraver, Key_performer, KeyCancellation, KeySignature, key-cancellation-interface, key-signature-interface.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Armadura de la tonalidad ] | [ Subir : 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.
a2 b \ottava #-2 a2 b \ottava #-1 a2 b \ottava #0 a2 b \ottava #1 a2 b \ottava #2 a2 b
Fragmentos de código seleccionados
Texto de octava alta y baja
Internamente, \ottava
establece las propiedades
ottavation
(por ejemplo, a 8va
o a 8vb
) y
middleCPosition
. Para sobreescribir el texto del corchete,
ajuste ottavation
después de invocar la instrucción
\ottava
.
{ \ottava #1 \set Staff.ottavation = #"8" c''1 \ottava #0 c'1 \ottava #1 \set Staff.ottavation = #"Text" c''1 }
Véase también
Glosario musical: octavation.
Fragmentos de código: Pitches.
Referencia de funcionamiento interno: Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Corchetes de octava ] | [ Subir : 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" { \relative c'' { \set Staff.instrumentName = #"Vln" \set Staff.midiInstrument = #"violin" % not strictly necessary, but a good reminder \transposition c' \key c \major g4( c8) r c r c4 } } \new Staff = "clarinet" { \relative c'' { \set Staff.instrumentName = \markup { Cl (B\flat) } \set Staff.midiInstrument = #"clarinet" \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.
\set Staff.instrumentName = #"Cl (A)" \key a \major \transposition a c d e f \textLengthOn s1*0^\markup { Switch to B\flat clarinet } R1 \key bes \major \transposition bes c2 g
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Transposición de los instrumentos ] | [ Subir : 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 << #(set-accidental-style '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
#(set-accidental-style 'voice 'StaffGroup)
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 c' { cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { <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 { << \context Staff = "up" { #(set-accidental-style 'default) \musicA } \context Staff = "down" { #(set-accidental-style '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 { << \context Staff = "up" { %%% cambie la línea siguiente como desee: #(set-accidental-style 'default 'Score) \musicA } \context 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. Imprime las mismas alteraciones que el estilo
default
, con dos excepciones 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’ (las que no se imprimen en el estilodefault
) se imprimen como alteraciones de precaución. Se imprimen de forma predeterminada con paréntesis, pero también se pueden imprimir en tamaño reducido definiendo la propiedadcautionary-style
deAccidentalSuggestion
. -
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
#(set-accidental-style 'piano)
pero con las alteraciones añadidas compuestas como de precaución. -
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. -
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.
-
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. A diferencia dedodecaphonic
, esta regla nunca imprime becuadros:
Fragmentos de código seleccionados
Alteraciones de estilo dodecafónico para todas las notas incluidas las naturales
En las obras de principios del s.XX, empezando por Schoenberg, Berg y Webern (la “Segunda” escuela de Viena), cada nota de la escala de doce tonos se debe tratar con igualdad, sin ninguna jerarquía como los grados clásicos tonales. Por tanto, estos compositores imprimen una alteración accidental para cada nota, incluso en las notas naturales, para enfatizar su nuevo enfoque de la teoría y el lenguaje musicales.
Este fragmento de código muestra cómo conseguir dichas reglas de notación.
\markup { This snippet is deprecated as of version 2.12 and will be removed from the documentation in 2.14. }
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 se consideran introducidas en modo secuencial.
Esto significa que dentro de un acorde las alteraciones se tipografían
como si las notas del acorde se sucedieran una a una en el tiempo, en
el orden en que aparecen en el archivo de entrada. Esto plantea un
problema cuando las alteraciones de un acorde dependen unas de otras,
lo que no se da en el estilo de alteraciones predeterminado. El
problema se puede resolver insertando manualmente !
y ?
para las notas problemáticas.
La cancelación de precacució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 (parser location music) (ly:music?) #{ #(set-accidental-style 'forget) $music #(set-accidental-style 'modern) #}) { #(set-accidental-style 'modern) \time 2/4 \repeat volta 2 { c'2 } \alternative { cis' \forget c' } }
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Alteraciones accidentales automáticas ] | [ Subir : 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 c'' { 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 } >>
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Tesitura ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Cabeza de las notas ] | [ Subir : 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:
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:
c4 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:
c4 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.
Existe una abreviatura para las formas en rombo que sólo se puede usar en acordes:
<c f\harmonic>2 <d a'\harmonic>4 <c g'\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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Cabezas de nota especiales ] | [ Subir : 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 determinad 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 (list (cons 'acknowledgers (list (cons 'note-head-interface (lambda (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) \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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Cabezas de notas de Notación Fácil ] | [ Subir : 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’ y Aiken ‘(Christian Harmony)’:
\aikenHeads c, 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
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:
\key a \minor \aikenHeads a b c d e2 f g1 a \break \aikenHeadsMinor a,4 b c d e2 f g1 a \break \sacredHarpHeadsMinor a,2 b c d \break \southernHarmonyHeadsMinor a2 b c d \break
Instrucciones predefinidas
\aikenHeads
,
\aikenHeadsMinor
,
\sacredHarpHeads
,
\sacredHarpHeadsMinor
,
\southernHarmonyHeads
,
\southernHarmonyHeadsMinor
.
Fragmentos de código seleccionados
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Cabezas de notas con formas diversas ] | [ Subir : 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" } { e8 e g a a16( bes) a8 g \improvisationOn e8 ~ e2 ~ e8 f4 f8 ~ f2 \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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Improvisación ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Duraciones ] | [ Subir : 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
Las duraciones se designan mediante números y puntos. Las duraciones
se introducen como sus valores recíprocos respecto de la 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). Para notas mayores de la redonda se deben usar los
comandos \longa
(que es una breve doble) y \breve
. Se
pueden especificar duraciones tan cortas como la garrapatea (con el
número 128). Son posibles valores más cortos, pero sólo como notas
unidas por una barra.
\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.
\time 8/1 \autoBeamOff c\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128
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.
Si la duración se omite, su valor será el de la duración de la nota anterior. Por omisión, el valor de la primera nota es el de una negra.
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.
a4 b c4. b8 a4. b4.. c8.
Ciertas duraciones no se pueden representar sólo con duraciones binarias y puntillos; la única forma de representarlas es ligando dos o más notas. Para ver más detalles, consulte Ligaduras de unión.
Para ver de qué manera se pueden especificar las duraciones de las sílabas de la letra y cómo alinear la letra a las notas, consulte Música vocal.
Opcionalmente se pueden espaciar las notas de forma estrictamente proporcional a sus duraciones. Para ver más detalles sobre este y otros ajustes que controlan la notación proporcional, consulte Notación proporcional.
Normalmente los puntillos se desplazan hacia arriba para evitar las líneas del pentagrama, excepto en situaciones de polifonía. Se pueden situar los puntillos manualmente encima o debajo de las líneas de la pauta; véase Dirección y posición.
Instrucciones predefinidas
\autoBeamOn
,
\autoBeamOff
,
\dotsUp
,
\dotsDown
,
\dotsNeutral
.
Fragmentos de código seleccionados
Changing the number of augmentation dots per note
This code demonstrates how to change the number of augmentation dots on a single note.
\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 automáticas, 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
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 numero de glifos es limitado: sólo se pueden imprimir desde el silencio de garrapatea (128) hasta el de máxima (8 redondas).
Grupos especiales
Los grupos especiales se obtienen a partir de una expresión musical multiplicando todas las duraciones por una fracción:
\times fracción { música }
La duración de música se multiplicará por la fracción. El denominador de la fracción se imprimirá sobre las notas, opcionalmente con un corchete. El grupo especial más común es el tresillo, en el que 3 notas tienen el valor de 2, por tanto las notas duran 2/3 de su valor escrito
a2 \times 2/3 { b4 b b } c4 c \times 2/3 { b4 a g }
Se pueden colocar manualmente los corchetes de tresillo encima o debajo de la pauta; véase Dirección y posición.
Los grupos pueden anidarse unos dentro de otros:
\autoBeamOff c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4
La modificación de los grupos especiales anidados que comienzan en el
mismo instante musical se debe hacer con \tweak
.
Para modificar la duración de las notas sin imprimir un corchete de grupo especial, véase Escalar las duraciones.
Instrucciones predefinidas
\tupletUp
,
\tupletDown
,
\tupletNeutral
.
Fragmentos de código seleccionados
Escribir varios grupos especiales usando una sola instrucción \times
La propiedad tupletSpannerDuration
establece cuánto debe durar
cada grupo de valoración especial contenido dentro del corchete que
aparece después de \times
. Así, se pueden escribir muchos
tresillos seguidos dentro de una sola expresión \times
,
ahorrando trabajo de teclado.
En el ejemplo se muestran dos tresillos, aunque se ha escrito
\times
una sola vez.
Para ver más inforamción sobre make-moment
, véase la sección
correspondiente del manual de Referencia de la Notación.
\relative c' { \time 2/4 \set tupletSpannerDuration = #(ly:make-moment 1 4) \times 2/3 { c8 c c c c c } }
Cambiar el número del grupo especial
De forma predeterminada sólo se imprime el numerador del grupo
especial sobre el corchete de grupo, es decir, el denominador del
argumento de la instrucción \times
. 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'' { \times 2/3 { c8 c c } \times 2/3 { c8 c c } \override TupletNumber #'text = #tuplet-number::calc-fraction-text \times 2/3 { c8 c c } \override TupletNumber #'stencil = ##f \times 2/3 { 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) \times 2/3 { c4. c4. c4. c4. } \once \override TupletNumber #'text = #(tuplet-number::non-default-tuplet-fraction-text 12 7) \times 2/3 { c4. c4. c4. c4. } \once \override TupletNumber #'text = #(tuplet-number::append-note-wrapper (tuplet-number::non-default-tuplet-fraction-text 12 7) "8") \times 2/3 { c4. c4. c4. c4. } \once \override TupletNumber #'text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4") \times 2/3 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber #'text = #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4") \times 2/3 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber #'text = #(tuplet-number::fraction-with-notes "4." "8") \times 2/3 { c4. c4. c4. c4. } \once \override TupletNumber #'text = #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4") \times 2/3 { c4. c4. c4. c4. } }
Controlling tuplet bracket visibility
The default behavior of tuplet-bracket visibility is to print a bracket
unless there is a beam of the same length as the tuplet. To control the
visibility of tuplet brackets, set the property
'bracket-visibility
to either #t
(always print a
bracket), #f
(never print a bracket) or #'if-no-beam
(only print a bracket if there is no beam).
music = \relative c'' { \times 2/3 { c16[ d e } f8] \times 2/3 { c8 d e } \times 2/3 { c4 d e } } \new Voice { \relative c' { << \music s4^"default" >> \override TupletBracket #'bracket-visibility = #'if-no-beam << \music s4^"'if-no-beam" >> \override TupletBracket #'bracket-visibility = ##t << \music s4^"#t" >> \override TupletBracket #'bracket-visibility = ##f << \music s4^"#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.
\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 { \times 2/3 { c[ b a] } } % Insert a manual line break within a tuplet \times 2/3 { c[ b \bar "" \break a] } \repeat unfold 5 { \times 2/3 { 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:
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.
Advertencias y problemas conocidos
Las notas de adorno se pueden escribir dentro de los corchetes de
grupo especial, excepto cuando un pentagrama comienza por una
nota de adorno seguida de un grupo de valoración especial. En este
caso concreto, se debe poner la nota de adorno antes de la instrucción
\times
para evitar errores.
Cuando se utiliza un grupo de valoreción especial al comienzo de una
pieza con una indicación de \tempo
, la música se debe escribir
explícitamente dentro de un bloque \new Voice
, tal y como se
explica en
Las voces contienen música.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Grupos especiales ] | [ Subir : Escritura de las duraciones (valores rítmicos) ] | [ Ligaduras de unión > ] |
Escalar las duraciones
Es posible alterar la duración de las figuras, silencios o acordes en
un factor N/M
añadiendo *N/M
(o *N
si M
es
1) a la duración. Esto 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
.
En el siguiente ejemplo las tres primeras notas duran exactamente dos partes, pero no se imprime ningún corchete de tresillo.
\time 2/4 % Alter durations to triplets a4*2/3 gis4*2/3 a4*2/3 % Normal durations a4 a4 % Double the duration of chord <a d>4*2 % Duration of quarter, appears like sixteenth b16*4 c4
La duración de las notas espaciadoras 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 la fracción numerador/denominador. Los espacios que rodean el punto son necesarios. He aquí un ejemplo que muestra cómo se puede comprimir y expandir la música:
\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 . 1) { <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.
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 usando el símbolo de la tilde curva
(~
).
a2 ~ a
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 c' { r8^"sí" c8 ~ c2 r4 | r8^"no" c2 ~ c8 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 la ligadura dentro del acorde.
<c e g> ~ <c e g> <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:
\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 coloquen por encima o por debajo; 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.
\tieDotted c2 ~ c \tieDashed c2 ~ c \tieHalfDashed c2 ~ c \tieHalfSolid c2 ~ c \tieSolid c2 ~ c
Se pueden especificar patrones de discontinuidad personalizados:
\tieDashPattern #0.3 #0.75 c2 ~ c \tieDashPattern #0.7 #1.5 c2 ~ c \tieSolid c2 ~ c
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.
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).
\relative c' { <c e g>2 ~ <c e g> \override TieColumn #'tie-configuration = #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1)) <c e g>2 ~ <c e g> }
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: 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Ligaduras de unión ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Escritura de silencios ] | [ Subir : 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 \override Staff.TimeSignature #'stencil = ##f % 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.
a4\rest d4\rest
Fragmentos de código seleccionados
Estilos de silencios
Los silencios se pueden imprimir en distintos estilos.
\layout { indent = 0 \context { \Staff \remove "Time_signature_engraver" } } \new Staff \relative c { \cadenzaOn \override Staff.Rest #'style = #'mensural r\maxima^\markup \typewriter { mensural } r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128 \bar "" \override Staff.Rest #'style = #'neomensural r\maxima^\markup \typewriter { neomensural } r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128 \bar "" \override Staff.Rest #'style = #'classical r\maxima^\markup \typewriter { classical } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 \bar "" \override Staff.Rest #'style = #'default r\maxima^\markup \typewriter { default } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 }
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 la garrapatea (128) hasta la máxima (8 redondas).
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Silencios ] | [ Subir : 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
:
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.
<< { a2 \skip2 a2 a2 } \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 {a4} } { a4 \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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Silencios invisibles ] | [ Subir : 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:
% Rest measures contracted to single measure \compressFullBarRests R1*4 R1*24 R1*4 b2^"Tutti" b4 a4
La duración de los silencios de compás completo es idéntica a la notación de la duración que se usa para las notas. La duración de un silencio multi-compás debe ser siempre un número entero de compases, por lo que con frecuencia han de utilizarse puntillos o fracciones:
\compressFullBarRests \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 |
De forma predeterminada un silencio multicompás se expande en la partitura impresa para mostrar explícitamente todos los compases de silencio. De forma alternativa, un silencio multicompás se puede presentar como un solo compás que contiene un símbolo de silencio multicompás, con el número de compases 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 \compressFullBarRests r1 | R1*17 | R1*4 | % Rest measures expanded \expandFullBarRests \time 3/4 R2.*2 |
Se pueden añadir elementos de marcado a los silencios multicompás. Se
proporciona la instrucción predefinida \fermataMarkup
para
añadir calderones.
\compressFullBarRests \time 3/4 R2.*10^\markup { \italic "ad lib." } R2.^\fermataMarkup
Nota: Los elementos de marcado que se añaden a un silencio
multicompás son objetos del tipo MultiMeasureRestText
, no
TextScript
. 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 R1^"wrong" % This is correct and works \override MultiMeasureRestText #'padding = #5 R1^"right"
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
,
\fermataMarkup
,
\compressFullBarRests
,
\expandFullBarRests
.
Fragmentos de código seleccionados
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'' { \compressFullBarRests R1*2 | R1*5 | R1*9 \override MultiMeasureRest #'expand-limit = #3 R1*2 | R1*5 | R1*9 }
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'' { % MMR - Multi-Measure Rest % MMRs by default are set under the fourth line R1 % They can be moved with an override \override MultiMeasureRest #'staff-position = #-2 R1 % A value of 0 is the default position; % the following trick moves the rest to the center line \override MultiMeasureRest #'staff-position = #-0.01 R1 % MMRs in odd-numbered voices are under the top line << { R1 } \\ { a1 } >> % MMRs in even-numbered voices are under the bottom line << { c1 } \\ { R1 } >> % They remain separated even in empty measures << { R1 } \\ { R1 } >> % This brings them together even though there are two voices \compressFullBarRests << \revert MultiMeasureRest #'staff-position { R1*3 } \\ \revert MultiMeasureRest #'staff-position { 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 silencio de separación con un marcado aplicado antes del silencio multicompás.
Observe que el silencio separador produce la inserción de un compá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' { \compressFullBarRests \textLengthOn s1*0^\markup { [MAJOR GENERAL] } R1*19 s1*0_\markup { \italic { Cue: ... it is yours } } s1*0^\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, Texto, Formatear el texto, Guiones de texto.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText.
Advertencias y problemas conocidos
Si se trata de usar digitaciones (p. ej., R1*10-4
) para poner
números encima de los silencios multicompás, la cifra de la digitación
(el 4) puede chocar con el número del compás (aquí el 10).
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Silencios de compás completo ] | [ Subir : Duraciones ] | [ Indicación de compás > ] |
1.2.3 Impresión de las duraciones
Indicación de compás | ||
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Impresión de las duraciones ] | [ Subir : Impresión de las duraciones ] | [ Anacrusas > ] |
Indicación de compás
La indicación de compás se establece como sigue:
\time 2/4 c2 \time 3/4 c2.
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.
\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:
% 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.
Instrucciones predefinidas
\numericTimeSignature
,
\defaultTimeSignature
.
Fragmentos de código seleccionados
Cambio de compás sin afectar al barrado
La instrucción \time
establece las propiedades
timeSignatureFraction
, beatLength
, beatGrouping
y
measureLength
en el contexto Timing
, que normalmente
tiene el alias Score
. La modificación del valor de
timeSignatureFraction
hace que se imprima la nueva indicación
de compás sin que cambie ninguna de las demás propiedades:
\markup { This snippet is deprecated as of 2.13.5 and will be removed in 2.14 }
Indicaciones de compases compuestos
Las indicaciones de compás poco frecuentes como “5/8” se pueden ejecutar como compases compuestos (p.ej. “3/8 + 2/8”), que combinan dos o más metros diferentes. LilyPond puede hacer la música de este tipo fácil de leer e interpretar, imprimiendo explícitamente las indicaciones de compás compuesto y adaptando el comportamiento automático de las barras (también se pueden añadir indicaciones gráficas de la agrupación de compases; véase el fragmento de código apropiado en la base de datos).
#(define ((compound-time one two num) grob) (grob-interpret-markup grob (markup #:override '(baseline-skip . 0) #:number (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))) \relative c' { \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8") \time 5/8 \overrideBeamSettings #'Staff #'(5 . 8) #'end #'((* . (2 3))) c8 d e fis gis c8 fis, gis e d c8 d e4 gis8 }
Time signature printing only the numerator as a number (instead of the fraction)
Sometimes, a time signature should not print the whole fraction (e.g.
7/4), but only the numerator (7 in this case). This can be easily done
by using \override Staff.TimeSignature #'style = #'single-digit
to change the style permanently. By using \revert
Staff.TimeSignature #'style
, this setting can be reversed. To apply
the single-digit style to only one time signature, use the
\override
command and prefix it with a \once
.
\relative c'' { \time 3/4 c4 c c % Change the style permanently \override Staff.TimeSignature #'style = #'single-digit \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-digit style only for the next time signature \once \override Staff.TimeSignature #'style = #'single-digit \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, Gestión del tiempo.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: TimeSignature, Timing_translator.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Indicación de compás ] | [ Subir : 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
, con la sintaxis
\partial duración
donde duración
es el valor rítmico restante del compás actual
antes de que comience el siguiente.
\partial 4 e4 | a2. c,4 |
El compás parcial puede ser de cualquier duración menor de un compás completo:
\partial 8*3 c8 d e | a2. c,4 |
Internamente, \partial duración
se traduce a
\set Timing.measurePosition -duración
For example, \partial 8*3
becomes:
\set Timing.measurePosition = #(ly:make-moment -3 8)
La propiedad measurePosition
contiene un número racional que
indica qué parte del compás ha transcurrido hasta el momento. Observe
que se establece a un número negativo por parte de la instrucción
\partial
: es decir, \partial 4
se traduce internamente a
-4
, con el significado de “queda un valor de negra en este
compás”.
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.
Advertencias y problemas conocidos
El uso de \partial
está previsto solamente para el comienzo de
una pieza. Si se emplea después del comienzo se obtendrán varias
advertencias o efectos desagradables, en este caso utilice en su lugar
\set Timing.measurePosition
.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Anacrusas ] | [ Subir : Impresión de las duraciones ] | [ Notación polimétrica > ] |
Música sin compasear
Las líneas divisorias y los números de compás se calculan
automáticamente. Para música sin compasear (por ejemplo cadencias),
esto no es deseable. Para desactivar las barras y los números de
compás automáticos, utilice la instrucción \cadenzaOn
, y para
activarlos de nuevo use \cadenzaOff
.
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 como si la cadencia no existiera:
% 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
Observe que 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
, como se muestra en 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.
Fragmentos de código: Rhythms.
Advertencias y problemas conocidos
LilyPond inserta saltos de línea y de página solamente en las barras de compás. A menos que la música sin compasear acabe antes del final de la línea del pentagrama, tendrá que insertar barras de compás invisibles
\bar ""
para indicar dónde se pueden producir los saltos.
Debemos crear un contexto de voz explícitamente al empezar una
pieza con \cadenzaOn
, pues en caso contrario pueden
ocurrir algunos errores extraños.
\new Voice \relative c'{ \cadenzaOn c16^"Solo Free Time" d e f g2. \bar "||" \cadenzaOff }
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Música sin compasear ] | [ Subir : 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 de la indicación visible del compás y el escalado de la duración de las notas.
Pentagramas con distintas indicaciones de compás, compases de igual longitud
Se puede crear esta notación estableciendo una indicación de compás
común para cada pentagrama pero sustituyendo el símbolo manualmente
mediante el establecimiento de timeSignatureFraction
a la
fracción deseada y escalando las duraciones impresas en cada
pentagrama a la indicación de compás común; véase Indicación de compás. El escalado se hace con \scaleDurations
, que se
usa de una forma similar a \times
, pero no crea un corchete de
grupo especial, véase Escalar las duraciones.
En este 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 se hace necesario insertar las barras de forma manual, pues el escalado de las duraciones afecta a las reglas de barrado automático.
\relative c' << \new Staff { \time 3/4 c4 c c | c c c | } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = #'(9 . 8) \scaleDurations #'(2 . 3) \repeat unfold 6 { c8[ c c] } } \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. c4. \times 2/3 { 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" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } % Now each staff has its own time signature. \relative c' << \new Staff { \time 3/4 c4 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 | } >>
Fragmentos de código seleccionados
Indicaciones de compases compuestos
Las indicaciones de compás poco frecuentes como “5/8” se pueden ejecutar como compases compuestos (p.ej. “3/8 + 2/8”), que combinan dos o más metros diferentes. LilyPond puede hacer la música de este tipo fácil de leer e interpretar, imprimiendo explícitamente las indicaciones de compás compuesto y adaptando el comportamiento automático de las barras (también se pueden añadir indicaciones gráficas de la agrupación de compases; véase el fragmento de código apropiado en la base de datos).
#(define ((compound-time one two num) grob) (grob-interpret-markup grob (markup #:override '(baseline-skip . 0) #:number (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))) \relative c' { \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8") \time 5/8 \overrideBeamSettings #'Staff #'(5 . 8) #'end #'((* . (2 3))) c8 d e fis gis c8 fis, gis e d c8 d e4 gis8 }
Véase también
Glosario musical: polymetric, polymetric time signature, meter.
Referencia de la notación: Indicación de compás, Escalar las duraciones.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: TimeSignature, Timing_translator, Default_bar_line_engraver, Staff.
Advertencias y problemas conocidos
Al usar distintos compases en paralelo, las notas que están en el mismo instante de tiempo se colocan en la misma posición horizontal. Sin embargo, las barras de compás en los distintos pentagramas harán que el espaciado de notas sea menos regular en cada pentagrama individual de lo que sería normal sin las distintas indicaciones de compás.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Notación polimétrica ] | [ Subir : 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
. En el ejemplo siguiente, las notas
que atraviesan la barra de compás se dividen y se unen mediante una
ligadura.
\new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } { c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 }
Este grabador divide todas las notas largas en la barra de compás e inserta ligaduras. 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.
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, Forbid_line_break_engraver.
Advertencias y problemas conocidos
No todas las duraciones (sobre todo las que contienen grupos
especiales) se pueden representar exactamente con notas normales y
puntillos, pero el grabador Completion_heads_engraver
nunca
insertará grupos especiales.
Completion_heads_engraver
afecta sólo a las notas; no divide
silencios.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < División automática de las notas ] | [ Subir : 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" { \time 4/4 c4 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 } >>
Instrucciones predefinidas
\improvisationOn
,
\improvisationOff
.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Mostrar los ritmos de la melodía ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Barras ] | [ Subir : Barras ] | [ Establecer el comportamiento de las barras automáticas > ] |
Barras automáticas
De manera predeterminada, las barras de corchea se insertan automáticamente:
\time 2/4 c8 c c c \time 6/8 c 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
:
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.
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 }
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 }
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 barras pueden colisionar con las cabezas de las notas y las alteraciones accidentales de las otras voces.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Barras automáticas ] | [ Subir : Barras ] | [ Barras manuales > ] |
Establecer el comportamiento de las barras automáticas
La colocación de las barras de corchea automáticas viene determinada por la indicación de compás. Se usan tres tipos de reglas para la determinación del final de las barras de corchea automáticas: reglas predeterminadas para el tipo de compás, reglas explícitas para la barra dentro del tipo de compás, y la beatLength (longitud de la barra) para el tipo de compás.
Se aplican las siguientes reglas, en orden de prioridad, para determinara el aspecto de las barras:
-
Si una barra manual está especificada con
[..]
establecer la barra tal y como está especificado; en caso contrario: -
si está en vigor
\autoBeamOff
no poner barras; en caso contrario: - si está definida alguna regla de fin de barra para el tipo de barra en este tipo de compás, usarla para determinar los lugares válidos en que las barras pueden terminar; en caso contrario
- si está definida alguna una regla predeterminada de fin de barra en este tipo de compás, usarla para agrupar las notas con barras; en caso contrario
-
usar el valor de
beatLength
para agrupar las notas con barras.
Modificar las agrupaciones de pulsos
De forma predeterminada, beatLength
se deriva del tipo de
compás establecido por la instrucción \time
. La longitud del
pulso beatLength
se establece a uno sobre el denominador del
compás.
beatLength
es un momento, una unidad de duración musical.
Las cantidades del tipo moment se crean por la función de Scheme
ly:make-moment
. Para ver más información sobre esta función,
consulte Gestión del tiempo.
Los ajustes de barrado automático se
almacenan en la propiedad beamSettings
. Los valores
predeterminados de beamSettings
están precisados en
‘scm/beam-settings.scm’. Las entradas de
beamSettings
están clasificadas por tipo de compás y tipo de regla.
EL tipo de compás debe ser una dupla de Scheme, p.ej. #'(4 . 4)
.
El tipo de regla debe ser #'end
para finales de barra.
Las reglas de final consisten en una lista-A de Scheme (o una lista de duplas) que indica el tipo de barra y la agrupación que se aplica a ese tipo de barra.
#'((tipo-barra1 . agrupación-1) (tipo-barra2 . agrupación-2) (tipo-barra3 . agrupación-3))
El tipo de barra es una dupla de Scheme que indica la duración de la
barra, p.e.j. (1 . 16)
, ó *
para indicar una regla por
omisión, que se aplica a todas las barras si no hay definida ninguna
regla explícita.
La agrupación es una lista de Scheme que indica la agrupación que se
aplica a la barra. Para las reglas por omisión, aquellas en las que
el tipo de barra es *
, la agrupación está en unidades de
longitud de pulso, beatLength
. Para las reglas explícitas, la
agrupación está en unidades del tipo de barra.
Como referencia pueden consultarse las reglas de barrado por omisión que están en ‘scm/beam-settings.scm’.
Los ajustes para las barras se cambian con
\overrideBeamSettings
y \revertBeamSettings
.
Nota: Los ajustes de final y subdivisión deben ser reglas completas. Esto es, toda regla que se aplicaría al tipo de compás actual debe incluirse en los ajustes. No es posible cambiar la agrupación de sólo el tipo de barra para un tipo de compás dado. Aunque puede parecer muy engorroso, significa que los ajustes de barrado actuales no necesitan ser conocidos para poder especificar un nuevo patrón de barrado.
\time 5/16 c8^"beats" c16 c8 | \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (2 3))) c8^"(2+3)" c16 c8 \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (3 2))) c8^"(3+2)" c16 c8
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 \new Voice = one { \relative c'' { \overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (2 3 2))) a8 a a a a a a } } \new Voice = two { \relative c' { \voiceTwo \overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (1 3 3))) f8 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 % Context Voice specified -- does not work correctly % Because of autogenerated voices, all beating will % be at beatLength (1 . 8) \overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (3 1 1 2))) << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >> % Works correctly with context Staff specified \overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (3 1 1 2))) << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
Los ajustes de barrado se pueden revertir para volver al
comportamiento predeterminado. Esto se consigue mediante la
utilización de \revertBeamSettings
. Los argumentos son los
mismos que para \overrideBeamSettings
, excepto que no se da
ningún valor para agrupación:
\revertBeamSettings contexto tipo-de-compás tipo-de-regla
\time 4/4 \repeat unfold 8 {a8} % set default rule for (1 1 1 1) grouping \overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1))) \repeat unfold 8 {a8} % revert the new rule \revertBeamSettings #'Score #'(4 . 4) #'end \repeat unfold 8 {a8}
Instrucciones predefinidas
\overrideBeamSettings
,
\revertBeamSettings
.
Fragmentos de código seleccionados
Subdivisión de las barras de semicorchea
Las barras de semicorcheas (o notas más breves) seguidas no se
subdividen de forma predeterminada. Esto es: las tres (o más)
barras se prolongan, sin dividirse, sobre grupos completos de
notas. Este comportamiento se puede modificar para que las barras
se subdividan en subgrupos mediante el establecimiento de la
propiedad subdivideBeams
. Cuando está establecida, las
diversas barras se subdividen a intervalos definidos por el valor
actual de la longitud del pulso beatLength
reduciendo las
barras múltiples a una sola entre los subgrupos. Observe que el
valor predeterminado de beatLength
es de una unidad sobre
el denominador del compás en curso, si no está establecido
explícitamente. Se debe establecer al valor de una fracción que
da la duración el subgrupo de barras utilizando la función
ly:make-moment
, como se muestra aquí:
\relative c'' { c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] % Set beam sub-group length to an eighth note \set beatLength = #(ly:make-moment 1 8) c32[ c c c c c c c] % Set beam sub-group length to a sixteenth note \set beatLength = #(ly:make-moment 1 16) c32[ c c c c c c c] }
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
agrupación predeterminada que se establece en beamSettings
.
Estas agrupaciones se pueden establecer mediante el uso de
\overrideBeamSettings
. De forma alternativa, se puede usar la
función de Scheme set-time-signature
para establecer tanto el
compás como la regla de agrupamiento predeterminada.
set-time-signature
acepta tres argumentos: el número de pulsos,
la longitud del pulso y la agrupación interna de los pulsos en el
compás. 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/beam-settings.scm’:
\score { \relative c'' { \time 9/8 \overrideBeamSettings #'Score #'(9 . 8) #'end #'((* . (2 2 2 3))) g8 g d d g g a( bes g) | #(set-time-signature 9 8 '(4 5)) g8 g d d g g a( bes g) | \time 5/8 a4. 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 \overrideBeamSettings #'Score #'(5 . 4) #'end #'(((1 . 8) . (3 4 3)) ((1 . 16) . (6 8 6)) ((1 . 32) . (12 16 12))) << \new Staff { c8 c c c c c c c c c } \new Staff { % Modify beaming for just this staff \overrideBeamSettings #'Staff #'(5 . 4) #'end #'((* . (3 2))) 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 \overrideBeamSettings #'Voice #'(5 . 4) #'end #'((* . (3 2))) a8 a a a a a a a a a } >> } >> }
Véase también
Archivos de inicio: ‘scm/beam-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 automática no ha terminado
aún todavía está aceptando notas, esta última barra no se imprimirá en
absoluto. Lo mismo sirve para las voces polifónicas, introducidas con
<< … \\ … >>
. Si una voz polifónica termina
mientras una barra automática está aún aceptando notas, no se imprime.
El rodeo para estos problemas es aplicar el barrado
manual a la última barra de la voz o partitura.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Establecer el comportamiento de las barras automáticas ] | [ Subir : 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 ]
r4 r8[ g' a r8] r8 g[ | a] r8
La dirección de las barras se puede establecer manualmente utilizando indicadores de dirección:
c8^[ d e] c,_[ d e f g]
Se pueden marcar notas individuales con \noBeam
para evitar que
resulten unidas por una barra:
\time 2/4 c8 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.
c4 d8[ \grace { e32[ d c d] } e8] e8[ 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.
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
Corchetes rectos y extremos de barra sueltos
Son posibles tanto los corchetes rectos sobre notas sueltas como
extremos de barra sueltos en figuras unidas, con una combinación de
stemLeftBeamCount
, stemRightBeamCount
e indicadores de
barra []
emparejados.
Para corchetes rectos que apunten a la derecha sobre notas sueltas,
use indicadores de barra emparejados []
y establezca
stemLeftBeamCount
a cero (véase el ejemplo 1).
Para corchetes rectos que apunten a la izquierda, establezca en su
lugar stemRightBeamCount
(ejemplo 2).
Para extremos sueltos que apunten a la derecha al final de un conjunto
de notas unidas, establezca stemRightBeamCount
a un valor
positivo. Y para extremos sueltos que apunten a la izquierda al
principio de un conjunto de notas unidas, establezca
stemLeftBeamCount
en su lugar (ejemplo 3).
A veces, para una nota suelta rodeada de silencios tiene sentido que
lleve los dos extremos sueltos del corchete plano, apuntando a derecha
e izquierda. Hágalo solamente con indicadores de barra emparejados
[ ]
(ejemplo 4).
(Observe que \set stemLeftBeamCount
siempre equivale a
\once \set
. En otras palabras, los ajustes de la cantidad de
barras no se recuerdan, y por ello el par de corchetes planos
aplicados a la nota Do semicorchea c'16[]
del último ejemplo no
tiene nada que ver con el \set
de dos notas por detrás.)
\score { << % Example 1 \new RhythmicStaff { \set stemLeftBeamCount = #0 c16[] r8. } % Example 2 \new RhythmicStaff { r8. \set stemRightBeamCount = #0 c16[] } % Example 3 \new RhythmicStaff { c16 c \set stemRightBeamCount = #2 c16 r r \set stemLeftBeamCount = #2 c16 c c } % Example 4 \new RhythmicStaff { c16 c \set stemRightBeamCount = #2 c16 r c16[] r16 \set stemLeftBeamCount = #2 c16 c } >> }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Barras manuales ] | [ Subir : 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.
\override Beam #'grow-direction = #LEFT \featherDurations #(ly:make-moment 2 1) { c16[ c c c c c c c] } \override Beam #'grow-direction = #RIGHT \featherDurations #(ly:make-moment 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Barras progresivas ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Compases ] | [ Subir : 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:
e4 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:
f1 \bar "|" f1 \bar "." g1 \bar "||" a1 \bar ".|" b1 \bar ".|." c1 \bar "|.|" d1 \bar "|." e1
así como la barra de puntos y la discontinua:
f1 \bar ":" g1 \bar "dashed" a1
y cinco tipos de barra de repetición:
f1 \bar "|:" g1 \bar ":|:" a1 \bar ":|.|:" b1 \bar ":|.:" c1 \bar ":|" d1
Además se puede imprimir una línea divisoria como una marca corta:
f1 \bar "'"
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.
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:
c4 c c c \bar "S" c4 c c c \break \bar "S" c4 c c c \bar "|S" c4 c c c \break \bar "|S" c4 c c c \bar "S|" c4 c c c \break \bar "S|" c1
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.
c4 c c c \bar "||:" c4 c c c \break \bar "||:" c4 c c c
Para combinaciones de repeticiones con el símbolo de segno, existen seis variantes diferentes:
c4 c c c \bar ":|S" c4 c c c \break \bar ":|S" c4 c c c \bar ":|S." c4 c c c \break \bar ":|S." c4 c c c \bar "S|:" c4 c c c \break \bar "S|:" c4 c c c \bar ".S|:" c4 c c c \break \bar ".S|:" c4 c c c \bar ":|S|:" c4 c c c \break \bar ":|S|:" c4 c c c \bar ":|S.|:" c4 c c c \break \bar ":|S.|:" c1
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 { e4 d \bar "||" f4 e } \new Staff { \clef bass c4 g e g } >> \new Staff { \clef bass c2 c2 } >>
Fragmentos de código seleccionados
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.defaultBarType =
bartype.
Véase también
Referencia de la notación: Saltos de línea, Repeticiones, Agrupar pentagramas.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Barras de compás ] | [ Subir : 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:
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:
\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.
\relative c' { \set Score.barNumberVisibility = #all-bar-numbers-visible \bar "" 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 % Permit first bar number to be printed \bar "" % 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 }
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 "|." }
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 \remove "Bar_number_engraver" } } \relative c'' { c4 c c c \break c4 c c c }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Numeración de compases ] | [ Subir : 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 |
Las comprobaciones de compás también se pueden usar en la letra de las canciones:
\lyricmode { \time 2/4 Bri -- lla, | bri -- lla, | }
Las duraciones incorrectas a menudo desbaratan la partitura completamente, sobre todo si la música es polifónica, por ello el mejor sitio para empezar a corregir la entrada es hacer un barrido en busca de comprobaciones de compás fallidas y duraciones incorrectas.
Si varias comprobaciones de compás corresponden al mismo intervalo musical, sólo se imprime el primer mensaje de advertencia. Esto permite que la advertencia se centre en la fuente del error de cuenta de tiempo.
También es posible redefinir la acción que se lleva a cabo cuando se
encuentra un símbolo de comprobación de compás o «símbolo de tubería»,
|
, 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
pipeSymbol
(«símbolo de tubería»). 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.
pipeSymbol = \bar "||" { c'2 c'2 | c'2 c'2 c'2 | c'2 c'2 c'2 }
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
imprimirá una advertencia si el currentBarNumber
(número del
compás actual) no es 123 cuando se procesa.
Véase también
Fragmentos de código: Rhythms.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Comprobación de compás y de número de compás ] | [ Subir : Compases ] | [ Asuntos rítmicos especiales > ] |
Llamadas de ensayo
Para imprimir una letra de ensayo, utilice la orden \mark
.
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
.
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.markFormatter = #format-mark-alphabet \set Score.markFormatter = #format-mark-box-alphabet \set Score.markFormatter = #format-mark-circle-alphabet
\set Score.markFormatter = #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 markFormatter
.
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 markFormatter
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.
\set Score.markFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.markFormatter = #format-mark-box-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-letters c1
El archivo ‘scm/translation-functions.scm’ contiene las
definiciones de format-mark-numbers
(el formato por omisión),
format-mark-box-numbers
, format-mark-letters
y
format-mark-box-letters
. 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.markFormatter
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
c1 \mark \markup { \musicglyph #"scripts.segno" } c1 \mark \markup { \musicglyph #"scripts.coda" } c1 \mark \markup { \musicglyph #"scripts.ufermata" } c1
Consulte La tipografía Feta 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 Indicaciones de texto. Para un control más
preciso, consulte break-alignable-interface
en la sección
Alinear los contextos.
Véase también
Referencia de la notación: La tipografía Feta, Formatear el texto, Alinear los contextos.
Archivos de inicio: ‘scm/translation-functions.scm’
contiene las definiciones de format-mark-numbers
y de
format-mark-letters
. Se pueden usar como inspiración para
escribir otras funciones de formateo.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: MarkEvent, Mark_engraver, RehearsalMark.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Llamadas de ensayo ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Asuntos rítmicos especiales ] | [ Subir : Asuntos rítmicos especiales ] | [ Alinear con una cadenza > ] |
Notas de adorno
Los mordentes y notas de adorno son ornamentos escritos. Se imprimen en un tipo más pequeño y no ocupan ningún tiempo lógico en el compás.
c4 \grace c16 c4 \grace { c16[ d16] } c2
LilyPond también contempla dos tipos especiales de notas de adorno, la acciaccatura o mordente de una nota (una nota de adorno sin medida que se indica mediante una pequeña nota ligada y con el corchete tachado) y la appoggiatura, que toma una fracción fija de la nota principal, y se denota como una nota pequeña, ligada, sin tachar.
\grace c8 b4 \acciaccatura d8 c4 \appoggiatura e8 d4 \acciaccatura { g16[ f] } e4
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 { e2 \grace { c16[ d e f] } e2 } \new Staff { c2 \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.
c1 \afterGrace d1 { c16[ d] } c1
Esto pone las notas de adorno después de un espacio que dura 3/4 de la
longitud de la nota principal. La fracción predeterminada de 3/4 se
puede cambiar estableciendo afterGraceFraction
. El ejemplo
siguiente muestra el resultado de establecer el espacio en su valor
predeterminado, en 15/16, y por último en 1/2 de la nota principal.
<< \new Staff { c1 \afterGrace d1 { c16[ d] } c1 } \new Staff { #(define afterGraceFraction (cons 15 16)) c1 \afterGrace d1 { c16[ d] } c1 } \new Staff { #(define afterGraceFraction (cons 1 2)) c1 \afterGrace d1 { c16[ d] } c1 } >>
El espacio entre la nota principal y la de adorno también se puede especificar 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 { << { d1^\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 { \acciaccatura { \stemDown f16-> \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 Stem #'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 = { s1*0( \override Stem #'stroke-style = #"grace" \slurDashed } stopAcciaccaturaMusic = { \revert Stem #'stroke-style \slurSolid s1*0) } \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: Barras manuales.
Archivos de inicio: ‘ly/grace-init.ly’.
Fragmentos de código: Rhythms.
Referencia de funcionamiento interno: GraceMusic, Grace_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 { e4 \bar "|:" \grace c16 d2. } \new Staff { c4 \bar "|:" d2. } >>
Esto se puede remediar insertando desplazamientos de adorno de las duraciones correspondientes en los otros pentagramas. Para el ejemplo anterior
<< \new Staff { e4 \bar "|:" \grace c16 d2. } \new Staff { c4 \bar "|:" \grace s16 d2. } >>
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.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Notas de adorno ] | [ Subir : 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 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' { c4 d8 e f g g4 f2 g4 g } \new GrandStaff << \new Staff { \MyCadenza c'1 \MyCadenza c'1 } \new Staff { #(ly:export (mmrest-of-length MyCadenza)) c'1 #(ly:export (skip-of-length MyCadenza)) c'1 } >>
Véase también
Glosario musical: cadenza.
Fragmentos de código: Rhythms.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Alinear con una cadenza ] | [ Subir : 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 determinad 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 c' { \set Timing.measureLength = #(ly:make-moment 5 4) c1 c4 | c1 c4 | c4 c \set Timing.measurePosition = #(ly:make-moment 5 8) 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Gestión del tiempo ] | [ Subir : Notación musical ] | [ Adosado 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 Adosado a las notas | ||
1.3.2 Curvas | ||
1.3.3 Líneas |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Expresiones ] | [ Subir : Expresiones ] | [ Articulaciones y ornamentos > ] |
1.3.1 Adosado 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 contemporáneas |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Adosado a las notas ] | [ Subir : Adosado 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:
c4\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:
c4-^ 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.
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
, dashBar
,
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
:
\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 semitrino (el Script
)
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 } }
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 sobreescriturasw 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
. El valor de halign
se utiliza para colocar el
grupeto horizontalmente.
\relative c'' { \once \override TextScript #'avoid-slur = #'inside \once \override TextScript #'outside-staff-priority = ##f c2(^\markup \tiny \override #'(baseline-skip . 1) { \halign #-4 \center-column { \sharp \musicglyph #"scripts.turn" } } d4.) c8 }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Articulaciones y ornamentos ] | [ Subir : Adosado a las notas ] | [ Indicaciones dinámicas contemporáneas > ] |
Matices dinámicos
Las marcas dinámicas de matiz absoluto se especifican usando un
comando 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
y \rfz
. 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.
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 \>
. De forma predeterminada, se tipografían
reguladores en ángulo cuando se utiliza esta notación.
c2\< c\! d2\< d\f e2\< e\> f2\> f\! e2\> e\mp d2\> d\> c1\!
Se requieren silencios espaciadores para tipografiar varias indicaciones dinámicas sobre una sola nota.
c4\< c\! d\> e\! << f1 { s4 s4\< s4\> s4\! } >>
En algunas situaciones, la marca de articulación \espressivo
puede ser apropiada para indicar un crescendo y decrescendo sobre una
nota:
c2 b4 a g1\espressivo
Los crescendi y decrescendi se pueden tipografiar como marcas
textuales en lugar de reguladores. Las instrucciones incorporadas
\crescTextCresc
, \dimTextDecresc
, \dimTextDecr
y
\dimTextDim
le dicen a LilyPond que use estas marcas textuales
en lugar de reguladores para todas las instrucciones \<
y
\>
subsiguientes. Las instrucciones correspondientes
\crescHairpin
y \dimHairpin
hacen que vuelvan a aparecer
los reguladores de nuevo:
\crescTextCresc c2\< d | e f\! \dimTextDecresc e2\> d | c b\! \crescHairpin c2\< d | e f\! \dimHairpin e2\> d\!
Para crear nuevas indicaciones de matiz absoluto o de texto que deba alinearse con los matices; véase Indicaciones dinámicas contemporáneas.
La colocación vertical de las indicaciones de dinámica se maneja por parte de DynamicLineSpanner.
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
.
\relative c'' { c4\< c\! d\> e\! \override Hairpin #'minimum-length = #5 << f1 { s4 s\< s\> s\! } >> }
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\! }
Indicaciones dinámicas y textuales alineadas verticalmente
Mediante el establecimiento de la propiedad 'Y-extent
a un valor
adecuado, todos los objetos DynamicLineSpanner
(reguladores e
indicaciones dinámicas textuales) se pueden alinear con un punto de
referencia común, independientemente de sus dimensiones. De esta
manera, todos los elementos estarán alineados verticalmente,
produciendo así un resultado más satisfactorio.
Se usa una idea similar para alinear las inscripciones de texto a lo largo de su línea de base.
music = \relative c'' { c2\p^\markup { gorgeous } c\f^\markup { fantastic } c4\p c\f\> c c\!\p } { \music \break \override DynamicLineSpanner #'staff-padding = #2.0 \override DynamicLineSpanner #'Y-extent = #'(-1.5 . 1.5) \override TextScript #'Y-extent = #'(-1.5 . 1.5) \music }
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 #'dash-period = #-1.0 \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 'hairpin
(regulador), y entre otros
valores posibles se encuentran 'line
(línea),
'dashed-line
(línea discontinua) y 'dotted-line
(línea de puntos):
\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 contemporáneas, ¿Qué sale por el MIDI?, Control de los matices en el MIDI.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: DynamicText, Hairpin, DynamicLineSpanner.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Matices dinámicos ] | [ Subir : Adosado a las notas ] | [ Curvas > ] |
Indicaciones dinámicas contemporáneas
La manera más fácil de crear indicaciones dinámicas es usar objetos de
marcado (\markup
).
moltoF = \markup { molto \dynamic f } \relative c' { <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' { c1_\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' { c4 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' { c4_\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 del marcado en Scheme.
moltoF = #(make-dynamic-script (markup #:normal-text "molto" #:dynamic "f")) \relative c' { <d e>16 <d e> <d e>2..\moltoF }
Los ajustes para las fuentes tipográficas en el modo de marcado se describen en Instrucciones de marcado de texto más usuales.
Véase también
Referencia de la notación: Formatear el texto, Instrucciones de marcado de texto más usuales, ¿Qué sale por el MIDI?, Control de los matices en el MIDI.
Fragmentos de código: Expressive marks.
Extender LilyPond: Construcción del marcado en Scheme.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Indicaciones dinámicas contemporáneas ] | [ Subir : Expresiones ] | [ Ligaduras de expresión > ] |
1.3.2 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Curvas ] | [ Subir : 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.
f4( 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.
No están permitidas las ligaduras de expresión simultáneas o solapadas, pero una ligadura de fraseo se puede solapar con una ligadura de expresión. Esto hace posible imprimir dos ligaduras distintas al mismo tiempo. Para ver más detalles, consulte Ligaduras de fraseo.
Las ligaduras de expresión pueden ser continuas, discontinuas o de puntos. El estilo predeterminado de las ligaduras de expresión es el continuo:
c4( 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):
c4( 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:
c4( 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Ligaduras de expresión ] | [ Subir : 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:
c4\( 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.
No se pueden tener varias ligaduras de fraseo simultáneas o solapadas.
Las ligaduras de fraseo pueden ser continuas, de puntos o de rayas. El estilo predeterminado para las ligaduras de fraseo es el continuo:
c4\( 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):
c4\( 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:
c4\( 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Ligaduras de fraseo ] | [ Subir : Curvas ] | [ Caídas y elevaciones > ] |
Marcas de respiración
Las respiraciones se introducen utilizando \breathe
:
c2. \breathe d4
Las marcas de respiración dan por terminadas las barras automáticas; para sobreescribir este comportamiento, consulte Barras manuales.
c8 \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 }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Marcas de respiración ] | [ Subir : Curvas ] | [ 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.
c2-\bendAfter #+4 c2-\bendAfter #-4 c2-\bendAfter #+6.5 c2-\bendAfter #-6.5 c2-\bendAfter #+8 c2-\bendAfter #-8
El guión -
que sigue al nombre de la nota es necesario
al escribir caídas y elevaciones.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Caídas y elevaciones ] | [ Subir : Expresiones ] | [ Glissando > ] |
1.3.3 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Líneas ] | [ Subir : Líneas ] | [ Arpegio > ] |
Glissando
Se crea un glissando adjuntando \glissando
a la
nota:
g2\glissando g' c2\glissando 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 "|" }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Glissando ] | [ Subir : Líneas ] | [ Trinos > ] |
Arpegio
Un signo de acorde arpegiado (conocido también como acorde
quebrado) sobre un acorde, se denota adjuntando \arpeggio
al
acorde:
<c e g c>1\arpeggio
Se pueden escribir distintos tipos de acordes arpegiados.
\arpeggioNormal
produce la vuelta al arpegio normal:
<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
Se pueden crear símbolos especiales de arpegio con corchete:
<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
Las propiedades de discontinuidad del paréntesis del arpegio se
controlan mediante la propiedad 'dash-details
, 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
context:
\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.
Fragmentos de código: Expressive marks.
Referencia de funcionamiento interno: Arpeggio, Slur, PianoStaff.
Advertencias y problemas conocidos
No es posible mezclar arpegios conectados y no conectados en un
PianoStaff
en el mismo instante de tiempo.
El corchete de los arpegios de paréntesis no funciona para los arpegios de pentagrama cruzado.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Arpegio ] | [ Subir : 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
:
d1~\startTrillSpan d1 c2\stopTrillSpan r2
En el ejemplo siguiente se muestra un trino en combinación con notas de adorno. La sintaxis de esta construcción y el método para efectuar un control más preciso sobre la colocación de las notas de adorno se describe en Notas de adorno.
c1 \afterGrace d1\startTrillSpan { c32[ d]\stopTrillSpan } e2 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.
\pitchedTrill e2\startTrillSpan fis d\stopTrillSpan
En el ejemplo siguiente, el segundo trino con nota es ambiguo; la alteración de la nota trinada no se imprime. Como manera de rodear el problema se pueden forzar las alteraciones de las notas trinadas. El segundo compás ejemplifica este método:
\pitchedTrill eis4\startTrillSpan fis g\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis g\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis g\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis! g\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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Trinos ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Repeticiones ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Repeticiones largas ] | [ Subir : Repeticiones largas ] | [ Marcas de repetición manual > ] |
Repeticiones normales
La sintaxis de una repetición simple es
\repeat variante número_de_repeticiones cuerpo_de_la_repetición
donde cuerpo_de_la_repetición es una expresión musical. Los
finales alternativos se pueden obtener utilizando \alternative
.
Para delimitar los finales alternativos, el grupo de alternativas se
debe incluir dentro de un par de llaves. Si existen más repeticiones
que finales alternativos, las primeras repeticiones recibirán la
primera alternativa.
Repeticiones normales sin finales alternativos:
\repeat volta 2 { c4 d e f } c2 d \repeat volta 2 { d4 e f g }
Repeticiones normales con primera y segunda vez:
\repeat volta 4 { c4 d e f } \alternative { { d2 e } { f2 g } } c1
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.
Si una repetición comienza en medio de un compás y no tiene finales
alternativos (primera y segunda vez), normalmente el final de la
repetición también caerá en el medio de un compás, de forma que el
comienzo y el final formen un compás completo. En tales casos, los
signos de repetición no son verdaderas líneas divisorias. No utilice
instrucciones \partial
o comprobaciones de compás en los
lugares en que se imprimen estos símbolos de repetición:
% no \partial here c4 e g % no bar check here % no \partial here \repeat volta 4 { e4 | c2 e | % no \partial here g4 g g % no bar check here } % no \partial here g4 | a2 a | g1 |
De forma similar, si una repetición compienza con el compás de
anacrusa inicial de una partitura y no tiene finales alternativos, se
dan las mismas condiciones que en el ejemplo anterior, excepto que en
este caso se necesita la instrucción \partial
al principio de
la partitura:
\partial 4 % required \repeat volta 4 { e4 | c2 e | % no \partial here g4 g g % no bar check here } % no \partial here g4 | a2 a | g1 |
Cuando se añaden primera y segunda vez a una repetición que comienza
con un compás incompleto, se hace necesario establecer la propiedad de
contexto Timing.measureLength
manualmente, en los siguiente
lugares específicos:
-
en el comienzo de los complases incompletos del bloque
\alternative
, que normalmente se producen al final de cada final alternativo, excepto (en la mayoría de los casos) el último de ellos. - en el comienzo de cada uno de los finales alternativos, excepto el primero.
\partial 4 \repeat volta 2 { e4 | c2 e | } \alternative { { f2 d | \set Timing.measureLength = #(ly:make-moment 3 4) g4 g g % optional bar check is allowed here } { \set Timing.measureLength = #(ly:make-moment 4 4) a2 a | } } g1 |
La propiedad measureLength
se describe en Gestión del tiempo.
Se pueden añadir ligaduras de unión al segundo final:
c1 \repeat volta 2 { c4 d e f~ } \alternative { { f2 d } { f2\repeatTie f, } }
Fragmentos de código seleccionados
Shortening volta brackets
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 = #(ly:make-moment 3 4) \repeat volta 5 { d4 d d } \alternative { { e4 e e f4 f f } { 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' } } >>
Véase también
Glosario musical: repeat, volta.
Referencia de la notación: Barras de compás, Modificar los complementos (plug-ins) de contexto, Gestión del tiempo.
Fragmentos de código: Repeats.
Referencia de funcionamiento interno: VoltaBracket, RepeatedMusic, 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. 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.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Repeticiones normales ] | [ Subir : 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
comandos de repetición.
-
start-repeat
Imprimir una barra de compás
|:
c1 \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
:|
c1 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 imprimirá.
f4 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:
f4 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 { 1. 2. 3... \text \italic { ad lib. } } \relative c'' { c1 \set Score.repeatCommands = #(list(list 'volta voltaAdLib) 'start-repeat) c4 b d e \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat) f1 \set Score.repeatCommands = #'((volta #f)) }
Fragmentos de código seleccionados
Imprimir puntos de repetición al prinicpio de la pieza
Se puede imprimir una línea divisoria de la forma |:
al
principio de la pieza, sobreescribiendo la propiedad correspondiente:
\relative c'' { \once \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(instrument-name left-edge ambitus span-bar breathing-sign clef key-signature time-signature staff-bar custos span-bar)) \once \override Staff.TimeSignature #'space-alist = #'((first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) ;; free up some space between time signature ;; and repeat bar line (staff-bar . (extra-space . 1))) \bar "|:" c1 d1 d4 e f g }
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, RepeatedMusic, VoltaRepeatedMusic.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Marcas de repetición manual ] | [ Subir : 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.
c1 \repeat unfold 2 { c4 d e f } c1
Se pueden hacer repeticiones desplegadas con finales alternativos. Si hay más repeticiones que finales alternativos, el primer final alternativo se aplica a las primeras repeticiones.
c1 \repeat unfold 2 { g4 f e d } \alternative { { cis2 g' } { cis,2 b } } c1
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
Fragmentos de código: Repeats.
Referencia de funcionamiento interno: RepeatedMusic, UnfoldedRepeatedMusic.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Repeticiones explícitas ] | [ Subir : 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 adoptan dos formas básicas: repeticiones desde una sola nota hasta dos compases representadas por barras inclinadas o símbolos de porcentaje, y trémolos.
Repeticiones de compás o parte de ellos | ||
Repeticiones de trémolo |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Repeticiones cortas ] | [ Subir : Repeticiones cortas ] | [ Repeticiones de trémolo > ] |
Repeticiones de compás o parte de ellos
Están contempladas las repeticiones de patrones cortos de notas. La música se imprime una sola vez, y el patrón se sustituye por un símbolo especial. Los patrones que son más cortos de un compás se sustituyen por barras inclinadas, y los patrones de uno o dos compases se sustituyen por símbolos de tipo porcentaje. La sintaxis es:
\repeat percent número expresión_musical
donde expresión_musical es una expresión musical.
\repeat percent 4 { c4 } \repeat percent 2 { b4 a g f } \repeat percent 2 { c2 es | f4 fis g c | }
Fragmentos de código seleccionados
Percent repeat counter
Las repeticiones de compases completos mayores 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. Esto se hace introduciendo un silencio multicompás con una función de impresión distinta:
\relative c'' { \override MultiMeasureRest #'stencil = #ly:multi-measure-rest::percent \override MultiMeasureRest #'thickness = #0.48 R1 }
Véase también
Glosario musical: percent repeat, simile.
Fragmentos de código: Repeats.
Referencia de funcionamiento interno: RepeatSlash, PercentRepeat, DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeatCounter, PercentRepeatedMusic.
Advertencias y problemas conocidos
Sólo están contempladas tres clases de repeticiones del tipo porcentaje: una barra inclinada única que representa un solo pulso (sin que importe la duración de las notas repetidas); una sola barra inclinada con puntos que representa un compás completo; y dos barras con puntos que cruzan a una línea divisoria y que representa dos compases completos. No están contempladas ni varias barras inclinadas que representan repeticiones de un pulso consistentes en semicorcheas o figuras menores, ni dos barras con puntos que representan repeticiones de un solo pulso consistentes en notas de duraciones variables.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Repeticiones de compás o parte de ellos ] | [ Subir : 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):
\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úmero]’ después de la nota. El número indica la
duración de la subdivisión, y debe ser 8 como mínimo. Un valor de 8
para número produce una línea que atraviesa la plica de la nota.
Si se omite la longitud, se utiliza el último valor (almacenado en
tremoloFlags
):
c2:8 c:32 c: c:
Fragmentos de código seleccionados
Cross-staff tremolos
Since \repeat tremolo
expects exactly two musical arguments for
chord tremolos, the note or chord which changes staff within a
cross-staff tremolo should be placed inside curly braces together with
its \change Staff
command.
\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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Repeticiones de trémolo ] | [ Subir : Notación musical ] | [ Una voz única > ] |
1.5 Notas simultáneas
La 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Notas simultáneas ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Una voz única ] | [ Subir : 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 o un conjunto de
articulaciones, como si fueran simples notas.
<c e g>2 <c f a>4-> <e g c>-.
Se puede usar el modo relativo para la altura de las notas de los acordes. La octava de cada nota se determina utilizando como referencia la nota precedente, excepto en el caso de la primera nota de un acorde: la referencia para la primera nota es la primera nota del acorde anterior.
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.
Fragmentos de código: Simultaneous notes.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Notas en acorde ] | [ Subir : 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
:
<c e g>4 q q 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.
<c e g>4\p q^"text"( q8)[-| q8.] q16-1-2-3
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.
<c e g>8 c'4 q r8 q
Véase también
Archivos de inicio: ‘ly/chord-repetition-init.ly’.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Repetición de acordes ] | [ Subir : 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 << { a4 b g2 } { d4 g c,2 } >> }
% single first note a << { a4 b g } { d4 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.
El ejemplo siguiente muestra cómo las expresiones simultáneas pueden generar varios pentagramas de forma implícita:
% no single first note << { a4 b g2 } { d4 g2 c,4 } >>
Aquí no hay problema en tener distintas duraciones.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Expresiones simultáneas ] | [ Subir : 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.:
\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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Racimos (clusters) ] | [ Subir : 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 automática de las partes | ||
Escribir música en paralelo |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Varias voces ] | [ Subir : 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" { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d } \new Voice= "second" { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 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:
<< \new Voice = "melody" { a4 << { \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:
<< { r8 r16 g e8. f16 g8[ c,] f e16 d } \\ { d16 c d8~ d16 b c8~ c16 b c8~ c16 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.
<< { r8 g g g g f16 ees f8 d } \\ { ees,8 r ees r d r d r } \\ { 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.
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 << { e4 f8 d e16 f g8 d4 } { c4 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Polifonía en un solo pentagrama ] | [ Subir : 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:
<< { \voiceOneStyle d4 c2 b4 } \\ { \voiceTwoStyle e,2 e } \\ { \voiceThreeStyle b2. c4 } \\ { \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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Estilos de voz ] | [ Subir : Varias voces ] | [ Combinación automática de las partes > ] |
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.
<< { c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
Las cabezas de notas diferentes se pueden combinar, con la excepción de blancas con negras, como se muestra más abajo. Aquí las cabezas del pulso 1 del primer compás sí se combinan:
<< { \mergeDifferentlyHeadedOn c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
También se pueden combinar cabezas con puntillos diferentes, como se muestra en el tercer pulso del primer compás:
<< { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 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.
<< { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c8 d e d c d c4 \shiftOn g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
Las instrucciones \shiftOn
, \shiftOnn
y
\shiftOnnn
especifican el grado en que se deben desplazar los
acordes de la voz en curso. Las voces exteriores (normalmente: la voz
uno y la voz dos) tienen \shiftOff
(desplazamiento
desactivado), mientras que las voces interiores (tres y cuatro) tienen
\shiftOn
(desplazamiento activado). \shiftOnn
y
\shiftOnnn
definen niveles de desplazamiento más grandes.
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 << { \voiceOne a4. a8 e'4 e4. e8 f4 d4. c8 } \\ { \voiceThree f,2 bes4 a2 a4 s2 } \\ { \voiceFive s2 g4 g2 f4 f2 } \\ \bar "||"{ \voiceTwo d2 d4 cis2 d4 bes2 } >> }
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
No están contemplados los acordes en que la misma nota se presenta con diferentes alteraciones accidentales dentro del mismo. En este caso se recomienda usar la transcripción enarmónica, o usar la notación especial de racimos (véase Racimos (clusters)).
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Resolución de las colisiones ] | [ Subir : 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 sobre un pentagrama. Tiene como objetivo el tipografiado de partituras orquestales. Cuando las dos partes son idénticas durante un período de tiempo, sólo se presenta una de ellas. En los lugares en que las dos partes son diferentes, se tipografían como voces separadas, y las direcciones de las plicas se establecen de forma automática. También las partes de solo y a due quedan identificadas y es posible marcarlas.
La sintaxis para la combinación de las partes es:
\partcombine expresión_musical_1 expresión_musical_2
El ejemplo siguiente ejemplifica la funcionalidad básica del combinador de partes: poner las partes en un solo pentagrama, y establecer las direcciones de las plicas y la polifonía. Se utilizan las mismas variables para las partes independientes y el pentagrama combinado.
instrumentOne = \relative c' { c4 d e f R1 d'4 c b a b4 g2 f4 e1 } instrumentTwo = \relative g' { R1 g4 a b c d c b a g f( e) d e1 } << \new Staff \instrumentOne \new Staff \instrumentTwo \new Staff \partcombine \instrumentOne \instrumentTwo >>
Las notas del tercer compás aparecen solamente una vez a pesar de que
se han especificado en las dos partes. 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
) siempre
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 predeterminado “a2”.
Los dos argumentos de \partcombine
se interpretan como
contextos de
Voice. Si se están usando octavas
relativas, se debe especificar \relative
para ambas expresiones
musicales, 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.
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 { \set Staff.instrumentName = #"Standard polyphony" << \musicUp \\ \musicDown >> } \new Staff \with { printPartCombineTexts = ##f } { \set Staff.instrumentName = #"PartCombine without texts" \partcombine \musicUp \musicDown } \new Staff { \set Staff.instrumentName = #"PartCombine with texts" \partcombine \musicUp \musicDown } >> >> \layout { indent = 6.0\cm \context { \Score \override SystemStartBar #'collapse-height = #30 } } }
Cambiar los textos de partcombine
Al utilizar la posibilidad de combinación automática de partes, se puede modificar el texto que se imprime para las secciones de solo y de unísono:
\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
\partcombine
sólo admite dos voces.
Si printPartCombineTexts
está establecido, cuando las dos voces
tocan y terminan las mismas notas, el combinador de partes puede
tipografiar a2
más de una vez en el mismo compás.
\partcombine
no puede estar dentro de \times
.
\partcombine
no puede estar dentro de \relative
.
Internamente, el \partcombine
interpreta los dos argumentos
como Voice
s y decide cuándo se pueden combinar las dos partes.
Cuando tienen distintas duraciones, no se combinan y reciben los
nombres one
y two
. Como consecuencia, si los argumentos
cambian a contextos de
Voice con nombres diferentes, los
eventos que contienen se ignorarán. De forma similar, la combinación
de partes no está pensada para que funcione con la letra de las
canciones; cuando una de las voces recibe un nombre explícito con el
objeto de adjuntarle una letra, la combinación de partes deja de
funcionar.
\partcombine
observa solamente los tiempos de ataque de las
notas. No puede determinar si una nota iniciada previamente está
sonando o no, lo que origina diversos problemas.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Combinación automática de las partes ] | [ Subir : 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.~ e'4 r16 e'8.~ e'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.~ d'4 r16 d'8.~ d'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.~ e4 r16 e8.~ e4 | c2 c | % Bar 2 r8 a,16 d f a, d f r8 a,16 d f a, d f | r16 d8.~ d4 r16 d8.~ d4 | 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Escribir música en paralelo ] | [ Subir : 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 |
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 |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Impresión de los pentagramas ] | [ Subir : 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 contextos.
El contexto básico de pentagrama es Staff
:
\new Staff { c4 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 { c4 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 { c4 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 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.
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 { c1 c } \new Staff { c1 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 { c1 c } \new Staff { c1 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 { c1 c } \new Staff { c1 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 { c1 c } \new Staff { c1 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 << \set PianoStaff.instrumentName = #"Piano" \new Staff { c1 c } \new Staff { 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 las propiedades adecuadas.
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.
\markup \left-column { \score { \new StaffGroup << % Must be lower than the actual number of staff lines \override StaffGroup.SystemStartBracket #'collapse-height = #1 \override Score.SystemStartBar #'collapse-height = #1 \new Staff { c'1 } >> \layout { } } \null \score { \new PianoStaff << \override PianoStaff.SystemStartBrace #'collapse-height = #1 \override Score.SystemStartBar #'collapse-height = #1 \new Staff { c'1 } >> \layout { } } }
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 estableciendo la
propiedad transparent
.
global = { \override Staff.BarLine #'transparent = ##t s1 s % the final bar line is not interrupted \revert Staff.BarLine #'transparent \bar "|." } \new StaffGroup \relative c'' { << \new Staff { << \global { c1 c } >> } \new Staff { << \global { c c } >> } >> }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Agrupar pentagramas ] | [ Subir : Impresión de los pentagramas ] | [ Modificación de pentagramas sueltos > ] |
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 { c2 c | c2 c } \new StaffGroup << \new Staff { g2 g | g2 g } \new StaffGroup \with { systemStartDelimiter = #'SystemStartSquare } << \new Staff { e2 e | e2 e } \new Staff { c2 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'' << \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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Grupos de pentagramas anidados ] | [ Subir : 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 |
El símbolo del pentagrama
las líneas de un pentagrama pertenecen al grob StaffSymbol
. Se
pueden modificar las propiedades de StaffSymbol
para modificar
la apariencia de una pauta, pero han de modificarse antes de que se
produzca la creación de la misma.
Se puede cambiar el número de líneas de la pauta. La posición de la clave y del Do central pueden requerir una modificación para mantener la correspondencia con la nueva pauta. Para ver una explicación, consulte la sección de fragmentos de código en Clave.
\new Staff \with { \override StaffSymbol #'line-count = #3 } { d4 d d d }
Se puede modificar el grosor de las líneas de la pauta. El grosor de las líneas adicionales y las plicas también resultan afectados, pues dependen del grosor de las líneas de la pauta.
\new Staff \with { \override StaffSymbol #'thickness = #3 } { e4 d c b }
El grosor de las líneas adicionales se puede fijar de forma independiente al de las líneas de la pauta. En el ejemplo, los dos números son factores que multiplican el grosor de las líneas del pentagrama y su espaciado. Las dos contribuciones se suman para dar el grosor de las líneas adicionales.
\new Staff \with { \override StaffSymbol #'ledger-line-thickness = #'(1 . 0.2) } { e4 d c b }
Se puede cambiar la distancia entre las líneas de la pauta. Este ajuste afecta también al espaciado de las líneas adicionales.
\new Staff \with { \override StaffSymbol #'staff-space = #1.5 } { a4 b c d }
Hay más detalles sobre las propiedades de StaffSymbol
en
staff-symbol-interface.
Se pueden colocar modificaciones a las propiedades de una pauta en el
medio de una partitura, entre \stopStaff
(detener pauta) y
\startStaff
(iniciar pauta):
c2 c \stopStaff \override Staff.StaffSymbol #'line-count = #2 \startStaff b2 b \stopStaff \revert Staff.StaffSymbol #'line-count \startStaff a2 a
En general, se pueden usar \startStaff
y \stopStaff
para
detener o iniciar un pentagrama en mitad de una partitura.
c4 b a2 \stopStaff b4 c d2 \startStaff e4 d c2
Instrucciones predefinidas
\startStaff
,
\stopStaff
.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < El símbolo del pentagrama ] | [ Subir : 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'' { c4 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'' { c4 b d c << { c4 b d c } \new Staff \with { \remove "Time_signature_engraver" alignAboveContext = #"main" fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -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" \override Clef #'transparent = ##t fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) } { \stopStaff s1*6 } \new Staff \relative c' { c4 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
\RemoveEmptyStaffContext
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 \RemoveEmptyStaffContext
, consulte Ocultar pentagramas.
<< \new Staff = ossia \with { \remove "Time_signature_engraver" \override Clef #'transparent = ##t fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) } \relative c'' { R1*3 c4 e8 d c2 } \new Staff \relative c' { c4 b c2 e4 f e2 g4 a g2 \break c4 b c2 g4 a g2 e4 d c2 } >> \layout { \context { \RemoveEmptyStaffContext \override VerticalAxisGroup #'remove-first = ##t } }
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.
\paper { ragged-right = ##t } \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" } { \times 4/6 { \override TextScript #'padding = #3 c8[^"ossia above" d e d e f] } } >> } >>
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Pentagramas de Ossia ] | [ Subir : 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 c''' { a8 f e16 d c b a2 }
Se pueden ocultar los pentagramas que están vacíos mediante la
instrucción \RemoveEmptyStaffContext
dentro del bloque
\layout
. En las partituras orquestales, este estilo se conoce
como ‘partitura a la francesa’. De forma predeterminada, esta
instrucción oculta y elimina todos los pentagramas vacíos de la
partitura excepto los del primer sistema.
Nota: Un pentagrama se considera vacío cuando contiene solamente silencios multicompás, desplazamientos, silencios de separación o una combinación de estos elementos.
\layout { \context { \RemoveEmptyStaffContext } } \relative c' << \new Staff { e4 f g a \break b1 \break a4 b c2 } \new Staff { c,4 d e f \break R1 \break f4 g c,2 } >>
También se puede usar \RemoveEmptyStaffContext
para crear
secciones de ossia para un pentagrama. Para ver más detalles,
consulte Pentagramas de Ossia.
Se puede usar la instrucción \AncientRemoveEmptyStaffContext
para ocultar los pentagramas vacíos en contextos de música antigua.
de forma similar, se puede usar
\RemoveEmptyRhythmicStaffContext
para ocultar los contextos
RhythmicStaff
vacíos.
Instrucciones predefinidas
\RemoveEmptyStaffContext
,
\AncientRemoveEmptyStaffContext
,
\RemoveEmptyRhythmicStaffContext
.
Fragmentos de código seleccionados
Quitar la primera línea vacía
El primer pentagrama vacío también se puede suprimir de la
partitura estableciendo la propiedad remove-first
de
VerticalAxisGroup
. Esto se puede hacer globalmente dentro
del bloque \layout
, o localmente dentro del pentagrama
concreto que se quiere suprimir. En este último caso, tenemos que
especificar el contexto (Staff
se aplica sólo al pentagrama
actual) delante de la propiedad.
El pentagrama inferior del segundo grupo no se elimina, porque el ajuste sólo se aplica al pentagrama concreto dentro del que se escribe.
\layout { \context { \Staff \RemoveEmptyStaves % To use the setting globally, uncomment the following line: % \override VerticalAxisGroup #'remove-first = ##t } } \new StaffGroup << \new Staff \relative c' { e4 f g a \break c1 } \new Staff { % To use the setting globally, comment this line, % uncomment the line in the \layout block above \override Staff.VerticalAxisGroup #'remove-first = ##t R1 \break R } >> \new StaffGroup << \new Staff \relative c' { e4 f g a \break c1 } \new Staff { R1 \break R } >>
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.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_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:
\override StaffSymbol #'stencil = ##f \override NoteHead #'no-ledgers = ##t
Para ver los fallos y problemas conocidos, así como las advertencias
asociadas con \RemoveEmptyStaffContext
, consulte Cambiar los valores por omisión de los contextos.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Ocultar pentagramas ] | [ Subir : Notación de los pentagramas ] | [ Indicaciones metronómicas > ] |
1.6.3 Escritura de las particellas
Esta sección explica cómo insertar indicaciones de tempo y nombres de instrumento en una partitura. También se describen métodos para citar otras voces y dar formato a las notas guía.
Indicaciones metronómicas | ||
Nombres de instrumentos | ||
Citar otras voces | ||
Formateo de las notas guía |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Escritura de las particellas ] | [ Subir : Escritura de las particellas ] | [ Nombres de instrumentos > ] |
Indicaciones metronómicas
Es muy sencillo escribir una indicación metronómica básica:
\tempo 4 = 120 c2 d e4. d8 c2
Se pueden usar indicaciones de tempo con texto:
\tempo "Allegretto" c4 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:
\tempo "Allegro" 4 = 160 g4 c d e d4 b g2
En general, el texto puede ser cualquier objeto de marcado:
\tempo \markup { \italic Faster } 4 = 132 a8-. 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:
\tempo "" 8 = 96 d4 g e c
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 { 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." #1 " = " \smaller \general-align #Y #DOWN \note #"8" #1 ) } } 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, Salida MIDI.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno:: MetronomeMark.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Indicaciones metronómicas ] | [ Subir : 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
y
PianoStaff
. El valor de instrumentName
se usa para el
primer pentagrama, y el valor de shortInstrumentName
se usa
para todos los pentagramas siguientes.
\set Staff.instrumentName = #"Violin " \set Staff.shortInstrumentName = #"Vln " c4.. g'16 c4.. g'16 \break c1
También podemos usar el modo de marcado para construir nombres de instrumento más complicados:
\set Staff.instrumentName = \markup { \column { "Clarinetti" \line { "in B" \smaller \flat } } } c4 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 { \set Staff.instrumentName = #"Flute" f2 g4 f } \new Staff { \set Staff.instrumentName = \markup \center-column { Clarinet \line { "in B" \smaller \flat } } c4 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 Dimensiones horizontales.
\layout { indent = 3.0\cm short-indent = 1.5\cm } \relative c'' << \new Staff { \set Staff.instrumentName = #"Alto Flute in G" \set Staff.shortInstrumentName = #"Fl." f2 g4 f \break g4 f g2 } \new Staff { \set Staff.instrumentName = #"Clarinet" \set Staff.shortInstrumentName = #"Clar." c,4 b c2 \break c2 b4 c } >>
Para añadir nombres de instrumento a otros contextos (como
GrandStaff
, ChoirStaff
o StaffGroup
), debemos
añadir el grabador Instrument_name_engraver
a dicho
contexto. Para ver más detalles, consulte Modificar los complementos (plug-ins) de contexto.
Los nombres de instrumento se pueden cambiar en mitad de una pieza;
sin embargo, recuerde que el instrumentName
no se imprime en
mitad de la pieza, ya que sólo aparece en el primer pentagrama:
\set Staff.instrumentName = #"First" \set Staff.shortInstrumentName = #"one" c1 c c c \break c1 c c c \break \set Staff.instrumentName = #"Second" \set Staff.shortInstrumentName = #"two" c1 c c c \break c1 c c c \break
Si se necesita un cambio de instrumento, se debe usar
\addInstrumentDefinition
en combinación con
\instrumentSwitch
para crear una lista detallada de los cambios
necesarios para el intercambio. La instrucción
\addInstrumentDefinition
tiene dos argumentos: una cadena
identificativa, y una lista asociativa de propiedades de contexto y
los valores que el instrumento va a usar. Se debe situar en el ámbito
del nivel más alto. \instrumentSwitch
se usa en la expresión
musical para declarar el cambio de instrumento:
\addInstrumentDefinition #"contrabassoon" #`((instrumentTransposition . ,(ly:make-pitch -1 0 0)) (shortInstrumentName . "Cbsn.") (clefGlyph . "clefs.F") (middleCPosition . 6) (clefPosition . 2) (instrumentCueName . ,(make-bold-markup "cbsn.")) (midiInstrument . "bassoon")) \new Staff \with { instrumentName = #"Bassoon" } \relative c' { \clef tenor \compressFullBarRests c2 g' R1*16 \instrumentSwitch "contrabassoon" c,,2 g \break c,1 ~ | c1 }
Véase también
Referencia de la notación: Dimensiones horizontales, Modificar los complementos (plug-ins) de contexto.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: InstrumentName, PianoStaff, Staff.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Nombres de instrumentos ] | [ Subir : Escritura de las particellas ] | [ Formateo de las notas guía > ] |
Citar otras voces
Es muy frecuente que una voz duplique música de otra voz. Por ejemplo, los violines primero y segundo pueden tocar las mismas notas durante un pasaje musical. En LilyPond esto se hace dejando que una voz cite a la otra, sin tener que volverla a introducir.
Antes de que una voz pueda citarse, se debe usar la instrucción
\addQuote
para iniciar el fragmento citado. Esta instrucción
se debe usar en el ámbito del nivel más alto. El primer argumento es
una cadena identificativa, y el segundo es una expresión musical:
flute = \relative c'' { a4 gis g gis } \addQuote "flute" { \flute }
La instrucción \quoteDuring
se usa para indicar el punto en que
comienza la cita. va seguido 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, normalmente silencios de
separación o silencios multicompás. La música correspondiente
(incluidas todas las articulaciones,
matices, elementos de marcado, etc.) de la
voz citada se inserta dentro de la expresión musical:
flute = \relative c'' { a4 gis g->\f gis^\markup{quoted} } \addQuote "flute" { \flute } \relative c' { c4 cis \quoteDuring #"flute" { s2 } }
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, ase produce una situación de polifonía, lo que no suele
ser deseable:
flute = \relative c'' { a4 gis g gis } \addQuote "flute" { \flute } \relative c' { c4 cis \quoteDuring #"flute" { c4 b } }
Las citas reconocen los ajustes de transposición de los instrumentos
tanto para la fuente como para los instrumentos de destino si se
utiliza la instrucción \transposition
. Para ver más detalles
sobre \transposition
, consulte Transposición de los instrumentos.
clarinet = \relative c'' { \transposition bes a4 gis g gis } \addQuote "clarinet" { \clarinet } \relative c' { c4 cis \quoteDuring #"clarinet" { s2 } }
Es posible etiquetar las citas con nombres exclusivos para poder procesarlas de diferentes maneras. Para ver más detalles sobre este procedimiento, consulte Uso de etiquetas.
También es posible ajustar qué objetos de la voz original se citan
mediante la modificación de la propiedad quotedEventTypes
. De
forma predeterminada, su valor es #'(StreamEvent)
, lo que
significa que todo se cita. Su establecimiento a,
p.ej. #'(note-event rest-event tie-event)
provoca que LilyPond
cite solamente las notas, silencios y ligaduras de unión, pero no las
articulaciones, los elementos de marcado ni los matices dinámicos.
clarinet = \relative c'' { a4 gis g->\f gis^\markup{quoted} } \addQuote "clarinet" { \clarinet } \relative c' { \set Score.quotedEventTypes = #'(note-event rest-event tie-event) c4 cis \quoteDuring #"clarinet" { s2 } }
Fragmentos de código seleccionados
Citar otra voz con transposición
Los pasajes citados tienen en cuenta la transposición de la fuente
tanto como la del destino. En este ejemplo, todos los
instrumentos interpreta una nota con el sonido del Do central; el
destino de un instrumento transpositor en Fa. La parte de destino
se puede transponer utilizando \transpose
. En este caso
se transportan todas las notas (incluidas las citadas).
\addQuote clarinet { \transposition bes \repeat unfold 8 { d'16 d' d'8 } } \addQuote sax { \transposition es' \repeat unfold 16 { a8 } } quoteTest = { % french horn \transposition f g'4 << \quoteDuring #"clarinet" { \skip 4 } s4^"clar." >> << \quoteDuring #"sax" { \skip 4 } s4^"sax." >> g'4 } { \set Staff.instrumentName = \markup { \center-column { Horn \line { in F } } } \quoteTest \transpose c' d' << \quoteTest s4_"up a tone" >> }
Citar otra voz
La propiedad quotedEventTypes
determina los tipos de eventos
musicales que resultan citados. El valor predeterminado es
(note-event rest-event tie-event beam-event tuplet-span-event)
,
que significa que sólo aparecen en la expresión \quoteDuring
las notas, silencios, ligaduras, barras y grupos especiales. En el
ejemplo siguiente, el silencio de semicorchea no aparece en el
fragmento citado porque rest-event
no está dentro de los
quotedEventTypes
.
Para ver una lista de los tipos de evento, consulte la sección “Music classes” de la Referencia de funcionamiento interno.
quoteMe = \relative c' { fis4 r16 a8.-> b4\ff c } \addQuote quoteMe \quoteMe original = \relative c'' { c8 d s2 \once \override NoteColumn #'ignore-collision = ##t es8 gis8 } << \new Staff { \set Staff.instrumentName = #"quoteMe" \quoteMe } \new Staff { \set Staff.instrumentName = #"orig" \original } \new Staff \relative c'' << \set Staff.instrumentName = #"orig+quote" \set Staff.quotedEventTypes = #'(note-event articulation-event) \original \new Voice { s4 \set fontSize = #-4 \override Stem #'length-fraction = #(magstep -4) \quoteDuring #"quoteMe" { \skip 2. } } >> >>
Véase también
Referencia de la notación: Transposición de los instrumentos, Uso de etiquetas.
Fragmentos de código: Staff notation.
Referencia de funcionamiento interno: 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 la
música no puede contener enunciados \new
ni \context
Voice
que cambiarían a una voz distinta.
La cita de notas de adorno no es funcional e incluso 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.
En anteriores versiones LilyPond (antes de la 2.11), addQuote
se escribía completamente en minúsculas: \addquote
.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Citar otras voces ] | [ Subir : Escritura de las particellas ] | [ Anotaciones editoriales > ] |
Formateo de las notas guía
La sección anterior explica la forma de crear citas. La instrucción
\cueDuring
es una forma más especializada de
\quoteDuring
, que es especialmente útil para insertar notas
guía en una particella. La sintaxis es como sigue:
\cueDuring #nombre_de_la_parte #voz música
Esta instrucción copia
sólo las notas y los silencios de
los compases correspondientes a partir de
nombre_de_la_parte dentro de un contexto CueVoice
de voz
guía. La voz guía CueVoice
se crea implícitamente, y se
produce simultáneamente con música, lo que crea una situación
polifónica. El argumento voz determina si la notación de las
notas guía debe ser como primera o como segunda voz; UP
(arriba) corresponde a la primera voz, y DOWN
(abajo)
corresponde a la segunda.
oboe = \relative c'' { r2 r8 d16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboe } \new Voice \relative c'' { \cueDuring #"oboe" #UP { R1 } g2 c, }
En el ejemplo anterior, el contexto Voice
se tuvo que declarar
explícitamente, pues en caso contrario toda la expresión musical
habría pertenecido al contexto CueVoice
.
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.
oboe = \relative c'' { r2 r8 d16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboe } \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 puede imprimir el nombre del instrumento de las notas guía
estableciendo la propiedad instrumentCueName
en el contexto
CueVoice
.
oboe = \relative c''' { g4 r8 e16 f e4 d } \addQuote "oboe" { \oboe } \new Staff \relative c'' << \new CueVoice \with { instrumentCueName = "ob." } \new Voice { \cueDuring #"oboe" #UP { R1 } g4. b8 d2 } >>
Además de imprimir el nombre del instrumento de las notas guía, cuando
éstas finalizan se debe imprimir el nombre del instrumento original, y
cualquier otro cambio introducido por la parte de guía se debe
deshacer. Esto se puede hacer mediante la utilización de
\addInstrumentDefinition
(añadir definición de instrumento) y
\instrumentSwitch
(cambio de instrumento). Para ver un ejemplo
con su explicación, consulte Nombres de instrumentos.
La instrucción \killCues
quita las notas guía de una expresión
musical. Esto puede ser útil si las notas guía se tienen que eliminar
de una particella pero posiblemente se deban reponer más tarde.
flute = \relative c''' { r2 cis2 r2 dis2 } \addQuote "flute" { \flute } \new Voice \relative c'' { \killCues { \cueDuring #"flute" #UP { R1 } g4. b8 d2 } }
La instrucción \transposedCueDuring
es útil para añadir guías
instrumentales a partir de un registro completamente diferente. La
sintaxis es similar a la de \cueDuring
, pero necesita un
argumento adicional para especificar la transposición del instrumento
de guía. Para ver más información sobre la transposición, consulte
Transposición de los instrumentos.
piccolo = \relative c''' { \clef "treble^8" R1 c8 c c e g2 a4 g g2 } \addQuote "piccolo" { \piccolo } cbassoon = \relative c, { \clef "bass_8" c4 r g r \transposedCueDuring #"piccolo" #UP c,, { R1 } c4 r g r } << \new Staff = "piccolo" \piccolo \new Staff = "cbassoon" \cbassoon >>
Es posible etiquetar las partes guía con nombres exclusivos de forma que se puedan procesar de diversas formas. Para ver más detalles sobre este procedimiento, consulte Uso de etiquetas.
Se puede crear un contexto de CueVoice
explícitamente si se
necesitan notas de un tamaño menor, por ejemplo para establecer una
secuencia alternativa de notas más apropiada para una voz más aguda o
más grave.
\time 12/8 \key ees \major g4 ees8 f4 g8 \stemDown << { d4. bes4 c8 } \new CueVoice { g'4. f4 ees8 } >> \stemUp d2. d2.
Véase también
Referencia de la notación: Transposición de los instrumentos, Nombres de instrumentos, 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
.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Formateo de las notas guía ] | [ Subir : 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 |
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Dentro del pentagrama ] | [ Subir : Dentro del pentagrama ] | [ Indicaciones de digitación > ] |
Seleccionar el tamaño de la tipografía para la notación
Se puede alterar el tamaño de la fuente tipográfica de los elementos de notación. Esto no cambia el tamaño de los símbolos variables, como las barras de corchea o las ligaduras.
Nota: Para los tamaños de tipografía del texto, consulte Instrucciones de marcado de texto más usuales.
\huge c4.-> d8---3 \large c4.-> d8---3 \normalsize c4.-> d8---3 \small c4.-> d8---3 \tiny c4.-> d8---3 \teeny c4.-> d8---3
Internamente, esto establece un valor para la propiedad
fontSize
. Esto, a su vez, hace que se establezca el valor de
la propiedad font-size
de todos los objetos de presentación.
El valor de font-size
es un número que indica el tamaño con
relación al tamaño estándar para la altura vigente del pentagrama.
Cada unidad hacia arriba es un incremento de un 12% del tamaño de la
fuente, aproximadamente. Seis unidades son exactamente un factor de
dos. La función de Scheme magstep
convierte un número de
tamaño font-size
a un factor de escalado. La propiedad
font-size
también se puede establecer directamente, de forma
que queden afectados solamente determinados objetos gráficos.
\set fontSize = #3 c4.-> d8---3 \override NoteHead #'font-size = #-4 c4.-> d8---3 \override Script #'font-size = #2 c4.-> d8---3 \override Stem #'font-size = #-5 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 10 puntos.
La propiedad font-size
sólo se puede establecer en objetos
gráficos que utilicen fuentes tipográficas. Éstos son los que
contemplan el interfaz de presentación font-interface
.
Instrucciones predefinidas
\teeny
(enano),
\tiny
(muy pequeño),
\small
(pequeño),
\normalsize
(normal),
\large
(grande),
\huge
(enorme).
Véase también
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: font-interface.
Indicaciones de digitación
Las instrucciones de digitación se pueden introducir usando nota-dígito:
c4-1 d-2 f-4 e-3
Para los cambios de dedo se pueden usar elementos de marcado de texto.
c4-1 d-2 f-4 c^\markup { \finger "2 - 3" }
Puede usar la articulación de pulgar para indicar que una nota se debe tocar con el pulgar (p.ej. en música de cello).
<a_\thumb a'-3>2 <b_\thumb b'-3>
Las digitaciones para los acordes también se pueden añadir a las notas individuales del acorde escribiéndolas después de las alturas.
<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 una construcción de acorde <> aunque sea una sola nota.
\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 }
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. Nota: se debe usar una construcción de acorde <>, aunque sea una sola nota.
\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> }
Avoiding collisions with chord fingerings
Fingerings and string numbers applied to individual notes will automatically avoid beams and stems, but this is not true by default for fingerings and string numbers applied to the individual notes of chords. The following example shows how this default behavior can be overridden.
\relative c' { \set fingeringOrientations = #'(up) \set stringNumberOrientations = #'(up) \set strokeFingerOrientations = #'(up) % Default behavior r8 <f c'-5>8 <f c'\5>8 <f c'-\rightHandFinger #2 >8 % Corrected to avoid collisions r8 \override Fingering #'add-stem-support = ##t <f c'-5>8 \override StringNumber #'add-stem-support = ##t <f c'\5>8 \override StrokeFinger #'add-stem-support = ##t <f c'-\rightHandFinger #2 >8 }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Indicaciones de digitación ] | [ Subir : Dentro del pentagrama ] | [ Colorear objetos > ] |
Notas ocultas
Las notas ocultas (o invisibles, o transparentes) pueden ser de utilidad en la preparación de ejercicios de teoría o de composición.
c4 d \hideNotes e4 f \unHideNotes g a \hideNotes b \unHideNotes c
Los objetos de notación que están anclados a notas invisibles, son a pesar de ello visibles.
c4( d) \hideNotes e4(\p f)--
Instrucciones predefinidas
\hideNotes
,
\unHideNotes
.
Véase también
Manual de aprendizaje: Visibilidad y color de los objetos.
Notation Reference: Silencios invisibles, Visibilidad de los objetos, Ocultar pentagramas.
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: Note_spacing_engraver, NoteSpacing.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Notas ocultas ] | [ Subir : 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 c4 c \override NoteHead #'color = #(x11-color 'LimeGreen) d \override Stem #'color = #blue e
Se puede acceder al espectro completo de colores definido para X11 usando la función de Scheme x11-color. Esta función acepta un único argumento; éste puede ser un símbolo de la forma ’FulanoMengano o una cadena de la forma "FulanoMengano". La primera forma es más rápida de escribir y también más eficiente. Sin embargo, al usar la segunda forma es posible acceder a los colores de X11 por medio de la forma del nombre que tiene varias palabras.
Si x11-color
no entiende el parámetro, el color predeterminado
que se devuelve es el negro.
\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2) \set Staff.instrumentName = \markup { \with-color #(x11-color 'navy) "Clarinet" } 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
.
\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2) \set Staff.instrumentName = \markup { \with-color #(x11-color 'navy) "Clarinet" } \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 normales (o
sea: #blue
, azul, #green
, verde, #red
, rojo).
Las notas de un acorde no se pueden colorear con \override
; en
su lugar utilice \tweak
. Consulte La instrucción \tweak
para
ver más detalles.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Colorear objetos ] | [ Subir : 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.
c2 \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
.
c2-\parenthesize -. d c2 \parenthesize r
Véase también
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: Parenthesis_engraver, ParenthesesItem, 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Paréntesis ] | [ Subir : 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 }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Plicas ] | [ Subir : Anotaciones editoriales ] | [ Globos de ayuda > ] |
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.
Globos de ayuda | ||
Líneas de rejilla | ||
Corchetes de análisis |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Fuera del pentagrama ] | [ Subir : 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" } { \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 normalmente influyen en el espaciado de las notas, pero esto puede cambiarse:
\new Voice \with { \consists "Balloon_engraver" } { \balloonLengthOff \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, BalloonTextItem, balloon-interface.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Globos de ayuda ] | [ Subir : 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 = #(ly:make-moment 1 4) } \context { \Score \consists "Grid_line_span_engraver" } } \score { \new ChoirStaff << \new Staff \relative c'' { \stemUp c4. d8 e8 f g4 } \new Staff \relative c { \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 = #(ly:make-moment 1 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Líneas de rejilla ] | [ Subir : 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'' { c2\startGroup d\stopGroup }
Los corchetes de análisis se pueden anidar.
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } \relative c'' { c4\startGroup\startGroup d4\stopGroup e4\startGroup d4\stopGroup\stopGroup }
Véase también
Fragmentos de código: Editorial annotations.
Referencia de funcionamiento interno: Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, Staff.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Corchetes de análisis ] | [ Subir : 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.
Ciertos elementos de texto de los que no nos ocupamos aquí se tratan en otras secciones específicas: Música vocal, Títulos y cabeceras.
1.8.1 Escritura del texto | ||
1.8.2 Formatear el texto | ||
1.8.3 Tipografías |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Texto ] | [ Subir : Texto ] | [ Guiones 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.
Guiones de texto | ||
Extensiones de texto | ||
Indicaciones de texto | ||
Texto separado |
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Escritura del texto ] | [ Subir : 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.
a8^"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.
a8^\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.
a8^"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 objetos 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.
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, es una tarea computacional relativamente grande. Para acelerar el procesado, LilyPond no realiza estos cálculos de forma predeterminada; para habilitarlos, utilice
\override Score.PaperColumn #'keep-inside-line = ##t
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Guiones de texto ] | [ Subir : 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:
\override TextSpanner #'(bound-details left text) = "rit." b1\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.
\override TextSpanner #'(bound-details left text) = \markup { \upright "rit." } b1\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.
Advertencias y problemas conocidos
LilyPond sólo puede manejar un objeto de extensión de texto por cada voz.
Instrucciones predefinidas
\textSpannerUp
,
\textSpannerDown
,
\textSpannerNeutral
.
Véase también
Referencia de la notación: Estilos de línea, Matices dinámicos.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextSpanner.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Extensiones de texto ] | [ Subir : 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:
c4 \mark "Allegro" c c c
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:
<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:
<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.
\mark "Allegro" c1 c \mark "assai" \break c c
Fragmentos de código seleccionados
Printing marks at the end of a line
Marks can be printed at the end of the current line, instead of the beginning of the following line. In such cases, it might be preferable to align the right end of the mark with the bar line.
\relative c'' { g2 c d,2 a' \once \override Score.RehearsalMark #'break-visibility = #end-of-line-visible \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT \mark "D.C. al Fine" \break g2 b, c1 \bar "||" }
Alinear marcas con varios objetos de notación
Si están especificadas, las marcas de texto se pueden alinear con
objetos de notación distintos a las líneas divisorias. Entre estos
objetos se encuentran ambitus
, breathing-sign
,
clef
, custos
, staff-bar
, left-edge
,
key-cancellation
, key-signature
y time-signature
.
En estos casos, las marcas de texto se centran horizontalmente sobre el objeto, aunque esto se puede cambiar, como se muestra en la segunda línea de este ejemplo (en una partitura con varios pentagramas, se debe hacer este ajuste para todos los pentagramas).
\relative c' { e1 % the RehearsalMark will be centered above the Clef \override Score.RehearsalMark #'break-align-symbols = #'(clef) \key a \major \clef treble \mark "↓" e1 % the RehearsalMark will be centered above the TimeSignature \override Score.RehearsalMark #'break-align-symbols = #'(time-signature) \key a \major \clef treble \time 3/4 \mark \markup { \char ##x2193 } e2. % the RehearsalMark will be centered above the KeySignature \override Score.RehearsalMark #'break-align-symbols = #'(key-signature) \key a \major \clef treble \time 4/4 \mark \markup { \char ##x2193 } e1 \break e1 % the RehearsalMark will be aligned with the left edge of the KeySignature \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT \mark \markup { \char ##x2193 } \key a \major e1 % the RehearsalMark will be aligned with the right edge of the KeySignature \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT \key a \major \mark \markup { \char ##x2193 } e1 % the RehearsalMark will be aligned with the left edge of the KeySignature % and then shifted right by one unit. \once \override Score.KeySignature #'break-align-anchor = #1 \key a \major \mark \markup { \char ##x2193 } e1 }
Imprimir marcas en cualquier pentagrama
Aunque normalmente las marcas de texto sólo se imprimen sobre el pentagrama superior, también se pueden imprimir en otro pentagrama cualquiera.
\score { << \new Staff { c''1 \mark "molto" c'' } \new Staff { c'1 \mark "molto" c' } >> \layout { \context { \Score \remove "Mark_engraver" \remove "Staff_collecting_engraver" } \context { \Staff \consists "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 Feta.
Fragmentos de código: Text.
Referencia de funcionamiento interno: MarkEvent, Mark_engraver, RehearsalMark.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Indicaciones de texto ] | [ Subir : 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
,
\markuplines
.
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 { \line { \italic { O sacred feast } } \line { \italic { in which Christ is received, } } \line { \italic { the memory of His Passion is renewed, } } \line { \italic { the mind is filled with grace, } } \line { \italic { and a pledge of future glory is given to us. } } \line { \italic { 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Texto separado ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Formatear el texto ] | [ Subir : Formatear el texto ] | [ Instrucciones de marcado de texto más usuales > ] |
Introducción al marcado de texto
Se usa un bloque \markup
para tipografiar texto con una
sintaxis ampliable que se denomina “modo de marcado”.
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.
a1-\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.
a1^"\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:
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 Text markup commands.
Véase también
Referencia de la notación: Text markup commands.
Fragmentos de código: Text.
Archivos de inicio: ‘scm/markup.scm’.
Advertencias y problemas conocidos
Los errores de sintaxis para el modo de marcado a menudo producen confusión.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Introducción al marcado de texto ] | [ Subir : Formatear el texto ] | [ Alineación de texto > ] |
Instrucciones de marcado de texto más usuales
Está contemplado de forma básica el cambio de la fuente tipográfica en el modo de marcado:
d1^\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 los caracteres también se puede alterar de distintas maneras:
- el tamaño de la tipografía se puede definir a una serie de tamaños estándar predefinidos,
- el tamaño de la tipografía se puede establecer a un valor absoluto,
- el tamaño de la tipografía también se puede cambiar de forma relativa respecto de su valor anterior.
El ejemplo siguiente ejemplifica estos tres métodos:
f1_\markup { \tiny espressivo \large e \normalsize intenso } a^\markup { \fontsize #5 Sinfonia \fontsize #2 da \fontsize #3 camera } bes^\markup { (con \larger grande \smaller emozione \magnify #0.6 { e sentimento } ) } d c2 r8 c bes a g1
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 \roman 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 contemporáneas 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 Font.
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: Font, Indicaciones dinámicas contemporáneas, Marcas de repetición manual, Tipografías.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
Archivos de inicio: ‘scm/define-markup-commands.scm’.
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.
d1-\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:
a1-\markup { \halign #-1 poco } e' a,-\markup { \halign #0 poco } e' a,-\markup { \halign #0.5 poco } e' a,-\markup { \halign #2 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 es un poco más compleja. 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. En este caso, el elemento a mover se debe preceder de un punto de anclaje, que puede ser otro elemento de marcado o un objeto invisible. El ejemplo siguiente ejemplifica estas dos posibilidades; el último marcado en este ejemplo no tiene punto de anclaje y por ello no resulta movido.
d2^\markup { Acte I \raise #2 { Scène 1 } } a' g_\markup { \null \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. Cualquier objeto afectado por estas instrucciones se deben preceder de un punto de anclaje:
d2^\markup { Acte I \translate #'(-1 . 2) "Scène 1" } a' g_\markup { \null \general-align #Y #3.2 \bold "Très modéré" } a d,^\markup { \null \translate-scaled #'(-1 . 2) \teeny "Une forêt." } 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 } }
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 Align.
Véase también
Manual de aprendizaje: Mover objetos.
Referencia de la notación: Align, Indicaciones de texto.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
Archivos de inicio: ‘scm/define-markup-commands.scm’.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Alineación de texto ] | [ Subir : 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 Align.
\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:
c1^\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 Graphic.
Véase también
Referencia de la notación: Graphic, Anotaciones editoriales.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
Archivos de inicio: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm’.
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:
a2 a^\markup { \note #"4" #1 = \note-by-number #1 #1 #1.5 } b1_\markup { \natural \semiflat \flat \sesquiflat \doubleflat } \glissando a1_\markup { \natural \semisharp \sharp \sesquisharp \doublesharp } \glissando b
Otros objetos de notación se pueden también imprimir en el modo de marcado:
g1 bes ees-\markup { \finger 4 \tied-lyric #"~" \finger 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 Feta.
c2 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:
c1^\markup { \fret-diagram-terse #"x;x;o;2;3;2;" } c^\markup { \harp-pedal #"^-v|--ov^" } c c^\markup { \combine \musicglyph #"accordion.accDiscant" \combine \raise #0.5 \musicglyph #"accordion.accDot" \raise #1.5 \musicglyph #"accordion.accDot" }
Dichos diagramas se encuentran documentados en Instrument Specific Markup.
Incluso una partitura completa se puede incluir dentro de un objeto de
marcado. En tal caso, el bloque anidado \score
debe contener
un bloque \layout
, como se muestra aquí:
c4 d^\markup { \score { \relative c' { c4 d e f } \layout { } } } e f | c d e f
Hay una lista exhaustiva de instrucciones relacionadas con la notación musical en Music.
Véase también
Referencia de la notación: Music, La tipografía Feta, Explicación de las fuentes tipográficas.
Fragmentos de código: Text.
Referencia de funcionamiento interno: TextScript.
Archivos de inicio: ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm’.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Notación musical dentro de elementos de marcado ] | [ Subir : 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:
\markuplines { \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 Text markup list commands.
Véase también
Referencia de la notación: Text markup list commands.
Fragmentos de código: Text.
Manual de extensión: New markup list command definition.
Referencia de funcionamiento interno: TextScript.
Archivos de inicio: ‘scm/define-markup-commands.scm’.
Instrucciones predefinidas
\markuplines
.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Elementos de marcado de varias páginas ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Tipografías ] | [ Subir : 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 en el sistema; las tipografías seleccionadas se trazan utilizando Pango.
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 varias tipografías
feta
de LilyPond distintas a las de texto en el modo de
marcado:
a1^\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 tipografías de texto: la tipografía romana (con serifa), que de forma predeterminada es New Century Schoolbook, la fuente sans y la fuente monoespaciada de máquina de escribir. Estas dos últimas familias vienen determinadas por la instalación de Pango.
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 d2.^\markup "Allegro" \override Voice.TextScript #'font-size = #-3 c4^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 Instrucciones de marcado de texto más usuales:
\markup { \column { \line { \override #'(font-shape . italic) \override #'(font-size . 4) Idomeneo, } \line { \override #'(font-family . typewriter) { \override #'(font-series . bold) re di } \override #'(font-family . sans) Creta } } }
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 Feta, Notación musical dentro de elementos de marcado, Instrucciones de marcado de texto más usuales, Font.
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 a1_\markup { \override #'(font-name . "Vera Bold") { Vera Bold } }
La instrucción siguiente presenta una lista de todas las tipografías disponibles en el sistema operativo:
lilypond -dshow-available-fonts x
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Notación especializada >> ] | ||
[ < Fuentes de un solo elemento ] | [ Subir : 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. Para leer más explicaciones sobre las fuentes tipográficas, consulte Explicación de las fuentes tipográficas.
\paper { myStaffSize = #20 #(define fonts (make-pango-font-tree "Times New Roman" "Nimbus Sans" "Luxi Mono" (/ myStaffSize 20))) } \relative c'{ c1-\markup { roman, \sans sans, \typewriter typewriter. } }
Véase también
Referencia de la notación: Explicación de las fuentes tipográficas, Fuentes de un solo elemento, Instrucciones de marcado de texto más usuales, Font.
[ << Notación musical ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Fuentes tipográficas del documento completo ] | [ Subir : 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.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Notación especializada ] | [ Subir : 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.
2.1.1 Notación común para música vocal | ||
2.1.2 Introducir la letra | ||
2.1.3 Alineación de la letra a una melodía | ||
2.1.4 Usos específicos de la letra | ||
2.1.5 Versos |
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Música vocal ] | [ Subir : Música vocal ] | [ Referencias para música vocal y letra > ] |
2.1.1 Notación común para música vocal
Esta sección trata sobre asuntos relacionados con la música vocal en general y con ciertos estilos concretos de música vocal.
Referencias para música vocal y letra | ||
Ópera | ||
Cancioneros | ||
Música hablada | ||
Cantos | ||
Música vocal antigua |
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Notación común para música vocal ] | [ Subir : Notación común para música vocal ] | [ Ópera > ] |
Referencias para música vocal y letra
Pueden surgir varias cuestiones al tipografiar música vocal. Algunas se discuten en esta sección, pero otras están tratadas en otros lugares del manual:
- 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. - Las hojas guía de acordes o Lead sheets se pueden imprimir combinando partes vocales y el ‘modo de acordes’; esta sintaxis se explica en Notación de acordes.
- Los ‘ambitus’ o indicaciones de tesitura vocal se pueden añadir al principio de los pentagramas vocales, como se explica en Tesitura.
- Las partes vocales se pueden imprimir utilizando las claves tradicionales, como se muestra en Clave.
- Está contemplada la música vocal en estilo de notación antiguo, como se explica en Notación antigua.
Ópera
Continuará...
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Ópera ] | [ Subir : Notación común para música vocal ] | [ Música hablada > ] |
Cancioneros
Continuará...
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 } \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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Cancioneros ] | [ Subir : Notación común para música vocal ] | [ Cantos > ] |
Música hablada
Los efectos como el ‘parlato’ o el ‘Sprechgesang’ requieren de los intérpretes que hablen sin altura determinada pero con su ritmo; su notación se realiza mediante cabezas de nota en forma de aspas, como se muestra en Cabezas de nota especiales.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Música hablada ] | [ Subir : Notación común para música vocal ] | [ Música vocal antigua > ] |
Cantos
Continuará...
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Cantos ] | [ Subir : Notación común para música vocal ] | [ Introducir la letra > ] |
Música vocal antigua
Continuará...
Véase también
Referencia de la notación: Notación antigua.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Música vocal antigua ] | [ Subir : Música vocal ] | [ Explicación de la letra > ] |
2.1.2 Introducir la letra
Explicación de la letra | ||
Elaborar canciones sencillas | ||
Trabajar con el texto y las variables |
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Introducir la letra ] | [ Subir : Introducir la letra ] | [ Elaborar canciones sencillas > ] |
Explicación de la letra
Dado que los archivos de entrada de LilyPond son de texto, existe al
menos un asunto que tener en cuenta al trabajar con música vocal: los
textos de las canciones se deben interpretar como texto, no como
notas. Por ejemplo, la entrada d
debe interpretarse como
una sílaba de una sola letra, no como la nota Re. Por tanto se
hace necesario utilizar un modo especial para la letra, ya sea
explícitamente o mediante el uso de métodos abreviados.
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 puede
introducir la letra, con puntuación y acentos, y el carácter d
no se analiza como una nota, sino más bien como una sílaba de una sola
letra. Las sílabas se introducen como las notas, pero con texto en
lugar de alturas de nota. Por ejemplo,
\lyricmode { Cam-4 pa-4 ni- ta del- lu- gar2 }
Existen dos métodos principales para especificar la colocación
horizontal de las sílabas, bien especificando la duración de cada
sílaba de forma explícita, como en el ejemplo anterior, o bien
alineando automáticamente la letra a la melodía o a cualquier otra
voz, usando \addlyrics
o \lyricsto
.
Una palabra o sílaba de la letra comienza con un carácter alfabético, y termina con cualquier espacio o dígito. Los caracteres que siguen pueden ser cualesquiera excepto un dígito o un espacio.
Cualquier carácter excepto un dígito o un espacio en blanco se
considera parte de una sílaba; esto tiene una importante consecuencia,
y es que una palabra puede terminar en }
, lo que con
frecuencia conduce al siguiente error:
\lyricmode { 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.
De forma similar, un punto que sigue a una secuencia alfabética queda incluido dentro de la cadena resultante. Como consecuencia, se deben insertar espacios antes y después de los comandos de propiedades: no escriba
\override Score.LyricText #'font-shape = #'italic
sino lo siguiente:
\override Score . LyricText #'font-shape = #'italic
Para asignar más de una sílaba a una única nota, puede rodearlas por
comillas o usar un carácter _
(guión bajo), para obtener
espacios entre las sílabas, o usar el símbolo de tilde curva
(~
) para obtener una ligadura entre sílabas de la letra.
\time 3/4 \relative c' { c2 e4 g2 e4 } \addlyrics { gran- de_a- mi- go } \addlyrics { pu- "ro y ho-" nes- to } \addlyrics { pu- ro~y~ho- nes- to }
La ligadura de texto se construye con el carácter Unicode U+203F, por tanto debe asegurarse de que tiene instalada una tipografía (como DejaVuLGC) que incluya este glifo.
Para escribir letra con caracteres de una lengua no inglesa, o que tenga caracteres acentuados o especiales (como el símbolo del corazón o comillas inclinadas), introduzca simplemente los caracteres directamente en el archivo de entrada y guárdelo con una codificación utf-8. Consulte Codificación del texto, para ver más información.
\relative c' { e4 f e d e f e2 } \addlyrics { He said: “Let my peo ple go”. }
Para utilizar comillas normales en la letra, escriba una barra invertida antes de las comillas. Por ejemplo,
\relative c' { \time 3/4 e4 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
`
, '
, "
ó ^
.
Para definir identificadores que contengan letra, se debe usar la
función lyricmode
.
verseOne = \lyricmode { Joy to the world the Lord is come } \score { << \new Voice = "one" \relative c'' { \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 } \addlyrics { \verseOne } >> }
Véase también
Referencia de la notación: Tipografías.
Referencia de funcionamiento interno: LyricText, LyricSpace.
Elaborar canciones sencillas
La manera más fácil de poner letra a una melodía es añadir
\addlyrics { la letra }
a la melodía. He aquí un ejemplo:
\time 3/4 \relative c' { c2 e4 g2. } \addlyrics { play the game }
Se pueden añadir más versos mediante la adición de más secciones
\addlyrics
\time 3/4 \relative c' { c2 e4 g2. } \addlyrics { play the game } \addlyrics { speel het spel } \addlyrics { joue le jeu }
La instrucción \addlyrics
no puede manejar situaciones de
polifonía. Para estos casos tendrá que usar \lyricsto
y
\lyricmode
, tal y como se explicará en Explicación de la letra.
Trabajar con el texto y las variables
Para definir identificadores que contengan texto, se debe usar la
función \lyricmode
. Si embargo no tendrá que escribir las
duraciones, si añade \addlyrics
o \lyricsto
en el
momento de invocar el identificador.
verseOne = \lyricmode { Joy to the world the Lord is come } \score { << \new Voice = "one" \relative c'' { \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 } \addlyrics { \verseOne } >> }
Para arreglos distintos o más complejos, la mejor forma es preparar previamente la jerarquía de pautas y textos, p.ej.:
\new ChoirStaff << \new Voice = "soprano" { música } \new Lyrics = "textoSoprano" { s1 } \new Lyrics = "textoTenor" { s1 } \new Voice = "tenor" { música } >>
y después combinar las melodías y líneas de texto correspondientes:
\context Lyrics = textoSoprano \lyricsto "soprano" el texto
El código de entrada definitivo sería algo como
<<\new ChoirStaff << prepare la música >> \lyricsto "soprano" etc \lyricsto "alto" etc etc >>
Véase también
Referencia de funcionamiento interno: LyricCombineMusic, Lyrics.
2.1.3 Alineación de la letra a una melodía
La alineación del texto con las melodías se puede hacer automáticamente, pero si especificamos las duraciones de las sílabas también puede hacerse de forma manual. La alineación y el tipografiado de la letra se preparan con la ayuda de saltos o skips, guiones y líneas extensoras.
La letra se imprime a través de su interpretación dentro del contexto
llamado Lyrics
; véase
Lyrics para más información.
\new Lyrics \lyricmode …
Existen dos métodos principales para especificar la colocación horizontal de las sílabas:
-
alineando automáticamente el texto a una melodía o a otra voz,
utilizando
\addlyrics
o\lyricsto
-
o especificando la duración de cada sílaba explícitamente, utilizando
\lyricmode
El contexto Voice
que contiene la melodía con la que se está
alineando la letra no debe haber “muerto”, o se perderá la letra
después de ese punto. Esto puede ocurrir si existen períodos en los
que dicha voz no tiene nada que hacer. Para ver métodos de mantener
vivos los contextos, consulte Mantener vivos los contextos.
Duración automática de las sílabas | ||
Duración manual de las sílabas | ||
Varias sílabas sobre una nota | ||
Varias notas sobre una sílaba | ||
Saltar notas | ||
Líneas de extensión y guiones | ||
Letras y repeticiones |
Duración automática de las sílabas
La letra se puede alinear automáticamente bajo una melodía dada. Esto
se consigue combinando la melodía y el texto con la expresión
\lyricsto
\new Lyrics \lyricsto nombre …
Esto alinea la letra a las notas del contexto de Voice
llamado nombre, que debe existir previamente. Por ello la
Voice
normalmente se especifica en primer lugar, y después se
especifica la letra con \lyricsto
. La instrucción
\lyricsto
cambia automáticamente al modo \lyricmode
, por
lo que la palabra clave \lyricmode
se puede omitir.
El ejemplo siguiente utiliza comandos diferentes para introducir la letra.
<< \new Voice = "one" \relative c'' { \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 } % not recommended: left-aligned syllables \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 } % wrong: durations needed \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. } %correct \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. } >>
El segundo verso no está bien alineado porque las duraciones
no se han especificado. Una solución para eso sería usar \lyricsto
.
El comando \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 }
Duración manual de las sílabas
El texto también se puede introducir sin \addlyrics
ni
\lyricsto
. En este caso, las sílabas se escriben como notas
(pero con las alturas sustituidas por texto) y la duración de cada
sílaba se debe escribir explícitamente. Por ejemplo:
play2 the4 game2. sink2 or4 swim2.
La alineación respecto de una melodía se puede especificar con la
propiedad associatedVoice
,
\set associatedVoice = #"lala"
El valor de la propiedad (aquí: "lala"
) ha de ser el nombre de
un contexto de Voice
. Sin este ajuste, las líneas de
extensión no se formatearán correctamente.
Presentamos a continuación un ejemplo que muestra el uso de las duraciones manuales de las sílabas del texto:
<< \new Voice = "melody" { \time 3/4 c2 e4 g2. } \new Lyrics \lyricmode { \set associatedVoice = #"melody" play2 the4 game2. } >>
Véase también
Referencia de la notación: Mantener vivos los contextos.
Referencia de funcionamiento interno: Lyrics, Voice.
Varias sílabas sobre una nota
Para asignar más de una sílaba a una sola nota, puede encerrarlas
entre comillas o utilizar un guión bajo (_
), para dejar
espacios entre las sílabas, o usar el símbolo de tilde curva
(~
) para obtener una ligadura en el texto1.
\time 3/4 \relative c' { c2 e4 g2 e4 } \addlyrics { gran- de_a- mi- go } \addlyrics { pu- "ro y ho-" nes- to } \addlyrics { pu- ro~y~ho- nes- to }
Véase también
Referencia de funcionamiento interno: LyricCombineMusic.
Varias notas sobre una sílaba
A veces, y sobre todo en la música medieval, varias notas se cantan sobre una sílaba única; tales vocalizaciones reciben el nombre de melismas, o melismata.
Podemos definir los melismas completamente dentro de la letra,
escribiendo un guión bajo _
por cada nota que se quiere añadir
al melisma.
Además, podemos hacer que se imprima una línea extensora para indicar el melisma en la partitura, escribiendo un doble guión bajo junto a la primera sílaba del melisma. Este ejemplo presenta los tres elementos que se usan con este fin (todos ellos circundados por espacios): guiones dobles para separar las sílabas de una palabra, guiones bajos para añadir notas al melisma, y un doble guión bajo para poner una línea extensora.
{ \set melismaBusyProperties = #'() c d( e) f f( e) e e } \addlyrics { Ky -- _ _ ri __ _ _ _ e }
En este caso también podemos tener ligaduras de unión y de expresión
en la melodía, si establecemos melismaBusyProperties
, como se
hizo en el ejemplo anterior.
Sin embargo la instrucción \lyricsto
también puede detectar los
melismas automáticamente: sólo pone una sílaba debajo de un grupo de
notas unidas mediante ligadura de unión o de expresión. Si quiere
forzar que un grupo de notas sin ligadura sea un melisma, inserte
\melisma
después de la primera nota del grupo, y
\melismaEnd
después de la última, p.ej.:
<< \new Voice = "lala" { \time 3/4 f4 g8 \melisma f e f \melismaEnd e2 } \new Lyrics \lyricsto "lala" { la di __ daah } >>
Además, las notas se consideran un melisma si están unidas manualmente mediante una barra, y el barrado automático (véase Establecer el comportamiento de las barras automáticas) está desactivado.
<< \new Voice = "lala" { \time 3/4 \autoBeamOff f4 g8[ f e f] e2 } \new Lyrics \lyricsto "lala" { la di __ daah } >>
Hay un ejemplo completo de una disposición de partitura SATB en Conjuntos vocales.
Instrucciones predefinidas
Advertencias y problemas conocidos
Los melismas no se detectan automáticamente, y las líneas de extensión se deben insertar a mano.
Saltar notas
Se puede conseguir que una línea de letra progrese más lentamente que
la melodía, mediante la inserción de desplazamientos o \skip
s
en la letra. Por cada \skip
, el texto se retrasa en una nota.
La instrucción \skip
debe ir seguida de una duración válida,
pero esta duración se ignora cuando se usa \skip
en las letras.
\relative c' { c c g' } \addlyrics { twin -- \skip 4 kle }
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Saltar notas ] | [ Subir : Alineación de la letra a una melodía ] | [ Letras y repeticiones > ] |
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 la
minimum-distance
(distancia mínima entre las dos sílabas) y la
minimum-length
(umbral por debajo del cual se suprimen los
guiones).
Véase también
Referencia de funcionamiento interno: LyricExtender, LyricHyphen.
Letras y repeticiones
Continuará...
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Letras y repeticiones ] | [ Subir : Música vocal ] | [ Letras en divisi > ] |
2.1.4 Usos específicos de la letra
A menudo se aplican a una melodía distintos versos de una canción de
formas ligeramente distintas. Tales variantes pueden aún captarse
mediante \lyricsto
.
Letras en divisi | ||
Letra independiente de las notas | ||
Espaciado de las sílabas | ||
Centrado de la letra entre pentagramas |
Letras en divisi
Puede presentar letras alternativas (o divisi) nombrando contextos de voz y aplicando la letra a los mencionados contextos específicos.
\score{ << \new Voice = "melody" { \relative c' { c4 << { \voiceOne c8 e } \new Voice = "splitpart" { \voiceTwo c4 } >> \oneVoice c4 c | c } } \new Lyrics \lyricsto "melody" { we shall not o- ver- come } \new Lyrics \lyricsto "splitpart" { will } >> }
Puede usar este truco para presentar las distintas letras de una sección que se repite.
\score{ << \new Voice = "melody" \relative c' { c2 e | g e | c1 | \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | } a2 b | c1} \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode { do mi sol mi do la si do } \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode { do re mi fa sol } \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode { dodo rere mimi fafa solsol } >> }
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Letras en divisi ] | [ Subir : Usos específicos de la letra ] | [ Espaciado de las sílabas > ] |
Letra independiente de las notas
En cierta música vocal compleja, podría ser deseable colocar la letra
de forma totalmente independiente de las notas. La música que se
define dentro de lyricrhythm
desaparece dentro del contexto
Devnull
, pero los valores rítmicos aún se pueden utilizar para
colocar la letra.
voice = { c''2 \tag #'music { c''2 } \tag #'lyricrhythm { c''4. c''8 } d''1 } lyr = \lyricmode { I like my cat! } << \new Staff \keepWithTag #'music \voice \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice \new Lyrics \lyricsto "nowhere" \lyr \new Staff { c'8 c' c' c' c' c' c' c' c' c' c' c' c' c' c' c' } >>
Sólo se recomienda este método si la música que está en el contexto
Devnull
no contiene melismas. Los melismas están definidos por
el contexto Voice
. La conexión de la letra a un contexto
Devnull
hace que se pierdan los enlaces entre la voz y las
sílabas, y también la información relativa a los melismas. Por tanto,
si enlazamos la letra a un contexto Devnull
, los melismas
implícitos se ignoran.
Espaciado de las sílabas
Para aumentar el espaciado entre las sílabas de la letra, establezca
la propiedad minimum-distance
de LyricSpace
.
{ 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 que este cambio sea válido para la letra de la partitura completa, establezca la propiedad dentro del ‘layout’ o disposición.
\score { \relative c' { 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
La comprobación que asegura que las inscripciones de texto y la letra de las canciones se mantienen dentro de los márgenes, es una tarea computacional relativamente costosa. Para acelerar el procesado, LilyPond no hace tales cálculos de forma predeterminada; para habilitarlos, utilice
\override Score.PaperColumn #'keep-inside-line = ##t
Para hacer también que las sílabas de la letra eviten las barras de compás, use
\layout { \context { \Lyrics \consists "Bar_engraver" \consists "Separating_line_group_engraver" \override BarLine #'transparent = ##t } }
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Espaciado de las sílabas ] | [ Subir : Usos específicos de la letra ] | [ Versos > ] |
Centrado de la letra entre pentagramas
Continuará...
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Centrado de la letra entre pentagramas ] | [ Subir : Música vocal ] | [ Añadir números de verso > ] |
2.1.5 Versos
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Versos ] | [ Subir : 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 { \time 3/4 g2 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.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Añadir números de verso ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Añadir expresiones dinámicas a los versos ] | [ Subir : 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 { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { \set vocalName = #"Bert " Hi, my name is Bert. } \addlyrics { \set vocalName = #"Ernie " Oh, ché -- ri, je t'aime }
Versos con ritmos distintos
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 c' \new Voice = "lahlah" { \set Staff.autoBeaming = ##f c4 \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:
\relative c' { f4 \appoggiatura a32 b4 \grace { f16[ a16] } b2 \afterGrace b2 { f16[ a16] } \appoggiatura a32 b4 \acciaccatura a8 b4 } \addlyrics { 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. Para el caso de una nota de adorno
al comienzo mismo de una pieza, considere la posibilidad de 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 disposición del texto.
Se puede cambiar la melodía para una línea de la letra durante el
texto. Esto se hace estableciendo la propiedad
associatedVoice
. En el ejemplo
el texto del primer verso se aplica a una melodía llamada ‘lahlah’,
\new Lyrics \lyricsto "lahlah" { Ju -- ras -- sic Park }
El segundo verso se aplica en principio al contexto de lahlah
,
pero para la sílaba ‘ran’, cambia a una melodía diferente. Esto se
consigue con
\set associatedVoice = alternative
Aquí, alternative
es el nombre del contexto de Voice
que
contiene el tresillo.
La instrucción debe ir una sílaba antes de la cuenta, antes de ‘Ty’ en este caso. En otras palabras, el cambio en la voz asociada associatedVoice se produce un paso más tarde de lo que se espera. Esto es así por razones técnicas, y no es un fallo del programa.
\new Lyrics \lyricsto "lahlah" { \set associatedVoice = alternative % se aplica al "ran" Ty -- ran -- no -- \set associatedVoice = lahlah % se aplica al "rus" sau -- rus Rex }
La disposición se vuelve a cambiar a la situación inicial mediante la
asignación de lahlah
a associatedVoice
.
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 c' { 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." }
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' { c 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." } } \hspace #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; % if they are still too close, add more " " pairs % until the result looks good \column { \line { \bold "4." \column { "This is verse four." "It has two lines." } } \hspace #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.
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 | ||
Plicas de pentagrama cruzado |
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.
- 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: 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.
Advertencias y problemas conocidos
Los matices no se colocan centrados, pero se pueden utilizar ciertas
alternativas. Una opción es la plantilla ‘piano con matices
centrados’ que está en
Plantillas de piano; otra opción es
aumentar el relleno (staff-padding
) de los matices como se
estudia en
Mover objetos.
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.
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.
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.
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 } }
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 c' { 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.
Referencia de funcionamiento interno: AutoChangeMusic.
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.
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 c1 \change Staff = "two" b2 a } \new Staff = "two" { \clef bass s1*2 } >>
Instrucciones predefinidas
\showStaffSwitch
,
\hideStaffSwitch
.
Véase también
Fragmentos de código: Keyboards.
Referencia de funcionamiento interno: Note_head_line_engraver, VoiceFollower.
Plicas de pentagrama cruzado
Se pueden hacer acordes que cruzan los pentagramas:
\new PianoStaff << \new Staff { \relative c' { f8 e4 d8 d f e4 } } \new Staff { \relative c' { << { \clef bass % stems may overlap the other staff \override Stem #'cross-staff = ##t % extend the stems to reach the other staff \override Stem #'length = #12 % do not print extra flags \override Stem #'flag-style = #'no-flag % prevent beaming as needed a8 g4 f8 f bes\noBeam g4 } \\ { f,2 bes4 c } >> } } >>
Fragmentos de código seleccionados
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Piano ] | [ Subir : 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.
c4\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.
c4\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.
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.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Acordeón ] | [ Subir : 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 se ha venido en usar un sistema de signos para simplificar las instrucciones de ejecución.
Fragmentos de código seleccionados
Símbolos de acordeón discanto
Los símbolos específicos de acordeón discanto se escriben mediante
\markup
. Se puede trucar la colocación vertical de los
símbolos modificando los argumentos de \raise
.
discant = \markup { \musicglyph #"accordion.accDiscant" } dot = \markup { \musicglyph #"accordion.accDot" } \layout { ragged-right = ##t } % 16 voets register accBasson = ^\markup { \combine \discant \raise #0.5 \dot } % een korig 8 en 16 voets register accBandon = ^\markup { \combine \discant \combine \raise #0.5 \dot \raise #1.5 \dot } accVCello = ^\markup { \combine \discant \combine \raise #0.5 \dot \combine \raise #1.5 \dot \translate #'(1 . 0) \raise #1.5 \dot } % 4-8-16 voets register accHarmon = ^\markup { \combine \discant \combine \raise #0.5 \dot \combine \raise #1.5 \dot \raise #2.5 \dot } accTrombon = ^\markup { \combine \discant \combine \raise #0.5 \dot \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \translate #'(-1 . 0) \raise #1.5 \dot } % eenkorig 4 en 16 voets register accOrgan = ^\markup { \combine \discant \combine \raise #0.5 \dot \raise #2.5 \dot } accMaster = ^\markup { \combine \discant \combine \raise #0.5 \dot \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \combine \translate #'(-1 . 0) \raise #1.5 \dot \raise #2.5 \dot } accAccord = ^\markup { \combine \discant \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \combine \translate #'(-1 . 0) \raise #1.5 \dot \raise #2.5 \dot } accMusette = ^\markup { \combine \discant \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \translate #'(-1 . 0) \raise #1.5 \dot } accCeleste = ^\markup { \combine \discant \combine \raise #1.5 \dot \translate #'(-1 . 0) \raise #1.5 \dot } accOboe = ^\markup { \combine \discant \combine \raise #1.5 \dot \raise #2.5 \dot } accClarin = ^\markup { \combine \discant \raise #1.5 \dot } accPiccolo = ^\markup { \combine \discant \raise #2.5 \dot } accViolin = ^\markup { \combine \discant \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \raise #2.5 \dot } \relative c'' { c4 d\accBasson e f c4 d\accBandon e f c4 d\accVCello e f c4 d\accHarmon e f c4 d\accTrombon e f \break c4 d\accOrgan e f c4 d\accMaster e f c4 d\accAccord e f c4 d\accMusette e f c4 d\accCeleste e f \break c4 d\accOboe e f c4 d\accClarin e f c4 d\accPiccolo e f c4 d\accViolin e f }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Arpa ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Referencias para notación de arpa ] | [ Subir : 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 cis1_\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 cis1_\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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Pedales de arpa ] | [ Subir : 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.
- 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 una plantilla para cuarteto de cuerda en Cuarteto de cuerda. Otras se muestran en la sección de fragmentos de código.
Véase también
Manual de aprendizaje: 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.
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:
c4(\downbow d) e(\upbow f)
y el ejemplo siguiente muestra tres formas distintas de indicar un La sobre una cuerda al aire del violín:
a4 \open a^\markup { \teeny "II" } a2^\markup { \small "sul A" }
Instrucciones predefinidas
\downbow
,
\upbow
,
\open
.
Véase también
Referencia de la notación: Articulaciones y ornamentos, Ligaduras de expresión.
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.
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:
d2^\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.
<e a\harmonic>2. <c g'\harmonic>4 \set harmonicDots = ##t <e a\harmonic>2. <c g'\harmonic>4
Nota: \harmonic
se debe colocar dentro de una
construcción de acorde incluso si solamente hay una nota. Normalmente
se usaría \harmonicsOn
en esta situación.
Véase también
Glosario musical: harmonics.
Referencia de la notación: Cabezas de nota especiales, Referencias para cuerdas sin trastes.
Snap (Bartók) pizzicato
Fragmentos de código seleccionados
Marca de pizzicato de chasquido (‘pizzicato de Bartók’)
El pizzicato de chasquido (también llamado ‘Pizzicato de Bartók’) es un ‘pizzicato fuerte en que la cuerda se pulsa verticalmente produciendo un chasquido y rebotando en el diapasón del instrumento’ (Wikipedia). Se denota mediante una circunferencia con una línea vertical corta que parte del centro de aquélla hacia fuera. Aunque LilyPond no tiene ninguna instrucción predefinida para crear esta marca, es fácil hacer la definición y colocarla directamente en el archivo de lilypond.
\relative c' { c4\snappizzicato <c' e g>4\snappizzicato <c' e g>4^\snappizzicato <c, e g>4_\snappizzicato }
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.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 dentro de una construcción de
acorde (<>
).
Nota: Los números de cuerda se deben definir dentro de una construcción de acorde con ángulos simples, incluso si se trata de una sola nota.
\clef "treble_8" <c\5>4 <e\4> <g\3>2 <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 controla por el orden en que aparecen estos elementos en el código:
\clef "treble_8" <g\3-0>2 <g-0\3>
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 una construcción de acorde <> aunque sea una sola nota.
\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 }
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. Nota: se debe usar una construcción de acorde <>, aunque sea una sola nota.
\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> }
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 que indican sobre qué cuerda y traste se debe tocar la nota. Los números se imprimen verticalmente unos encima de otros si las notas son simultáneas.
De forma predeterminada, la cuerda 1 es la más aguda, y la afinación
normal 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 c' { a,8 a' <c e> a d, 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 ~ c2\! 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 ~ c2\! 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 definimos los nombres de
nota y los números de cuerda sin una construcción de acorde
(<>
), las indicaciones de número de cuerda no aparecerán en la
notación tradicional. Es mucho más cómodo definir la posición
utilizando el valor de minimumFret
. El valor predeterminado de
es 0.
\new StaffGroup << \new Staff \relative c { \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 c { c16 d e f g4 c,16\5 d\5 e\4 f\4 g4\4 \set TabStaff.minimumFret = #5 c,16 d e f g4 } >>
Las construcciones de acorde se pueden repetir mediante el símbolo de
repetición de acordes q
. Para utilizar esta posibilidad en
combinación con la tablatura, se proporciona
\tabChordRepetition
, que preserva la información de cuerdas
dada explícitamente dentro de las construcciones de acorde, de forma
que los acordes repetidos den lugar a representaciones de tablatura
idénticas.
\tabChordRepetition guitar = \relative c' { r8 < gis\4 cis\3 b\2 > ~ q4 q8 ~ q q4 } \new StaffGroup << \new Staff { \clef "treble_8" \override Voice.StringNumber #'transparent = ##t \guitar } \new TabStaff { \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 c' { \repeat volta 2 { e2. f4~ f2 g2~ } \alternative { { g4 f2. } { g4\repeatTie c,2. } } b1~ \break b1 \bar "|." } \score { << \new StaffGroup << \context Staff { \clef "treble_8" \ties } \context 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 c' { \repeat volta 2 { e2. f4~ f2 g2~ } \alternative { { g4 f2. } { g4\repeatTie c,2. } } b1~ \break b1 \bar "|." } \score { << \new StaffGroup << \context Staff { \clef "treble_8" \ties } \context TabStaff { \hideSplitTiedTabNotes \ties } >> >> \layout { indent = #0 ragged-right = ##t } }
Se pueden añadir indicaciones de armónicos y slides o deslizamientos a la notación de tablatura.
\new TabStaff { \new TabVoice { <c g'\harmonic> d\2\glissando e\2 } }
Fragmentos de código seleccionados
Comportamiento de las plicas y las barras de corchea en tablaturas
La dirección de las plicas se contola 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 #'damping = #+inf.0 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" \context Voice = "upper" \upper \context Voice = "lower" \lower >> \new TabStaff = "guitar tab" << \context TabVoice = "upper" \upper \context TabVoice = "lower" \lower >> >> >> }
Véase también
Referencia de la notación: Plicas.
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 y el ukelele. 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 Staff { \clef "bass_8" \relative c, { c4 d e f } } \new TabStaff { \set TabStaff.stringTunings = #bass-tuning \relative c, { c4 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
scm/tablature.scm
.
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 en una lista de afinación de cuerdas es el intervalo que forma la cuerda al aire con el Do central, medido en semitonos. La altura debe ser un número entero. LilyPond calcula la altura real de la cuerda añadiendo la altura de la afinación a la altura real del Do central.
LilyPond calcula automáticamente el número de cuerdas de la pauta
TabStaff
como el número de elementos de la lista
stringTunings
.
Se puede crear cualquier afinación de cuerdas deseada. 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 TabStaff.stringTunings = #'(21 14 7 0) \mynotes } >>
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.
Véase también
Archivos de inicio: ‘scm/tablature.scm’.
Fragmentos de código: Fretted strings.
Referencia de funcionamiento interno: Tab_note_heads_engraver.
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 los interfaces de marcado en Text markup commands.
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).
<< \context ChordNames { \chordmode { c1 d:m } } \context 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'> ^\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.
<< \context ChordNames { \chordmode { f1 g } } \context 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'> ^\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
.
<< \context ChordNames { \chordmode { f1 g } } \context 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'> ^\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.
<< \context ChordNames { \chordmode { a1 } } \context 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.
<< \context ChordNames { \chordmode { c1 d:m } } \context 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'> ^\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
.
<< \context ChordNames { \chordmode { c1 d:m } } \context 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'> ^\markup \fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;" } >>
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.
<< \context ChordNames { \chordmode { c1 d:m } } \context Staff { \clef "treble_8" < c e g c' e' > 1 ^\markup \fret-diagram-terse #"x;3;2;o;1;o;" < d a d' f'> ^\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
.
<< \context ChordNames { \chordmode { f1 g } } \context 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'> ^\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
<< \context ChordNames { \chordmode { c1 d:m } } \context 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'> ^\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.
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.
<< \context ChordNames { \chordmode { c1 d:m } } \context 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'> ^\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.
<< \context ChordNames { \chordmode { f1 g c } } \context 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'> ^\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 e g c' e'> ^\markup \fret-diagram-verbose #'( (capo 3) (mute 6) (place-fret 4 5 1) (place-fret 3 5 2) (place-fret 2 5 3) ) } >>
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
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: Text markup commands.
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" \context 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 stringTunings = #ukulele-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" \context 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 } << \context ChordNames { \mychords } \context 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} } << \context ChordNames { \mychordlist } \context 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 } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Se pueden añadir diagramas de posiciones a la tabla de diagramas de posiciones. Para añadir un diagrama debemos especificar el acorde del diagrama, la afinación utilizada y una definición del diagrama. 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 \chordmode {c:maj9} #guitar-tuning #"x;3-2;o;o;o;o;" mychords = \chordmode{ c1 c:maj9 } << \context ChordNames { \mychords } \context 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 \chordmode {c''} #guitar-tuning #(offset-fret 2 (chord-shape 'bes guitar-tuning)) mychords = \chordmode{ c1 c'' } << \context ChordNames { \mychords } \context 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 \chordmode {f''} #guitar-tuning #(chord-shape 'powerf guitar-tuning) \storePredefinedDiagram \chordmode {g''} #guitar-tuning #(offset-fret 2 (chord-shape 'powerf guitar-tuning)) mychords = \chordmode{ f1 f'' g g'' } << \context ChordNames { \mychords } \context 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 \chordmode { c' } #guitar-tuning #"x;1-1-(;3-2;3-3;3-4;1-1-);" << \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 \once \override FretBoard #'size = #'1.0 \once \override FretBoard #'(fret-diagram-details barre-type) = #'straight \once \override FretBoard #'(fret-diagram-details dot-color) = #'black \once \override FretBoard #'(fret-diagram-details finger-code) = #'below-string c' \once \override FretBoard #'(fret-diagram-details barre-type) = #'none \once \override FretBoard #'(fret-diagram-details number-type) = #'arabic \once \override FretBoard #'(fret-diagram-details orientation) = #'landscape \once \override FretBoard #'(fret-diagram-details mute-string) = #"M" \once \override FretBoard #'(fret-diagram-details label-dir) = #LEFT \once \override FretBoard #'(fret-diagram-details dot-color) = #'black c' \once \override FretBoard #'(fret-diagram-details finger-code) = #'below-string \once \override FretBoard #'(fret-diagram-details dot-radius) = #0.35 \once \override FretBoard #'(fret-diagram-details dot-position) = #0.5 \once \override 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 = #'(11 18 14 9) 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 \dSix #cuatroTuning #"o;o;o;o;" \storePredefinedDiagram \dMajor #cuatroTuning #"o;o;o;3-3;" \storePredefinedDiagram \aMajSeven #cuatroTuning #"o;2-2;1-1;2-3;" \storePredefinedDiagram \dMajSeven #cuatroTuning #"o;o;o;1-1;" \storePredefinedDiagram \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 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 = #(ly:make-moment 1 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" myChords = \chordmode { c1 c1 \break \set chordChanges = ##t c1 c1 \break c1 c1 \break } << \new ChordNames { \myChords } \new FretBoards { \myChords } \new Staff { \myChords } >>
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’.
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.
<< \context ChordNames { \chordmode { f1 g } } \context FretBoards { < f, c f a c' f'>1 < g,\6 b, d g b g'> } \context Staff { \clef "treble_8" < f, c f a c' f'>1 < g, b, d g b' g'> } >>
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 <c e g c' e'> #guitar-tuning #"x;3-1-(;5-2;5-3;5-4;3-1-1);" << \context ChordNames { \chordmode { c1 c c } } \context FretBoards { <c e g c' e'>1 \predefinedFretboardsOff <c e g c' e'> \predefinedFretboardsOn <c e g c' e'> } \context Staff { \clef "treble_8" <c e g c' e'>1 <c e g c' e'> <c e g c' e'> } >>
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.
<< \context ChordNames { \chordmode { c1 d:m } } \context FretBoards { < c-3 e-2 g c'-1 e' > 1 < d a-2 d'-3 f'-1> } \context Staff { \clef "treble_8" < c e g c' e' > 1 < d a d' f'> } >>
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
.
<< \context ChordNames { \chordmode { d1:m d:m } } \context FretBoards { < d a d' f'> \set FretBoards.minimumFret = #5 < d a d' f'> } \context Staff { \clef "treble_8" < d a d' f'> < d a d' f'> } >>
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.
Digitaciones de la mano derecha
Las digitaciones de la mano derecha p-i-m-a se deben introducir
dentro de una construcción de acorde <>
para que se impriman en
la partitura, incluso si se aplican a una nota suelta.
Nota: Debe haber un guión antes de
\rightHandFinger
y un espacio antes del ángulo de cierre
>
.
\clef "treble_8" <c-\rightHandFinger #1 >4 <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
:
#(define 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. Nota: se debe usar una construcción de acorde.
#(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 }
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 |
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Guitarra ] | [ Subir : 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:
\clef "treble_8" b16 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Indicar la posición y la cejilla ] | [ Subir : Guitarra ] | [ Banjo > ] |
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 c' { \clef "treble_8" \override Staff.NoteHead #'style = #'harmonic-mixed d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1 }
Las notas tapadas (llamadas también notas muertas) están contempladas dentro de los pentagramas normales y de tablatura:
music = \relative c' { < a\3 \deadNote c\2 a'\1 >4 < b\3 \deadNote d\2 b'\1 > < c\3 \deadNote e\2 c'\1 > \deadNotesOn \times 2/3 { 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.u2do" = 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.
2.4.3 Banjo
Tablaturas de banjo |
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Banjo ] | [ Subir : Banjo ] | [ Percusión > ] |
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:
\new TabStaff << \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo \set TabStaff.stringTunings = #banjo-open-g-tuning { \stemDown g8 d' g'\5 a b g e d' | g4 d''8\5 b' a'\2 g'\5 e'\2 d' | g4 } >>
En LilyPond se encuentran predefinidas varias afinaciones comunes para
el banjo: 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 bajo de
cuatro cuerdas utilizando la función four-string-banjo
:
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
Véase también
Fragmentos de código: Fretted strings.
Archivos de inicio: ‘scm/output-lib.scm’ contiene las afinaciones predefinidas para el banjo.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Tablaturas de banjo ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Percusión ] | [ Subir : 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 |
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 Percusión en MIDI.
Véase también
Referencia de la notación: Mostrar los ritmos de la melodía, Crear instancias de pentagramas nuevos. Percusión en MIDI.
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Referencias para percusión ] | [ Subir : 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 treble hh4 hh hh hh \break \clef percussion bd4 bd bd bd }
Hay ciertos detalles respecto a cómo está contemplado el MIDI para los instrumentos de percusión; para ver los detalles consulte Percusión en MIDI.
Véase también
Referencia de la notación: Percusión en MIDI, Notas de percusión.
Archivos de inicio: ‘ly/drumpitch-init.ly’.
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Notación básica de percusión ] | [ Subir : 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,
:32
, véase Repeticiones de trémolo. He aquí un ejemplo de
redobles de caja:
\drums { \time 2/4 sn16 sn8 sn16 sn8 sn8:32 ~ sn8 sn8 sn4:32 ~ sn4 sn8 sn16 sn16 sn4 r4 }
Los golpes de baqueta se pueden indicar mediante la colocación de
^"R"
o ^"L"
después de la nota. La propiedad
staff-padding
se puede sobreescribir para conseguir una línea
de base satisfactoria.
\drums { \repeat unfold 2 { sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R" } }
Véase también
Fragmentos de código: Percussion.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Redobles ] | [ Subir : 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: Percusión en MIDI.
Fragmentos de código: Percussion.
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. Tipografía un típico set de percusión 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
.-
timbales-style
Esto tipografía timbales en una pauta de dos líneas:
-
congas-style
Esto tipografía congas en una pauta de dos líneas:
-
bongos-style
Esto tipografía bongos sobre una pauta de dos líneas:
-
percussion-style
Para tipografiar toda clase de percusiones simples sobre pautas de una línea:
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Pautas de percusión ] | [ Subir : Notación común para percusión ] | [ Notas fantasma > ] |
Pautas de percusión personalizadas
Si no le gusta ninguna de las listas predefinidas, puede definir su propia lista al principio de su archivo
#(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 } >>
Fragmentos de código seleccionados
He aquí algunos ejemplos adicionales:
Dos bloques de madera, escritos con wbh (woodblock-high, bloque alto) y wbl (woodblock-low bloque bajo)
% These lines define the position of the woodblocks in the stave; % if you like, you can change it or you can use special note heads % for the woodblocks. #(define mydrums '((hiwoodblock default #t 3) (lowoodblock default #t -2))) woodstaff = { % This defines a staff with only two lines. % It also defines the positions of the two lines. \override Staff.StaffSymbol #'line-positions = #'(-2 3) % This is neccessary; if not entered, the barline would be too short! \override Staff.BarLine #'bar-size = #3 } \new DrumStaff { \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) % with this you load your new drum style table \woodstaff \drummode { \time 2/4 wbl8 wbl16 wbl wbh8-> wbl | wbl8 wbl16 wbh-> ~ wbh wbl16 r8 | } }
Observe que en este caso especial se debe alterar la longitud de la
línea divisoria con \override Staff.BarLine #'bar-size #number
.
En caso contrario resulta demasiado corta. También debe definir las
posiciones de las dos líneas del pentagrama. Para más información
sobre estos delicados asuntos, consulte El símbolo del pentagrama.
Una pandereta, escrita mediante ‘tamb’ (tambourine):
#(define mydrums '((tambourine default #t 0))) tambustaff = { \override Staff.StaffSymbol #'line-positions = #'( 0 ) \override Staff.BarLine #'bar-size = #3 \set DrumStaff.instrumentName = #"Tambourine" } \new DrumStaff { \tambustaff \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drummode { \time 6/8 tamb8. tamb16 tamb8 tamb tamb tamb | tamb4. tamb8 tamb tamb | % the trick with the scaled duration and the shorter rest % is neccessary for the correct ending of the trill-span! tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan | } }
Música para gong, introducida con ‘tt’ (tam-tam):
#(define mydrums '((tamtam default #t 0))) tamtamstaff = { \override Staff.StaffSymbol #'line-positions = #'( 0 ) \override Staff.BarLine #'bar-size = #3 \set DrumStaff.instrumentName = #"Tamtam" } \new DrumStaff { \tamtamstaff \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drummode { tt 1 \pp \laissezVibrer } }
Dos campanas, introducidas con ‘cb’ (cowbell, cencerro) y ‘rb’ (ridebell, campana normal)
#(define mydrums '((ridebell default #t 3) (cowbell default #t -2))) bellstaff = { \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3) \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \override Staff.BarLine #'bar-size = #3 \set DrumStaff.instrumentName = #"Different Bells" } \new DrumStaff { \bellstaff \drummode { \time 2/4 rb8 rb cb cb16 rb-> ~ | rb16 rb8 rb16 cb8 cb | } }
Aquí un breve ejemplo procedente de la ‘Historia del soldado’ de Stravinsky:
#(define mydrums '((bassdrum default #t 4) (snare default #t -4) (tambourine default #t 0))) global = { \time 3/8 s4. \time 2/4 s2*2 \time 3/8 s4. \time 2/4 s2 } drumsA = { \context DrumVoice << { \global } { \drummode { \autoBeamOff \stemDown sn8 \stemUp tamb s8 | sn4 \stemDown sn4 | \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 | \stemDown sn8 \stemUp tamb s8 | \stemUp sn4 s8 \stemUp tamb } } >> } drumsB = { \drummode { s4 bd8 s2*2 s4 bd8 s4 bd8 s8 } } \layout { indent = #40 } \score { \new StaffGroup << \new DrumStaff { \set DrumStaff.instrumentName = \markup { \column { "Tambourine" "et" "caisse claire s. timbre" } } \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drumsA } \new DrumStaff { \set DrumStaff.instrumentName = #"Grosse Caisse" \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drumsB } >> }
Véase también
Fragmentos de código: Percussion.
Referencia de funcionamiento interno: DrumStaff, DrumVoice.
Notas fantasma
Las notas fantasma para la batería e instrumentos de percusión se
pueden crear utilizando la instrucción \parenthesize
detallada
en Paréntesis. Sin embargo, el modo por defecto
\drummode
no incluye el complemento grabador
Parenthesis_engraver
que permite esto.
\new DrumStaff \with { \consists "Parenthesis_engraver" } << \context DrumVoice = "1" { s1 } \context DrumVoice = "2" { s1 } \drummode { << { hh8[ hh] <hh sn> hh16 < \parenthesize sn > hh < \parenthesize sn > hh8 <hh sn> hh } \\ { bd4 r4 bd8 bd r8 bd } >> } >>
Observe, además, que debe añadir acordes (paréntesis en ángulo <
>
) alrededor de cada una de las instrucciones \parenthesize
.
Véase también
Fragmentos de código: Percussion.
2.6 Instrumentos de viento
Esta sección incluye ciertos 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.1 Notación común para instrumentos de viento
Esta sección trata algunos asuntos que son comunes a 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.
Fragmentos de código seleccionados
Cambiar el tamaño de la marca de \flageolet
Para hacer más pequeño el círculo de \flageolet
(armónico)
utilice la siguiente función de Scheme.
smallFlageolet = #(let ((m (make-articulation "flageolet"))) (set! (ly:music-property m 'tweaks) (acons 'font-size -3 (ly:music-property m 'tweaks))) m) \layout { ragged-right = ##f } \relative c'' { d4^\flageolet_\markup { default size } d_\flageolet c4^\smallFlageolet_\markup { smaller } c_\smallFlageolet }
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.
Digitaciones
Todos los instrumentos de viento aparte del trombón requieren el uso de los distintos dedos para producir cada nota.
Fragmentos de código seleccionados
Fingering symbols for wind instruments
Special symbols can be achieved by combining existing glyphs, which is useful for wind instruments.
centermarkup = { \once \override TextScript #'self-alignment-X = #CENTER \once \override TextScript #'X-offset =#(ly:make-simple-closure `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-x-parent)) ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self)))) } \score {\relative c' { g\open \once \override TextScript #'staff-padding = #-1.0 \centermarkup g^\markup{\combine \musicglyph #"scripts.open" \musicglyph #"scripts.tenuto"} \centermarkup g^\markup{\combine \musicglyph #"scripts.open" \musicglyph #"scripts.stopped"} g\stopped } }
Recorder fingering chart
The following example demonstrates how fingering charts for wind instruments can be realized.
% range chart for paetzold contrabass recorder centermarkup = { \once \override TextScript #'self-alignment-X = #CENTER \once \override TextScript #'X-offset =#(ly:make-simple-closure `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-x-parent)) ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self)))) } \score { \new Staff \with { \remove "Time_signature_engraver" \override Stem #'stencil = ##f \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
Fragmentos de código: Winds.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Digitaciones ] | [ Subir : Instrumentos de viento ] | [ Definiciones para la gaita > ] |
2.6.2 Gaita
Esta sección contiene información adicional de utilidad para la escritura para gaita.
Definiciones para la gaita | ||
Ejemplo de música de gaita |
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Gaita ] | [ Subir : 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 cflat
o fflat
. De forma parecida, el
sol agudo piobaireachd se puede escribir gflat
cuando aparece en música
ligera.
Véase también
Fragmentos de código: Winds.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Definiciones para la gaita ] | [ Subir : Gaita ] | [ Notación de acordes > ] |
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Ejemplo de música de gaita ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Notación de acordes ] | [ Subir : 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 |
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Modo de acordes ] | [ Subir : 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:
<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
Cuando se mezclan los modos de acorde y de nota en música secuencial,
y el modo de acordes aparece en primer lugar, el modo de notas crea un
nuevo contexto de Staff
.
\chordmode { c2 f } <c e g>2 <g' b d>
Para evitar este comportamiento podemos crear explícitamente el
contexto de Staff
:
\new Staff { \chordmode { c2 f } <c e g>2 <g' b d> }
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Panorámica del modo de acordes ] | [ Subir : 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 |
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Acordes más usuales ] | [ Subir : Modo de acordes ] | [ Imprimir los acordes > ] |
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 }
Observe que c:5
es idéntico a c
(los dos producen una
tríada de Do mayor).
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:5.6 c:3.7.8 c:3.6.13 }
Las notas añadidas pueden ser tan agudas como se desee.
\chordmode { c4:5.15 c:5.20 c:5.25 c: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. sus
equivale a ^3
;
sus4
equivale a .4^3
.
\chordmode { c1:sus c:sus2 c:sus4 c:5.4^3 }
Se pueden especificar las inversiones (colocar en el bajo una nota
distinta de la fundamental del acorde) y notas de bajo añadidas
mediante la adición de /
nota al acorde.
\chordmode { c1 c/g c/f }
Se puede añadir una nota del bajo que forma parte del acorde, en lugar
de ser movida por efecto de una inversión, mediante el uso de
/+
nota.
\chordmode { c1 c/g c/+g }
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: 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:5.5-.5+ }
Sólo se puede crear la segunda inversión mediante la adición de un bajo. La primera inversión requiere cambiar la fundamental del acorde.
\chordmode { c'1: c':/g e:6-3-^5 e:m6-^5 }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Imprimir los acordes ] | [ Subir : 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:
<< \new ChordNames { <c e g>2 <f bes c> <f c' e g>1 \chordmode { c2 f:sus4 c1:/f } } { <c e g>2 <f bes c> <f, c' e g>1 \chordmode { c2 f:sus4 c1:/f } } >>
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 } \new Score \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
Se pueden imprimir los acordes 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 } \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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Impresión de los nombres de acorde ] | [ Subir : 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 bibliográfica Lista bibliográfica). También funcionan otros dos esquemas de nomenclatura de acordes: una notación de acordes de Jazz alternativa y un esquema sistemático llamado Acordes de Banter. La notación de Jazz alternativa también se puede ver en el cuadro Cuadro de nombres de acordes.
Además de los distintos sistemas de nomenclatura, se usan diferentes
nombres de nota para la fundamental en los distintos idiomas. Las
variables predefinidas \germanChords
, \semiGermanChords
,
\italianChords
y \frenchChords
establecen el valor de
estas variables. El efecto se muestra aquí:
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 }
Si ninguno de los ajustes predeterminados proporciona el resultado deseado, 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). -
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 una barra inclinada. Mediante el ajuste de
chordNameSeparator
, podemos usar cualquier marcado que deseemos como separador. -
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. -
chordPrefixSpacer
-
La ‘m’ de los acordes menores se imprime por lo general inmediatamente a la derecha de la fundamental. Se puede insertar un símbolo separador entre la fundamental y ‘m’ estableciendo
chordPrefixSpacer
. 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 } << \context ChordNames \theMusic \context 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-size = #4 \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.
Archivos instalados: ‘scm/chords-ignatzek.scm’, ‘scm/chord-entry.scm’, ‘ly/chord-modifier-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 } >>
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Bajo cifrado ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Introducción al bajo cifrado ] | [ Subir : 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 añadir alteraciones accidentales (incluso becuadros) a las cifras:
\figures { <7! 6+ 4-> <5++> <3--> }
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 espacios verticales y 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 { <6\+> <5+> <6 4-> r \set figuredBassAlterationDirection = #RIGHT <6\+> <5+> <6 4-> r \set figuredBassPlusDirection = #RIGHT <6\+> <5+> <6 4-> r \set figuredBassAlterationDirection = #LEFT <6\+> <5+> <6 4-> r }
Véase también
Fragmentos de código: Chords.
Referencia de funcionamiento interno: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Introducir el bajo cifrado ] | [ Subir : 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'' { c4 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-> } >>
Si se usan líneas extensoras, las cifras adyacentes con el mismo número en distinta colocación puede hacer que se inviertan las posiciones de las cifras.
<< { fis4 g g, e' } \figures { \bassFigureExtendersOn <6 5>4 <5\! 4> < 5 _!> <6> } >>
Para evitar este problema, sencillamente habilite los extensores después de la cifra y quítelos al final de la línea extensora.
<< { fis4 g g, e' } \figures { <6 5>4 <5 4> \bassFigureExtendersOn < 5 _!>4 <6> \bassFigureExtendersOff } >>
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 polimétrica extendida
Barrado en música contemporánea
Líneas divisorias en música contemporánea
2.8.3 Notación gráfica
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Notación gráfica ] | [ Subir : 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
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 y canto gregoriano. 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 la notación mensural o gregoriana.
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:
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Notación antigua ] | [ Subir : 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 pero 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.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Panorámica de los estilos contemplados ] | [ Subir : Notación antigua ] | [ Contextos predefinidos > ] |
2.9.2 Notación antigua - funcionalidades comunes
Contextos predefinidos | ||
Ligaduras | ||
Custos | ||
Soporte para bajo cifrado |
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
.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Contextos predefinidos ] | [ Subir : 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:
\transpose c c' { \[ 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.
Advertencias y problemas conocidos
Las ligaduras necesitan un espaciado especial que aún no se ha desarrollado. Como consecuencia, la mayor parte del tiempo existe una separación excesiva entre las ligaduras, y a menudo los cortes de línea no son satisfactorios. Además, la letra de los cantos no se alinea correctamente con las ligaduras.
Las alteraciones accidentales no se deben imprimir dentro de las ligaduras, sino que deben reunirse e imprimirse juntas delante de ellas.
La sintaxis todavía utiliza el obsoleto estilo infijo \[
expresión_musical \]
. Por motivos de consistencia, esto cambiará
algún día al estilo postfijo nota\[ ... nota\]
.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Ligaduras ] | [ Subir : Notación antigua - funcionalidades comunes ] | [ Soporte para bajo cifrado > ] |
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:
El glifo del custos se selecciona mediante la propiedad style
.
Los estilos contemplados son vaticana
, medicaea
,
hufnagel
y mensural
. Se muestran en el siguiente
fragmento:
Véase también
Referencia de funcionamiento interno: Custos.
Fragmentos de código: Ancient notation.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Custos ] | [ Subir : Notación antigua - funcionalidades comunes ] | [ Tipografiar música mensural > ] |
Soporte para bajo cifrado
Está contemplada de forma limitada la notación de bajo cifrado barroco: véase Bajo cifrado.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Soporte para bajo cifrado ] | [ Subir : Notación antigua ] | [ Contextos de la música mensural > ] |
2.9.3 Tipografiar 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" \transpose c c' { \override Score.BarNumber #'transparent = ##t { 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 } >> }
Claves de la música mensural
La siguiente tabla presenta todas las claves antiguas que están
contempladas a través de la instrucción \clef
. Algunas de las
claves usan el mismo glifo, pero se diferencian sólo en la línea en
que se imprimen. En tales casos, se usa un número añadido al nombre
para enumerar dichas claves, numerado desde la línea inferior hasta la
superior. Aún así, puede forzar manualmente que se escriba un glifo
de clave sobre una línea arbitraria, como se encuentra descrito en
Clave. La nota impresa a la derecha de cada clave en la columna
de los ejemplos denota la situación del Do central (c'
) con
respecto a dicha clave.
Petrucci usaba claves de Do que tenían barras verticales en el lado izquierdo en un equilibrio variable, dependiendo de la línea de la pauta en que se imprimían.
Descripción | Claves posibles | Ejemplo |
clave de Do, mensural |
| |
clave de Fa, mensural |
| |
clave de Sol, mensural |
| |
clave de Do, neomensural |
| |
claves de Do en el estilo de Petrucci, para su uso en distintas líneas de la pauta (el ejemplo muestra la clave de Do en segunda) |
| |
clave de Fa en el estilo de Petrucci |
| |
clave de Sol en el estilo de Petrucci |
|
Véase también
Referencia de la notación: Clave.
Advertencias y problemas conocidos
La clave de Sol mensural está asignada a la clave de Sol de Petrucci.
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:
Véase también
Referencia de la notación: Indicación de compás ofrece una introducción general al uso de las indicaciones de compás.
Advertencias y problemas conocidos
Las relaciones de duración de las notas no se modifican cuando cambia la indicación de compás. Por ejemplo, la razón de 1 breve = 3 semibreves (tempus perfectum) se debe 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
o petrucci
.
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 ejemplo siguiente muestra el estilo petrucci
:
\set Score.skipBars = ##t \autoBeamOff \override NoteHead #'style = #'petrucci a'\maxima a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 a'
Véase también
Referencia de la notación: Estilos de cabezas de nota ofrece una visión de conjunto sobre la totalidad de los estilos de cabeza disponibles.
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
\override Stem #'flag-style = #'mensural \override Stem #'thickness = #1.0 \override NoteHead #'style = #'mensural \autoBeamOff c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8 c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
Observe que la bandera más interna de cada uno de los corchetes mensurales siempre 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.
Advertencias y problemas conocidos
La unión de los corchetes antiguos a las plicas está ligeramente desviada.
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
contemplados son classical
, neomensural
y
mensural
. classical
se diferencia del estilo por
defecto default
solamente en que el silencio de negra parece un
silencio de corchea invertido horizontalmente. Los estilos
mensural
y neomensural
reproducen el aspecto de los
silencios de los manuscritos y ediciones impresas de hasta el s.XVI.
El ejemplo siguiente muestra los estilos mensural
y
neomensural
:
\set Score.skipBars = ##t \override Rest #'style = #'classical r\longa^"classical" r\breve r1 r2 r4 r8 r16 s \break \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. En su lugar se tomarán los silencios del estilo predeterminado.
Consulte Ancient notation para ver un cuadro de todos los silencios.
Véase también
Referencia de la notación: Silencios ofrece una introducción general al uso de los silencios.
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. Si se solicita, 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 glyph-name-alist
de los
elementos gráficos Accidental
y
KeySignature
, respectivamente; p.ej.:
\override Staff.Accidental #'glyph-name-alist =
#alteration-mensural-glyph-name-alist
Véase también
Referencia de la notación: Alturas, Alteraciones accidentales y Alteraciones accidentales automáticas proporcionan una introducción general al uso de las alteraciones. Armadura de la tonalidad ofrece una introducción general al uso de las armaduras de 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.
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 c'' \new MensuralVoice { \once \set suggestAccidentals = ##t bes4 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.
Por ejemplo:
\score { \transpose c c' { \set Score.timing = ##f \set Score.defaultBarType = "empty" \override NoteHead #'style = #'neomensural \override Staff.TimeSignature #'style = #'neomensural \clef "petrucci-g" \[ c'\maxima g \] \[ d\longa c\breve f e d \] \[ c'\maxima d'\longa \] \[ e'1 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 se
transcribe de la siguiente manera:
Advertencias y problemas conocidos
El espaciado horizontal de las ligaduras es pobre.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Ligaduras mensurales blancas ] | [ Subir : 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.
Contextos del canto gregoriano
El contexto predefinido de voz VaticanaVoiceContext
y el de
pauta VaticanaStaffContext
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:
\include "gregorian.ly" \score { << \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 } >> }
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 |
| |
Clave de Fa, estilo Editio Vaticana |
| |
Clave de Do, estilo Editio Medicaea |
| |
Clave de Fa, estilo Editio Medicaea |
| |
Clave de Do, estilo hufnagel |
| |
Clave de Fa, estilo hufnagel |
| |
Clave combinada de Do y Fa, estilo hufnagel |
|
Véase también
Referencia de la notación: Clave.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Claves de canto gregoriano ] | [ Subir : 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 glyph-name-alist
de los grobs (objetos
gráficos)
Accidental y
KeySignature,
respectivamente; p.ej.:
\override Staff.Accidental #'glyph-name-alist =
#alteration-mensural-glyph-name-alist
Véase también
Referencia de la notación: Alturas, Alteraciones accidentales y Alteraciones accidentales automáticas dan una introducción general del uso de las alteraciones. Armadura de la tonalidad ofrece una introducción general al uso de las armaduras de 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
.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Divisiones ] | [ Subir : 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.
\include "gregorian.ly" \score { \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 \] } }
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.
La línea episemática no se muestra en muchos casos. Si se presenta, el extremo derecho de la línea episemática se encuentra a menudo demasiado lejos hacia la derecha.
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
.
\include "gregorian.ly" \score { \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 |
| |
| ||
| ||
Punctum Auctum Ascendens |
| |
Punctum Auctum Descendens |
| |
Punctum inclinatum |
| |
Punctum Inclinatum Auctum |
| |
Punctum Inclinatum Parvum |
| |
Virga |
Ligaduras de dos notas
Clivis vel Flexa |
| |
Clivis Aucta Descendens |
| |
Clivis Aucta Ascendens |
| |
Cephalicus |
| |
Podatus o Pes |
| |
Pes Auctus Descendens |
| |
Pes Auctus Ascendens |
| |
Epiphonus |
| |
Pes Initio Debilis |
| |
Pes Auctus Descendens Initio Debilis |
|
Ligaduras de varias notas
Torculus |
| |
Torculus Auctus Descendens |
| |
Torculus Deminutus |
| |
Torculus Initio Debilis |
| |
Torculus Auctus Descendens Initio Debilis |
| |
Torculus Deminutus Initio Debilis |
| |
Porrectus |
| |
Porrectus Auctus Descendens |
| |
Porrectus Deminutus |
| |
Climacus |
| |
Climacus Auctus |
| |
Climacus Deminutus |
| |
Scandicus |
| |
Scandicus Auctus Descendens |
| |
Scandicus Deminutus |
|
Símbolos especiales
Quilisma |
| |
Quilisma Pes Auctus Descendens |
| |
Oriscus |
| |
Pes Quassus |
| |
Pes Quassus Auctus Descendens |
| |
Salicus |
| |
Salicus Auctus Descendens |
| |
(Apo)stropha |
| |
Stropha Aucta |
| |
Bistropha |
| |
Tristropha |
| |
Trigonus |
|
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.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Ligaduras de neumas cuadrados gregorianos ] | [ Subir : Notación antigua ] | [ Incipits > ] |
2.9.5 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 | ||
Marcado editorial |
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
Continuará...
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 estableciendo la
propiedad transparent
.
global = { \override Staff.BarLine #'transparent = ##t s1 s % the final bar line is not interrupted \revert Staff.BarLine #'transparent \bar "|." } \new StaffGroup \relative c'' { << \new Staff { << \global { c1 c } >> } \new Staff { << \global { c c } >> } >> }
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" } }
Sin embargo, 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 \override Stem #'transparent = ##t
o bien
\override Stem #'length = #0
, y restaurar la plica cuando se
necesite con el correspondiente \once \override Stem
#'transparent = ##f
(véase el ejemplo de abajo).
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 \override BarLine #'transparent = ##t
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:
\include "gregorian.ly" chant = \relative c' { \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" \override Stem #'transparent = ##t } } }
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:
\include "gregorian.ly" chant = \relative c' { \clef "G_8" \set Score.timing = ##f c\breve \override NoteHead #'transparent = ##t c c c c c \revert NoteHead #'transparent \override Stem #'transparent = ##f \stemUp c4 b4 a \override Stem #'transparent = ##t c2 c4 \divisioMaior c\breve \override NoteHead #'transparent = ##t c c c c c c c \revert NoteHead #'transparent 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" \override BarLine #'transparent = ##t \override Stem #'transparent = ##t } } }
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 c' { \time 1/4 \override Lyrics.LyricText #'X-extent = #'(0 . 3) d4 \times 2/3 { f8 a g } g a a4 g f8 e d4 f8 g g8 d f g a g f4 g8 a a4 s \times 2/3 { 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) \override Stem #'transparent = ##t \override Beam #'transparent = ##t \override BarLine #'transparent = ##t \override TupletNumber #'transparent = ##t } } }
Antigua y moderna desde la misma fuente
Continuará...
Marcado editorial
Continuará...
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Marcado editorial ] | [ Subir : Notación especializada ] | [ Música árabe > ] |
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 Música árabe | ||
2.10.2 Música clásica de Turquía |
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Músicas del mundo ] | [ Subir : Músicas del mundo ] | [ Referencias para música árabe > ] |
2.10.1 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Música árabe ] | [ Subir : 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 Nombres de las notas en otros idiomas.
- 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: Nombres de las notas en otros idiomas, Armadura de la tonalidad, Barras manuales.
Fragmentos de código: World music.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Referencias para música árabe ] | [ Subir : Música árabe ] | [ Armaduras de tonalidad árabes > ] |
Nombres de nota árabes
Los nombres árabes tradicionales de las notas pueden llegar a ser
bastante largos y no son adecuados para la escritura musical, y por
ello no se utilizan. Los nombres ingleses de las notas no son muy
familiares dentro de la educación musical árabe, por lo que en su
lugar se utilizan los nombres italo-franco-españoles o del solfeo
(do, re, mi, fa, sol, la, si
). También se pueden utilizar los
modificadores (alteraciones), como se estudia en Nombres de las notas en otros idiomas.
Por ejemplo, así es como puede ser la notación de la escala árabe rast:
\include "arabic.ly" \relative do' { do re misb fa sol la sisb do sisb la sol fa misb re do }
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 do' { \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.
Fragmentos de código: World music.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Nombres de nota árabes ] | [ Subir : Música árabe ] | [ Indicaciones de compás árabes > ] |
Armaduras de tonalidad árabes
Además de las armaduras de tonalidad mayores y menores, están
definidas en arabic.ly
las siguientes tonalidades:
bayati, rast, sikah, iraq
y kurd. Estas armaduras de tonalidad definen una pequeña
cantidad de grupos de maqam, en contraste con los numerosos maqams que
son de uso común.
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.
Por ejemplo, para indicar la armadura de una pieza en el 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 nombra del maqam muhayer debe aparecer 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: 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 que se indica en la tabla entre paréntesis para aquellos maqams que son modulaciones de su maqam básico. Los maqams árabes admiten sólo modulaciones limitadas, a causa de la naturaleza de los instrumentos musicales árabes. El Nawa se puede indicar de la siguiente forma:
\key sol \bayati
En la música árabe, el mismo término que se utiliza para indicar un grupo de maqam, como bayati, 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
keySignature
property, 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.keySignature = #`(((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. (observe la coma precedente.)
De forma alternativa, para cada elemento de la lista el uso del
formato más conciso (paso . alteración)
especifica que la
misma alteración debe estar en todas las octavas.
He aquí un ejemplo de una posible armadura para generar una escala exátona:
\relative c' { \set Staff.keySignature = #`(((0 . 6) . ,FLAT) ((0 . 5) . ,FLAT) ((0 . 3) . ,SHARP)) c4 d e fis aes4 bes c2 }
Véase también
Referencia de la notación: Armadura de la tonalidad.
Manual de aprendizaje: Alteraciones accidentales y armaduras.
Referencia de funcionamiento interno: KeySignature.
Fragmentos de código: World music, Pitches.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Armaduras de tonalidad árabes ] | [ Subir : 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. Este comportamiento se puede sobreescribir desactivando el barrado automático e indicándolo manualmente. Cuando no es problema la coincidencia con partituras impresas existentes, aún podemos ajustar el comportamiento del barrado y/o utilizar compases compuestos.
Fragmentos de código seleccionados
Indicaciones de compases compuestos
Las indicaciones de compás poco frecuentes como “5/8” se pueden ejecutar como compases compuestos (p.ej. “3/8 + 2/8”), que combinan dos o más metros diferentes. LilyPond puede hacer la música de este tipo fácil de leer e interpretar, imprimiendo explícitamente las indicaciones de compás compuesto y adaptando el comportamiento automático de las barras (también se pueden añadir indicaciones gráficas de la agrupación de compases; véase el fragmento de código apropiado en la base de datos).
#(define ((compound-time one two num) grob) (grob-interpret-markup grob (markup #:override '(baseline-skip . 0) #:number (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))) \relative c' { \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8") \time 5/8 \overrideBeamSettings #'Staff #'(5 . 8) #'end #'((* . (2 3))) c8 d e fis gis c8 fis, gis e d c8 d e4 gis8 }
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 #(set-accidental-style 'forget) \cadenzaOn sol4 sol sol sol fad mib sol1 fad8 mib re4. r8 mib1 fad sol }
Véase también
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.
Fragmentos de código: World music.
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 { \relative re' { \set Staff.extraNatural = ##f \set Staff.autoBeaming = ##f \key re \bayati \time 10/8 re4 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 } \header { title = "Semai Muhayer" composer = "Jamil Bek" } }
Véase también
Fragmentos de código: World music.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Entrada y salida generales >> ] | ||
[ < Ejemplo de música árabe ] | [ Subir : Música árabe ] | [ Música clásica de Turquía > ] |
Lecturas adicionales sobre música árabe
-
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 varios sitios web que explican los maqams, y algunos de ellos ofrecen ejemplos de audio, como:
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, más que una armadura distinta para cada maqam concreto.
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.2 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 |
Referencias para música clásica de Turquía
La música clásica de Turquía se desarrollo 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 de las notas y las alteraciones se dan en Nombres de las notas y alteraciones 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: koma (1/9 de tono), eksik bakiye (3/9), bakiye (4/9), kücük mücenneb (5/9), büyük mücenneb (8/9), tanîni (un tono) y artık ikili (12/9 ó 13/9 de tono).
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. Esetas alteraciones están definidas en el archivo ‘makam.ly’ (para encontrar este archivo en su sistema, consulte Otras fuentes de información). Se da una descripción más detallada en Nombres de las notas y alteraciones no occidentales.
[ << Notación especializada ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Nombres de las notas en turco ] | [ Subir : 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 cabeceras | ||
3.3 Trabajar sobre los archivos de entrada | ||
3.4 Controlar la salida | ||
3.5 Salida MIDI |
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 Estructura del archivo |
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
.
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 { .. }
Sin embargo, 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.
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 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, cualquier definición en una expresión posterior tiene prioridad. -
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 el bloque que contiene las definiciones de los ajustes para todo el libro, como el compositor, título, etc. -
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 de inicio ‘../scm/lily.scm’. -
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 { } \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
para separar todos los términos de las instrucciones\override
y\set
. Concretamente, hay que usar espacios alrededor del punto y el signo igual en instrucciones como\override Score . LyricText #'font-size = #5
y antes y después de la instrucción completa.
Véase también
Manual de aprendizaje: Cómo funcionan los archivos de entrada de LilyPond.
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Estructura del archivo ] | [ Subir : Entrada y salida generales ] | [ Crear títulos > ] |
3.2 Títulos y cabeceras
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.1 Crear títulos | ||
3.2.2 Títulos personalizados | ||
3.2.3 Referencias a números de página | ||
3.2.4 Índice general |
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Títulos y cabeceras ] | [ Subir : Títulos y cabeceras ] | [ Títulos personalizados > ] |
3.2.1 Crear títulos
Se crean títulos para cada uno de los bloques \score
así como
para todo el archivo de entrada (o bloque \book
, libro) y las
partes de libro (creadas mediante bloques \bookpart
).
El contenido de cada título se extrae a partir de los bloques
\header
(cabecera). El bloque de cabecera de un libro
contempla lo siguiente:
-
dedication
El dedicatario de la música, centrado en lo alto de la primera página.
-
title
El título de la música, centrado justo debajo de la dedicatoria.
-
subtitle
Subtítulo, centrado debajo del título.
-
subsubtitle
Sub-subtítulo, centrado debajo del subtítulo.
-
poet
Nombre del poeta, a la izquierda, debajo del subtítulo.
-
composer
Nombre del compositor, a la derecha, debajo del subtítulo.
-
meter
Texto de la medida, a la izquierda, debajo del poeta.
-
opus
Nombre del Opus, a la derecha, debajo del compositor.
-
arranger
Nombre del arreglista, a la derecha, debajo del Opus.
-
instrument
Nombre del instrumento, centrado, debajo del arreglista. También aparece centrado en lo alto de cada página (aparte de la primera).
-
piece
Nombre de la pieza, a la izquierda, debajo del instrumento.
-
breakbefore
Esto fuerza que el título comience sobre una página nueva (establézcalo a ##t o a ##f).
-
copyright
Aviso de Copyright, centrado en la parte inferior de la primera página. Para insertar el símbolo de copyright, consulte Codificación del texto.
-
tagline
Cartel de propósito general en el pie de página, centrado al final de la última.
A continuación presentamos una demostración de todos los campos que están disponibles. Fíjese en que puede utilizar en la cabecera cualquier instrucción de marcado de texto (Véase Formatear el texto).
\paper { line-width = 9.0\cm paper-height = 10.0\cm } \book { \header { dedication = "dedicated to me" title = \markup \center-column { "Title first line" "Title second line, longer" } subtitle = "the subtitle," subsubtitle = #(string-append "subsubtitle LilyPond version " (lilypond-version)) poet = "Poet" composer = \markup \center-column { "composer" \small "(1847-1973)" } texttranslator = "Text Translator" meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge "r" } arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize #-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" } instrument = \markup \bold \italic "instrument" piece = "Piece" } \score { { c'1 } \header { piece = "piece1" opus = "opus1" } } \markup { and now... } \score { { c'1 } \header { piece = "piece2" opus = "opus2" } } }
Como se mostró anteriormente, puede usar varios bloques
\header
. Cuando los mismos campos aparecen en distintos
bloques, tiene validez el último en definirse. A continuación un
breve ejemplo.
\header { composer = "Compositor" } \header { piece = "Pieza" } \score { \new Staff { c'4 } \header { piece = "Otra pieza" % sobreescribe a la anterior } }
Si define la cabecera \header
dentro del bloque \score
,
por lo general se imprimirán solamente las cabeceras piece
y
opus
. Fíjese en que la expresión musical debe aparecer antes
del \header
.
\score { { c'4 } \header { title = "title" % not printed piece = "piece" opus = "opus" } }
Se puede cambiar este comportamiento (e imprimir todas las cabeceras
cuando la cabecera \header
está definida dentro del bloque
\score
) mediante la utilización de
\paper{ print-all-headers = ##t }
El pie de página por omisión se encuentra vacío, excepto para la
primera página, en la que se inserta el campo de copyright
extraído del \header
, y para la última página, en la que se
escribe el cartel tagline
sacado del bloque \header
. La
línea por omisión para este cartel es “Music engraving by LilyPond
(version)”.2
Las cabeceras se pueden quitar completamente estableciendo su valor a falso.
\header { tagline = ##f composer = ##f }
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Crear títulos ] | [ Subir : Títulos y cabeceras ] | [ Referencias a números de página > ] |
3.2.2 Títulos personalizados
Una opción más avanzada es cambiar las definiciones de las variables
siguientes dentro del bloque \paper
. El archivo de inicio
‘../ly/titling-init.ly’ ofrece un listado de la
disposición predeterminada.
-
bookTitleMarkup
Es el título que se escribe en lo alto del documento de salida completo. Normalmente contiene el compositor y el título de la pieza.
-
scoreTitleMarkup
Es el título que se coloca por encima de un bloque
\score
. normalmente contiene el nombre del movimiento (campopiece
).-
oddHeaderMarkup
Es el encabezamiento de las páginas de numeración impar.
-
evenHeaderMarkup
Es el encabezamiento de las páginas de numeración par. Si se deja sin especificar, se usará el encabezamiento de las páginas impares.
De forma predeterminada, los encabezamientos se definen de tal forma que el número de página está en el borde exterior, y el instrumento está centrado.
-
oddFooterMarkup
Es el pie de las páginas de numeración impar.
-
evenFooterMarkup
Es el pie de las páginas de numeración par. Si se deja sin especificar, se usará en su lugar el encabezamiento de las páginas impares.
De forma predeterminada, el pie de página tiene el aviso de copyright en la primera página, y el cartel
tagline
en la última.
La definición siguiente pone el título en el extremo izquierdo, y el compositor en el extremo derecho sobre una única línea.
\paper { bookTitleMarkup = \markup { \fill-line { \fromproperty #'header:title \fromproperty #'header:composer } } }
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Títulos personalizados ] | [ Subir : Títulos y cabeceras ] | [ Índice general > ] |
3.2.3 Referencias a números de página
Se puede marcar un lugar determinado de una partitura utilizando la
instrucción \label
(etiqueta), bien en lo alto de la estructura
o bien dentro de la música. Posteriormente se puede hacer referencia
a esta etiqueta dentro de un elemento de marcado, para obtener el
número de la página en que se encuentra la marca, 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 { The first score begins on page \page-ref #'firstScore "0" "?" } \markup { Mark A is on page \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
3.2.4 Índice general
Se puede insertar un índice general o tabla de contenidos utilizando
la instrucción \markuplines \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.
\markuplines \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 % ... } }
Los elementos de marcado que se usan para dar formato al índice
general se encuentran definidos dentro del bloque \paper
. Los
elementos predeterminados son tocTitleMarkup
, para dar formato
al título de la tabla, y tocItemMarkup
, para aplicar formato a
los elementos del índice, que consisten en el título del elemento y el
número de página. Estas variables se pueden cambiar por parte del
usuario:
\paper { %% Traducir el título del índice al español: tocTitleMarkup = \markup \huge \column { \fill-line { \null "Índice general" \null } \hspace #1 } %% usar una fuente mayor 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
.
También se pueden definir nuevas instrucciones y elementos de marcado para crear índices generales más elaborados:
- en primer lugar, defina una variable de marcado nueva dentro del bloque
\paper
- luego defina una función de música cuyo propósito es añadir un elemento al índice general
utilizando esta variable de marcado del bloque
\paper
.
En el ejemplo siguiente se define un estilo nuevo para introducir los nombres de los actos de una ópera en el índice general:
\paper { tocActMarkup = \markup \large \column { \hspace #1 \fill-line { \null \italic \fromproperty #'toc:text \null } \hspace #1 } } tocAct = #(define-music-function (parser location text) (markup?) (add-toc-item! 'tocActMarkup text))
Véase también
Archivos de inicio: ‘../ly/toc-init.ly’.
Instrucciones predefinidas
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Índice general ] | [ Subir : 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 Codificación del texto | ||
3.3.4 Presentar la notación de LilyPond |
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. De forma predeterminada, estos enunciados
\include
de segundo nivel no se interpretan hasta que se
incorporan al archivo principal, por lo que los nombres de archivo que
especifican deben ser relativos al directorio que contiene el archivo
principal, no al directorio que contiene el archivo incluido. Sin
embargo, este comportamiento se puede modificar pasando la opción
-drelative-includes
en la línea de órdenes (o mediante la
adición de #(ly:set-option 'relative-includes #t)
al principio
del archivo principal de entrada). Con el valor de
relative-includes
establecido, la ruta de cada instrucción
\include
se considera relativa al archivo que contiene dicha
instrucción. Este comportamiento es el recomendado y se convertirá en
el comportamiento predeterminado en una versión futura de lilypond.
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.
3.3.2 Distintas ediciones a partir de una misma fuente
Se encuentran disponibles varios mecanismos para facilitar la producción de distintas versiones de una partitura a partir de la misma fuente musical. Las variables son quizá más útiles para combinar secciones extensas de música y/o anotaciones de diversas formas, mientras que las etiquetas son más útiles para seleccionar una de entra varias secciones de música más cortas. 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 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 c'' { a4 b c b8( a) } altoMusic = \relative g' { e4 e e f } tenorMusic = \relative c' { c4 b e d8( c) } bassMusic = \relative c' { 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" { \set Staff.printPartCombineTexts = ##f \partcombine \sopranoMusic \altoMusic } \new Staff = "LH" { \set Staff.printPartCombineTexts = ##f \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.
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 | Se incluye la música no etiquetada y la música etiquetada con nombre; se excluye la música etiquetada con cualquier otro nombre de etiqueta. |
Música etiquetada precedida de | Se incluye la música no etiquetada y la música etiquetada con cualquier nombre de etiqueta distinto a nombre; se excluye la música etiquetada con nombre. |
Música etiquetada no precedida de | Se incluye toda la música etiquetada y no etiquetada. |
Los argumentos de las instrucciones \tag
, \keepWithTag
y
\removeWithTag
deben ser un símbolo (como #'partitura
o
#'parte
), seguido de una expresión musical.
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' { g8. 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' { g8. 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
:
music = \relative c'' { \tag #'a \tag #'both { a4 a a a } \tag #'b \tag #'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:
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 } } { \removeWithTag #'B \removeWithTag #'C \music }
Dos o más filtros \keepWithTag
aplicados a una sola expresión
musical producen la eliminación de todas las secciones
etiquetadas, porque el primer filtro quita todas las secciones
etiquetadas excepto la que se nombra, y el segundo filtro elimina
incluso esa secció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.
3.3.3 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 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:
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,
http://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'' { c1 \mark \markup { \char ##x03EE } c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } } } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } \markup { "Copyright 2008--2010" \char ##x00A9 }
Para escribir el símbolo de copyright en la nota de créditos, utilice:
\header { copyright = \markup { \char ##x00A9 "2008" } }
3.3.4 Presentar la notación de LilyPond
La impresión textual de una expresión musical en notación de LilyPond
puede hacerse con la función musical \displayLilyMusic
pero solamente
mediante la línea de órdenes. Por ejemplo,
{ \displayLilyMusic \transpose c a, { c4 e g a bes } }
imprimirá
{ 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 \display{MATERIAL}
, redireccione la
salida hacia un archivo.
lilypond archivo.ly >resultado.txt
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Controlar la salida ] | [ Subir : Controlar la salida ] | [ Saltar la música corregida > ] |
3.4.1 Extracción de fragmentos de música
Es posible citar pequeños fragmentos de una partitura grande directamente a partir de la salida. Puede compararse con la separación de una pieza de una partitura, recortándola con tijeras.
Esto se hace definiendo los compases que se deben recortar. Por ejemplo, la inclusión de la siguiente definición
\layout { clip-regions = #(list (cons (make-rhythmic-location 5 1 2) (make-rhythmic-location 7 3 4))) }
extrae un fragmento empezando por la mitad del quinto compás y
finalizando en el séptimo compás. El significado de 5 1 2
es:
después de una blanca (1/2) en el compás 5, y el de 7 3 4
después de tres negras del compás 7.
Se pueden definir más zonas de recorte añadiendo más parejas de definición de tiempo rhythmic-location a la lista.
Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
la opción -dclip-systems
. Los recortes aparecen en la salida
como archivos EPS, y se convierten en PDF y PNG si estos formatos
también están activados.
Para ver más información sobre los formatos de salida, consulte Invocar a LilyPond.
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 poniendo
showLastLength = R1*5 \score { ... }
en nuestro archivo fuente. Esto hará que se tracen sólo 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.
Esta propiedad se usa también para controlar la salida al archivo MIDI. Observe que pasa por alto todos los eventos, incluidos el tempo y los cambios de instrumento. Está usted advertido.
\relative c'' { c8 d \set Score.skipTypesetting = ##t e8 e e e e e e e \set Score.skipTypesetting = ##f c8 d b bes a g c2 }
En música polifónica, Score.skipTypesetting
afecta a todas las
voces y pentagramas, ahorrando más tiempo incluso.
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 vector escalables (SVG), PostScript encapsulado (EPS) y Gráficos de red portátiles (PNG) también están disponibles a través de opciones de la línea de órdenes, véase Opciones de la línea de órdenes para lilypond.
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Formatos de salida alternativos ] | [ Subir : Controlar la salida ] | [ Salida MIDI > ] |
3.4.4 Sustituir la tipografía de la notación
Gonville es una alternativa a la tipografía Feta que se utiliza en LilyPond y se puede descargar de:
http://www.chiark.greenend.org.uk/~sgtatham/gonville/
Aquí presentamos algunos compases de muestra tipografiados con la fuente Gonville:

Aquí hay unos compases de muestra tipografiados en la fuente Feta de LilyPond:

Instrucciones de instalación para MacOS
Descargue y extraiga el archivo zip. Copie la carpeta lilyfonts
a ‘SHARE_DIR/lilypond/current’; para más información,
consulte
Otras fuentes de información. Mueva la carpeta
fonts
existente a fonts_orig
y mueva la carpeta
lilyfonts
a fonts
. Sencillamente vuelva a mover
fonts_orig
a fonts
para volver a la fuente Feta.
Véase también
Manual de aprendizaje: Otras fuentes de información.
Advertencias y problemas conocidos
Gonville no se puede usar para tipografiar notación de ‘Música Antigua’. 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.
3.5 Salida MIDI
El MIDI (Musical Instrument Digital Interface, Interfase Digital para Instrumentos Musicales) es un estándar para interconectar y controlar instrumentos musicales electrónicos. Un archivo o secuencia MIDI es una serie de notas dentro de un conjunto de pistas. No es un archivo de sonidos reales; se necesita un programa reproductor especial para traducir la serie de notas en sonidos de verdad.
Cualquier música se puede convertir a archivos MIDI, de manera que podamos escuchar lo que hayamos introducido. Esto es muy conveniente para comprobar la corrección de la música; las octavas equivocadas o las alteraciones erróneas se ponen de relieve muy claramente al escuchar la salida MIDI.
La salida MIDI reserva un canal por cada pentagrama, y otro para los ajustes globales. Por ello, el archivo MIDI no debe tener más de 15 pautas (o 14 si no se usa la percusión). Otros pentagramas permanecen en silencio.
3.5.1 Crear archivos MIDI | ||
3.5.2 El bloque MIDI | ||
3.5.3 ¿Qué sale por el MIDI? | ||
3.5.4 Repeticiones y MIDI | ||
3.5.5 Control de los matices en el MIDI | ||
3.5.6 Percusión en MIDI |
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Salida MIDI ] | [ Subir : Salida MIDI ] | [ > ] |
3.5.1 Crear archivos MIDI
Para crear un MIDI a partir de una pieza de música, escriba un bloque
\midi
en la partitura, por ejemplo:
\score { ...música... \midi { } }
Si hay un bloque \midi
dentro de un \score
que no tenga
ningún bloque \layout
, solamente se producirá MIDI. Si se
necesita una notación impresa, debe haber también un bloque
\layout
:
\score { ...música... \midi { } \layout { } }
Se traducen correctamente a la salida MIDI la altura y duración de las notas, las ligaduras de unión, matices y cambios de tempo. Las indicaciones dinámicas, crescendi y decrescendi se traducen a niveles de volumen MIDI. Las marcas dinámicas se traducen a una fracción fija del rango de volumen MIDI disponible. Los crescendi y decrescendi hacen que el volumen varía linealmente entre sus dos extremos. El efecto de las indicaciones dinámicas sobre la salida MIDI se puede eliminar por completo, véase El bloque MIDI.
El tempo inicial y los cambios de tempo posteriores se pueden
especificar utilizando la instrucción \tempo
dentro de la
propia notación musical. Se reflejan en cambios de tempo en la salida
MIDI. Esta instrucción normalmente hace que se imprima la indicación
metronómica, pero esto se puede eliminar, véase Indicaciones metronómicas.
Más abajo se describe una forma alternativa de especificar el tempo
MIDI inicial o global, véase El bloque MIDI.
Debido a ciertas limitaciones de Windows, la extensión predeterminada
para los archivos MIDI en Windows es .mid
. Otros sistemas
operativos utilizan la extensión .midi
. Si prefiere una
extensión diferente, inserte la siguiente línea en el nivel jerárquico
superior del archivo de entrada, antes del inicio de cualquier bloque
\book
, \bookpart
o \score
:
#(ly:set-option 'midi-extension "midi")
La línea anterior establece la extensión predeterminada para los
archivos MIDI a .midi
.
De forma alternativa, esta opción se puede también proporcionar en la línea de órdenes:
lilypond … -dmidi-extension=midi archivoLily.ly
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Crear archivos MIDI ] | [ Subir : Crear archivos MIDI ] | [ El bloque MIDI > ] |
Nombres de instrumentos
El nombre del instrumento MIDI se establece mediante la propiedad
Staff.midiInstrument
. El nombre del instrumento se debe elegir
de entre los que están en la lista que aparece en Instrumentos MIDI.
\new Staff { \set Staff.midiInstrument = #"glockenspiel" ...notes... }
\new Staff \with {midiInstrument = #"cello"} { ...notes... }
Si el instrumento elegido no coincide exactamente con uno de los
instrumentos de la lista de instrumentos MIDI, se usará el instrumento
Piano de Cola ("acoustic grand"
).
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 pista.
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" } \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) } } }
Advertencias y problemas conocidos
Los cambios del volumen MIDI sólo tienen lugar al principio de la nota, por lo que los crescendi y decrescendi no pueden afectar al volumen de una sola nota.
No todos los reproductores de MIDI manejar adecuadamente los cambios de tempo de la salida MIDI. Entre los reproductores que se sabe que funcionan se encuentran el Reproductor de Medios de MS Windows y timidity.
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < ] | [ Subir : Salida MIDI ] | [ ¿Qué sale por el MIDI? > ] |
3.5.2 El bloque MIDI
Si se requiere una salida MIDI, debe aparecer un bloque \midi
dentro de un bloque de partitura. Es análogo al bloque layout de
diseño de página, pero algo más simple. Con frecuencia, el bloque
\midi
se deja vacío, pero puede contener reorganizaciones de
contextos, definiciones de contexto nuevas o código para fijar valores
de propiedades. Por ejemplo, en el ejemplo siguiente se establece el
tempo inicial exportado al archivo MIDI sin hacer que se imprima una
indicación de tempo:
\score { ...música... \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 4) } } }
En este ejemplo, el tempo se establece a 72 pulsos de negra por minuto. Esta clase de especificación de tempo no puede tomar como argumento una figura con puntillo. Si necesitamos una figura con puntillo, dividimos la nota con puntillo en figuras más pequeñas. Por ejemplo, un tempo de 90 negras con puntillo por minuto se puede especificar como 270 corcheas por minuto:
tempoWholesPerMinute = #(ly:make-moment 270 8)
Las definiciones de contexto siguen con precisión la misma sintaxis
que la de un bloque \layout
. Los módulos de traducción para el
sonido reciben el nombre de ejecutantes. Los contextos para la salida
MIDI se definen en ‘../ly/performer-init.ly’, véase
Otras fuentes de información. Por ejemplo, para eliminar
el efecto de los matices de la salida MIDI, inserte las líneas
siguientes en el bloque \midi{ }
.
\midi { ... \context { \Voice \remove "Dynamic_performer" } }
La salida MIDI se crea sólo cuando se incluye un bloque \midi
dentro de un bloque de partitura definido con una instrucción
\score
. Si se sitúa dentro de un contexto de partitura
instanciado explícitamente (es decir, dentro de un bloque \new
Score
) el archivo no funciona. Para resolverlo, encierre las
instrucciones \new Score
y \midi
dentro de un bloque
\score
.
\score { \new Score { …notas… } \midi { } }
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < El bloque MIDI ] | [ Subir : Salida MIDI ] | [ > ] |
3.5.3 ¿Qué sale por el MIDI?
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < ¿Qué sale por el MIDI? ] | [ Subir : ¿Qué sale por el MIDI? ] | [ > ] |
Contemplado en el MIDI
Los siguientes elementos de notación se reflejan en la salida MIDI:
- Alturas
- Microtonos (véase Alteraciones accidentales. La reproducción necesita un reproductor que contemple la curvatura de tono o pitch bend.)
- Acordes escritos como nombres de acorde
- Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
- Trémolos escritos sin ‘
:
[número]’ - Ligaduras de unión
- Matices o indicaciones de dinámica
- Crescendi y decrescendi sobre varias notas
- Cambios de tempo insertados con una marca metronómica
- Letra de las canciones
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < ] | [ Subir : ¿Qué sale por el MIDI? ] | [ Repeticiones y MIDI > ] |
No contemplado en el MIDI
Los siguientes elementos de notación no tienen ningún efecto sobre la salida MIDI:
- Duraciones escritas como anotaciones, p.ej. el swing
- Cambios de tempo escritos como anotaciones sin marca de tempo
- Staccato y otras articulaciones y ornamentos
- Ligaduras de expresión y de fraseo
- Crescendi y decrescendi sobre una nota única
- Trémolos introducidos con ‘
:
[número]’ - Bajo cifrado
- Acordes microtonales
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < ] | [ Subir : Salida MIDI ] | [ Control de los matices en el MIDI > ] |
3.5.4 Repeticiones y MIDI
Con un poco de trucaje, se puede hacer que cualquier tipo de
repetición esté presente en la salida MIDI. Esto se consigue mediante
la aplicación de la función musical \unfoldRepeats
. Esta
función cambia todas las repeticiones a repeticiones desplegadas.
\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' } } } \bar "|."
Al crear un archivo de partitura que use \unfoldRepeats
para el
MIDI, es necesario hacer dos bloques \score
: uno para el MIDI
(con repeticiones desplegadas) y otro para la notación impresa (con
repeticiones de volta –primera y segunda vez–, tremolo –trémolo–,
y percent –repetición de compases–). Por ejemplo,
\score { ..música.. \layout { .. } } \score { \unfoldRepeats ..música.. \midi { .. } }
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Repeticiones y MIDI ] | [ Subir : Salida MIDI ] | [ > ] |
3.5.5 Control de los matices en el MIDI
La dinámica en el MIDI está implementada por medio del intérprete Dynamic_performer que reside de forma predeterminada dentro del contexto Voice. Es posible controlar el volumen MIDI general, el volumen relativo de los matices dinámicos y el volumen relativo de los distintos instrumentos.
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < Control de los matices en el MIDI ] | [ Subir : Control de los matices en el MIDI ] | [ > ] |
Indicaciones dinámicas
Los matices o indicaciones de dinámica se traducen a una fracción fija
del rango de volumen MIDI disponible. Las fracciones predeterminadas
se extienden desde 0.25 para ppppp hasta 0.95 para
fffff. El conjunto de indicaciones dinámicas y las
fracciones asociadas pueden verse en ‘../scm/midi.scm’, véase
Otras fuentes de información. Este conjunto de fracciones
se puede cambiar o extender proporcionando una función que toma como
argumento una indicación dinámica y devuelve la fracción requerida, y
estableciendo Score.dynamicAbsoluteVolumeFunction
a esta
función.
Por ejemplo, si se requiere una indicación dinámica
rinforzando, \rfz
, ésta no tiene ningún efecto
predeterminado sobre el volumen MIDI, pues no está incluida en el
conjunto predeterminado. De igual manera, si se define una indicación
dinámica nueva con make-dynamic-script
, ésta tampoco estará
incluida en el conjunto predeterminado. El ejemplo siguiente muestra
cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
La función Scheme establece la fracción a 0.9 si se encuentra una
indicación dinámica rfz, y en caso contrario llama a la función
predeterminada.
#(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 c'' { a4\pp b c-\rfz } } } \layout {} \midi {} }
Como alternativa, si se necesitara redefinir la tabla completa de fracciones, sería mejor usar el procedimiento default-dynamic-absolute-volume que aparece en ‘../scm/midi.scm’ y la tabla asociada como modelo. El último ejemplo de esta sección muestra cómo se puede hacer esto.
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < ] | [ Subir : Control de los matices en el MIDI ] | [ > ] |
Volumen maestro MIDI
El volumen general máximo y mínimo de las indicaciones dinámicas de
MIDI se controla estableciendo valores para las propiedades
midiMinimumVolume
y midiMaximumVolume
en el nivel de
Score
. Estas propiedades tienen efecto solamente sobre las
indicaciones dinámicas, por ello si queremos que tengan validez desde
el comienzo de la partitura, se debe colocar allí una indicación de
dinámica. 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 de intensidad dinámica del volumen general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
\score { << \new Staff { \key g \major \time 2/2 \set Staff.midiInstrument = #"flute" \new Voice \relative c''' { r2 g\mp g fis~ fis4 g8 fis e2~ e4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = #"clarinet" \new Voice \relative c'' { b1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout {} \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) midiMinimumVolume = #0.2 midiMaximumVolume = #0.5 } } }
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < ] | [ Subir : Control de los matices en el MIDI ] | [ > ] |
Balance entre instrumentos (i)
Si las propiedades de volumen MIDI máximo y mínimo están establecidas
en el contexto Staff
se pueden controlar los volúmenes
relativos de los instrumentos MIDI. Esto proporciona un ecualizador
de instrumentos básico que puede realzar significativamente la calidad
de la salida MIDI.
En este ejemplo se reduce el volumen del clarinete con relación al de la flauta. Debe haber una indicación dinámica en la primera nota de cada instrumento para que esto funcione correctamente.
\score { << \new Staff { \key g \major \time 2/2 \set Staff.midiInstrument = #"flute" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 \new Voice \relative c''' { r2 g\mp g fis~ fis4 g8 fis e2~ e4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = #"clarinet" \set Staff.midiMinimumVolume = #0.3 \set Staff.midiMaximumVolume = #0.6 \new Voice \relative c'' { b1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout {} \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) } } }
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < ] | [ Subir : Control de los matices en el MIDI ] | [ Percusión en MIDI > ] |
Balance entre instrumentos (ii)
Si las propiedades de volumen MIDI máximo y mínimo no están establecidas, de forma predeterminada LilyPond aplica un pequeño grado de ecualización a algunos instrumentos. Los instrumentos y la ecualización que se aplica se muestra en la tabla instrument-equalizer-alist en ‘../scm/midi.scm’.
El ecualizador básico predeterminado se puede sustituir estableciendo
instrumentEqualizer
en el contexto Score
a un
procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
como único argumento y devuelva un par de fracciones que dan los
volúmenes máximo y mínimo que se aplican a dicho instrumento. Esta
sustitución se hace de la misma forma que mostramos para restablecer
la fracción de volumen absoluto dynamicAbsoluteVolumeFunction
al comienzo de esta sección. El ecualizador predeterminado,
default-instrument-equalizer, en
‘../scm/midi.scm’, muestra cómo se puede escribir tal
procedimiento.
El ejemplo siguiente establece los volúmenes relativos de la flauta y del clarinete a los mismos valores que el ejemplo anterior.
#(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 c''' { r2 g\mp g fis~ fis4 g8 fis e2~ e4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = #"clarinet" \new Voice \relative c'' { b1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout { } \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) } } }
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Problemas de espaciado >> ] | ||
[ < ] | [ Subir : Salida MIDI ] | [ Problemas de espaciado > ] |
3.5.6 Percusión en MIDI
La notación de los instrumentos de percusión se realiza normalmente en
un contexto DrumStaff
y cuando se hace de esta forma se les da
salida correctamente por el canal MIDI 10, pero ciertos
instrumentos de percusión de altura determinada, como el xilófono,
marimba, vibráfono, timbales, etc., se tratan como instrumentos
“normales” y la música para estos instrumentos se debe introducir
en contextos de Staff
normales, no en un contexto
DrumStaff
, para obtener la salida MIDI correcta.
Ciertos sonidos de altura indeterminada que están incluidos en el
estándar General MIDI, como el tom melódico, el tambor taiko, los
tambores sintéticos, etc., no se pueden acceder a través del canal
MIDI 10, por lo que la notación para dichos instrumentos se debe
introducir también en un contexto normal de Staff
, utilizando
las alturas normales adecuadas.
Muchos instrumentos de percusión no están incluidos dentro del estándar General MIDI, p.ej. las castañuelas. El método más fácil (aunque no satisfactorio) de producir una salida MIDI al escribir para estos instrumentos es sustituirlos por el sonido más parecido del conjunto estándar.
Advertencias y problemas conocidos
Debido a que el estándar General MIDI no contiene golpes de aro (rim shots), para este propósito se utiliza en su lugar el golpe lateral de baqueta (sidestick).
[ << Entrada y salida generales ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Percusión en MIDI ] | [ Subir : Top ] | [ El papel y las páginas > ] |
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.
Los ajustes que influyen en la disposición se pueden agrupar en dos
bloques. El bloque \paper {...}
se sitúa fuera de los
bloques \score {...}
y contiene ajustes relacionados con el
documento como un todo. El bloque \layout {...}
se sitúa
dentro de un bloque \score {...}
y contiene ajustes para
dicha partitura en concreto. Si sólo tiene un bloque \score
{...}
, los dos tienen el mismo efecto. En general las
instrucciones que se muestran en este capítulo se pueden poner en
cualquiera de los dos.
4.1 El papel y las páginas | ||
4.2 Disposición de la música | ||
4.3 Saltos | ||
4.4 Espaciado vertical | ||
4.5 Espaciado horizontal | ||
4.6 Encajar la música en menos páginas |
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Problemas de espaciado ] | [ Subir : Problemas de espaciado ] | [ Tamaño del papel > ] |
4.1 El papel y las páginas
Esta sección se ocupa de los límites que definen la zona del papel en que se puede imprimir la música.
4.1.1 Tamaño del papel | ||
4.1.2 Formateo de las páginas |
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < El papel y las páginas ] | [ Subir : El papel y las páginas ] | [ Formateo de las páginas > ] |
4.1.1 Tamaño del papel
Existen dos funciones para cambiar el tamaño del papel:
set-default-paper-size
(establecer tamaño de página
predeterminado) y set-paper-size
(establecer tamaño de página).
set-default-paper-size
se debe poner en el ámbito del nivel
superior, y set-paper-size
se debe poner en un bloque
\paper
:
#(set-default-paper-size "a4")
\paper { #(set-paper-size "a4") }
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.
Se encuentran disponibles los tamaños de papel más comunes, entre
ellos a4
, letter
, legal
y 11x17
(conocido
también como tabloide). Están contemplados muchos más tamaños de papel
de forma predeterminada. Para ver más detalles, consulte
‘scm/paper.scm’ y busque la definición de paper-alist
.
Nota: El tamaño predeterminado del papel es a4
.
Se pueden añadir tamaños adicionales editando la definición de
paper-alist
en el archivo de inicio ‘scm/paper.scm’,
aunque se sobreescribirán en la siguiente reinstalación del programa.
Si se añade el símbolo 'landscape
(apaisado) como argumento a
set-default-paper-size
, las páginas se giran 90 grados y se
establece en consonancia una mayor longitud de las líneas.
#(set-default-paper-size "a6" 'landscape)
Al establecer el tamaño del papel se ajustan un cierto número de
variables del \paper
, tales como los márgenes. Para utilizar
un tamaño de página determinado con variables de \paper
alteradas, establezca el tamaño de página antes de dar valores a las
variables.
Véase también
Archivos instalados: ‘scm/paper.scm’.
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Tamaño del papel ] | [ Subir : El papel y las páginas ] | [ Dimensiones verticales > ] |
4.1.2 Formateo de las páginas
Los márgenes, encabezamientos y pies de página y otras variables de diseño de página se establecen automáticamente de acuerdo con el tamaño del papel.
El valor predeterminado de los márgenes está accesible en el archivo ‘ly/paper-defaults-init.ly’. Estos valores se aplican al tamaño predeterminado del papel (A4, a no ser que se especifique de otra forma) y se escalan adecuadamente para otros tamaños del papel.
Esta sección relaciona y describe cierto número de variables del papel que se pueden alterar.
Dimensiones verticales | ||
Dimensiones horizontales | ||
Otras variables de diseño de página |
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Formateo de las páginas ] | [ Subir : Formateo de las páginas ] | [ Dimensiones horizontales > ] |
Dimensiones verticales
Estas variables se utilizan para establecer las diferentes dimensiones verticales de la página:
-
after-title-spacing
-
Especifica cómo calcular el espacio entre un título (o un elemento de marcado del nivel superior) y el sistema que le sigue. Es una lista asociativa con cinco componentes:
- space: cantidad de espacio que puede ensancharse entre la línea base de un título y el centro del pentagrama que le sigue;
- padding: cantidad mínima de espacio vacío que se debe dejar entre un título y el pentagrama que le sigue;
- stretchability: facilidad con que el espacio ensanchable aumenta cuando se estira una página. Si es cero, la distancia al pentagrama siguiente no se ensancha en absoluto;
- minimum-distance: distancia mínima que poner entre la línea de base de un título y el centro del pentagrama que le sigue. Se diferencia de padding en que la altura de un pentagrama no tiene ningún efecto sobre la aplicación de minimum-distance (mientras que la altura del pentagrama es crucial para padding).
Por ejemplo, los valores predeterminados son:
after-title-spacing = #'((space . 2) (padding . 0.5))
Si una página tiene la parte de abajo no ajustada, space no se ensancha. Concretamente, la distancia que resulta sobre esta página es la mayor de
- space,
- minimum-distance, y
- padding más la menor distancia necesaria para eliminar la superposición.
-
before-title-spacing
-
Especifica el espacio entre un sistema y el título (o elemento de marcado del nivel superior) que le sigue. Las distancias se miden a partir del centro del último pentagrama del sistema hasta la línea de base del título que le sigue. Véase after-title-spacing.
-
between-scores-system-spacing
-
Especifica el espacio entre dos sistemas si están en diferentes partituras, pero no hay ningún título entre ellas. Véase after-title-spacing.
-
between-system-spacing
-
Especifica el espacio entre el centro del pentagrama inferior de un sistema y el centro del pentagrama superior del sistema siguiente. Véase after-title-spacing.
-
between-title-spacing
-
Especifica el espacio entre dos títulos (o elementos de marcado del nivel superior). Las distancias se miden a partir de la línea de base de del primer título hasta la línea de base del segundo. Véase after-title-spacing.
-
bottom-margin
-
Margen entre el pie y el final de la página. Valor predeterminado:
6\mm
. -
bottom-system-spacing
-
Especifica el espacio desde el centro del último pentagrama (o la línea de base del último elemento de marcado del nivel superior) hasta el final del área imprimible (es decir, el límite superior del margen inferior). Véase after-title-spacing.
-
top-title-spacing
-
Especifica el espacio desde el principio del área imprimible (es decir, el límite inferior del margen superior) hasta la línea de base del título. Véase after-title-spacing.
-
top-system-spacing
-
Especifica el espacio desde el principio del área imprimible (es decir, el límite inferior del margen superior) hasta el centro del primer pentagrama. Sólo tiene efecto si no hay ningún título al principio de la página (en cuyo caso se utiliza en su lugar top-title-spacing). Véase after-title-spacing.
-
paper-height
-
Altura de la página. Predeterminado: altura del tamaño actual del papel. Para ver más detalles, consulte Tamaño del papel.
-
top-margin
-
Margen entre el encabezamiento y la parte alta del papel. Predeterminado:
5\mm
.
Fragmentos de código seleccionados
El encabezamiento y el pie se crean por parte de las funciones
make-footer
y make-header
, definidas dentro de
\paper
. Las implementaciones predeterminadas están en
‘ly/paper-defaults.ly’ y en ‘ly/titling-init.ly’.
El diseño de la página en sí está realizado por dos funciones dentro
del bloque \paper
, page-music-height
y
page-make-stencil
. El primero informa al algoritmo de saltos
de línea de la cantidad de espacio que está disponible en una página,
y el último crea la propia página dado el sistema que poner sobre
ella.
Se pueden definir valores del bloque \paper
en Scheme. En tal
caso, mm
, in
, pt
, y cm
son variables que
están definidas en ‘paper-defaults.ly’ con valores en milímetros.
Por ello el valor 2 cm se debe multiplicar en el siguiente ejemplo:
\paper { #(define bottom-margin (* 2 cm)) }
Ejemplo:
\paper { paper-width = 2\cm top-margin = 3\cm bottom-margin = 3\cm ragged-last-bottom = ##t }
Este segundo ejemplo centra los números de página en la parte baja del papel.
\paper { print-page-number = ##t print-first-page-number = ##t oddHeaderMarkup = \markup \fill-line { " " } evenHeaderMarkup = \markup \fill-line { " " } oddFooterMarkup = \markup { \fill-line { \bold \fontsize #3 \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string } } evenFooterMarkup = \markup { \fill-line { \bold \fontsize #3 \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string } } }
También podemos definir estos valores en Scheme. En tal caso,
mm
, in
, pt
y cm
son variables definidas en
‘paper-defaults-init.ly’ con valores en milímetros. Es la
razón por la que el valor se debe multiplicar en el ejemplo
\paper { #(define bottom-margin (* 2 cm)) }
El encabezamiento y el pie se crean por parte de las funciones
make-footer
y make-header
, definidas en \paper
.
Las implementaciones predeterminadas están en
‘ly/paper-defaults-init.ly’ y en
‘ly/titling-init.ly’.
La propia disposición de la página se realiza por parte de dos
funciones del bloque \paper
, page-music-height
y
page-make-stencil
. La primera dice al algoritmo de saltos de
línea cuánto espacio se puede emplear en la página, y la segunda crea
la página en sí dado el sistema que poner en ella.
Véase también
Referencia de la notación: Espaciado vertical entre sistemas.
Fragmentos de código: Spacing.
Dimensiones horizontales
Existe un cierto número de variables que determinan las dimensiones horizontales de una página:
-
binding-offset
-
Se aumenta la cantidad
inner-margin
para asegurar que el encuadernado no va a tapar nada. Sólo funciona contwo-sided
establecido al valor verdadero. Valor predeterminado:0
. -
horizontal-shift
-
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
-
Nivel de sangrado para el primer sistema de una partitura. Valor predeterminado:
15\mm
. -
inner-margin
-
Margen que tienen todas las páginas en el lado interior si son parte de un libro. Sólo funciona con
two-sided
establecido al valor verdadero. Valor predeterminado:10\mm
. -
left-margin
-
El margen entre el límite izquierdo del papel y el comienzo de los sistemas. Predeterminado:
10\mm
. -
line-width
-
Ancho de los sistemas. Predeterminado:
paper-width
menosleft-margin
yright-margin
. -
outer-margin
-
Margen que todas las páginas tienen en la parte exterior si son parte de un libro. Sólo funciona con
two-sided
establecido al valor verdadero. Valor predeterminado:20\mm
. -
paper-width
-
Ancho de la página. Predeterminado: la anchura del tamaño actual del papel. Para ver más detalles, consulte Tamaño del papel.
-
right-margin
-
Margen entre el borde derecho de la página y el final de cada sistema. Valor predeterminado:
10\mm
. -
short-indent
-
Nivel de sangrado para todos los sistemas de una partitura excepto el primero. Predeterminado:
0
.
Si hay valores sin ajustar, se toman los predeterminados. Se ajusta su valor exacto, dependiendo del tamaño de papel especificado. Por el momento, los siguientes valores se ven afectados por este escalado:
- left-margin
- right-margin
- top-margin
- bottom-margin
- head-separation
- foot-separation
- indent
- short-indent
Los ajustes para line-width
, left-margin
,
right-margin
y paper-width
dependen entre sí, pero no
tienen que especificarse completamente.
\paper { left-margin = 30\mm }
En este ejemplo, sólo se establece un valor para left-margin
.
El valor de right-margin
sigue siendo el predeterminado,
line-width
se calcula automáticamente.
\paper { line-width = 150\mm }
Aquí left-margin
y right-margin
se ajustan al mismo
valor. Por tanto, line-width
se sustrae de paper-width
y se divide entre dos. Esto significa que los sistemas se imprimen
centrados en la página, si sólo se especifica line-width
.
Tienen lugar algunas comprobaciones para asegurar que los valores se establecen correctamente. Si los valores no encajasen o los sistemas se fueran a salir de la página, se imprime una advertencia y se establecen los valores predeterminados.
\paper { paper-width = 210\mm left-margin = 20\mm right-margin = 30\mm line-width = 100\mm }
Estas comprobaciones se pueden evitar estableciendo
check-consistency
al valor falso.
\paper { paper-width = 210\mm left-margin = 20\mm line-width = 200\mm check-consistency = ##f }
Nota: Si paper-width
se ajusta manualmente,
line-width
, left-margin
, indent
y
short-indent
podrían tener que ajustarse también.
Véase también
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Dimensiones horizontales ] | [ Subir : Formateo de las páginas ] | [ Disposición de la música > ] |
Otras variables de diseño de página
Estas variables se pueden usar para ajustar el diseño de la página en general.
-
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
. -
blank-last-page-force
-
Penalización por terminar la partitura en una página de numeración impar. Predeterminado:
0
. -
blank-page-force
-
Penalización por tener una página en blanco en medio de una partitura. Esto no se usa por parte de
ly:optimal-breaking
porque éste nunca considera la posibilidad de tener páginas en blanco en mitad de una partitura. Predeterminado:5
. -
check-consistency
-
Si es verdadero, comprobar si
left-margin
,right-margin
yline-width
encajan entre sí. También asegurar que su combinación no excede delpaper-width
disponible. Valor predeterminado:##t
. -
first-page-number
-
Valor del número de la primera página. Predeterminado:
#1
. -
max-systems-per-page
Máximo número de sistemas que tendrán cabida en una página. Está contemplado por el momento solamente por parte del algoritmo
ly:optimal-breaking
. Predeterminado: no establecido.-
min-systems-per-page
Mínimo número de sistemas que habrá en una página. Puede hacer que las páginas se llenen en exceso si se establece a un valor grande. Por el momento solamente está contemplado por parte del algoritmo
ly:optimal-breaking
. Predeterminado: no establecido.-
page-breaking-between-system-spacing
-
Engaña al divisor de páginas para que crea que
between-system-spacing
está establecido a algo distinto de lo que está realmente. Por ejemplo, sipage-breaking-between-system-spacing #'padding
se establece a algo mucho mayor quebetween-system-spacing #'padding
, entonces el divisor de páginas colocará menos sistemas en cada página. Predeterminado: no establecido. -
page-count
-
Número de páginas que usar para una partitura. Predeterminado: sin fijar.
-
page-limit-inter-system-space
-
Si tiene un valor verdadero, limita el espacio entre los sistemas de una página en la que sobra mucho espacio. Predeterminado:
##f
. Para ver más detalles, consulte Espaciado vertical entre sistemas. -
page-limit-inter-system-space-factor
-
Factor usado por
page-limit-inter-system-space
. Predeterminado:1.4
. Para ver más detalles, consulte Espaciado vertical entre sistemas. -
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á establecido a un valor verdadero, imprime todas las cabeceras para cada una de las
\score
en la salida impresa. Normalmente sólo se imprimen las variables de encabezamiento de pieza y opus. Predeterminado:##f
. -
print-first-page-number
-
Si está establecido a un valor verdadero, se imprime un número de página en la primera página. Predeterminado:
##f
. -
print-page-number
-
Si está establecido a un valor falso, no se imprimen los números de página. Predeterminado:
##t
. -
ragged-bottom
-
Si está establecido a un valor verdadero, los sistemas no ocuparán verticalmente toda la altura de la página. Esto no afecta a la última página. Predeterminado:
##f
.Esto se debería establecer al valor verdadero para piezas que tienen sólo dos o tres sistemas por página, por ejemplo partituras orquestales.
-
ragged-last
-
Si está establecido a un valor verdadero, el último sistema de la partitura no llenará la anchura de la línea. En su lugar, el último sistema termina en su longitud horizontal natural. Predeterminado:
##f
. -
ragged-last-bottom
-
Si está establecido a un valor falso, los sistemas se repartirán verticalmente por toda la última página. Predeterminado:
##t
.Las piezas que llenan generosamente dos o más páginas deberían tener esto establecido al valor verdadero.
También afecta a la última página de las partes de libro, es decir, partes de un libro que se han creado con bloques
\bookpart
. -
ragged-right
-
Si está establecido a un valor verdadero, los sistemas no llenarán el ancho de línea disponible. En su lugar, los sistemas terminan en su longitud horizontal natural. Predeterminado:
##f
.Si la partitura sólo tiene un sistema, el valor predeterminado es
##t
. -
system-separator-markup
-
Objeto de marcado que se inserta entre los sistemas. Se suele usar para partituras orquestales. Predeterminado: sin establecer.
Se ofrece la instrucción de marcado
\slashSeparator
como un valor predeterminado apropiado, por ejemplo -
system-count
-
Cantidad de sistemas que usar por parte de la partitura. Predeterminado: sin establecer.
-
systems-per-page
-
Número de sistemas que se deben colocar en cada página. Está contemplado solamente por parte del algoritmo
ly:optimal-breaking
por el momento. Predeterminado: no establecido. -
two-sided
-
Si es verdadero, usar
inner-margin
,outer-margin
ybinding-offset
para determinad los márgenes dependiendo de si el número de página es par o impar. Esto sobreescribe aleft-margin
y aright-margin
. Valor predeterminado:##f
.
Véase también
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.
Los títulos de cabecera (tomados de la sección \header{}
) se
tratan como un sistema, por lo que ragged-bottom
y
ragged-last-bottom
añaden espacio entre los títulos y el primer
sistema de la partitura.
4.2 Disposición de la música
4.2.1 Establecer el tamaño del pentagrama | ||
4.2.2 Disposición de la partitura |
4.2.1 Establecer el tamaño del pentagrama
El tamaño de pentagrama predeterminado se establece en 20 puntos. Esto se puede modificar de dos maneras:
Para establecer globalmente el tamaño del pentagrama para todas las
partituras de un archivo (o en un bloque book
, para ser
exactos), utilice set-global-staff-size
.
#(set-global-staff-size 14)
Esto establece el tamaño global predeterminado a una altura de pentagrama de 14pt y escala todas las tipografías según corresponda.
Para establecer el tamaño del pentagrama de forma individual para cada partitura, use
\score{ ... \layout{ #(layout-set-staff-size 15) } }
La fuente tipográfica Feta ofrece símbolos musicales a ocho tamaños distintos. Cada fuente tipográfica está afinada para un tamaño de pentagrama distinto: a un tamaño menor la tipografía se vuelve más pesada, para que coincida con las líneas de pentagrama relativamente más gruesas. Los tamaños de tipografía recomendados están relacionados 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
Estas tipografías están disponibles en cualquier tamaño. La propiedad
de contexto fontSize
y la propiedad de disposición
staff-space
(en
StaffSymbol) se pueden usar para
afinar el tamaño de los pentagramas individuales. Los tamaños de
pentagrama individuales están en relación al tamaño global.
Véase también
Referencia de la notación: Seleccionar el tamaño de la tipografía para la notación.
Fragmentos de código: Spacing.
Advertencias y problemas conocidos
layout-set-staff-size
no cambia la distancia entre las líneas
del pentagrama.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Establecer el tamaño del pentagrama ] | [ Subir : Disposición de la música ] | [ Saltos > ] |
4.2.2 Disposición de la partitura
Mientras que \paper
contiene ajustes relativos al formato de
página del documento completo, \layout
contiene ajustes para la
disposición específica de cada partitura.
\layout { indent = 2.0\cm \context { \Staff \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6) } \context { \Voice \override TextScript #'padding = #1.0 \override Glissando #'thickness = #3 } }
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Disposición de la partitura ] | [ Subir : Problemas de espaciado ] | [ Saltos de línea > ] |
4.3 Saltos
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Saltos ] | [ Subir : 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. Ocasionalmente podemos querer sobreescribir los saltos
automáticos; podemos hacerlo especificando \break
. Esto fuerza
un salto de línea en ese punto. Sin embargo, los saltos de línea sólo
pueden suceder al final de los compases ‘completos’, es decir, donde
no queda ninguna nota o grupo especial ‘colgando’ por encima de la
línea divisoria. Si queremos poner un salto de línea donde no hay
línea divisoria, podemos forzar una barra de compás invisible
introduciendo \bar ""
, aunque de nuevo no deben quedar notas
colgando en ninguno de los pentagramas en este punto, o se ignorarán.
La instrucción opuesta, \noBreak
, prohíbe un salto de línea en
la barra divisoria en que se inserta.
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 line-width = #150 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 } the real music >>
Una configuración de división de líneas se puede guardar como archivo
.ly
automáticamente. Ello permite que alineaciones verticales
se estiren para que encajen en las páginas durante una segunda
ejecución del proceso de formateo. Esta posibilidad es bastante
novedosa y difícil. Hay más detalles disponibles en Spacing.
Instrucciones predefinidas
Véase también
Referencia de funcionamiento interno: LineBreakEvent.
Fragmentos de código: Spacing.
Advertencias y problemas conocidos
Sólo pueden ocurrir saltos de línea si hay una ‘buena’ línea divisoria. Una nota colgando de una línea divisoria no es adecuada, como
c4 c2 << c2 {s4 \break } >> % this does nothing c2 c4 | % a break here would work c4 c2 c4 ~ \break % as does this break c4 c2 c4
Esto se puede evitar eliminando el grabador
Forbid_line_break_engraver
. Observe que los saltos de línea
forzados manualmente se tienen que añadir en paralelo con la música.
\new Voice \with { \remove Forbid_line_break_engraver } { c4 c2 << c2 {s4 \break } >> % now the break is allowed c2 c4 }
De forma parecida, los saltos de línea están prohibidos normalmente
cuando las barras cruzan a las líneas divisorias. Este comportamiento
se puede modificar con el establecimiento de \override Beam
#'breakable = ##t
.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Saltos de línea ] | [ Subir : Saltos ] | [ Saltos de página óptimos > ] |
4.3.2 Saltos de página
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.
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.
Hay ajustes análogos a ragged-right
y ragged-last
que
tienen el mismo efecto sobre el espaciado vertical:
ragged-bottom
y ragged-last-bottom
. Si están
establecidos a ##t
los sistemas de todas las páginas o sólo de
la última página, respectivamente, no se verán justificados
verticalmente.
Para ver más detalles, consulte Espaciado vertical.
Los saltos de página se calculan por medio de la función
page-breaking
. LilyPond ofrece tres algoritmos para el cómputo
de los saltos de página: 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{ #(define 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 #(define 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
Véase también
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Saltos de página ] | [ Subir : Saltos ] | [ Paso de página óptimo > ] |
4.3.3 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Saltos de página óptimos ] | [ Subir : Saltos ] | [ Saltos de página mínimos > ] |
4.3.4 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, puede establecerlo a algún
valor muy grande.
\new Staff \with { \consists "Page_turn_engraver" } { a4 b c d | R1 | % a page turn will be allowed here a4 b c d | \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2) R1 | % a page turn will not be allowed here a4 b r2 | R1*2 | % a page turn will be allowed here a1 }
El grabador Page_turn_engraver
detecta las repeticiones de
primera y segunda vez. Sólo 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. El grabador
Page_turn_engraver
también puede inhabilitar los pasos de
página si la repetición es muy corta. Si establecemos la propiedad de
contexto minimumRepeatLengthForPageTurn
entonces el grabador
Page_turn_engraver
sólo permitirá los pases de página en las
repeticiones cuya duración sea mayor que este valor.
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, entre las partituras y los elementos
de marcado del nivel superior.
Instrucciones predefinidas
\pageTurn
,
\noPageTurn
,
\allowPageTurn
.
Véase también
Fragmentos de código: Spacing.
Advertencias y problemas conocidos
Sólo debería haber un grabador Page_turn_engraver
dentro de una
partitura. Si hay más de uno, se interferirán entre sí.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Paso de página óptimo ] | [ Subir : Saltos ] | [ Saltos de línea explícitos > ] |
4.3.5 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 { #(define page-breaking ly:minimal-breaking) }
Véase también
Fragmentos de código: Spacing.
4.3.6 Saltos de línea explícitos
Lily a veces rechaza las instrucciones \break
y
\pageBreak
explícitas. Hay dos instrucciones para
sobreescribir este comportamiento:
\override NonMusicalPaperColumn #'line-break-permission = ##f \override NonMusicalPaperColumn #'page-break-permission = ##f
Cuando se sobreescribe el valor de line-break-permission
a
falso, Lily inserta saltos de línea en las instrucciones \break
explícitas y en ningún otro lugar. Cuando se sobreescribe el valor de
page-break-permission
a falso, Lily inserta saltos de página en
las instrucciones \pageBreak
explícitas y en ningún otro lugar.
\paper { indent = #0 ragged-right = ##t ragged-bottom = ##t } \score { \new Score \with { \override NonMusicalPaperColumn #'line-break-permission = ##f \override NonMusicalPaperColumn #'page-break-permission = ##f } { \new Staff { \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break \repeat unfold 2 { c'8 c'8 c'8 c'8 } } } }
Véase también
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Saltos de línea explícitos ] | [ Subir : Saltos ] | [ Espaciado vertical > ] |
4.3.7 Utilizar una voz adicional para los saltos de línea
La información sobre saltos de línea y de página suele aparecer directamente entremezclado dentro del código de notas.
\new Score { \new Staff { \repeat unfold 2 { c'4 c'4 c'4 c'4 } \break \repeat unfold 3 { c'4 c'4 c'4 c'4 } } }
Esto hace sencillas de introducir a las instrucciones \break
y
\pageBreak
, pero mezcla la escritura de música con información
que especifica cómo se debe disponer la música sobre la página.
Podemos mantener la introducción de música y la información de saltos
de línea y de página en dos lugares separados mediante la introducción
de una voz adicional que contenga los saltos. Esta voz adicional
contiene solamente desplazamientos o ‘skips’ junto con los
\break
, pageBreak
y otras informaciones sobre la
disposición de los saltos.
\new Score { \new Staff << \new Voice { s1 * 2 \break s1 * 3 \break s1 * 6 \break s1 * 5 \break } \new Voice { \repeat unfold 2 { c'4 c'4 c'4 c'4 } \repeat unfold 3 { c'4 c'4 c'4 c'4 } \repeat unfold 6 { c'4 c'4 c'4 c'4 } \repeat unfold 5 { c'4 c'4 c'4 c'4 } } >> }
Este patrón resulta especialmente útil cuando se sobreescribe
line-break-system-details
y las otras útiles (pero largas)
propiedades de NonMusicalPaperColumnGrob
, como se explica en
Espaciado vertical.
\new Score { \new Staff << \new Voice { \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 0)) s1 * 2 \break \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 35)) s1 * 3 \break \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 70)) s1 * 6 \break \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 105)) s1 * 5 \break } \new Voice { \repeat unfold 2 { c'4 c'4 c'4 c'4 } \repeat unfold 3 { c'4 c'4 c'4 c'4 } \repeat unfold 6 { c'4 c'4 c'4 c'4 } \repeat unfold 5 { c'4 c'4 c'4 c'4 } } >> }
Véase también
Referencia de la notación: 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 dentro de un sistema | ||
4.4.2 Espaciado vertical entre sistemas | ||
4.4.3 Posicionamiento explícito de los pentagramas y los sistemas | ||
4.4.4 Evitar las colisiones verticales |
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Espaciado vertical ] | [ Subir : Espaciado vertical ] | [ > ] |
4.4.1 Espaciado vertical dentro de un sistema
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 (p.ej. la letra o los nombres de acorde) se distribuyen entre las pautas.
Espaciado entre los pentagramas
El espaciado entre los pentagramas se controla mediante la propiedad next-staff-spacing del grob VerticalAxisGroup. Esta propiedad es una lista-A de cuatro elementos: space, minimum-distance, padding y stretchability:
- space es el tamaño del espacio ensanchable entre la línea media de un pentagrama hasta la línea media del pentagrama siguiente.
- minimum-distance proporciona un límite inferior sobre la distancia final entre la línea central de un pentagrama hasta la línea central del pentagrama siguiente. Esto es, si una página tiene muchos sistemas y necesita comprimirse, la distancia desde este pentagrama hasta el siguiente nunca se comprimirá a menos de minimum-distance.
- padding es la cantidad de espacio vacío que debe estar presente entre el final de un pentagrama y el principio del siguiente. Se diferencia de minimum-distance en que el efecto de padding depende de la altura de los objetos que están sobre el pentagrama. Por ejemplo, es más probable que padding entre en efecto para pentagramas que tienen notas muy agudas por encima de la pauta.
-
stretchability controla la propensión del espacio ensanchable a
ampliarse cuando lo hace el sistema. Los valores grandes producen que
un sistema se amplíe más, mientras que un valor de cero evita que el
espacio se amplíe en absoluto. Si se deja sin establecer, el valor
predeterminado de stretchability será
space - minimum-distance
.
#(set-global-staff-size 16) \new StaffGroup << % Since space is small and there is no minimum-distance, the distance % between this staff and the next will be determined by padding. \new Staff \with { \override VerticalAxisGroup #'next-staff-spacing = #'((space . 1) (padding . 1)) } { \clef bass c, } % Since space is small and nothing sticks out very far, the distance % between this staff and the next will be determined by minimum-distance. \new Staff \with { \override VerticalAxisGroup #'next-staff-spacing = #'((space . 1) (minimum-distance . 12)) } { \clef bass c, } % By setting padding to a negative value, staves can be made to collide. \new Staff \with { \override VerticalAxisGroup #'next-staff-spacing = #'((space . 4) (padding . -10)) } { \clef bass c, } \new Staff { \clef bass c, } >>
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. Este espacio se puede manipular con el grob StaffGrouper: el valor predeterminado de next-staff-spacing para VerticalAxisGroup es una función de ‘callback’ que opera por el procedimiento de buscar un grob StaffGrouper que contenga al pentagrama. Si encuentra un grob StaffGrouper y el pentagrama en cuestión está en mitad de un grupo, lee la propiedad between-staff-spacing de StaffGrouper y la devuelve. Si el pentagrama en cuestión es el último de un grupo, la función de ‘callback’ lee la propiedad after-last-staff-spacing de StaffGrouper y la devuelve. Si no encuentra un grob StaffGrouper, lee default-next-staff-spacing a partir de su VerticalAxisGroup y lo devuelve.
#(set-global-staff-size 16) << \new PianoStaff \with { \override StaffGrouper #'between-staff-spacing #'space = #1 \override StaffGrouper #'between-staff-spacing #'padding = #0 \override StaffGrouper #'after-last-staff-spacing #'space = #20 } << \new Staff c'1 \new Staff c'1 >> \new StaffGroup \with { \override StaffGrouper #'between-staff-spacing #'space = #1 \override StaffGrouper #'between-staff-spacing #'padding = #0 } << \new Staff c'1 \new Staff c'1 >> >>
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < ] | [ Subir : Espaciado vertical dentro de un sistema ] | [ Espaciado vertical entre sistemas > ] |
Espaciado de las líneas que no son pautas
Después de que se han determinado las posiciones de los pentagramas, se distribuyen las líneas que no son pautas entre los pentagramas. Cada una de esas líneas tiene una propiedad staff-affinity que controla su alineamiento vertical. Por ejemplo:
\new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #DOWN }
crea un contexto de letra que se situará junto al pentagrama que tiene
por debajo. El establecimiento de staff-affinity a algo que no
sea un número (#f
, por ejemplo) hace que la línea se trate como
si fuera una pauta. De forma recíproca, el establecimiento de
staff-affinity para un pentagrama hace que se le trate como si
no fuera una pauta.
Las líneas que no son pautas admiten tres propiedades para controlar su espaciado. Cada una de estas propiedades es una lista-A del mismo formato que next-staff-spacing, véase más arriba.
-
Si la línea más cercana en la dirección de staff-affinity es una
pauta, entonces inter-staff-spacing da el espacio entre la línea
que no es una pauta y la pauta. Si staff-affinity es
CENTER
, entonces se usa inter-staff-spacing para las dos direcciones. - Si línea más cercana en la dirección de staff-affinity no es una pauta, entonces inter-loose-line-spacing da el espaciado entre las dos líneas que no son pautas.
- Si la línea más cercana en la dirección opuesta a staff-affinity es una pauta, entonces non-affinity-spacing da el espacio entre la línea que no es una pauta y la pauta. esto se puede usar, por ejemplo, para requerir una cantidad de relleno mínima entre una línea de letra y el pentagrama a que no pertenece.
#(set-global-staff-size 16) \layout { \context { \Lyrics % By default, Lyrics are placed close together. Here, we allow them to % be stretched more widely. \override VerticalAxisGroup #'inter-loose-line-spacing #'stretchability = #1000 } } \new StaffGroup << \new Staff \with { \override VerticalAxisGroup #'next-staff-spacing = #'((space . 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
Fragmentos de código: Spacing.
Referencia de funcionamiento interno: VerticalAxisGroup, VerticalAlignment, Axis_group_engraver.
Advertencias y problemas conocidos
Las líneas adyacentes que no son pentagramas debieran tener valores de staff-affinity no crecientes desde arriba hasta abajo. Por ejemplo, el comportamiento de
<< \new Staff c \new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #DOWN } \new Lyrics \with { \override VerticalAxisGroup #'staff-affinity = #UP } \new Staff c >>
es indeterminado.
Una línea que no es una pauta, al final de un sistema, debiera tener
establecido staff-affinity al valor UP
. De forma
similar, una línea que no es una pauta al principio de un sistema
debiera tener staff-affinity establecido al valor DOWN
.
4.4.2 Espaciado vertical entre sistemas
Los mecanismos que controlan el espaciado entre sistemas son similares
a los que controlan el espaciado dentro de un sistema (véase
Espaciado vertical dentro de un sistema). La diferencia
principal es que las variables para controlar el espaciado entre
sistemas se establece dentro del bloque \paper
en lugar de
hacerlo como propiedades de grob. Estas variables del bloque paper
son between-system-spacing, between-scores-system-spacing,
after-title-spacing, before-title-spacing,
between-title-spacing, top-system-spacing,
top-title-spacing y bottom-system-spacing. Observe que
estas variables ignoran las líneas que nos son pautas. Por ejemplo,
between-system-spacing controla el espaciado desde la línea
media del pentagrama inferior de un sistema hasta la línea del
pentagrama superior del sistema siguiente, tanto si hay letra debajo
del sistema superior como si no. Consulte Dimensiones verticales para ver una descripción de cada una de dichas variables.
Aún hay otras dos variables del bloque \paper
que afectan al
espaciado vertical: si ragged-bottom está ajustado a ##t
,
ninguna página se amplía (lo que significa que no se ampliará ni el
espacio entre sistemas ni el espacio dentro de los sistemas). Si el
valor de ragged-last-bottom se ajusta a ##t
entonces la
última página no se amplía.
Véase también
Fragmentos de código: Spacing.
4.4.3 Posicionamiento explícito de los pentagramas y los sistemas
Una forma de entender los ajustes de VerticalAxisGroup
y de
\paper
que se explicaron en las dos secciones anteriores es
como una colección de distintos ajustes que conciernen principalmente
a la cantidad de relleno vertical que adquieren los distintos
pentagramas y sistemas al ocupar la página.
Es posible abordar el problema del espaciado vertical de una forma
distinta utilizando NonMusicalPaperColumn
#'line-break-system-details
. Donde los ajustes de
VerticalAxisGroup
y de \paper
especifican el relleno
vertical, NonMusicalPaperColumn #'line-break-system-details
especifica las posiciones verticales exactas en la página.
NonMusicalPaperColumn #'line-break-system-details
acepta una
lista asociativa de tres ajustes distintos:
-
X-offset
-
Y-offset
-
alignment-distances
Las sobreescrituras de los objetos gráficos, entre ellas las de
NonMusicalPaperColumn
que aparece 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.
Esta partitura mantiene aislada la información de los saltos de línea y 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 Utilizar una voz adicional para los saltos de línea.
Los saltos explícitos dividen la música de forma regular en seis
compases por línea. El espaciado vertical es el resultado de los
ajustes predeterminados de LilyPond. Para establecer explícitamente
el punto de origen vertical de cada sistema, podemos establecer el par
Y-offset
en el atributo line-break-system-details
del
grob (objeto gráfico) NonMusicalPaperColumn
:
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.
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
.
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.
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
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.4 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.
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 entre un objeto fuera del pentagrama y los grobs
posicionados previamente se puede controlar con
outside-staff-padding
.
\once \override TextScript #'outside-staff-padding = #0 a'^"This text is placed very close to the note" \once \override TextScript #'outside-staff-padding = #3 c^"This text is padded away from the previous text" c^"This text is placed close to the previous text"
De forma predeterminada, los objetos fuera del pentagrama se colocan
sólo para evitar 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. El espacio
vertical entre pentagramas se puede fijar también de manera que los
objetos fuera del pentagrama se sitúen de forma intercalada. El
establecimiento del relleno horizontal
outside-staff-horizontal-padding
ocasiona que un objeto se
desplace verticalmente para que tal situación no ocurra.
% the markup is too close to the following note c4^"Text" c4 c''2 % setting outside-staff-horizontal-padding fixes this R1 \once \override TextScript #'outside-staff-horizontal-padding = #1 c,,4^"Text" c4 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 Área 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Espaciado horizontal ] | [ Subir : Espaciado horizontal ] | [ Área 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 añade un
espacio de tamaño fijo (este tamaño se controla mediante
spacing-increment
) a 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.
c2 c4. c8 c4. c8 c4. c8 c8 c8 c4 c4 c4
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:
c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
En el Ensayo sobre grabado musical automatizado,
se explicó que las
direcciones de las plicas influyen en el espaciado
(véase
Espaciado óptico). Esto se controla
con la propiedad stem-spacing-correction
en el 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 correcciones exageradas:
Está contemplada la notación proporcional; consulte Notación proporcional.
Véase también
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.
4.5.2 Área de espaciado nueva
Se pueden iniciar secciones nuevas con diferentes parámetros de
espaciado, con newSpacingSection
. Esto es útil cuando hay
secciones que tienen distinta noción de las notas largas y cortas.
En el ejemplo siguiente, el cambio de compás introduce una sección nueva, y por ello las semicorcheas se separan de manera más amplia.
\time 2/4 c4 c8 c c8 c c4 c16[ c c8] c4 \newSpacingSection \time 4/16 c16[ c c8]
La instrucción \newSpacingSection
crea un nuevo objeto
SpacingSpanner
, y de ahí que se puedan usar nuevas
instrucciones de sobreescritura \override
en dicho punto.
Véase también
Fragmentos de código: Spacing.
Referencia de funcionamiento interno: SpacingSpanner.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Área de espaciado nueva ] | [ Subir : Espaciado horizontal ] | [ Longitud de la línea > ] |
4.5.3 Cambiar el espaciado horizontal
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 c'' { g4 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 c'' { g4 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 = #(ly:make-moment 1 16) } } }
Fragmentos de código seleccionados
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:
\new Score \with { \override SpacingSpanner #'uniform-stretching = ##t } << \new Staff{ \times 4/5 { c8 c8 c8 c8 c8 } c8 c8 c8 c8 } \new Staff{ c8 c8 c8 c8 \times 4/5 { c8 c8 c8 c8 c8 } } >>
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 { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
Véase también
Fragmentos de código: Spacing.
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.
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.
\new Score << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'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
.
\new Score \with { proportionalNotationDuration = #(ly:make-moment 1 20) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >>
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). Los valores #(ly:make-moment 1 16)
,
#(ly:make-moment 1 8)
y #(ly:make-moment 3 97)
son
también posibles.
¿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.
\new Score \with { proportionalNotationDuration = #(ly:make-moment 1 8) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >> \new Score \with { proportionalNotationDuration = #(ly:make-moment 1 16) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >> \new Score \with { proportionalNotationDuration = #(ly:make-moment 1 32) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >>
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.
\new Score << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { \times 8/9 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } >>
El espaciado es defectuoso porque las notas regularmente espaciadas
del pentagrama inferior no se amplían de manera uniforme. El grabado
clásico incluye muy pocos tresillos complejos y así las reglas del
grabado clásico pueden generar este tipo de resultado. El
establecimiento de proportionalNotationDuration
remedia esta
situación considerablemente.
\new Score \with { proportionalNotationDuration = #(ly:make-moment 1 20) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { \times 8/9 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } >>
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
.
\new Score \with { proportionalNotationDuration = #(ly:make-moment 1 20) \override SpacingSpanner #'uniform-stretching = ##t } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { \times 8/9 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } >>
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 Área 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
“preparatorio” justo antes de la primera nota de cada sistema.
\paper { indent = #0 } \new Staff { c'1 \break c'1 }
Esta cantidad de espacio preparatorio 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 = #(ly:make-moment 1 16) c''8 c''8 c''8 \clef alto d'8 d'2 } \new Staff { \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) \override Score.SpacingSpanner #'strict-note-spacing = ##t c''8 c''8 c''8 \clef alto d'8 d'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
-
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: Área de espaciado nueva.
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Cambiar los valores por omisión >> ] | ||
[ < Notación proporcional ] | [ Subir : 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 |
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
:
#(set-default-paper-size "a6" 'landscape) \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 | = ( |
= ( |
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.
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
Formateo de las páginas.
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 { between-system-spacing = #'((padding . 0) (space . 0.1)) 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 }
-
Evitar (o reducir en número) los objetos que aumentan el tamaño
vertical de un sistema. Por ejemplo, las repeticiones de primera y
segunda vez (o repeticiones con finales alternativos) necesitan
espacio adicional. Si estas repeticiones se reparten a lo largo de
dos sistemas, ocupan más espacio que un sistema con las casillas de
repetición y otro sistema sin ellas. Por ejemplo, las indicaciones
dinámicas que se ‘salen’ de un sistema se pueden acercar al
pentagrama:
e4 c g\f c \override DynamicText #'extra-offset = #'( -2.2 . 2.0) e4 c g\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 c'' { g4 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 c'' { g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | } \layout { \context { \Score \override SpacingSpanner #'common-shortest-duration = #(ly:make-moment 1 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: Formateo de las páginas, Cambiar el espaciado horizontal.
Fragmentos de código: Spacing.
[ << Problemas de espaciado ] | [Arriba][Índice general][Índice][ ? ] | [ Tablas del manual sobre notación >> ] | ||
[ < Cambiar el espaciado ] | [ Subir : 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 #
.3
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:
Score. El contexto maestro | ||
Contextos del nivel superior: contenedores de pentagramas | ||
Contextos de nivel intermedio. Pentagramas | ||
Contextos del nivel más bajo. Voces |
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 {…}
o \layout
{…}
, o explícitamente cuando se ejecuta una instrucción
\new 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. Se ignoran las alturas
de las notas; las notas se imprimen sobre una línea.
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. Siendo contextos del nivel más bajo, no pueden contener a otros contextos.
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 contextos
Para partituras que sólo tienen una voz y un pentagrama, los contextos se crean automáticamente. Para partituras más complejas, es necesario crearlos a mano. Existen tres instrucciones que hacen esto.
-
La instrucción más fácil es
\new
, y es también la más rápida de escribir. Se antepone a una expresión musical, por ejemplo\new tipo expresión_musical
donde tipo es el nombre de un contexto (como
Staff
oVoice
). Esta instrucción crea un contexto nuevo, y empieza a interpretar la expresión_musical con él.Una aplicación práctica de
\new
es una partitura con muchos pentagramas. Cada parte que debe ir en su propio pentagrama, va precedida de\new Staff
.<< \new Staff { c4 c } \new Staff { d4 d } >>
La instrucción
\new
puede también dar nombre al contexto,\new tipo = identificador música
Sin embargo, este nombre especificado por el usuario sólo se utiliza si no hay ya otro contexto anterior con el mismo nombre.
-
Como
\new
, la instrucción\context
también dirige una expresión musical a un objeto de contexto, pero da al contexto un nombre explícito. La sintaxis es\context tipo = identificador música
En esta forma, la instrucción buscará un contexto existente del tipo especificado que tenga el nombre identificador. Si ese contexto aún no existe, se crea un contexto nuevo con el nombre especificado. Esto es útil si nos vamos a referir más tarde al contexto. Por ejemplo, cuando se escribe la letra, la melodía está dentro de un contexto con nombre
\context Voice = "tenor" música
de forma que los textos se puedan alinear correctamente con sus notas,
\new Lyrics \lyricsto "tenor" letra
Otro uso posible de los contextos con nombre es la fusión de dos expresiones musicales distintas en un solo contexto. En el siguiente ejemplo, se introducen por separado las articulaciones y las notas:
musica = { c4 c4 } decoracion = { s4-. s4-> }
se combinan enviando los dos al mismo contexto
Voice
,<< \new Staff \context Voice = "A" \musica \context Voice = "A" \decoracion >>
Con este mecanismo, es posible definir un “urtext” (una edición original), con la posibilidad de poner articulaciones distintas sobre las mismas notas.
-
La tercera instrucción para crear contextos es
\context tipo música
Esto es similar a
\context
con= identificador
, pero se corresponde con cualquier contexto del tipo tipo, sin importar qué nombre se le ha dado.Esta variante se usa con expresiones musicales que se pueden interpretar en varios niveles. Por ejemplo, la instrucción
\applyOutput
(véase los objetos de la presentación Ejecutar una función sobre todos los objetos de la presentación). Sin una instrucción\context
explícita, normalmente se aplicaría aVoice
\applyOutput #'contexto #función % aplicar al contexto Voice
Para que se interprete dentro de los niveles de
Score
oStaff
, utilice las siguientes formas:\applyOutput #'Score #función \applyOutput #'Staff #función
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: precisamente uno de los
contextos de Voice
que están dentro de un contexto de
Staff
o de una construcción <<...>>
persiste siempre
hasta el final de, contexto de Staff
circundante o la
construcción <<...>>
, incluso aunque puede haber períodos en
que no tiene nada que hacer. El contexto que persiste de esta forma
será el primero que se encuentre en la primera construcción encerrada
entre llaves {...}
, ignorando cualquiera que se encuentre
dentro de construcciones encerradas por ángulos dobles <<...>>
.
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 c'' { d4 d d d } musicB = \relative c'' { g4 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 c'' { a4 a a a } accompaniment = \relative c' { d4 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 c'' { s1 % skip a bar a4 a a a s1 % skip a bar a4 a a a } accompaniment = \relative c' { d4 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_head_engraver
que crea las cabezas de nota y el contexto
Staff
contiene un grabador Key_signature_engraver
que
crea la indicación de compás.
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 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 { f2 g } \new Staff \with { \remove "Time_signature_engraver" \remove "Clef_engraver" } { f2 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.
\new Score \with { \remove "Timing_translator" \remove "Default_bar_line_engraver" } << \new Staff \with { \consists "Timing_translator" \consists "Default_bar_line_engraver" } { \time 3/4 c4 c c c c c } \new Staff \with { \consists "Timing_translator" \consists "Default_bar_line_engraver" } { \time 2/4 c4 c c c c c } >>
Advertencias y problemas conocidos
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. El orden en que los grabadores se especifican es el orden en que se llaman para realizar su tarea de procesamiento.
Las siguientes ordenaciones son importantes: el grabador de compases
Bar_engraver
debe ir normalmente en primer lugar, y el grabador
de digitaciones New_fingering_engraver
debe ir antes del
grabador Script_column_engraver
de columnas de inscripciones.
Podría haber otros que tengan dependencias de ordenación.
5.1.5 Cambiar los valores por omisión de los contextos
Los ajustes de contexto que están preparados para usarse de forma
predeterminada en los contextos Score
, Staff
y
Voice
, se pueden especificar dentro de un bloque
\layout
, como se ilustra en el ejemplo siguiente. El bloque
\layout
se debe colocar dentro del bloque \score
en que
se quiere que haga efecto, pero fuera de la música.
Observe que la propia instrucción \set
y el contexto se deben
omitir cuando se especifican de esta manera los valores de contexto
predeterminados:
\score { \relative c'' { a4^"Really small, thicker stems, no time signature" a a a a a a a } \layout { \context { \Staff fontSize = #-4 \override Stem #'thickness = #4.0 \remove "Time_signature_engraver" } } }
En este ejemplo, la instrucción \Staff
especifica que los
ajustes siguientes se apliquen a todos los pentagramas dentro del
bloque de partitura.
Se pueden realizar de forma similar modificaciones al contexto
Score
o a todos los contextos Voice
.
Advertencias y problemas conocidos
No es posible recolectar cambios de contexto dentro de una variable y
aplicarlos a una definición de \context
por referencia a dicha
variable.
La instrucción \RemoveEmptyStaffContext
sobreescribe nuestros
ajustes en curso para \Staff
. Si queremos cambiar los valores
predeterminados para un pentagrama que utilice
\RemoveEmptyStaffContext
, debe hacerlo después de llamar a
\RemoveEmptyStaffContext
, o sea
\layout { \context { \RemoveEmptyStaffContext \override Stem #'thickness = #4.0 } }
5.1.6 Definir contextos nuevos
Los contextos específicos, como Staff
y Voice
, están
construidos a base 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 sobre contextos de Voice
(existentes) para que
siga funcionando. Esto se consigue dando al contexto nuevo un alias
Voice
,
\alias Voice
El contexto imprimirá notas y textos explicativos, por ello tenemos que añadir los grabadores que aportan esta funcionalidad:
\consists Note_heads_engraver \consists Text_engraver
pero sólo necesitamos esto en 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 \override Stem #'transparent = ##t
Todos estos añadidos tienen que cooperar, y esto se consigue con un
añadido especial, que se debe marcar con la palabra clave
\type
. Este será siempre Engraver_group
,
\type "Engraver_group"
Al juntarlo todo, obtenemos
\context { \name ImproVoice \type "Engraver_group" \consists "Note_heads_engraver" \consists "Text_engraver" \consists Pitch_squash_engraver squashedPosition = #0 \override NoteHead #'style = #'slash \override Stem #'transparent = ##t \alias Voice }
Los contextos dan lugar a jerarquías. Queremos colgar el contexto
ImproVoice
bajo el contexto Staff
, como simples
Voice
s normales. Por tanto, modificamos la definición de
Staff
con la instrucción \accepts
(acepta),
\context { \Staff \accepts ImproVoice }
Lo opuesto a \accepts
(acepta) es \denies
(deniega), lo
que a veces se necesita cuando se están reutilizando definiciones de
contexto existentes.
Ponemos ambos dentro de un bloque \layout
, como
\layout { \context { \name ImproVoice … } \context { \Staff \accepts "ImproVoice" } }
Así pues, la salida que aparece al comienzo de esta sub-sección se puede escribir como
\relative c'' { a4 d8 bes8 \new ImproVoice { c4^"ad lib" c c4 c^"desvístete" c c_"mientras tocas :)" } a1 }
5.1.7 Alinear los contextos
Los contextos nuevos se pueden alinear por encima o por debajo de otros contextos existentes. Esto podría ser de utilidad al preparar un pentagrama vocal ( Conjuntos vocales) y en el ossia,
Los contextos como PianoStaff
pueden llevar dentro otros
contextos anidados. Los contextos que se pueden aceptar para su
anidamiento están definidos por la lista “accepts” (acepta) de un
contexto. Los contextos que no están en esta lista se colocan debajo
del contexto exterior en la partitura impresa. Por ejemplo, el
contexto PianoStaff
está definido para que acepte contextos
Staff
y FiguredBass
de forma predeterminada, pero no un
contexto Lyrics
, por ejemplo. Así pues, en la siguiente
estructura la letra se sitúa debajo del sistema de piano en lugar de
colocarse entre los dos pentagramas:
\new PianoStaff << \new Staff { e4 d c2 } \addlyrics { Three blind mice } \new Staff { \clef "bass" { c,1 } } >>
La lista “accepts” de un contexto se puede modificar para que incluya contextos anidados adicionales, y así si quisiéramos que la letra apareciese entre los dos pentagramas podríamos usar:
\new PianoStaff \with { \accepts Lyrics } << \new Staff { e4 d c2 } \addlyrics { Three blind mice } \new Staff { \clef "bass" { c,1 } } >>
Lo contrario de \accepts
(acepta) es \denies
(deniega);
esto suprime un contexto de la lista “accepts”.
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.1 Navegar por la referencia del programa
Supongamos que queremos mover la indicación de digitación del fragmento siguiente:
c-2 \stemUp f
Si hace una visita a la documentación en busca de instrucciones de digitación (en Indicaciones de digitación), encontrará:
Véase también
Referencia de funcionamiento interno: Fingering.
Siga el enlace que lleva a Fingering. Al principio de la página, puede ver
Los objetos de digitación se crean por parte de: Fingering_engraver y New_fingering_engraver.
Siguiendo los enlaces relacionados dentro de la referencia del programa, podemos seguir el flujo de información dentro del programa:
- Fingering: los objetos Fingering se crean por parte de: Fingering_engraver
- Fingering_engraver: Tipos de música aceptados: fingering-event
-
fingering-event:
El tipo de evento musical
fingering-event
está descrito en Expresiones musicales con el nombre de FingeringEvent
Este camino se recorre en contra de la corriente de información del programa: comienza por la salida y acaba en el evento de entrada. También podríamos haber empezado por un evento de la entrada, y leído siguiendo el flujo de información terminando en su caso en el objeto (u objetos) de la salida.
La referencia del programa también se puede examinar como un documento normal. Contiene capítulos que tratan de Music definitions, de la Translation, y del Backend. Cada uno de los capítulos relaciona todas las definiciones utilizadas y todas las propiedades que se pueden ajustar.
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 . fetaNumber) (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 \stemUp f
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 3 espacios de pentagrama entre la nota y la
digitación:
\once \override Voice.Fingering #'padding = #3
Al insertar esta instrucción antes de que se haya creado el objeto
Fingering, es decir, antes del c2
, llegamos al siguiente
resultado:
\once \override Voice.Fingering #'padding = #3 c-2 \stemUp f
En este caso, el contexto de este truco es Voice
. Este hecho
se puede deducir también a partir de la referencia del programa, ya
que la página dedicada al añadido
Fingering_engraver dice
El grabador Fingering_engraver es 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 (incluso nombres de una sola palabra)
- funciones de Scheme: 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
5.3.1 Panorámica de la modificación de las propiedades | ||
5.3.2 La instrucción \set | ||
5.3.3 La instrucción \override | ||
5.3.4 La instrucción \tweak | ||
5.3.5 \set frente a \override |
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 prpopiedades 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. localKeySignature
(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
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 << { e8 e e e \set autoBeaming = ##t e8 e e e } \\ { c8 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 << { \unset autoBeaming e8 e e e \unset Score.autoBeaming e8 e e e } \\ { c8 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 que se aplican solamente a un único paso de tiempo se
pueden escribir con \once
, por ejemplo en
c4 \once \set fontSize = #4.7 c4 c4
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.
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
.
\override
es en realidad una forma abreviada;
\override contexto.NombreDelGrob #'propiedad = #valor
equivale más o menos a
\set contexto.NombreDelGrob = #(cons (cons 'propiedad valor) <valor anterior de contexto.NombreDelGrob>)
El valor de contexto
.NombreDelGrob
(la lista-A) se
utiliza para inicializar las propiedades de los grobs individuales.
Los grobs tienen propiedades, denominadas en el estilo de Scheme, con
palabras-con-guiones
. Los valores de las propiedades de grob
cambian durante el proceso de formateo: éste se realiza básicamente
calculando las propiedades utilizando funciones de ‘callback’
(pasadas como parámetro).
Por ejemplo, podemos aumentar el grosor de la plica de una figura
sobreescribiendo la propiedad thickness
(grosor) del objeto
Stem
(plica):
c4 c \override Voice.Stem #'thickness = #3.0 c4 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 << { e4 e \override Stem #'thickness = #0.5 e4 e } \\ { c4 c c c } >> }
El efecto de una instrucción de sobreescritura \override
se
puede deshacer con \revert
:
c4 \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:
{ << { e4 \override Staff.Stem #'thickness = #3.0 e4 e e } \\ { c4 c c \revert Staff.Stem #'thickness c4 } >> }
Se puede usar \once
con \override
para afectar solamente
al instante de tiempo actual:
{ << { \override Stem #'thickness = #3.0 e4 e e e } \\ { c4 \once \override Stem #'thickness = #3.0 c4 c c } >> }
Véase también
Referencia de funcionamiento interno: Backend
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 #'propiedad-del-grob
#valor
La instrucción \tweak
se aplica al objeto 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:
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. A veces, LilyPond
puede insertar elementos adicionales dentro del flujo de música
durante el proceso de análisis sintáctico. Por ejemplo, cuando una
nota que no es parte explícita de un acorde se coloca dentro de un
acorde por parte de LilyPond de manera que las notas que se pretenden
modificar con \tweak
se deben poner dentro de una construcción
de acorde:
\tweak #'color #red c4 <\tweak #'color #red c>4
La instrucción \tweak
no se puede usar para modificar ningún
elemento que no aparezca explícitamente en el código de entrada.
Concretamente, no se puede usar para modificar plicas, barras o
alteraciones directamente, porque éstos se generan posteriormente por
parte de las cabezas de las notas, más que por elementos musicales del
flujo de entrada. Tampoco se puede usar \tweak
para modificar
las claves ni las indicaciones de compás, porque se separarán de
cualquier instrucción \tweak
que aparezca en el flujo de
entrada debido a la inserción automática de los elementos adicionales
que se requieren para especificar el contexto.
También se pueden escribir varias instrucciones \tweak
antes de
un elemento notacional, y todas ellas 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
musicales
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
La instrucción \tweak
no se puede usar dentro de una variable.
Las instrucciones \tweak
no se pueden usar dentro del modo
\lyricmode
.
La instrucción \tweak
solamente se aplica a la primera de
varias ligaduras generadas dentro de un acorde.
5.3.5 \set
frente a \override
HACER: probablemente esta sección es innecesaria.
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.
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. Los acordes se imprimen como notas sobre un
pentagrama.
El modo de acordes se activa también con la instrucción
\chords
. Esto crea también un contexto ChordNames
nuevo
y produce que el código que sigue se interprete con la sintaxis de la
notación de acordes y se imprima como nombres de acorde dentro del
contexto ChordNames
, 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.
El modo de percusión también se activa con la instrucción
\drums
. También crea un contexto DrumStaff
nuevo y hace
que el código que sigue se interprete con la sintaxis de la notación
de percusión y se imprima como símbolos de percusión sobre un
pentagrama de percusión, 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.
El modo de cifrase también se activa con la instrucción
\figures
. También crea un contexto de FiguredBass
nuevo
y hace que el código que viene a continuación se interprete con la
sintaxis del bajo cifrado y se imprima como símbolos de bajo cifrado
dentro del contexto FiguredBass
, 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, escríbalos
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.
El modo de letra también se habilita con la instrucción
\addlyrics
. Esto también crea un contexto Lyrics
nuevo
y una instrucción \lyricsto
implícita que asocia la letra que
viene a continuación con la música precedente.
Modo de marcado
Se activa con la instrucción \markup
, y hace que la entrada se
interprete con la sintaxis del marcado, véase Text markup commands.
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.
Por ejemplo, para insertar indicaciones dinámicas para las estrofas de una pieza coral es necesario entrar en el modo de notas para poder interpretar dichas indicaciones:
{ c4 c4 c4 c4 } \addlyrics { \notemode{\set stanza = \markup{ \dynamic f 1. } } To be sung loudly } \addlyrics { \notemode{\set stanza = \markup{ \dynamic p 2. } } To be sung quietly }
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.
Acciones predeterminadas
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).
Disposición de contexto
Los contextos se colocan dentro de un sistema de arriba a abajo en el orden en que se encuentran. Sin embargo, observe que se crea un contexto implícitamente si se encuentra una instrucción cuando no está disponible un contexto apropiado para contenerla.
Se pude cambiar el orden predeterminado en que los contextos se presentan, véase Alinear los contextos
Indicadores de dirección de las articulaciones
Al añadir articulaciones a notas se puede omitir normalmente el
indicador de dirección, ^
(que significa “arriba”), _
(que significa “abajo”) o -
(que significa “usar la
dirección predeterminada”), en cuyo caso se supone el 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.
c2( 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
, xxxNeutral
donde xxxNeutral
significa “utilizar la dirección
predeterminada”. Véase
Objetos interiores al pentagrama.
En alguna que otra ocasión, con el único ejemplo usual del arpegio, el
valor de la propiedad direction
especifica 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”, como antes.
Estas indicaciones afectan a todas las notas hasta que son canceladas.
c2( c) \slurDown c2( c) c2( c) \slurNeutral c2( c)
5.4.3 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.
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. Esto puede dar lugar a pentagramas o partituras nuevos no esperados.
El orden predeterminado en que los contextos se disponen, así como la lista “accepts”, pueden cambiarse; véase Alinear los contextos.
Véase también
Manual de utilización del programa: Aparece un pentagrama de más.
5.4.4 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 Formateo de las páginas.
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: Formateo de las páginas, Establecer el tamaño del pentagrama.
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) } { 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 } { 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
.
[ << Cambiar los valores por omisión ] | [Arriba][Índice general][Índice][ ? ] | [ Tablas del manual sobre notación >> ] | ||
[ < Objetos de extensión ] | [ Subir : Objetos de extensión ] | [ > ] |
Uso del spanner-interface
Este interface proporciona dos propiedades que se aplican a varios extensores.
La propiedad minimum-length
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
a1 \compressFullBarRests R1*23 % increase the length of the rest bar \once \override MultiMeasureRest #'minimum-length = #20 R1*23 a1
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:
a( a) a -\tweak #'minimum-length #5 ( a) a\( a\) a -\tweak #'minimum-length #5 \( a\)
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 e8 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 e8 e e e
The to-barline
property
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:
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Tablas del manual sobre notación >> ] | ||
[ < ] | [ Subir : 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-interface::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:
e2 \glissando b \once \override Glissando #'(bound-details left Y) = #3 \once \override Glissando #'(bound-details right Y) = #-2 e2 \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 c1 \glissando \break f1
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 } c2\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" c4^\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.
\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 ] | [Arriba][Índice general][Índice][ ? ] | [ Tablas del manual sobre notación >> ] | ||
[ < ] | [ Subir : 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
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.
a4 a \once \override NoteHead #'transparent = ##t 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 a1
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 a1
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 |
| | sí | sí | sí |
| | no | no | sí |
| | no | sí | no |
| | sí | no | no |
| | sí | sí | no |
| | sí | no | sí |
| | no | sí | sí |
| | 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. |
---|---|---|
| | calculado |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
El ejemplo de abajo muestra el uso de la forma de vector para controlar la visibilidad de las líneas divisorias:
f4 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 más abajo
- Las repeticiones dobles de tipo porcentaje se imprimen completamente o se suprimen por completo. Utilice begin-of line-invisible para imprimirlas y all-invisible para suprimirlas.
- Armadura: véase más abajo
- OctavateEight: véase más abajo
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.
\key g \major f4 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.
\key g \major f4 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 precaución que se imprimen en un
cambio de tonalidad explícito, establezca la propiedad
printKeyCancellation
del contexto Staff a #f
:
\key g \major f4 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.
Automatic bars
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.
Octavated clefs
El pequeño símbolo de octava sobre las claves en octava alta o baja se
produce por parte del objeto OctavateEight
. Su visibilidad se
controla independientemente de la del objeto Clef
, así que es
necesario aplicar las sobreescrituras correspondientes
break-visibility
tanto a los objetos Clef
como
OctavateEight
para suprimir completamente estos símbolos de
clave al comienzo de cada línea.
Para los cambios de clave explícitos, la propiedad
explicitClefVisibility
controla tanto el símbolo de clave como
el símbolo de octava asociado.
Véase también
Manual de aprendizaje: Visibilidad y color de los 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-interface::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.
d2 \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:
e2 \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 |
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 = #'(20 -1 0) g,,4\< e' d' f\!
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.
5.5.1 Alineación de objetos | ||
5.5.2 Agrupación vertical de objetos gráficos | ||
5.5.3 Modificación de los sellos | ||
5.5.4 Modificación de las formas |
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.
Archivos de inicio: ‘scm/define-grobs.scm’.
Fragmentos de código: Tweaks and overrides.
Extender: Interfaces for programmers.
Referencia de funcionamiento interno: All layout objects.
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
Uso del break-alignable-interface
,
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 |
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:
| | |
---|---|---|
propiedad | propiedad | colocación |
| | izquierda |
| | derecha |
| | debajo |
| | 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, 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, 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 de la 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
.
De forma predeterminada, las letras de ensayo y los números de compás se centran horizontalmente sobre el objeto:
% The rehearsal mark will be centered above the Clef \override Score.RehearsalMark #'break-align-symbols = #'(clef) \key a \major \clef treble \mark "↓" e1 % The rehearsal mark will be centered above the Time Signature \override Score.RehearsalMark #'break-align-symbols = #'(time-signature) \key a \major \clef treble \time 3/4 \mark "↓" e2. % 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 e1 \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 centered above the Key Signature \override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef) \key a \major \clef treble \mark "↓" e1 % The rehearsal mark will be centered above 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 centered above the Key Signature \override Score.RehearsalMark #'break-align-symbols = #'(key-signature) \key a \major \clef treble \time 4/4 \mark "↓" e1 % The RehearsalMark will be aligned with the left edge of the Key Signature \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT \mark "↓" \key a \major e1 % The RehearsalMark will be aligned with the right edge of the Key Signature \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT \key a \major \mark "↓" e1
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 "↓" e1 % 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 "↓" e1
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 c'' { a a \XinO a a }
Cualquiera de los glifos de la fuente tipográfica Feta se puede pasar
a la instrucción de marcado \musicglyph
: véase La tipografía Feta.
Véase también
Referencia de la notación: Notación gráfica dentro de elementos de marcado, Formatear el texto, Text markup commands, La tipografía Feta.
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, de expresión y de fraseo 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 mediante la especificación explícita de los cuatro puntos de control necesarios para definir una curva de Bézier de tercer orden.
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.
He aquí un ejemplo de un caso en que la ligadura no es óptima, y donde
\tieDown
no sirve de ayuda.
<< { e1 ~ e } \\ { r4 <g c,> <g c,> <g c,> } >>
Una forma de mejorar esta ligadura es modificar manualmente sus puntos de control como sigue.
Las coordenadas de los puntos de control de Bézier se especifican en unidades de espacios de pentagrama. La coordenada X está en relación con el punto de referencia de la nota a la que está unida la ligadura, y la coordenada Y está en relación con la línea central del pentagrama. Las coordenadas se introducen como una lista de cuatro parejas de números decimales (reales). Un enfoque es estimar las coordenadas de los dos puntos extremos, y luego tratar de adivinar los dos puntos intermedios. Los valores óptimos se encuentran por ensayo y error.
Es útil recordar que una curva simétrica necesita puntos de control simétricos, y que las curvas de Bézier tienen la útil propiedad de que las transformaciones de la curva tales como la traslación, rotación y escalado se pueden obtener aplicando la misma transformación a los puntos de control de la curva.
Para el ejemplo anterior, la sobreescritura siguiente da una ligadura satisfactoria. Observe la colocación: debe ir inmediatamente antes de la nota a la que se asigna el comienzo de la ligadura de expresión o de unión.
<< { \once \override Tie #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1)) e1 ~ e1 } \\ { r4 <g c,> <g c,> <g c,>4 } >>
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
.
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 (parser location arg1 arg2 …) (type1? type2? …) #{ …música… #})
donde
| n-ésimo argumento |
| predicado de tipo de Scheme para el que |
| entrada de LilyPond normal, que utiliza |
Los argumentos parser
y location
son necesarios, y se
utilizan en algunas situaciones avanzadas como se encuentra descrito
en
Music function syntax. Para las funciones de
sustitución, tan sólo hemos de asegurarnos de incluirlos.
También 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:music? 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: Sintaxis de las 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 (parser location padding) (number?) #{ \once \override TextScript #'padding = $padding #}) \relative c''' { c4^"piu mosso" b a b \padText #1.8 c4^"piu mosso" d e f \padText #2.6 c4^"piu mosso" fis a g }
Además de números, podemos usar expresiones musicales, como notas, para los argumentos de las funciones musicales:
custosNote = #(define-music-function (parser location note) (ly:music?) #{ \once \override Voice.NoteHead #'stencil = #ly:text-interface::print \once \override Voice.NoteHead #'text = \markup \musicglyph #"custodes.mensural.u0" \once \override Voice.Stem #'stencil = ##f $note #}) \relative c' { c4 d e f \custosNote g }
Se pueden definir funciones de sustitución con más de un argumento:
tempoPadded = #(define-music-function (parser location padding tempotext) (number? string?) #{ \once \override Score.MetronomeMark #'padding = $padding \tempo \markup { \bold $tempotext } #}) \relative c'' { \tempo \markup { "Low tempo" } c4 d e f g1 \tempoPadded #4.0 #"High tempo" g4 f e d c1 }
[ << Cambiar los valores por omisión ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Ejemplos de funciones de sustitución ] | [ Subir : Top ] | [ Cuadro de nombres de acordes > ] |
A. Tablas del manual sobre notación
A.1 Cuadro de nombres de acordes
Las siguientes tablas muestran dos sistemas estándar para imprimir los nombres de los acordes, junto a las notas que representan.
A.2 Modificadores de acorde más usuales
La tabla siguiente presenta los modificadores de acorde que se pueden
usar en el modo de acordes \chordmode
para generar las
estructuras de acordes estándar.
Tipo de acorde | Intervalos | Modificador(es) | Ejemplo |
Mayor | Tercera mayor y quinta justa |
| |
Menor | Tercera menor y quinta justa |
| |
Aumentado | Tercera mayor y quinta aumentada |
| |
Disminuido | Tercera menor y quinta disminuida |
| |
Séptima dominante | Tríada mayor con séptima menor |
| |
Séptima mayor | Tríada mayor y séptima mayor |
| |
Séptima menor | Tríada menor y séptima menor |
| |
Séptima disminuida | Tríada disminuida y séptima disminuida |
| |
Aumentado con séptima | Tríada aumentada y séptima menor |
| |
Séptima semi-disminuido | Tríada disminuida y séptima menor |
| |
Menor con séptima mayor | Tríada menor con séptima mayor |
| |
Mayor con sexta | Tríada mayor y sexta |
| |
Menor con sexta | Tríada menor y sexta |
| |
Novena dominante | Séptima dominante con novena mayor |
| |
Mayor con novena | Séptima mayor y novena mayor |
| |
Menor con novena | Séptima menor y novena mayor |
| |
Oncena dominante | Novena dominante con oncena justa |
| |
Oncena mayor | Novena mayor y oncena justa |
| |
Menor con oncena | Novena menor y oncena justa |
| |
Trecena dominante | Novena dominante y trecena mayor |
| |
Trecena dominante | Oncena dominante y trecena mayor |
| |
Mayor con trecena | Oncena mayor y trecena mayor |
| |
Menor con trecena | Oncena menor y trecena mayor |
| |
Segunda suspendida | Segunda mayor y quinta justa |
| |
Cuarta suspendida | Cuarta justa y quinta justa |
|
A.3 Diagramas predefinidos de posiciones
El cuadro siguiente presenta los diagramas de posiciones de acordes predefinidos para guitarra.
El cuadro siguiente presenta los diagramas de traste predefinidos para ukelele.
A.4 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Instrumentos MIDI ] | [ Subir : Tablas del manual sobre notación ] | [ La tipografía Feta > ] |
A.5 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
Nombres de los colores de X
Los nombres de los colores de X admiten algunas 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 y sin mayúsculas (p.ej. ‘light slate blue’).
La palabra ‘grey’ siempre se puede escribir como ‘gray’ (p.ej. ‘DarkSlateGray’).
Algunos nombres admiten un sufijo numérico (p.ej. ‘LightSalmon4’).
Nombres de los colores sin sufijo numérico:
snow GhostWhite WhiteSmoke gainsboro FloralWhite OldLace linen AntiqueWhite PapayaWhip BlanchedAlmond bisque PeachPuff NavajoWhite moccasin cornsilk ivory LemonChiffon seashell honeydew MintCream azure AliceBlue lavender LavenderBlush MistyRose white black DarkSlateGrey DimGrey SlateGrey LightSlateGrey grey LightGrey MidnightBlue navy NavyBlue CornflowerBlue DarkSlateBlue SlateBlue MediumSlateBlue LightSlateBlue MediumBlue RoyalBlue blue DodgerBlue DeepSkyBlue SkyBlue LightSkyBlue SteelBlue LightSteelBlue LightBlue PowderBlue PaleTurquoise DarkTurquoise MediumTurquoise turquoise cyan LightCyan CadetBlue MediumAquamarine aquamarine DarkGreen DarkOliveGreen DarkSeaGreen SeaGreen MediumSeaGreen LightSeaGreen PaleGreen SpringGreen LawnGreen green chartreuse MediumSpringGreen GreenYellow LimeGreen YellowGreen ForestGreen OliveDrab DarkKhaki khaki PaleGoldenrod LightGoldenrodYellow LightYellow yellow gold LightGoldenrod goldenrod DarkGoldenrod RosyBrown IndianRed SaddleBrown sienna peru burlywood beige wheat SandyBrown tan chocolate firebrick brown DarkSalmon salmon LightSalmon orange DarkOrange coral LightCoral tomato OrangeRed red HotPink DeepPink pink LightPink PaleVioletRed maroon MediumVioletRed VioletRed magenta violet plum orchid MediumOrchid DarkOrchid DarkViolet BlueViolet purple MediumPurple thistle DarkGrey DarkBlue DarkCyan DarkMagenta DarkRed LightGreen
Nombres de los colores con sufijo numérico
En los nombres siguientes, el sufijo N puede ser un número del 1 al 4:
snowN seashellN AntiqueWhiteN bisqueN PeachPuffN NavajoWhiteN LemonChiffonN cornsilkN ivoryN honeydewN LavenderBlushN MistyRoseN azureN SlateBlueN RoyalBlueN blueN DodgerBlueN SteelBlueN DeepSkyBlueN SkyBlueN LightSkyBlueN LightSteelBlueN LightBlueN LightCyanN PaleTurquoiseN CadetBlueN turquoiseN cyanN aquamarineN DarkSeaGreenN SeaGreenN PaleGreenN SpringGreenN greenN chartreuseN OliveDrabN DarkOliveGreenN khakiN LightGoldenrodN LightYellowN yellowN goldN goldenrodN DarkGoldenrodN RosyBrownN IndianRedN siennaN burlywoodN wheatN tanN chocolateN firebrickN brownN salmonN LightSalmonN orangeN DarkOrangeN coralN tomatoN OrangeRedN redN DeepPinkN HotPinkN pinkN LightPinkN PaleVioletRedN maroonN VioletRedN magentaN orchidN plumN MediumOrchidN DarkOrchidN purpleN MediumPurpleN thistleN
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Lista de colores ] | [ Subir : Tablas del manual sobre notación ] | [ Glifos de clave > ] |
A.6 La tipografía Feta
Los símbolos siguientes están disponibles en la tipografía Emmentaler
y es posible acceder a ellos directamente utilizando elementos de
marcado textual con el nombre del glifo
tal y como se muestra en las tablas de abajo,
por ejemplo g^\markup {\musicglyph #"scripts.segno" }
ó
\markup {\musicglyph #"five"}
. Para ver más información,
consulte Formatear el texto.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < La tipografía Feta ] | [ Subir : La tipografía Feta ] | [ Glifos de indicación de compás > ] |
Glifos de clave
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de clave ] | [ Subir : La tipografía Feta ] | [ Glifos de cifras > ] |
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
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de silencios ] | [ Subir : La tipografía Feta ] | [ Glifos de puntillos > ] |
Glifos de corchetes
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de corchetes ] | [ Subir : La tipografía Feta ] | [ Glifos de matices dinámicos > ] |
Glifos de puntillos
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de puntillos ] | [ Subir : La tipografía Feta ] | [ Grifos de inscripciones > ] |
Glifos de matices dinámicos
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de matices dinámicos ] | [ Subir : La tipografía Feta ] | [ Glifos de flechas > ] |
Grifos de inscripciones
Glifos de flechas
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de flechas ] | [ Subir : La tipografía Feta ] | [ Glifos de pedal > ] |
Glifos de puntas de corchete
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de puntas de corchete ] | [ Subir : La tipografía Feta ] | [ Glifos de acordeón > ] |
Glifos de pedal
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de pedal ] | [ Subir : La tipografía Feta ] | [ Glifos de vaticana > ] |
Glifos de acordeón
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de acordeón ] | [ Subir : La tipografía Feta ] | [ Glifos de medicea > ] |
Glifos de vaticana
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de vaticana ] | [ Subir : La tipografía Feta ] | [ Glifos de Hufnagel > ] |
Glifos de medicea
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de medicea ] | [ Subir : La tipografía Feta ] | [ Glifos de mensural > ] |
Glifos de Hufnagel
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de Hufnagel ] | [ Subir : La tipografía Feta ] | [ Glifos de neomensural > ] |
Glifos de mensural
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de mensural ] | [ Subir : La tipografía Feta ] | [ Glifos de Petrucci > ] |
Glifos de neomensural
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de neomensural ] | [ Subir : La tipografía Feta ] | [ Glifos de Solesmes > ] |
Glifos de Petrucci
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glifos de Petrucci ] | [ Subir : La tipografía Feta ] | [ Estilos de cabezas de nota > ] |
Glifos de Solesmes
A.7 Estilos de cabezas de nota
Se pueden usar los siguientes estilos para las cabezas de las notas.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Estilos de cabezas de nota ] | [ Subir : Tablas del manual sobre notación ] | [ Font > ] |
A.8 Text markup commands
The following commands can all be used inside \markup { }
.
A.8.1 Font | ||
A.8.2 Align | ||
A.8.3 Graphic | ||
A.8.4 Music | ||
A.8.5 Instrument Specific Markup | ||
A.8.6 Other |
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Text markup commands ] | [ Subir : Text markup commands ] | [ Align > ] |
A.8.1 Font
-
\abs-fontsize
size (number) arg (markup) -
Use size as the absolute font size to display arg. Adjusts
baseline-skip
andword-space
accordingly.\markup { default text font size \hspace #2 \abs-fontsize #16 { text font size 16 } \hspace #2 \abs-fontsize #12 { text font size 12 } }
-
\bold
arg (markup) -
Switch to bold font-series.
\markup { default \hspace #2 \bold bold }
-
\box
arg (markup) -
Draw a box round arg. Looks at
thickness
,box-padding
andfont-size
properties to determine line thickness and padding around the markup.\markup { \override #'(box-padding . 0.5) \box \line { V. S. } }
Used properties:
-
box-padding
(0.2) -
font-size
(0) -
thickness
(1)
-
-
\caps
arg (markup) -
Copy of the
\smallCaps
command.\markup { default \hspace #2 \caps { Text in small caps } }
-
\dynamic
arg (markup) -
Use the dynamic font. This font only contains s, f, m, z, p, and r. 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 } }
-
\finger
arg (markup) -
Set arg as small numbers.
\markup { \finger { 1 2 3 4 5 } }
-
\fontCaps
arg (markup) -
Set
font-shape
tocaps
Note:
\fontCaps
requires the installation and selection of fonts which support thecaps
font shape. -
\fontsize
increment (number) arg (markup) -
Add increment to the font-size. Adjusts
baseline-skip
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 +2.
\markup { default \hspace #2 \huge huge }
-
\italic
arg (markup) -
Use italic
font-shape
for arg.\markup { default \hspace #2 \italic italic }
-
\large
arg (markup) -
Set font size to +1.
\markup { default \hspace #2 \large large }
-
\larger
arg (markup) -
Increase the font size relative to the current setting.
\markup { default \hspace #2 \larger larger }
-
\magnify
sz (number) arg (markup) -
Set the font magnification for its argument. In the following example, the middle A is 10% larger:
A \magnify #1.1 { A } A
Note: Magnification only works if a font name is explicitly selected. Use
\fontsize
otherwise.\markup { default \hspace #2 \magnify #1.5 { 50% larger } }
-
\medium
arg (markup) -
Switch to medium font-series (in contrast to bold).
\markup { \bold { some bold text \hspace #2 \medium { medium font series } \hspace #2 bold again } }
-
\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:
-
baseline-skip
-
-
\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:
-
baseline-skip
-
-
\normal-text
arg (markup) -
Set all font related properties (except the size) to get the default normal text font, no matter what font was used earlier.
\markup { \huge \bold \sans \caps { Some text with font overrides \hspace #2 \normal-text { Default text, same font-size } \hspace #2 More text as before } }
-
\normalsize
arg (markup) -
Set font size to default.
\markup { \teeny { this is very small \hspace #2 \normalsize { normal size } \hspace #2 teeny again } }
-
\number
arg (markup) -
Set font family to
number
, which yields the font used for time signatures and fingerings. This font contains numbers and some punctuation; it has no letters.\markup { \number { 0 1 2 3 4 5 6 7 8 9 . , } }
-
\roman
arg (markup) -
Set font family to
roman
.\markup { \sans \bold { sans serif, bold \hspace #2 \roman { text in roman font family } \hspace #2 return to sans } }
-
\sans
arg (markup) -
Switch to the sans serif font family.
\markup { default \hspace #2 \sans { sans serif } }
-
\simple
str (string) -
A simple text string;
\markup { foo }
is equivalent with\markup { \simple #"foo" }
.Note: for creating standard text markup or defining new markup commands, the use of
\simple
is unnecessary.\markup { \simple #"simple" \simple #"text" \simple #"strings" }
-
\small
arg (markup) -
Set font size to -1.
\markup { default \hspace #2 \small small }
-
\smallCaps
arg (markup) -
Emit arg as small caps.
Note:
\smallCaps
does not support accented characters.\markup { default \hspace #2 \smallCaps { Text in small caps } }
-
\smaller
arg (markup) -
Decrease the font size relative to the current setting.
\markup { \fontsize #3.5 { some large text \hspace #2 \smaller { a bit smaller } \hspace #2 more large text } }
-
\sub
arg (markup) -
Set arg in subscript.
\markup { \concat { H \sub { 2 } O } }
Used properties:
-
baseline-skip
-
font-size
(0)
-
-
\super
arg (markup) -
Set arg in superscript.
\markup { E = \concat { mc \super 2 } }
Used properties:
-
baseline-skip
-
font-size
(0)
-
-
\teeny
arg (markup) -
Set font size to -3.
\markup { default \hspace #2 \teeny teeny }
-
\text
arg (markup) -
Use a text font instead of music symbol or music alphabet font.
\markup { \number { 1, 2, \text { three, four, } 5 } }
-
\tiny
arg (markup) -
Set font size to -2.
\markup { default \hspace #2 \tiny tiny }
-
\typewriter
arg (markup) -
Use
font-family
typewriter for arg.\markup { default \hspace #2 \typewriter typewriter }
-
\underline
arg (markup) -
Underline arg. Looks at
thickness
to determine line thickness and y-offset.\markup { default \hspace #2 \override #'(thickness . 2) \underline { underline } }
Used properties:
-
thickness
(1)
-
-
\upright
arg (markup) -
Set
font-shape
toupright
. This is the opposite ofitalic
.\markup { \italic { italic text \hspace #2 \upright { upright text } \hspace #2 italic again } }
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Font ] | [ Subir : Text markup commands ] | [ Graphic > ] |
A.8.2 Align
-
\center-align
arg (markup) -
Align
arg
to its X center.\markup { \column { one \center-align two three } }
-
\center-column
args (markup list) -
Put
args
in a centered 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.\markup { \column { one two three } }
Used properties:
-
baseline-skip
-
-
\combine
arg1 (markup) arg2 (markup) -
Print two markups on top of each other.
Note:
\combine
cannot take a list of markups enclosed in curly braces as an argument; the follow example will not compile:\combine { a list }
\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 and simple markups are concatenated on the input level, allowing ligatures. For example,
\concat { "f" \simple #"i" }
is equivalent to"fi"
.\markup { \concat { one two three } }
-
\dir-column
args (markup list) -
Make a column of args, going up or down, depending on the setting of the
direction
layout property.\markup { \override #`(direction . ,UP) { \dir-column { going up } } \hspace #1 \dir-column { going down } \hspace #1 \override #'(direction . 1) { \dir-column { going up } } }
Used properties:
-
baseline-skip
-
direction
-
-
\fill-line
args (markup list) -
Put markups in a horizontal line of width line-width. The markups are spaced or flushed to fill the entire line. If there are no arguments, return an empty stencil.
\markup { \column { \fill-line { Words evenly spaced across the page } \null \fill-line { \line { Text markups } \line { \italic { evenly spaced } } \line { across the page } } } }
Used properties:
-
line-width
(#f) -
word-space
(1) -
text-direction
(1)
-
-
\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) -
Set horizontal alignment. If dir is
-1
, then it is left-aligned, while+1
is right. Values in between interpolate 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 horizontal space amount.
\markup { one \hspace #2 two \hspace #8 three }
-
\justify-field
symbol (symbol) -
Justify the data which 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
args (markup list) -
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. } }
Used properties:
-
text-direction
(1) -
word-space
-
line-width
(#f) -
baseline-skip
-
-
\justify-string
arg (string) -
Justify a string. Paragraphs may be separated with double newlines
\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" }
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
in a left-aligned column.\markup { \left-column { one two three } }
Used properties:
-
baseline-skip
-
-
\line
args (markup list) -
Put args in a horizontal line. The property
word-space
determines the space between markups in args.\markup { \line { one two three } }
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
.\markup { one \lower #3 two three }
-
\pad-around
amount (number) arg (markup) -
Add padding amount all around arg.
\markup { \box { default } \hspace #2 \box { \pad-around #0.5 { padded } } }
-
\pad-markup
amount (number) arg (markup) -
Add space around a markup object.
\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, without moving arg1.
-
\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.\raise
and\super
raise objects in relation to their surrounding markups.If the text object itself is positioned above or below the staff, then
\raise
cannot be used to move it, since the mechanism that positions it next to the staff cancels any shift made with\raise
. For vertical positioning, use thepadding
and/orextra-offset
properties.\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
in a right-aligned column.\markup { \right-column { one two three } }
Used properties:
-
baseline-skip
-
-
\rotate
ang (number) arg (markup) -
Rotate object with 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 axis.
\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
.\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 } }
-
\wordwrap-field
symbol (symbol) -
Wordwrap the data which 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
args (markup list) -
Simple wordwrap. Use
\override #'(line-width . X)
to set the line width, where 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. } }
Used properties:
-
text-direction
(1) -
word-space
-
line-width
(#f) -
baseline-skip
-
-
\wordwrap-string
arg (string) -
Wordwrap a string. Paragraphs may be separated with double newlines.
\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" }
Used properties:
-
text-direction
(1) -
word-space
-
line-width
-
baseline-skip
-
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Align ] | [ Subir : Text markup commands ] | [ Music > ] |
A.8.3 Graphic
-
\arrow-head
axis (integer) dir (direction) filled (boolean) -
Produce an arrow head in specified direction and axis. Use the filled head if filled is specified.
\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) -
Create a beam with the specified parameters.
\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
thickness
,circle-padding
andfont-size
properties to determine 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) -
A circle of radius radius and thickness thickness, optionally filled.
\markup { \draw-circle #2 #0.5 ##f \hspace #2 \draw-circle #2 #0 ##t }
-
\draw-line
dest (pair of numbers) -
A simple line.
\markup { \draw-line #'(4 . 4) \override #'(thickness . 5) \draw-line #'(-3 . 0) }
Used properties:
-
thickness
(1)
-
-
\epsfile
axis (number) size (number) file-name (string) -
Inline an EPS image. The image is scaled along axis to size.
\markup { \general-align #Y #DOWN { \epsfile #X #20 #"context-example.eps" \epsfile #Y #20 #"context-example.eps" } }
-
\filled-box
xext (pair of numbers) yext (pair of numbers) blot (number) -
Draw a box with rounded corners of dimensions xext and yext. 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 \filled-box #'(1 . 8) #'(0 . 7) #0.2 \with-color #white \filled-box #'(-4.5 . -2.5) #'(3.5 . 5.5) #0.7 }
-
\hbracket
arg (markup) -
Draw horizontal brackets around arg.
\markup { \hbracket { \line { one two three } } }
-
\parenthesize
arg (markup) -
Draw parentheses around arg. This is useful for parenthesizing a column containing several lines of text.
\markup { \line { \parenthesize { \column { foo bar } } \override #'(angularity . 2) { \parenthesize { \column { bah baz } } } } }
Used properties:
-
width
(0.25) -
thickness
(1) -
size
(1) -
padding
-
angularity
(0)
-
-
\postscript
str (string) -
This inserts str directly into the output as a PostScript command string.
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. Looks at
thickness
,box-padding
andfont-size
properties to determine line thickness and padding around the markup; thecorner-radius
property makes it possible to define another shape for the corners (default is 1).c4^\markup { \rounded-box { Overtura } } c,8. c16 c4 r
Used properties:
-
box-padding
(0.5) -
font-size
(0) -
corner-radius
(1) -
thickness
(1)
-
-
\triangle
filled (boolean) -
A triangle, either filled or empty.
\markup { \triangle ##t \hspace #2 \triangle ##f }
Used properties:
-
baseline-skip
(2) -
font-size
(0) -
thickness
(0.1)
-
-
\with-url
url (string) arg (markup) -
Add a link to URL url around arg. This only works in the PDF backend.
\markup { \with-url #"http://lilypond.org/web/" { LilyPond ... \italic { music notation for everyone } } }
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Graphic ] | [ Subir : Text markup commands ] | [ Instrument Specific Markup > ] |
A.8.4 Music
-
\customTabClef
num-strings (integer) staff-space (number) -
Draw a tab clef sans-serif style.
-
\doubleflat
-
Draw a double flat symbol.
\markup { \doubleflat }
-
\doublesharp
-
Draw a double sharp symbol.
\markup { \doublesharp }
-
\flat
-
Draw a flat symbol.
\markup { \flat }
-
\musicglyph
glyph-name (string) -
glyph-name is converted to a musical symbol; for example,
\musicglyph #"accidentals.natural"
selects the natural sign from the music font. See The Feta font for a complete listing of the possible glyphs.\markup { \musicglyph #"f" \musicglyph #"rests.2" \musicglyph #"clefs.G_change" }
-
\natural
-
Draw a natural symbol.
\markup { \natural }
-
\note-by-number
log (number) dot-count (number) dir (number) -
Construct a note symbol, with stem. By using fractional values for dir, longer or shorter stems can be obtained.
\markup { \note-by-number #3 #0 #DOWN \hspace #2 \note-by-number #1 #2 #0.8 }
Used properties:
-
style
(’()) -
font-size
(0)
-
-
\note
duration (string) dir (number) -
This produces a note with a stem pointing in dir direction, with the duration for the note head type and augmentation dots. For example,
\note #"4." #-0.75
creates a dotted quarter note, with a shortened down stem.\markup { \override #'(style . cross) { \note #"4.." #UP } \hspace #2 \note #"breve" #0 }
Used properties:
-
style
(’()) -
font-size
(0)
-
-
\score
score (score) -
Inline an image of music.
\markup { \score { \new PianoStaff << \new Staff \relative c' { \key f \major \time 3/4 \mark \markup { Allegro } f2\p( a4) c2( a4) bes2( g'4) f8( e) e4 r } \new Staff \relative c { \clef bass \key f \major \time 3/4 f8( a c a c a f c' es c es c) f,( bes d bes d bes) f( g bes g bes g) } >> \layout { indent = 0.0\cm \context { \Score \override RehearsalMark #'break-align-symbols = #'(time-signature key-signature) \override RehearsalMark #'self-alignment-X = #LEFT } \context { \Staff \override TimeSignature #'break-align-anchor-alignment = #LEFT } } } }
Used properties:
-
baseline-skip
-
-
\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 }
-
\tied-lyric
str (string) -
Like simple-markup, but use tie characters for ‘~’ tilde symbols.
\markup { \tied-lyric #"Lasciate~i monti" }
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Music ] | [ Subir : Text markup commands ] | [ Other > ] |
A.8.5 Instrument Specific Markup
-
\fret-diagram
definition-string (string) -
Make a (guitar) fret diagram. For example, say
\markup \fret-diagram #"s:0.75;6-x;5-x;4-o;3-2;2-3;1-2;"
for fret spacing 3/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 (in staff spaces). Default: 0.05. -
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.
Here is an example
\markup \fret-diagram-terse #"x;x;o;2;3;2;"
for 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.
For example,
\markup \fret-diagram-verbose #'((mute 6) (mute 5) (open 4) (place-fret 3 2) (place-fret 2 3) (place-fret 1 2))
produces a standard D chord diagram without fingering indications.
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)
Place a fret playing indication on string string-number at fret fret-number with an optional fingering label finger-value. By default, the fret playing indicator is a solid dot. This can be changed by setting the value of the variable dot-color. 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.
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.
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)
The function also checks if the string has the typical form of three pedals, then the divider and then the remaining four pedals. If not it prints out a warning. However, in any case, it will also print each symbol in the order as given. This means you can place the divider (even multiple dividers) anywhere you want, but you’ll have to live with the warnings.
The appearance of the diagram can be tweaked inter alia using the size property of the TextScript grob (
\override Voice.TextScript #'size = #0.3
) for the overall, the thickness property (\override Voice.TextScript #'thickness = #3
) for the line thickness of the horizontal line and the divider. The remaining configuration (box sizes, offsets and spaces) is done by the harp-pedal-details list of properties (\override Voice.TextScript #'harp-pedal-details #'box-width = #1
). It contains the following settings:box-offset
(vertical shift of the box center for up/down pedals),box-width
,box-height
,space-before-divider
(the spacing between two boxes before the divider) andspace-after-divider
(box spacing after the divider).\markup \harp-pedal #"^-v|--ov^"
Used properties:
-
thickness
(0.5) -
harp-pedal-details
(’()) -
size
(1.2)
-
-
\woodwind-diagram
instrument (symbol) input-list (list) -
Make a woodwind-instrument diagram. For example, say
\markup \woodwind-diagram #'oboe #'(1.4 0.1 #t ((lh . (d ees)) (cc . (five3qT1q)) (rh . (gis))))
for 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 effectuates a trill between 1/4 and 3/4 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
(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 will result in a diagram with all of the keys drawn but none filled. ie...
\markup \woodwind-diagram #'oboe #'(1.4 0.1 #t ())
A.8.6 Other
-
\backslashed-digit
num (integer) -
A feta number, with 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 character. 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 }
-
\fraction
arg1 (markup) arg2 (markup) -
Make a fraction of two markups.
\markup { π ≈ \fraction 355 113 }
Used properties:
-
font-size
(0)
-
-
\fromproperty
symbol (symbol) -
Read the symbol from property settings, and produce a stencil from the markup contained within. If symbol is not defined, it returns an empty markup.
\header { myTitle = "myTitle" title = \markup { from \italic \fromproperty #'header:myTitle } } \markup { \null }
-
\left-brace
size (number) -
A feta brace in point size size.
\markup { \left-brace #35 \hspace #2 \left-brace #45 }
-
\lookup
glyph-name (string) -
Lookup a glyph by name.
\markup { \override #'(font-encoding . fetaBraces) { \lookup #"brace200" \hspace #2 \rotate #180 \lookup #"brace180" } }
-
\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 (symbol) arg (markup) -
Apply the procedure markup command to arg. procedure should take a single argument.
-
\override
new-prop (pair) arg (markup) -
Add the argument new-prop to the property list. Properties may be any property supported by font-interface, text-interface and instrument-specific-markup-interface.
\markup { \line { \column { default baseline-skip } \hspace #2 \override #'(baseline-skip . 4) { \column { increased baseline-skip } } } }
-
\page-ref
label (symbol) gauge (markup) default (markup) -
Reference to a page number. label is the label set on the referenced page (using the
\label
command), gauge a markup used to estimate the maximum width of the page number, and default the value to display when label is not found. -
\right-brace
size (number) -
A feta brace in point size size, rotated 180 degrees.
\markup { \right-brace #45 \hspace #2 \right-brace #35 }
-
\slashed-digit
num (integer) -
A feta number, with 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 a stencil 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 #"simple.ly" }
-
\whiteout
arg (markup) -
Provide a white background for arg.
\markup { \combine \filled-box #'(-1 . 10) #'(-3 . 4) #1 \whiteout whiteout }
-
\with-color
color (color) arg (markup) -
Draw arg in color specified by color.
\markup { \with-color #red red \hspace #2 \with-color #green green \hspace #2 \with-color #blue blue }
-
\with-dimensions
x (pair of numbers) y (pair of numbers) arg (markup) -
Set the dimensions of arg to x and y.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Other ] | [ Subir : Tablas del manual sobre notación ] | [ Lista de articulaciones > ] |
A.9 Text markup list commands
The following commands can all be used with \markuplines
.
-
\column-lines
args (markup list) -
Like
\column
, but return a list of lines instead of a single markup.baseline-skip
determines the space between each markup in args.Used properties:
-
baseline-skip
-
-
\justified-lines
args (markup list) -
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) -
Like
\override
, for markup lists. -
\table-of-contents
-
\wordwrap-internal
justify (boolean) args (markup list) -
Internal markup list command used to define
\justify
and\wordwrap
.Used properties:
-
text-direction
(1) -
word-space
-
line-width
(#f)
-
-
\wordwrap-lines
args (markup list) -
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
-
-
\wordwrap-string-internal
justify (boolean) arg (string) -
Internal markup list command used to define
\justify-string
and\wordwrap-string
.Used properties:
-
text-direction
(1) -
word-space
-
line-width
-
A.10 Lista de articulaciones
Las siguientes inscripciones están disponibles en la tipografía Feta y se pueden adjuntar a las notas (p.ej. ‘c\accent’).
Indicaciones de articulación | ||
Indicaciones de adornos | ||
Indicaciones de calderón | ||
Indicaciones específicas de ciertos instrumentos | ||
Indicaciones de repetición | ||
Indicaciones antiguas |
Indicaciones de articulación
Indicaciones de adornos
Indicaciones de calderón
Indicaciones específicas de ciertos instrumentos
Indicaciones de repetición
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Indicaciones de repetición ] | [ Subir : Lista de articulaciones ] | [ Notas de percusión > ] |
Indicaciones antiguas
A.11 Notas de percusión
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Notas de percusión ] | [ Subir : Tablas del manual sobre notación ] | [ alist (lista-A) > ] |
A.12 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < Glosario técnico ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < alist (lista-A) ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < callback ] | [ Subir : 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.
Una cerradura simple es una cerradura cuya expresión no tiene variables libres y por ello no tiene ligaduras de variables libres.
Una cerradura simple se representa en LilyPond mediante un ‘smob’ que contiene la expresión y un método para aplicar la expresión a la lista de argumentos que se le pasa.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < closure (cerradura) ] | [ Subir : 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, Codificación del texto.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < glifo ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < grob (objeto gráfico) ] | [ Subir : Glosario técnico ] | [ interfaz > ] |
inmutable
Un objeto inmutable es aquél 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < inmutable ] | [ Subir : 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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < interfaz ] | [ Subir : 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.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < mutable ] | [ Subir : 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.
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 Gramática de LilyPond. 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.
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
- parseStringResult
- partCombineListener
- pitchnames
- toplevel-bookparts
- toplevel-scores
- showLastLength
- showFirstLength
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < variable del analizador sintáctico ] | [ Subir : Glosario técnico ] | [ cerradura simple > ] |
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < prob (objeto de propiedades) ] | [ Subir : Glosario técnico ] | [ smob (objeto de Scheme) > ] |
cerradura simple
Véase closure (cerradura).
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Hoja de referencia rápida >> ] | ||
[ < cerradura simple ] | [ Subir : 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’.
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.13 Todas las propiedades de contexto
-
aDueText
(markup) Text to print at a unisono passage.
-
alignAboveContext
(string) Where to insert newly created context in vertical alignment.
-
alignBassFigureAccidentals
(boolean) If true, then the accidentals are aligned in bass figure context.
-
alignBelowContext
(string) Where to insert newly created context in vertical alignment.
-
associatedVoice
(string) Name of the
Voice
that has the melody for thisLyrics
line.-
autoAccidentals
(list) List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
-
context
The current context to which the rule should be applied.
-
pitch
The pitch of the note to be evaluated.
-
barnum
The current bar number.
-
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.-
-
autoBeamCheck
(procedure) A procedure taking three arguments, context, dir [start/stop (-1 or 1)], and test [shortest note in the beam]. A non-
#f
return value starts or stops the auto beam.-
autoBeaming
(boolean) If set to true then beams are generated automatically.
-
autoCautionaries
(list) List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.-
automaticBars
(boolean) If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\bar
command. Unlike the\cadenzaOn
keyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.-
barAlways
(boolean) If set to true a bar line is drawn after each note.
-
barCheckSynchronize
(boolean) If true then reset
measurePosition
when finding a bar check.-
barNumberVisibility
(procedure) A Procedure that takes an integer and returns whether the corresponding bar number should be printed.
-
bassFigureFormatFunction
(procedure) A procedure that is called to produce the formatting for a
BassFigure
grob. It takes a list ofBassFigureEvent
s, a context, and the grob to format.-
bassStaffProperties
(list) An alist of property settings to apply for the down staff of
PianoStaff
. Used by\autochange
.-
beamSettings
(list) Specifies when automatically generated beams should begin and end, as well as beam subdivision behavior. See behavior Setting automatic beam behavior for more information.
-
beatLength
(moment) The length of one beat in this time signature.
-
chordChanges
(boolean) Only show changes in chords scheme?
-
chordNameExceptions
(list) An alist of chord exceptions. Contains
(chord . markup)
entries.-
chordNameExceptionsFull
(list) An alist of full chord exceptions. Contains
(chord . markup)
entries.-
chordNameExceptionsPartial
(list) An alist of partial chord exceptions. Contains
(chord . (prefix-markup suffix-markup))
entries.-
chordNameFunction
(procedure) The function that converts lists of pitches to chord names.
-
chordNameLowercaseMinor
(boolean) Downcase roots of minor chords?
-
chordNameSeparator
(markup) The markup object used to separate parts of a chord name.
-
chordNoteNamer
(procedure) A function that converts from a pitch object to a text markup. Used for single pitches.
-
chordPrefixSpacer
(number) The space added between the root symbol and the prefix of a chord name.
-
chordRootNamer
(procedure) A function that converts from a pitch object to a text markup. Used for chords.
-
clefGlyph
(string) Name of the symbol within the music font.
-
clefOctavation
(integer) Add this much extra octavation. Values of 7 and -7 are common.
-
clefPosition
(number) Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
-
completionBusy
(boolean) Whether a completion-note head is playing.
-
connectArpeggios
(boolean) If set, connect arpeggios across piano staff.
-
countPercentRepeats
(boolean) If set, produce counters for percent repeats.
-
createKeyOnClefChange
(boolean) Print a key signature whenever the clef is changed.
-
createSpacing
(boolean) Create
StaffSpacing
objects? Should be set for staves.-
crescendoSpanner
(symbol) The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
-
crescendoText
(markup) The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
-
currentBarNumber
(integer) Contains the current barnumber. This property is incremented at every bar line.
-
decrescendoSpanner
(symbol) The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
-
decrescendoText
(markup) The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
-
defaultBarType
(string) Set the default type of bar line. See
whichBar
for information on available bar types.This variable is read by Timing_translator at Score level.
-
doubleRepeatType
(string) Set the default bar line for double repeats.
-
doubleSlurs
(boolean) If set, two slurs are created for every slurred note, one above and one below the chord.
-
drumPitchTable
(hash table) A table mapping percussion instruments (symbols) to pitches.
-
drumStyleTable
(hash table) A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)
as values.-
explicitClefVisibility
(vector) ‘break-visibility’ function for clef changes.
-
explicitKeySignatureVisibility
(vector) ‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.-
extendersOverRests
(boolean) Whether to continue extenders as they cross a rest.
-
extraNatural
(boolean) Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
-
figuredBassAlterationDirection
(direction) Where to put alterations relative to the main figure.
-
figuredBassCenterContinuations
(boolean) Whether to vertically center pairs of extender lines. This does not work with three or more lines.
-
figuredBassFormatter
(procedure) A routine generating a markup for a bass figure.
-
figuredBassPlusDirection
(direction) Where to put plus signs relative to the main figure.
-
fingeringOrientations
(list) A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
-
firstClef
(boolean) If true, create a new clef when starting a staff.
-
followVoice
(boolean) If set, note heads are tracked across staff switches by a thin line.
-
fontSize
(number) The relative size of all grobs in a context.
-
forbidBreak
(boolean) If set to
##t
, prevent a line break at this point.-
forceClef
(boolean) Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
-
fretLabels
(list) A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.
-
gridInterval
(moment) Interval for which to generate
GridPoint
s.-
harmonicAccidentals
(boolean) If set, harmonic notes in chords get accidentals.
-
harmonicDots
(boolean) If set, harmonic notes in dotted chords get dots.
-
highStringOne
(boolean) Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
-
ignoreBarChecks
(boolean) Ignore bar checks.
-
ignoreFiguredBassRest
(boolean) Don’t swallow rest events.
-
ignoreMelismata
(boolean) Ignore melismata for this Lyrics line.
-
implicitBassFigures
(list) A list of bass figures that are not printed as numbers, but only as extender lines.
-
implicitTimeSignatureVisibility
(vector) break visibility for the default time signature.
-
includeGraceNotes
(boolean) Do not ignore grace notes for Lyrics.
-
instrumentCueName
(markup) The name to print if another instrument is to be taken.
-
instrumentEqualizer
(procedure) A function taking a string (instrument name), and returning a
(min . max)
pair of numbers for the loudness range of the instrument.-
instrumentName
(markup) The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.-
instrumentTransposition
(pitch) Define the transposition of the instrument. Its value is the pitch that sounds like middle C. This is used to transpose the MIDI output, and
\quote
s.-
internalBarNumber
(integer) Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.-
keepAliveInterfaces
(list) A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.-
keyAlterationOrder
(list) An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).-
keySignature
(list) The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT))
.-
lyricMelismaAlignment
(direction) Alignment to use for a melisma syllable.
-
majorSevenSymbol
(markup) How should the major 7th be formatted in a chord name?
-
markFormatter
(procedure) A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
-
maximumFretStretch
(number) Don’t allocate frets further than this from specified frets.
-
measureLength
(moment) Length of one measure in the current time signature.
-
measurePosition
(moment) How much of the current measure have we had. This can be set manually to create incomplete measures.
-
melismaBusyProperties
(list) A list of properties (symbols) to determine whether a melisma is playing. Setting this property will influence how lyrics are aligned to notes. For example, if set to
#'(melismaBusy beamMelismaBusy)
, only manual melismata and manual beams are considered. Possible values includemelismaBusy
,slurMelismaBusy
,tieMelismaBusy
, andbeamMelismaBusy
.-
metronomeMarkFormatter
(procedure) How to produce a metronome markup. Called with four arguments: text, duration, count and context.
-
middleCClefPosition
(number) The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.-
middleCOffset
(number) The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.-
middleCPosition
(number) The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.-
midiInstrument
(string) Name of the MIDI instrument to use.
-
midiMaximumVolume
(number) Analogous to
midiMinimumVolume
.-
midiMinimumVolume
(number) Set the minimum loudness for MIDI. Ranges from 0 to 1.
-
minimumFret
(number) The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret
.-
minimumPageTurnLength
(moment) Minimum length of a rest for a page turn to be allowed.
-
minimumRepeatLengthForPageTurn
(moment) Minimum length of a repeated section for a page turn to be allowed within that section.
-
noChordSymbol
(markup) Markup to be displayed for rests in a ChordNames context.
-
noteToFretFunction
(procedure) Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
-
ottavation
(markup) If set, the text for an ottava spanner. Changing this creates a new text spanner.
-
output
(music output) The output produced by a score-level translator during music interpretation.
-
pedalSostenutoStrings
(list) See
pedalSustainStrings
.-
pedalSostenutoStyle
(symbol) See
pedalSustainStyle
.-
pedalSustainStrings
(list) A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.-
pedalSustainStyle
(symbol) A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).-
pedalUnaCordaStrings
(list) See
pedalSustainStrings
.-
pedalUnaCordaStyle
(symbol) See
pedalSustainStyle
.-
predefinedDiagramTable
(hash table) The hash table of predefined fret diagrams to use in FretBoards.
-
printKeyCancellation
(boolean) Print restoration alterations before a key signature change.
-
printOctaveNames
(boolean) Print octave marks for the
NoteNames
context.-
printPartCombineTexts
(boolean) Set ‘Solo’ and ‘A due’ texts in the part combiner?
-
proportionalNotationDuration
(moment) Global override for shortest-playing duration. This is used for switching on proportional notation.
-
rehearsalMark
(integer) The last rehearsal mark printed.
-
repeatCommands
(list) This property is a list of commands of the form
(list 'volta x)
, where x is a string or#f
.'end-repeat
is also accepted as a command.-
repeatCountVisibility
(procedure) A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.-
restNumberThreshold
(number) If a multimeasure rest has more measures than this, a number is printed.
-
shapeNoteStyles
(vector) Vector of symbols, listing style for each note head relative to the tonic (qv.) of the scale.
-
shortInstrumentName
(markup) See
instrumentName
.-
shortVocalName
(markup) Name of a vocal line, short version.
-
skipBars
(boolean) If set to true, then skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default), multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.
{ r1 r1*3 R1*3 \set Score.skipBars= ##t r1*3 R1*3 }
-
skipTypesetting
(boolean) If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
-
soloIIText
(markup) The text for the start of a solo for voice ‘two’ when part-combining.
-
soloText
(markup) The text for the start of a solo when part-combining.
-
squashedPosition
(integer) Vertical position of squashing for Pitch_squash_engraver.
-
staffLineLayoutFunction
(procedure) Layout of staff lines,
traditional
, orsemitone
.-
stanza
(markup) Stanza ‘number’ to print before the start of a verse. Use in
Lyrics
context.-
stemLeftBeamCount
(integer) Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
-
stemRightBeamCount
(integer) See
stemLeftBeamCount
.-
stringNumberOrientations
(list) See
fingeringOrientations
.-
stringOneTopmost
(boolean) Whether the first string is printed on the top line of the tablature.
-
stringTunings
(list) The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
-
strokeFingerOrientations
(list) See
fingeringOrientations
.-
subdivideBeams
(boolean) If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
-
suggestAccidentals
(boolean) If set, accidentals are typeset as cautionary suggestions over the note.
-
systemStartDelimiter
(symbol) Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.-
systemStartDelimiterHierarchy
(pair) A nested list, indicating the nesting of a start delimiters.
-
tablatureFormat
(procedure) A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
-
tabStaffLineLayoutFunction
(procedure) A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
-
tempoHideNote
(boolean) Hide the note=count in tempo marks.
-
tempoText
(markup) Text for tempo marks.
-
tempoUnitCount
(number) Count for specifying tempo.
-
tempoUnitDuration
(duration) Unit for specifying tempo.
-
tempoWholesPerMinute
(moment) The tempo in whole notes per minute.
-
tieWaitForNote
(boolean) If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
-
timeSignatureFraction
(pair of numbers) A pair of numbers, signifying the time signature. For example,
#'(4 . 4)
is a 4/4 time signature.-
timing
(boolean) Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
-
tonic
(pitch) The tonic of the current scale.
-
topLevelAlignment
(boolean) If true, the Vertical_align_engraver will create a VerticalAlignment; otherwise, it will create a StaffGrouper
-
trebleStaffProperties
(list) An alist of property settings to apply for the up staff of
PianoStaff
. Used by\autochange
.-
tremoloFlags
(integer) The number of tremolo flags to add if no number is specified.
-
tupletFullLength
(boolean) If set, the tuplet is printed up to the start of the next note.
-
tupletFullLengthNote
(boolean) If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
-
tupletSpannerDuration
(moment) Normally, a tuplet bracket is as wide as the
\times
expression that gave rise to it. By setting this property, you can make brackets last shorter.{ \set tupletSpannerDuration = #(ly:make-moment 1 4) \times 2/3 { c8 c c c c c } }
-
useBassFigureExtenders
(boolean) Whether to use extender lines for repeated bass figures.
-
verticallySpacedContexts
(list) List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
-
vocalName
(markup) Name of a vocal line.
-
voltaSpannerDuration
(moment) This specifies the maximum duration to use for the brackets printed for
\alternative
. This can be used to shrink the length of brackets in the situation where one alternative is very large.-
whichBar
(string) This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"
This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
A.14 Propiedades de disposición
-
add-stem-support
(boolean) If set, the
Stem
object is included in this script’s support.-
after-last-staff-spacing
(list) An alist of spacing variables that controls the spacing after the last staff in this staff group. See next-staff-spacing for a description of the elements of this alist.
-
after-line-breaking
(boolean) Dummy property, used to trigger callback for
after-line-breaking
.-
align-dir
(direction) Which side to align?
-1
: left side,0
: around center of width,1
: right side.-
allow-loose-spacing
(boolean) If set, column can be detached from main spacing.
-
allow-span-bar
(boolean) If false, no inter-staff bar line will be created below this bar line.
-
alteration
(number) Alteration numbers for accidental.
-
alteration-alist
(list) List of
(pitch . accidental)
pairs for key signature.-
annotation
(string) Annotate a grob for debug purposes.
-
arpeggio-direction
(direction) If set, put an arrow on the arpeggio squiggly line.
-
arrow-length
(number) Arrow length.
-
arrow-width
(number) Arrow width.
-
auto-knee-gap
(dimension, in staff space) If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.
-
average-spacing-wishes
(boolean) If set, the spacing wishes are averaged over staves.
-
avoid-note-head
(boolean) If set, the stem of a chord does not pass through all note heads, but starts at the last note head.
-
avoid-slur
(symbol) Method of handling slur collisions. Choices are
inside
,outside
,around
, andignore
.inside
adjusts the slur if needed to keep the grob inside the slur.outside
moves the grob vertically to the outside of the slur.around
moves the grob vertically to the outside of the slur only if there is a collision.ignore
does not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outside
andaround
behave likeignore
.-
axes
(list) List of axis numbers. In the case of alignment grobs, this should contain only one number.
-
bar-size
(dimension, in staff space) The size of a bar line.
-
base-shortest-duration
(moment) Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
-
baseline-skip
(dimension, in staff space) Distance between base lines of multiple lines of text.
-
beam-thickness
(dimension, in staff space) Beam thickness, measured in
staff-space
units.-
beam-width
(dimension, in staff space) Width of the tremolo sign.
-
beamed-stem-shorten
(list) How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
-
beaming
(pair) Pair of number lists. Each number list specifies which beams to make.
0
is the central beam,1
is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.-
beamlet-default-length
(pair) A pair of numbers. The first number specifies the default length of a beamlet that sticks out of the left hand side of this stem; the second number specifies the default length of the beamlet to the right. The actual length of a beamlet is determined by taking either the default length or the length specified by
beamlet-max-length-proportion
, whichever is smaller.-
beamlet-max-length-proportion
(pair) The maximum length of a beamlet, as a proportion of the distance between two adjacent stems.
-
before-line-breaking
(boolean) Dummy property, used to trigger a callback function.
-
between-cols
(pair) Where to attach a loose column to.
-
between-staff-spacing
(list) An alist of spacing variables that controls the spacing between staves within this staff group. See next-staff-spacing for a description of the elements of this alist.
-
bound-details
(list) An alist of properties for determining attachments of spanners to edges.
-
bound-padding
(number) The amount of padding to insert around spanner bounds.
-
bracket-flare
(pair of numbers) A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0
means straight edges.-
bracket-visibility
(boolean or symbol) This controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to
if-no-beam
makes it print only if there is no beam associated with this tuplet bracket.-
break-align-anchor
(number) Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
-
break-align-anchor-alignment
(number) Read by
ly:break-aligned-interface::calc-extent-aligned-anchor
for aligning an anchor to a grob’s extent.-
break-align-orders
(vector) Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. An order is a list of symbols.
For example, clefs are put after key signatures by setting
\override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(span-bar breathing-sign staff-bar key clef time-signature))
-
break-align-symbol
(symbol) This key is used for aligning and spacing breakable items.
-
break-align-symbols
(list) A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on). Choices are
left-edge
,ambitus
,breathing-sign
,clef
,staff-bar
,key-cancellation
,key-signature
,time-signature
, andcustos
.-
break-overshoot
(pair of numbers) How much does a broken spanner stick out of its bounds?
-
break-visibility
(vector) A vector of 3 booleans,
#(end-of-line unbroken begin-of-line)
.#t
means visible,#f
means killed.-
breakable
(boolean) Allow breaks here.
-
c0-position
(integer) An integer indicating the position of middle C.
-
circled-tip
(boolean) Put a circle at start/end of hairpins (al/del niente).
-
clip-edges
(boolean) Allow outward pointing beamlets at the edges of beams?
-
collapse-height
(dimension, in staff space) Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
-
color
(color) The color of this grob.
-
common-shortest-duration
(moment) The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
-
concaveness
(number) A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
-
connect-to-neighbor
(pair) Pair of booleans, indicating whether this grob looks as a continued break.
-
control-points
(list) List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
-
damping
(number) Amount of beam slope damping.
-
dash-definition
(pair) List of
dash-elements
defining the dash structure. Eachdash-element
has a starting t value, an ending t-value, adash-fraction
, and adash-period
.-
dash-fraction
(number) Size of the dashes, relative to
dash-period
. Should be between0.0
(no line) and1.0
(continuous line).-
dash-period
(number) The length of one dash together with whitespace. If negative, no line is drawn at all.
-
default-direction
(direction) Direction determined by note head positions.
-
default-next-staff-spacing
(list) An alist of spacing variables that controls the spacing between this staff and the next. See next-staff-spacing for a description of the elements of this alist.
-
details
(list) Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
details
property.-
digit-names
(vector) Names for string finger digits.
-
direction
(direction) If
side-axis
is0
(or#X
), then this property determines whether the object is placed#LEFT
,#CENTER
or#RIGHT
with respect to the other object. Otherwise, it determines whether the object is placed#UP
,#CENTER
or#DOWN
. Numerical values may also be used:#UP
=1
,#DOWN
=-1
,#LEFT
=-1
,#RIGHT
=1
,#CENTER
=0
.-
dot-count
(integer) The number of dots.
-
dot-negative-kern
(number) The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
-
dot-placement-list
(list) List consisting of
(description string-number fret-number finger-number)
entries used to define fret diagrams.-
duration-log
(integer) The 2-log of the note head duration, i.e.,
0
= whole note,1
= half note, etc.-
eccentricity
(number) How asymmetrical to make a slur. Positive means move the center to the right.
-
edge-height
(pair) A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height)
.-
edge-text
(pair) A pair specifying the texts to be set at the edges:
(left-text . right-text)
.-
expand-limit
(integer) Maximum number of measures expanded in church rests.
-
extra-dy
(number) Slope glissandi this much extra.
-
extra-offset
(pair of numbers) A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in
staff-space
units of the staff’sStaffSymbol
.-
extra-spacing-height
(pair of numbers) In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0)
.-
extra-spacing-width
(pair of numbers) In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0)
.-
extra-X-extent
(pair of numbers) A grob is enlarged in X dimension by this much.
-
extra-Y-extent
(pair of numbers) A grob is enlarged in Y dimension by this much.
-
flag
(stencil) A function returning the full flag stencil for the
Stem
, which is passed to the function as the only argument. The default ly:stem::calc-stencil function uses theflag-style
property to determine the correct glyph for the flag. By providing your own function, you can create arbitrary flags.-
flag-count
(number) The number of tremolo beams.
-
flag-style
(symbol) A symbol determining what style of flag glyph is typeset on a
Stem
. Valid options include'()
for standard flags,'mensural
and'no-flag
, which switches off the flag.-
font-encoding
(symbol) The font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic
(Emmentaler),fetaBraces
,fetaText
(Emmentaler).-
font-family
(symbol) The font family is the broadest category for selecting text fonts. Options include:
sans
,roman
.-
font-name
(string) Specifies a file name (without extension) of the font to load. This setting overrides selection using
font-family
,font-series
andfont-shape
.-
font-series
(symbol) Select the series of a font. Choices include
medium
,bold
,bold-narrow
, etc.-
font-shape
(symbol) Select the shape of a font. Choices include
upright
,italic
,caps
.-
font-size
(number) The font size, compared to the ‘normal’ size.
0
is style-sheet’s normal size,-1
is smaller,+1
is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.-
force-hshift
(number) This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by note-collision-interface.
-
fraction
(pair of numbers) Numerator and denominator of a time signature object.
-
french-beaming
(boolean) Use French beaming style for this stem. The stem stops at the innermost beams.
-
fret-diagram-details
(list) An alist of detailed grob properties for fret diagrams. Each alist entry consists of a
(property . value)
pair. The properties which can be included infret-diagram-details
include the following:-
barre-type
– Type of barre indication used. Choices includecurved
,straight
, andnone
. Defaultcurved
. -
capo-thickness
– Thickness of capo indicator, in multiples of fret-space. Default value 0.5. -
dot-color
– Color of dots. Options includeblack
andwhite
. Defaultblack
. -
dot-label-font-mag
– Magnification for font used to label fret dots. Default value 1. -
dot-position
– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radius
for dots with labels. -
dot-radius
– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots. -
finger-code
– Code for the type of fingering indication used. Options includenone
,in-dot
, andbelow-string
. Defaultnone
for markup fret diagrams,below-string
forFretBoards
fret diagrams. -
fret-count
– The number of frets. Default 4. -
fret-label-font-mag
– The magnification of the font used to label the lowest fret number. Default 0.5. -
fret-label-vertical-offset
– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0. -
label-dir
– Side to which the fret label is attached.-1
,#LEFT
, or#DOWN
for left or down;1
,#RIGHT
, or#UP
for right or up. Default#RIGHT
. -
mute-string
– Character string to be used to indicate muted string. Default"x"
. -
number-type
– Type of numbers to use in fret label. Choices includeroman-lower
,roman-upper
, andarabic
. Defaultroman-lower
. -
open-string
– Character string to be used to indicate open string. Default"o"
. -
orientation
– Orientation of fret-diagram. Options includenormal
,landscape
, andopposing-landscape
. Defaultnormal
. -
string-count
– The number of strings. Default 6. -
string-label-font-mag
– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormal
orientation, 0.5 forlandscape
andopposing-landscape
. -
string-thickness-factor
– Factor for changing thickness of each string in the fret diagram. Thickness of string k is given bythickness
* (1+string-thickness-factor
) ^ (k-1). Default 0. -
top-fret-thickness
– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3. -
xo-font-magnification
– Magnification used for mute and open string indicators. Default value 0.5. -
xo-padding
– Padding for open and mute indicators from top fret. Default value 0.25.
-
-
full-length-padding
(number) How much padding to use at the right side of a full-length tuplet bracket.
-
full-length-to-extent
(boolean) Run to the extent of the column for a full-length tuplet bracket.
-
full-measure-extra-space
(number) Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.
-
full-size-change
(boolean) Don’t make a change clef smaller.
-
gap
(dimension, in staff space) Size of a gap in a variable symbol.
-
gap-count
(integer) Number of gapped beams for tremolo.
-
glyph
(string) A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.
-
glyph-name
(string) The glyph name within the font.
-
glyph-name-alist
(list) An alist of key-string pairs.
-
grow-direction
(direction) Crescendo or decrescendo?
-
hair-thickness
(number) Thickness of the thin line in a bar line.
-
harp-pedal-details
(list) An alist of detailed grob properties for harp pedal diagrams. Each alist entry consists of a
(property . value)
pair. The properties which can be included in harp-pedal-details include the following:-
box-offset
– Vertical shift of the center of flat/sharp pedal boxes above/below the horizontal line. Default value 0.8. -
box-width
– Width of each pedal box. Default value 0.4. -
box-height
– Height of each pedal box. Default value 1.0. -
space-before-divider
– Space between boxes before the first divider (so that the diagram can be made symmetric). Default value 0.8. -
space-after-divider
– Space between boxes after the first divider. Default value 0.8. -
circle-thickness
– Thickness (in unit of the line-thickness) of the ellipse around circled pedals. Default value 0.5. -
circle-x-padding
– Padding in X direction of the ellipse around circled pedals. Default value 0.15. -
circle-y-padding
– Padding in Y direction of the ellipse around circled pedals. Default value 0.2.
-
-
head-direction
(direction) Are the note heads left or right in a semitie?
-
height
(dimension, in staff space) Height of an object in
staff-space
units.-
height-limit
(dimension, in staff space) Maximum slur height: The longer the slur, the closer it is to this height.
-
hide-tied-accidental-after-break
(boolean) If set, an accidental that appears on a tied note after a line break will not be displayed.
-
horizontal-shift
(integer) An integer that identifies ranking of
NoteColumn
s for horizontal shifting. This is used by note-collision-interface.-
horizontal-skylines
(pair of skylines) Two skylines, one to the left and one to the right of this grob.
-
ignore-collision
(boolean) If set, don’t do note collision resolution on this
NoteColumn
.-
implicit
(boolean) Is this an implicit bass figure?
-
inspect-index
(integer) If debugging is set, set beam and slur configuration to this index, and print the respective scores.
-
inspect-quants
(pair of numbers) If debugging is set, set beam and slur quants to this position, and print the respective scores.
-
inter-loose-line-spacing
(list) Specifies how to vertically position a non-spaced line relative to the other non-spaced lines around it. See next-staff-spacing for the format of this list.
-
inter-staff-spacing
(list) Specifies how to vertically position a non-spaced line relative to the staff for which it has affinity. See next-staff-spacing for the format of this list.
-
keep-fixed-while-stretching
(boolean) A grob with this property set to true is fixed relative to the staff above it when systems are stretched.
-
keep-inside-line
(boolean) If set, this column cannot have objects sticking into the margin.
-
kern
(dimension, in staff space) Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
-
knee
(boolean) Is this beam kneed?
-
knee-spacing-correction
(number) Factor for the optical correction amount for kneed beams. Set between
0
for no correction and1
for full correction.-
labels
(list) List of labels (symbols) placed on a column.
-
layer
(integer) The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
-
ledger-line-thickness
(pair of numbers) The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
-
left-bound-info
(list) An alist of properties for determining attachments of spanners to edges.
-
left-padding
(dimension, in staff space) The amount of space that is put left to an object (e.g., a group of accidentals).
-
length
(dimension, in staff space) User override for the stem length of unbeamed stems.
-
length-fraction
(number) Multiplier for lengths. Used for determining ledger lines and stem lengths.
-
line-break-penalty
(number) Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and prefers a line break at a column with a negative penalty.
-
line-break-permission
(symbol) Instructs the line breaker on whether to put a line break at this column. Can be
force
orallow
.-
line-break-system-details
(list) An alist of properties to use if this column is the start of a system.
-
line-count
(integer) The number of staff lines.
-
line-positions
(list) Vertical positions of staff lines.
-
line-thickness
(number) The thickness of the tie or slur contour.
-
long-text
(markup) Text markup. See Formatting text.
-
max-beam-connect
(integer) Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
-
max-stretch
(number) The maximum amount that this
VerticalAxisGroup
can be vertically stretched (for example, in order to better fill a page).-
measure-count
(integer) The number of measures for a multi-measure rest.
-
measure-length
(moment) Length of a measure. Used in some spacing situations.
-
merge-differently-dotted
(boolean) Merge note heads in collisions, even if they have a different number of dots. This is normal notation for some types of polyphonic music.
merge-differently-dotted
only applies to opposing stem directions (i.e., voice 1 & 2).-
merge-differently-headed
(boolean) Merge note heads in collisions, even if they have different note heads. The smaller of the two heads is rendered invisible. This is used in polyphonic guitar notation. The value of this setting is used by note-collision-interface.
merge-differently-headed
only applies to opposing stem directions (i.e., voice 1 & 2).-
minimum-distance
(dimension, in staff space) Minimum distance between rest and notes or beam.
-
minimum-length
(dimension, in staff space) Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.-
minimum-length-fraction
(number) Minimum length of ledger line as fraction of note head size.
-
minimum-space
(dimension, in staff space) Minimum distance that the victim should move (after padding).
-
minimum-X-extent
(pair of numbers) Minimum size of an object in X dimension, measured in
staff-space
units.-
minimum-Y-extent
(pair of numbers) Minimum size of an object in Y dimension, measured in
staff-space
units.-
neutral-direction
(direction) Which direction to take in the center of the staff.
-
neutral-position
(number) Position (in half staff spaces) where to flip the direction of custos stem.
-
next
(graphical (layout) object) Object that is next relation (e.g., the lyric syllable following an extender).
-
next-staff-spacing
(list) An alist of properties used to position the next staff in the system. The symbols that can be defined in the alist are
- space – the amount of stretchable space between the center of this staff and the center of the next staff;
- padding – the minimum amount of whitespace that must be present between this staff and the next staff;
- stretchability – the ease with which the stretchable space increases when the system to which this staff belongs is stretched. If this is zero, the distance to the next staff will be fixed either at space or at padding plus the minimum distance to ensure there is no overlap, whichever is larger;
- minimum-distance – the minimum distance to place between the center of this staff and the center of the next. This differs from padding in that the height of a staff has no effect on the application of minimum-distance (whereas the height of a staff is crucial for padding).
-
no-alignment
(boolean) If set, don’t place this grob in a
VerticalAlignment
; rather, place it using its ownY-offset
callback.-
no-ledgers
(boolean) If set, don’t draw ledger lines on this object.
-
no-stem-extend
(boolean) If set, notes with ledger lines do not get stems extending to the middle staff line.
-
non-affinity-spacing
(list) An alist of spacing variables that controls the spacing from a loose line (see staff-affinity) to the staff for which the loose line does not have affinity. See next-staff-spacing for a description of the elements of this alist.
-
non-default
(boolean) Set for manually specified clefs.
-
non-musical
(boolean) True if the grob belongs to a
NonMusicalPaperColumn
.-
note-names
(vector) Vector of strings containing names for easy-notation note heads.
-
outside-staff-horizontal-padding
(number) By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
-
outside-staff-padding
(number) The padding to place between this grob and the staff when spacing according to
outside-staff-priority
.-
outside-staff-priority
(number) If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priority
is closer to the staff.-
packed-spacing
(boolean) If set, the notes are spaced as tightly as possible.
-
padding
(dimension, in staff space) Add this much extra space between objects that are next to each other.
-
padding-pairs
(list) An alist mapping
(name . name)
to distances.-
page-break-penalty
(number) Penalty for page break at this column. This affects the choices of the page breaker; it avoids a page break at a column with a positive penalty and prefers a page break at a column with a negative penalty.
-
page-break-permission
(symbol) Instructs the page breaker on whether to put a page break at this column. Can be
force
orallow
.-
page-turn-penalty
(number) Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.
-
page-turn-permission
(symbol) Instructs the page breaker on whether to put a page turn at this column. Can be
force
orallow
.-
parenthesized
(boolean) Parenthesize this grob.
-
positions
(pair of numbers) Pair of staff coordinates
(left . right)
, where both left and right are instaff-space
units of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.-
prefer-dotted-right
(boolean) For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
-
ratio
(number) Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit
.-
remove-empty
(boolean) If set, remove group if it contains no interesting items.
-
remove-first
(boolean) Remove the first staff of an orchestral score?
-
restore-first
(boolean) Print a natural before the accidental.
-
rhythmic-location
(rhythmic location) Where (bar number, measure position) in the score.
-
right-bound-info
(list) An alist of properties for determining attachments of spanners to edges.
-
right-padding
(dimension, in staff space) Space to insert on the right side of an object (e.g., between note and its accidentals).
-
rotation
(list) Number of degrees to rotate this object, and what point to rotate around. For example,
#'(45 0 0)
rotates by 45 degrees around the center of this object.-
same-direction-correction
(number) Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
-
script-priority
(number) A sorting key that determines in what order a script is within a stack of scripts.
-
self-alignment-X
(number) Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Other numerical values may also be specified.-
self-alignment-Y
(number) Like
self-alignment-X
but for the Y axis.-
shorten-pair
(pair of numbers) The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
-
shortest-duration-space
(dimension, in staff space) Start with this much space for the shortest duration. This is expressed in
spacing-increment
as unit. See also spacing-spanner-interface.-
shortest-playing-duration
(moment) The duration of the shortest note playing here.
-
shortest-starter-duration
(moment) The duration of the shortest note that starts here.
-
side-axis
(number) If the value is
#X
(or equivalently0
), the object is placed horizontally next to the other object. If the value is#Y
or1
, it is placed vertically.-
side-relative-direction
(direction) Multiply direction of
direction-source
with this to get the direction of this object.-
size
(number) Size of object, relative to standard size.
-
skyline-horizontal-padding
(number) For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
-
slash-negative-kern
(number) The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
-
slope
(number) The slope of this object.
-
slur-padding
(number) Extra distance between slur and script.
-
space-alist
(list) A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance)
, where type can be the symbolsminimum-space
orextra-space
.-
space-to-barline
(boolean) If set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
-
spacing-increment
(number) Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
-
springs-and-rods
(boolean) Dummy variable for triggering spacing routines.
-
stacking-dir
(direction) Stack objects in which direction?
-
staff-affinity
(direction) The direction of the staff to which this line should stick.
-
staff-padding
(dimension, in staff space) Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
-
staff-position
(number) Vertical position, measured in half staff spaces, counted from the middle line.
-
staff-space
(dimension, in staff space) Amount of space between staff lines, expressed in global
staff-space
.-
stem-attachment
(pair of numbers) An
(x . y)
pair where the stem attaches to the notehead.-
stem-end-position
(number) Where does the stem end (the end is opposite to the support-head)?
-
stem-spacing-correction
(number) Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
-
stemlet-length
(number) How long should be a stem over a rest?
-
stencil
(stencil) The symbol to print.
-
stencils
(list) Multiple stencils, used as intermediate value.
-
strict-grace-spacing
(boolean) If set, main notes are spaced normally, then grace notes are put left of the musical columns for the main notes.
-
strict-note-spacing
(boolean) If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.
-
stroke-style
(string) Set to
"grace"
to turn stroke through flag on.-
style
(symbol) This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.-
text
(markup) Text markup. See Formatting text.
-
text-direction
(direction) This controls the ordering of the words. The default
RIGHT
is for roman text. Arabic or Hebrew should useLEFT
.-
thick-thickness
(number) Bar line thickness, measured in
line-thickness
.-
thickness
(number) Line thickness, generally measured in
line-thickness
.-
thin-kern
(number) The space after a hair-line in a bar line.
-
tie-configuration
(list) List of
(position . dir)
pairs, indicating the desired tie configuration, where position is the offset from the center of the staff in staff space and dir indicates the direction of the tie (1
=>up,-1
=>down,0
=>center). A non-pair entry in the list causes the corresponding tie to be formatted automatically.-
to-barline
(boolean) If true, the spanner will stop at the bar line just before it would otherwise stop.
-
toward-stem-shift
(number) Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction.
0.0
means keep the default position (centered on the note head),1.0
means centered on the stem. Interpolated values are possible.-
transparent
(boolean) This makes the grob invisible.
-
uniform-stretching
(boolean) If set, items stretch proportionally to their durations. This looks better in complex polyphonic patterns.
-
used
(boolean) If set, this spacing column is kept in the spacing problem.
-
vertical-skylines
(pair of skylines) Two skylines, one above and one below this grob.
-
when
(moment) Global time step associated with this column happen?
-
whiteout
(boolean) If true, the grob is printed over a white background to white-out underlying material, if the grob is visible. Usually #f by default.
-
width
(dimension, in staff space) The width of a grob measured in staff space.
-
word-space
(dimension, in staff space) Space to insert between words in texts.
-
X-extent
(pair of numbers) Hard coded extent in X direction.
-
X-offset
(number) The horizontal amount that this object is moved relative to its X-parent.
-
Y-extent
(pair of numbers) Hard coded extent in Y direction.
-
Y-offset
(number) The vertical amount that this object is moved relative to its Y-parent.
-
zigzag-length
(dimension, in staff space) The length of the lines of a zigzag, relative to
zigzag-width
. A value of1
gives 60-degree zigzags.-
zigzag-width
(dimension, in staff space) The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.
A.15 Funciones musicales disponibles
-
acciaccatura
- music (music) -
Create an acciaccatura from the following music expression
-
addChordShape
- key-symbol (symbol) tuning (pair) shape-definition (string or pair) -
Add chord shape shape-definition to the chord-shape-table hash with the key (cons key-symbol tuning).
-
addInstrumentDefinition
- name (string) lst (list) -
Create instrument name with properties list.
-
addQuote
- name (string) music (music) -
Define music as a quotable music expression named name
-
afterGrace
- main (music) grace (music) -
Create grace note(s) after a main music expression.
-
allowPageTurn
-
Allow a page turn. May be used at toplevel (ie between scores or markups), or inside a score.
-
applyContext
- proc (procedure) -
Modify context properties with Scheme procedure proc.
-
applyMusic
- func (procedure) music (music) -
Apply procedure func to music.
-
applyOutput
- ctx (symbol) proc (procedure) -
Apply function
proc
to every layout object in contextctx
-
appoggiatura
- music (music) -
Create an appoggiatura from music
-
assertBeamQuant
- l (pair) r (pair) -
Testing function: check whether the beam quants l and r are correct
-
assertBeamSlope
- comp (procedure) -
Testing function: check whether the slope of the beam is the same as
comp
-
autochange
- music (music) -
Make voices that switch between staves automatically
-
balloonGrobText
- grob-name (symbol) offset (pair of numbers) text (markup) -
Attach text to grob-name at offset offset (use like
\once
) -
balloonText
- offset (pair of numbers) text (markup) -
Attach text at offset (use like
\tweak
) -
bar
- type (string) -
Insert a bar line of type type
-
barNumberCheck
- n (integer) -
Print a warning if the current bar number is not n.
-
bendAfter
- delta (real number) -
Create a fall or doit of pitch interval delta.
-
bookOutputName
- newfilename (string) -
Direct output for the current book block to newfilename.
-
bookOutputSuffix
- newsuffix (string) -
Set the output filename suffix for the current book block to newsuffix.
-
breathe
-
Insert a breath mark.
-
clef
- type (string) -
Set the current clef to type.
-
cueDuring
- what (string) dir (direction) main-music (music) -
Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir.
-
deadNote
- note (music) -
Print note with a cross-shaped note head.
-
defaultNoteHeads
-
Revert to the default note head style.
-
displayLilyMusic
- music (music) -
Display the LilyPond input representation of music to the console.
-
displayMusic
- music (music) -
Display the internal representation of music to the console.
-
endSpanners
- music (music) -
Terminate the next spanner prematurely after exactly one note without the need of a specific end spanner.
-
featherDurations
- factor (moment) argument (music) -
Adjust durations of music in argument by rational factor.
-
grace
- music (music) -
Insert music as grace notes.
-
harmonicNote
- note (music) -
Print note with a diamond-shaped note head.
-
harmonicsOn
-
Set the default note head style to a diamond-shaped style.
-
instrumentSwitch
- name (string) -
Switch instrument to name, which must be predefined with
\addInstrumentDefinition
. -
keepWithTag
- tag (symbol) music (music) -
Include only elements of music that are tagged with tag.
-
killCues
- music (music) -
Remove cue notes from music.
-
label
- label (symbol) -
Create label as a bookmarking label.
-
makeClusters
- arg (music) -
Display chords in arg as clusters.
-
musicMap
- proc (procedure) mus (music) -
Apply proc to mus and all of the music it contains.
-
noPageBreak
-
Forbid a page break. May be used at toplevel (i.e., between scores or markups), or inside a score.
-
noPageTurn
-
Forbid a page turn. May be used at toplevel (i.e., between scores or markups), or inside a score.
-
octaveCheck
- pitch-note (music) -
Octave check.
-
ottava
- octave (number) -
Set the octavation.
-
overrideBeamSettings
- context (symbol) time-signature (pair) rule-type (symbol) grouping-rule (pair) -
Override beamSettings in context for time signatures of time-signature and rules of type rule-type to have a grouping rule alist grouping-rule. rule-type can be
end
orsubdivide
, with a potential future value ofbegin
. grouping-rule is an alist of (beam-type . grouping) entries. grouping is in units of beam-type. If beam-type is*
, grouping is in units of the denominator of time-signature. -
overrideProperty
- name (string) property (symbol) value (any type) -
Set property to value in all grobs named name. The name argument is a string of the form
"Context.GrobName"
or"GrobName"
. -
pageBreak
-
Force a page break. May be used at toplevel (i.e., between scores or markups), or inside a score.
-
pageTurn
-
Force a page turn between two scores or top-level markups.
-
palmMute
- note (music) -
Print note with a triangle-shaped note head.
-
palmMuteOn
-
Set the default note head style to a triangle-shaped style.
-
parallelMusic
- voice-ids (list) music (music) -
Define parallel music sequences, separated by ’|’ (bar check signs), and assign them to the identifiers provided in voice-ids.
voice-ids: a list of music identifiers (symbols containing only letters)
music: a music sequence, containing BarChecks as limiting expressions.
Example:
\parallelMusic #'(A B C) { c c | d d | e e | d d | e e | f f | } <==> A = { c c | d d | } B = { d d | e e | } C = { e e | f f | }
-
parenthesize
- arg (music) -
Tag arg to be parenthesized.
-
partcombine
- part1 (music) part2 (music) -
Take the music in part1 and part2 and typeset so that they share a staff.
-
phrasingSlurDashPattern
- dash-fraction (number) dash-period (number) -
Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval.
-
pitchedTrill
- main-note (music) secondary-note (music) -
Print a trill with main-note as the main note of the trill and print secondary-note as a stemless note head in parentheses.
-
pointAndClickOff
-
Suppress generating extra code in final-format (e.g. pdf) files to point back to the lilypond source statement.
-
pointAndClickOn
-
Enable generation of code in final-format (e.g. pdf) files to reference the originating lilypond source statement; this is helpful when developing a score but generates bigger final-format files.
-
quoteDuring
- what (string) main-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; usually contains spacers or multi-measure rests. -
removeWithTag
- tag (symbol) music (music) -
Remove elements of music that are tagged with tag.
-
resetRelativeOctave
- reference-note (music) -
Set the octave inside a \relative section.
-
revertBeamSettings
- context (symbol) time-signature (pair) rule-type (symbol) -
Revert beam settings in context for time signatures of time-signature and groups of type group-type. group-type can be
end
orsubdivide
. -
rightHandFinger
- finger (number or string) -
Apply finger as a fingering indication.
-
scaleDurations
- fraction (pair of numbers) music (music) -
Multiply the duration of events in music by fraction.
-
setBeatGrouping
- grouping (pair) -
Set the beat grouping in the current time signature to grouping.
-
shiftDurations
- dur (integer) dots (integer) arg (music) -
Scale arg up by a factor of 2^dur*(2-(1/2)^dots).
-
slurDashPattern
- dash-fraction (number) dash-period (number) -
(undocumented; fixme)
-
spacingTweaks
- parameters (list) -
Set the system stretch, by reading the ’system-stretch property of the ‘parameters’ assoc list.
-
storePredefinedDiagram
- chord (music) tuning (pair) diagram-definition (string or pair) -
Add predefined fret diagram defined by diagram-definition for the chord pitches chord and the stringTuning tuning.
-
styledNoteHeads
- style (symbol) heads (list or symbol) music (music) -
Set heads in music to style.
-
tabChordRepetition
-
Include the string information in a chord repetition.
-
tag
- tag (symbol) arg (music) -
Add tag to the
tags
property of arg. -
tieDashPattern
- dash-fraction (number) dash-period (number) -
(undocumented; fixme)
-
tocItem
- text (markup) -
Add a line to the table of content, using the
tocItemMarkup
paper variable markup -
transposedCueDuring
- what (string) dir (direction) pitch-note (music) main-music (music) -
Insert notes from the part what into a voice called
cue
, using the transposition defined by pitch-note. 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-note (music) -
Set instrument transposition
-
tweak
- sym (symbol) val (any type) arg (music) -
Add
sym . val
to thetweaks
property of arg. -
unfoldRepeats
- music (music) -
Force any
\repeat volta
,\repeat tremolo
or\repeat percent
commands in music to be interpreted as\repeat unfold
. -
withMusicProperty
- sym (symbol) val (any type) music (music) -
Set sym to val in music.
-
xNote
- note (music) -
Print note with a cross-shaped note head.
-
xNotesOn
-
Set the default note head style to a cross-shaped style.
A.16 Predicados de tipo predefinidos
R5RS primary predicates | ||
R5RS secondary predicates | ||
Guile predicates | ||
LilyPond scheme predicates | ||
LilyPond exported predicates |
R5RS primary predicates
Type predicate | Description |
---|---|
| boolean |
| character |
| number |
| pair |
| port |
| procedure |
| string |
| symbol |
| vector |
R5RS secondary predicates
Type predicate | Description |
---|---|
| alphabetic character |
| lower-case character |
| numeric character |
| upper-case character |
| whitespace character |
| complex number |
| end-of-file object |
| even number |
| exact number |
| inexact number |
| input port |
| integer |
| list (use |
| negative number |
| null |
| odd number |
| output port |
| positive number |
| rational number |
| real number |
| zero |
Guile predicates
Type predicate | Description |
---|---|
| hash table |
LilyPond scheme predicates
Type predicate | Description |
---|---|
| boolean or symbol |
| list (use this instead of
|
| color |
| list of grobs |
| list or symbol |
| markup |
| markup command list |
| markup list |
| pair of moment objects |
| number or grob |
| number or string |
| pair of numbers |
| rhythmic location |
| any type |
| string or pair |
| string or symbol |
LilyPond exported predicates
Type predicate | Description |
---|---|
| box |
| context |
| dimension, in staff space |
| direction |
| dispatcher |
| duration |
| font metric |
| graphical (layout) object |
| array of grobs |
| input location |
| item |
| iterator |
| lily-lexer |
| lily-parser |
| listener |
| moment |
| music |
| music function |
| list of music objects |
| music output |
| OpenType font |
| output definition |
| page marker |
| pango font |
| paper book |
| paper-system Prob |
| pitch |
| property object |
| score |
| simple closure |
| skyline |
| pair of skylines |
| source file |
| spanner |
| stencil |
| stream event |
| translator |
| translator group |
A.17 Funciones de Scheme
- Function: ly:add-context-mod contextmods modification
Adds the given context modification to the list contextmods of context modifications.
- Function: ly:add-interface iface desc props
Add a new grob interface. iface is the interface name, desc is the interface description, and props is the list of user-settable properties for the interface.
- Function: ly:add-listener list disp cl
Add the listener list to the dispatcher disp. Whenever disp hears an event of class cl, it is forwarded to list.
- Function: ly:add-option sym val description
Add a program option sym. val is the default value and description is a string description.
- Function: ly:assoc-get key alist default-value strict-checking
Return value if key in alist, else default-value (or
#f
if not specified). If strict-checking is set to#t
and key is not in alist, a programming_error is output.
- Function: ly:axis-group-interface::add-element grob grob-element
Set grob the parent of grob-element on all axes ofgrob.
- Function: ly:beam-grouping settings time-signature rule-type beam-type
Return grouping for beams of beam-type in time-signature for rule-type from settings.
- Function: ly:book-process book-smob default-paper default-layout output
Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).
- Function: ly:book-process-to-systems book-smob default-paper default-layout output
Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).
- Function: ly:bracket a iv t p
Make a bracket in direction a. The extent of the bracket is given by iv. The wings protrude by an amount of p, which may be negative. The thickness is given by t.
- Function: ly:chain-assoc-get key achain default-value strict-checking
Return value for key from a list of alists achain. If no entry is found, return default-value or
#f
if default-value is not specified. With strict-checking set to#t
, a programming_error is output in such cases.
- Function: ly:clear-anonymous-modules
Plug a GUILE 1.6 and 1.7 memory leak by breaking a weak reference pointer cycle explicitly.
- Function: ly:context-events-below context
Return a
stream-distributor
that distributes all events from context and all its subcontexts.
- Function: ly:context-find context name
Find a parent of context that has name or alias name. Return
#f
if not found.
- Function: ly:context-grob-definition context name
Return the definition of name (a symbol) within context as an alist.
- Function: ly:context-id context
Return the ID string of context, i.e., for
\context Voice = one …
return the stringone
.
- Function: ly:context-name context
Return the name of context, i.e., for
\context Voice = one …
return the symbolVoice
.
- Function: ly:context-property context sym def
Return the value for property sym in context. If def is given, and property value is
'()
, return def.
- Function: ly:context-property-where-defined context name
Return the context above context where name is defined.
- Function: ly:context-pushpop-property context grob eltprop val
Do a single
\override
or\revert
operation in context. The grob definition grob is extended with eltprop (if val is specified) or reverted (if unspecified).
- Function: ly:context-set-property! context name val
Set value of property name in context context to val.
- Function: ly:dimension? d
Return d as a number. Used to distinguish length variables from normal numbers.
- Function: ly:dir? s
Is s a direction? Valid directions are
-1
,0
, or1
, where-1
represents left or down,1
represents right or up, and0
represents a neutral direction.
- Function: ly:engraver-make-grob engraver grob-name cause
Creates a grob originating from given engraver instance, with give
grob_name
, a symbol.cause
should either be another grob or a music event.
- Function: ly:error str rest
A Scheme callable function to issue the error str. The error is formatted with
format
and rest.
- Function: ly:eval-simple-closure delayed closure scm-start scm-end
Evaluate a simple closure with the given delayed argument. If scm-start and scm-end are defined, evaluate it purely with those start and end points.
- Function: ly:event-property sev sym
Get the property sym of stream event mus. If sym is undefined, return
'()
.
- Function: ly:font-design-size font
Given the font metric font, return the design size, relative to the current output-scale.
- Function: ly:font-get-glyph font name
Return a stencil from font for the glyph named name. If the glyph is not available, return an empty stencil.
Note that this command can only be used to access glyphs from fonts loaded with
ly:system-font-load
; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodingsfetaMusic
andfetaBraces
, respectively.
- Function: ly:font-glyph-name-to-charcode font name
Return the character code for glyph name in font.
Note that this command can only be used to access glyphs from fonts loaded with
ly:system-font-load
; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodingsfetaMusic
andfetaBraces
, respectively.
- Function: ly:font-glyph-name-to-index font name
Return the index for name in font.
Note that this command can only be used to access glyphs from fonts loaded with
ly:system-font-load
; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodingsfetaMusic
andfetaBraces
, respectively.
- Function: ly:font-index-to-charcode font index
Return the character code for index in font.
Note that this command can only be used to access glyphs from fonts loaded with
ly:system-font-load
; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodingsfetaMusic
andfetaBraces
, respectively.
- Function: ly:font-magnification font
Given the font metric font, return the magnification, relative to the current output-scale.
- Function: ly:font-sub-fonts font
Given the font metric font of an OpenType font, return the names of the subfonts within font.
- Function: ly:format str rest
LilyPond specific format, supporting
~a
and~[0-9]f
. Basic support for~s
is also provided.
- Function: ly:format-output context
Given a global context in its final state, process it and return the
Music_output
object in its final state.
- Function: ly:get-all-function-documentation
Get a hash table with all LilyPond Scheme extension functions.
- Function: ly:get-context-mods contextmod
Returns the list of context modifications stored in contextmod.
- Function: ly:get-listened-event-classes
Return a list of all event classes that some translator listens to.
- Function: ly:grob-alist-chain grob global
Get an alist chain for grob grob, with global as the global default. If unspecified,
font-defaults
from the layout block is taken.
- Function: ly:grob-common-refpoint grob other axis
Find the common refpoint of grob and other for axis.
- Function: ly:grob-common-refpoint-of-array grob others axis
Find the common refpoint of grob and others (a grob-array) for axis.
- Function: ly:grob-extent grob refp axis
Get the extent in axis direction of grob relative to the grob refp.
- Function: ly:grob-object grob sym
Return the value of a pointer in grob g of property sym. It returns
'()
(end-of-list) if sym is undefined in g.
- Function: ly:grob-parent grob axis
Get the parent of grob. axis is 0 for the X-axis, 1 for the Y-axis.
- Function: ly:grob-property grob sym val
Return the value for property sym of grob. If no value is found, return val or
'()
if val is not specified.
- Function: ly:grob-property-data grob sym
Return the value for property sym of grob, but do not process callbacks.
- Function: ly:grob-relative-coordinate grob refp axis
Get the coordinate in axis direction of grob relative to the grob refp.
- Function: ly:grob-robust-relative-extent grob refp axis
Get the extent in axis direction of grob relative to the grob refp, or
(0,0)
if empty.
- Function: ly:grob-set-nested-property! grob symlist val
Set nested property symlist in grob grob to value val.
- Function: ly:grob-set-parent! grob axis parent-grob
Set parent-grob the parent of grob grob in axis axis.
- Function: ly:grouping-rules settings time-signature rule-type
Return grouping rules for time-signature and rule-type from settings.
- Function: ly:gulp-file name size
Read the file name, and return its contents in a string. The file is looked up using the search path.
- Function: ly:input-both-locations sip
Return input location in sip as
(file-name first-line first-column last-line last-column)
.
- Function: ly:input-file-line-char-column sip
Return input location in sip as
(file-name line char column)
.
- Function: ly:input-message sip msg rest
Print msg as a GNU compliant error message, pointing to the location in sip. msg is interpreted similar to
format
’s argument, using rest.
- Function: ly:interpret-music-expression mus ctx
Interpret the music expression mus in the global context ctx. The context is returned in its final state.
- Function: ly:interpret-stencil-expression expr func arg1 offset
Parse expr, feed bits to func with first arg arg1 having offset offset.
- Function: ly:item-break-dir it
The break status direction of item it.
-1
means end of line,0
unbroken, and1
beginning of line.
- Function: ly:lexer-keywords lexer
Return a list of
(KEY . CODE)
pairs, signifying the LilyPond reserved words list.
- Function: ly:make-book paper header scores
Make a
\book
of paper and header (which may be#f
as well) containing\scores
.
- Function: ly:make-duration length dotcount num den
length is the negative logarithm (base 2) of the duration: 1 is a half note, 2 is a quarter note, 3 is an eighth note, etc. The number of dots after the note is given by the optional argument dotcount.
The duration factor is optionally given by num and den.
A duration is a musical duration, i.e., a length of time described by a power of two (whole, half, quarter, etc.) and a number of augmentation dots.
- Function: ly:make-global-context output-def
Set up a global interpretation context, using the output block output_def. The context is returned.
- Function: ly:make-global-translator global
Create a translator group and connect it to the global context global. The translator group is returned.
- Function: ly:make-listener callback
Create a listener. Any time the listener hears an object, it will call callback with that object.
callback should take exactly one argument.
- Function: ly:make-moment n d gn gd
Create the rational number with main timing n/d, and optional grace timing gn/gd.
A moment is a point in musical time. It consists of a pair of rationals (m, g), where m is the timing for the main notes, and g the timing for grace notes. In absence of grace notes, g is zero.
- Function: ly:make-music props
Make a C++
Music
object and initialize it with props.This function is for internal use and is only called by
make-music
, which is the preferred interface for creating music objects.
- Function: ly:make-music-function signature func
Make a function to process music, to be used for the parser.
func
is the function, andsignature
describes its arguments.signature
is a list containing eitherly:music?
predicates or other type predicates.
- Function: ly:make-page-permission-marker symbol permission
Return page marker with page breaking and turning permissions.
- Function: ly:make-pango-description-string chain size
Make a
PangoFontDescription
string for the property alist chain at size size.
- Function: ly:make-paper-outputter port format
Create an outputter that evaluates within
output-
format, writing to port.
- Function: ly:make-pitch octave note alter
octave is specified by an integer, zero for the octave containing middle C. note is a number indexing the global default scale, with 0 corresponding to pitch C and 6 usually corresponding to pitch B. alter is a rational number of 200-cent whole tones for alteration.
- Function: ly:make-scale steps
Create a scale. The argument is a vector of rational numbers, each of which represents the number of 200 cent tones of a pitch above the tonic.
- Function: ly:make-simple-closure expr
Make a simple closure. expr should be form of
(func a1 A2 …)
, and will be invoked as(func delayed-arg a1 a2 …)
.
- Function: ly:make-stencil expr xext yext
Stencils are device independent output expressions. They carry two pieces of information:
- A specification of how to print this object. This specification is processed by the output backends, for example ‘scm/output-ps.scm’.
-
The vertical and horizontal extents of the object, given as pairs. If an extent is unspecified (or if you use
(1000 . -1000)
as its value), it is taken to be empty.
- Function: ly:make-stream-event cl proplist
Create a stream event of class cl with the given mutable property list.
- Function: ly:message str rest
A Scheme callable function to issue the message str. The message is formatted with
format
and rest.
- Function: ly:minimal-breaking pb
Break (pages and lines) the
Paper_book
object pb without looking for optimal spacing: stack as many lines on a page before moving to the next one.
- Function: ly:modules-lookup modules sym def
Look up sym in the list modules, returning the first occurence. If not found, return def or
#f
if def isn’t specified.
- Function: ly:music-length mus
Get the length of music expression mus and return it as a
Moment
object.
- Function: ly:music-mutable-properties mus
Return an alist containing the mutable properties of mus. The immutable properties are not available, since they are constant and initialized by the
make-music
function.
- Function: ly:music-property mus sym val
Return the value for property sym of music expression mus. If no value is found, return val or
'()
if val is not specified.
- Function: ly:note-column-accidentals note-column
Return the
AccidentalPlacement
grob from note_columnif any, orSCM_EOL
otherwise.
- Function: ly:note-column-dot-column note-column
Return the
DotColumn
grob from note_columnif any, orSCM_EOL
otherwise.
- Function: ly:note-head::stem-attachment font-metric glyph-name
Get attachment in font-metric for attaching a stem to notehead glyph-name.
- Function: ly:optimal-breaking pb
Optimally break (pages and lines) the
Paper_book
object pb to minimize badness in bother vertical and horizontal spacing.
- Function: ly:otf->cff otf-file-name
Convert the contents of an OTF file to a CFF file, returning it as a string.
- Function: ly:otf-font-glyph-info font glyph
Given the font metric font of an OpenType font, return the information about named glyph glyph (a string).
- Function: ly:otf-font-table-data font tag
Extract a table tag from font. Return empty string for non-existent tag.
- Function: ly:output-def-lookup def sym val
Return the value of sym in output definition def (e.g.,
\paper
). If no value is found, return val or'()
if val is undefined.
- Function: ly:page-turn-breaking pb
Optimally break (pages and lines) the
Paper_book
object pb such that page turns only happen in specified places, returning its pages.
- Function: ly:pango-font-physical-fonts f
Return alist of
(ps-name file-name font-index)
lists for Pango font f.
- Function: ly:paper-book-paper pb
Return the paper output definition (
\paper
) inPaper_book
object pb.
- Function: ly:paper-fonts def
Return a list containing the fonts from output definition def (e.g.,
\paper
).
- Function: ly:paper-get-font def chain
Find a font metric in output definition def satisfying the font-qualifiers in alist chain chain, and return it. (An alist chain is a list of alists, containing grob properties.)
- Function: ly:paper-get-number def sym
Return the value of variable sym in output definition def as a double.
- Function: ly:paper-score-paper-systems paper-score
Return vector of
paper_system
objects from paper-score.
- Function: ly:paper-system-minimum-distance sys1 sys2
Measure the minimum distance between these two paper-systems, using their stored skylines if possible and falling back to their extents otherwise.
- Function: ly:parser-lookup parser-smob symbol
Look up symbol in parser-smob’s module. Return
'()
if not defined.
- Function: ly:parser-parse-string parser-smob ly-code
Parse the string ly-code with parser-smob. Upon failure, throw
ly-file-failed
key.
- Function: ly:parser-set-note-names parser names
Replace current note names in parser. names is an alist of symbols. This only has effect if the current mode is notes.
- Function: ly:parser-set-repetition-function parser fun
Replace the current repetition function in parser. fun is the new repetition function.
- Function: ly:parser-set-repetition-symbol parser sym
Replace the current repetition symbol in parser. sym is the new repetition symbol.
- Function: ly:pitch-diff pitch root
Return pitch delta such that pitch transposed by delta equals root.
- Function: ly:pitch-transpose p delta
Transpose p by the amount delta, where delta is relative to middle C.
- Function: ly:pointer-group-interface::add-grob grob sym grob-element
Add grob-element to grob’s sym grob array.
- Function: ly:position-on-line? sg spos
Return whether spos is on a line of the staff associated with the grob sg (even on an extender line).
- Function: ly:prob-property prob sym val
Return the value for property sym of Prob object prob. If no value is found, return val or
'()
if val is not specified.
- Function: ly:programming-error str rest
A Scheme callable function to issue the internal warning str. The message is formatted with
format
and rest.
- Function: ly:progress str rest
A Scheme callable function to print progress str. The message is formatted with
format
and rest.
- Function: ly:property-lookup-stats sym
Return hash table with a property access corresponding to sym. Choices are
prob
,grob
, andcontext
.
- Function: ly:relative-group-extent elements common axis
Determine the extent of elements relative to common in the axis direction.
- Function: ly:round-filled-box xext yext blot
Make a
Stencil
object that prints a black box of dimensions xext, yext and roundness blot.
- Function: ly:round-filled-polygon points blot
Make a
Stencil
object that prints a black polygon with corners at the points defined by points (list of coordinate pairs) and roundness blot.
- Function: ly:run-translator mus output-def
Process mus according to output-def. An interpretation context is set up, and mus is interpreted with it. The context is returned in its final state.
Optionally, this routine takes an object-key to to uniquely identify the score block containing it.
- Function: ly:score-embedded-format score layout
Run score through layout (an output definition) scaled to correct output-scale already, returning a list of layout-lines.
- Function: ly:set-default-scale scale
Set the global default scale. This determines the tuning of pitches with no accidentals or key signatures. The first pitch is C. Alterations are calculated relative to this scale. The number of pitches in this scale determines the number of scale steps that make up an octave. Usually the 7-note major scale.
- Function: ly:set-grob-modification-callback cb
Specify a procedure that will be called every time LilyPond modifies a grob property. The callback will receive as arguments the grob that is being modified, the name of the C++ file in which the modification was requested, the line number in the C++ file in which the modification was requested, the name of the function in which the modification was requested, the property to be changed, and the new value for the property.
- Function: ly:set-middle-C! context
Set the
middleCPosition
variable in context based on the variablesmiddleCClefPosition
and middleCOffset.
- Function: ly:set-property-cache-callback cb
Specify a procedure that will be called whenever lilypond calculates a callback function and caches the result. The callback will receive as arguments the grob whose property it is, the name of the property, the name of the callback that calculated the property, and the new (cached) value of the property.
- Function: ly:solve-spring-rod-problem springs rods length ragged
Solve a spring and rod problem for count objects, that are connected by count-1 springs, and an arbitrary number of rods. count is implicitly given by springs and rods. The springs argument has the format
(ideal, inverse_hook)
and rods is of the form(idx1, idx2, distance)
.length is a number, ragged a boolean.
The function returns a list containing the force (positive for stretching, negative for compressing and
#f
for non-satisfied constraints) followed by spring-count+1 positions of the objects.
- Function: ly:spanner-bound spanner dir
Get one of the bounds of spanner. dir is
-1
for left, and1
for right.
- Function: ly:staff-symbol-line-thickness grob
Returns the
line-thickness
of the staff associated with grob.
- Function: ly:staff-symbol-staff-space grob
Returns the
staff-space
of the staff associated with grob.
- Function: ly:start-environment
Return the environment (a list of strings) that was in effect at program start.
- Function: ly:stencil-aligned-to stil axis dir
Align stil using its own extents. dir is a number.
-1
and1
are left and right, respectively. Other values are interpolated (so0
means the center).
- Function: ly:stencil-combine-at-edge first axis direction second padding minimum
Construct a stencil by putting second next to first. axis can be 0 (x-axis) or 1 (y-axis). direction can be -1 (left or down) or 1 (right or up). The stencils are juxtaposed with padding as extra space. If this puts the reference points closer than minimum, they are moved by the latter amount. first and second may also be
'()
or#f
.
- Function: ly:stencil-extent stil axis
Return a pair of numbers signifying the extent of stil in axis direction (
0
or1
for x and y axis, respectively).
- Function: ly:stencil-rotate stil angle x y
Return a stencil stil rotated angle degrees around the relative offset (x, y). E.g. an offset of (-1, 1) will rotate the stencil around the left upper corner.
- Function: ly:stencil-rotate-absolute stil angle x y
Return a stencil stil rotated angle degrees around point (x, y), given in absolute coordinates.
- Function: ly:stencil-translate stil offset
Return a stil, but translated by offset (a pair of numbers).
- Function: ly:stencil-translate-axis stil amount axis
Return a copy of stil but translated by amount in axis direction.
- Function: ly:string-percent-encode str
Encode all characters in string str with hexadecimal percent escape sequences, with the following exceptions: characters
-
,.
,/
, and_
; and characters in ranges0-9
,A-Z
, anda-z
.
- Function: ly:success str rest
A Scheme callable function to issue a success message
str
. The message is formatted withformat
andrest
.
- Function: ly:system-font-load name
Load the OpenType system font ‘name.otf’. Fonts loaded with this command must contain three additional SFNT font tables called
LILC
,LILF
, andLILY
, needed for typesetting musical elements. Currently, only the Emmentaler and the Emmentaler-Brace fonts fulfill these requirements.Note that only
ly:font-get-glyph
and derived code (like\lookup
) can access glyphs from the system fonts; text strings are handled exclusively via the Pango interface.
- Function: ly:text-interface::interpret-markup
Convert a text markup into a stencil. Takes three arguments, layout, props, and markup.
layout is a
\layout
block; it may be obtained from a grob withly:grob-layout
. props is an alist chain, i.e. a list of alists. This is typically obtained with(ly:grob-alist-chain grob (ly:output-def-lookup layout 'text-font-defaults))
. markup is the markup text to be processed.
- Function: ly:translator-name trans
Return the type name of the translator object trans. The name is a symbol.
- Function: ly:ttf->pfa ttf-file-name idx
Convert the contents of a TrueType font file to PostScript Type 42 font, returning it as a string. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.
- Function: ly:ttf-ps-name ttf-file-name idx
Extract the PostScript name from a TrueType font. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.
- Function: ly:warning str rest
A Scheme callable function to issue the warning
str
. The message is formatted withformat
andrest
.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice][ ? ] | [ Gramática de LilyPond >> ] | ||
[ < Funciones de Scheme ] | [ Subir : Top ] | [ Gramática de LilyPond > ] |
B. Hoja de referencia rápida
Sintaxis | Descripción | Ejemplo |
| duraciones | |
| puntillos | |
| escala | |
| alteración | |
| claves | |
| compás | |
| silencio | |
| ligadura de unión | |
| armadura | |
note | subir una octava | |
note | bajar una octava | |
| ligadura de expresión | |
| ligadura de fraseo | |
| barra | |
| más pentagramas | |
| articulaciones | |
| matices dinámicos | |
| crescendo | |
| decrescendo | |
| acorde | |
| anacrusa o compás incompleto | |
| tresillos | |
| mordentes | |
| escribir la letra | twinkle |
| imprimir la letra | |
| separador de sílabas | |
| acordes | |
| imprimir los nombres de los acordes | |
| polifonía | |
| silencios de separación |
[ << Hoja de referencia rápida ] | [Arriba][Índice general][Índice][ ? ] | [ GNU Free Documentation License >> ] | ||
[ < Hoja de referencia rápida ] | [ Subir : Top ] | [ GNU Free Documentation License > ] |
C. Gramática de LilyPond
Este apéndice contiene una descripción de la gramática del lenguaje de LilyPond, tal y como el analizador sintáctico la proporciona como salida.
Grammar 1 lilypond: /* empty */ 2 | lilypond toplevel_expression 3 | lilypond assignment 4 | lilypond error 5 | lilypond "\invalid" 6 toplevel_expression: lilypond_header 7 | book_block 8 | bookpart_block 9 | score_block 10 | composite_music 11 | full_markup 12 | full_markup_list 13 | output_def 14 embedded_scm: SCM_TOKEN 15 | SCM_IDENTIFIER 16 lilypond_header_body: /* empty */ 17 | lilypond_header_body assignment 18 lilypond_header: "\header" '{' lilypond_header_body '}' 19 assignment_id: STRING 20 | LYRICS_STRING 21 assignment: assignment_id '=' identifier_init 22 | assignment_id property_path '=' identifier_init 23 | embedded_scm 24 identifier_init: score_block 25 | book_block 26 | bookpart_block 27 | output_def 28 | context_def_spec_block 29 | music 30 | post_event 31 | number_expression 32 | string 33 | embedded_scm 34 | full_markup 35 | DIGIT 36 | context_modification 37 context_def_spec_block: "\context" '{' context_def_spec_body '}' 38 context_def_spec_body: /* empty */ 39 | CONTEXT_DEF_IDENTIFIER 40 | context_def_spec_body "\grobdescriptions" embedded_scm 41 | context_def_spec_body context_mod 42 | context_def_spec_body context_modification 43 book_block: "\book" '{' book_body '}' 44 book_body: /* empty */ 45 | BOOK_IDENTIFIER 46 | book_body paper_block 47 | book_body bookpart_block 48 | book_body score_block 49 | book_body composite_music 50 | book_body full_markup 51 | book_body full_markup_list 52 | book_body lilypond_header 53 | book_body error 54 bookpart_block: "\bookpart" '{' bookpart_body '}' 55 bookpart_body: /* empty */ 56 | BOOK_IDENTIFIER 57 | bookpart_body paper_block 58 | bookpart_body score_block 59 | bookpart_body composite_music 60 | bookpart_body full_markup 61 | bookpart_body full_markup_list 62 | bookpart_body lilypond_header 63 | bookpart_body error 64 score_block: "\score" '{' score_body '}' 65 score_body: music 66 | SCORE_IDENTIFIER 67 | score_body lilypond_header 68 | score_body output_def 69 | score_body error 70 paper_block: output_def 71 output_def: output_def_body '}' 72 output_def_head: "\paper" 73 | "\midi" 74 | "\layout" 75 output_def_head_with_mode_switch: output_def_head 76 output_def_body: output_def_head_with_mode_switch '{' 77 | output_def_head_with_mode_switch '{' OUTPUT_DEF_IDENTIFIER 78 | output_def_body assignment 79 | output_def_body context_def_spec_block 80 | output_def_body error 81 tempo_event: "\tempo" steno_duration '=' bare_unsigned 82 | "\tempo" string steno_duration '=' bare_unsigned 83 | "\tempo" full_markup steno_duration '=' bare_unsigned 84 | "\tempo" string 85 | "\tempo" full_markup 86 music_list: /* empty */ 87 | music_list music 88 | music_list embedded_scm 89 | music_list error 90 music: simple_music 91 | composite_music 92 alternative_music: /* empty */ 93 | "\alternative" '{' music_list '}' 94 repeated_music: "\repeat" simple_string unsigned_number music alternative_music 95 sequential_music: "\sequential" '{' music_list '}' 96 | '{' music_list '}' 97 simultaneous_music: "\simultaneous" '{' music_list '}' 98 | "<<" music_list ">>" 99 simple_music: event_chord 100 | MUSIC_IDENTIFIER 101 | music_property_def 102 | context_change 104 context_modification: "\with" '{' context_mod_list '}' 105 | "\with" CONTEXT_MOD_IDENTIFIER 106 | CONTEXT_MOD_IDENTIFIER 107 optional_context_mod: /* empty */ 108 | context_modification 109 context_mod_list: /* empty */ 110 | context_mod_list context_mod 111 | context_mod_list CONTEXT_MOD_IDENTIFIER 112 composite_music: prefix_composite_music 113 | grouped_music_list 114 grouped_music_list: simultaneous_music 115 | sequential_music 116 function_scm_argument: embedded_scm 117 | simple_string 118 function_arglist_music_last: EXPECT_MUSIC function_arglist music 119 function_arglist_nonmusic_last: EXPECT_MARKUP function_arglist full_markup 120 | EXPECT_MARKUP function_arglist simple_string 121 | EXPECT_SCM function_arglist function_scm_argument 122 function_arglist_nonmusic: EXPECT_NO_MORE_ARGS 123 | EXPECT_MARKUP function_arglist_nonmusic full_markup 124 | EXPECT_MARKUP function_arglist_nonmusic simple_string 125 | EXPECT_SCM function_arglist_nonmusic function_scm_argument 126 function_arglist: EXPECT_NO_MORE_ARGS 127 | function_arglist_music_last 128 | function_arglist_nonmusic_last 129 generic_prefix_music_scm: MUSIC_FUNCTION function_arglist 130 optional_id: /* empty */ 131 | '=' simple_string 132 prefix_composite_music: generic_prefix_music_scm 133 | "\context" simple_string optional_id optional_context_mod music 134 | "\new" simple_string optional_id optional_context_mod music 135 | "\times" fraction music 136 | repeated_music 137 | "\transpose" pitch_also_in_chords pitch_also_in_chords music 138 | mode_changing_head grouped_music_list 139 | mode_changing_head_with_context optional_context_mod grouped_music_list 140 | relative_music 141 | re_rhythmed_music 142 mode_changing_head: "\notemode" 143 | "\drummode" 144 | "\figuremode" 145 | "\chordmode" 146 | "\lyricmode" 147 mode_changing_head_with_context: "\drums" 148 | "\figures" 149 | "\chords" 150 | "\lyrics" 151 relative_music: "\relative" absolute_pitch music 152 | "\relative" composite_music 154 new_lyrics: "\addlyrics" grouped_music_list 156 new_lyrics: new_lyrics "\addlyrics" grouped_music_list 157 re_rhythmed_music: grouped_music_list new_lyrics 159 re_rhythmed_music: "\lyricsto" simple_string music 160 context_change: "\change" STRING '=' STRING 161 property_path_revved: embedded_scm 162 | property_path_revved embedded_scm 163 property_path: property_path_revved 164 property_operation: STRING '=' scalar 165 | "\unset" simple_string 166 | "\override" simple_string property_path '=' scalar 167 | "\revert" simple_string embedded_scm 168 context_def_mod: "\consists" 169 | "\remove" 170 | "\accepts" 171 | "\defaultchild" 172 | "\denies" 173 | "\alias" 174 | "\type" 175 | "\description" 176 | "\name" 177 context_mod: property_operation 178 | context_def_mod STRING 179 | context_def_mod embedded_scm 180 context_prop_spec: simple_string 181 | simple_string '.' simple_string 182 simple_music_property_def: "\override" context_prop_spec property_path '=' scalar 183 | "\revert" context_prop_spec embedded_scm 184 | "\set" context_prop_spec '=' scalar 185 | "\unset" context_prop_spec 186 music_property_def: simple_music_property_def 187 | "\once" simple_music_property_def 188 string: STRING 189 | STRING_IDENTIFIER 190 | string '+' string 191 simple_string: STRING 192 | LYRICS_STRING 193 | STRING_IDENTIFIER 194 scalar: string 195 | LYRICS_STRING 196 | bare_number 197 | embedded_scm 198 | full_markup 199 | DIGIT 200 event_chord: simple_chord_elements post_events 201 | CHORD_REPETITION optional_notemode_duration post_events 202 | MULTI_MEASURE_REST optional_notemode_duration post_events 203 | command_element 204 | note_chord_element 205 note_chord_element: chord_body optional_notemode_duration post_events 206 chord_body: "<" chord_body_elements ">" 207 chord_body_elements: /* empty */ 208 | chord_body_elements chord_body_element 209 chord_body_element: pitch exclamations questions octave_check post_events 210 | DRUM_PITCH post_events 211 | music_function_chord_body 212 music_function_identifier_musicless_prefix: MUSIC_FUNCTION 213 music_function_chord_body: music_function_identifier_musicless_prefix EXPECT_MUSIC function_arglist_nonmusic chord_body_element 214 | music_function_identifier_musicless_prefix function_arglist_nonmusic 215 music_function_event: music_function_identifier_musicless_prefix EXPECT_MUSIC function_arglist_nonmusic post_event 216 | music_function_identifier_musicless_prefix function_arglist_nonmusic 217 command_element: command_event 218 | "\skip" duration_length 219 | "\[" 220 | "\]" 221 | "\" 222 | '|' 223 | "\partial" duration_length 224 | "\time" fraction 225 | "\mark" scalar 226 command_event: "\~" 227 | "\mark" "\default" 228 | tempo_event 229 | "\key" "\default" 230 | "\key" NOTENAME_PITCH SCM_IDENTIFIER 231 post_events: /* empty */ 232 | post_events post_event 233 post_event: direction_less_event 234 | '-' music_function_event 235 | "--" 236 | "__" 237 | script_dir direction_reqd_event 238 | script_dir direction_less_event 239 | string_number_event 240 string_number_event: E_UNSIGNED 241 direction_less_char: '[' 242 | ']' 243 | '~' 244 | '(' 245 | ')' 246 | "\!" 247 | "\(" 248 | "\)" 249 | "\>" 250 | "\<" 251 direction_less_event: direction_less_char 252 | EVENT_IDENTIFIER 253 | tremolo_type 254 direction_reqd_event: gen_text_def 255 | script_abbreviation 256 octave_check: /* empty */ 257 | '=' 258 | '=' sub_quotes 259 | '=' sup_quotes 260 sup_quotes: ''' 261 | sup_quotes ''' 262 sub_quotes: ',' 263 | sub_quotes ',' 264 steno_pitch: NOTENAME_PITCH 265 | NOTENAME_PITCH sup_quotes 266 | NOTENAME_PITCH sub_quotes 267 steno_tonic_pitch: TONICNAME_PITCH 268 | TONICNAME_PITCH sup_quotes 269 | TONICNAME_PITCH sub_quotes 270 pitch: steno_pitch 271 pitch_also_in_chords: pitch 272 | steno_tonic_pitch 273 gen_text_def: full_markup 274 | string 275 | DIGIT 276 script_abbreviation: '^' 277 | '+' 278 | '-' 279 | '|' 280 | ">" 281 | '.' 282 | '_' 283 script_dir: '_' 284 | '^' 285 | '-' 286 absolute_pitch: steno_pitch 287 duration_length: multiplied_duration 288 optional_notemode_duration: /* empty */ 289 | multiplied_duration 290 steno_duration: bare_unsigned dots 291 | DURATION_IDENTIFIER dots 292 multiplied_duration: steno_duration 293 | multiplied_duration '*' bare_unsigned 294 | multiplied_duration '*' FRACTION 295 fraction: FRACTION 296 | UNSIGNED '/' UNSIGNED 297 dots: /* empty */ 298 | dots '.' 299 tremolo_type: ':' 300 | ':' bare_unsigned 301 bass_number: DIGIT 302 | UNSIGNED 303 | STRING 304 | full_markup 305 figured_bass_alteration: '-' 306 | '+' 307 | '!' 308 bass_figure: "_" 309 | bass_number 310 | bass_figure ']' 311 | bass_figure figured_bass_alteration 312 | bass_figure figured_bass_modification 313 figured_bass_modification: "\+" 314 | "\!" 315 | '/' 316 | "\" 317 br_bass_figure: bass_figure 318 | '[' bass_figure 319 figure_list: /* empty */ 320 | figure_list br_bass_figure 321 figure_spec: FIGURE_OPEN figure_list FIGURE_CLOSE 322 optional_rest: /* empty */ 323 | "\rest" 324 simple_element: pitch exclamations questions octave_check optional_notemode_duration optional_rest 325 | DRUM_PITCH optional_notemode_duration 326 | RESTNAME optional_notemode_duration 327 | lyric_element optional_notemode_duration 328 simple_chord_elements: simple_element 329 | new_chord 330 | figure_spec optional_notemode_duration 331 lyric_element: lyric_markup 332 | LYRICS_STRING 333 new_chord: steno_tonic_pitch optional_notemode_duration 334 | steno_tonic_pitch optional_notemode_duration chord_separator chord_items 335 chord_items: /* empty */ 336 | chord_items chord_item 337 chord_separator: ":" 338 | "^" 339 | "/" steno_tonic_pitch 340 | "/+" steno_tonic_pitch 341 chord_item: chord_separator 342 | step_numbers 343 | CHORD_MODIFIER 344 step_numbers: step_number 345 | step_numbers '.' step_number 346 step_number: bare_unsigned 347 | bare_unsigned '+' 348 | bare_unsigned "-" 349 number_expression: number_expression '+' number_term 350 | number_expression '-' number_term 351 | number_term 352 number_term: number_factor 353 | number_factor '*' number_factor 354 | number_factor '/' number_factor 355 number_factor: '-' number_factor 356 | bare_number 357 bare_number: UNSIGNED 358 | REAL 359 | NUMBER_IDENTIFIER 360 | REAL NUMBER_IDENTIFIER 361 | UNSIGNED NUMBER_IDENTIFIER 362 bare_unsigned: UNSIGNED 363 | DIGIT 364 unsigned_number: bare_unsigned 365 | NUMBER_IDENTIFIER 366 exclamations: /* empty */ 367 | exclamations '!' 368 questions: /* empty */ 369 | questions '?' 370 lyric_markup: LYRIC_MARKUP_IDENTIFIER 372 lyric_markup: LYRIC_MARKUP markup_top 374 full_markup_list: "\markuplines" markup_list 375 full_markup: MARKUP_IDENTIFIER 377 full_markup: "\markup" markup_top 378 markup_top: markup_list 379 | markup_head_1_list simple_markup 380 | simple_markup 381 markup_list: markup_composed_list 382 | markup_braced_list 383 | markup_command_list 384 markup_composed_list: markup_head_1_list markup_braced_list 385 markup_braced_list: '{' markup_braced_list_body '}' 386 markup_braced_list_body: /* empty */ 387 | markup_braced_list_body markup 388 | markup_braced_list_body markup_list 389 markup_command_list: MARKUP_LIST_FUNCTION markup_command_list_arguments 390 markup_command_basic_arguments: EXPECT_MARKUP_LIST markup_command_list_arguments markup_list 391 | EXPECT_SCM markup_command_list_arguments embedded_scm 392 | EXPECT_NO_MORE_ARGS 393 markup_command_list_arguments: markup_command_basic_arguments 394 | EXPECT_MARKUP markup_command_list_arguments markup 395 markup_head_1_item: MARKUP_FUNCTION EXPECT_MARKUP markup_command_list_arguments 396 markup_head_1_list: markup_head_1_item 397 | markup_head_1_list markup_head_1_item 398 simple_markup: STRING 399 | MARKUP_IDENTIFIER 400 | LYRIC_MARKUP_IDENTIFIER 401 | STRING_IDENTIFIER 403 simple_markup: "\score" '{' score_body '}' 404 | MARKUP_FUNCTION markup_command_basic_arguments 405 markup: markup_head_1_list simple_markup 406 | simple_markup Terminals, with rules where they appear "-" (319) 348 "--" (340) 235 "/" (320) 339 "/+" (316) 340 ":" (318) 337 "<" (321) 206 "<<" (323) 98 ">" (322) 206 280 ">>" (324) 98 "\!" (329) 246 314 "\" (325) 221 316 "\(" (331) 247 "\)" (328) 248 "\+" (334) 313 "\<" (333) 250 "\>" (326) 249 "\[" (330) 219 "\]" (332) 220 "\accepts" (261) 170 "\addlyrics" (259) 154 156 "\alias" (262) 173 "\alternative" (263) 93 "\book" (264) 43 "\bookpart" (265) 54 "\C[haracter]" (327) "\change" (266) 160 "\chordmode" (267) 145 "\chords" (268) 149 "\consists" (269) 168 "\context" (270) 37 133 "\default" (271) 227 229 "\defaultchild" (272) 171 "\denies" (273) 172 "\description" (274) 175 "\drummode" (275) 143 "\drums" (276) 147 "\figuremode" (277) 144 "\figures" (278) 148 "\grobdescriptions" (279) 40 "\header" (280) 18 "\invalid" (281) 5 "\key" (282) 229 230 "\layout" (283) 74 "\lyricmode" (284) 146 "\lyrics" (285) 150 "\lyricsto" (286) 159 "\mark" (287) 225 227 "\markup" (288) 377 "\markuplines" (289) 374 "\midi" (290) 73 "\name" (291) 176 "\new" (315) 134 "\notemode" (292) 142 "\octave" (293) "\once" (294) 187 "\override" (295) 166 182 "\paper" (296) 72 "\partial" (297) 223 "\relative" (298) 151 152 "\remove" (299) 169 "\repeat" (300) 94 "\rest" (301) 323 "\revert" (302) 167 183 "\score" (303) 64 403 "\sequential" (304) 95 "\set" (305) 184 "\simultaneous" (306) 97 "\skip" (307) 218 "\tempo" (308) 81 82 83 84 85 "\time" (314) 224 "\times" (309) 135 "\transpose" (310) 137 "\type" (311) 174 "\unset" (312) 165 185 "\with" (313) 104 105 "\~" (335) 226 "^" (317) 338 "_" (339) 308 "__" (336) 236 $end (0) 0 '!' (33) 307 367 ''' (39) 260 261 '(' (40) 244 ')' (41) 245 '*' (42) 293 294 353 '+' (43) 190 277 306 347 349 ',' (44) 262 263 '-' (45) 234 278 285 305 350 355 '.' (46) 181 281 298 345 '/' (47) 296 315 354 ':' (58) 299 300 '=' (61) 21 22 81 82 83 131 160 164 166 182 184 257 258 259 '?' (63) 369 '[' (91) 241 318 ']' (93) 242 310 '^' (94) 276 284 '_' (95) 282 283 '{' (123) 18 37 43 54 64 76 77 93 95 96 97 104 385 403 '|' (124) 222 279 '}' (125) 18 37 43 54 64 71 93 95 96 97 104 385 403 '~' (126) 243 BOOK_IDENTIFIER (352) 45 56 CHORD_MODIFIER (354) 343 CHORD_REPETITION (355) 201 CHORDMODIFIER_PITCH (353) CHORDMODIFIERS (341) CONTEXT_DEF_IDENTIFIER (356) 39 CONTEXT_MOD_IDENTIFIER (357) 105 106 111 DIGIT (344) 35 199 275 301 363 DRUM_PITCH (358) 210 325 DURATION_IDENTIFIER (359) 291 E_UNSIGNED (345) 240 error (256) 4 53 63 69 80 89 EVENT_IDENTIFIER (360) 252 EXPECT_MARKUP (347) 119 120 123 124 394 395 EXPECT_MARKUP_LIST (350) 390 EXPECT_MUSIC (348) 118 213 215 EXPECT_NO_MORE_ARGS (351) 122 126 392 EXPECT_SCM (349) 121 125 391 FIGURE_CLOSE (337) 321 FIGURE_OPEN (338) 321 FRACTION (361) 294 295 LYRIC_MARKUP (342) 372 LYRIC_MARKUP_IDENTIFIER (363) 370 400 LYRICS_STRING (362) 20 192 195 332 MARKUP_FUNCTION (364) 395 404 MARKUP_IDENTIFIER (366) 375 399 MARKUP_LIST_FUNCTION (365) 389 MULTI_MEASURE_REST (343) 202 MUSIC_FUNCTION (367) 129 212 MUSIC_IDENTIFIER (368) 100 NOTENAME_PITCH (369) 230 264 265 266 NUMBER_IDENTIFIER (370) 359 360 361 365 OUTPUT_DEF_IDENTIFIER (371) 77 PREC_BOT (260) PREC_TOP (258) REAL (372) 358 360 RESTNAME (373) 326 SCM_IDENTIFIER (374) 15 230 SCM_TOKEN (375) 14 SCORE_IDENTIFIER (376) 66 STRING (377) 19 160 164 178 188 191 303 398 STRING_IDENTIFIER (378) 189 193 401 TONICNAME_PITCH (379) 267 268 269 UNARY_MINUS (380) UNSIGNED (346) 296 302 357 361 362 Nonterminals, with rules where they appear absolute_pitch (237) on left: 286, on right: 151 alternative_music (172) on left: 92 93, on right: 94 assignment (154) on left: 21 22 23, on right: 3 17 78 assignment_id (153) on left: 19 20, on right: 21 22 bare_number (265) on left: 357 358 359 360 361, on right: 196 356 bass_number (245) on left: 301 302 303 304, on right: 309 book_block (158) on left: 43, on right: 7 25 bookpart_block (160) on left: 54, on right: 8 26 47 br_bass_figure (249) on left: 317 318, on right: 320 chord_body (213) on left: 206, on right: 205 chord_body_element (215) on left: 209 210 211, on right: 208 213 chord_body_elements (214) on left: 207 208, on right: 206 208 chord_item (259) on left: 341 342 343, on right: 336 chord_items (257) on left: 335 336, on right: 334 336 chord_separator (258) on left: 337 338 339 340, on right: 334 341 command_event (220) on left: 226 227 228 229 230, on right: 217 composite_music (181) on left: 112 113, on right: 10 49 59 91 152 context_change (199) on left: 160, on right: 102 context_def_spec_block (156) on left: 37, on right: 28 79 context_mod (204) on left: 177 178 179, on right: 41 110 context_mod_list (180) on left: 109 110 111, on right: 104 110 111 context_modification (177) on left: 104 105 106, on right: 36 42 108 context_prop_spec (205) on left: 180 181, on right: 182 183 184 185 direction_less_event (225) on left: 251 252 253, on right: 233 238 direction_reqd_event (226) on left: 254 255, on right: 237 dots (243) on left: 297 298, on right: 290 291 298 duration_length (238) on left: 287, on right: 218 223 event_chord (211) on left: 200 201 202 203 204, on right: 99 exclamations (268) on left: 366 367, on right: 209 324 367 figure_list (250) on left: 319 320, on right: 320 321 figure_spec (251) on left: 321, on right: 330 figured_bass_alteration (246) on left: 305 306 307, on right: 311 figured_bass_modification (248) on left: 313 314 315 316, on right: 312 fraction (242) on left: 295 296, on right: 135 224 full_markup_list (272) on left: 374, on right: 12 51 61 function_arglist_music_last (184) on left: 118, on right: 127 function_arglist_nonmusic_last (185) on left: 119 120 121, on right: 128 function_scm_argument (183) on left: 116 117, on right: 121 125 gen_text_def (234) on left: 273 274 275, on right: 254 generic_prefix_music_scm (188) on left: 129, on right: 132 lilypond (148) on left: 1 2 3 4 5, on right: 0 2 3 4 5 lilypond_header (152) on left: 18, on right: 6 52 62 67 lilypond_header_body (151) on left: 16 17, on right: 17 18 lyric_element (255) on left: 331 332, on right: 327 lyric_markup (270) on left: 370 372, on right: 331 markup (288) on left: 405 406, on right: 387 394 markup_braced_list (279) on left: 385, on right: 382 384 markup_braced_list_body (280) on left: 386 387 388, on right: 385 387 388 markup_command_list (281) on left: 389, on right: 383 markup_composed_list (278) on left: 384, on right: 381 markup_head_1_item (284) on left: 395, on right: 396 397 markup_head_1_list (285) on left: 396 397, on right: 379 384 397 405 markup_list (277) on left: 381 382 383, on right: 374 378 388 390 markup_top (276) on left: 378 379 380, on right: 372 377 mode_changing_head (191) on left: 142 143 144 145 146, on right: 138 multiplied_duration (241) on left: 292 293 294, on right: 287 289 293 294 music_function_chord_body (217) on left: 213 214, on right: 211 music_function_event (218) on left: 215 216, on right: 234 music_list (170) on left: 86 87 88 89, on right: 87 88 89 93 95 96 97 98 music_property_def (207) on left: 186 187, on right: 101 new_chord (256) on left: 333 334, on right: 329 new_lyrics (194) on left: 154 156, on right: 156 157 note_chord_element (212) on left: 205, on right: 204 number_expression (262) on left: 349 350 351, on right: 31 349 350 number_factor (264) on left: 355 356, on right: 352 353 354 355 number_term (263) on left: 352 353 354, on right: 349 350 351 octave_check (227) on left: 256 257 258 259, on right: 209 324 optional_context_mod (179) on left: 107 108, on right: 133 134 139 optional_id (189) on left: 130 131, on right: 133 134 optional_rest (252) on left: 322 323, on right: 324 output_def (165) on left: 71, on right: 13 27 68 70 output_def_body (168) on left: 76 77 78 79 80, on right: 71 78 79 80 output_def_head (166) on left: 72 73 74, on right: 75 output_def_head_with_mode_switch (167) on left: 75, on right: 76 77 paper_block (164) on left: 70, on right: 46 57 pitch (232) on left: 270, on right: 209 271 324 pitch_also_in_chords (233) on left: 271 272, on right: 137 post_events (221) on left: 231 232, on right: 200 201 202 205 209 210 232 property_operation (202) on left: 164 165 166 167, on right: 177 property_path (201) on left: 163, on right: 22 166 182 property_path_revved (200) on left: 161 162, on right: 162 163 questions (269) on left: 368 369, on right: 209 324 369 re_rhythmed_music (197) on left: 157 159, on right: 141 relative_music (193) on left: 151 152, on right: 140 repeated_music (173) on left: 94, on right: 136 score_block (162) on left: 64, on right: 9 24 48 58 score_body (163) on left: 65 66 67 68 69, on right: 64 67 68 69 403 script_dir (236) on left: 283 284 285, on right: 237 238 sequential_music (174) on left: 95 96, on right: 115 simple_chord_elements (254) on left: 328 329 330, on right: 200 simple_element (253) on left: 324 325 326 327, on right: 328 simple_music (176) on left: 99 100 101 102, on right: 90 simultaneous_music (175) on left: 97 98, on right: 114 steno_duration (240) on left: 290 291, on right: 81 82 83 292 steno_pitch (230) on left: 264 265 266, on right: 270 286 step_number (261) on left: 346 347 348, on right: 344 345 step_numbers (260) on left: 344 345, on right: 342 345 string (208) on left: 188 189 190, on right: 32 82 84 190 194 274 string_number_event (223) on left: 240, on right: 239 sub_quotes (229) on left: 262 263, on right: 258 263 266 269 sup_quotes (228) on left: 260 261, on right: 259 261 265 268 tempo_event (169) on left: 81 82 83 84 85, on right: 228 toplevel_expression (149) on left: 6 7 8 9 10 11 12 13, on right: 2 tremolo_type (244) on left: 299 300, on right: 253 unsigned_number (267) on left: 364 365, on right: 94
[ << Gramática de LilyPond ] | [Arriba][Índice general][Índice][ ? ] | [ Índice de instrucciones de LilyPond >> ] | ||
[ < Gramática de LilyPond ] | [ Subir : Top ] | [ Índice de instrucciones de LilyPond > ] |
D. GNU Free Documentation License
Version 1.3, 3 November 2008
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. http://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 http://www.gnu.org/copyleft/.
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 ] | [Arriba][Índice general][Índice][ ? ] | [ Índice de LilyPond >> ] | ||
[ < GNU Free Documentation License ] | [ Subir : Top ] | [ Índice de LilyPond > ] |
E. Í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.
Saltar a: | !
'
,
-
.
/
:
<
=
>
?
[
\
]
^
_
|
~
A B C D E F G H I J K L M N O P Q R S T U V W X |
---|
Saltar a: | !
'
,
-
.
/
:
<
=
>
?
[
\
]
^
_
|
~
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 ] | [Arriba][Índice general][Índice][ ? ] | [ >> ] | ||
[ < Índice de instrucciones de LilyPond ] | [ Subir : Top ] | [ > ] |
F. Í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.
Saltar a: | !
'
,
-
.
/
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 |
---|
Saltar a: | !
'
,
-
.
/
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 |
---|
[Arriba][Índice general][Índice][ ? ] |
Notas el pie
[1] Las ligaduras de texto están hechas con el carácter de Unicode U+203F, por tanto debe asegurarse de tener instalada una tipografía (como DejaVuLGC) que incluya este glifo.
[2] Las partituras bien tipografiadas son una magnífica promoción para nosotros, así que por favor, si puede, conserve intacta la línea del letrero.
[3] Scheme Tutorial de Scheme contiene un breve tutorial sobre la introducción de números, listas, cadenas y símbolos en Scheme.
[Arriba][Índice general][Índice][ ? ] |
Índice General
- 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 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 cabeceras
- 3.3 Trabajar sobre los archivos de entrada
- 3.4 Controlar la salida
- 3.5 Salida MIDI
- 4. Problemas de espaciado
- 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
- A. Tablas del manual sobre notación
- A.1 Cuadro de nombres de acordes
- A.2 Modificadores de acorde más usuales
- A.3 Diagramas predefinidos de posiciones
- A.4 Instrumentos MIDI
- A.5 Lista de colores
- A.6 La tipografía Feta
- 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
- Grifos de inscripciones
- Glifos de flechas
- Glifos de puntas de corchete
- Glifos de pedal
- Glifos de acordeón
- Glifos de vaticana
- Glifos de medicea
- Glifos de Hufnagel
- Glifos de mensural
- Glifos de neomensural
- Glifos de Petrucci
- Glifos de Solesmes
- A.7 Estilos de cabezas de nota
- A.8 Text markup commands
- A.9 Text markup list commands
- A.10 Lista de articulaciones
- A.11 Notas de percusión
- A.12 Glosario técnico
- alist (lista-A)
- callback
- closure (cerradura)
- glifo
- grob (objeto gráfico)
- inmutable
- interfaz
- lexer (analizador léxico)
- mutable
- output-def (definición de salida)
- parser (analizador sintáctico)
- variable del analizador sintáctico
- prob (objeto de propiedades)
- cerradura simple
- smob (objeto de Scheme)
- stencil (sello)
- A.13 Todas las propiedades de contexto
- A.14 Propiedades de disposición
- A.15 Funciones musicales disponibles
- A.16 Predicados de tipo predefinidos
- A.17 Funciones de Scheme
- B. Hoja de referencia rápida
- C. Gramática de LilyPond
- D. GNU Free Documentation License
- E. Índice de instrucciones de LilyPond
- F. Índice de LilyPond
[Arriba][Índice general][Índice][ ? ] |
Acerca de este documento
Este documento ha sido generado por Graham Percival el el 6 julio 2010 utilizando texi2html 1.82.
Los botones de los paneles de navegación tienen el significado siguiente:
Botón | Nombre | Ir a | Desde 1.2.3 ir a |
---|---|---|---|
[] | |||
[ << ] | Retroceso rápido | Inicio de este capítulo o capítulo anterior | 1 |
[] | |||
[Arriba] | Arriba | Portada del documento | |
[Índice general] | Índice general | Índice general | |
[Índice] | Índice | Índice | |
[ ? ] | Acerca de | Acerca de (página de ayuda) | |
[] | |||
[ >> ] | Avance rápido | Capítulo siguiente | 2 |
[] | |||
[] | |||
[ < ] | Atrás | Sección anterior en orden de lectura | 1.2.2 |
[] | |||
[ Subir ] | Subir | Subir sección | 1.2 |
[] | |||
[ > ] | Adelante | Sección siguiente en orden de lectura | 1.2.4 |
donde el Ejemplo supone que la posición actual está en la Sub-subsección uno-dos-tres de un documento de la estructura siguiente:
- 1. Sección Uno
- 1.1 Subsección uno-uno
- ...
- 1.2 Subsección uno-dos
- 1.2.1 Sub-subsección uno-dos-uno
- 1.2.2 Sub-subsección uno-dos-dos
- 1.2.3 Sub-subsección uno-dos-tres <== Posición actual
- 1.2.4 Sub-subsección uno-dos-cuatro
- 1.3 Subsección uno-tres
- ...
- 1.4 Subsección uno-cuatro
- 1.1 Subsección uno-uno