GNU LilyPond: Manual de referencia de la notación

El tipografiador de música

Este documento también está disponible en formato PDF y como un documento HTML normal de muchas páginas.

Este archivo es la documentación de GNU LilyPond.

Copyright 1999–2009 por los autores

La traducción de la siguiente nota de copyright se ofrece como cortesía para las personas de habla no inglesa, pero únicamente la nota en inglés tiene validez legal.

The translation of the following copyright notice is provided for courtesy to non-English speakers, but only the notice in English legally counts.

Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin ninguna de las secciones invariantes. Se incluye una copia de esta licencia dentro de la sección titulada “Licencia de Documentación Libre de GNU”.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled “GNU Free Documentation License”.

El presente documento es el manual de referencia de la notación del programa GNU LilyPond, versión 2.12.3. Para ver más información sobre la relación entre éste y el resto de los documentos, consulte About the documentation.

Se puede encontrar más información en http://www.lilypond.org/. La página web contiene copias en línea de la presente documentación y de otras.

Queremos dedicar este programa a todos los amigos que hemos hecho a través de la música.

Han-Wen y Jan


1. Musical notation

Este capítulo explica cómo crear notación musical.


1.1 Pitches

[image of music]

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 Writing pitches

En esta sección se describe la manera de introducir la altura de las notas. Esisten 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.


Absolute octave entry

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

[image of music]

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

[image of music]

Véase también

Glosario musical: Pitch names.

Fragmentos de código: Pitches.


Relative octave entry

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:

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
}

[image of music]

Las marcas de cambio de octava se utilizan para intervalos mayores de la cuarta:

\relative c'' {
  c g c f,
  c' a, e'' c
}

[image of music]

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
}

[image of music]

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

[image of music]

Como se explicó más arriba, la octava de las notas se calcula solamente a partir de sus nombres, sin tener encuenta 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
}

[image of music]

Véase también

Glosario musical: fifth, interval, Pitch names.

Referencia de la notación: Octave checks.

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: RelativeOctaveMusic.

Advertencias y problemas conocidos

La conversión relativa no afecta a las secciones \transpose, \chordmode o \relative en su argumento. Para usar el modo relativo dentro de música transportada, se debe escribir un \relative adicional dentro de \transpose.

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.


Accidentals

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 Accidentals and key signatures.

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 Note names in other languages.

ais1 aes aisis aeses

[image of music]

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

[image of music]

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

[image of music]

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?

[image of music]

Las alteraciones sobre notas unidas por ligadura sólo se imprimen al comienzo de un sistema:

cis1 ~ cis ~
\break
cis

[image of music]

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
}

[image of music]

El «Makam»

El «Makam» es un tipo de melodía de Turquía que utiliza intervalos microtonales de 1/9 de tono. Consulte el archivo de inicio makam.ly (véase el ’Manual de aprendizaje 2.12.3, 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 = #`((3 . ,BAKIYE) (6 . ,(- KOMA)))
  c4 cc db fk
  gbm4 gfc gfb efk
  fk4 db cc c
}

[image of music]

Véase también

Glosario musical: sharp, flat, double sharp, double flat, Pitch names, quarter tone.

Manual de aprendizaje: Accidentals and key signatures.

Referencia de la notación: Automatic accidentals, Annotational accidentals (musica ficta), Note names in other languages.

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.


Note names in other languages

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, escriba \include "espanol.ly" al principio del archivo de entrada.

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

-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

[image of music]

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 idiomas noruego, sueco, catalán y español 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

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.


1.1.2 Changing multiple pitches

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


Octave checks

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

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

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

[image of music]

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

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

[image of music]

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
}

[image of music]

Véase también

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: RelativeOctaveCheck.


Transpose

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

\transpose nota_origen nota_destino expresión_musical

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

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

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

[image of music]

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

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

[image of music]

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

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

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

[image of music]

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

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

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

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

Para ver más información sobre instrumentos transpositores, consulte Instrument transpositions.

Fragmentos de código seleccionados

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

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

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

[image of music]

Véase también

Referencia de la notación: Instrument transpositions.

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: TransposedMusic.

Advertencias y problemas conocidos

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


1.1.3 Displaying pitches

Esta sección trata de cómo alterar la presentación de la altura de las notas.


Clef

La clave se establece con la instrucción \clef nombre_de_clave. En todos los ejemplos se muestra el Do central.

\clef treble
c2 c
\clef alto
c2 c
\clef tenor
c2 c
\clef bass
c2 c

[image of music]

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
\clef tab
c2 c

[image of music]

Están contempladas claves adicionales que se describen bajo Mensural clefs y Gregorian clefs.

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. El argumento nombre_de_clave se debe encerrar entre comillas cuando contiene guiones bajos o dígitos.

\clef treble
c2 c
\clef "treble_8"
c2 c
\clef "bass^15"
c2 c

[image of music]

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
}

[image of music]

Véase también

Referencia de la notación: Mensural clefs, Gregorian clefs.

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: Clef_engraver, Clef, OctavateEight, clef-interface.


Key signature

Las alteraciones accidentales y las armaduras son una frecuente causa de confusión para los nuevos usuarios, porque las notas sin alteración pueden llevar signos de becuadro en función de la armadura. Para ver más información, consulte Accidentals o Accidentals and key signatures.

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 Accidentals and key signatures.

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

[image of music]

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
}

[image of music]

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

Alternativamente, 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 . 3) . ,SHARP)
                               ((0 . 5) . ,FLAT)
                               ((0 . 6) . ,FLAT))
  c4 d e fis
  aes4 bes c2
}

[image of music]

Véase también

Glosario musical: church mode, scordatura.

Manual de aprendizaje: Accidentals and key signatures.

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: KeyChangeEvent, Key_engraver, Key_performer, KeyCancellation, KeySignature, key-cancellation-interface, key-signature-interface.


Ottava brackets

Los corchetes de Ottava introducen un trasporte adicional de una octava para el pentagrama.

a'2 b
\ottava #1
a b
\ottava #0
a b

[image of music]

La función ottava también admite los valores -1 (para 8va bassa), 2 (para 15ma) y -2 (para 15ma bassa) como argumentos.

Fragmentos de código seleccionados

Texto de octava alta y baja

Internamente, la función set-octavation establece las propiedades ottavation (por ejemplo, a "8va" o a "8vb") y middleCPosition. Para sobreescribir el texto del corchete, ajuste ottavation despues de invocar a set-octavation.

{
  \ottava #1
  \set Staff.ottavation = #"8"
  c''1
  \ottava #0
  c'1
  \ottava #1
  \set Staff.ottavation = #"Text"
  c''1
}

[image of music]

Véase también

Glosario musical: octavation.

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.


Instrument transpositions

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 Quoting other voices.

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

[image of music]

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

[image of music]

Véase también

Glosario musical: concert pitch, transposing instrument.

Referencia de la notación: Quoting other voices, Transpose.

Fragmentos de código: Pitches.


Automatic accidentals

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>4
      \change Staff = up
      cis'
      \change Staff = down
      <fis, a>
      \change Staff = up
      dis' |
      \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
    }
  >>
}

[image of music]

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:

[image of music]

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 a default.

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 siguientem es difífil 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 estilos modern o modern-cautionary.

[image of music]

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:

[image of music]

modern-cautionary (moderno de precaución)

Esta regla es similar a modern, pero las alteraciones ‘añadidas’ (las que no se imprimen en el estilo default) se imprimen como alteraciones de precacución. Se imprimen de forma predeterminada con paréntesis, pero también se pueden imprimir en tamaño reducido definiendo la propiedad cautionary-style de AccidentalSuggestion.

[image of music]

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:

[image of music]

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 estilo voice no imprime) compuestas como de precaución. Incluso aunque todas las alteraciones impresas por el estilo default son impresas con esta regla, algunas de ellas se tipografían como de precaución.

[image of music]

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 grupo GrandStaff o PianoStaff, de ahí todas las cancelaciones de las últimas notas.

Este estilo de alteración se aplica de manera predeterminada al grupo GrandStaff o PianoStaff en curso.

[image of music]

piano-cautionary (piano, de precaución)

Igual que #(set-accidental-style 'piano) pero con las alteraciones añadidas compuestas como de precaución.

[image of music]

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

[image of music]

neo-modern-cautionary

Esta regla es similar a neo-modern, pero las alteraciones adicionales se imprimen como alteraciones de precaución.

[image of music]

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.

[image of music]

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.

[image of music]

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:

[image of music]

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 de dodecaphonic, esta regla nunca imprime becuadros:

[image of music]

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.

\score {
  \new Staff {
    #(set-accidental-style 'dodecaphonic)
    c'4 dis' cis' cis'
    c'4 dis' cis' cis'
    c'4 c' dis' des'
  }
  \layout {
    \context {
      \Staff
      \remove "Key_engraver"
    }
  }
}

[image of music]

Véase también

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: Accidental, Accidental_engraver, GrandStaff and 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 ds alteraciones predeterminado. El problema se puede resolver insertando manualmente !? para las notas problemáticas.


Ambitus

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
}

[image of music]

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

[image of music]

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


[image of music]

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.


1.1.4 Note heads

Esta sección propone formas de alterar las cabezas de las figuras.


Special note heads

Se puede modificar la cabeza de las notas:

c4 b a b
\override NoteHead #'style = #'cross
c4 b a b
\revert NoteHead #'style
c4 d e f

[image of music]

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>

[image of music]

Para ver todos los estilos de cabeza de las notas, consulte Note head styles.

Véase también

Fragmentos de código: Pitches.

Referencia de la notación: Note head styles.

Referencia de funcionamiento interno: note-event, Note_heads_engraver, Ledger_line_engraver, NoteHead, LedgerLineSpanner, note-head-interface, ledger-line-spanner-interface.


Easy notation note heads

Las cabezas ‘easy play’ (fáciles de tocar) tienen el nombre de la nota (en inglés) dentro de la cabeza. Se usa en la música para principiantes.

#(set-global-staff-size 26)
\relative c' {
  \easyHeadsOn
  c2 e4 f
  g1
  \easyHeadsOff
  c,1
}

[image of music]

La instrucción \easyHeadsOn sobreescribe los ajustes del objeto NoteHead. Estos ajustes se pueden deshacer mediante la isntrucción \easyHeadsOff. Para que las letras sean legibles, se tienen que imprimir en un tamaño grande de la tipografía. Para imprimir con un tamaño de tipografía mayor, consulte Setting the staff size.

Instrucciones predefinidas

\easyHeadsOn, \easyHeadsOff.

Véase también

Referencia de la notación: Setting the staff size.

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: note-event, Note_heads_engraver, NoteHead, note-head-interface.


Shape note heads

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.

\aikenHeads
c, d e f g a b c
\sacredHarpHeads
c, d e f g a b c

[image of music]

Las formas se determinan en función del grado de la escala, donde la tónica está determinada por la instrucción \key

Instrucciones predefinidas

\aikenHeads, \sacredHarpHeads.

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
}

\score {
  \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
    }
  }
  \layout { ragged-right = ##t }
}

[image of music]

Para ver todos los estilos de formas de cabeza de nota, consulte Note head styles.

Véase también

Fragmentos de código: Pitches.

Referencia de la notación: Note head styles.

Referencia de funcionamiento interno: note-event, Note_heads_engraver, NoteHead, note-head-interface.


Improvisation

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
}

[image of music]

Instrucciones predefinidas

\improvisationOn, \improvisationOff.

Véase también

Fragmentos de código: Pitches.

Referencia de funcionamiento interno: Pitch_squash_engraver, Voice, RhythmicStaff.


1.2 Rhythms

[image of music]

Esta sección trata de los ritmos, los silencios, las duraciones, las barras y los compases.


1.2.1 Writing rhythms


Durations

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 c64

[image of music]

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 c64

[image of music]

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 Ancient notation.

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

[image of music]

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.

[image of music]

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

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 Vocal music.

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 Proportional notation.

Normalmente los puntillos se desplazan hacia arriba para evitar las líneas del pentagrama, excepto en situaciones de polifonía. Para forzar una dirección concreta de forma manual, véase Direction and placement.

Instrucciones predefinidas

\autoBeamOff, \dotsUp, \dotsDown, \dotsNeutral.

Véase también

Glosario musical: breve, longa, maxima, note value, Duration names notes and rests.

Referencia de la notación: Automatic beams, Ties, Writing rhythms, Writing rests, Vocal music, Ancient notation, Proportional notation.

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


Tuplets

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 }

[image of music]

La colocación automática del corchete de grupo especial por encima o por debajo de las notas se puede sobreescribir manualmente mediante instrucciones predefinidas, para ver más detalles consulte Direction and placement.

Los grupos pueden anidarse unos dentro de otros:

\autoBeamOff
c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 |

[image of music]

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 Scaling durations.

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 "Administración del tiempo".

\relative c' {
  \time 2/4
  \set tupletSpannerDuration = #(ly:make-moment 1 4)
  \times 2/3 { c8 c c c c c }
}

[image of music]

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

[image of music]

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
}

[image of music]

Véase también

Glosario musical: triplet, tuplet, polymetric.

Manual de aprendizaje: Tweaking methods.

Referencia de la notación: Time administration, Scaling durations, The \tweak command, Polymetric notation.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: TupletBracket, TupletNumber, TimeScaledMusic.

Advertencias y problemas conocidos

Cuando la primera nota de un pentagrama es una nota de adorno (un mordente de una nota) seguida de un grupo de valoración especial, la nota de adorno se debe situar antes de la instrucción \times para evitar errores. En cualquier otro lugar, las notas de adorno sí se pueden colocar dentro de los corchetes de grupo especial.


Scaling durations

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

[image of music]

La duración de las notas de salto o 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
}

[image of music]

Una aplicación de esta instrucción se encuentra en la notación polimétrica, véase Polymetric notation.

Véase también

Referencia de la notación: Tuplets, Invisible rests, Polymetric notation.

Fragmentos de código: Rhythms.


Ties

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

[image of music]

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
}

[image of music]

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 Automatic note splitting. 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>

[image of music]

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

[image of music]

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

[image of music]

Es posible controlar la colocación vertical de las ligaduras de unión; véase la sección de instrucciones predefinidas, o para ver más detalles, consulte Direction and placement.

Se pueden especificar ligaduras continuas, de puuntos o intermitentes, véase la sección de instrucciones predefinidas.

Instrucciones predefinidas

\tieUp, \tieDown, \tieNeutral, \tieDotted, \tieDashed, \tieSolid, \repeatTie.

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 "verdadero". 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, como se muestra en este ejemplo.

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

[image of music]

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> ~ <c e g>
}

[image of music]

Véase también

Glosario musical: tie, laissez vibrer.

Referencia de la notación: Automatic note splitting.

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.


1.2.2 Writing rests

Los silencios se escriben como parte de la música dentro de las expresiones musicales.


Rests

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
}

[image of music]

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 Full measure rests.

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

[image of music]

Fragmentos de código seleccionados

Estilos de silencios

Los silencios se pueden imprimir en distintos estilos.

\layout {
  indent = 0.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
}

[image of music]

Véase también

Glosario musical: breve, longa, maxima.

Referencia de la notación: Full measure rests.

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


Invisible rests

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

[image of music]

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

[image of music]

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

[image of music]

\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

[image of music]

Véase también

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: SkipMusic.


Full measure rests

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

[image of music]

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 |

[image of music]

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 |

[image of music]

De forma predeterminada un silencio multicompás se expande en la partitura impresa para mostrar explícitamente todos los compases de silencio. De forma alternatica, 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 |

[image of music]

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

[image of music]

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"

[image of music]

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
}

[image of music]

Posicionar los silencios multicompás

A diferencia de los silencios normales, no existe una instrucción predefinida para modificar la posición predefinida de un símbolo multicompás sobre el pentagrama, adjuntándolo a una nota, independientemente de cuál sea su forma. Sin embargo, en la música polifónica los silencios multicompás de las voces de numeración par e impar están separados verticalmente. La colocación de los silencios multicompás se puede controlar como se ve a continuación:

\relative c'' {
  % Multi-measure rests by default are set under the fourth line
  R1
  % They can be moved 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
  % Multi-measure rests in odd-numbered voices are under the top line
  << { R1 } \\ { a1 } >>
  % Multi-measure rests 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 }
  >>
}

[image of music]

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
}

[image of music]

Véase también

Glosario musical: multi-measure rest.

Referencia de la notación: Durations, Text, Formatting text, Text scripts.

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.


1.2.3 Displaying rhythms


Time signature

La indicación de compás se establece como sigue:

\time 2/4 c2
\time 3/4 c2.

[image of music]

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 Visibility of objects.

\time 2/4
c2 c
\break
c c
\break
\time 4/4
c c c c

[image of music]

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

[image of music]

Las indicaciones de compás de la música mensural se tratan en Mensural time signatures.

Instrucciones predefinidas

\numericTimeSignature, \defaultTimeSignature.

Fragmentos de código seleccionados

Cambio de compás sin afectar al barrado

La instrucción ime 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:

\relative c'' {
  \time 3/4
  a16 a a a a a a a a a a a

  % Change time signature symbol but keep 3/4 beaming
  % due to unchanged underlying time signature
  \set Score.timeSignatureFraction = #'(12 . 16)
  a16 a a a a a a a a a a a

  \time 12/16
  % Lose 3/4 beaming now \time has been changed
  a16 a a a a a a a a a a a
}

[image of music]

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
  #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
  c8 d e fis gis
  c8 fis, gis e d
  c8 d e4 gis8
}

[image of music]

Véase también

Glosario musical: time signature

Referencia de la notación: Mensural time signatures, Time administration.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: TimeSignature, Timing_translator.


Upbeats

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 que se se debe añadir antes del comienzo del siguiente compás completo:

\partial 4 e4 |
a2. c,4 |

[image of music]

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 |

[image of music]

Esto se traduce internamente a

\set Timing.measurePosition = -duración

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: Grace notes.

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


Unmetered music

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

[image of music]

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

[image of music]

Instrucciones predefinidas

\cadenzaOn, \cadenzaOff.

Véase también

Glosario musical: cadenza.

Referencia de la notación:

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.


Polymetric notation

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 per 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 Time signature. 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 Scaling durations.

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

[image of music]

Pentagramas con distinas 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 |
    c c c |
  }
  \new Staff {
    \time 2/4
    c4 c |
    c c |
    c c |
  }
  \new Staff {
    \time 3/8
    c4. |
    c8 c c |
    c4. |
    c8 c c |
  }
>>

[image of music]

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
  #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
  c8 d e fis gis
  c8 fis, gis e d
  c8 d e4 gis8
}

[image of music]

Véase también

Glosario musical: polymetric, polymetric time signature, meter.

Referencia de la notación: Time signature, Scaling durations.

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.


Automatic note splitting

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 }

[image of music]

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: Engravers explained, Adding and removing engravers.

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.


Showing melody rhythms

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

[image of music]

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

[image of music]

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

[image of music]

Véase también

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: RhythmicStaff, Pitch_squash_engraver.


1.2.4 Beams


Automatic beams

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

[image of music]

Cuando estas decisiones automáticas no son lo bastante buenas, se pueden escribir los barrados de forma explícita; véase Manual beams. También es posible definir patrones de barrado que difieran de los ajustes por defecto. Las reglas de barrado predeterminadas están definidas en el archivo ‘scm/auto-beam.scm’. Si no hay definidas reglas de barrado para una duración dada de la barra en el tipo de compás en uso, el barrado se controla mediante los valores de tres propiedades de contexto, measureLength, beatLength y beatGrouping. Tanto las reglas de barrado como las propiedades de contexto se pueden sobreescribir, véase Setting automatic beam behavior.

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.

El barrado automático se puede habilitar o desactivar con las instrucciones \autoBeamOff y \autoBeamOn:

c4 c8 c8. c16 c8. c16 c8
\autoBeamOff
c4 c8 c8. c16 c8.
\autoBeamOn
c16 c8

[image of music]

Instrucciones predefinidas

\autoBeamOff, \autoBeamOn.

Fragmentos de código seleccionados

Beams across line breaks

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
}


[image of music]

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
}

[image of music]

Véase también

Referencia de la notación: Manual beams, Setting automatic beam behavior.

Archivos instalados: ‘scm/auto-beam.scm’.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: Beam.

Advertencias y problemas conocidos

No se pueden usar conjuntamente barras dobladas automáticamente que cruzan pentagramas y pentagramas ocultos. Véase Hiding staves.

Las barras pueden colisionar con las cabezas de las notas y las alteraciones accidentales de las otras voces.


Setting automatic beam behavior

La colocación de barras automáticas viene determinada por las reglas descritas en Automatic beams. Existen dos formas mutuamente excluyentes de modificar estas reglas. La primera es modificar la agrupación de los pulsos y se aplica a compases poco usuales, es decir, aquellos para los que no ha reglas predefinidas que definen los puntos de final de las barras. El segundo método, modificar la especificación de los puntos finales de las barras, se puede usar para cualquier tipo de compás. Este segundo método se debe usar para aquellos compases y combinaciones de duración de barras para los que existen reglas predefinidas de final de barra, a no ser que se hayan revertido. Hay reglas predefinidas para los compases de 3/2, 3/4, 4/4, 2/4, 4/8, 4/16, 6/8, 9/8 y 12/8.

Modificar las agrupaciones de pulsos

Si no hay definida ninguna regla de final de barra para la duración de una barra en particular dentro del tipo de compás en uso, su barrado se controla mediante tres propiedades de contexto: measureLength, beatLength y beatGrouping. Estas propiedades se deben establecer en los contextos Score, Staff o Voice para delimitar el ámbito de su efecto. Los valores predeterminados se establecen al procesarse las instrucciones \time, por ello las instrucciones \set se deben escribir después de todas las instrucciones \time.

Dichas propiedades determinan el barrado de la siguiente forma:

Las barras pueden dar comienzo en cualquier lugar (excepto si ya hay una barra activa). Las barras terminan en un tiempo determinado por los valores de beatGrouping y beatLength, com se ve a continuación:

Nota: Estas tres propiedades se hacen efectivas para una barra concreta solamente si no hay reglas de final de barra predefinidas para esa duración de barra en el tipo de compás en uso, o si todas esas reglas de final de barra se han revertido.

De forma predeterminada, las propiedades the measureLength y beatLength se derivan del compás establecido por la instrucción \time. La longitud measureLength está establecida de forma que sea exactamente la misma que la longitud del compás dado por la indicación de compás, y la longitud del pulso beatLength tiene un valor dado igual a una parte de compás (1/n, siendo n el denominador del compás).

El valor predeterminado de beatGrouping se toma de una tabla que está en ‘scm/music-functions.scm’. Para localizarla, véase Other sources of information. Define la agrupación de pulsos para los compases de 5/8, 6/8, 8/8, 9/8 y 12/8.

Tanto measureLength como beatLength son momentos, unidades 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 Time administration.

beatGrouping es una lista de enteros que dan el número de pulsos en cada grupo.

Fragmentos de código seleccionados

Agrupar los pulsos

Los patrones de barrado se pueden alterar con la propiedad beatGrouping:

\relative c'' {
  \time 5/16
  #(override-auto-beam-setting '(end * * 5 16) 5 16)
  \set beatGrouping = #'(2 3)
  c8^"(2+3)" c16 c8
  \set beatGrouping = #'(3 2)
  c8^"(3+2)" c16 c8
}


[image of music]

Especificar el contexto con beatGrouping

Mediante la especificación del contexto, el efecto de beatGrouping puede limitarse al contexto especificado, y sobreescribirse los valores establecidos en contextos de niveles más altos:

\score {
  \new Staff <<
    \time 7/8
    \new Voice {
      \relative c'' {
        \set Staff.beatGrouping = #'(2 3 2)
        a8 a a a a a a
      }
    }
    \new Voice {
      \relative c' {
        \voiceTwo
        \set beatGrouping = #'(1 3 3)
        f8 f f f f f f
      }
    }
  >>
}

[image of music]

Utilización de beatLength y beatGrouping

La propiedad measureLength determina dónde se deben insertar líneas divisorias y, con beatLength y beatGrouping, cómo se deben generar las barras autoomáticas para las duraciones de barra y compases para los que no hay ninguna regla definida para los finales de barra. Este ejemplo muestra distintas dormas de controlar el barrado mediante el establecimiento de estas propiedades. Las explicaciones están en forma de comentarios dentro del código.

\relative c'' {
  \time 3/4
  % The default in 3/4 time is to beam in three groups
  % each of a quarter note length
  a16 a a a a a a a a a a a

  \time 12/16
  % No auto-beaming is defined for 12/16
  a16 a a a a a a a a a a a

  \time 3/4
  % Change time signature symbol, but retain underlying 3/4 beaming
  \set Score.timeSignatureFraction = #'(12 . 16)
  a16 a a a a a a a a a a a

  % The 3/4 time default grouping of (1 1 1) and beatLength of 1/8
  % are not consistent with a measureLength of 3/4, so the beams
  % are grouped at beatLength intervals
  \set Score.beatLength = #(ly:make-moment 1 8)
  a16 a a a a a a a a a a a

  % Specify beams in groups of (3 3 2 3) 1/16th notes
  % 3+3+2+3=11, and 11*1/16<>3/4, so beatGrouping does not apply,
  % and beams are grouped at beatLength (1/16) intervals
  \set Score.beatLength = #(ly:make-moment 1 16)
  \set Score.beatGrouping = #'(3 3 2 3)
  a16 a a a a a a a a a a a

  % Specify beams in groups of (3 4 2 3) 1/16th notes
  % 3+4+2+3=12, and 12*1/16=3/4, so beatGrouping applies
  \set Score.beatLength = #(ly:make-moment 1 16)
  \set Score.beatGrouping = #'(3 4 2 3)
  a16 a a a a a a a a a a a
}

[image of music]

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

[image of music]

Símbolos de dirección, símbolos de agrupación de compás

Las opciones para agrupar los pulsos de un compás están a nuestra disposición a través de la función de Scheme set-time-signature, que acepta tres argumentos: el número de pulsos, la longitud del pulso, y la agrupación interna de los pulsos dentro del compás. Si se incluye el grabador Measure_grouping_engraver, la función crea también símbolos de agrupación MeasureGrouping. Dichos símbolos facilitan la lectura de la música moderna de cierta complejidad rítmica. En el ejemplo, el compás de 9/8 se subdivide en 2, 2, 2 y 3. Esto se pasa a la función set-time-signature como tercer argumento: '(2 2 2 3):

\score {
  \relative c'' {
    #(set-time-signature 9 8 '(2 2 2 3))
    #(revert-auto-beam-setting '(end * * 9 8) 3 8)
    #(override-auto-beam-setting '(end 1 8 9 8) 1 4)
    #(override-auto-beam-setting '(end 1 8 9 8) 2 4)
    #(override-auto-beam-setting '(end 1 8 9 8) 3 4)
    g8 g d d g g a( bes g) |
    #(set-time-signature 5 8 '(3 2))
    a4. g4
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}

[image of music]

Modificar los puntos finales de las barras

En compases de tipo normal, las barras automáticas pueden comenzar en cualquier nota pero solamente pueden terminar en algunas poriciones dentro del compás, concretamente en las duraciones que estén especificadas por las propiedades de autoBeamSettings. Estas propiedades consisten en una lista de reglas que especifican dónde pueden terminar las barras. Las reglas predeterminadas de autoBeamSettings están definidas en ‘scm/auto-beam.scm’. Para localizarlo, consulte Other sources of information.

Se debe usar este método para los tipos de compás para los que existen reglas de final de barra definidas de forma predeterminada, a no ser que todas ellas se hayan revertido. También es particularmente apropiado para otros muchos compases si la indicación de compás cambia con frecuencia, o si el barrado debe ser distinto para las distintas duraciones de barra.

Para añadir una regla a la lista, utilice

#(override-auto-beam-setting
  '(beam-limit
    beam-numerator  beam-denominator
    time-signature-numerator time-signature-denominator)
  moment-numerator moment-denominator [context])

donde:

Por ejemplo, si las barras automáticas siempre deben terminar sobre la primera negra, para cualquier tipo de compás o duración de la barra, use

a8 a a a a a a a
#(override-auto-beam-setting '(end * * * *) 1 4)
a8 a a a a a a a

[image of music]

Podemos forzar los ajustes de las barras para que tengan efecto sólo sobre las barras cuya nota más breve sea de una cierta duración:

\time 2/4
% end 1/16 beams for all time signatures at the 1/16 moment
#(override-auto-beam-setting '(end 1 16 * *) 1 16)
a16 a a a a a a a |
a32 a a a a16 a a a a a |
% end 1/32 beams for all time signatures at the 1/16 moment
#(override-auto-beam-setting '(end 1 32 * *) 1 16)
a32 a a a a16 a a a a a |

[image of music]

Podemos forzar los ajustes de las barras para que tengan efecto solamente en ciertos tipos de compás:

\time 5/8
% end beams of all durations in 5/8 time signature at the 2/8 moment
#(override-auto-beam-setting '(end * * 5 8) 2 8)
c8 c d d d
\time 4/4
e8 e f f e e d d
\time 5/8
c8 c d d d

[image of music]

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 not specified - does not work correctly
#(override-auto-beam-setting '(end * * 7 8) 3 8)
#(override-auto-beam-setting '(end * * 7 8) 4 8)
#(override-auto-beam-setting '(end * * 7 8) 5 8)
<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

% Works correctly with context specified
#(override-auto-beam-setting '(end * * 7 8) 3 8 'Staff)
#(override-auto-beam-setting '(end * * 7 8) 4 8 'Staff)
#(override-auto-beam-setting '(end * * 7 8) 5 8 'Staff)
<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

[image of music]

Nota: Si se produce un comportamiento inesperado de las barras, compruebe la existencia de una posible interferencia en los ajustes predeterminados del barrado automático que están en ‘scm/auto-beam.scm’, porque los finales de barra definidos aquí aún son válidos además de los suyos.

Debemos revertir cualquer final predeterminado indeseado o conflictivo, para nuestro compás concreto. Podemos eliminar una regla de barrado automático previamente establecida usando

#(revert-auto-beam-setting
  '(beam-limit
    beam-numerator  beam-denominator
    time-signature-numerator time-signature-denominator)
  moment-numerator moment-denominator [context])

límite-barra, numerador-barra, denominador-barra, numerador-compás, denominador-compás, numerador-momento, denominador-momento y contexto son los mismos que antes.

\time 4/4
a16 a a a a a a a a a a a a a a a
% undo a rule ending 1/16 beams in 4/4 time at 1/4 moment
#(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
a16 a a a a a a a a a a a a a a a

[image of music]

La regla de un enunciado revert-auto-beam-setting debe corresponderse exactamente con la regla original. Esto es, no se tiene en cuenta ninguna expansión de comodines.

\time 1/4
#(override-auto-beam-setting '(end 1 16 1 4) 1 8)
a16 a a a
#(revert-auto-beam-setting '(end 1 16 * *) 1 8) % this won't revert it!
a a a a
#(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % this will
a a a a

[image of music]

Fragmentos de código seleccionados

Agrupamiento de las barras en el compás de 7/8

No está especificada ninguna agrupación predeterminada automática de las barras para el compás de 7/8, de forma que si se requieren barras automáticas se debe especificar la forma de agrupamiento. Por ejemplo, para agrupar todas las barras en la forma 2-3-2 en el compás de 7/8, especificamos los finales de barra en 2/8 y 5/8:

\relative c'' {
  \time 7/8
  % rhythm 2-3-2
  a8 a a a a a a
  #(override-auto-beam-setting '(end * * 7 8) 2 8)
  #(override-auto-beam-setting '(end * * 7 8) 5 8)
  a8 a a a a a a
}

[image of music]

Alteración de los finales de barra predeterminados

Para tipografiar las barras agrupadas en la forma 3-4-3-2 en 12/8, en primer lugar tenemos que sobreescribir los finales de barra predeterminados en 12/8, y después preparar los finales de barra nuevos:

\relative c'' {
  \time 12/8

  % Default beaming
  a8 a a a a a a a a a a a

  % Revert default values in scm/auto-beam.scm for 12/8 time
  #(revert-auto-beam-setting '(end * * 12 8) 3 8)
  #(revert-auto-beam-setting '(end * * 12 8) 3 4)
  #(revert-auto-beam-setting '(end * * 12 8) 9 8)
  a8 a a a a a a a a a a a

  % Set new values for beam endings
  #(override-auto-beam-setting '(end * * 12 8) 3 8)
  #(override-auto-beam-setting '(end * * 12 8) 7 8)
  #(override-auto-beam-setting '(end * * 12 8) 10 8)
  a8 a a a a a a a a a a a
}

[image of music]

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
  #(score-override-auto-beam-setting '(end * * 5 4) 3 8)
  #(score-override-auto-beam-setting '(end * * 5 4) 7 8)
  <<
    \new Staff {
      c8 c c c c c c c c c
    }
    \new Staff {
      % Modify beaming for just this staff
      #(override-auto-beam-setting '(end * * 5 4) 6 8 'Staff)
      #(revert-auto-beam-setting '(end * * 5 4) 7 8 'Staff)
      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
          #(override-auto-beam-setting '(end * * 5 4) 6 8)
          #(revert-auto-beam-setting '(end * * 5 4) 7 8)
          a8 a a a a a a a a a
        }
      >>
    }
  >>
}

[image of music]

Instrucciones predefinidas

\autoBeamOff, \autoBeamOn.

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.

Véase también

Fragmentos de código: Rhythms.


Manual beams

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
}

[image of music]

Se pueden marcar notas individuales con \noBeam para evitar que resulten unidas por una barra:

\time 2/4 c8 c\noBeam c c

[image of music]

Se puede conseguir un control incluso más estritcto 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
f
\set stemLeftBeamCount = #1
g a]

[image of music]

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

[image of music]


Feathered beams

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 ábito 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 mitar 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] }

[image of music]

El espaciado en la salida impresa representa las duraciones de las notas de una forma sólo aproximada, pero la salida MIDI es exacta.

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.

Véase también

Fragmentos de código: Rhythms.


1.2.5 Bars


Bar lines

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

[image of music]

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

\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 Line breaking.

Este 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. Dichas inserciones no afectan al cálculo y colocación de las líneas divisorias automáticas subsiguientes.

Están disponibles para su inserción manual la línea divisoria simple y cinco tipos de doble barra:

f1 \bar "|" g \bar "||" a \bar ".|" b \bar ".|." c \bar "|.|" d \bar "|." e

[image of music]

así como la barra de puntos y la discontinua:

f1 \bar ":" g \bar "dashed" a

[image of music]

y cinco tipos de barra de repetición:

f1 \bar "|:" g \bar ":|:" a \bar ":|.|:" b \bar ":|.:" c \bar ":|" d

[image of music]

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 Repeats), 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.

\override Score.RehearsalMark #'padding = #3
c c c c
\bar "||:"
c c c c \break
\bar "||:"
c c c c

[image of music]

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 {
      e'4 d'
      \bar "||"
      f' e'
    }
    \new Staff { \clef bass c4 g e g }
  >>
  \new Staff { \clef bass c2 c2 }
>>

[image of music]

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: Line breaking, Repeats, Grouping staves.

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


Bar numbers

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

[image of music]

Fragmentos de código seleccionados

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
\bar ""  % Permit first bar number to be printed
c1 c c c
\break
c c c c

[image of music]

y aquí los números de compás se imprimen cada dos compases excepto al final de la línea:

\override Score.BarNumber #'break-visibility = #'#(#f #t #t)
\set Score.currentBarNumber = #11
\bar ""  % Permit first bar number to be printed
% Print a bar number every second measure
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
c1 c c c c
\break
c c c c c

[image of music]

Se puede cambiar el tamaño del número de compás. Esto queda ilustrado en el siguiente ejemplo, que también muestra cómo encerrar los números de compás en rectángulos y circunferencias, y ofrece una forma alternativa de especificar #(#f #t #t) para break-visibility.

% Prevent bar numbers at the end of a line and permit them elsewhere
\override Score.BarNumber #'break-visibility
  = #end-of-line-invisible

% Increase the size of the bar number by 2
\override Score.BarNumber #'font-size = #2
\repeat unfold 3 { c1 } \bar "|"

% 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 3 { c1 } \bar "|"

% 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 "|."

[image of music]

Los números de compás están alineados de forma predeterminada por la izquierda a su objeto padre. Esto suele corresponder al límite izquierdo de una línea o, si los números se imprimen dentro de la línea, la divisoria izquierda del compás. Los números también se pueden colocar directamente sobre la línea divisoria o alinearse por la derecha con ella:

\set Score.currentBarNumber = #111
\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
% 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 = #0
c1 c1
% Right-align bar numbers
\override Score.BarNumber #'self-alignment-X = #-1
c1 c1

[image of music]

Los números de compás se pueden suprimir completamente quitando el grabador Bar_number_engraver de números de compás del contexto de partitura Score.

\layout {
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
}
\relative c''{
  c4 c c c \break
  c4 c c c
}

[image of music]

Véase también

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: BarNumber.

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.


Bar and bar number checks

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, por ejemplo

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

[image of music]

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.


Rehearsal marks

Para imprimir una letra de ensayo, utilice la orden \mark

c1 \mark \default
c1 \mark \default
c1 \mark #8
c1 \mark \default
c1 \mark \default

[image of music]

La letra ‘I’ se salta de acuerdo con las tradiciones de grabado. Si quiere incluir la letra ‘I’, use

\set Score.markFormatter = #format-mark-alphabet

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.

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

[image of music]

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"

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

[image of music]

Consulte The Feta font 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 Text marks.

Véase también

Referencia de la notación: The Feta font, Formatting text.

Archivos de inicio: ‘scm/translation-functions.scm’ contiene la definición 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: RehearsalMark.


1.2.6 Special rhythmic concerns


Grace notes

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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
}

[image of music]

Fragmentos de código seleccionados

El trazo inclinado que atraviesa al corchete de las acciaccaturas se puede aplicar en otras situaciones:

\relative c'' {
  \override Stem #'stroke-style = #"grace"
  c8( d2) e8( f4)
}

[image of music]

La disposición de las expresiones de adorno se pueden cambiar a lo largo de la música usando la función add-grace-property. El siguiente ejemplo suprime la definición de la dirección de la Stem (plica) para este adorno, y así las plicas no siempre apuntan hacia arriba.

\relative c'' {
  \new Staff {
    #(add-grace-property 'Voice 'Stem 'direction ly:stem::calc-direction)
    #(remove-grace-property 'Voice 'Stem 'direction)
    \new Voice {
       \acciaccatura { f16 } g4
       \grace { d16[ e] } f4
       \appoggiatura { a,32[ b c d] } e2
    }
  }
}

[image of music]

Otra opción es modificar las variables startGraceMusic, stopGraceMusic, startAcciaccaturaMusic, stopAcciaccaturaMusic, startAppoggiaturaMusic y stopAppoggiaturaMusic. Sus valores predeterminados están en el archivo ‘ly/grace-init.ly’. Al redefinirlos se pueden obtener otros efectos.

Se puede forzar la alineación de las notas de adorno con las notas normales de los otros pentagramas:

\relative c'' {
  <<
    \override Score.SpacingSpanner #'strict-grace-spacing = ##t
    \new Staff {
      c4
      \afterGrace c4 { c16[ c8 c16] }
      c4 r
    }
    \new Staff {
      c16 c c c c c c c c4 r
    }
  >>
}

[image of music]

Véase también

Glosario musical: grace notes, acciaccatura, appoggiatura.

Archivos de inicio: ‘ly/grace-init.ly’.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: GraceMusic.

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

[image of music]

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

[image of music]

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.


Aligning to cadenzas

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

[image of music]

Véase también

Glosario musical: cadenza.

Fragmentos de código: Rhythms.


Time administration

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.

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 Bar numbers.

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 excede measureLength. Cuando eso ocurre, se incrementa currentBarNumber.

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.

\set Score.measureLength = #(ly:make-moment 5 4)
c1 c4
c1 c4
c4 c4
\set Score.measurePosition = #(ly:make-moment 5 8)
b4 b4 b8
c4 c1

[image of music]

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: Bar numbers, Unmetered music.

Fragmentos de código: Rhythms.

Referencia de funcionamiento interno: Timing_translator, Score.


1.3 Expressive marks

[image of music]

Esta sección relaciona diversas marcas de expresión que se pueden crear en un a partitura.


1.3.1 Attached to notes

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.


Articulations and ornamentations

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 List of articulations. Por ejemplo:

c4\staccato c\mordent b2\turn
c1\fermata

[image of music]

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

[image of music]

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 Direction and placement.

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

[image of music]

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

[image of music]

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
}

[image of music]

Véase también

Glosario musical: tenuto, accent, staccato, portato.

Referencia de la notación: Direction and placement, List of articulations, Trills.

Archivos instalados: ‘scm/script.scm’.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: Script, TextScript.


Dynamics

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, \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 Direction and placement.

c2\ppp c\mp
c2\rfz c^\mf
c2_\spp c^\ff

[image of music]

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\!

[image of music]

Se requieren silencios espaciadores para tipografiar varias indicaciones dinámicas sobre una sola nota.

c4\< c\! d\> e\!
<< f1 { s4 s4\< s4\> s4\! } >>

[image of music]

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

[image of music]

Los crescendi y decrescendi se pueden tipografiar como marcas textuales en lugar de reguladores. Las instrucciones incorporadaas que activan estos modos de texto son \crescTextCresc, \dimTextDecresc, \dimTextDecr y \dimTextDim. 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\!

[image of music]

Para crear nuevas indicaciones de matiz absoluto o de texto que deba alinearse con los matices, véase New dynamic marks.

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

[image of music]

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

[image of music]

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

[image of music]

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
}

[image of 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\!
}

[image of music]

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 estiloo 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 intermitente) 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
}

[image of music]

Véase también

Glosario musical: al niente, crescendo, decrescendo, hairpin.

Manual de aprendizaje: Articulation and dynamics.

Referencia de la notación: Direction and placement, New dynamic marks, What goes into the MIDI output?, Controlling MIDI dynamics.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: DynamicText, Hairpin, DynamicLineSpanner.


New dynamic marks

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

[image of music]

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 Formatting text.

roundF = \markup { \center-align \concat { \bold { \italic ( }
           \dynamic f \bold { \italic ) } } }
boxF = \markup { \bracket { \dynamic f } }
\relative c' {
  c1_\roundF
  c1_\boxF
}

[image of music]

Las indicaciones dinámicas sencillas y centradas se crean fácilmente con la función make-dynamic-script. La fuente tipográfica de matices sólo contiene los caracteres f, m, p, r, s y z.

sfzp = #(make-dynamic-script "sfzp")
\relative c' {
  c4 c c\sfzp c
}

[image of music]

En general make-dynamic-script toma cualquier objeto de marcado como argumento. En el siguiente ejemplo, el uso de make-dynamic-script asegura la alineación de los objetos de marcado y reguladores que están aplicados sobre la misma nota.

roundF = \markup { \center-align \concat {
           \normal-text { \bold { \italic ( } }
           \dynamic f
           \normal-text { \bold { \italic ) } } } }
boxF = \markup { \bracket { \dynamic f } }
roundFdynamic = #(make-dynamic-script roundF)
boxFdynamic = #(make-dynamic-script boxF)
\relative c' {
  c4_\roundFdynamic\< d e f
  g,1_\boxFdynamic
}

[image of music]

Se puede utilizar en su lugar la forma Scheme del modo de marcado. Su sintaxis se explica en Markup construction in Scheme.

moltoF = #(make-dynamic-script
            (markup #:normal-text "molto"
                    #:dynamic "f"))
\relative c' {
  <d e>16 <d e>
  <d e>2..\moltoF
}

[image of music]

Los ajustes para las fuentes tipográficas en el modo de marcado se describen en Selecting font and font size.

Véase también

Referencia de la notación: Formatting text, Selecting font and font size, Markup construction in Scheme, What goes into the MIDI output?, Controlling MIDI dynamics.

Fragmentos de código: Expressive marks.


1.3.2 Curves

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.


Slurs

Las Ligaduras de expresión se introducen utilizando paréntesis:

f4( g a) a8 b(
a4 g2 f4)
<c e>2( <b d>2)

[image of music]

Las ligaduras de expresión se pueden colocar manualmente por encima o por debajo de las notas, véase Direction and placement.

c2( d)
\slurDown
c2( d)
\slurNeutral
c2( d)

[image of music]

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 Phrasing slurs.

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)

[image of music]

Instrucciones predefinidas

\slurUp, \slurDown, \slurNeutral, \slurDashed, \slurDotted, \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>)
}

[image of music]

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
}


[image of music]

Véase también

Glosario musical: slur.

Manual de aprendizaje: On the un-nestedness of brackets and ties.

Referencia de la notación: Direction and placement, Phrasing slurs.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: Slur.


Phrasing slurs

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\)

[image of music]

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. Las ligaduras de fraseo se pueden situar manualmente por encima o por debajo de las notas, véase Direction and placement.

c4\( g' c,( b) | c1\)
\phrasingSlurUp
c4\( g' c,( b) | c1\)

[image of music]

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\)

[image of music]

Instrucciones predefinidas

\phrasingSlurUp, \phrasingSlurDown, \phrasingSlurNeutral, \phrasingSlurDashed, \phrasingSlurDotted, \phrasingSlurSolid.

Véase también

Manual de aprendizaje: On the un-nestedness of brackets and ties.

Referencia de la notación: Direction and placement.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: PhrasingSlur.


Breath marks

Las respiraciones se introducen utilizando \breathe:

c2. \breathe d4

[image of music]

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
}

[image of music]

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
}

[image of music]

Véase también

Glosario musical: caesura.

Referencia de la notación: Divisiones.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: BreathingSign.


Falls and doits

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 #+8
c2-\bendAfter #-8

[image of music]

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 #-3
  c2-\bendAfter #+8
  c2-\bendAfter #-6
}

[image of music]

Véase también

Glosario musical: fall, doit.

Fragmentos de código: Expressive marks.


1.3.3 Lines

Esta sección explica cómo crear diversas marcas de expresión que siguen un camino lineal: glissandi, arpegios y trinos.


Glissando

Se crea un glissando adjuntando \glissando a la nota:

g2\glissando g'
c2\glissando c,

[image of music]

Se pueden crear distintos tipos de glissando. Para ver más detalles, consulte Line styles.

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

[image of music]

Véase también

Glosario musical: glissando.

Referencia de la notación: Line styles.

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.


Arpeggio

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

[image of music]

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

[image of music]

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
\arpeggioNormal
<c e g c>2\arpeggio

[image of music]

Los acordes arpegiados se pueden desarrollar explícitamente utilizando ligaduras de unión. Véase Ties.

Instrucciones predefinidas

\arpeggio, \arpeggioArrowUp, \arpeggioArrowDown, \arpeggioNormal, \arpeggioBracket.

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

[image of music]

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 PianoStaff si se incluye el grabador Span_arpeggio_engraver en el contexto de Score.

\score {
  \new StaffGroup {
    \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"
    }
  }
}

[image of music]

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

[image of music]

Véase también

Glosario musical: arpeggio.

Referencia de la notación: Ties.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: Arpeggio, 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.


Trills

Los trinos cortos sin línea extensora se imprimen con \trill; véase Articulations and ornamentations.

Los trinos largos mantenidos, con línea de extensión, se hacen con \startTrillSpan y \stopTrillSpan:

d1~\startTrillSpan
d1
c2\stopTrillSpan r2

[image of music]

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 Grace notes.

c1 \afterGrace
d1\startTrillSpan { c32[ d]\stopTrillSpan }
e2 r2

[image of music]

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 segndo es la nota trinada, que se imprime como una cabeza de nota, sin plica y entre paréntesis.

\pitchedTrill e2\startTrillSpan fis
d\stopTrillSpan

[image of music]

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

[image of music]

Instrucciones predefinidas

\startTrillSpan, \stopTrillSpan.

Véase también

Glosario musical: trill.

Referencia de la notación: Articulations and ornamentations, Grace notes.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: TrillSpanner.


1.4 Repeats

[image of music]

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 Long repeats

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.


Normal repeats

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 }

[image of music]

Repeticiones normales con primera y segunda vez:

\repeat volta 4 { c4 d e f }
\alternative {
  { d2 e }
  { f2 g }
}
c1

[image of music]

Las repeticiones con anacrusa se pueden introducir de dos formas:

\partial 4
e |
\repeat volta 4 { c2 d | e2 f | }
\alternative {
  { g4 g g e }
  { a4 a a a | b2. }
}

[image of music]

o bien

\partial 4
\repeat volta 4 { e4 | c2 d | e2 f | }
\alternative {
  { \partial 4*3 g4 g g }
  { a4 a a a | b2. }
}

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Véase también

Glosario musical: repeat, volta.

Referencia de la notación: Bar lines, Modifying context plug-ins.

Fragmentos de código: Repeats.

Referencia de funcionamiento interno: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic.

Advertencias y problemas conocidos

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.

La información del contador de tiempo no se recuerda al comienzo de una alternativa, por ello después de una repetición la información de la cuenta de tiempo se debe reajustar manualmente; por ejemplo, estableciendo el valor de Score.measurePosition o introduciendo \partial. De forma similar, las ligaduras de expresión tampoco se repiten.


Manual repeat marks

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 Bar lines.

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

[image of music]

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

[image of music]

(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

[image of music]

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

[image of music]

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 Formatting text. 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))
}

[image of music]

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))
  \bar "|:"
  c1
  d1
  d4 e f g
}

[image of music]

Véase también

Referencia de la notación: Bar lines, Formatting text.

Fragmentos de código: Repeats.

Referencia de funcionamiento interno: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic.


Written-out repeats

Mediante la utilización de la instrucción unfold se pueden usar las repeticiones para simplificar la escritura deplegada 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 nnúmero_de_repeticiones es el número de veces que expresión_musical se repite.

c1
\repeat unfold 2 { c4 d e f }
c1

[image of music]

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

[image of music]

Véase también

Fragmentos de código: Repeats.

Referencia de funcionamiento interno: RepeatedMusic, UnfoldedRepeatedMusic.


1.4.2 Short repeats

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.


Percent repeats

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

[image of music]

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

[image of music]

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

[image of music]

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
}

[image of music]

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.


Tremolo repeats

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 }

[image of music]

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

[image of music]

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:

[image of music]

Véase también

Fragmentos de código: Repeats.

Advertencias y problemas conocidos

Los trémolos de pentagrama cruzado no funcionan bien.


1.5 Simultaneous notes

[image of music]

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 Single voice

Esta sección trata de la notas simultáneas dentro de la misma voz.


Chorded notes

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

[image of music]

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 Chord notation.

Véase también

Glosario musical: chord.

Manual de aprendizaje: Combining notes into chords.

Referencia de la notación: Chord notation.

Fragmentos de código: Simultaneous notes.


Simultaneous expressions

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

[image of music]

% single first note
a << {a4 b g}  {d4 g c,} >>

[image of music]

Esto puede ser de utilidad si las secciones siimultá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} >>

[image of music]

Aquí no hay problema en tener distintas duraciones.


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

[image of music]

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.


1.5.2 Multiple voices

Esta sección trata las notas simultáneas en varias voces o varios pentagramas.


Single-staff polyphony

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

En todas las partituras excepto las más simples, se recomienda crear contextos Voice explícitos como aparece explicado en Contexts and engravers y en instantiating voices Explicitly instantiating voices.

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

[image of music]

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: Voices contain music, Explicitly instantiating voices.

Referencia de la notación: Percussion staves, Invisible rests.

Fragmentos de código: Simultaneous notes.


Voice styles

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

[image of music]

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: I’m hearing Voices, Other sources of information.

Fragmentos de código: Simultaneous notes.


Collision resolution

Las cabezas de notas que están en diferentes voces y tienen la misma altura, la misma forma de cabezaa, 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.

<<
  {
    c8 d e d c d c4
    g'2 fis
  } \\ {
    c2 c8. b16 c4
    e,2 r
  } \\ {
    \oneVoice
    s1
    e8 a b c d2
  }
>>

[image of music]

Las cabezas de notas diferentes se pueden combinar, con la excepción de blancas con negras:

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

[image of music]

Se pueden combinar cabezas con puntillos diferentes:

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

[image of music]

La blanca y la corchea en el comienzo del segundo compás no están correctamente combinadas porque \mergeDifferentlyHeadedOn no es capaz de completar satisfactoriamente la combinación cuando se encuentran tres o más notas alineadas en la misma columna, y en este caso se obtiene una advertencia. Para conseguir que la combinación funcione adecuadamente, 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
  }

>>

[image of music]

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 (por ejemplo, en las Voices 1 y 2).

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. 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
    } \\ {
      \voiceTwo
      d2
      d4 cis2
      d4 bes2
    }
  >>
}

[image of music]

Forzar el desplazamiento horizontal de las notas

Cuando el motor de tipografiado no es capaz de todo, se puede usar la propiedad force-hshift del objeto NoteColumn para sobreescribir decisiones de tipografiado. 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
  }
>>

[image of music]

Véase también

Glosario musical: polyphony.

Manual de aprendizaje: Multiple notes at once, Voices contain music, Collisions of objects.

Fragmentos de código: Simultaneous notes.

Referencia de funcionamiento interno: NoteColumn, NoteCollision, RestCollision.

Advertencias y problemas conocidos

Cuando se emplea \mergeDifferentlyHeadedOn con una corchea (o una nota más corta) con la plica hacia arriba, y una blanca con la plica hacia abajo, la corchea recibe un desplazamiento ligeramente incorrecto a causa de la anchura diferente del símbolo de la cabeza de la blanca.

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 Clusters).


Automatic part combining

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

[image of music]

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

[image of music]

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

[image of music]

Véase también

Glosario musical: a due, part.

Referencia de la notación: Writing parts.

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


Writing music in parallel

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

[image of music]

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

[image of music]

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

[image of music]

Véase también

Manual de aprendizaje: Organizing pieces with variables

Fragmentos de código: Simultaneous notes.


1.6 Staff notation

[image of music]

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 Displaying staves

Esta sección describe los distintos métodos de creación de pentagramas y grupos de ellos.


Instantiating new staves

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 Creating contexts.

El contexto básico de pentagrama es Staff:

\new Staff { c4 d e f }

[image of music]

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 Percussion staves.

\new DrumStaff {
  \drummode { cymc hh ss tomh }
}

[image of music]

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 Showing melody rhythms.

\new RhythmicStaff { c4 d e f }

[image of music]

TabStaff crea una tablatura con seis cuerdas en la afinación estándar de guitarra. Para ver más detalles, consulte Default tablatures.

\new TabStaff { c4 d e f }

[image of music]

Existen dos contextos de pauta específicos para la notación de música antigua: MensuralStaff y VaticanaStaff. Se describen en Pre-defined contexts.

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 }

[image of music]

Se pueden definir contextos nuevos de pentagrama único. Para ver más detalles, consulte Defining new contexts.

Véase también

Glosario musical: staff, staves.

Referencia de la notación: Creating contexts, Percussion staves, Showing melody rhythms, Default tablatures, Pre-defined contexts, Staff symbol, Gregorian chant contexts, Mensural contexts, Defining new contexts.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno: Staff, DrumStaff, GregorianTranscriptionStaff, RhythmicStaff, TabStaff, MensuralStaff, VaticanaStaff, StaffSymbol.


Grouping staves

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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 Instrument names.

\new PianoStaff <<
  \set PianoStaff.instrumentName = #"Piano"
  \new Staff { c1 c }
  \new Staff { c1 c }
>>

[image of music]

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 Defining new contexts.

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

[image of music]

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

[image of music]

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

[image of music]

Véase también

Glosario musical: brace, bracket, grand staff.

Referencia de la notación: Instrument names, Defining new contexts.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno: Staff, StaffGroup, ChoirStaff, GrandStaff, PianoStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.


Nested staff groups

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

[image of music]

Se pueden definir nuevos contextos de grupos de pentagramas anidados. Para ver más detalles, consulte Defining new contexts.

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

[image of music]

Véase también

Referencia de la notación: Grouping staves, Instrument names, Defining new contexts.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno: StaffGroup, ChoirStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.


1.6.2 Modifying single staves

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.


Staff symbol

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

\new Staff \with {
  \override StaffSymbol #'line-count = #3
}
{ d4 d d d }

[image of music]

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 }

[image of music]

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 }

[image of music]

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 }

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Véase también

Glosario musical: line, ledger line, staff.

Referencia de la notación: Clef.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno: StaffSymbol, staff-symbol-interface.

Advertencias y problemas conocidos

Al establecer manualmente las posiciones de las líneas de la pauta, las barras de compás siempre se centran alrededor de la posición 0, por lo que la distancia máxima entre las barras de compás más externas en cualquiera de las direcciones, debe ser igual.


Ossia staves

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
}

[image of music]

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 Nesting music expressions.

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
}

[image of music]

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

[image of music]

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. En este caso, no es necesario en absoluto utilizar silencios de separación; solamente son necesarios \startStaff y \stopStaff. Para ver más información sobre \RemoveEmptyStaffContext, consulte Hiding staves.

<<
  \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)
  }
  \new Staff \relative c' {
    c4 b c2
    e4 f e2
    g4 a g2 \break
    <<
      { c4 b c2 }
      \context Staff = ossia {
        c4 e8 d c2 \stopStaff
      }
    >>
    g4 a g2
    e4 d c2
  }
>>

\layout {
  \context {
    \RemoveEmptyStaffContext
    \override VerticalAxisGroup #'remove-first = ##t
  }
}

[image of music]

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

[image of music]

Véase también

Glosario musical: ossia, staff, Frenched staff.

Mannual de aprendizaje: Nesting music expressions, Size of objects, Length and thickness of objects.

Referencia de la notación: Hiding staves.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno: StaffSymbol.


Hiding staves

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 }

[image of music]

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

[image of music]

También se puede usar \RemoveEmptyStaffContext para crear secciones de ossia para un pentagrama. Para ver más detalles, consulte Ossia staves.

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 { 
    \RemoveEmptyStaffContext 
    % 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
  }
>>

[image of music]

Véase también

Glosario musical: Frenched staff.

Referencia de la notación: Staff symbol, Ossia staves.

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

1.6.3 Writing parts

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.


Metronome marks

Es muy sencillo escribir una indicación metronómica básica:

\tempo 4 = 120
c2 d
e4. d8 c2

[image of music]

Se pueden usar indicaciones de tempo con texto:

\tempo "Allegretto"
c4 e d c
b4. a16 b c4 r4

[image of music]

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

[image of music]

En general, el texto puede ser cualquier objeto de marcado:

\tempo \markup { \italic Faster } 4 = 132
a8-. r8 b-. r gis-. r a-. r

[image of music]

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

[image of music]

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 las propiedades side-axis y 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
}

[image of music]

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

[image of music]

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
}

[image of music]

Para ver más detalles, consulte Formatting text.

Véase también

Glosario musical: metronome, metronomic indication, tempo indication, metronome mark.

Referencia de la notación: Formatting text, MIDI output.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno:: MetronomeMark.


Instrument names

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

[image of music]

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

[image of music]

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

[image of music]

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 Horizontal dimensions.

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

[image of music]

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 Modifying context plug-ins.

Los nombres de instrumento se pueden cambiar en mitad de una pieza:

\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

[image of music]

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
}

[image of music]

Véase también

Referencia de la notación: Horizontal dimensions, Modifying context plug-ins.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno: InstrumentName, PianoStaff, Staff.


Quoting other voices

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 de la voz citada se inserta dentro de la expresión musical:

flute = \relative c'' {
  a4 gis g gis
}
\addQuote "flute" { \flute }

\relative c' {
  c4 cis \quoteDuring #"flute" { s2 }
}

[image of music]

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

[image of music]

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 Instrument transpositions.

clarinet = \relative c'' {
  \transposition bes
  a4 gis g gis
}
\addQuote "clarinet" { \clarinet }

\relative c' {
  c4 cis \quoteDuring #"clarinet" { s2 }
}

[image of music]

Es posible etiquetar las citas con nombres exclusivos para poder procesarlas de diferentes maneras. Para ver más detalles sobre este procedimiento, consulte Using tags.

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

[image of music]

Citar otra voz

La propiedad quotedEventTypes determina los tipos de eventos musicales que resultan citados. El valor predeterminado es (note-event rest-event), que significa que sólo aparecen en la expresión \quoteDuring las notas y los silencios. En el ejemplo siguiente, el silencio de semicorchea no aparece en el fragmento citado porque rest-event no está dentro de los quotedEventTypes.

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

[image of music]

Véase también

Referencia de la notación: Instrument transpositions, Using tags.

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.


Formatting cue notes

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 copa 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 e g f a
  g8 g16 g g2.
}
\addQuote "oboe" { \oboe }

\new Voice \relative c'' {
  \cueDuring #"oboe" #UP { R1 }
  g2 c,
}

[image of music]

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.

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

[image of music]

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 Instrument names.

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

[image of music]

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 Instrument transpositions.

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

[image of music]

Es posible etiquetar las partes guía con numbres exclusivos de forma que se puedan procesar de diversas formas. Para ver más detalles sobre este procedimiento, consulte Using tags.

Véase también

Referencia de la notación: Instrument transpositions, Instrument names, Using tags.

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.


1.7 Editorial annotations

[image of music]

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 Inside the staff

Esta sección trata sobre cómo aplicar énfasis a los elementos situados dentro del pentagrama.


Selecting notation font size

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 Selecting font and font size.

\huge
c4.-> d8---3
\large
c4.-> d8---3
\normalsize
c4.-> d8---3
\small
c4.-> d8---3
\tiny
c4.-> d8---3
\teeny
c4.-> d8---3

[image of music]

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

[image of music]

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.


Fingering instructions

Las instrucciones de digitación se pueden introducir usando nota-dígito:

c4-1 d-2 f-4 e-3

[image of music]

Para los cambios de dedo se pueden usar elementos de marcado de texto.

c4-1 d-2 f-4 c^\markup { \finger "2 - 3" }

[image of music]

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>

[image of music]

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>

[image of music]

Las indicaciones de digitación se pueden situar manualmente encima o debajo del pentagrama, véase Direction and placement.

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.

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


[image of music]

Permitir que las digitaciones se impriman dentro del pentagrama

Las cifras de digitación se imprimen de forma predeterminada fuera del pentagrama. Sin embargo, este comportamiento se puede cancelar.

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \once \override Fingering #'staff-padding = #'()
  <c-1 e-2 g-3 b-5>2
}

[image of music]

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
}

[image of music]

Véase también

Referencia de la notación: Direction and placement.

Fragmentos de código: Editorial annotations.

Referencia de funcionamiento interno: FingeringEvent, fingering-event, Fingering_engraver, New_fingering_engraver, Fingering.


Hidden notes

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

[image of music]

Los objetos de notación que están anclados a notas invisibles, son a pesar de ello visibles.

c4( d)
\hideNotes
e4(\p f)--

[image of music]

Instrucciones predefinidas

\hideNotes, \unHideNotes.

Véase también

Fragmentos de código: Editorial annotations.

Referencia de funcionamiento interno: Note_spacing_engraver, NoteSpacing.


Coloring objects

Se pueden asignar colores a los objetos individuales. Los nombres de color válidos se encuentran relacionados en la List of colors.

\override NoteHead #'color = #red
c4 c
\override NoteHead #'color = #(x11-color 'LimeGreen)
d
\override Stem #'color = #blue
e

[image of music]

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

[image of music]

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

[image of music]

Véase también

Referencia de la notación: List of colors, The \tweak command.

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 The \tweak command para ver más detalles.


Parentheses

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>

[image of music]

Los objetos que no son notas también se pueden poner entre paréntesis.

c2-\parenthesize -. d
c2 \parenthesize r

[image of music]

Véase también

Fragmentos de código: Editorial annotations.

Referencia de funciionamiento 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.


Stems

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.

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
}

[image of music]

Véase también

Referencia de la notación: Direction and placement.

Fragmentos de código: Editorial annotations.

Referencia de funcionamiento interno: Stem_engraver, Stem, stem-interface.


1.7.2 Outside the staff

Esta sección trata sobre cómo enfatizar elementos que están dentro del pentagrama, desde fuera del pentagrama.


Balloon help

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

[image of music]

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 coqmo \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.
}

[image of music]

Instrucciones predefinidas

\balloonLengthOn, \balloonLengthOff.

Véase también

Fragmentos de código: Editorial annotations.

Referencia de funcionamiento interno: Balloon_engraver, BalloonTextItem, balloon-interface.


Grid lines

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

[image of music]

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

[image of music]

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.


Analysis brackets

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
}

[image of music]

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
}

[image of music]

Véase también

Fragmentos de código: Editorial annotations.

Referencia de funcionamiento interno: Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, Staff.


1.8 Text

[image of music]

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: Vocal music, Titles and headers.


1.8.1 Writing text

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 Text encoding.


Text scripts

Es posible añadir indicaciones de “texto entrecomillado” a una partitura, como se muestra en el ejemplo siguiente. Tales indicaciones se pueden colocar también manulamente encima o debajo del pentagrama utilizando la sintaxis que se describe en Direction and placement.

a8^"pizz." g f e a4-"scherz." f

[image of music]

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 Formatting text.

a8^\markup { \italic pizz. } g f e
a4_\markup { \tiny scherz. \bold molto } f

[image of music]

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

[image of music]

Instrucciones predefinidas

\textLengthOn, \textLengthOff.

Véase también

Referencia de la notación: Formatting text, Direction and placement.

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

Text spanners

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 dede una nota hasta otra usando la siguiente sintaxis:

\override TextSpanner #'(bound-details left text) = "rit."
b1\startTextSpan
e,\stopTextSpan

[image of music]

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 Formatting text.

\override TextSpanner #'(bound-details left text) =
  \markup { \upright "rit." }
b1\startTextSpan c
e,\stopTextSpan

[image of music]

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 Line styles.

Instrucciones predefinidas

\textSpannerUp, \textSpannerDown, \textSpannerNeutral.

Véase también

Referencia de la notación: Line styles, Dynamics.

Fragmentos de código: Text.

Referencia de funcionamiento interno: TextSpanner.


Text marks

Se pueden añadir a la partitura varios elementos de texto con la sintaxis que se describe en Rehearsal marks:

c4
\mark "Allegro"
c c c

[image of music]

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 Formatting text:

<c e>1
\mark \markup { \italic { colla parte } }
<d f>2 <e g>
<c f aes>1

[image of music]

Esta sintaxis también permite imprimir símbolos especiales como llamadas, segno o calderones, especificando el nombre del símbolo correspondiente como se esplica en Music notation inside markup:

<bes f>2 <aes d>
\mark \markup { \musicglyph #"scripts.ufermata" }
<e g>1

[image of music]

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

[image of music]

Fragmentos de código seleccionados

Imprimir marcas al final de la línea o de la partitura

Las marcas se pueden imprimir al final de la línea actual, en vez de al comienzo de la línea siguiente. Esto es útil principalmente cuando se tiene que añadir una marca al final de la partitura (donde no hay línea siguiente).

En tales casos, el extremo derecho de la marca se tiene que alinear con la última línea divisoria, como muestra la segunda línea de este ejemplo.

\relative c'' {  
  \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
  g2 c
  d,2 a'
  \mark \default
  \break
  g2 b,
  c1 \bar "||"
  \override Score.RehearsalMark #'self-alignment-X = #RIGHT  
  \mark "D.C. al Fine"
}

[image of music]

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 "↓"
  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 "↓"
  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 "↓"
  \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 "↓"
  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 "↓"
  e1
}

[image of music]

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

[image of music]

Véase también

Referencia de la notación: Rehearsal marks, Formatting text, Music notation inside markup, The Feta font.

Fragmentos de código: Text.

Referencia de funcionamiento interno: RehearsalMark.

Advertencias y problemas conocidos

Si se introduce una llamada al final del último compás de la partitura (donde no hay línea siguiente), la llamada no se imprime en absoluto.


Separate text

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 File structure.

\markup {
  Tomorrow, and tomorrow, and tomorrow...
}

[image of music]

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 Multiple scores in a book.

\score {
  c'1
}
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}
\score {
  c'1
}

[image of music]

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 Multi-page markup.

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

[image of music]

Véase también

Referencia de la notación: Formatting text, File structure, Multiple scores in a book, Multi-page markup.

Fragmentos de código: Text.

Referencia de funcionamiento interno: TextScript.


1.8.2 Formatting text

Esta sección presenta los formateados básico y avanzado de texto, usando la sintaxis específica del modo de \markup.


Text markup introduction

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

[image of music]

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

[image of music]

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

[image of music]

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
}

[image of music]

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.


Selecting font and font size

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

[image of music]

El tamaño de los caracteres también se puede alterar de distintas maneras:

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

[image of music]

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

[image of music]

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

[image of music]

Algunas de estas familias, usadas para elementos específicos como números o matices, no ofrecen todos los caracteres, como se explica en New dynamic marks y Manual repeat marks.

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

[image of music]

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

Instrucciones predefinidas

\teeny, \tiny, \small, \normalsize, \large, \huge, \smaller, \larger.

Véase también

Referencia de la notación: Font, New dynamic marks, Manual repeat marks, Fonts.

Fragmentos de código: Text.

Referencia de funcionamiento interno: TextScript.

Archivos de inicio: ‘scm/define-markup-commands.scm’.


Text alignment

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 Moving objects.

Los objetos de marcado se pueden alinear de distintas maneras. De foma 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 }

[image of music]

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 }

[image of music]

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 Text marks.

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

[image of music]

Algunas instrucciones pueden afcetar 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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Hay una lista exhaustiva de instrucciones de alineación de texto en Align.

Véase también

Manual de aprendizaje: Moving objects.

Referencia de la notación: Align, Text marks.

Fragmentos de código: Text.

Referencia de funcionamiento interno: TextScript.

Archivos de inicio: ‘scm/define-markup-commands.scm’.


Graphic notation inside markup

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Hay una lista exhaustiva de instrucciones específicas de gráficos en Graphic.

Véase también

Referencia de la notación: Graphic, Editorial annotations.

Fragmentos de código: Text.

Referencia de funcionamiento interno: TextScript.

Archivos de inicio: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm’.


Music notation inside markup

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

[image of music]

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
}

[image of music]

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 The Feta font.

c2
c'^\markup { \musicglyph #"eight" }
c,4
c,8._\markup { \musicglyph #"clefs.G_change" }
c16
c2^\markup { \musicglyph #"timesig.neomensural94" }

[image of music]

Otra forma de imprimir glifos que no son de texto se encuentra descrita en Fonts explained.

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

[image of music]

Dichos diagramas se encuentran documentados es 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

[image of music]

Hay una lista exhaustiva de instrucciones relacionadas con la notación musical en Music.

Véase también

Referencia de la notación: Music, The Feta font, Fonts explained.

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


Multi-page markup

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

[image of music]

Esta sintaxis acepta una lista de elementos de marcado, que pueden ser

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, New markup list command definition.

Fragmentos de código: Text.

Referencia de funcionamiento interno: TextScript.

Archivos de inicio: ‘scm/define-markup-commands.scm’.

Instrucciones predefinidas

\markuplines.


1.8.3 Fonts

Esta sección presenta la forma en que se manejan las fuentes tipográficas, y cómo se pueden cambiar en las partituras.


Fonts explained

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 . fetaNumber)
    \column { 1 3 }
    \override #'(font-encoding . fetaDynamic)
    sf
    \override #'(font-encoding . fetaMusic)
    \lookup #"noteheads.s0petrucci"
  }
}

[image of music]

Una sintaxis más simple pero más limitada se describe en Music notation inside markup.

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

[image of music]

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 Selecting font and font size:

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

[image of music]

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: Single entry fonts y Entire document fonts.

Véase también

Referencia de la notación: The Feta font, Music notation inside markup, Selecting font and font size, Font.


Single entry fonts

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 = #"Charter"
\override Staff.TimeSignature #'font-size = #2
\time 3/4

a1_\markup {
  \override #'(font-name . "Vera Bold")
    { Vera Bold }
}

[image of music]

La instrucción siguiente presenta una lista de todas las tipografías disponibles en el sistema operativo:

lilypond -dshow-available-fonts x

El último argumento de la instrucción puede ser cualquiera, pero debe estar presente.

Véase también

Referencia de la notación: Fonts explained, Entire document fonts.

Fragmentos de código: Text.

Archivos de inicio: ‘lily/font-config-scheme.cc’.


Entire document fonts

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 Fonts explained.

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

[image of music]

Véase también

Referencia de la notación: Fonts explained, Single entry fonts, Selecting font and font size, Font.


2. Specialist notation

Este capítulo explica cómo crear notación musical para instrumentos de un tipo específico o dentro de estilos específicos.


2.1 Vocal music

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 Common notation for vocal music

Esta sección trata sobre asuntos relacinados con la música vocal en general y con ciertos estilos concretos de música vocal.


References for vocal music and lyrics

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:


Opera

Continuará...


Song books

Continuaará...

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

[image of music]

Véase también

Referencia de la notación: Chord notation.


Spoken music

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 Special note heads.


Chants

Continuará...


Ancient vocal music

Continuará...

Véase también

Referencia de la notación: Ancient notation.


2.1.2 Entering lyrics


Lyrics explained

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 }

[image of music]

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 Text encoding, para ver más información.

\relative c' { e4 f e d e f e2 }
\addlyrics { He said: “Let my peo ple go”. }

[image of music]

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 }

[image of music]

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: Fonts.

Referencia de funcionamiento interno: LyricText, LyricSpace.


Setting simple songs

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 }

[image of music]

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 }

[image of music]

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 Lyrics explained.


Working with lyrics and 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 Aligning lyrics to a melody

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.

\new Lyrics \lyricmode …

Existen dos métodos principales para especificar la colocación horizontal de las sílabas:


Automatic syllable durations

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

[image of music]

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 }

Manual syllable durations

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

[image of music]

Véase también

Referencia de funcionamiento interno: Lyrics.


Multiple syllables to one note

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 }

[image of music]

Véase también

Referencia de funcionamiento interno: LyricCombineMusic.


Multiple notes to one syllable

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 }

[image of music]

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

[image of music]

Además, las notas se consideran un melisma si están unidas manualmente mediante una barra, y el barrado automático (véase Setting automatic beam behavior) está desactivado.

Hay un ejemplo completo de una disposición de partitura SATB en la sección Vocal ensembles.

Instrucciones predefinidas

\melisma, \melismaEnd.

Véase también

Advertencias y problemas conocidos

Los melismas no se detectan automáticamente, y las líneas de extensión se deben insertar a mano.


Skipping notes

Se puede conseguir que una línea de letra progrese más lentamente que la melodía, mediante la inserción de desplazamientos o \skips 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.

Por ejemplo,

\relative c' { c c g' }
\addlyrics {
  twin -- \skip 4
  kle
}

[image of music]


Extenders and hyphens

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.


Lyrics and repeats

Continuará...


2.1.4 Specific uses of lyrics

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.


Divisi lyrics

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

[image of music]

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

[image of music]


Lyrics independent of notes

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

[image of music]

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.


Spacing out syllables

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
}

[image of music]

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

[image of music]

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

Centering lyrics between staves

Continuará...


2.1.5 Stanzas


Adding stanza numbers

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
}

[image of music]

Estos números aparecerán inmediatamente antes de la primera sílaba.


Adding dynamics marks to stanzas

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

[image of music]


Adding singers’ names to stanzas

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
}

[image of music]


Stanzas with different rhythms

Ignoring melismata

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

[image of music]

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.

Switching to an alternative melody

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

[image of music]

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.


Printing stanzas at the end

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

[image of music]


Printing stanzas at the end in multiple columns

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

[image of music]

Véase también

Referencia de funcionamiento interno: LyricText, StanzaNumber.


2.2 Keyboard and other multi-staff instruments

[image of music]

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 Common notation for keyboards

Esta sección trata aspectos de notación que pueden aparecer en casi todos los instrumentos de teclado.


References for keyboards

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:

Véase también

Manual de aprendizaje: Real music example, Other uses for tweaks.

Referencia de la notación: Instrument names, Collision resolution, Writing music in parallel, Fingering instructions, List of articulations, Grid lines, Ties, Arpeggio, Tremolo repeats.

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 Piano templates; otra opción es aumentar el relleno (staff-padding) de los matices como se estudia en Moving objects.


Changing staff manually

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

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

[image of music]

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 peentagrama que está más cerca de la barra. Para ver un ejemplo sencillo de trucaje de las barras, consulte Fixing overlapping notation.

Véase también

Manual de aprendizaje: Fixing overlapping notation.

Referencia de la notación: Stems, Automatic beams.

Fragmentos de código: Keyboards.

Referencia de funcionamiento interno: Beam, ContextChange.


Changing staff automatically

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

[image of music]

Una sección marcada \relative que se encuentra fuera de \autochange no tiene efecto sobre las notas de la música; por tanto, en caso necesario escriba \relative dentro de \autochange.

Si se necesita más control sobre los pentagramas individuales, se pueden crear manualmente con los nombres "up" y "down". Entonces, la instrucción \autochange alternará su voz entre los pentagramas existentes.

Nota: Si se crean los pentagramas manualmente, se deben llamar "up" y "down" (en inglés).

Por ejemplo, esto es necesario para colocar una armadura de tonalidad en el pentagrama inferior:

\new PianoStaff <<
  \new Staff = "up" {
    \new Voice = "melodiaUno" {
      \key g \major
      \autochange \relative c' {
        g8 b a c b d c e
        d8 r fis, g a2
      }
    }
  }
  \new Staff = "down" {
    \key g \major
    \clef bass
  }
>>

[image of music]

Véase también

Referencia de la notación: Changing staff manually.

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.


Staff-change lines

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

[image of music]

Instrucciones predefinidas

\showStaffSwitch, \hideStaffSwitch.

Véase también

Fragmentos de código: Keyboards.

Referencia de funcionamiento interno: Note_head_line_engraver, VoiceFollower.


Cross-staff stems

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

[image of music]

Fragmentos de código seleccionados

Indicar acordes de pentagrama cruzado con corchetes de arpegio

Un corchete de arpegio puede indicar que se tienen que tocadr 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.
        }
      >>
    }
  }
>>

[image of music]

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.


Piano pedals

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

[image of music]

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

[image of music]

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: Ties.

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 Accordion

Esta sección se ocupa de la notación que es exclusiva del acordeón.


Discant symbols

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
}

[image of music]

Véase también

Fragmentos de código: Keyboards.


2.2.4 Harp

Esta sección trata sobre asuntos de notación específicos del arpa.


References for harps

Ciertas características comunes de la música de arpa se estudian en otras partes de la documentación:

Véase también

Referencia de la notación: Tremolo repeats, Glissando, Arpeggio, Harmonics.


Harp pedals

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

[image of music]

o mediante diagramas de pedal:

\textLengthOn
cis1_\markup { \harp-pedal #"^v-|vv-^" }
c!1_\markup { \harp-pedal #"^o--|vv-^" }

[image of music]

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: Text scripts, Instrument Specific Markup.


2.3 Unfretted string instruments

[image of music]

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 Common notation for unfretted strings

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 pasages en dobles cuerdas o en divisi.


References for unfretted strings

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:

Véase también

Manual de aprendizaje: String quartet.

Referencia de la notación: Text scripts, Fingering instructions, Chorded notes, Arpeggio.

Fragmentos de código: Unfretted strings.


Bowing indications

Las indicaciones de arco se crean como articulaciones, que se describen en Articulations and ornamentations.

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)

[image of music]

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

[image of music]

Instrucciones predefinidas

\downbow, \upbow, \open.

Véase también

Referencia de la notación: Articulations and ornamentations, Slurs.


Harmonics

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.

Nota: Los armónicos se deben definir dentro de una construcción de acorde incluso si hay una sola nota.

Los armónicos con puntillo indicados con \harmonic no muestran el puntillo. Se debe establecer la propiedad de contexto harmonicDots si se necesita el puntillo.

<d\harmonic>4 <e\harmonic>2.
\set harmonicDots = ##t
<d\harmonic>4 <e\harmonic>2.

[image of music]

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

[image of music]

Se puede hacer un círculo de menor tamaño, véase la lista de fragmentos de código en References for unfretted strings.

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.

<e a\harmonic>2  <c g'\harmonic>

[image of music]

Véase también

Glosario musical: harmonics.

Referencia de la notación: Special note heads, References for unfretted strings.


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.

#(define-markup-command (snappizz layout props) ()
  (interpret-markup layout props
    (markup #:stencil
      (ly:stencil-translate-axis
        (ly:stencil-add
          (make-circle-stencil 0.7 0.1 #f)
          (ly:make-stencil
            (list 'draw-line 0.1 0 0.1 0 1)
            '(-0.1 . 0.1) '(0.1 . 1)))
        0.7 X))))

snapPizzicato = \markup \snappizz

% now it can be used as \snappizzicato after the note/chord
% Note that a direction (-, ^ or _) is required.
\relative c' {
  c4^\snapPizzicato
  % This does NOT work:
  %<c e g>\snapPizzicato
  <c' e g>-\snapPizzicato
  <c' e g>^\snapPizzicato
  <c, e g>_\snapPizzicato
}

[image of music]


2.4 Fretted string instruments

[image of music]

Esta sección trata varios aspectos de la notación musical que son exclusivos de los instrumentos de cuerda con trastes.


2.4.1 Common notation for fretted strings

Esta sección se ocupa de la notación común exclusiva de los instrumentos de cuerda con trastes.


References for fretted strings

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". Otros elementos relativos a los instrumentos de cuerda con trastes se estudian en otras partes de manual:

Véase también

Referencia de la notación: Fingering instructions, Ties, Collision resolution, Instrument names, Writing music in parallel, Arpeggio, List of articulations, Clef.


String number indications

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

[image of music]

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>

[image of music]

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.

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


[image of music]

Permitir que las digitaciones se impriman dentro del pentagrama

Las cifras de digitación se imprimen de forma predeterminada fuera del pentagrama. Sin embargo, este comportamiento se puede cancelar.

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \once \override Fingering #'staff-padding = #'()
  <c-1 e-2 g-3 b-5>2
}

[image of music]

Véase también

Referencia de la notación: Fingering instructions.

Fragmentos de código: Fretted strings.

Referencia de funcionamiento interno: StringNumber, Fingering.


Default tablatures

La notación de tablatura se utiliza para la notación de música de instrumentos de cuerda pulsada. Las alturas no se denotan mediante cabezas de nota, sino mediante números que indican sobre qué cuerda y traste se debe tocar la nota. LilyPond contempla las tablaturas de forma limitada.

El número de cuerda asociado a una nota se proporciona en la forma de una barra invertida seguida por un número, p.ej. c4\3 es un Do negra sobre la tercera cuerda. Por defecto, 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 lo contextos TabStaff y TabVoice:

\new TabStaff {
  a,4\5 c'\2 a\3 e'\1
  e\4 c'\2 a\3 e'\1
}

[image of music]

Si se especifica ninguna cuerda para una nota, se le asigna la cuerda más aguda que produce la nota con un número de traste mayor o igual que el valor de minimumFret (traste mínimo). El valor predeterminado de minimumFret es cero.

\new StaffGroup <<
   \new Staff \relative c {
     \clef "treble_8"
     c16 d e f g4
     c,16 d e f g4
   }
   \new TabStaff \relative c {
     c16 d e f g4
     \set TabStaff.minimumFret = #5
     c,16 d e f g4
   }
>>

[image of music]

Se pueden añadir indicaciones de armónicos y slides a la notación de tablatura.

\new TabStaff {
  \new TabVoice {
    <c g'\harmonic> d\2\glissando e\2
  }
}

[image of music]

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 {
    g16 b d g b d g b
    \stemDown
    \override Beam #'damping = #+inf.0
    g,,16 b d g b d g b
  }
}

[image of music]

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

[image of music]

Véase también

Referencia de la notación: Stems.

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

[image of music]

Los efectos especiales de guitarra se limitan a armónicos y slides.


Custom tablatures

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 y el bajo. Lilypond establece automáticamente la transposición correcta para las afinaciones predefinidas. El ejemplo siguiente es para bajo, que suena una octaba 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
    }
  }
>>

[image of music]

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). The predefined string tunings are found in scm/output-lib.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'' g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \set TabStaff.stringTunings = #'(21 14 7 0)
    \mynotes
  }
>>

[image of music]

Véase también

Archivos de inicio: ‘scm/output-lib.scm’.

Fragmentos de código: Fretted strings.

Referencia de funcionamiento interno: Tab_note_heads_engraver.


Fret diagram markups

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

[image of music]

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

[image of music]

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

[image of music]

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 {
        %% A chord for ukelele
    a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
  }
>>

[image of music]

Se pueden apadir 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;"
  }
>>

[image of music]

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

[image of music]

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

[image of music]

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-);"
  }
>>

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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.


Predefined fret diagrams

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

[image of music]

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.

Las notas de los acordes se pueden introducir como música simultánea o bein usando el modo de acordes (véase Chord mode overview).

\include "predefined-guitar-fretboards.ly"
\context FretBoards {
  \chordmode {c1}
  <c' e' g'>1
}

[image of music]

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

[image of music]

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

[image of music]

La tabla de diagramas de traste predefinidos contiene siete acordes (mayor, menor, aumentado, disminuido, séptima dominante, séptima mayor y menor séptima) para 17 tonalidades distintas. Se puede ver una lista completa de los diagramas de traste predefinidos en Predefined fretboard diagrams. 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 Automatic fret diagrams.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 c:9
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

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:9}
                        #guitar-tuning
                        #"x;3-2;2-1;3-3;3-4;x;"

mychords = \chordmode{
  c1 c:9
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

Se pueden almacenar distintos diagramas de traste para el mismo acorde usando distinas octavas para las notas.

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Véase también

Referencia de la notación: Custom tablatures, Automatic fret diagrams, Chord mode overview, Predefined fretboard diagrams.

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.


Automatic fret diagrams

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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 Custom tablatures 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 preferncias 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: Custom tablatures.

Fragmentos de código: Fretted strings.

Referencia de funcionamiento interno: fret-diagram-interface.


Right-hand fingerings

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 después de la nota 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

[image of music]

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.

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

[image of music]

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
}

[image of music]

Véase también

Fragmentos de código: Fretted strings.

Referencia de funcionamiento interno: StrokeFinger.


2.4.2 Guitar

Casi todos los asintos 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.


Indicating position and barring

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

[image of music]

Véase también

Referencia de la notación: Text spanners.

Fragmentos de código: Fretted strings, Expressive marks.


Indicating harmonics and dampened notes

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 = #'cross
  g8 a b c b4
  \override Staff.NoteHead #'style = #'harmonic-mixed
  d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
}

[image of music]

Véase también

Fragmentos de código: Fretted strings.

Referencia de la notación: Special note heads, Note head styles.


2.4.3 Banjo


Banjo tablatures

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

[image of music]

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.

El archivo ‘scm/output-lib.scm’ contiene las afinaciones predefinidas para el banjo.


2.5 Percussion


2.5.1 Common notation for percussion

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.


References for percussion

Véase también

Referencia de la notación: Showing melody rhythms, Instantiating new staves. Percussion in MIDI.

Fragmentos de código: Percussion.


Basic percussion notation

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
}

[image of music]

Esto es una abreviatura de

\new DrumStaff {
  \drummode {
    hihat4 hh bassdrum bd
  }
}

[image of music]

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 Percussion notes.

Observe que la notación normal de las notas con altura determinada (como cis4) en un contexto DrumStaff procuden un mensaje de error. Las claves de percusión se añaden automáticamente al contexto DrumStaff, pero también se pueden usar otras claves.

Hay ciertos detalles respecto a cómo está contemplado el MIDI para los instrumentos de percusión; para ver los detalles consulte Percussion in MIDI.

Véase también

Referencia de la notación: Percussion in MIDI, Percussion notes.

Archivos de inicio: ‘ly/drumpitch-init.ly’.

Fragmentos de código: Percussion.


Drum rolls

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 Tremolo repeats. 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
}

[image of music]

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

[image of music]

Véase también

Fragmentos de código: Percussion.


Pitched percussion

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: Percussion in MIDI.

Fragmentos de código: Percussion.


Percussion staves

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

[image of music]

El ejemplo anterior muestra una notación polifónica prolija. La notación polifónica abreviada, descrita en Voices I’m hearing Voices, también se puede usar si las voces se instancian primero a mano. Por ejemplo,

\new DrumStaff <<
  \new DrumVoice = "1" { s1*2 }
  \new DrumVoice = "2" { s1*2 }
  \drummode {
    bd4 sn4 bd4 sn4
    << {
      \repeat unfold 16 hh16
    } \\ {
      bd4 sn4 bd4 sn4
    } >>
  }
>>

[image of music]

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:

[image of music]

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 y tomfh.

timbales-style

Esto tipografía timbales en una pauta de dos líneas:

[image of music]

congas-style

Esto tipografía congas en una pauta de dos líneas:

[image of music]

bongos-style

Esto tipografía bongos sobre una pauta de dos líneas:

[image of music]

percussion-style

Para tipografiar toda clase de percusiones simples sobre pautas de una línea:

[image of music]


Custom percussion staves

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)
         (pedalhihat   xcircle   "stopped"  2)
         (lowtom       diamond   #f         3)))
up = \drummode { hh8 hh hh hh 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 }
>>

[image of music]

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

[image of music]

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 Staff symbol.

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

[image of music]

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

[image of music]

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

[image of music]

Aquí un breve ejemplo del maestro Stravinsky (procedende de la ‘Historia del soldado’)

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

[image of music]

Véase también

Fragmentos de código: Percussion.

Referencia de funcionamiento interno: DrumStaff, DrumVoice.


Ghost notes

Las notas fantasma para la batería e instrumentos de percusión se pueden crear utilizando la instrucción \parenthesize detallada en Parentheses. 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
      }
    >>
  }
>>

[image of music]

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 Wind instruments

[image of music]

Esta sección incluye ciertos elementos de notación musical que afloran al escribir para instrumentos de viento.


2.6.1 Common notation for wind instruments

Esta sección trata algunos asuntos que son comunes a casi todos los instrumentos de viento.


References for wind instruments

Muchas cuestiones de la notación para instrumentos de viento tienen que ver con las respiraciones y los golpes de lengua:

También existen otros aspectos de la notación musical que son de aplicación a los instrumentos de viento:

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-music 'ArticulationEvent
                      'articulation-type "flageolet")))
   (ly:music-set-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
}

[image of music]

Véase también

Referencia de la notación: Breath marks, Slurs, Articulations and ornamentations, List of articulations, Tremolo repeats, Instrument transpositions, Glissando, Grace notes, Falls and doits, Special note heads.

Snippets: Winds


Fingerings

Todos los instrumentos de viento aparte del trombón requieren el uso de los distintos dedos para producir cada nota.

[REDACTAR]


2.6.2 Bagpipes

Esta sección contiene información adicional de utilidad para la escritura para gaita.


Bagpipe definitions

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 }

[image of music]

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.


Bagpipe example

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

[image of music]

Véase también

Fragmentos de código: Winds.


2.7 Chord notation

[image of music]

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 Chord mode

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.


Chord mode overview

Los acordes se pueden escribir como música simultánea, como se explica en Chorded notes.

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 Input modes.

\chordmode { c1 g a g c }

[image of music]

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.

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 }

[image of music]

Véase también

Glossario musical: chord.

Referencia de la notación: Chorded notes, Input modes.

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>

[image of music]

Para evitar este comportamiento podemos crear explícitamente el contexto de Staff:

\new Staff {
  \chordmode { c2 f }
  <c e g>2  <g' b d>
}

[image of music]


Common chords

Las tríadas mayores se introducen escribiendo la fundamental y una duración opcional:

\chordmode { c2 f4 g }

[image of music]

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 }

[image of music]

Se pueden crear acordes de séptima:

\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }

[image of music]

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 Common chord modifiers.

Modificador

Acción

Ejemplo

Ninguno

Acción predeterminada; produce una tríada mayor.

[image of music]

m, m7

Acorde menor. Este modificador baja la tercera.

[image of music]

dim, dim7

Acorde disminuido. Este modificador baja la tercera, la quinta y, si existe, la séptima.

[image of music]

aug

Acorde aumentado. Este modificador eleva la quinta.

[image of music]

maj, maj7

Acorde de séptima mayor. Este modificador añade una séptima elevada. El 7 que sigue a maj es opcional. NO utilice este modificador para crear una tríada mayor.

[image of music]

Véase también

Referencia de la notación: Common chord modifiers, Extended and altered chords.

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 maś 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 Extended and altered chords.


Extended and altered chords

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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

Las notas añadidas pueden ser tan agudas como se desee.

\chordmode {
  c4:5.15 c:5.20 c:5.25 c:5.30
}

[image of music]

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

[image of music]

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
}

[image of music]

Se puede añadir el modificador sus a la cadena modificadora para crear acordes suspendidos. Esto elimina la tercera del acorde. Esciba bien 2 o bien 4 para añadir la seguna 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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

Los modificadores de acorde que se pueden utilizar para producir una amplia variedad de acordes estándar se muestran en Common chord modifiers.

Véase también

Referencia de la notación: Common chord modifiers.

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

[image of music]

Sólo se puede crear la primera inversión mediante la adición de un bajo. La segunda inversión requiere cambiar la fundamental del acorde.

\chordmode {
  c'1: c':/g e:6-3-^5 e:m6-^5
}

[image of music]


2.7.2 Displaying chords

Los acordes se pueden imprimir por su nombre, además de la impresión estándar como notas sobre un pentagrama.


Printing chord names

Los nombres de acorde se imprimen dentro del contexto ChordNames:

\new ChordNames {
  \chordmode {
    c2 f4. g8
  }
}

[image of music]

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

[image of music]

\chords { ... } es una forma abreviada de escribir \new ChordNames { \chordmode { ... } }.

\chords {
  c2 f4.:m g8:maj7
}

[image of music]

\new ChordNames {
  \chordmode {
    c2 f4.:m g8:maj7
  }
}

[image of music]

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

[image of music]

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

[image of music]

Véase también

Glosario musical: chord.

Referencia de la notación: Writing music in parallel.

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.


Customizing chord names

No hay un sistema único para nombrar acordes. Las distintas tradiciones musicales usan distintos nombres para el mismo conjunto de acordes. Tabié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 Literature list). 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 Chord name chart.

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

[image of music]

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 cunció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 son whiteTriangleMarkup (triángulo blanco) y blackTriangleMarkup (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 propiedad chordNoteNamer 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 imediatamente 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
>>  

[image of music]

chord name major7

The layout of the major 7 can be tuned with majorSevenSymbol.

\chords {
  c:7+
  \set majorSevenSymbol = \markup { j7 }
  c:7+
}

[image of music]

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 
}


[image of music]

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

[image of music]

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
}

[image of music]

Véase también

Referencia de la notación: Chord name chart, Common chord modifiers.

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

[image of music]


2.7.3 Figured bass

[image of music]

Se puede imprimir notación de bajo cifrado.


Introduction to figured bass

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

[image of music]

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


Entering figured bass

Se usa \figuremode para cambiar el mod de entrada al modo de cifras. Hay más información sobre los distintos modos de entrada en Input modes.

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

[image of music]

Se pueden añadir alteraciones accidentales (incluso becuadros) a las cifras:

\figures {
  <7! 6+ 4-> <5++> <3-->
}

[image of music]

Se pueden indicar elementos del acorde aumentados y disminuidos:

\figures {
  <6\+ 5/> <7/>
}

[image of music]

Se puede crear una barra invertida cruzando una cifra (usada normalmente para sextas elevadas):

\figures {
  <6> <6\\>
}

[image of music]

Se pueden incluir espacios verticales y corchetes en las cifras:

\figures {
  <[12 _!] 8 [6  4]>
}

[image of music]

Se puede insertar cualquier elemento de marcado de texto como una cifra:

\figures {
  <\markup { \tiny \number 6 \super (1) } 5>
}

[image of music]

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

[image of music]

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

[image of music]

La siguiente tabla resume los modificadores de cifrado disponibles.

Modificador

Propósito

Ejemplo

+, -, !

Alteraciones

[image of music]

\+, /

Aumentaciones y disminuciones

[image of music]

\\

Sexta elevada

[image of music]

\!

Fin de línea de continuación

[image of music]

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
}

[image of music]

Véase también

Fragmentos de código: Chords.

Referencia de funcionamiento interno: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.


Displaying figured bass

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

[image of music]

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

[image of music]

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

[image of music]

Instrucciones predefinidas

\bassFigureStaffAlignmentDown, \bassFigureStaffAlignmentUp, \bassFigureStaffAlignmentNeutral.

Véase también

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

[image of music]

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

[image of music]

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

[image of music]


2.8 Ancient notation

[image of music]

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

Ciertos conceptos de notación se incluyen específicamente para la notación antigua:


2.8.1 Overview of the supported styles

Están disponibles tres estilos para la composición tipográfica del canto gregoriano:

Tres estilos emulan la apariencia de los manuscritos y ediciones impresas de música mensural tardomedievales y renacentistas:

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.


2.8.2 Ancient notation—common features


Pre-defined contexts

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.


Ligatures

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

[image of music]

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 White mensural ligatures y Gregorian square neume ligatures.

Véase también

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\].


Custodes

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:

[image of music]

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:

[image of music]

Véase también

Referencia de funcionamiento interno: Custos.

Fragmentos de código: Ancient notation.


Figured bass support

Está contemplada de forma limitada la notación de bajo cifrado barroco: véase Figured bass.


2.8.3 Typesetting mensural music


Mensural contexts

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

[image of music]

Véase también


Mensural clefs

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

mensural-c1, mensural-c2,
mensural-c3, mensural-c4

[image of music]

clave de Fa, mensural

mensural-f

[image of music]

clave de Sol, mensural

mensural-g

[image of music]

clave de Do, neomensural

neomensural-c1, neomensural-c2,
neomensural-c3, neomensural-c4

[image of music]

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)

petrucci-c1, petrucci-c2,
petrucci-c3, petrucci-c4,
petrucci-c5

[image of music]

clave de Fa en el estilo de Petrucci

petrucci-f

[image of music]

clave de Sol en el estilo de Petrucci

petrucci-g

[image of music]

Véase también

Referencia de la notación: Clef.

Advertencias y problemas conocidos

La clave de Sol mensural está asignada a la clave de Sol de Petrucci.


Mensural time signatures

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

[image of music]

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:

[image of music]

Véase también

Referencia de la notación: Time signature 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" }.


Mensural note heads

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:

Los estilos neomensural, mensural y petrucci se diferencian del estilo baroque en que:

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'

[image of music]

Véase también

Note head styles ofrece una visión de conjunto sobre la totalidad de los estilos de cabeza disponibles.


Mensural flags

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

[image of music]

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.

No existen corchetes en la notación del canto gregoriano.

Véase también

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


Mensural rests

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

[image of music]

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: Rests ofrece una introducción general al uso de los silencios.


Mensural accidentals and key signatures

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.

[image of music]

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: Pitches, Accidentals y Automatic accidentals proporcionan una introducción general al uso de las alteraciones. Key signature ofrece una introducción general al uso de las armaduras de tonalidad.

Referencia de funcionamiento interno: KeySignature.


Annotational accidentals (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

[image of music]

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

[image of music]

Véase también

Referencia de funcionamiento interno: el grabador Accidental_engraver y el objeto AccidentalSuggestion.


White mensural ligatures

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

[image of music]

Si no se sustituye el grabador Ligature_bracket_engraver por el Mensural_ligature_engraver, la misma música se transcribe de la siguiente manera:

[image of music]

Véase también

Advertencias y problemas conocidos

El espaciado horizontal de las ligaduras es pobre.


2.8.4 Typesetting Gregorian chant

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 neceario 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 Ligatures para ver cómo funcionan los grabadores de ligaduras.


Gregorian chant contexts

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

[image of music]

Véase también


Gregorian clefs

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 Clef. La nota que se imprime a la derecha junto a cada una de las claves en la columna de los ejemplos, denota el Do central (c') respecto a dicha clave.

Descripción

Claves posibles

Ejemplo

Clave de Do, estilo Editio Vaticana

vaticana-do1, vaticana-do2,
vaticana-do3

[image of music]

Clave de Fa, estilo Editio Vaticana

vaticana-fa1, vaticana-fa2

[image of music]

Clave de Do, estilo Editio Medicaea

medicaea-do1, medicaea-do2,
medicaea-do3

[image of music]

Clave de Fa, estilo Editio Medicaea

medicaea-fa1, medicaea-fa2

[image of music]

Clave de Do, estilo hufnagel

hufnagel-do1, hufnagel-do2,
hufnagel-do3

[image of music]

Clave de Fa, estilo hufnagel

hufnagel-fa1, hufnagel-fa2

[image of music]

Clave combinada de Do y Fa, estilo hufnagel

hufnagel-do-fa

[image of music]

Véase también

Referencia de la notación: Clef.


Gregorian accidentals and key signatures

Están disponibles las alteraciones de los tres estilos gregorianos:

[image of music]

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: Pitches, Accidentals y Automatic accidentals dan una introducción general del uso de las alteraciones. Key signature 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 Breath marks. 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.

[image of music]

Instrucciones predefinidas

\virgula, \caesura, \divisioMinima, \divisioMaior, \divisioMaxima, \finalis.


Gregorian articulation signs

Además de los signos de articulación estándar que se hallan descritos en la sección Articulations and ornamentations, 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 " \break
    a\circulus_"circulus " \break
    a\semicirculus_"semicirculus " \break
    a\accentus_"accentus " \break
    \[ a_"episema" \episemInitium \pes b \flexa a b \episemFinis \flexa a \]
  }
}

[image of music]

Véase también

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.


Augmentum dots (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
  }
}

[image of music]

Véase también

Referencia de la notación: Breath marks.

Referencia de funcionamiento interno: BreathingSign.

Fragmentos de código: Ancient notation.


Gregorian square neume ligatures

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.

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:

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

[image of music]

\[ b \]

[image of music]

\[ \cavum b \]

[image of music]

\[ \linea b \]

Punctum Auctum Ascendens

[image of music]

\[ \auctum \ascendens b \]

Punctum Auctum Descendens

[image of music]

\[ \auctum \descendens b \]

Punctum inclinatum

[image of music]

\[ \inclinatum b \]

Punctum Inclinatum Auctum

[image of music]

\[ \inclinatum \auctum b \]

Punctum Inclinatum Parvum

[image of music]

\[ \inclinatum \deminutum b \]

Virga

[image of music]

Ligaduras de dos notas

Clivis vel Flexa

[image of music]

\[ b \flexa g \]

Clivis Aucta Descendens

[image of music]

\[ b \flexa \auctum \descendens g \]

Clivis Aucta Ascendens

[image of music]

\[ b \flexa \auctum \ascendens g \]

Cephalicus

[image of music]

\[ b \flexa \deminutum g \]

Podatus o Pes

[image of music]

\[ g \pes b \]

Pes Auctus Descendens

[image of music]

\[ g \pes \auctum \descendens b \]

Pes Auctus Ascendens

[image of music]

\[ g \pes \auctum \ascendens b \]

Epiphonus

[image of music]

\[ g \pes \deminutum b \]

Pes Initio Debilis

[image of music]

\[ \deminutum g \pes b \]

Pes Auctus Descendens Initio Debilis

[image of music]

\[ \deminutum g \pes \auctum \descendens b \]

Ligaduras de varias notas

Torculus

[image of music]

\[ a \pes b \flexa g \]

Torculus Auctus Descendens

[image of music]

\[ a \pes b \flexa \auctum \descendens g \]

Torculus Deminutus

[image of music]

\[ a \pes b \flexa \deminutum g \]

Torculus Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa g \]

Torculus Auctus Descendens Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa \auctum \descendens g \]

Torculus Deminutus Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa \deminutum g \]

Porrectus

[image of music]

\[ a \flexa g \pes b \]

Porrectus Auctus Descendens

[image of music]

\[ a \flexa g \pes \auctum \descendens b \]

Porrectus Deminutus

[image of music]

\[ a \flexa g \pes \deminutum b \]

Climacus

[image of music]

\[ \virga b \inclinatum a \inclinatum g \]

Climacus Auctus

[image of music]

\[ \virga b \inclinatum a \inclinatum \auctum g \]

Climacus Deminutus

[image of music]

\[ \virga b \inclinatum a \inclinatum \deminutum g \]

Scandicus

[image of music]

\[ g \pes a \virga b \]

Scandicus Auctus Descendens

[image of music]

\[ g \pes a \pes \auctum \descendens b \]

Scandicus Deminutus

[image of music]

\[ g \pes a \pes \deminutum b \]

Símbolos especiales

Quilisma

[image of music]

\[ g \pes \quilisma a \pes b \]

Quilisma Pes Auctus Descendens

[image of music]

\[ \quilisma g \pes \auctum \descendens b \]

Oriscus

[image of music]

\[ \oriscus b \]

Pes Quassus

[image of music]

\[ \oriscus g \pes \virga b \]

Pes Quassus Auctus Descendens

[image of music]

\[ \oriscus g \pes \auctum \descendens b \]

Salicus

[image of music]

\[ g \oriscus a \pes \virga b \]

Salicus Auctus Descendens

[image of music]

\[ g \oriscus a \pes \auctum \descendens b \]

(Apo)stropha

[image of music]

\[ \stropha b \]

Stropha Aucta

[image of music]

\[ \stropha \auctum b \]

Bistropha

[image of music]

\[ \stropha b \stropha b \]

Tristropha

[image of music]

\[ \stropha b \stropha b \stropha b \]

Trigonus

[image of music]

\[ \stropha b \stropha b \stropha a \]

Instrucciones predefinidas

Están contemplados los siguientes prefijos de cabeza: \virga, \stropha, \inclinatum, \auctum, \descendens, \ascendens, \oriscus, \quilisma, \deminutum, \cavum, \linea.

Se pueden acumular los prefijos de cabeza, aunque con ciertas restricciones. Por ejemplo, se pueden aplicar \descendens o \ascendens a una cabeza, pero no los dos a la misma cabeza.

Se pueden ligar dos cabezas adyacentes con las instrucciones infijas \pes y \flexa para una línea melódica ascendente y descendente, respectivamente.

Utilice la función musical unaria \augmentum para añadir puntos de augmentum.

Véase también

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


2.8.5 Working with ancient music—scenarios and solutions

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:


Incipits

Continuará...

Véase también


Mensurstriche layout

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

[image of music]

Véase también


Transcribing Gregorian chant

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

[image of music]

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

[image of music]

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

[image of music]

Véase también


Ancient and modern from one source

Continuará...

Véase también


Editorial markings

Continuará...

Véase también


2.9 World music

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.9.1 Arabic music

Esta sección destaca asuntos relativos a la música árabe.


References for Arabic music

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:

Véase también

Referencia de la notación: Note names in other languages, Key signature, Manual beams.

Fragmentos de código: World music.


Arabic note names

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 Note names in other languages.

Por ejemmplo, 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
}

[image of music]

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

[image of music]

Véase también

Referencia de la notación: Note names in other languages.

Fragmentos de código: World music.


Arabic key signatures

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 tectacordo 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.)

Alternativamente, 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 . 3) . ,SHARP)
                               ((0 . 5) . ,FLAT)
                               ((0 . 6) . ,FLAT))
  c4 d e fis
  aes4 bes c2
}

[image of music]

Véase también

Referencia de la notación: Key signature.

Manual de aprendizaje: Accidentals and key signatures.

Referencia de funcionamiento interno: KeySignature.

Fragmentos de código: World music, Pitches.


Arabic time signatures

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
  #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
  c8 d e fis gis
  c8 fis, gis e d
  c8 d e4 gis8
}

[image of music]

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
}

[image of music]

Véase también

Referencia de la notación: Manual beams, Automatic beams, Unmetered music, Automatic accidentals, Setting automatic beam behavior, Time signature.

Fragmentos de código: World music.


Arabic music example

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

[image of music]

Véase también

Fragmentos de código: World music


Further reading

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

  2. 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 contienen ejemplos de composiciones turcas y árabes, principalmente.

    • Charbel Rouhana
    • George Farah
    • Ibrahim Ali Darwish Al-masri

3. General input and output

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 Input structure

El formato principal de entrada para LilyPond son archivos de texto. Por convenio, el nombre de estos archivos termina en .ly.


3.1.1 Structure of a score

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

[image of music]

<<
  \new Staff { c'4 c' c' c' }
  \new Staff { d'4 d' d' d' }
>>

[image of music]

{
  \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 File structure). 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: Working on input files, Music expressions explained, Score is a (single) compound musical expression.


3.1.2 Multiple scores in a book

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 File structure. 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 File structure

Un archivo .ly puede contener cualquier número de expresions del nivel superior, donde una expresión del nivel superior es una de las siguientes posibilidades:

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:

Véase también

Manual de aprendizaje: How LilyPond input files work.


3.2 Titles and headers

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 Creating titles

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 symbol, consulte Text encoding.

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 Formatting text).

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

[image of music]

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

[image of music]

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
}

3.2.2 Custom titles

Una opción más avanzada es cambiar las definiciones de las variables siguientes dentro del bloque \paper block. 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 (campo piece).

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

3.2.3 Reference to page numbers

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

  \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
  \markup { Mark A is on page \page-ref #'markA "0" "?" }
}

[image of music]

La instrucción de marcado \page-ref toma tres argumentos:

  1. la etiqueta, un símbolo de scheme, p.ej. #'firstScore;
  2. un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
  3. un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.

El motivo de que se necesite un medidor es que en el momento en que se están interpretando los marcados, los saltos de página aún no se han producido y por tanto los números de página no se conocen todavía. Para sortear este inconveniente, la interpretación real del marcado se retrasa hasta un momento posterior; sin embargo, las dimensiones del marcado se tienen que conocer de antemano, así que se usa el medidor para decidir estas dimensiones. Si el libro tiene entre 10 y 99 páginas, el medidor puede ser "00", es decir, un número de dos dígitos.

Instrucciones predefinidas

\label, \page-ref.


3.2.4 Table of contents

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'  % ...
    \tocItem \markup "Un punto concreto dentro de la primera partitura"
    d'  % ...
  }
}

\tocItem \markup "Segunda partitura"
\score {
  {
    e' % ...
  }
}

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

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

[image of music]

Véase también

Archivos de inicio: ‘ly/toc-init.ly’.

Instrucciones predefinidas

\table-of-contents, \tocItem.


3.3 Working with input files


3.3.1 Including LilyPond files

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 Different editions from one source.

Los archivos que están en el directorio de trabajo actual se pueden referenciar simplemente especificando el nombre depué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 Other sources of information). 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 Other sources of information. 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 Scores and parts.

Véase también

Manual de aprendizaje: Other sources of information, Scores and parts.

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 Different editions from one source

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.


Using variables

Si las secciones de la música se definen dentro de variables, se pueden reutilizar en distintas partes de la partitura, véase Organizing pieces with variables. Por ejemplo, una partitura vocal a cappella con frecuencia incluye una reducción de piano de las partes para ensayar que ees 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 Automatic part combining. 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
    }
  >>
>>

[image of music]

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 Including LilyPond files.


Using tags

La instrucción \tag #'parteA marca una expresión musical con el nombre parteA. Las expresiones etoiquetadas de esta manera se pueden seleccionar o filtrar más tarde por su nombre, usando bien \keepWithTag #'nombre o bien \removeWithTag #'nombre. El resultado de la aplicación de estos filtros a la música etiquetada es como sigue:

Filtro

Resultado

Música etiquetada precedida de \keepWithTag #'nombre

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 \removeWithTag #'nombre

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 \keepWithTag ni de \removeWithTag

Se incluye toda la música etiquetada y no etiquetada.

Los argumentos de las instrucciones \tag, \keepWithTag y \removeWithTag deben ser un símbolo (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
}

[image of 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
}

[image of music]

El flitrado 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 { a a a a }
  \tag #'b \tag #'both { b b b b }
}
<<
\keepWithTag #'a \music
\keepWithTag #'b \music
\keepWithTag #'both \music
>>

[image of 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 { a a a a }
\tag #'B { b b b b }
\tag #'C { c c c c }
\tag #'D { d d d d }
}
{
\removeWithTag #'B
\removeWithTag #'C
\music
}

[image of 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: Organizing pieces with variables.

Referencia de la notación: Automatic part combining, Including LilyPond files.


3.3.3 Text encoding

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:

[image of music]

Para introducir un caracter aislado para el que se conoce la secuencia de escape de Unicode pero no está disponible en el editor que se está usando, use \char ##xhhhh dentro de un bloque \markup, donde hhhh es el código hexadecimal del carácter en cuestión. Por ejemplo, \char ##x03BE inserta el carácter Unicode U+03BE, que tiene el nombre Unicode “Letra griega Xi pequeña”. Se puede sustituir cualquier código hexadecimal 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 caracteres codificados en UTF-8 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--2009" \char ##x00A9 }

[image of music]

Para escribir el símbolo de copyright en la nota de créditos, utilice:

\header {
  copyright = \markup { \char ##x00A9 "2008" }
}

3.3.4 Displaying LilyPond notation

La impresión textual de una expresión musical en notación de LilyPond puede hacerse usando la función musical \displayLilyMusic. Por ejemplo,

{
  \displayLilyMusic \transpose c a, { c e g a bes }
}

imprimirá

{ a, cis e fis g }

De forma predeterminada, LilyPond imprime estos mensajes en la consola junto al resto de los mensajes. 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 Controlling output


3.4.1 Extracting fragments of music

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 Invoking lilypond.


3.4.2 Skipping corrected music

Al escribir o copiar música, normalmente sólo es interesante de ver y corregir la música cercana al final (donde estams 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 (suponniendo 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
  e e e e e e e e
  \set Score.skipTypesetting = ##f
  c d b bes a g c2 }

[image of music]

En música polifónica, Score.skipTypesetting afecta a todas las voces y pentagramas, ahorrando más tiempo incluso.


3.5 MIDI output

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 archivoo 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 Creating MIDI files

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 MIDI block.

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 Metronome marks. Más abajo se describe una forma alternativa de especificar el tempo MIDI inicial o global, véase MIDI block.


Instrument names

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 MIDI instruments.

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

[image of music]

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


3.5.2 MIDI block

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 maś 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 alarchivo 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 Other sources of information. 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 { }
}

3.5.3 What goes into the MIDI output?


Supported in MIDI

Los siguientes elementos de notación se reflejan en la salida MIDI:


Unsupported in MIDI

Los siguientes elementos de notación no tienen ningún efecto sobre la salida MIDI:


3.5.4 Repeats in 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 "|."

[image of music]

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

3.5.5 Controlling MIDI dynamics

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.


Dynamic marks

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 Other sources of information. Este conjunto de fracciones se puede cmbiar 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 voumen 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'' {
         a\pp b c-\rfz
       }
    }
  }
  \layout {}
  \midi {}
}

[image of music]

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.


Overall MIDI volume

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

[image of music]


Equalizing different instruments (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)
    }
  }
}

[image of music]


Equalizing different instruments (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 reestablecer 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)
    }
  }
}

[image of music]


3.5.6 Percussion in 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 contestos 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 standard, 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).


4. Spacing issues

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 estimacion 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 Paper and pages

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 Paper size

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.


4.1.2 Page formatting

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.

Esta sección relaciona y describe cierto número de variables del papel que se pueden alterar.


Vertical dimensions

Estas variables se utilizan para establecer las diferentes dimensiones verticales de la página:

after-title-space

Espacio entre el título y el primer sistema. Predeterminado: 5\mm.

before-title-space

Distancia entre el último sistema de la pieza anterior y el título de la siguiente. Predeterminado: 10\mm.

between-system-padding

Distancia mínima que se deja siempre entre el símbolo más bajo de un sistema y el más alto del siguiente. Predeterminado: 4\mm.

El aumento de este valor separa más los sistemas cuyas cajas circundantes casi se tocan.

between-system-space

Distancia entre los sistemas. Es la distancia ideal desde el centro del pentagrama inferior de un sistema hasta el centro del pentagrama superior del sistema siguiente. Predeterminado: 20\mm.

El aumento de este valor da a la página un aspecto más regular a costa de utilizar más espacio vertical.

between-title-space

Distancia entre títulos consecutivos (p.ej., el título del libro y el título de una pieza). Predeterminado: 2\mm.

bottom-margin

Margen entre el pie de página y la parte inferior del papel. Predeterminado: 6\mm.

foot-separation

Distancia entre el sistema situado más abajo y el pie de página. Predeterminado: 4\mm.

head-separation

Distancia entre el sistema situado más arriba y el encabezamiento de la página. Predeterminado: 4\mm.

page-top-space

Distancia desde la parte alta del área imprimible hasta el centro del primer pentagrama. Esto sólo funciona para pentagramas con una anchura vertical pequeña. Los pentagramas grandes se establecen con la parte alta de su caja circundante alineada a la parte alta del área imprimible. Predeterminado: 12\mm.

paper-height

Altura de la página. Predeterminado: altura del tamaño actual del papel. Para ver más detalles, consulte Paper size.

top-margin

Margen entre el encabezamiento y la parte alta del papel. Predeteminado: 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 } }
}

Véase también

Referencia de la notación: Vertical spacing between systems.

Fragmentos de código: Spacing.


Horizontal dimensions

Nota: Si se establece paper-width manualmente, line-width, left-margin, indent y short-indent pueden necesitar ajustarse también.

Existe un cierto número de variables que determinan las dimensiones horizontales de una página:

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. Predeterminado: paper-width dividido por 14, tal y como viene determinado por set-default-paper-size o set-paper-size.

left-margin

El margen entre el límite izquierdo del papel y el comienzo de los sistemas. Predeterminado: 10\mm, tal y como se define por parte de set-default-paper-size o de set-paper-size.

line-width

Ancho de los sistemas. Predeterminado: paper-width menos 20\mm, como viene determinado por set-default-paper-size o por set-paper-size.

paper-width

Ancho de la página. Predeterminado: la anchura del tamaño actual del papel. Para ver más detalles, consulte Paper size.

short-indent

Nivel de sangrado para todos los sistemas de una partitura excepto el primero. Predeterminado: 0, como se determina en set-default-paper-size o en set-paper-size.

Véase también

Fragmentos de código: Spacing.

Advertencias y problemas conocidos

La opción right-margin está definida pero no establece aún el margen derecho. El valor del margen derecho se debe definir ajustando los valores de left-margin y de line-width.


Other layout variables

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.

first-page-number

Valor del número de la primera página. Predeterminado: #1.

page-breaking-between-system-padding

Engaña al divisor de páginas para que crea que between-system-padding está establecido a algo distinto de lo que está realmente. Por ejemplo, si esta variable se establece a algo mucho mayor que between-system-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 Vertical spacing between systems.

page-limit-inter-system-space-factor

Factor usado por page-limit-inter-system-space. Predeterminado: 1.4. Para ver más detalles, consulte Vertical spacing between systems.

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

[image of music]

system-count

Cantidad de sistemas que usar por parte de la partitura. Predeterminado: sin establecer.

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 Music layout


4.2.1 Setting the staff size

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: Selecting notation font size.

Fragmentos de código: Spacing.

Advertencias y problemas conocidos

layout-set-staff-size no cambia la distancia entre las líneas del pentagrama.


4.2.2 Score layout

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: Changing context default settings.

Fragmentos de código: Spacing.


4.3 Breaks


4.3.1 Line breaking

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 especficando \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

\break, \noBreak.

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

[image of music]

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
}

[image of music]

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.


4.3.2 Page breaking

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 Vertical spacing.

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

El antiguo algoritmo de división de páginas se llama optimal-page-breaks. Si tiene problemas con los nuevos divisores de página, puede habilitar el antiguo como forma de rodear el problema.

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

\pageBreak, \noPageBreak.

Véase también

Fragmentos de código: Spacing.


4.3.3 Optimal page breaking

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.


4.3.4 Optimal page turning

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 Page breaking. 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 biusca 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 antesd e 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í.


4.3.5 Minimal page breaking

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 Explicit breaks

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

[image of music]

Véase también

Fragmentos de código: Spacing.


4.3.7 Using an extra voice for breaks

La información sobre saltos de línea y de página suele aparecer directamente intermezclado 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 }
     }
  >>
}

[image of music]

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 Vertical spacing.

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

[image of music]

Véase también

Referencia de la notación: Vertical spacing.

Fragmentos de código: Spacing.


4.4 Vertical spacing

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 Vertical spacing inside a system

La altura de cada sistema se determina automáticamente. Para evitar que los pentagramas se superpongan unos encima de otros, se establecen algunas distancias mínimas. Al modificarlas, podemos poner los pentagramas más cerca unos de otros. Esto reduce el espacio que requiere cada sistema y puede resultar en la obtención de más sistemas por página.

Normalmente los pentagramas se apilan verticalmente. Para hacer que los pentagramas guarden una distancia, se rellena su tamaño vertical. Esto se hace con la propiedad minimum-Y-extent. Si se aplica a VerticalAxisGroup, controla el tamaño de una línea horizontal, como un pentagrama o una línea de letra. minimum-Y-extent acepta una pareja de números, de forma que si queremos hacerlo más pequeño que su valor predeterminado #'(-4 . 4) entonces podemos establecer

\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)

Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de pentagrama a cada lado de la tercera línea. El valor (-3 . 3) se interpreta como un intervalo, donde la línea central es el 0, por lo que el primer número es negativo en general. Los números no tienen que coincidir; por ejemplo, el pentagrama se puede hacer mayor por debajo dándole el valor (-6 . 4).

Después de que se han determinado los saltos de página, se reevalúa el espaciado vertical dentro de cada sistema para llenar la página de forma más regular; si una página tiene más espacio de sobra, se amplían los sistemas para poder llenar este espacio. La magnitud de esta ampliación se puede configurar a través de la propiedad max-stretch del grob VerticalAlignment. De forma predeterminada, max-stretch se establece a cero, inhabilitando la ampliación. Para habilitar la ampliación, un valor prudente para max-stretch es ly:align-interface::calc-max-stretch.

En ciertas situaciones, podemos querer ampliar la mayor parte de un sistema y al mismo tiempo dejar algunas partes fijas. Por ejemplo, si una parte de piano aparece en el medio de una partitura orquestal, podemos querer dejar los pentagramas de piano cercanos entre sí mientras se estira el resto de la partitura. Se puede usar la propiedad keep-fixed-while-stretching de VerticalAxisGroup para conseguirlo. Cuando se establece al valor ##t, esta propiedad evita que su pentagrama (o línea de letra) se desplace en relación al que está directamente encima de él. En el ejemplo anterior, podríamos sobreescribir keep-fixed-while-stretching al valor ##t en el segundo pentagrama del piano:

#(set-default-paper-size "a6")
#(set-global-staff-size 14.0)

\book {
\paper {
  ragged-last-bottom = ##f
}

\new Score \with
{
  \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
}
{
\new GrandStaff
<<
  \new StaffGroup
  <<
    \new Staff {c' d' e' f'}
    \new Staff {c' d' e' f'}
    \new Staff {c' d' e' f'}
  >>

  \new PianoStaff
  <<
    \new Staff {c' d' e' f'}
    \new Staff \with {
      \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
    }
    {c' d' e' f'}
  >>

  \new StaffGroup
  <<
    \new Staff {c' d' e' f'}
    \new Staff {c' d' e' f'}
  >>
>>
}
}

[image of music]

La alineación vertical de los pentagramas está manejada por el objeto VerticalAlignment. Los parámetros de contexto que especifican las dimensiones verticales están descritas en conexión con el grabador Axis_group_engraver.

Véase también

Fragmentos de código: Spacing.

Referencia de funcionamiento interno: VerticalAlignment, Axis_group_engraver.


4.4.2 Vertical spacing between systems

La separación entre los sistemas está controlada por cuatro variables del papel:

\paper {
  between-system-space = 1.5\cm
  between-system-padding = #1
  ragged-bottom=##f
  ragged-last-bottom=##f
}

Cuando sólo se ponen dos simples sistemas en una página, el espaciado vertical resultante puede ser bastante poco elegante: un sistema en la parte alta de la página y el otro en la parte baja, con un enorme hueco entre ellos. Para evitar esta situación se puede limitar el espacio que se añade entre los sistemas. Esta posibilidad se activa mediante el establecimiento al valor #t de la variable page-limit-inter-system-space en el bloque \paper. La variable del papel page-limit-inter-system-space-factor determina en qué cantidad se puede incrementar el espacio: por ejemplo, el valor 1.3 significa que el espacio puede ser un 30% mayor que lo que sería en una página no justificada hasta abajo.

En el ejemplo siguiente, si el espacio entre los sistemas no estuviese limitado, el segundo sistema de la página 1 se situaría en la parte de abajo de la página. Activando la limitación de espacio, el segundo sistema se coloca más cerca del primero. Estableciendo page-limit-inter-system-space-factor a 1, el espacio sería el mismo que en una página sin justificar por abajo, como la última página.

#(set-default-paper-size "a6")
\book {
  \paper {
    page-limit-inter-system-space = ##t
    page-limit-inter-system-space-factor = 1.3

    oddFooterMarkup = \markup "page bottom"
    evenFooterMarkup = \markup "page bottom"
    oddHeaderMarkup = \markup \fill-line {
      "page top" \fromproperty #'page:page-number-string }
    evenHeaderMarkup = \markup \fill-line {
      "page top" \fromproperty #'page:page-number-string }
  }
  \new Staff << \repeat unfold 4 { g'4 g' g' g' \break }
                { s1*2 \pageBreak } >>
}

[image of music]

Véase también

Fragmentos de código: Spacing.


4.4.3 Explicit staff and system positioning

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 cinco ajustes distintos:

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:

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 sebreescrituras 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))

\override NonMusicalPaperColumn
  #'line-break-system-details #'((alignment-offsets . (0 -15)))

\override NonMusicalPaperColumn
  #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)
                                 (alignment-offsets . (0 -15)))

Para entender cómo funciona cada uno de los distintos ajustes, empezamos observando un ejemplo que no incluye absolutamente ninguna sobreescritura.

[image of music]

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 Using an extra voice for breaks.

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:

[image of music]

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 el punto de origen vertical de cada pentagrama dentro de cada sistema. Lo hacemos usando la subpropiedad alignment-offsets de line-break-system-details.

[image of music]

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-offsets para controlar el punto de origen vertical de cada sistema y pentagrama. Finalmente, observe que alignment-offsets especifica el posicionamiento vertical de los pentagramas pero no de los grupos de pentagramas.

[image of music]

Algunos puntos que tener en cuenta:

Véase también

Fragmentos de código: Spacing.


4.4.4 Two-pass vertical spacing

Nota: El espaciado vertical en dos pasadas está obsoleto y se eliminará en una versión futura de LilyPond. Ahora los sistemas se amplían automáticamente en un solo paso. Véase Vertical spacing inside a system.

In order to automatically stretch systems so that they should fill the space left on a page, a two-pass technique can be used:

  1. In the first pass, the amount of vertical space used to increase the height of each system is computed and dumped to a file.
  2. In the second pass, spacing inside the systems are stretched according to the data in the page layout file.

The ragged-bottom property adds space between systems, while the two-pass technique adds space between staves inside a system.

To allow this behavior, a tweak-key variable has to be set in each score \layout block, and the tweaks included in each score music, using the \scoreTweak music function.

%% include the generated page layout file:
\includePageLayoutFile

\score {
  \new StaffGroup <<
    \new Staff <<
      %% Include this score tweaks:
      \scoreTweak "scoreA"
      { \clef french c''1 \break c''1 }
    >>
    \new Staff { \clef soprano g'1 g'1 }
    \new Staff { \clef mezzosoprano e'1 e'1 }
    \new Staff { \clef alto g1 g1 }
    \new Staff { \clef bass c1 c1 }
  >>
  \header {
    piece = "Score with tweaks"
  }
  %% Define how to name the tweaks for this score:
  \layout { #(define tweak-key "scoreA") }
}

For the first pass, the dump-tweaks option should be set to generate the page layout file.

lilypond -dbackend=null -d dump-tweaks <file>.ly
lilypond <file>.ly

Véase también

Fragmentos de código: Spacing.


4.4.5 Vertical collision avoidance

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

[image of music]

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"

[image of music]

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

[image of music]

Véase también

Fragmentos de código: Spacing.


4.5 Horizontal spacing


4.5.1 Horizontal spacing overview

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

[image of music]

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

[image of music]

En la introducción (véase Engraving), se explicó que las direcciones de las plicas influyen en el espaciado. 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:

[image of music]

Está contemplada la notación proporcional; consulte Proportional notation.

Véase también

Fragmentos de código: Spacing.

Referencia de funcionamiento interno: SpacingSpanner, NoteSpacing, StaffSpacing, SeparationItem.

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.

 \once \override Score.SeparationItem #'padding = #1

No existe ningún rodeo para disminuir la magnitud de la separación.


4.5.2 New spacing area

Se pueden inicar 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]

[image of music]

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.


4.5.3 Changing horizontal spacing

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Véase también

Fragmentos de código: Spacing.


4.5.4 Line length

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.

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 Proportional notation

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:

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

[image of music]

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

[image of music]

La blanca al princpio 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
    }
  }
>>

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Nuestro ejemplo de dos pentagramase 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 paquere 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 sobreesacibir este comportamiento y activar distintas posibilidades de espaciado en distintos lugares de la partitura. Lo hacemos con la instrucción \newSpacingSection. Consulte New spacing area 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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

Las dos poartituras 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:

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: New spacing area.

Fragmentos de código: Spacing.


4.6 Fitting music onto fewer pages

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, Displaying spacing.


4.6.1 Displaying spacing

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

[image of music]

Todas las dimensiones de disposición se muestran en espacios de pentagrama, independientemenre de las unidades especificadas en los bloques \paper o \layout. En el ejemplo anterior, paper-height tiene un valor de 59.75 staff-spaces (espacios de pentagrama), y el staff-size (tamaño del pentagrama) es de 20 puntos, el valor predeterminado. Observe que:

1 punto

= (25.4/72.27) mm

1 staff-space

= (staff-size)/4 pts

= (staff-size)/4 * (25.4/72.27) mm

En este caso, un staff-space equivale aproximadamente a 1.757mm. Así, la medida paper-height de 59.75 staff-spaces equivale a 105 milímetros, la altura de una hoja a6 en orientación apaisada. Las parejas (a,b) son intervalos, donde a es el límite inferior y b es el límite superior del intervalo.

Véase también

Setting the staff size.

Fragmentos de código: Spacing.


4.6.2 Changing spacing

La salida de annotate-spacing revela las dimensiones verticales con gran detalle. Para ver más detalles acerda de la modificación de los márgenes y otras variables de diseño de la página, consulte Page formatting.

Aparte de los márgenes, hay algunas otras opciones para ahorrar espacio:

Véase también

Referencia de la notación: Page formatting, Changing horizontal spacing.

Fragmentos de código: Spacing.


5. Changing defaults

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 Tweaking output. É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 dipsonibles 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 on-line, 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 Interpretation contexts

Esta sección explica qué son los contextos y cómo modificarlos.

Véase también

Manual de aprendizaje: Contexts and engravers.

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 Contexts explained

Los contextos se disponen de forma jerárquica:


Score - the master of all contexts

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.


Top-level contexts - staff containers

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.


Intermediate-level contexts - staves

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.


Bottom-level contexts - voices

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.

ChordNames

Tipografía nombres de acordes.


5.1.2 Creating contexts

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.


5.1.3 Modifying context plug-ins

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

[image of music]

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 Visibility and color of objects.

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

[image of music]


5.1.4 Changing context default settings

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

[image of music]

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.5 Defining new contexts

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,

[image of music]

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 Voices 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^"undress"
    c c_"while playing :)"
  }
  a1
}

5.1.6 Aligning contexts

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 ( Vocal ensembles) y un ossia,

[image of music]

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

[image of music]

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

[image of music]

Lo contrario de \accepts (acepta) es \denies (deniega); esto suprime un contexto de la lista “accepts”.


5.2 Explaining the Internals Reference


5.2.1 Navigating the program reference

Supongamos que queremos mover la indicación de digitación del fragmento siguiente:

c-2
\stemUp
f

[image of music]

Si hace una visita a la documentación en busca de instrucciones de digitación (en Fingering instructions), 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:

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 Layout interfaces

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

relleno (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

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 Other sources of information) ‘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 Determining the grob property

Recordemos que queríamos cambiar la posición del 2 en

c-2
\stemUp
f

[image of music]

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

[image of music]

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 Naming conventions


5.3 Modifying properties


5.3.1 Overview of modifying properties

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.

La sintaxis de esto es

\override contexto.nombre #'propiedad = #valor

Aquí nombre es el nombre de un objeto gráfico, como Stem o NoteHead, y propiedad es una variable interna del sistema de formateo (‘propiedad del grob’ o ‘propiedad de disposición’). Este último es un símbolo, y por ello debe ir precedido de un apóstrofo. La subsección Modifying properties explica cómo se deben cumplimentar los conceptos nombre, propiedad y valor. Aquí sólo nos ocuparemos de la funcionalidad des esta instrucción.

La instrucción

\override Staff.Stem #'thickness = #4.0

hace más gruesas las plicas (el valor predeterminado es 1.3, con el grosor de una línea del pentagrama como unidad). Puesto que la instrucción especifica como contexto a Staff, sólo se aplica al pentagrama actual. Otros pentagramas mantienen su aspecto normal. Aquí vemos la instrucción en pleno funcionamiento:

c4
\override Staff.Stem #'thickness = #4.0
c4
c4
c4

[image of music]

La instrucción \override modifica la definición de la plica Stem dentro del pentagrama en curso Staff. Después de que la instrucción se ha interpretado, todas las plicas se engrosan.

De manera análoga a \set, el argumento contexto se puede omitir, ocasionando que se utilice el contexto predeterminado Voice. Al añadir \once se aplica el cambio durante un solo paso de tiempo.

c4
\once \override Stem #'thickness = #4.0
c4
c4

[image of music]

El \override se debe hacer antes de que el objeto se inicia. Por tanto, al alterar objetos Spanner «de extensión» como ligaduras o barras, la instrucción \override se debe ejecutar en el momento en que se crea el objeto. En este ejemplo:

\override Slur #'thickness = #3.0
c8[( c
\override Beam #'thickness = #0.6
c8 c])

[image of music]

la ligadura es más gruesa pero la barra no lo es. Esto es así porque la instrucción para Beam, la barra, va después de que la barra se ha iniciado, y por ello no tiene ningún efecto.

De forma análoga a \unset, la instrucción \revert para un contexto deshace una instrucción \override; como con \unset, solamente afecta a los ajustes que se hicieron dentro del mismo contexto. En otras palabras, el \revert del siguiente ejemplo no hace nada.

\override Voice.Stem #'thickness = #4.0
\revert Staff.Stem #'thickness

Algunas opciones «trucables» se llaman ‘subpropiedades’ y residen dentro de las propiedades normales. Para trucarlas, utilice instrucciones de la forma

\override context.name #'property #'subproperty = #value

tales como

\override Stem #'(details beamed-lengths) = #'(4 4 3)

Véase también

Referencia de funcionamiento interno: OverrideProperty, RevertProperty, PropertySet, Backend, All layout objects.

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 The \set command

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

Por ejemplo:

R1*2
\set Score.skipBars = ##t
R1*2

[image of music]

Estas instrucción salta los compases que no tienen notas. El resultado es que los silencios multicompás se condensan. El valor asignado es un objeto de Scheme. En este caso, es #t, el valor booleano True o verdadero.

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:

c8 c c c
\set autoBeaming = ##f
c8 c c c

[image of music]

el argumento contexto de la instrucción \set se omite, así pues el barrado automático se desactiva en la voz actual. Observe que el contexto de nivel más bajo no siempre contiene la propiedad que queremos cambiar (por ejemplo, no tendrá ningún efecto intentar establecer un valor para la propiedad skipBars del contexto de nivel más bajo, en este caso Voice).

R1*2
\set skipBars = ##t
R1*2

[image of music]

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. El cambio se aplica ‘al vuelo’, durante la música, de manera que el ajuste sólo afecta al segundo grupo de corcheas.

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, de manera que

\set Staff.autoBeaming = ##f

introduce un ajuste de la propiedad en el nivel de Staff. El ajuste también se aplica a la Voice actual. Sin embargo:

\unset Voice.autoBeaming

no tiene ningúun efecto. Para cancelar este ajuste, se debe especificar el \unset en el mismo nivel que el \set original. Dicho de otra forma, para deshacer el efecto de Staff.autoBeaming = ##f se necesita

\unset Staff.autoBeaming

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.

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

[image of music]

la propiedad fontSize se deshace automáticamente después de la segunda nota.

En el manual de Referencia de funcionamiento interno hay una descripción completa de todas las propiedades de contexto disponibles, consulte Tunable context properties.


5.3.3 The \override command

Las instrucciones que modifican la salida tienen por lo general un aspecto como

\override Voice.Stem #'thickness = #3.0

Para construir este truco debemos determinar los siguientes datos:

Ciertas opciones ajustables se denominan ‘subpropiedades’ y residen en el interior de las propiedades normales. Para modificarlas utilice instrucciones de la forma

\override Stem #'(details beamed-lengths) = #'(4 4 3)

Para muchas propiedades, independientemente del tipo de datos de la propiedad, si se establece el valor de la propiedad a falso (##f) se producirá su desactivación, ocasionando que LilyPond ignore por completo dicha propiedad. Esto es especialmente útil para «apagar» propiedades de grobs (objetos gráficos) que de otra manera causarína problemas.

Mostraremos a continuación cómo localizar esta información en el manual de notación y en la referencia de funcionamiento interno.


5.3.4 The \tweak command

En ocasiones es posible tomar un atajo para realizar el ajuste fino de los objetos gráficos. Para objetos que reusultan directamente de un elemento de código de la entrada, puede usar la función \tweak, por ejemplo

< c
  \tweak #'color #red
  d
  g
  \tweak #'duration-log #1
  a
> 4
-\tweak #'padding #8
-^

[image of music]

Pero el uso principal de la instrucción \tweak es modificar solamente uno de varios elementos de notación que dan comienzo en el mismo momento musical, como las notas de un acorde, o corchetes de tresillo que empiezan al mismo tiempo.

Para ver una introducción a la sintaxis y los usos de la instrucción tweak, consulte Tweaking methods.

La instrucción \tweak fija una propiedad en el objeto que viene a continuación de forma directa, sin necesidad de especificar el nombre del grob o el contexto. Para que esto funcione, es necesario que la instrucción \tweak permanezca inmediatamente adyacente al objeto al que se aplica, después de que el archivo de entrada se ha convertido en un flujo musical. Con frecuencia no es el caso, pues muchos elementos adicionales se insertan en la corriente musical de forma implícita. Por ejemplo, cuando se procesa una nota que no forma parte de un acorde, LilyPond inserta implícitamente un evento ChordEvent antes de la nota, separando así el truco de la nota. Sin embargo, si los símbolos de acorde se sitúan cerca del truco y la nota, la instrucción \tweak viene después del ChordEvent en el flujo musical, permaneciendo así adyacente a la nota, y con la posibilidad de modificarla.

Así, esto funciona:

<\tweak #'color #red c>4

[image of music]

pero esto no funciona:

\tweak #'color #red c4

[image of music]

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:

y se puede usar \tweak para modificar cualquier aparición específica de estos elementos.

Es de resaltar que la instrucción \tweak no se puede usar para modificar plicas, barras o alteraciones accidentales, porque éstos se generan más tarde por parte de las cabezas de nota, en vez de por elementos musicales que están en el flujo de entrada. Ni se puede usar una instrucción \tweak para modificar claves o indicaciones de compás, ya que éstos están separados de cualquier instrucción \tweak precedente en el flujo de entrada a causa de la inserción automática de elementos adicionales necesarios para especificar el contexto.

Pero la instrucción \tweak se puede usar como alternativa a la instrucción \override para modificar estos elementos notacionales que no producen la adición de ningún elemento notacional implícito antes de ellos mismos en el flujo musical. Por ejemplo, las ligaduras de expresión se pueden modificar de esta forma:

c-\tweak #'thickness #5 ( d e f)

[image of music]

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'

[image of music]

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 Displaying music expressions. 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: Tweaking methods.

Referencia de la notación: Displaying music expressions.

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 no se puede usar para modificar los puntos de control de una única ligadura entre varias dentro de un acorde, aparte de la primera que aparece en el archivo de entrada.


5.3.5 \set vs. \override

Hemos visto dos formas de cambiar las propiedades: \set y \override. De hecho, en realidad existen dos clases diferentes de propiedades.

Los contextos pueden tener propiedades, que por lo general reciben nombres en mayúsculasDeCamello. Principalmente controlan la traducción de la música a la notación, p.ej. localKeySignature (para determinar si hay que imprimir las alteraciones accidentales), measurePosition (para determinar cuándo imprimir una línea divisoria). Las propiedades de contexto pueden ver modificado su valor con el tiempo según se interpreta una pieza de música; measurePosition es un ejemplo obvio de esto. Las propiedades de contexto se modifican con \set.

Hay un tipo especial de propiedad de contexto: la descripción del elemento. Estas propiedades reciben nombres en MayúsculasDeCamello (comenzando en letra mayúscula). Contienen los ‘ajustes por defecto’ para dicho elemento gráfico como una lista asociativa. Consulte ‘scm/define-grobs.scm’ para ver qué tipos de ajustes hay. Las descripciones de los elementos se pueden modificar con \override.

Realmente, \override es un atajo;

\override contexto.nombre #'propiedad = #valor

es más o menos equivalente a

\set contexto.nombre #'propiedad = #(cons (cons 'propiedad valor) <valor previo de contexto)

El valor de contexto (la lista-a) se usa para da un valor inicial a las propiedades de los objetos gráficos individuales. Los objetos gráficos también tienen propiedades, que reciben nombres en el estilo de Scheme, con palabras-con-guiones. Los valores de las propiedades de objetos gráficos cambian durante el proceso de formateo: el formateo básicamente consiste en calcular las propiedades utilizando funciones de callback.

fontSize es una propiedad especial: equivale a escribir \override ... #'font-size para todos los objetos pertinentes. Al ser éste un cambio muy común, se creó la propiedad especial (modificada con \set).


5.4 Useful concepts and properties


5.4.1 Input modes

La forma en que se interpreta la notación conenida 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 Chord notation. 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 conla sintaxis de la notación de acordes y se imprima como nombres de acorde dentro del contexto ChordNames, véase Printing chord names.

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 Basic percussion notation.

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 Basic percussion notation.

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 Entering figured bass.

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 Introduction to figured bass.

Modos de traste y tablatura

No existen modos de entrada especiales para introducir símibolos 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 Default tablatures.

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 Fret diagram markups.

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 Vocal music.

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
}

[image of music]


5.4.2 Direction and placement

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 Aligning contexts

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 perdeterminado -. Pero se necesita un indicador de dirección always antes de:

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 Within-staff objects.

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.


5.4.3 Distances and measurements

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 Page formatting.

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 Setting the staff size.

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 Length and thickness of objects.

Véase también

Manual de aprendizaje: Length and thickness of objects.

Referencia de la notación: Page formatting, Setting the staff size.


5.4.4 Staff symbol properties

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 }

[image of music]

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 }

[image of music]


5.4.5 Spanners

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.


Using the 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 pesoecifica 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

[image of music]

a1
\compressFullBarRests
R1*23
% increase the length of the rest bar
\once \override MultiMeasureRest #'minimum-length = #20
R1*23
a1

[image of music]

a \< a a a \!
% increase the length of the hairpin
\override Hairpin #'minimum-length = #20
a \< a a a \!

[image of music]

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\)

[image of music]

Para algunos objetos de preesentació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'

[image of music]

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

[image of music]

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á excatamente 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

[image of music]

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.


Using the line-spanner-interface

Entre los objetos que contemplan el interface line-spanner-interface se encuentran

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

[image of music]

Las unidades para la propiedad Y son staff-spaces, 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

[image of music]

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-spaces 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 (o LEFT, izquierda) hace que la línea comienze 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

[image of music]

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 sobrer la línea, como viene definido por las subpropiedades X e Y. Si se fijan stencil-align-dir-y o stencil-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

[image of music]

Observe que los valores negativos mueven el texto hacia arriba, al contrario de lo que podríoa esperarse, pues el valor de -1 o DOWN (abajo) significa alinear el bborde inferior del texto con la línea de extensión. Un valor de 1 o UP (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

[image of music]

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.


5.4.6 Visibility of objects

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 of objects Visibility and color of objects.

Hay también algunas otras técnicas que son específicas de ciertos objetos de presentación. Se estudian bajo Consideraciones especiales.


Removing the stencil

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. Se se sobreescribe eesta 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

[image of music]


Making objects transparent

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

[image of music]


Painting objects white

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

[image of music]

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 pentragrama (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

[image of music]


Using break-visibility

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 Visibility and color of objects. Esta propiedad toma un vector de tres valores booleanos que, por orden, determinan si el objeto se imprime al final, dentro, o al principio de la línea. O, para ser más exactos: antes del salto de línea, si no hay salto, o después del salto.

Como alternativa se puede especificar cualquiera de las ocho combinaciones mediante funciones predefinidas cuya definición está en ‘scm/output-lib.scm’, donde las tres últimas columnas indican si los objetos de presentación serán visibles en las posiciones que se muestran en el encabezamiento de cada columna:

Forma

Forma

Antes del

Si no hay

Después del

de función

de vector

salto

salto

salto

all-visible

'#(#t #t #t)

begin-of-line-visible

'#(#f #f #t)

no

no

center-visible

'#(#f #t #f)

no

no

end-of-line-visible

'#(#t #f #f)

no

no

begin-of-line-invisible

'#(#t #t #f)

no

center-invisible

'#(#t #f #t)

no

end-of-line-invisible

'#(#f #t #t)

no

all-invisible

'#(#f #f #f)

no

no

no

Los ajustes predeterminados de break-visibility dependen del objeto de presentación. La tabla siguiente muestra todos los objetos de presentación de interés que resultan afectados por break-visibility y el ajuste predeterminado de esta propiedad:

Objeto

Contexto usual

Valor predet.

BarLine

Score

calculado

BarNumber

Score

begin-of-line-visible

BreathingSign

Voice

begin-of-line-invisible

Clef

Staff

begin-of-line-visible

Custos

Staff

end-of-line-visible

DoublePercentRepeat

Voice

begin-of-line-invisible

KeySignature

Staff

begin-of-line-visible

OctavateEight

Staff

begin-of-line-visible

RehearsalMark

Score

end-of-line-invisible

TimeSignature

Staff

all-visible

El ejemplo de abajo muestra el uso de la forma de vector para controlar la visibilidad de las líneas divisorias:

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

[image of music]

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:


Special considerations

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

[image of music]

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

[image of music]

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

[image of music]

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: Visibility and color of objects


5.4.7 Line styles

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

[image of music]

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

[image of music]

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


5.4.8 Rotating objects

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.


Rotating layout objects

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 pespecifica 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\!

[image of music]


Rotating markup

Todos los textos de marcado se pueden rotar para que se dispongan en cualquier ángulo predecié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" }

[image of music]


5.5 Advanced tweaks

Esta sección trata sobre distintos enfoques en la realización de ajustes finos a la apariencia de la partitura impresa.

Véase también

Manual de aprendizaje: Tweaking output, Other sources of information.

Referencia de la notación: Explaining the Internals Reference, Modifying properties, Interfaces for programmers.

Archivos de inicio: ‘scm/define-grobs.scm’.

Fragmentos de código: Tweaks and overrides.

Referencia de funcionamiento interno: All layout objects.


5.5.1 Aligning objects

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 deplazamientos 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 de distintas maneras.

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.

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.


Setting X-offset and Y-offset directly

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

[image of music]


Using the 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; ciene determinado por el orden de los elementos en el flujo de entrada. Casi todos los objetos tienen la cabeza de la nota asociada como padre.

Los valores de las propiedades side-axis y direction determinan dónde colocar el objeto, como sigue:

side-axis

direction

propiedad

propiedad

colocación

0

-1

izquierda

0

1

derecha

1

-1

debajo

1

1

encima

Si side-axis es 0, X-offset se debe establecer al procedimiento ly:side-position-interface::x-aligned-side. Este procedimiento devuelve el calor correcto de X-offset para situar el objeto al lado izquierdo o derecho del padre de acuerdo con el valor de direction.

Si side-axis es 1, Y-offset se debe establecer al procedimiento ly:side-position-interface::y-aligned-side. Este procedimiento devuelve el valor correcto de Y-offset para situar el objeto encima o debajo del padre de acuerdo con el valor de direction.


Using the 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"

[image of music]

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

[image of music]


Using the 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:

e1
% the RehearsalMark will be centered above the Clef
\override Score.RehearsalMark #'break-align-symbols = #'(clef)
\key a \major
\clef treble
\mark "↓"
e
% 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 "↓"
e2.

[image of music]

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.

e1
% the RehearsalMark will be centered above the Key Signature
\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
\key a \major
\clef treble
\mark "↓"
e
% the RehearsalMark will be centered above the Clef
\set Staff.explicitKeySignatureVisibility = #all-invisible
\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
\key a \minor
\clef bass
\mark "↓"
e,

[image of music]

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 KeySignature
\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 KeySignature
\once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
\mark "↓"
\key a \major
e
% 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 "↓"
e

[image of music]

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 KeySignature
% and then shifted right by 3.5 staff-spaces
\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
\once \override Score.KeySignature #'break-align-anchor = #3.5
\key a \major
\mark "↓"
e
% The RehearsalMark will be aligned with the left edge of the KeySignature
% and then shifted left by 2 staff-spaces
\once \override Score.KeySignature #'break-align-anchor = #-2
\key a \major
\mark "↓"
e

[image of music]


5.5.2 Vertical grouping of grobs

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 Modifying stencils

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 Graphic notation inside markup.

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
}

[image of music]

Cualquiera de los glifos de la fuente tipográfica Feta se puede pasar a la instrucción de marcado \musicglyph: véase The Feta font.

Véase también

Referencia de la notación: Graphic notation inside markup, Formatting text, Text markup commands, The Feta font.


5.5.4 Modifying shapes


Modifying ties and slurs

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

[image of music]

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

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

[image of music]

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 mom ento musical, ni siquiera usando la instrucción \tweak.


6. Interfaces for programmers

Se pueden realizar trucos avanzados mediante el uso de Scheme. Si no está familizarizado con Scheme, le conviene leer nuestro tutorial de Scheme, Scheme tutorial.


6.1 Music functions

Esta sección trata sobre cómo crear funciones musicales dentro de LilyPond.


6.1.1 Overview of music functions

Es fácil hacer una función que sustituya a una variable en código de LilyPond. La forma general de estas funciones es:

function =
#(define-music-function (parser location var1 var2...vari... )
                        (var1-type? var2-type?...vari-type?...)
  #{
    ...música...
  #})

donde

vari

i-ésima variable

vari-type?

tipo de la i-ésima variable

...música...

entrada normal de LilyPond, usando las variables como #$var1, etc.

Los siguientes tipos de entrada se pueden usar como variables en una función musical. Esta lista no es exhaustiva; consulte otros lugares de la documentación específica de Scheme para ver otros tipos de variables.

Tipo de entrada

notación de vari-type?

Entero

integer?

Flotante (número decimal)

number?

Cadena de texto

string?

Marcado

markup?

Expresión musical

ly:music?

Pareja de variables

pair?

Los argumentos parser y location son obligatorios, y se usan en ciertas situaciones avanzadas. El argumento parser se usa para tener acceso al valor de otra variable de LilyPond. El argumento location se usa para establecer el ‘origen’ de la expresión musical que construye la función musical, de forma que en caso de producirse un error de sintaxis LilyPond pueda informar al usuario de un lugar adecuado donde buscar en el archivo de entrada.


6.1.2 Simple substitution functions

He aquí un ejemplo sencillo:

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
}

[image of music]

También se pueden sustituir las expresiones 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
  #})

{ c' d' e' f' \custosNote g' }

[image of music]

Se pueden usar más de una variable:

tempoMark = #(define-music-function (parser location padding marktext)
                                    (number? string?)
#{
  \once \override Score . RehearsalMark #'padding = $padding
  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
  \mark \markup { \bold $marktext }
#})

\relative c'' {
c2 e
\tempoMark #3.0 #"Allegro"
g c
}

[image of music]


6.1.3 Paired substitution functions

Algunas instrucciones \override requieren un par de números (llamados en Scheme una célula cons). Para pasar estos números a una función, usamos una variable pair? o bien insertamos el cons en la función musical.

manualBeam =
#(define-music-function (parser location beg-end)
                        (pair?)
#{
  \once \override Beam #'positions = #$beg-end
#})

\relative {
  \manualBeam #'(3 . 6) c8 d e f
}

o bien

manualBeam =
#(define-music-function (parser location beg end)
                        (number? number?)
#{
  \once \override Beam #'positions = #(cons $beg $end)
#})

\relative {
  \manualBeam #3 #6 c8 d e f
}

[image of music]


6.1.4 Mathematics in functions

Las funciones musicales pueden contar con programación de Scheme además de la simple sustitución:

AltOn = #(define-music-function (parser location mag) (number?)
  #{ \override Stem #'length = #$(* 7.0 mag)
     \override NoteHead #'font-size =
       #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag))) #})

AltOff = {
  \revert Stem #'length
  \revert NoteHead #'font-size
}

{ c'2 \AltOn #0.5 c'4 c'
  \AltOn #1.5 c' c' \AltOff c'2 }

[image of music]

Este ejemplo se puede reescribir de forma que pase expresiones musicales:

withAlt = #(define-music-function (parser location mag music) (number? ly:music?)
  #{ \override Stem #'length = #$(* 7.0 mag)
     \override NoteHead #'font-size =
       #$(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
     $music
     \revert Stem #'length
     \revert NoteHead #'font-size #})

{ c'2 \withAlt #0.5 {c'4 c'}
  \withAlt #1.5 {c' c'} c'2 }

[image of music]


6.1.5 Void functions

Una función musical debe devolver una expresión musical, per a veces podemos necesitar una función en la que no hay música en juego (como la desactivación de la funcionalidad Apuntar y Pulsar). Para hacerlo, devolvemos una expresión musical void (vacía).

Este es el motivo por el que la forma que se devuelve es (make-music ...). Con el valor de la propiedad 'void establecido a #t, le decimos al analizador que descarte la expresión musical devuelta. así, la parte importante de la función musical vacía es el proceso realizado por la función, no la expresión musical que se devuelve.

noPointAndClick =
#(define-music-function (parser location) ()
   (ly:set-option 'point-and-click #f)
   (make-music 'SequentialMusic 'void #t))
...
\noPointAndClick   % desactivar la funcionalidad Apuntar y Pulsar.

6.1.6 Functions without arguments

En casi todos los casos, una función sin argumentos se debe escribir con una variable:

dolce = \markup{ \italic \bold dolce }

Sin embargo, en raras ocasiones puede ser de utilidad crear una función musical sin argumentos:

displayBarNum =
#(define-music-function (parser location) ()
   (if (eq? #t (ly:get-option 'display-bar-numbers))
       #{ \once \override Score.BarNumber #'break-visibility = ##f #}
       #{#}))

Para la imresión real de los números de compás donde se llama a esta función, invoque a lilypond con

lilypond -d display-bar-numbers ARCHIVO.ly

6.1.7 Overview of available music functions

Las siguientes instrucciones son funciones musicales:

acciaccatura - music (music)

Create an acciaccatura from the following music expression

addChordShape - key-symbol (symbol) tuning (pair) shape-definition (unknown)

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 context ctx

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 (unknown)

Create a fall or doit of pitch interval delta.

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.

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.

includePageLayoutFile

Include the file <basename>-page-layout.ly. Deprecated as part of two-pass spacing.

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)

(undocumented; fixme)

noPageBreak

Forbid a page break. May be used at toplevel (ie between scores or markups), or inside a score.

noPageTurn

Forbid a page turn. May be used at toplevel (ie between scores or markups), or inside a score.

octaveCheck - pitch-note (music)

octave check

ottava - octave (number)

set the octavation

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 (ie between scores or markups), or inside a score.

pageTurn

Force a page turn between two scores or top-level markups.

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)

(undocumented; fixme)

pitchedTrill - main-note (music) secondary-note (music)

(undocumented; fixme)

pointAndClickOff

(undocumented; fixme)

pointAndClickOn

(undocumented; fixme)

quoteDuring - what (string) main-music (music)

(undocumented; fixme)

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.

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.

scoreTweak - name (string)

Include the score tweak, if exists.

shiftDurations - dur (integer) dots (integer) arg (music)

Scale arg up by a factor of 2^dur*(2-(1/2)^dots).

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 (unknown)

Add predefined fret diagram defined by diagram-definition for the chord pitches chord and the stringTuning tuning.

tag - tag (symbol) arg (music)

Add tag to the tags property of arg.

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 the tweaks property of arg.

unfoldRepeats - music (music)

(undocumented; fixme)

withMusicProperty - sym (symbol) val (any type) music (music)

Set sym to val in music.


6.2 Programmer interfaces

Esta sección contiene información sobre cómo mezclar LilyPond y Scheme.


6.2.1 Input variables and Scheme

El formato de entrada contempla la noción de variables: en el ejemplo siguiente, se asigna una expresión musical a una variable con el nombre traLaLa.

traLaLa = { c'4 d'4 }

También existe una forma de ámbito léxico: en el ejemplo siguiente, el bloque \layout también contiene una variable traLaLa, que es independiente de la \traLaLa exterior.

traLaLa = { c'4 d'4 }
\layout { traLaLa = 1.0 }

De hecho, cada archivo de entrada es un ámbito léxico, y todos los bloques \header, \midi y \layout son ámbitos anidados dentro de dicho ámbito de nivel superior.

Tanto el ámbito léxico como las variables están implementados en el sistema de módulos GUILE. Se adjunta un módulo anónimo de Scheme a cada ámbito. Una asignación de la forma

traLaLa = { c'4 d'4 }

se convierte internamente a una definición de Scheme

(define traLaLa Scheme value of `... ')

Esto supone que las variables de entrada y las variables de Scheme se pueden intermezclar con libertad. En el ejemplo siguiente, se almacena un fragmento musical en la variable traLaLa, y se dupplica utilizando Scheme. El resultado se importa en un bloque \score por medio de una segunda variable twice:

traLaLa = { c'4 d'4 }

%% dummy action to deal with parser lookahead
#(display "this needs to be here, sorry!")

#(define newLa (map ly:music-deep-copy
  (list traLaLa traLaLa)))
#(define twice
  (make-sequential-music newLa))

{ \twice }

[image of music]

En este ejemplo, la asignación se produce después de que el analizador sintáctico ha verificado que no ocurre nada interesante después de traLaLa = { ... }. Sin el argumento mudo del ejemplo, la definición newLa se ejecuta antes de que se defina traLaLa, conduciendo a un error de sintaxis.

El ejemplo anterior muestra cómo ‘exportar’ expresiones musicales desde la entrada hasta el intérprete de Scheme. También es posible lo contrario. Envolviendo un valor de Scheme en la función ly:export, un valor de Scheme se interpreta como si hubiera sido introducido en sintaxis de LilyPond. En vez de definir \twice, el ejemplo anterior podría también haberse escrito como

...
{ #(ly:export (make-sequential-music (list newLa))) }

El sódigo de Scheme se evalúa tan pronto como el analizador sintáctico lo encuentra. Para definir código de Scheme en un macro (para llamarlo con posterioridad), use Void functions, o bien

#(define (nopc)
  (ly:set-option 'point-and-click #f))

...
#(nopc)
{ c'4 }

Advertencias y problemas conocidos

No es posible mezclar variables de Scheme y de LilyPond con la opción --safe.


6.2.2 Internal music representation

Cuando se analiza sintácticamente una expresión musical, se convierte en un conjunto de objetos musicales de Scheme. La propiedad que define a un objeto musical es que tiene una cierta duración. El tiempo es un número racional que mide la longitud de un fragmento de música en unidades del valor de una redonda.

Un objeto musical tiene tres clases de tipos:

La información real de una expresión musical se almacena en forma de propiedades. Por ejemplo, un evento NoteEvent tiene propiedades pitch y duration que almacenan la altura y duración de la nota. Hay una lista completa de las propiedades que están disponibles en la Referencia de funcionamiento interno, bajo Music properties.

Una expresión musical compuesta es un objeto musical que contiene otros objetos musicales en sus propiedades. Se puede almacernar una lista de objetos en la propiedad elements de un objeto musical, o un solo objeto musical ‘hijo’ en la propiedad element. Por ejemplo, SequentialMusic tiene sus hijos en elements, y GraceMusic tiene su elemento único en element. El cuerpo de una repetición se almacena en la propiedad element de RepeatedMusic, y las alternativas en elements.


6.3 Building complicated functions

Esta sección explica cómo reunir la información necesaria para crear funciones musicales complejas.


6.3.1 Displaying music expressions

Si se está escribiendo una función musical puede ser muy instructivo examinar cómo se almacena internamente una expresión musical. Esto se puede hacer con la función musical \displayMusic:

{
  \displayMusic { c'4\f }
}

imprime lo siguiente:

(make-music
  'SequentialMusic
  'elements
  (list (make-music
          'EventChord
          'elements
          (list (make-music
                  'NoteEvent
                  'duration
                  (ly:make-duration 2 0 1 1)
                  'pitch
                  (ly:make-pitch 0 0 0))
                (make-music
                  'AbsoluteDynamicEvent
                  'text
                  "f")))))

De forma predeterminada, LilyPond imprime estos mensajes en la consola junto al resto de los mensajes. Para discernir entre estos mensajes y guardar el resultado de \display{MATERIAL}, redirija la salida hacia un archivo.

lilypond archivo.ly >resultado.txt

Con la aplicación de un poco de formato, la inforamción anterior es fácil de leer:

(make-music 'SequentialMusic
  'elements (list (make-music 'EventChord
                    'elements (list (make-music 'NoteEvent
                                      'duration (ly:make-duration 2 0 1 1)
                                      'pitch (ly:make-pitch 0 0 0))
                                    (make-music 'AbsoluteDynamicEvent
                                      'text "f")))))

Una secuencia musical { ... } tiene el nombre SequentialMusic, y sus expresiones internas se almacenan como una lista en su propiedad 'elements. Una nota se representa como una expresión EventChord que contiene un objeto NoteEvent (que almacena las propiedades de duración y altura) y cualquier otra información adicional (en este caso, un evento AbsoluteDynamicEvent con una porpiedad de texto "f".


6.3.2 Music properties

El objeto NoteEvent es el primer objeto de la propiedad 'elements de someNote.

unaNota = c'
\displayMusic \unaNota
===>
(make-music
  'EventChord
  'elements
  (list (make-music
          'NoteEvent
          'duration
          (ly:make-duration 2 0 1 1)
          'pitch
          (ly:make-pitch 0 0 0))))

La función display-scheme-music es la función utilizada por \displayMusic para imprimir la representación de Scheme de una expresión musical.

#(display-scheme-music (first (ly:music-property unaNota 'elements)))
===>
(make-music
  'NoteEvent
  'duration
  (ly:make-duration 2 0 1 1)
  'pitch
  (ly:make-pitch 0 0 0))

Después se accede a la altura de la nota a través de la propiedad 'pitch del objeto NoteEvent:

#(display-scheme-music
   (ly:music-property (first (ly:music-property unaNota 'elements))
                      'pitch))
===>
(ly:make-pitch 0 0 0)

La altura de la nota se puede cambiar estableciendo el valor de esta propiedad ’pitch:

#(set! (ly:music-property (first (ly:music-property unaNota 'elements))
                          'pitch)
       (ly:make-pitch 0 1 0)) ;; fijar la altura a d'.
\displayLilyMusic \unaNota
===>
d'

6.3.3 Doubling a note with slurs (example)

Supongamos que queremos crear una función que traduce una entrada como a a algo como a( a). Empezamos examinando la representación interna de la música con la que queremos terminar.

\displayMusic{ a'( a') }
===>
(make-music
  'SequentialMusic
  'elements
  (list (make-music
          'EventChord
          'elements
          (list (make-music
                  'NoteEvent
                  'duration
                  (ly:make-duration 2 0 1 1)
                  'pitch
                  (ly:make-pitch 0 5 0))
                (make-music
                  'SlurEvent
                  'span-direction
                  -1)))
        (make-music
          'EventChord
          'elements
          (list (make-music
                  'NoteEvent
                  'duration
                  (ly:make-duration 2 0 1 1)
                  'pitch
                  (ly:make-pitch 0 5 0))
                (make-music
                  'SlurEvent
                  'span-direction
                  1)))))

Las malas noticias son que las espresiones SlurEvent se deben añadir ‘dentro’ de la nota (o más concretamente, dentro de la expresión EventChord).

Ahora observamos la entrada:

(make-music
  'SequentialMusic
  'elements
  (list (make-music
          'EventChord
          'elements
          (list (make-music
                  'NoteEvent
                  'duration
                  (ly:make-duration 2 0 1 1)
                  'pitch
                  (ly:make-pitch 0 5 0))))))

Así pues, en nuestra función, tenemos que clonar esta expresión (de forma que tengamos dos notas para construir la secuencia), añadir SlurEvents a la propiedad 'elements de cada una de ellas, y por último hacer una secuencia SequentialMusic con los dos EventChords.

doubleSlur = #(define-music-function (parser location note) (ly:music?)
         "Return: { note ( note ) }.
         `note' is supposed to be an EventChord."
         (let ((note2 (ly:music-deep-copy note)))
           (set! (ly:music-property note 'elements)
                 (cons (make-music 'SlurEvent 'span-direction -1)
                       (ly:music-property note 'elements)))
           (set! (ly:music-property note2 'elements)
                 (cons (make-music 'SlurEvent 'span-direction 1)
                       (ly:music-property note2 'elements)))
           (make-music 'SequentialMusic 'elements (list note note2))))

6.3.4 Adding articulation to notes (example)

La manera fácil de añadir articulación a las notas es fundir dos expresiones musicales en un contexto único, como está explicado en Creating contexts. Sin embargo, suponga que queremos escribir una función musical que haga esto.

Una $variable dentro de la notación #{...#} es como usar una \variable normal en la notación clásica de LilyPond. Sabemos que

{ \musica -. -> }

no funciona en LilyPond. Podemos evitar este problema adjuntando la articulación a una nota de mentira,

{ << \musica s1*0-.-> }

pero a los efectos de este ejemplo, aprenderemos ahora cómo hacerlo en Scheme. Comenzamos examinando nuestra entrada y la salida deseada:

%  entrada
\displayMusic c4
===>
(make-music
  'EventChord
  'elements
  (list (make-music
          'NoteEvent
          'duration
          (ly:make-duration 2 0 1 1)
          'pitch
          (ly:make-pitch -1 0 0))))
=====
%  salida deseada
\displayMusic c4->
===>
(make-music
  'EventChord
  'elements
  (list (make-music
          'NoteEvent
          'duration
          (ly:make-duration 2 0 1 1)
          'pitch
          (ly:make-pitch -1 0 0))
        (make-music
          'ArticulationEvent
          'articulation-type
          "marcato")))

Vemos que una nota (c4) se representa como una expresión EventChord, con una expresión NoteEvent en su lista de elementos. Para añadir una articulación marcato, se debe añadir una expresión ArticulationEvent a la propiedad elementos de la expresión EventChord.

Para construir esta función, empezamos con

(define (add-marcato event-chord)
  "Añadir una ArticulationEvent de marcato a los elementos de `event-chord',
  que se ssupone que es una expresión EventChord."
  (let ((result-event-chord (ly:music-deep-copy event-chord)))
    (set! (ly:music-property result-event-chord 'elements)
          (cons (make-music 'ArticulationEvent
                  'articulation-type "marcato")
                (ly:music-property result-event-chord 'elements)))
    result-event-chord))

La primera línea es la forma de definir una función en Scheme: el nombre de la función es add-marcato, y tiene una variable llamada event-chord. En Scheme, el tipo de variable suele quedar claro a partir de su nombre (¡esto también es una buena práctica en otros lenguajes de programación!).

"Añadir una ArticulationEvent de marcato..."

es una descripción de lo que hace la función. No es estrictamente necesario, pero como los nombres de variable claros, es una buena práctica.

(let ((result-event-chord (ly:music-deep-copy event-chord)))

let se usa para declarar variables locales. Aquí usamos una variable local, llamada result-event-chord, a la que le damos el valor (ly:music-deep-copy event-chord). ly:music-deep-copy es una función específica de LilyPond, como todas las funciones que comienzan por ly:. Se usa para hacer una copia de una expresión musical. Aquí, copiamos event-chord (el parámetro de la función). Recuerde que el propósito es añadir un marcato a una expresión EventChord. Es mejor no modificar el EventChord que se dio como argumento, porque podría utilizarse en algún otro lugar.

Ahora tenemos un result-event-chord, que es una expresión NoteEventChord y es una copia de event-chord. Añadimos el marcato a su propiedad lista de elementos.

(set! place new-value)

Aquí, lo que queremos establecer (el ‘place’) es la propiedad ‘elements’ de la expresión result-event-chord.

(ly:music-property result-event-chord 'elements)

ly:music-property es la función que se usa para acceder a las propiedades musicales (los 'elements, 'duration, 'pitch, etc., que vemos en la salida de \displayMusic más arriba). El nuevo valor es la anterior propiedad elements, con un elemento adicional: la expresión ArticulationEvent, que copiamos a partir de la salida de \displayMusic,

(cons (make-music 'ArticulationEvent
        'articulation-type "marcato")
      (ly:music-property result-event-chord 'elements))

cons se usa para añadir un elemento a una lsita sin modificar la lista original. Esto es lo que queremos: la misma lista que antes, más la nueva expresión ArticulationEvent. El orden dentro de la propiedad elements no es importante aquí.

Finalmente, una vez añadida la articulación marcato a su propiedad elements, podemos devolver result-event-chord, de aquí la última línea de la función.

Ahora transformamos la función add-marcato en una función musical,

addMarcato = #(define-music-function (parser location event-chord)
                                     (ly:music?)
    "Add a marcato ArticulationEvent to the elements of `event-chord',
    which is supposed to be an EventChord expression."
    (let ((result-event-chord (ly:music-deep-copy event-chord)))
      (set! (ly:music-property result-event-chord 'elements)
            (cons (make-music 'ArticulationEvent
                    'articulation-type "marcato")
                  (ly:music-property result-event-chord 'elements)))
      result-event-chord))

Podemos verificar que esta función musical funciona correctamente,

\displayMusic \addMarcato c4

6.4 Markup programmer interface

Los marcados están implementados como funciones de Scheme especiales que producen un elemento Stencil (sello) dado un número de argumentos.


6.4.1 Markup construction in Scheme

El macro markup construye expresiones de marcado en Scheme, proporcionando una sintaxis similar a la de LilyPond. Por ejemplo:

(markup #:column (#:line (#:bold #:italic "hola" #:raise 0.4 "mundo")
                  #:larger #:line ("fulano" "fulanito" "menganito")))

equivale a:

\markup \column { \line { \bold \italic "hola" \raise #0.4 "mundo" }
                  \larger \line { fulano fulanito menganito } }

Este ejemplo muestra las principales reglas de traducción entre la sitaxis del marcado normal de LilyPond y la sintaxis del marcado de Scheme.

LilyPond

Scheme

\markup marcado1

(markup marcado1)

\markup { marcado1 marcado2 ... }

(markup marcado1 marcado2 ... )

\instruccion

#:instruccion

\variable

variable

\center-column { ... }

#:center-column ( ... )

cadena

"cadena"

#argumento-de-scheme

argumento-de-scheme

Todo el lenguaje Scheme está accesible dentro del macro markup. Por ejemplo, podemos usar llamadas a funciones dentro de markup para así manipular cadenas de caracteres. Esto es útil si se están definiendo instrucciones de marcado nuevas (véase New markup command definition).

Advertencias y problemas conocidos

El argumento markup-list de instrucciones como #:line, #:center y #:column no pueden se una variable o el resultado de la llamada a una función.

 
(markup #:line (funcion-que-devuelve-marcados))

no es válido. Hay que usar las funciones make-line-markup, make-center-markup o make-column-markup en su lugar:

 
(markup (make-line-markup (funcion-que-devuelve-marcados)))

6.4.2 How markups work internally

En un elemento de marcado como

\raise #0.5 "ejemplo de texto"

\raise se representa en realidad por medio de la función raise-markup. La expresión de marcado se almacena como

(list raise-markup 0.5 (list simple-markup "ejemplo de texto"))

Cuando el marcado se convierte en objetos imprimibles (Stencils o sellos), se llama la función raise-markup como

(apply raise-markup
       \objeto de marcado
       lista de listas asociativas de propiedades
       0.5
       el marcado "ejemplo de texto")

Primero la función raise-markup crea el sello para la cadena ejemplo de texto, y después eleva el sello Stencil en 0.5 espacios de pentagrama. Este es un ejemplo bastante simple; en el resto de la sección podrán verse ejemplos más complejos, así como en ‘scm/define-markup-commands.scm’.


6.4.3 New markup command definition

Las instrucciones de marcado nuevas se pueden definir con el macro de Scheme define-markup-command.

 
(define-markup-command (nombre-de-la-instruccion layout props arg1 arg2 ...)
            (arg1-type? arg2-type? ...)
  ..command body..)

Los argumentos son

argi

i-ésimo argumento de la instrucción

argi-type?

predicado de tipo para el argumento i-ésimo

layout

la definición de ‘presentación’

props

lista de listas asociativas, que contiene todas las propiedades activas.

Como ejemplo sencillo, mostramos cómo añadir una instrucción \smallcaps, que selecciona una tipografía de versalitas. Normalmente podríamos seleccionar la tipografía de versalitas,

\markup { \override #'(font-shape . caps) Texto-en-versalitas }

Esto selecciona la tipografía de versalitas mediante el establecimiento de la propiedad font-shape a #'caps para la interpretación de Texto-en-versalitas.

Para poner lo anterior disponible como la instrucción \smallcaps, tenemos que definir una función utilizando define-markup-command. La instrucción ha de tomar un argumento del tipo markup. Por tanto, el inicio de la definición ha de ser

(define-markup-command (smallcaps layout props argument) (markup?)

Lo que aparece a continuación es el contenido de la instrucción: debemos interpretar el argument como un marcado, es decir:

(interpret-markup layout … argument)

Esta interpretación tiene que añadir '(font-shape . caps) a las propiedades activas, por lo que sustituimos lo siguiente por los … en el ejemplo anterior:

(cons (list '(font-shape . caps) ) props)

La variable props es una lista de a-listas, y se lo anteponemos haciendo la operación cons de una lista con el ajuste adicional.

Supongamos que estamos tipografiando un recitativo de una ópera y nos gustaría definir una instrucción que presente los nombres de los personajes de una forma personalizada. Queremos que los nombres se impriman con versalitas y se desplacen un poco a la izquierda y hacia arriba. Definimos una instrucción \character que toma en cuenta la traslación necesaria y utiliza la instrucción \smallcaps recién definida:

#(define-markup-command (character layout props nombre) (string?)
  "Imprimir el nombre del personaje en versalitas, desplazado a la izquierda y hacia
  arriba.  Sintaxis: \\character #\"nombre\""
  (interpret-markup layout props
   (markup #:hspace 0 #:translate (cons -3 1) #:smallcaps nombre)))

Esta es una complicación que requiere una explicación: los textos por encima y por debajo del pentagrama se mueven verticalmente de forma que estén a una cierta distancia (la propiedad padding) del pentagrama y de las notas. Para asegurar que este mecanismo no anula el efecto de nuestro #:translate, añadimos una cadena vacía (#:hspace 0) antes del texto trasladado. Ahora el #:hspace 0 se pone encima de las notas, y el nombre se mueve en relación a dicha cadena vacía. El efecto neto es que el texto se mueve hacia la izquierda y hacia arriba.

El resultado final es como sigue:

{
  c''^\markup \character #"Cleopatra"
  e'^\markup \character #"Giulio Cesare"
}

[image of music]

Hemos usado la forma de fuente tipográfica caps, pero supongamos que nuestra fuente no tiene la variante de versalitas. En ese caso tenemos que hacer una falsa fuente de mayúsculas pequeñas haciendo que la cadena en mayúsculas tenga la primera legra un poco mayor:

#(define-markup-command (smallcaps layout props str) (string?)
  "Print the string argument in small caps."
  (interpret-markup layout props
   (make-line-markup
    (map (lambda (s)
          (if (= (string-length s) 0)
              s
              (markup #:large (string-upcase (substring s 0 1))
                      #:translate (cons -0.6 0)
                      #:tiny (string-upcase (substring s 1)))))
         (string-split str #\Space)))))

La instrucción smallcaps primero divide su argumento de cadena en unidades o palabras separadas por espacios ((string-split str #\Space)); para cada unidad o palabra, se construye un marcado con la primera letra agrandada y en mayúscula (#:large (string-upcase (substring s 0 1))), y un segundo marcado construido con las letras siguientes reducidas de tamaño y en mayúsculas (#:tiny (string-upcase (substring s 1))). Como LilyPond introduce un espacio entre los marcados de una misma línea, el segundo marcado se traslada a la izquierda (#:translate (cons -0.6 0) ...). Después, los marcados construidos para cada palabra se ponen en una línea mediante (make-line-markup ...). Finalmente, el marcado resultante se pasa a la función interpret-markup, con los argumentos layout y props.

Nota: ahora existe una instrucción interna \smallCaps que se puede usar para poner texto en versalitas. Consulte Text markup commands, para ver más detalles.

Advertencias y problemas conocidos

Actualmente las combinaciones de argumentos que hay disponibles (después de los argumentos estándar layout y props) para una instrucción de marcado definida con define-markup-command se limitan a la siguiente lista:

(ningún argumento)
list
markup
markup markup
scm
scm markup
scm scm
scm scm markup
scm scm markup markup
scm markup markup
scm scm scm

En la tabla de arriba, scm representa los tipos de datos nativos de Scheme como ‘number’ (número) o ‘string’ (cadena).

Como ejemplo, no es posible usar una instrucción de marcado fulanito con cuatro argumentos definida como

#(define-markup-command (fulanito layout props
                         num1    str1    num2    str2)
                        (number? string? number? string?)
  ...)

Si la aplicamos como, digamos,

\markup \fulanito #1 #"mengano" #2 #"zutano"

lilypond protesta diciendo que no puede analizar fulanito debido a su firma de Scheme desconocida.


6.4.4 New markup list command definition

Las instrucciones de listas de marcado se definen con el macro de Scheme define-markup-list-command, que es similar al macro define-markup-command descrito en New markup command definition, excepto que donde éste devuelve un sello único, aquél devuelve una lista de sellos.

En el siguiente ejemplo se define una instrucción de lista de marcado \paragraph, que devuelve una lista de líneas justificadas, estando la primera de ellas sangrada. La anchura del sangrado se toma del argumento props.

#(define-markup-list-command (paragraph layout props args) (markup-list?)
   (let ((indent (chain-assoc-get 'par-indent props 2)))
     (interpret-markup-list layout props
       (make-justified-lines-markup-list (cons (make-hspace-markup indent)
                                               args)))))

Aparte de los argumentos usuales layout y props, la instrucción de lista de marcados paragraph toma un argumento de lista de marcados, llamado args. El predicado para listas de marcados es markup-list?.

Em primer lugar, la función toma el ancho del sangrado, una propiedad llamada aquí par-indent, de la lista de propiedades props. Si no se encuentra la propiedad, el valor predeterminado es 2. Después, se hace una lista de líneas justificadas usando la función make-justified-lines-markup-list, que está relacionada con la instrucción incorporada de lista de marcados \justified-lines. Se añade un espacio horizontal al principio usando la función make-hspace-markup. Finalmente, la lista de marcados se interpreta usando la función interpret-markup-list.

Esta nueva instrucción de lista de marcados se puede usar como sigue:

\markuplines {
  \paragraph {
    El arte de la tipografía musical se llama  \italic {grabado (en plancha).}
    El término deriva del proceso tradicional de impresión de música.
    hace sólo algunas décadas, las partituras se hacían cortando y estampando
    la música en una plancha de zinc o lata en una imagen invertida.
  }
  \override-lines #'(par-indent . 4) \paragraph {
    La plancha se tenía que entintar, y las depresiones causadas por los cortes
    y estampados retienen la tinta.  Se formaba una imagen presionando el papel
    contra la plancha.  El estampado y cortado se hacía completamente
    a mano.
  }
}

6.5 Contexts for programmers


6.5.1 Context evaluation

Se pueden modificar los contextos durante la interpretación con código de Scheme. La sintaxis para esto es

\applyContext función

función debe ser una función de Scheme que toma un único argumento, que es el contexto al que aplicarla. El código siguiente imprime el número del compás actual sobre la salida estándar durante la compilación:

\applyContext
  #(lambda (x)
    (format #t "\nSe nos ha llamado en el compás número ~a.\n"
     (ly:context-property x 'currentBarNumber)))

6.5.2 Running a function on all layout objects

La manera más versátil de realizar el ajuste fino de un objeto es \applyOutput. Su sintaxis es

\applyOutput contexto proc

donde proc es una función de Scheme, que toma tres argumentos.

Al interpretarse, la función proc se llama para cada objeto de presentación que se encuentra en el contexto contexto, con los siguientes argumentos:

Además, la causa del objeto de presentación, es decir el objeto o expresión musical que es responsable de haberlo creado, está en la propiedad cause del objeto. Por ejemplo, para la cabeza de una nota, éste es un evento NoteHead, y para un objeto Stem (plica), éste es un objeto Stem.

He aquí una función que usar para \applyOutput; borra las cabezas de las notas que están sobre la línea central:

(define (blanker grob grob-origin context)
 (if (and (memq (ly:grob-property grob 'interfaces)
                note-head-interface)
          (eq? (ly:grob-property grob 'staff-position) 0))
     (set! (ly:grob-property grob 'transparent) #t)))

6.6 Scheme procedures as properties

Las propiedades (como el grosor, la dirección, etc.) se pueden establecer a valores fijos con \override, p. ej.

\override Stem #'thickness = #2.0

Las propiedades pueden fijarse también a un procedimiento de scheme,

\override Stem #'thickness = #(lambda (grob)
    (if (= UP (ly:grob-property grob 'direction))
        2.0
        7.0))
c b a g b a g b

[image of music]

En este caso, el procedimiento se ejecuta tan pronto como el valor de la propiedad se reclama durante el proceso de formateo.

Casi todo el motor de tipografiado está manejado por estos callbacks. Entre las propiedades que usan normalmente callbacks están

stencil

La rutina de impresión, que construye un dibujo para el símbolo

X-offset

La rutina que establece la posición horizontal

X-extent

La rutina que calcula la anchura de un objeto

El procedimiento siempre toma un argumento único, que es el grob (el objeto gráfico).

Si se deben llamar rutinas con varios argumentos, el grob actual se puede insertar con una cerradura de grob. He aquí un ajuste procedente de AccidentalSuggestion,

(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)))))

En este ejemplo, tanto ly:self-alignment-interface::x-aligned-on-self como ly:self-alignment-interface::centered-on-x-parent se llaman con el grob como argumento. El resultado se añade con la función +. Para asegurar que esta adición se ejecuta adecuadamente, todo ello se encierra dentro de ly:make-simple-closure.

De hecho, usar un solo procedimiento como valor de una propiedad equivale a

(ly:make-simple-closure (ly:make-simple-closure (list proc)))

El ly:make-simple-closure interior aporta el grob como argumento de proc, el exterior asegura que el resultado de la función es lo que se devuelve, en lugar del objeto simple-closure.


6.7 Using Scheme code instead of \tweak

La principal desventaja de \tweak es su inflexibilidad sintáctica. Por ejemplo, lo siguiente produce un error de sintaxis.

F = \tweak #'font-size #-3 -\flageolet

\relative c'' {
  c4^\F c4_\F
}

En otras palabras, \tweak no se comporta como una articulación en cuando a la sintaxis; concretamente, no se puede adjuntar con ^ y _.

Usando Scheme, se puede dar un rodeo a este problema. La ruta hacia el resultado se da en Adding articulation to notes (example), especialmente cómo usar \displayMusic como guía de ayuda.

F = #(let ((m (make-music 'ArticulationEvent
                          'articulation-type "flageolet")))
       (set! (ly:music-property m 'tweaks)
             (acons 'font-size -3
                    (ly:music-property m 'tweaks)))
       m)

\relative c'' {
  c4^\F c4_\F
}

Aquí, las propiedades tweaks del objeto flageolet m (creado con make-music) se extraen con ly:music-property, se antepone un nuevo par clave-valor para cambiar el tamaño de la tipografía a la lista de propiedades con la función de Scheme acons, y finalmente el resultado se escribe de nuevo con set!. El último elemento del bloque let es el valor de retorno, el propio m.


6.8 Difficult tweaks

Hay un cierto número de tipos de ajustes difíciles.


A. Literature list

Si tiene necesidad de aprender más acerca de la notación musical, le presentamos a continuación algunos títulos interesantes que puede leer.

Ignatzek 1995

Klaus Ignatzek, Die Jazzmethode für Klavier. Schott’s Söhne 1995. Mainz, Germany ISBN 3-7957-5140-3.

Instructiva introducción a la interpretación de Jazz al piano. Uno de los primeros capítulos contiene una panorámica de los acordes más comunes de la música de Jazz.

Gerou 1996

Tom Gerou and Linda Lusk, Essential Dictionary of Music Notation. Alfred Publishing, Van Nuys CA ISBN 0-88284-768-6.

Una lista concisa y ordenada alfabéticamente de los problemas de la composición tipográfica y la notación musical, que abarca la mayor parte de los casos más comunes.

Read 1968

Gardner Read, Music Notation: A Manual of Modern Practice. Taplinger Publishing, New York (2nd edition).

Una obra estándar sobre notación musical.

Ross 1987

Ted Ross, Teach yourself the art of music engraving and processing. Hansen House, Miami, Florida 1987.

Este libro trata del grabado musical, es decir, composición tipográfica profesional. Contiene instrucciones sobre el estampado, la utilización de las plumillas y las convenciones notacionales. También son interesantes las secciones sobre los tecnicismos y la historia de la reproducción.

Schirmer 2001

The G.Schirmer/AMP Manual of Style and Usage. G.Schirmer/AMP, NY, 2001. (Este libro se puede pedir al departamento de alquiler.)

Este manual se centra específicamente en la preparación de los manuscritos para la publicación por Schirmer. Discute muchos detalles que no se pueden encontrar en otros libros de notación más normales. También proporciona una buena idea sobre lo que se necesita para llevar la impresión hasta la calidad editorial.

Stone 1980

Kurt Stone, Music Notation in the Twentieth Century. Norton, New York 1980.

Este libro describe la notación musical para la música seria moderna, pero empieza por una amplia panorámica de las prácticas existentes de la notación tradicional.

El archivo de código fuente incluye una bibliografía de BibTeX más elaborada con más de 100 elementos, en the bibliography.


B. Notation manual tables


B.1 Chord name chart

Las siguientes tablas muestran dos sistemas estándar para imprimir los nombres de los acordes, junto a las notas que representan.

[image of music]


B.2 Common chord modifiers

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

5 o nada

[image of music]

Menor

Tercera menor y quinta justa

m o m5

[image of music]

Aumentado

Tercera mayor y quinta aumentada

aug

[image of music]

Disminuido

Tercera menor y quinta disminuida

dim

[image of music]

Séptima dominante

Tríada mayor con séptima menor

7

[image of music]

Séptima mayor

Tríada mayor y séptima mayor

maj7 or maj

[image of music]

Séptima menor

Tríada menor y séptima menor

m7

[image of music]

Séptima disminuida

Tríada disminuida y séptima disminuida

dim7

[image of music]

Aumentado con séptima

Tríada aumentada y séptima menor

aug7

[image of music]

Séptima semi-disminuido

Tríada disminuida y séptima menor

m7.5-

[image of music]

Menor con séptima mayor

Tríada menor con séptima mayor

maj7.5-

[image of music]

Mayor con sexta

Tríada mayor y sexta

6

[image of music]

Menor con sexta

Tríada menor y sexta

m6

[image of music]

Novena dominante

Séptima dominante con novena mayor

9

[image of music]

Mayor con novena

Séptima mayor y novena mayor

maj9

[image of music]

Menor con novena

Séptima menor y novena mayor

m9

[image of music]

Oncena dominante

Novena dominante con oncena justa

11

[image of music]

Oncena mayor

Novena mayor y oncena justa

maj11

[image of music]

Menor con oncena

Novena menor y oncena justa

m11

[image of music]

Trecena dominante

Novena dominante y trecena mayor

13

[image of music]

Trecena dominante

Oncena dominante y trecena mayor

13.11

[image of music]

Mayor con trecena

Oncena mayor y trecena mayor

maj13.11

[image of music]

Menor con trecena

Oncena menor y trecena mayor

m13.11

[image of music]

Segunda suspendida

Segunda mayor y quinta justa

sus2

[image of music]

Cuarta suspendida

Cuarta justa y quinta justa

sus4

[image of music]


B.3 Predefined fretboard diagrams

El cuadro siguiente presenta los diagramas de traste predefinidos.

[image of music]


B.4 MIDI instruments

A continuación figura una lista con los nombres que se pueden utilizar para la propiedad midiInstrument (instrumento 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 strings   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)

B.5 List of colors

Normal colors

La sintaxis para el uso de colores se encuentra detallada en Coloring objects.

black       white          red         green
blue        cyan           magenta     yellow
grey        darkred        darkgreen   darkblue
darkcyan    darkmagenta    darkyellow

X color names

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’).

Color Names without a numerical suffix:

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

Color names with a numerical suffix

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

Grey Scale

Se puede obtener una escala de grises utilizando:

greyN

donde N es un número entre 0 y 100.


B.6 The Feta font

Los símbolos siguientes están disponibles en la tipografía Emmentaler y es posible acceder a ellos directamente utilizando elementos de marcado textual como g^\markup { \musicglyph #"scripts.segno" }, véase Formatting text.

[image of music]


B.7 Note head styles

Se pueden usar los siguientes estilos para las cabezas de las notas.

[image of music]


B.8 Text markup commands

The following commands can all be used inside \markup { }.


B.8.1 Font

\abs-fontsize size (number) arg (markup)

Use size as the absolute font size to display arg. Adjusts baseline-skip and word-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 }
}

[image of music]

\bold arg (markup)

Switch to bold font-series.

\markup {
  default
  \hspace #2
  \bold
  bold
}

[image of music]

\box arg (markup)

Draw a box round arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \override #'(box-padding . 0.5)
  \box
  \line { V. S. }
}

[image of music]

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

[image of music]

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

[image of music]

\finger arg (markup)

Set arg as small numbers.

\markup {
  \finger {
    1 2 3 4 5
  }
}

[image of music]

\fontCaps arg (markup)

Set font-shape to caps

Note: \fontCaps requires the installation and selection of fonts which support the caps 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
}

[image of music]

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
}

[image of music]

\italic arg (markup)

Use italic font-shape for arg.

\markup {
  default
  \hspace #2
  \italic
  italic
}

[image of music]

\large arg (markup)

Set font size to +1.

\markup {
  default
  \hspace #2
  \large
  large
}

[image of music]

\larger arg (markup)

Increase the font size relative to the current setting.

\markup {
  default
  \hspace #2
  \larger
  larger
}

[image of music]

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

[image of music]

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

[image of music]

\normal-size-sub arg (markup)

Set arg in subscript with a normal font size.

\markup {
  default
  \normal-size-sub {
    subscript in standard size
  }
}

[image of music]

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

[image of music]

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

[image of music]

\normalsize arg (markup)

Set font size to default.

\markup {
  \teeny {
    this is very small
    \hspace #2
    \normalsize {
      normal size
    }
    \hspace #2
    teeny again
  }
}

[image of music]

\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 . ,
  }
}

[image of music]

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

[image of music]

\sans arg (markup)

Switch to the sans serif font family.

\markup {
  default
  \hspace #2
  \sans {
    sans serif
  }
}

[image of music]

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

[image of music]

\small arg (markup)

Set font size to -1.

\markup {
  default
  \hspace #2
  \small
  small
}

[image of music]

\smallCaps arg (markup)

Emit arg as small caps.

Note: \smallCaps does not support accented characters.

\markup {
  default
  \hspace #2
  \smallCaps {
    Text in small caps
  }
}

[image of music]

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

[image of music]

\sub arg (markup)

Set arg in subscript.

\markup {
  \concat {
    H
    \sub {
      2
    }
    O
  }
}

[image of music]

Used properties:

  • baseline-skip
  • font-size (0)
\super arg (markup)

Set arg in superscript.

\markup {
  E =
  \concat {
    mc
    \super
    2
  }
}

[image of music]

Used properties:

  • baseline-skip
  • font-size (0)
\teeny arg (markup)

Set font size to -3.

\markup {
  default
  \hspace #2
  \teeny
  teeny
}

[image of music]

\text arg (markup)

Use a text font instead of music symbol or music alphabet font.

\markup {
  \number {
    1, 2,
    \text {
      three, four,
    }
    5
  }
}

[image of music]

\tiny arg (markup)

Set font size to -2.

\markup {
  default
  \hspace #2
  \tiny
  tiny
}

[image of music]

\typewriter arg (markup)

Use font-family typewriter for arg.

\markup {
  default
  \hspace #2
  \typewriter
  typewriter
}

[image of music]

\underline arg (markup)

Underline arg. Looks at thickness to determine line thickness and y-offset.

\markup {
  default
  \hspace #2
  \override #'(thickness . 2)
  \underline {
    underline
  }
}

[image of music]

Used properties:

  • thickness (1)
\upright arg (markup)

Set font-shape to upright. This is the opposite of italic.

\markup {
  \italic {
    italic text
    \hspace #2
    \upright {
      upright text
    }
    \hspace #2
    italic again
  }
}

[image of music]


B.8.2 Align

\center-align arg (markup)

Align arg to its X center.

\markup {
  \column {
    one
    \center-align
    two
    three
  }
}

[image of music]

\center-column args (list of markups)

Put args in a centered column.

\markup {
  \center-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\column args (list of markups)

Stack the markups in args vertically. The property baseline-skip determines the space between markups in args.

\markup {
  \column {
    one
    two
    three
  }
}

[image of music]

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
}

[image of music]

\concat args (list of markups)

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

[image of music]

\dir-column args (list of markups)

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

[image of music]

Used properties:

  • baseline-skip
  • direction
\fill-line args (list of markups)

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

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

\hspace amount (number)

Create an invisible object taking up horizontal space amount.

\markup {
  one
  \hspace #2
  two
  \hspace #8
  three
}

[image of music]

\justify-field symbol (symbol)

Justify the data which has been assigned to symbol.

\header {
  title = "My title"
  description = "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:description
    }
  }
}

\markup {
  \null
}

[image of music]

\justify args (list of markups)

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

[image of music]

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

[image of music]

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

[image of music]

\left-column args (list of markups)

Put args in a left-aligned column.

\markup {
  \left-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\line args (list of markups)

Put args in a horizontal line. The property word-space determines the space between markups in args.

\markup {
  \line {
    one two three
  }
}

[image of music]

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
}

[image of music]

\pad-around amount (number) arg (markup)

Add padding amount all around arg.

\markup {
  \box {
    default
  }
  \hspace #2
  \box {
    \pad-around #0.5 {
      padded
    }
  }
}

[image of music]

\pad-markup amount (number) arg (markup)

Add space around a markup object.

\markup {
  \box {
    default
  }
  \hspace #2
  \box {
    \pad-markup #1 {
      padded
    }
  }
}

[image of music]

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

[image of music]

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

[image of music]

\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 the padding and/or extra-offset properties.

\markup {
  C
  \small
  \bold
  \raise #1.0
  9/7+
}

[image of music]

\right-align arg (markup)

Align arg on its right edge.

\markup {
  \column {
    one
    \right-align
    two
    three
  }
}

[image of music]

\right-column args (list of markups)

Put args in a right-aligned column.

\markup {
  \right-column {
    one
    two
    three
  }
}

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Used properties:

  • font-size (0)
\vcenter arg (markup)

Align arg to its Y center.

\markup {
  one
  \vcenter
  two
  three
}

[image of music]

\wordwrap-field symbol (symbol)

Wordwrap the data which has been assigned to symbol.

\header {
  title = "My title"
  description = "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:descr
    }
  }
}

\markup {
  \null
}

[image of music]

\wordwrap args (list of markups)

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

[image of music]

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

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width
  • baseline-skip

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

[image of music]

\beam width (number) slope (number) thickness (number)

Create a beam with the specified parameters.

\markup {
  \beam #5 #1 #2
}

[image of music]

\bracket arg (markup)

Draw vertical brackets around arg.

\markup {
  \bracket {
    \note #"2." #UP
  }
}

[image of music]

\circle arg (markup)

Draw a circle around arg. Use thickness, circle-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \circle {
    Hi
  }
}

[image of music]

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
}

[image of music]

\draw-line dest (pair of numbers)

A simple line.

\markup {
  \draw-line #'(4 . 4)
  \override #'(thickness . 5)
  \draw-line #'(-3 . 0)
}

[image of music]

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

[image of music]

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

[image of music]

\hbracket arg (markup)

Draw horizontal brackets around arg.

\markup {
  \hbracket {
    \line {
      one two three
    }
  }
}

[image of music]

\postscript str (string)

This inserts str directly into the output as a PostScript command string.

eyeglassesps = #"
  0.15 setlinewidth
  -0.9 0 translate
  1.1 1.1 scale
  1.2 0.7 moveto
  0.7 0.7 0.5 0 361 arc
  stroke
  2.20 0.70 0.50 0 361 arc
  stroke
  1.45 0.85 0.30 0 180 arc
  stroke
  0.20 0.70 moveto
  0.80 2.00 lineto
  0.92 2.26 1.30 2.40 1.15 1.70 curveto
  stroke
  2.70 0.70 moveto
  3.30 2.00 lineto
  3.42 2.26 3.80 2.40 3.65 1.70 curveto
  stroke"

eyeglasses = \markup {
  \with-dimensions #'(0 . 4.4) #'(0 . 2.5)
  \postscript #eyeglassesps
}

\relative c'' {
  c2^\eyeglasses
  a2_\eyeglasses
}

[image of music]

\rounded-box arg (markup)

Draw a box with rounded corners around arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup; the corner-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

[image of music]

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
}

[image of music]

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

[image of music]


B.8.4 Music

\doubleflat

Draw a double flat symbol.

\markup {
  \doubleflat
}

[image of music]

\doublesharp

Draw a double sharp symbol.

\markup {
  \doublesharp
}

[image of music]

\flat

Draw a flat symbol.

\markup {
  \flat
}

[image of music]

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

[image of music]

\natural

Draw a natural symbol.

\markup {
  \natural
}

[image of music]

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

[image of music]

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
}

[image of music]

Used properties:

  • style (’())
  • font-size (0)
\score score (unknown)

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

[image of music]

\semiflat

Draw a semiflat symbol.

\markup {
  \semiflat
}

[image of music]

\semisharp

Draw a semisharp symbol.

\markup {
  \semisharp
}

[image of music]

\sesquiflat

Draw a 3/2 flat symbol.

\markup {
  \sesquiflat
}

[image of music]

\sesquisharp

Draw a 3/2 sharp symbol.

\markup {
  \sesquisharp
}

[image of music]

\sharp

Draw a sharp symbol.

\markup {
  \sharp
}

[image of music]

\tied-lyric str (string)

Like simple-markup, but use tie characters for ‘~’ tilde symbols.

\markup {
  \tied-lyric #"Lasciate~i monti"
}

[image of music]


B.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 the f: 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) and space-after-divider (box spacing after the divider).

\markup \harp-pedal #"^-v|--ov^"

[image of music]

Used properties:

  • thickness (0.5)
  • harp-pedal-details
  • size (1.0)

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

[image of music]

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
}

[image of music]

\fraction arg1 (markup) arg2 (markup)

Make a fraction of two markups.

\markup {
  π ≈
  \fraction 355 113
}

[image of music]

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
}

[image of music]

\lookup glyph-name (string)

Lookup a glyph by name.

\markup {
  \override #'(font-encoding . fetaBraces) {
    \lookup #"brace200"
    \hspace #2
    \rotate #180
    \lookup #"brace180"
  }
}

[image of music]

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

[image of music]

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

[image of music]

\null

An empty markup with extents of a single point.

\markup {
  \null
}

[image of music]

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

[image of music]

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

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

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\stencil stil (unknown)

Use a stencil as markup.

\markup {
  \stencil #(make-circle-stencil 2 0 #t)
}

[image of music]

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

[image of music]

\verbatim-file name (string)

Read the contents of file name, and include it verbatim.

\markup {
  \verbatim-file #"simple.ly"
}

[image of music]

\whiteout arg (markup)

Provide a white background for arg.

\markup {
  \combine
    \filled-box #'(-1 . 10) #'(-3 . 4) #1
    \whiteout whiteout
}

[image of music]

\with-color color (list) 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
}

[image of music]

\with-dimensions x (pair of numbers) y (pair of numbers) arg (markup)

Set the dimensions of arg to x and y.


B.9 Text markup list commands

The following commands can all be used with \markuplines.

\column-lines args (list of markups)

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 (list of markups)

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 (list of markups)

Like \override, for markup lists.

\wordwrap-internal justify (boolean) args (list of markups)

Internal markup list command used to define \justify and \wordwrap.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
\wordwrap-lines args (list of markups)

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

B.10 List of articulations

He aquí un cuadro que muestra todas las articulaciones disponibles:

[image of music]


B.11 Percussion notes

[image of music]


B.12 All context properties

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 this Lyrics 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.

autoBeamSettings (list)

Specifies when automatically generated beams should begin and end. See behavior Setting automatic beam behavior for more information.

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 of BassFigureEvents, 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.

beatGrouping (list)

A list of beatgroups, e.g., in 5/8 time '(2 3).

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.

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.

gridInterval (moment)

Interval for which to generate GridPoints.

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.

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 instrument property labels the staff in the first system, and the instr 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 \quotes.

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 include melismaBusy, slurMelismaBusy, tieMelismaBusy, and beamMelismaBusy.

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 and clefGlyph.

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 and middleCOffset.

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.

noteToFretFunction (procedure)

How to produce a fret diagram. Parameters: A list of note events and a list of tabstring events.

ottavation (markup)

If set, the text for an ottava spanner. Changing this creates a new text spanner.

output (unknown)

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 or mixed (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.

recordEventSequence (procedure)

When Recording_group_engraver is in this context, then upon termination of the context, this function is called with current context and a list of music objects. The list of contains entries with start times, music objects and whether they are processed in this context.

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

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, or semitone.

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 or SystemStartBar.

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: string number, context and event. It returns the text as a 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.

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.


B.13 Layout properties

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.

add-stem-support (boolean)

If set, the Stem object is included in this script’s support.

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 around, inside, outside. If unset, scripts and slurs ignore each other. around only moves the script if there is a collision; outside always moves the script.

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.

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

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 (list)

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-fraction (number)

Size of the dashes, relative to dash-period. Should be between 0.0 (no line) and 1.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.

digit-names (unknown)

Names for string finger digits.

direction (direction)

If side-axis is 0 (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-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.

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’s StaffSymbol.

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

flag (unknown)

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 the flag-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 and Aybabtu) are using this property. Available values are fetaMusic (Emmentaler), fetaBraces (Aybabtu), fetaNumber (Emmentaler), and fetaDynamic (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 and font-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 in fret-diagram-details include the following:

  • barre-type – Type of barre indication used. Choices include curved, straight, and none. Default curved.
  • capo-thickness – Thickness of capo indicator, in multiples of fret-space. Default value 0.5.
  • dot-color – Color of dots. Options include black and white. Default black.
  • 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 include none, in-dot, and below-string. Default none for markup fret diagrams, below-string for FretBoards 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 include roman-lower, roman-upper, and arabic. Default roman-lower.
  • open-string – Character string to be used to indicate open string. Default "o".
  • orientation – Orientation of fret-diagram. Options include normal, landscape, and opposing-landscape. Default normal.
  • 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 for normal orientation, 0.5 for landscape and opposing-landscape.
  • string-thickness-factor – Factor for changing thickness of each string in the fret diagram. Thickness of string k is given by thickness * (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-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.

horizontal-shift (integer)

An integer that identifies ranking of NoteColumns for horizontal shifting. This is used by note-collision-interface.

horizontal-skylines (unknown)

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.

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 and 1 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 or allow.

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

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 a Tie, 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).

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 (layout object)

Object that is next relation (e.g., the lyric syllable following an extender).

no-alignment (boolean)

If set, don’t place this grob in a VerticalAlignment; rather, place it using its own Y-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-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 or allow.

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 or allow.

parenthesized (boolean)

Parenthesize this grob.

positions (pair of numbers)

Pair of staff coordinates (left . right), where both left and right are in staff-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, and 1 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 equivalently 0), the object is placed horizontally next to the other object. If the value is #Y or 1, 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 symbols minimum-space or extra-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-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 (unknown)

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 fot 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 use LEFT.

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.

threshold (pair of numbers)

(min . max), where min and max are dimensions in staff space.

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 (unknown)

Two skylines, one above and one below this grob.

when (moment)

Global time step associated with this column happen?

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.

zigzag-length (dimension, in staff space)

The length of the lines of a zigzag, relative to zigzag-width. A value of 1 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.


B.14 Identifiers

acciaccatura - music (music)

Create an acciaccatura from the following music expression

addChordShape - key-symbol (symbol) tuning (pair) shape-definition (unknown)

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 context ctx

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 (unknown)

Create a fall or doit of pitch interval delta.

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.

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.

includePageLayoutFile

Include the file <basename>-page-layout.ly. Deprecated as part of two-pass spacing.

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)

(undocumented; fixme)

noPageBreak

Forbid a page break. May be used at toplevel (ie between scores or markups), or inside a score.

noPageTurn

Forbid a page turn. May be used at toplevel (ie between scores or markups), or inside a score.

octaveCheck - pitch-note (music)

octave check

ottava - octave (number)

set the octavation

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 (ie between scores or markups), or inside a score.

pageTurn

Force a page turn between two scores or top-level markups.

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)

(undocumented; fixme)

pitchedTrill - main-note (music) secondary-note (music)

(undocumented; fixme)

pointAndClickOff

(undocumented; fixme)

pointAndClickOn

(undocumented; fixme)

quoteDuring - what (string) main-music (music)

(undocumented; fixme)

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.

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.

scoreTweak - name (string)

Include the score tweak, if exists.

shiftDurations - dur (integer) dots (integer) arg (music)

Scale arg up by a factor of 2^dur*(2-(1/2)^dots).

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 (unknown)

Add predefined fret diagram defined by diagram-definition for the chord pitches chord and the stringTuning tuning.

tag - tag (symbol) arg (music)

Add tag to the tags property of arg.

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 the tweaks property of arg.

unfoldRepeats - music (music)

(undocumented; fixme)

withMusicProperty - sym (symbol) val (any type) music (music)

Set sym to val in music.


B.15 Scheme functions

Function: dispatcher x

Is x a Dispatcher object?

Function: listener x

Is x a Listener object?

Function: ly:add-file-name-alist alist

Add mappings for error messages from alist.

Function: ly:add-interface a b c

Add an interface description.

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 with default val.

Function: ly:all-grob-interfaces

Get a hash table with all interface descriptions.

Function: ly:all-options

Get all option settings in an alist.

Function: ly:all-stencil-expressions

Return all symbols recognized as stencil expressions.

Function: ly:assoc-get key alist default-value

Return value if key in alist, else default-value (or #f if not specified).

Function: ly:book-add-bookpart! book-smob book-part

Add book_part to book-smob book part list.

Function: ly:book-add-score! book-smob score

Add score to book-smob score list.

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:box? x

Is x a Box object?

Function: ly:bp num

num bigpoints (1/72th inch).

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:broadcast disp ev

Send the stream event ev to the dispatcher disp.

Function: ly:camel-case->lisp-identifier name-sym

Convert FooBar_Bla to foo-bar-bla style symbol.

Function: ly:chain-assoc-get key achain dfault

Return value for key from a list of alists achain. If no entry is found, return dfault or #f if no dfault is specified.

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:cm num

num cm.

Function: ly:command-line-code

The Scheme code specified on command-line with ‘-e’.

Function: ly:command-line-options

The Scheme options specified on command-line with ‘-d’.

Function: ly:command-line-verbose?

Was be_verbose_global set?

Function: ly:connect-dispatchers to from

Make the dispatcher to listen to events from from.

Function: ly:context-event-source context

Return event-source of context context.

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 string one.

Function: ly:context-name context

Return the name of context, i.e., for \context Voice = one … return the symbol Voice.

Function: ly:context-now context

Return now-moment of context context.

Function: ly:context-parent context

Return the parent of context, #f if none.

Function: ly:context-property c name

Return the value of name from context c.

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:context-unset-property context name

Unset value of property name in context context.

Function: ly:context? x

Is x a Context object?

Function: ly:default-scale

Get the global default scale.

Function: ly:dimension? d

Return d as a number. Used to distinguish length variables from normal numbers.

Function: ly:dir? s

A type predicate. The direction s is -1, 0 or 1, where -1 represents left or down and 1 represents right or up.

Function: ly:duration->string dur

Convert dur to a string.

Function: ly:duration-dot-count dur

Extract the dot count from dur.

Function: ly:duration-factor dur

Extract the compression factor from dur. Return it as a pair.

Function: ly:duration-length dur

The length of the duration as a moment.

Function: ly:duration-log dur

Extract the duration log from dur.

Function: ly:duration<? p1 p2

Is p1 shorter than p2?

Function: ly:duration? x

Is x a Duration object?

Function: ly:effective-prefix

Return effective prefix.

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-deep-copy m

Copy m and all sub expressions of m.

Function: ly:event-property sev sym

Get the property sym of stream event mus. If sym is undefined, return '().

Function: ly:event-set-property! ev sym val

Set property sym in event ev to val.

Function: ly:expand-environment str

Expand $VAR and ${VAR} in str.

Function: ly:export arg

Export a Scheme object to the parser so it is treated as an identifier.

Function: ly:find-file name

Return the absolute file name of name, or #f if not found.

Function: ly:font-config-add-directory dir

Add directory dir to FontConfig.

Function: ly:font-config-add-font font

Add font font to FontConfig.

Function: ly:font-config-display-fonts

Dump a list of all fonts visible to FontConfig.

Function: ly:font-config-get-font-file name

Get the file for font name.

Function: ly:font-design-size font

Given the font metric font, return the design size, relative to the current output-scale.

Function: ly:font-file-name font

Given the font metric font, return the corresponding file name.

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 Aybabtu fonts, corresponding to the font encodings fetaMusic and fetaBraces, 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 Aybabtu fonts, corresponding to the font encodings fetaMusic and fetaBraces, 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 Aybabtu fonts, corresponding to the font encodings fetaMusic and fetaBraces, 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 Aybabtu fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-magnification font

Given the font metric font, return the magnification, relative to the current output-scale.

Function: ly:font-metric? x

Is x a Font_metric object?

Function: ly:font-name font

Given the font metric font, return the corresponding name.

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.

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-all-translators

Return a list of all translator objects that may be instantiated.

Function: ly:get-glyph font index

Retrieve a stencil for the glyph numbered 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 Aybabtu fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:get-listened-event-classes

Return a list of all event classes that some translator listens to.

Function: ly:get-option var

Get a global option setting.

Function: ly:gettext original

A Scheme wrapper function for gettext.

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-array-length grob-arr

Return the length of grob-arr.

Function: ly:grob-array-ref grob-arr index

Retrieve the indexth element of grob-arr.

Function: ly:grob-array? x

Is x a Grob_array object?

Function: ly:grob-basic-properties grob

Get the immutable properties of grob.

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-default-font grob

Return the default font for grob gr.

Function: ly:grob-extent grob refp axis

Get the extent in axis direction of grob relative to the grob refp.

Function: ly:grob-interfaces grob

Return the interfaces list of grob grob.

Function: ly:grob-layout grob

Get \layout definition from grob grob.

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-original grob

Return the unbroken original grob of grob.

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-pq<? a b

Compare two grob priority queue entries. This is an internal function.

Function: ly:grob-properties grob

Get the mutable properties of grob.

Function: ly:grob-property grob sym deflt

Return the value of a value in grob g of property sym. It returns '() (end-of-list) or deflt (if specified) if sym is undefined in g.

Function: ly:grob-property-data grob sym

Retrieve sym for grob but don’t 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-script-priority-less a b

Compare two grobs by script priority. For internal use.

Function: ly:grob-set-property! grob sym val

Set sym in grob grob to value val.

Function: ly:grob-staff-position sg

Return the Y-position of sg relative to the staff.

Function: ly:grob-suicide! grob

Kill grob.

Function: ly:grob-system grob

Return the system grob of grob.

Function: ly:grob-translate-axis! grob d a

Translate g on axis a over distance d.

Function: ly:grob? x

Is x a Grob object?

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:hash-table-keys tab

Return a list of keys in tab.

Function: ly:inch num

num inches.

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-location? x

Is x an input-location?

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:intlog2 d

The 2-logarithm of 1/d.

Function: ly:is-listened-event-class sym

Is sym a listened event class?

Function: ly:item-break-dir it

The break status direction of item it. -1 means end of line, 0 unbroken, and 1 beginning of line.

Function: ly:item? g

Is g an Item object?

Function: ly:iterator? x

Is x a Music_iterator object?

Function: ly:lexer-keywords lexer

Return a list of (KEY . CODE) pairs, signifying the LilyPond reserved words list.

Function: ly:lily-lexer? x

Is x a Lily_lexer object?

Function: ly:lily-parser? x

Is x a Lily_parser object?

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-book-part scores

Make a \bookpart containing \scores.

Function: ly:make-dispatcher

Return a newly created dispatcher.

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 (mg), 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, and signature describes its arguments. signature is a list containing either ly:music? predicates or other type predicates.

Function: ly:make-output-def

Make an output definition.

Function: ly:make-page-label-marker label

Return page marker with label.

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-prob type init rest

Create a Prob object.

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-score music

Return score with music encapsulated in score.

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:

  1. A specification of how to print this object. This specification is processed by the output backends, for example ‘scm/output-ps.scm’.
  2. 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:mm num

num mm.

Function: ly:module->alist mod

Dump the contents of module mod as an alist.

Function: ly:module-copy dest src

Copy all bindings from module src into dest.

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:moment-add a b

Add two moments.

Function: ly:moment-div a b

Divide two moments.

Function: ly:moment-grace-denominator mom

Extract denominator from grace timing.

Function: ly:moment-grace-numerator mom

Extract numerator from grace timing.

Function: ly:moment-main-denominator mom

Extract denominator from main timing.

Function: ly:moment-main-numerator mom

Extract numerator from main timing.

Function: ly:moment-mod a b

Modulo of two moments.

Function: ly:moment-mul a b

Multiply two moments.

Function: ly:moment-sub a b

Subtract two moments.

Function: ly:moment<? a b

Compare two moments.

Function: ly:moment? x

Is x a Moment object?

Function: ly:music-compress m factor

Compress music object m by moment factor.

Function: ly:music-deep-copy m

Copy m and all sub expressions of m.

Function: ly:music-duration-compress mus fact

Compress mus by factor fact, which is a Moment.

Function: ly:music-duration-length mus

Extract the duration field from mus and return the length.

Function: ly:music-function-extract x

Return the Scheme function inside x.

Function: ly:music-function? x

Is x a music-function?

Function: ly:music-length mus

Get the length of music expression mus and return it as a Moment object.

Function: ly:music-list? lst

Type predicate: Return true if lst is a list of music objects.

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-output? x

Is x a Music_output object?

Function: ly:music-property mus sym dfault

Get the property sym of music expression mus. If sym is undefined, return '().

Function: ly:music-set-property! mus sym val

Set property sym in music expression mus to val.

Function: ly:music-transpose m p

Transpose m such that central C is mapped to p. Return m.

Function: ly:music? obj

Type predicate.

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:number->string s

Convert num to a string without generating many decimals.

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:option-usage

Print ly:set-option usage.

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:otf-font? font

Is font an OpenType font?

Function: ly:otf-glyph-list font

Return a list of glyph names for font.

Function: ly:output-def-clone def

Clone output definition def.

Function: ly:output-def-lookup pap sym def

Look up sym in the pap output definition (e.g., \paper). Return the value or def (which defaults to '()) if undefined.

Function: ly:output-def-parent def

Get the parent output definition of def.

Function: ly:output-def-scope def

Get the variable scope inside def.

Function: ly:output-def-set-variable! def sym val

Set an output definition def variable sym to val.

Function: ly:output-def? def

Is def a layout definition?

Function: ly:output-description output-def

Return the description of translators in output-def.

Function: ly:output-formats

Formats passed to ‘--format’ as a list of strings, used for the output.

Function: ly:outputter-close outputter

Close port of outputter.

Function: ly:outputter-dump-stencil outputter stencil

Dump stencil expr onto outputter.

Function: ly:outputter-dump-string outputter str

Dump str onto outputter.

Function: ly:outputter-output-scheme outputter expr

Eval expr in module of outputter.

Function: ly:outputter-port outputter

Return output port for outputter.

Function: ly:page-marker? x

Is x a Page_marker object?

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:pango-font? f

Is f a pango font?

Function: ly:paper-book-pages pb

Return pages in book pb.

Function: ly:paper-book-paper pb

Return pages in book pb.

Function: ly:paper-book-performances paper-book

Return performances in book paper-book.

Function: ly:paper-book-scopes book

Return scopes in layout book book.

Function: ly:paper-book-systems pb

Return systems in book pb.

Function: ly:paper-book? x

Is x a Paper_book object?

Function: ly:paper-fonts bp

Return fonts from the \paper block bp.

Function: ly:paper-get-font paper-smob chain

Return a font metric satisfying the font-qualifiers in the alist chain chain. (An alist chain is a list of alists, containing grob properties.)

Function: ly:paper-get-number layout-smob name

Return the layout variable name.

Function: ly:paper-outputscale bp

Get output-scale for bp.

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:paper-system? obj

Type predicate.

Function: ly:parse-file name

Parse a single .ly file. Upon failure, throw ly-file-failed key.

Function: ly:parser-clear-error parser

Clear the error flag for the parser.

Function: ly:parser-clone parser-smob

Return a clone of parser-smob.

Function: ly:parser-define! parser-smob symbol val

Bind symbol to val in parser-smob’s module.

Function: ly:parser-error parser msg input

Display an error message and make the parser fail.

Function: ly:parser-has-error? parser

Does parser have an error flag?

Function: ly:parser-lexer parser-smob

Return the lexer for parser-smob.

Function: ly:parser-lookup parser-smob symbol

Look up symbol in parser-smob’s module. Return '() if not defined.

Function: ly:parser-output-name parser

Return the base name of the output file.

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:performance-write performance filename

Write performance to filename.

Function: ly:pfb->pfa pfb-file-name

Convert the contents of a PFB file to PFA.

Function: ly:pitch-alteration pp

Extract the alteration from pitch pp.

Function: ly:pitch-diff pitch root

Return pitch delta such that pitch transposed by delta equals root.

Function: ly:pitch-negate p

Negate p.

Function: ly:pitch-notename pp

Extract the note name from pitch pp.

Function: ly:pitch-octave pp

Extract the octave from pitch pp.

Function: ly:pitch-quartertones pp

Calculate the number of quarter tones of pp from middle C.

Function: ly:pitch-semitones pp

Calculate the number of semitones of pp from middle C.

Function: ly:pitch-steps p

Number of steps counted from middle C of the pitch p.

Function: ly:pitch-transpose p delta

Transpose p by the amount delta, where delta is relative to middle C.

Function: ly:pitch<? p1 p2

Is p1 lexicographically smaller than p2?

Function: ly:pitch? x

Is x a Pitch object?

Function: ly:position-on-line? sg spos

Return whether pos is on a line of the staff associated with the the grob sg (even on an extender line).

Function: ly:prob-immutable-properties prob

Retrieve an alist of mutable properties.

Function: ly:prob-mutable-properties prob

Retrieve an alist of mutable properties.

Function: ly:prob-property obj sym dfault

Return the value for sym.

Function: ly:prob-property? obj sym

Is boolean prop sym set?

Function: ly:prob-set-property! obj sym value

Set property sym of obj to value.

Function: ly:prob-type? obj type

Is obj the specified prob-type?

Function: ly:prob? x

Is x a Prob object?

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, and context.

Function: ly:protects

Return hash of protected objects.

Function: ly:pt num

num printer points.

Function: ly:register-stencil-expression symbol

Add symbol as head of a stencil expression.

Function: ly:relative-group-extent elements common axis

Determine the extent of elements relative to common in the axis direction.

Function: ly:reset-all-fonts

Forget all about previously loaded fonts.

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-add-output-def! score def

Add an output definition def to score.

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. This function takes an optional Object_key argument.

Function: ly:score-error? score

Was there an error in the score?

Function: ly:score-header score

Return score header.

Function: ly:score-music score

Return score music.

Function: ly:score-output-defs score

All output definitions in a score.

Function: ly:score-set-header! score module

Set the score header.

Function: ly:score? x

Is x a Score object?

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 variables middleCClefPosition and middleCOffset.

Function: ly:set-option var val

Set a program option.

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:simple-closure? clos

Type predicate.

Function: ly:skyline-pair? x

Is x a Skyline_pair object?

Function: ly:skyline? x

Is x a Skyline object?

Function: ly:smob-protects

Return LilyPond’s internal smob protection list.

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:source-file? x

Is x a Source_file object?

Function: ly:spanner-bound spanner dir

Get one of the bounds of spanner. dir is -1 for left, and 1 for right.

Function: ly:spanner-broken-into spanner

Return broken-into list for spanner.

Function: ly:spanner? g

Is g a spanner object?

Function: ly:staff-symbol-line-thickness grob

Returns the line-thickness 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:stderr-redirect file-name mode

Redirect stderr to file-name, opened with mode.

Function: ly:stencil-add args

Combine stencils. Takes any number of arguments.

Function: ly:stencil-aligned-to stil axis dir

Align stil using its own extents. dir is a number. -1 and 1 are left and right, respectively. Other values are interpolated (so 0 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-empty? stil

Return whether stil is empty.

Function: ly:stencil-expr stil

Return the expression of stil.

Function: ly:stencil-extent stil axis

Return a pair of numbers signifying the extent of stil in axis direction (0 or 1 for x and y axis, respectively).

Function: ly:stencil-fonts s

Analyze s, and return a list of fonts used in s.

Function: ly:stencil-in-color stc r g b

Put stc in a different color.

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:stencil? x

Is x a Stencil object?

Function: ly:stream-event? x

Is x a Stream_event object?

Function: ly:string-substitute a b s

Replace string a by string b in string s.

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, and LILY, needed for typesetting musical elements. Currently, only the Emmentaler and the Aybabtu 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:system-print system

Draw the system and return the prob containing its stencil.

Function: ly:system-stretch system amount-scm

Stretch the system vertically by the given amount. This must be called before the system is drawn (for example with ly:system-print).

Function: ly:text-dimension font text

Given the font metric in font and the string text, compute the extents of that text in that font. The return value is a pair of number-pairs.

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 with ly: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-description me

Return an alist of properties of translator me.

Function: ly:translator-group? x

Is x a Translator_group object?

Function: ly:translator-name trans

Return the type name of the translator object trans. The name is a symbol.

Function: ly:translator? x

Is x a Translator object?

Function: ly:transpose-key-alist l pit

Make a new key alist of l transposed by pitch pit.

Function: ly:truncate-list! lst i

Take at most the first i of list lst.

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

Return the unit used for lengths as a string.

Function: ly:usage

Print usage message.

Function: ly:version

Return the current lilypond version as a list, e.g., (1 3 127 uu1).

Function: ly:warning str rest

A Scheme callable function to issue the warning str. The message is formatted with format and rest.

Function: ly:wide-char->utf-8 wc

Encode the Unicode codepoint wc, an integer, as UTF-8.


C. Cheat sheet

Sintaxis

Descripción

Ejemplo

1 2 8 16

duraciones

[image of music]

c4. c4..

puntillos

[image of music]

c d e f g a b

escala

[image of music]

fis bes

alteración

[image of music]

\clef treble \clef bass

claves

[image of music]

\time 3/4 \time 4/4

compás

[image of music]

r4 r8

silencio

[image of music]

d ~ d

ligadura de unión

[image of music]

\key es \major

armadura

[image of music]

note'

subir una octava

[image of music]

note,

bajar una octava

[image of music]

c( d e)

ligadura de expresión

[image of music]

c\( c( d) e\)

ligadura de fraseo

[image of music]

a8[ b]

barra

[image of music]

<< \new Staff ... >>

más pentagramas

[image of music]

c-> c-.

articulaciones

[image of music]

c2\mf c\sfz

matices dinámicos

[image of music]

a\< a a\!

crescendo

[image of music]

a\> a a\!

decrescendo

[image of music]

< >

acorde

[image of music]

\partial 8

anacrusa

[image of music]

\times 2/3 {f g a}

tresillos

[image of music]

\grace

mordentes

[image of music]

\lyricmode { twinkle }

escribir la letra

twinkle

\new Lyrics

imprimir la letra

[image of music]

twin -- kle

separador de sílabas

[image of music]

\chordmode { c:dim f:maj7 }

acordes

[image of music]

\context ChordNames

imprimir los nombres de los acordes

[image of music]

<<{e f} \\ {c d}>>

polifonía

[image of music]

s4 s8 s16

silencios de separación


D. GNU Free Documentation License

Version 1.1, March 2000

 
Copyright © 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA  02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
  1. PREAMBLE

    The purpose of this License is to make a manual, textbook, or other written 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.

  2. APPLICABILITY AND DEFINITIONS

    This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The ‘Document’, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as ‘you’.

    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. (For example, 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.

    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 ‘Transparent’ copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and 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 has been designed to thwart or discourage subsequent modification by readers is not Transparent. 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 designed for human modification. Opaque formats include PostScript, PDF, 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 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.

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

  4. COPYING IN QUANTITY

    If you publish printed copies 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 publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. 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.

  5. 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:

    1. 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.
    2. 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 less than five).
    3. State on the Title page the name of the publisher of the Modified Version, as the publisher.
    4. Preserve all the copyright notices of the Document.
    5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
    6. 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.
    7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
    8. Include an unaltered copy of this License.
    9. Preserve the section entitled ‘History’, and 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.
    10. 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.
    11. In any section entitled ‘Acknowledgments’ or ‘Dedications’, preserve the section’s title, and preserve in the section all the substance and tone of each of the contributor acknowledgments and/or dedications given therein.
    12. 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.
    13. Delete any section entitled ‘Endorsements’. Such a section may not be included in the Modified Version.
    14. Do not retitle any existing section as ‘Endorsements’ or to conflict in title with any Invariant Section.

    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.

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

    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 ‘Acknowledgments’, and any sections entitled ‘Dedications’. You must delete all sections entitled ‘Endorsements.’

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

  8. 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, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an ‘aggregate’, and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they 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 quarter of the entire aggregate, the Document’s Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.

  9. 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 provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.

  10. TERMINATION

    You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

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

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.1
  or any later version published by the Free Software Foundation;
  with the Invariant Sections being list their titles, with the
  Front-Cover Texts being list, and with the Back-Cover Texts being list.
  A copy of the license is included in the section entitled ‘GNU
  Free Documentation License’.

If you have no Invariant Sections, write ‘with no Invariant Sections’ instead of saying which ones are invariant. If you have no Front-Cover Texts, write ‘no Front-Cover Texts’ instead of ‘Front-Cover Texts being list’; likewise for Back-Cover Texts.

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.


E. LilyPond command index

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   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  
Entrada de índice Sección

!
!Accidentals

'
Absolute octave entry

(
(begin * * * *)Setting automatic beam behavior
(end * * * *)Setting automatic beam behavior

,
,Absolute octave entry

-
-Articulations and ornamentations

.
.Durations

/
/Extended and altered chords
/+Extended and altered chords

:
:Tremolo repeats

<
<Chorded notes
<...>Chorded notes

=
=Octave checks

>
>Chorded notes

?
?Accidentals

[
[Manual beams

\
\!Dynamics
\(Phrasing slurs
\)Phrasing slurs
\<Dynamics
\>Dynamics
\abs-fontsizeB.8.1 Font
\accepts5.1.5 Defining new contexts
\accepts5.1.6 Aligning contexts
\addChordShapePredefined fret diagrams
\addInstrumentDefinitionInstrument names
\addlyrics2.1.3 Aligning lyrics to a melody
\addQuoteQuoting other voices
\aeolianKey signature
\afterGraceGrace notes
\afterGraceGrace notes
\aikenHeadsShape note heads
\allowPageTurnInstrucciones predefinidas
\alternative1.4.1 Long repeats
\AncientRemoveEmptyStaffContextHiding staves
\applyContext6.5.1 Context evaluation
\applyOutput6.5.2 Running a function on all layout objects
\arpeggioArpeggio
\arpeggioInstrucciones predefinidas
\arpeggioArrowDownArpeggio
\arpeggioArrowDownInstrucciones predefinidas
\arpeggioArrowUpArpeggio
\arpeggioArrowUpInstrucciones predefinidas
\arpeggioBracketArpeggio
\arpeggioBracketInstrucciones predefinidas
\arpeggioNormalArpeggio
\arpeggioNormalInstrucciones predefinidas
\arpeggioParenthesisArpeggio
\arrow-headGraphic notation inside markup
\arrow-headB.8.3 Graphic
\ascendensGregorian square neume ligatures
\ascendensInstrucciones predefinidas
\auctumGregorian square neume ligatures
\auctumInstrucciones predefinidas
\augmentumInstrucciones predefinidas
\autoBeamOffAutomatic beams
\autoBeamOffFragmentos de código seleccionados
\autoBeamOnAutomatic beams
\autoBeamOnFragmentos de código seleccionados
\autochangeChanging staff automatically
\backslashed-digitB.8.6 Other
\balloonGrobTextBalloon help
\balloonLengthOffBalloon help
\balloonLengthOnBalloon help
\balloonTextBalloon help
\barBar lines
\barFragmentos de código seleccionados
\barNumberCheckBar and bar number checks
\beamB.8.3 Graphic
\bendAfterFalls and doits
\boldSelecting font and font size
\boldB.8.1 Font
\book3.1.2 Multiple scores in a book
\book3.1.2 Multiple scores in a book
\book3.1.3 File structure
\bookpart3.1.2 Multiple scores in a book
\bookpart3.1.3 File structure
\bookpart4.3.2 Page breaking
\boxGraphic notation inside markup
\boxB.8.1 Font
\bracketNew dynamic marks
\bracketGraphic notation inside markup
\bracketB.8.3 Graphic
\breakInstrucciones predefinidas
\breatheBreath marks
\breveDurations
\breveRests
\cadenzaOffUnmetered music
\cadenzaOnUnmetered music
\caesuraInstrucciones predefinidas
\capsB.8.1 Font
\cavumGregorian square neume ligatures
\cavumInstrucciones predefinidas
\center-alignText alignment
\center-alignB.8.2 Align
\center-columnText alignment
\center-columnB.8.2 Align
\changeChanging staff manually
\charB.8.6 Other
\chordmodeVéase también
\chordmodeVéase también
\chordmodePredefined fret diagrams
\circleGraphic notation inside markup
\circleB.8.3 Graphic
\clefClef
\cm5.4.3 Distances and measurements
\columnText alignment
\columnB.8.2 Align
\column-linesB.9 Text markup list commands
\combineGraphic notation inside markup
\combineB.8.2 Align
\compressFullBarRestsFull measure rests
\concatB.8.2 Align
\context5.1.2 Creating contexts
\crDynamics
\crescHairpinDynamics
\crescTextCrescDynamics
\cueDuringFormatting cue notes
\decrDynamics
\defaultTimeSignatureTime signature
\deminutumGregorian square neume ligatures
\deminutumInstrucciones predefinidas
\denies5.1.5 Defining new contexts
\denies5.1.6 Aligning contexts
\descendensGregorian square neume ligatures
\descendensInstrucciones predefinidas
\dimHairpinDynamics
\dimTextDecrDynamics
\dimTextDecrescDynamics
\dimTextDimDynamics
\dir-columnB.8.2 Align
\displayLilyMusic3.3.4 Displaying LilyPond notation
\displayLilyMusic6.3.2 Music properties
\displayMusic6.3.1 Displaying music expressions
\divisioMaiorInstrucciones predefinidas
\divisioMaximaInstrucciones predefinidas
\divisioMinimaInstrucciones predefinidas
\dorianKey signature
\dotsDownDurations
\dotsNeutralDurations
\dotsUpDurations
\doubleflatB.8.4 Music
\doublesharpB.8.4 Music
\downbowBowing indications
\draw-circleGraphic notation inside markup
\draw-circleB.8.3 Graphic
\draw-lineGraphic notation inside markup
\draw-lineB.8.3 Graphic
\drummodeInstantiating new staves
\dynamicNew dynamic marks
\dynamicB.8.1 Font
\dynamicDownDynamics
\dynamicNeutralDynamics
\dynamicUpDynamics
\easyHeadsOffEasy notation note heads
\easyHeadsOnEasy notation note heads
\epsfileGraphic notation inside markup
\epsfileB.8.3 Graphic
\espressivoDynamics
\expandFullBarRestsFull measure rests
\fDynamics
\featherDurationsFeathered beams
\fermataMarkupFull measure rests
\ffDynamics
\fffDynamics
\ffffDynamics
\fill-lineText alignment
\fill-lineB.8.2 Align
\filled-boxGraphic notation inside markup
\filled-boxB.8.3 Graphic
\finalisInstrucciones predefinidas
\fingerFingering instructions
\fingerB.8.1 Font
\flatB.8.4 Music
\flexaInstrucciones predefinidas
\fontCapsB.8.1 Font
\fontsizeSelecting font and font size
\fontsizeB.8.1 Font
\fpDynamics
\fractionB.8.6 Other
\frenchChordsInstrucciones predefinidas
\fret-diagramFret diagram markups
\fret-diagramB.8.5 Instrument Specific Markup
\fret-diagram-terseFret diagram markups
\fret-diagram-terseB.8.5 Instrument Specific Markup
\fret-diagram-verboseFret diagram markups
\fret-diagram-verboseB.8.5 Instrument Specific Markup
\frompropertyB.8.6 Other
\general-alignText alignment
\general-alignB.8.2 Align
\germanChordsInstrucciones predefinidas
\glissandoGlissando
\graceGrace notes
\halignText alignment
\halignB.8.2 Align
\harmonicHarmonics
\harp-pedalB.8.5 Instrument Specific Markup
\hbracketGraphic notation inside markup
\hbracketB.8.3 Graphic
\hcenter-inB.8.2 Align
\header3.1.3 File structure
\hideKeySignatureBagpipe definitions
\hideNotesHidden notes
\hideStaffSwitchStaff-change lines
\hspaceB.8.2 Align
\hugeSelecting notation font size
\hugeInstrucciones predefinidas
\hugeB.8.1 Font
\improvisationOffImprovisation
\improvisationOffShowing melody rhythms
\improvisationOnImprovisation
\improvisationOnShowing melody rhythms
\in5.4.3 Distances and measurements
\inclinatumGregorian square neume ligatures
\inclinatumInstrucciones predefinidas
\include3.3.1 Including LilyPond files
\instrumentSwitchInstrument names
\ionianKey signature
\italianChordsInstrucciones predefinidas
\italicSelecting font and font size
\italicB.8.1 Font
\justified-linesB.9 Text markup list commands
\justifyText alignment
\justifyB.8.2 Align
\justify-fieldB.8.2 Align
\justify-stringB.8.2 Align
\keepWithTagUsing tags
\keyKey signature
\keyShape note heads
\killCuesFormatting cue notes
\labelInstrucciones predefinidas
\laissezVibrerTies
\largeSelecting notation font size
\largeInstrucciones predefinidas
\largeB.8.1 Font
\largerSelecting font and font size
\largerInstrucciones predefinidas
\largerB.8.1 Font
\layout3.1.3 File structure
\layout4.2.2 Score layout
\left-alignText alignment
\left-alignB.8.2 Align
\left-columnB.8.2 Align
\lineB.8.2 Align
\lineaGregorian square neume ligatures
\lineaInstrucciones predefinidas
\locrianKey signature
\longaDurations
\longaRests
\lookupB.8.6 Other
\lowerText alignment
\lowerB.8.2 Align
\lydianKey signature
\lyricmodeLyrics explained
\lyricmode2.1.3 Aligning lyrics to a melody
\lyricsto2.1.3 Aligning lyrics to a melody
\magnifySelecting font and font size
\magnifyB.8.1 Font
\majorKey signature
\makeClustersClusters
\markRehearsal marks
\markText marks
\markalphabetB.8.6 Other
\markletterB.8.6 Other
\markupSeparate text
\markupText markup introduction
\markuplinesInstrucciones predefinidas
\markuplinesInstrucciones predefinidas
\maximaDurations
\maximaRests
\mediumB.8.1 Font
\melismaInstrucciones predefinidas
\melismaEndInstrucciones predefinidas
\mergeDifferentlyDottedOffCollision resolution
\mergeDifferentlyDottedOnCollision resolution
\mergeDifferentlyHeadedOffCollision resolution
\mergeDifferentlyHeadedOnCollision resolution
\mfDynamics
\midi3.1.3 File structure
\minorKey signature
\mixolydianKey signature
\mm5.4.3 Distances and measurements
\mpDynamics
\musicglyphRehearsal marks
\musicglyphB.8.4 Music
\naturalB.8.4 Music
\new5.1.2 Creating contexts
\noBeamManual beams
\noBreakInstrucciones predefinidas
\noPageBreakInstrucciones predefinidas
\noPageTurnInstrucciones predefinidas
\normal-size-subB.8.1 Font
\normal-size-superB.8.1 Font
\normal-textB.8.1 Font
\normalsizeSelecting notation font size
\normalsizeInstrucciones predefinidas
\normalsizeB.8.1 Font
\noteB.8.4 Music
\note-by-numberB.8.4 Music
\nullB.8.6 Other
\numberB.8.1 Font
\numericTimeSignatureTime signature
\octaveCheckOctave checks
\on-the-flyB.8.6 Other
\oneVoiceSingle-staff polyphony
\openBowing indications
\oriscusGregorian square neume ligatures
\oriscusInstrucciones predefinidas
\ottavaOttava brackets
\override5.3.3 The \override command
\overrideB.8.6 Other
\override-linesB.9 Text markup list commands
\pDynamics
\pad-aroundGraphic notation inside markup
\pad-aroundB.8.2 Align
\pad-markupGraphic notation inside markup
\pad-markupB.8.2 Align
\pad-to-boxGraphic notation inside markup
\pad-to-boxB.8.2 Align
\pad-xGraphic notation inside markup
\pad-xB.8.2 Align
\page-refInstrucciones predefinidas
\page-refB.8.6 Other
\pageBreakInstrucciones predefinidas
\pageTurnInstrucciones predefinidas
\paper3.1.3 File structure
\paperVertical dimensions
\parallelMusicWriting music in parallel
\parenthesizeParentheses
\partcombineAutomatic part combining
\partialUpbeats
\partial1.4.1 Long repeats
\partialNormal repeats
\pesInstrucciones predefinidas
\phrasingSlurDashedPhrasing slurs
\phrasingSlurDottedPhrasing slurs
\phrasingSlurDownPhrasing slurs
\phrasingSlurNeutralPhrasing slurs
\phrasingSlurSolidPhrasing slurs
\phrasingSlurUpPhrasing slurs
\phrygianKey signature
\pitchedTrillTrills
\postscriptGraphic notation inside markup
\postscriptB.8.3 Graphic
\ppDynamics
\pppDynamics
\ppppDynamics
\predefinedFretboardsOffAutomatic fret diagrams
\predefinedFretboardsOnAutomatic fret diagrams
\property dentro de \lyricmodeLyrics explained
\pt5.4.3 Distances and measurements
\put-adjacentB.8.2 Align
\quilismaGregorian square neume ligatures
\quilismaInstrucciones predefinidas
\quoteDuringQuoting other voices
\raiseText alignment
\raiseB.8.2 Align
\relativeRelative octave entry
\relativeVéase también
\relativeVéase también
\relativeChanging staff automatically
\RemoveEmptyRhythmicStaffContextHiding staves
\RemoveEmptyStaffContextHiding staves
\RemoveEmptyStaffContextHiding staves
\removeWithTagUsing tags
\repeat1.4.1 Long repeats
\repeat percentPercent repeats
\repeat tremoloTremolo repeats
\repeatTieTies
\repeatTieNormal repeats
\restRests
\rfzDynamics
\right-alignText alignment
\right-alignB.8.2 Align
\right-columnB.8.2 Align
\rightHandFingerRight-hand fingerings
\romanB.8.1 Font
\rotateB.8.2 Align
\rounded-boxGraphic notation inside markup
\rounded-boxB.8.3 Graphic
\sacredHarpHeadsShape note heads
\sansB.8.1 Font
\scaleDurationsScaling durations
\scaleDurationsPolymetric notation
\score3.1.1 Structure of a score
\score3.1.3 File structure
\scoreB.8.4 Music
\semiflatB.8.4 Music
\semiGermanChordsInstrucciones predefinidas
\semisharpB.8.4 Music
\sesquiflatB.8.4 Music
\sesquisharpB.8.4 Music
\setSetting automatic beam behavior
\set5.3.2 The \set command
\sfDynamics
\sffDynamics
\sfzDynamics
\sharpB.8.4 Music
\shiftOffCollision resolution
\shiftOnCollision resolution
\shiftOnnCollision resolution
\shiftOnnnCollision resolution
\showKeySignatureBagpipe definitions
\showStaffSwitchStaff-change lines
\simpleB.8.1 Font
\skipInvisible rests
\slashed-digitB.8.6 Other
\slurDashedSlurs
\slurDottedSlurs
\slurDownSlurs
\slurNeutralSlurs
\slurSolidSlurs
\slurUpSlurs
\smallSelecting notation font size
\smallInstrucciones predefinidas
\smallB.8.1 Font
\smallCapsB.8.1 Font
\smallerSelecting font and font size
\smallerInstrucciones predefinidas
\smallerB.8.1 Font
\sostenutoOffPiano pedals
\sostenutoOnPiano pedals
\spDynamics
\sppDynamics
\startGroupAnalysis brackets
\startStaffStaff symbol
\startStaffOssia staves
\startTrillSpanTrills
\stemDownStems
\stemNeutralStems
\stemUpStems
\stencilB.8.6 Other
\stopGroupAnalysis brackets
\stopStaffStaff symbol
\stopStaffOssia staves
\stopTrillSpanTrills
\storePredefinedDiagramPredefined fret diagrams
\strophaGregorian square neume ligatures
\strophaInstrucciones predefinidas
\strutB.8.6 Other
\subSelecting font and font size
\subB.8.1 Font
\superSelecting font and font size
\superB.8.1 Font
\sustainOffPiano pedals
\sustainOnPiano pedals
\table-of-contentsInstrucciones predefinidas
\tagUsing tags
\taorBagpipe definitions
\teenySelecting notation font size
\teenyInstrucciones predefinidas
\teenyB.8.1 Font
\tempoMetronome marks
\textB.8.1 Font
\textLengthOffInstrucciones predefinidas
\textLengthOnInstrucciones predefinidas
\thumbFingering instructions
\tied-lyricB.8.4 Music
\tieDashedTies
\tieDottedTies
\tieDownTies
\tieNeutralTies
\tieSolidTies
\tieUpTies
\timeTime signature
\timeSetting automatic beam behavior
\timesTuplets
\timesPolymetric notation
\tinySelecting notation font size
\tinyInstrucciones predefinidas
\tinyB.8.1 Font
\tocItemInstrucciones predefinidas
\translateText alignment
\translateB.8.2 Align
\translate-scaledText alignment
\translate-scaledB.8.2 Align
\transparentB.8.6 Other
\transposeVéase también
\transposeTranspose
\transposeVéase también
\transposedCueDuringFormatting cue notes
\transpositionInstrument transpositions
\transpositionQuoting other voices
\treCordePiano pedals
\triangleGraphic notation inside markup
\triangleB.8.3 Graphic
\trillTrills
\tupletDownTuplets
\tupletNeutralTuplets
\tupletUpTuplets
\tweak5.3.4 The \tweak command
\typewriterB.8.1 Font
\unaCordaPiano pedals
\underlineSelecting font and font size
\underlineB.8.1 Font
\unfoldRepeats3.5.4 Repeats in MIDI
\unHideNotesHidden notes
\unset5.3.2 The \set command
\upbowBowing indications
\uprightB.8.1 Font
\vcenterB.8.2 Align
\verbatim-fileB.8.6 Other
\virgaGregorian square neume ligatures
\virgaInstrucciones predefinidas
\virgulaInstrucciones predefinidas
\voiceFourStyleVoice styles
\voiceNeutralStyleVoice styles
\voiceOneSingle-staff polyphony
\voiceOne ... \voiceFourSingle-staff polyphony
\voiceOneStyleVoice styles
\voiceThreeStyleVoice styles
\voiceTwoStyleVoice styles
\whiteoutB.8.6 Other
\with5.1.3 Modifying context plug-ins
\with-colorColoring objects
\with-colorB.8.6 Other
\with-dimensionsB.8.6 Other
\with-urlB.8.3 Graphic
\wordwrapText alignment
\wordwrapB.8.2 Align
\wordwrap-fieldB.8.2 Align
\wordwrap-internalB.9 Text markup list commands
\wordwrap-linesB.9 Text markup list commands
\wordwrap-stringB.8.2 Align
\wordwrap-string-internalB.9 Text markup list commands

]
]Manual beams

^
^Extended and altered chords

_
_Lyrics explained
_Multiple syllables to one note

|
|Bar and bar number checks
|Bar and bar number checks

~
~Ties

A
add ChordShapePredefined fret diagrams
addInstrumentDefinitionInstrument names
addQuoteQuoting other voices
aeolianKey signature
after-title-spaceVertical dimensions
afterGraceGrace notes
aikenHeadsShape note heads
AncientRemoveEmptyStaffContextHiding staves
annotate-spacing4.6.1 Displaying spacing
arpeggioArpeggio
arpeggioArrowDownArpeggio
arpeggioArrowUpArpeggio
arpeggioBracketArpeggio
arpeggioNormalArpeggio
arpeggioParenthesisArpeggio
arranger3.2.1 Creating titles
augCommon chords
auto-first-page-numberOther layout variables
autoBeamingSetting automatic beam behavior
autoBeamOffAutomatic beams
autoBeamOffFragmentos de código seleccionados
autoBeamOnAutomatic beams
autoBeamOnFragmentos de código seleccionados
autoBeamSettingsSetting automatic beam behavior
autochangeChanging staff automatically

B
balloonGrobTextBalloon help
balloonLengthOffBalloon help
balloonLengthOnBalloon help
balloonTextBalloon help
Balloon_engraverBalloon help
banjo-c-tuningBanjo tablatures
banjo-modal-tuningBanjo tablatures
banjo-open-d-tuningBanjo tablatures
banjo-open-dm-tuningBanjo tablatures
barBar lines
barFragmentos de código seleccionados
barCheckSynchronizeBar and bar number checks
barNumberCheckBar and bar number checks
barNumberVisibilityFragmentos de código seleccionados
bartypeFragmentos de código seleccionados
base-shortest-duration4.5.1 Horizontal spacing overview
beatGroupingAutomatic beams
beatGroupingSetting automatic beam behavior
beatLengthAutomatic beams
beatLengthSetting automatic beam behavior
before-title-spaceVertical dimensions
bendAfterFalls and doits
between-system-paddingVertical dimensions
between-system-spaceVertical dimensions
between-title-spaceVertical dimensions
blank-last-page-forceOther layout variables
blank-page-forceOther layout variables
bookTitleMarkup3.2.2 Custom titles
bottom-marginVertical dimensions
bracketNew dynamic marks
bracketPiano pedals
breakbefore3.2.1 Creating titles
breatheBreath marks
breveDurations
breveRests

C
cadenzaOffUnmetered music
cadenzaOnUnmetered music
changeChanging staff manually
chordmodeVéase también
chordmodeVéase también
chordmodePredefined fret diagrams
chordNameExceptionsCustomizing chord names
ChordNamesPredefined fret diagrams
chordNameSeparatorCustomizing chord names
chordNoteNamerCustomizing chord names
chordPrefixSpacerCustomizing chord names
chordRootNamerCustomizing chord names
chordsPrinting chord names
clefClef
colorColoring objects
common-shortest-duration4.5.1 Horizontal spacing overview
Completion_heads_engraverAutomatic note splitting
composer3.2.1 Creating titles
compressFullBarRestsFull measure rests
controlpitchOctave checks
copyright3.2.1 Creating titles
crDynamics
crescHairpinDynamics
crescTextCrescDynamics
crossSpecial note heads
cross-staffCross-staff stems
cueDuringFormatting cue notes
currentBarNumberBar numbers
currentBarNumberTime administration

D
decrDynamics
dedicatoria3.2.1 Creating titles
defaultAutomatic accidentals
defaultAutomatic accidentals
defaultBarTypeFragmentos de código seleccionados
defaultTimeSignatureTime signature
dimCommon chords
dimHairpinDynamics
dimTextDecrDynamics
dimTextDecrescDynamics
dimTextDimDynamics
divisibleFragmentos de código seleccionados
dodecaphonicAutomatic accidentals
dorianKey signature
dotsDownDurations
dotsNeutralDurations
dotsUpDurations
drummodeInstantiating new staves
dynamicNew dynamic marks
dynamicDownDynamics
DynamicLineSpannerDynamics
dynamicNeutralDynamics
dynamicUpDynamics

E
easyHeadsOffEasy notation note heads
easyHeadsOnEasy notation note heads
espressivoDynamics
evenFooterMarkup3.2.2 Custom titles
evenHeaderMarkup3.2.2 Custom titles
expandFullBarRestsFull measure rests

F
fDynamics
featherDurationsFeathered beams
fermataMarkupFull measure rests
ffDynamics
fffDynamics
ffffDynamics
fingerFingering instructions
first-page-numberOther layout variables
flag-styleCross-staff stems
followVoiceStaff-change lines
font-interfaceSelecting notation font size
font-interfaceFonts explained
font-sizeSelecting notation font size
font-sizeSelecting notation font size
fontSizeSelecting notation font size
foot-separationVertical dimensions
forgetAutomatic accidentals
four-string-banjoBanjo tablatures
fpDynamics
fret-diagramFret diagram markups
fret-diagram-interfaceFret diagram markups
fret-diagram-terseFret diagram markups
fret-diagram-verboseFret diagram markups
FretBoardsPredefined fret diagrams

G
glissandoGlissando
graceGrace notes
gridIntervalGrid lines
Grid_line_span_engraverGrid lines
Grid_point_engraverGrid lines
grow-directionFeathered beams

H
head-separationVertical dimensions
hideKeySignatureBagpipe definitions
hideNotesHidden notes
hideStaffSwitchStaff-change lines
horizontal-shiftHorizontal dimensions
Horizontal_bracket_engraverAnalysis brackets
hugeSelecting notation font size

I
improvisationOffImprovisation
improvisationOffShowing melody rhythms
improvisationOnImprovisation
improvisationOnShowing melody rhythms
indentInstrument names
indentHorizontal dimensions
indent4.5.4 Line length
instrument3.2.1 Creating titles
instrumentSwitchInstrument names
ionianKey signature

K
keyKey signature
keyShape note heads
killCuesFormatting cue notes

L
laissezVibrerTies
largeSelecting notation font size
layout file4.2.1 Setting the staff size
left-marginHorizontal dimensions
lengthCross-staff stems
line-widthHorizontal dimensions
line-width4.5.4 Line length
locrianKey signature
longaDurations
longaRests
ly:minimal-breaking4.3.5 Minimal page breaking
ly:optimal-breaking4.3.3 Optimal page breaking
ly:page-turn-breaking4.3.4 Optimal page turning
lydianKey signature

M
mCommon chords
magstepSelecting notation font size
magstep5.4.3 Distances and measurements
majCommon chords
majorKey signature
major seven symbolsInstrucciones predefinidas
majorSevenSymbolCustomizing chord names
make-dynamic-scriptNew dynamic marks
make-pango-font-treeEntire document fonts
makeClustersClusters
markRehearsal marks
maximaDurations
maximaRests
measureLengthAutomatic beams
measureLengthSetting automatic beam behavior
measureLengthTime administration
measurePositionUpbeats
measurePositionTime administration
mergeDifferentlyDottedOffCollision resolution
mergeDifferentlyDottedOnCollision resolution
mergeDifferentlyHeadedOffCollision resolution
mergeDifferentlyHeadedOnCollision resolution
meter3.2.1 Creating titles
mfDynamics
minimumFretDefault tablatures
minimumPageTurnLength4.3.4 Optimal page turning
minimumRepeatLengthForPageTurn4.3.4 Optimal page turning
minorKey signature
mixedPiano pedals
mixolydianKey signature
modernAutomatic accidentals
modern-cautionaryAutomatic accidentals
modern-voiceAutomatic accidentals
modern-voice-cautionaryAutomatic accidentals
mpDynamics
musicglyphRehearsal marks

N
neo-modernAutomatic accidentals
neo-modern-cautionaryAutomatic accidentals
no-resetAutomatic accidentals
noBeamManual beams
normalsizeSelecting notation font size
Note_heads_engraverAutomatic note splitting
numericTimeSignatureTime signature

O
octaveCheckOctave checks
oddFooterMarkup3.2.2 Custom titles
oddHeaderMarkup3.2.2 Custom titles
oneVoiceSingle-staff polyphony
opus3.2.1 Creating titles
ottavaOttava brackets
outside-staff-horizontal-padding4.4.5 Vertical collision avoidance
outside-staff-padding4.4.5 Vertical collision avoidance
outside-staff-priority4.4.5 Vertical collision avoidance

P
pDynamics
page-breaking-between-system-paddingOther layout variables
page-countOther layout variables
page-limit-inter-system-spaceOther layout variables
page-limit-inter-system-space-factorOther layout variables
page-spacing-weightOther layout variables
page-top-spaceVertical dimensions
paper-heightVertical dimensions
paper-widthHorizontal dimensions
parallelMusicWriting music in parallel
parenthesizeParentheses
partcombineAutomatic part combining
partialUpbeats
pedalSustainStylePiano pedals
percentPercent repeats
phrasingSlurDashedPhrasing slurs
phrasingSlurDottedPhrasing slurs
phrasingSlurDownPhrasing slurs
phrasingSlurNeutralPhrasing slurs
phrasingSlurSolidPhrasing slurs
phrasingSlurUpPhrasing slurs
phrygianKey signature
pianoAutomatic accidentals
piano-cautionaryAutomatic accidentals
PianoStaffReferences for keyboards
PianoStaffChanging staff automatically
piece3.2.1 Creating titles
pipeSymbolBar and bar number checks
pitchedTrillTrills
Pitch_squash_engraverShowing melody rhythms
poet3.2.1 Creating titles
ppDynamics
pppDynamics
ppppDynamics
predefinedFretboardsOffAutomatic fret diagrams
predefinedFretboardsOnAutomatic fret diagrams
print-all-headers3.2.1 Creating titles
print-all-headersOther layout variables
print-first-page-numberOther layout variables
print-page-numberOther layout variables

Q
quotedEventTypesFragmentos de código seleccionados
quoteDuringQuoting other voices

R
rRests
RFull measure rests
ragged-bottomOther layout variables
ragged-lastOther layout variables
ragged-last4.5.4 Line length
ragged-last-bottomOther layout variables
ragged-rightOther layout variables
ragged-right4.5.4 Line length
relativeRelative octave entry
relativeVéase también
relativeVéase también
relativeChanging staff automatically
RemoveEmptyRhythmicStaffContextHiding staves
RemoveEmptyStaffContextHiding staves
RemoveEmptyStaffContextHiding staves
repeatCommandsManual repeat marks
repeatTieTies
restRests
rfzDynamics
rgb-colorColoring objects
rightHandFingerRight-hand fingerings

S
sInvisible rests
sacredHarpHeadsShape note heads
scaleDurationsScaling durations
scaleDurationsPolymetric notation
scoreTitleMarkup3.2.2 Custom titles
setSetting automatic beam behavior
set-accidental-styleAutomatic accidentals
set-octavationOttava brackets
sfDynamics
sffDynamics
sfzDynamics
shiftOffCollision resolution
shiftOnCollision resolution
shiftOnnCollision resolution
shiftOnnnCollision resolution
short-indentInstrument names
short-indentHorizontal dimensions
show-available-fontsSingle entry fonts
showFirstLength3.4.2 Skipping corrected music
showKeySignatureBagpipe definitions
showLastLength3.4.2 Skipping corrected music
showStaffSwitchStaff-change lines
skipInvisible rests
skipTypesetting3.4.2 Skipping corrected music
slurDashedSlurs
slurDottedSlurs
slurDownSlurs
slurNeutralSlurs
slurSolidSlurs
slurUpSlurs
smallSelecting notation font size
sostenutoOffPiano pedals
sostenutoOnPiano pedals
spDynamics
spacing4.5.1 Horizontal spacing overview
sppDynamics
staff-paddingAdvertencias y problemas conocidos
Staff.midiInstrumentInstrument names
start-repeatManual repeat marks
startGroupAnalysis brackets
startStaffStaff symbol
startStaffOssia staves
startTrillSpanTrills
StemCross-staff stems
stem-spacing-correction4.5.1 Horizontal spacing overview
stemDownStems
stemLeftBeamCountManual beams
stemNeutralStems
stemRightBeamCountManual beams
stemUpStems
stopGroupAnalysis brackets
stopStaffStaff symbol
stopStaffOssia staves
stopTrillSpanTrills
storePredefinedDiagramPredefined fret diagrams
StringTuningsCustom tablatures
stringTuningsPredefined fret diagrams
subdivideBeamsFragmentos de código seleccionados
subsubtitle3.2.1 Creating titles
subtitle3.2.1 Creating titles
suggestAccidentalsAnnotational accidentals (musica ficta)
susExtended and altered chords
sustainOffPiano pedals
sustainOnPiano pedals
system-countOther layout variables
system-separator-markupOther layout variables

T
TabStaffDefault tablatures
TabVoiceDefault tablatures
tagline3.2.1 Creating titles
taorBagpipe definitions
teachingAutomatic accidentals
teenySelecting notation font size
tempoMetronome marks
textPiano pedals
textSpannerDownInstrucciones predefinidas
textSpannerNeutralInstrucciones predefinidas
textSpannerUpInstrucciones predefinidas
thumbFingering instructions
tieDashedTies
tieDottedTies
tieDownTies
tieNeutralTies
tieSolidTies
tieUpTies
timeTime signature
timeSetting automatic beam behavior
timesTuplets
timesPolymetric notation
timeSignatureFractionPolymetric notation
tinySelecting notation font size
title3.2.1 Creating titles
top-marginVertical dimensions
transposeVéase también
transposeTranspose
transposeVéase también
transposedCueDuringFormatting cue notes
transpositionInstrument transpositions
transpositionQuoting other voices
treCordePiano pedals
tremoloTremolo repeats
tremoloFlagsTremolo repeats
trillTrills
tupletDownTuplets
tupletNeutralTuplets
TupletNumberFragmentos de código seleccionados
tupletNumberFormatFunctionFragmentos de código seleccionados
tupletSpannerDurationFragmentos de código seleccionados
tupletUpTuplets

U
unaCordaPiano pedals
unfoldWritten-out repeats
unHideNotesHidden notes

V
voiceAutomatic accidentals
VoiceSingle-staff polyphony
voiceAutomatic accidentals
voiceOneSingle-staff polyphony

W
whichBarFragmentos de código seleccionados
with-colorColoring objects

X
x11-colorColoring objects
x11-colorVéase también

Saltar a:   !   '   (   ,   -   .   /   :   <   =   >   ?   [   \   ]   ^   _   |   ~  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  

F. LilyPond index

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  
Entrada de índice Sección

!
!Accidentals

'
Absolute octave entry

(
(begin * * * *)Setting automatic beam behavior
(end * * * *)Setting automatic beam behavior

,
,Absolute octave entry

-
-Articulations and ornamentations

.
.Durations

/
/Extended and altered chords
/+Extended and altered chords

1
15maOttava brackets

8
8vaOttava brackets

:
:Tremolo repeats

<
<Chorded notes
<...>Chorded notes

=
=Octave checks

>
>Chorded notes

?
?Accidentals

[
[Manual beams

\
\!Dynamics
\(Phrasing slurs
\)Phrasing slurs
\<Dynamics
\>Dynamics
\abs-fontsizeB.8.1 Font
\accepts5.1.5 Defining new contexts
\accepts5.1.6 Aligning contexts
\addChordShapePredefined fret diagrams
\addInstrumentDefinitionInstrument names
\addlyrics2.1.3 Aligning lyrics to a melody
\addQuoteQuoting other voices
\aeolianKey signature
\afterGraceGrace notes
\afterGraceGrace notes
\aikenHeadsShape note heads
\allowPageTurnInstrucciones predefinidas
\alternative1.4.1 Long repeats
\AncientRemoveEmptyStaffContextHiding staves
\applyContext6.5.1 Context evaluation
\applyOutput6.5.2 Running a function on all layout objects
\arpeggioArpeggio
\arpeggioInstrucciones predefinidas
\arpeggioArrowDownArpeggio
\arpeggioArrowDownInstrucciones predefinidas
\arpeggioArrowUpArpeggio
\arpeggioArrowUpInstrucciones predefinidas
\arpeggioBracketArpeggio
\arpeggioBracketInstrucciones predefinidas
\arpeggioNormalArpeggio
\arpeggioNormalInstrucciones predefinidas
\arpeggioParenthesisArpeggio
\arrow-headGraphic notation inside markup
\arrow-headB.8.3 Graphic
\ascendensGregorian square neume ligatures
\ascendensInstrucciones predefinidas
\auctumGregorian square neume ligatures
\auctumInstrucciones predefinidas
\augmentumInstrucciones predefinidas
\autoBeamOffAutomatic beams
\autoBeamOffFragmentos de código seleccionados
\autoBeamOnAutomatic beams
\autoBeamOnFragmentos de código seleccionados
\autochangeChanging staff automatically
\backslashed-digitB.8.6 Other
\balloonGrobTextBalloon help
\balloonLengthOffBalloon help
\balloonLengthOnBalloon help
\balloonTextBalloon help
\barBar lines
\barFragmentos de código seleccionados
\barNumberCheckBar and bar number checks
\beamB.8.3 Graphic
\bendAfterFalls and doits
\boldSelecting font and font size
\boldB.8.1 Font
\book3.1.2 Multiple scores in a book
\book3.1.2 Multiple scores in a book
\book3.1.3 File structure
\bookpart3.1.2 Multiple scores in a book
\bookpart3.1.3 File structure
\bookpart4.3.2 Page breaking
\boxGraphic notation inside markup
\boxB.8.1 Font
\bracketNew dynamic marks
\bracketGraphic notation inside markup
\bracketB.8.3 Graphic
\breakInstrucciones predefinidas
\breatheBreath marks
\breveDurations
\breveRests
\cadenzaOffUnmetered music
\cadenzaOnUnmetered music
\caesuraInstrucciones predefinidas
\capsB.8.1 Font
\cavumGregorian square neume ligatures
\cavumInstrucciones predefinidas
\center-alignText alignment
\center-alignB.8.2 Align
\center-columnText alignment
\center-columnB.8.2 Align
\changeChanging staff manually
\charB.8.6 Other
\chordmodeVéase también
\chordmodeVéase también
\chordmodePredefined fret diagrams
\circleGraphic notation inside markup
\circleB.8.3 Graphic
\clefClef
\cm5.4.3 Distances and measurements
\columnText alignment
\columnB.8.2 Align
\column-linesB.9 Text markup list commands
\combineGraphic notation inside markup
\combineB.8.2 Align
\compressFullBarRestsFull measure rests
\concatB.8.2 Align
\context5.1.2 Creating contexts
\crDynamics
\crescHairpinDynamics
\crescTextCrescDynamics
\cueDuringFormatting cue notes
\decrDynamics
\defaultTimeSignatureTime signature
\deminutumGregorian square neume ligatures
\deminutumInstrucciones predefinidas
\denies5.1.5 Defining new contexts
\denies5.1.6 Aligning contexts
\descendensGregorian square neume ligatures
\descendensInstrucciones predefinidas
\dimHairpinDynamics
\dimTextDecrDynamics
\dimTextDecrescDynamics
\dimTextDimDynamics
\dir-columnB.8.2 Align
\displayLilyMusic3.3.4 Displaying LilyPond notation
\displayLilyMusic6.3.2 Music properties
\displayMusic6.3.1 Displaying music expressions
\divisioMaiorInstrucciones predefinidas
\divisioMaximaInstrucciones predefinidas
\divisioMinimaInstrucciones predefinidas
\dorianKey signature
\dotsDownDurations
\dotsNeutralDurations
\dotsUpDurations
\doubleflatB.8.4 Music
\doublesharpB.8.4 Music
\downbowBowing indications
\draw-circleGraphic notation inside markup
\draw-circleB.8.3 Graphic
\draw-lineGraphic notation inside markup
\draw-lineB.8.3 Graphic
\drummodeInstantiating new staves
\dynamicNew dynamic marks
\dynamicB.8.1 Font
\dynamicDownDynamics
\dynamicNeutralDynamics
\dynamicUpDynamics
\easyHeadsOffEasy notation note heads
\easyHeadsOnEasy notation note heads
\epsfileGraphic notation inside markup
\epsfileB.8.3 Graphic
\espressivoDynamics
\expandFullBarRestsFull measure rests
\fDynamics
\featherDurationsFeathered beams
\fermataMarkupFull measure rests
\ffDynamics
\fffDynamics
\ffffDynamics
\fill-lineText alignment
\fill-lineB.8.2 Align
\filled-boxGraphic notation inside markup
\filled-boxB.8.3 Graphic
\finalisInstrucciones predefinidas
\fingerFingering instructions
\fingerB.8.1 Font
\flatB.8.4 Music
\flexaInstrucciones predefinidas
\fontCapsB.8.1 Font
\fontsizeSelecting font and font size
\fontsizeB.8.1 Font
\fpDynamics
\fractionB.8.6 Other
\frenchChordsInstrucciones predefinidas
\fret-diagramFret diagram markups
\fret-diagramB.8.5 Instrument Specific Markup
\fret-diagram-terseFret diagram markups
\fret-diagram-terseB.8.5 Instrument Specific Markup
\fret-diagram-verboseFret diagram markups
\fret-diagram-verboseB.8.5 Instrument Specific Markup
\frompropertyB.8.6 Other
\general-alignText alignment
\general-alignB.8.2 Align
\germanChordsInstrucciones predefinidas
\glissandoGlissando
\graceGrace notes
\halignText alignment
\halignB.8.2 Align
\harmonicHarmonics
\harp-pedalB.8.5 Instrument Specific Markup
\hbracketGraphic notation inside markup
\hbracketB.8.3 Graphic
\hcenter-inB.8.2 Align
\header3.1.3 File structure
\hideKeySignatureBagpipe definitions
\hideNotesHidden notes
\hideStaffSwitchStaff-change lines
\hspaceB.8.2 Align
\hugeSelecting notation font size
\hugeInstrucciones predefinidas
\hugeB.8.1 Font
\improvisationOffImprovisation
\improvisationOffShowing melody rhythms
\improvisationOnImprovisation
\improvisationOnShowing melody rhythms
\in5.4.3 Distances and measurements
\inclinatumGregorian square neume ligatures
\inclinatumInstrucciones predefinidas
\include3.3.1 Including LilyPond files
\instrumentSwitchInstrument names
\ionianKey signature
\italianChordsInstrucciones predefinidas
\italicSelecting font and font size
\italicB.8.1 Font
\justified-linesB.9 Text markup list commands
\justifyText alignment
\justifyB.8.2 Align
\justify-fieldB.8.2 Align
\justify-stringB.8.2 Align
\keepWithTagUsing tags
\keyKey signature
\keyShape note heads
\killCuesFormatting cue notes
\labelInstrucciones predefinidas
\laissezVibrerTies
\largeSelecting notation font size
\largeInstrucciones predefinidas
\largeB.8.1 Font
\largerSelecting font and font size
\largerInstrucciones predefinidas
\largerB.8.1 Font
\layout3.1.3 File structure
\layout4.2.2 Score layout
\left-alignText alignment
\left-alignB.8.2 Align
\left-columnB.8.2 Align
\lineB.8.2 Align
\lineaGregorian square neume ligatures
\lineaInstrucciones predefinidas
\locrianKey signature
\longaDurations
\longaRests
\lookupB.8.6 Other
\lowerText alignment
\lowerB.8.2 Align
\lydianKey signature
\lyricmodeLyrics explained
\lyricmode2.1.3 Aligning lyrics to a melody
\lyricsto2.1.3 Aligning lyrics to a melody
\magnifySelecting font and font size
\magnifyB.8.1 Font
\majorKey signature
\makeClustersClusters
\markRehearsal marks
\markText marks
\markalphabetB.8.6 Other
\markletterB.8.6 Other
\markupSeparate text
\markupText markup introduction
\markuplinesInstrucciones predefinidas
\markuplinesInstrucciones predefinidas
\maximaDurations
\maximaRests
\mediumB.8.1 Font
\melismaInstrucciones predefinidas
\melismaEndInstrucciones predefinidas
\mergeDifferentlyDottedOffCollision resolution
\mergeDifferentlyDottedOnCollision resolution
\mergeDifferentlyHeadedOffCollision resolution
\mergeDifferentlyHeadedOnCollision resolution
\mfDynamics
\midi3.1.3 File structure
\minorKey signature
\mixolydianKey signature
\mm5.4.3 Distances and measurements
\mpDynamics
\musicglyphRehearsal marks
\musicglyphB.8.4 Music
\naturalB.8.4 Music
\new5.1.2 Creating contexts
\noBeamManual beams
\noBreakInstrucciones predefinidas
\noPageBreakInstrucciones predefinidas
\noPageTurnInstrucciones predefinidas
\normal-size-subB.8.1 Font
\normal-size-superB.8.1 Font
\normal-textB.8.1 Font
\normalsizeSelecting notation font size
\normalsizeInstrucciones predefinidas
\normalsizeB.8.1 Font
\noteB.8.4 Music
\note-by-numberB.8.4 Music
\nullB.8.6 Other
\numberB.8.1 Font
\numericTimeSignatureTime signature
\octaveCheckOctave checks
\on-the-flyB.8.6 Other
\once5.3.2 The \set command
\oneVoiceSingle-staff polyphony
\openBowing indications
\oriscusGregorian square neume ligatures
\oriscusInstrucciones predefinidas
\ottavaOttava brackets
\override5.3.3 The \override command
\overrideB.8.6 Other
\override-linesB.9 Text markup list commands
\pDynamics
\pad-aroundGraphic notation inside markup
\pad-aroundB.8.2 Align
\pad-markupGraphic notation inside markup
\pad-markupB.8.2 Align
\pad-to-boxGraphic notation inside markup
\pad-to-boxB.8.2 Align
\pad-xGraphic notation inside markup
\pad-xB.8.2 Align
\page-refInstrucciones predefinidas
\page-refB.8.6 Other
\pageBreakInstrucciones predefinidas
\pageTurnInstrucciones predefinidas
\paper3.1.3 File structure
\paperVertical dimensions
\parallelMusicWriting music in parallel
\parenthesizeParentheses
\partcombineAutomatic part combining
\partialUpbeats
\partial1.4.1 Long repeats
\partialNormal repeats
\pesInstrucciones predefinidas
\phrasingSlurDashedPhrasing slurs
\phrasingSlurDottedPhrasing slurs
\phrasingSlurDownPhrasing slurs
\phrasingSlurNeutralPhrasing slurs
\phrasingSlurSolidPhrasing slurs
\phrasingSlurUpPhrasing slurs
\phrygianKey signature
\pitchedTrillTrills
\postscriptGraphic notation inside markup
\postscriptB.8.3 Graphic
\ppDynamics
\pppDynamics
\ppppDynamics
\predefinedFretboardsOffAutomatic fret diagrams
\predefinedFretboardsOnAutomatic fret diagrams
\property dentro de \lyricmodeLyrics explained
\pt5.4.3 Distances and measurements
\put-adjacentB.8.2 Align
\quilismaGregorian square neume ligatures
\quilismaInstrucciones predefinidas
\quoteDuringQuoting other voices
\raiseText alignment
\raiseB.8.2 Align
\relativeRelative octave entry
\relativeVéase también
\relativeVéase también
\relativeChanging staff automatically
\RemoveEmptyRhythmicStaffContextHiding staves
\RemoveEmptyStaffContextHiding staves
\RemoveEmptyStaffContextHiding staves
\removeWithTagUsing tags
\repeat1.4.1 Long repeats
\repeat percentPercent repeats
\repeat tremoloTremolo repeats
\repeatTieTies
\repeatTieNormal repeats
\restRests
\rfzDynamics
\right-alignText alignment
\right-alignB.8.2 Align
\right-columnB.8.2 Align
\rightHandFingerRight-hand fingerings
\romanB.8.1 Font
\rotateB.8.2 Align
\rounded-boxGraphic notation inside markup
\rounded-boxB.8.3 Graphic
\sacredHarpHeadsShape note heads
\sansB.8.1 Font
\scaleDurationsScaling durations
\scaleDurationsPolymetric notation
\score3.1.1 Structure of a score
\score3.1.3 File structure
\scoreB.8.4 Music
\semiflatB.8.4 Music
\semiGermanChordsInstrucciones predefinidas
\semisharpB.8.4 Music
\sesquiflatB.8.4 Music
\sesquisharpB.8.4 Music
\setSetting automatic beam behavior
\set5.3.2 The \set command
\sfDynamics
\sffDynamics
\sfzDynamics
\sharpB.8.4 Music
\shiftOffCollision resolution
\shiftOnCollision resolution
\shiftOnnCollision resolution
\shiftOnnnCollision resolution
\showKeySignatureBagpipe definitions
\showStaffSwitchStaff-change lines
\simpleB.8.1 Font
\skipInvisible rests
\slashed-digitB.8.6 Other
\slurDashedSlurs
\slurDottedSlurs
\slurDownSlurs
\slurNeutralSlurs
\slurSolidSlurs
\slurUpSlurs
\smallSelecting notation font size
\smallInstrucciones predefinidas
\smallB.8.1 Font
\smallCapsB.8.1 Font
\smallerSelecting font and font size
\smallerInstrucciones predefinidas
\smallerB.8.1 Font
\sostenutoOffPiano pedals
\sostenutoOnPiano pedals
\spDynamics
\sppDynamics
\startGroupAnalysis brackets
\startStaffStaff symbol
\startStaffOssia staves
\startTrillSpanTrills
\stemDownStems
\stemNeutralStems
\stemUpStems
\stencilB.8.6 Other
\stopGroupAnalysis brackets
\stopStaffStaff symbol
\stopStaffOssia staves
\stopTrillSpanTrills
\storePredefinedDiagramPredefined fret diagrams
\strophaGregorian square neume ligatures
\strophaInstrucciones predefinidas
\strutB.8.6 Other
\subSelecting font and font size
\subB.8.1 Font
\superSelecting font and font size
\superB.8.1 Font
\sustainOffPiano pedals
\sustainOnPiano pedals
\table-of-contentsInstrucciones predefinidas
\tagUsing tags
\taorBagpipe definitions
\teenySelecting notation font size
\teenyInstrucciones predefinidas
\teenyB.8.1 Font
\tempoMetronome marks
\textB.8.1 Font
\textLengthOffInstrucciones predefinidas
\textLengthOnInstrucciones predefinidas
\thumbFingering instructions
\tied-lyricB.8.4 Music
\tieDashedTies
\tieDottedTies
\tieDownTies
\tieNeutralTies
\tieSolidTies
\tieUpTies
\timeTime signature
\timeSetting automatic beam behavior
\timesTuplets
\timesPolymetric notation
\tinySelecting notation font size
\tinyInstrucciones predefinidas
\tinyB.8.1 Font
\tocItemInstrucciones predefinidas
\translateText alignment
\translateB.8.2 Align
\translate-scaledText alignment
\translate-scaledB.8.2 Align
\transparentB.8.6 Other
\transposeVéase también
\transposeTranspose
\transposeVéase también
\transposedCueDuringFormatting cue notes
\transpositionInstrument transpositions
\transpositionQuoting other voices
\treCordePiano pedals
\triangleGraphic notation inside markup
\triangleB.8.3 Graphic
\trillTrills
\tupletDownTuplets
\tupletNeutralTuplets
\tupletUpTuplets
\tweak5.3.4 The \tweak command
\typewriterB.8.1 Font
\unaCordaPiano pedals
\underlineSelecting font and font size
\underlineB.8.1 Font
\unfoldRepeats3.5.4 Repeats in MIDI
\unHideNotesHidden notes
\unset5.3.2 The \set command
\upbowBowing indications
\uprightB.8.1 Font
\vcenterB.8.2 Align
\verbatim-fileB.8.6 Other
\virgaGregorian square neume ligatures
\virgaInstrucciones predefinidas
\virgulaInstrucciones predefinidas
\voiceFourStyleVoice styles
\voiceNeutralStyleVoice styles
\voiceOneSingle-staff polyphony
\voiceOne ... \voiceFourSingle-staff polyphony
\voiceOneStyleVoice styles
\voiceThreeStyleVoice styles
\voiceTwoStyleVoice styles
\whiteoutB.8.6 Other
\with5.1.3 Modifying context plug-ins
\with-colorColoring objects
\with-colorB.8.6 Other
\with-dimensionsB.8.6 Other
\with-urlB.8.3 Graphic
\wordwrapText alignment
\wordwrapB.8.2 Align
\wordwrap-fieldB.8.2 Align
\wordwrap-internalB.9 Text markup list commands
\wordwrap-linesB.9 Text markup list commands
\wordwrap-stringB.8.2 Align
\wordwrap-string-internalB.9 Text markup list commands

]
]Manual beams

^
^Extended and altered chords

_
_Lyrics explained
_Multiple syllables to one note

|
|Bar and bar number checks
|Bar and bar number checks

~
~Ties

A
a dueVéase también
a due, partesAutomatic part combining
abajo, arcoBowing indications
About the documentationEl tipografiador de música
absolutaAbsolute octave entry
absoluta, especificación, de la octavaAbsolute octave entry
absoluta, introducción, de la octavaAbsolute octave entry
absolutos, maticesDynamics
accentVéase también
acciaccatura6.1.7 Overview of available music functions
acciaccaturaB.14 Identifiers
AccidentalVéase también
accidentalAccidentals
AccidentalVéase también
AccidentalMensural accidentals and key signatures
AccidentalGregorian accidentals and key signatures
accidental-interfaceVéase también
accidental-suggestion-interfaceVéase también
AccidentalCautionaryVéase también
AccidentalPlacementVéase también
accidentalsGregorian accidentals and key signatures
Accidentals and key signaturesAccidentals
Accidentals and key signaturesVéase también
Accidentals and key signaturesKey signature
Accidentals and key signaturesKey signature
Accidentals and key signaturesVéase también
Accidentals and key signaturesVéase también
AccidentalSuggestionVéase también
AccidentalSuggestionVéase también
Accidental_engraverVéase también
Accidental_engraverVéase también
Accidental_engraverVéase también
acentoArticulations and ornamentations
acentoB.10 List of articulations
acorde arpegiadoArpeggio
acorde quebradoArpeggio
acordesChorded notes
acordesPrinting chord names
acordes alteradosExtended and altered chords
acordes de jazzChord mode overview
acordes de jazzCustomizing chord names
acordes de pentagrama cruzadoCross-staff stems
acordes e introducción relativa de la octavaRelative octave entry
acordes extendidosExtended and altered chords
acordes, alteraciones dentro deVéase también
acordes, alteración de notasExtended and altered chords
acordes, bajo deExtended and altered chords
acordes, diagramas automáticos deAutomatic fret diagrams
acordes, diagramas deFret diagram markups
acordes, diagramas de trastes con nombres dePredefined fret diagrams
acordes, digitación deFingering instructions
acordes, división entre pentagramas con \autochangeAdvertencias y problemas conocidos
acordes, formas de, en instrumentos de trastesPredefined fret diagrams
acordes, inversionesExtended and altered chords
acordes, modo deChord mode overview
acordes, nombres deChord mode overview
acordes, nombres dePrinting chord names
acordes, nombres de, en MIDISupported in MIDI
acordes, supresiones enExtended and altered chords
acordes, variantes deCommon chords
acordeón2.2.3 Accordion
acordeón, cambios en elDiscant symbols
acordeón, signos de cambio en elDiscant symbols
acordeón, signos de discantoDiscant symbols
add ChordShapePredefined fret diagrams
addChordShape6.1.7 Overview of available music functions
addChordShapeB.14 Identifiers
adding a white background to textB.8.6 Other
Adding and removing engraversVéase también
addInstrumentDefinitionInstrument names
addInstrumentDefinition6.1.7 Overview of available music functions
addInstrumentDefinitionB.14 Identifiers
addQuoteQuoting other voices
addQuote6.1.7 Overview of available music functions
addQuoteB.14 Identifiers
adicionales, establecer líneasStaff symbol
adiciones en acordesExtended and altered chords
adorno, notas de, dentro de corchetes de grupo especialAdvertencias y problemas conocidos
adorno, seguimiento de notas deGrace notes
aeolianKey signature
afinaciones del banjoBanjo tablatures
after-title-spaceVertical dimensions
afterGraceGrace notes
afterGrace6.1.7 Overview of available music functions
afterGraceB.14 Identifiers
agrupación de pulsosFragmentos de código seleccionados
Aiken, cabezas de nota con forma deShape note heads
aikenHeadsShape note heads
ajuste de línea, texto conText alignment
ajuste de líneas adicionalesStaff symbol
ajuste del símbolo del pentagramaStaff symbol
ajuste del símbolo del pentagrama5.4.4 Staff symbol properties
ajuste fino de las barras automáticasSetting automatic beam behavior
al aire, indicación de cuerdaBowing indications
al nienteVéase también
alignAboveContext5.1.6 Aligning contexts
alignBelowContext5.1.6 Aligning contexts
alineación a objetosUsing the break-alignable-interface
alineación a una cadenza (cadencia)Aligning to cadenzas
alinear textoText alignment
All layout objectsVéase también
All layout objectsVéase también
allowPageTurn6.1.7 Overview of available music functions
allowPageTurnB.14 Identifiers
alteracionesMensural accidentals and key signatures
alteraciones accidentalesAutomatic accidentals
alteraciones accidentalesVéase también
alteraciones automáticasAutomatic accidentals
alteraciones de la musica fictaAnnotational accidentals (musica ficta)
alteraciones de pianoAutomatic accidentals
alteraciones en acordesVéase también
alteraciones estilo modernoAutomatic accidentals
alteraciones modernasAutomatic accidentals
alteraciones no restablecer, estilo deAutomatic accidentals
alteraciones y notas simultáneasVéase también
alteraciones, en varias vocesAutomatic accidentals
alteraciones, estilo de lasAutomatic accidentals
alteraciones, estilo de, neo-modernoAutomatic accidentals
alteraciones, estilo modernoAutomatic accidentals
alteraciones, estilo moderno de precauciónAutomatic accidentals
alteraciones, estilo predeterminadoAutomatic accidentals
alteraciones, estilo predeterminado de lasAutomatic accidentals
alteraciones, estilo teaching (enseñanza)Automatic accidentals
alteraciones, estilo, dodecafónicoAutomatic accidentals
alteraciones, estilo, moderno-precauciónAutomatic accidentals
alteraciones, estilo, neo-moderno de precauciónAutomatic accidentals
alteraciones, piano de precauciónAutomatic accidentals
alteraciones, piano de precaución, estilo deAutomatic accidentals
alteración con paréntesisAccidentals
alteración de cuartos de tonoVéase también
alteración de precauciónAccidentals
alteración de voz de precaución moderno, estilo deAutomatic accidentals
alteración en nota ligadaAccidentals
alteración forzada para trino con notaTrills
alteración recordatoriaAccidentals
alteración, estilo de voz deAutomatic accidentals
alteración, estilo de voz de precaución modernoAutomatic accidentals
alteración, estilo de, olvidarAutomatic accidentals
alteración, estilo moderno deAutomatic accidentals
alteración, moderno de precaución, voz, estilo deAutomatic accidentals
alternativos, finales, en repeticiones explícitasWritten-out repeats
alto, clave deClef
alturasAbsolute octave entry
alturas en MIDISupported in MIDI
alturas, nombres de, otros idiomasNote names in other languages
alturas, transporte deTranspose
Amazing Grace, ejemplo de gaitaBagpipe example
AmbitusVéase también
ambitusVéase también
ambitus-interfaceVéase también
AmbitusAccidentalVéase también
AmbitusLineVéase también
AmbitusNoteHeadVéase también
Ambitus_engraverVéase también
anacrusaUpbeats
anacrusa en repeticionesNormal repeats
anacrusisVéase también
AncientRemoveEmptyStaffContextHiding staves
anidada, repeticiónAdvertencias y problemas conocidos
anidados, corchetes de pentagramaNested staff groups
anidamiento de pentagramasNested staff groups
annotate-spacing4.6.1 Displaying spacing
antiguas, clavesClef
análisis musicológicoAnalysis brackets
apagadoB.10 List of articulations
apaisado4.1.1 Paper size
applyContext6.1.7 Overview of available music functions
applyContextB.14 Identifiers
applyMusic6.1.7 Overview of available music functions
applyMusicB.14 Identifiers
applyOutput6.1.7 Overview of available music functions
applyOutputB.14 Identifiers
appoggiatura6.1.7 Overview of available music functions
appoggiaturaB.14 Identifiers
Arabic key signaturesArabic key signatures
Arabic note namesArabic note names
Arabic semi-flat symbolArabic note names
arco abajoArticulations and ornamentations
arco abajoB.10 List of articulations
arco abajo, indicaciónBowing indications
arco arribaArticulations and ornamentations
arco arribaB.10 List of articulations
arco arriba, indicaciónBowing indications
arco, indicaciones deBowing indications
armaduraMensural accidentals and key signatures
Armadura de la tonalidadKey signature
armadura, visibilidad después de un cambio explícitoSpecial considerations
armónicos artificialesHarmonics
armónicos en instrumentos de trastesIndicating harmonics and dampened notes
armónicos en tablaturaDefault tablatures
armónicos naturalesHarmonics
armónicos, cabezas de notaSpecial note heads
arpa sacra, cabezas de nota deShape note heads
arpa, diagramas de pedalHarp pedals
arpa, pedalesHarp pedals
arpeggioArpeggio
ArpeggioVéase también
arpeggioArrowDownArpeggio
arpeggioArrowUpArpeggio
arpeggioBracketArpeggio
arpeggioNormalArpeggio
arpeggioParenthesisArpeggio
arpegiado, acorde, símbolos especialesArpeggio
arpegioArpeggio
arpegio con paréntesis de pentagrama cruzadoAdvertencias y problemas conocidos
arpegio de pentagrama cruzado con paréntesisAdvertencias y problemas conocidos
arranger3.2.1 Creating titles
arriba, arcoBowing indications
articulacionesArticulations and ornamentations
articulacionesGregorian articulation signs
Articulation and dynamicsVéase también
articulation-eventFragmentos de código seleccionados
artificiales, armónicosHarmonics
aspas, cabezas de notaSpecial note heads
assertBeamQuant6.1.7 Overview of available music functions
assertBeamQuantB.14 Identifiers
assertBeamSlope6.1.7 Overview of available music functions
assertBeamSlopeB.14 Identifiers
augCommon chords
auto-first-page-numberOther layout variables
autoBeamingSetting automatic beam behavior
autoBeamOffAutomatic beams
autoBeamOffFragmentos de código seleccionados
autoBeamOnAutomatic beams
autoBeamOnFragmentos de código seleccionados
autoBeamSettingsSetting automatic beam behavior
autocambiador y el modo relativoChanging staff automatically
autochangeChanging staff automatically
autochange6.1.7 Overview of available music functions
autochangeB.14 Identifiers
AutoChangeMusicVéase también
automaticBarsSpecial considerations
automática, combinación de partesAutomatic part combining
automáticas, alteracionesAutomatic accidentals
automáticas, generación de barrasSetting automatic beam behavior
automático, cambio de pentagramaChanging staff automatically
automáticos, diagramas de acordesAutomatic fret diagrams
automáticos, diagramas de trasteAutomatic fret diagrams
Axis_group_engraverVéase también
ayuda, globos deBalloon help

B
Backend5.2.1 Navigating the program reference
BackendVéase también
backslashed digitsB.8.6 Other
bajo cifrado, alineaciónInstrucciones predefinidas
bajo cifrado, líneas de extensiónInstrucciones predefinidas
bajo de los acordesExtended and altered chords
bajo, clave deClef
balloon-interfaceVéase también
balloonGrobTextBalloon help
balloonGrobText6.1.7 Overview of available music functions
balloonGrobTextB.14 Identifiers
balloonLengthOffBalloon help
balloonLengthOnBalloon help
balloonTextBalloon help
balloonText6.1.7 Overview of available music functions
balloonTextB.14 Identifiers
BalloonTextItemVéase también
Balloon_engraverBalloon help
banjo, afinaciones delBanjo tablatures
banjo, tablatura de2.4 Fretted string instruments
banjo, tablaturas deBanjo tablatures
banjo-c-tuningBanjo tablatures
banjo-modal-tuningBanjo tablatures
banjo-open-d-tuningBanjo tablatures
banjo-open-dm-tuningBanjo tablatures
BanterCustomizing chord names
barBar lines
barFragmentos de código seleccionados
bar6.1.7 Overview of available music functions
barB.14 Identifiers
bar number alignmentFragmentos de código seleccionados
bar numbers, regular spacingFragmentos de código seleccionados
bar-line-interfaceB.12 All context properties
barCheckSynchronizeBar and bar number checks
BarLineVéase también
BarNumberVéase también
BarNumberAdvertencias y problemas conocidos
barNumberCheckBar and bar number checks
barNumberCheck6.1.7 Overview of available music functions
barNumberCheckB.14 Identifiers
barNumberVisibilityFragmentos de código seleccionados
barra, última en la partituraInstrucciones predefinidas
barra, última en una voz polifónicaInstrucciones predefinidas
barradas, cabezas de notaImprovisation
barrado en metro polimétricoPolymetric notation
barrado en música polimétricaPolymetric notation
barras automáticasSetting automatic beam behavior
barras automáticas, ajuste finoSetting automatic beam behavior
barras de compásBar lines
barras de compás manualesBar lines
barras de pentagrama cruzadoChanging staff manually
barras de trémoloTremolo repeats
barras manualesAutomatic beams
barras manualesManual beams
barras progresivasFeathered beams
barras, establecer reglasAutomatic beams
barras, reglas personalizadasAutomatic beams
bartypeFragmentos de código seleccionados
Bartók pizzicatoSnap (Bartók) pizzicato
Bar_engraverVéase también
barítono, clave deClef
base-shortest-duration4.5.1 Horizontal spacing overview
Bass, figuredIntroduction to figured bass
Bass, thoroughIntroduction to figured bass
BassFigureVéase también
BassFigureVéase también
BassFigureAlignmentVéase también
BassFigureAlignmentVéase también
BassFigureBracketVéase también
BassFigureBracketVéase también
BassFigureContinuationVéase también
BassFigureContinuationVéase también
BassFigureLineVéase también
BassFigureLineVéase también
Basso continuoIntroduction to figured bass
bateríaBasic percussion notation
bateríaPercussion staves
BeamVéase también
BeamVéase también
BeamVéase también
beatGroupingAutomatic beams
beatGroupingSetting automatic beam behavior
beatLengthAutomatic beams
beatLengthSetting automatic beam behavior
becuadroAccidentals
before-title-spaceVertical dimensions
bemolAccidentals
bemol, dobleAccidentals
bendAfterFalls and doits
bendAfter6.1.7 Overview of available music functions
bendAfterB.14 Identifiers
between-system-paddingVertical dimensions
between-system-spaceVertical dimensions
between-title-spaceVertical dimensions
bisbiglandoReferences for harps
blank-last-page-forceOther layout variables
blank-page-forceOther layout variables
bloque MIDI3.5.2 MIDI block
bookTitleMarkup3.2.2 Custom titles
bottom-marginVertical dimensions
braceVéase también
bracketNew dynamic marks
bracketPiano pedals
break-align-symbolsUsing the break-alignable-interface
break-visibilityUsing break-visibility
breakbefore3.2.1 Creating titles
breatheBreath marks
breathe6.1.7 Overview of available music functions
breatheB.14 Identifiers
BreathingSignVéase también
BreathingSignVéase también
breveDurations
breveRests
breve, silencio deRests
buscar objetos gráficos5.3.3 The \override command

C
cabezas de nota antiguasMensural note heads
cadenciaUnmetered music
cadenzaVéase también
cadenzaVéase también
cadenza (cadencia)Aligning to cadenzas
cadenza (cadencia), alinear aAligning to cadenzas
cadenzaOffUnmetered music
cadenzaOnUnmetered music
caesuraVéase también
calderónRehearsal marks
calderónArticulations and ornamentations
calderónB.10 List of articulations
calderón sobre la línea divisoriaText marks
calderón sobre un silencio multicompásFull measure rests
cambbio manual de pentagramaChanging staff manually
cambiar propiedades5.3.2 The \set command
cambio automático de pentagramaChanging staff automatically
cambio de dedoFingering instructions
cambio de instrumentoInstrument names
cantante, nombre delAdding singers’ names to stanzas
capasPainting objects white
caracteres especiales en modo de marcadoText markup introduction
caídas de tono (falls)Falls and doits
cejilla, indicación deFret diagram markups
centering a column of textB.8.2 Align
centrar indicaciones dinámicas en música para pianoAdvertencias y problemas conocidos
centrar texto en la páginaText alignment
changeChanging staff manually
changing direction of text columnsB.8.2 Align
ChoirStaffVéase también
ChoirStaffVéase también
chordVéase también
chordVéase también
chordVéase también
chord diagramsPredefined fret diagrams
chord, modifying one note in5.3.4 The \tweak command
chordmodeVéase también
chordmodeVéase también
chordmodePredefined fret diagrams
ChordNameVéase también
chordNameExceptionsCustomizing chord names
ChordNamesPredefined fret diagrams
ChordNamesVéase también
chordNameSeparatorCustomizing chord names
chordNoteNamerCustomizing chord names
chordPrefixSpacerCustomizing chord names
chordRootNamerCustomizing chord names
chordsPrinting chord names
chords and tiesTies
Chord_name_engraverVéase también
church modeVéase también
cifrado americanoChord mode overview
circling textB.8.3 Graphic
citar otras vocesQuoting other voices
citar otras vocesFormatting cue notes
claveClef
clave antiguaClef
clave de altoClef
clave de bajoClef
clave de barítonoClef
clave de contrabajoClef
clave de DoClef
clave de FaClef
clave de mezzosopranoClef
clave de SolClef
clave de sopranoClef
clave de tenorClef
clave de violínClef
clave francesaClef
clave transpositoraClef
clave, visibilidad después de un cambio explícitoSpecial considerations
claves, visibilidad de la octavaciónSpecial considerations
ClefVéase también
clefClef
clef6.1.7 Overview of available music functions
clefB.14 Identifiers
clef-interfaceVéase también
clefsMensural clefs
clefsGregorian clefs
Clef_engraverVéase también
clusterVéase también
ClusterSpannerVéase también
ClusterSpannerBeaconVéase también
Cluster_spanner_engraverVéase también
codaRehearsal marks
codaArticulations and ornamentations
codaB.10 List of articulations
coda sobre la línea divisoriaText marks
colisionesCollision resolution
colisión del número de compásVéase también
Collisions of objectsVéase también
colocación de los silencios multicompásFragmentos de código seleccionados
colorColoring objects
color en acordesVéase también
color rgbColoring objects
coloreadas, notasColoring objects
coloreadas, notas de acordeVéase también
coloreado de objetosPainting objects white
coloreados, objetosColoring objects
colorear notasColoring objects
colorear objetosColoring objects
coloresColoring objects
colores de x11Coloring objects
colores, lista deNormal colors
coloring textB.8.6 Other
coloring voicesVoice styles
columnas, texto enText alignment
Combining notes into chordsVéase también
comienzo de repeticiónManual repeat marks
comienzo del sistemaGrouping staves
comillas, en la letraLyrics explained
comillas, en la letraLyrics explained
common-shortest-duration4.5.1 Horizontal spacing overview
compases distintos al mismo tiempo5.1.3 Modifying context plug-ins
compases polimétricosPolymetric notation
compases, agrupaciones deFragmentos de código seleccionados
compases, subgrupos dentro deFragmentos de código seleccionados
Completion_heads_engraverAutomatic note splitting
composer3.2.1 Creating titles
compresión de músicaScaling durations
compressFullBarRestsFull measure rests
compuesto, indicaciones de compásFragmentos de código seleccionados
compás completo, silencios deFull measure rests
compás compuesto, indicaciones deFragmentos de código seleccionados
compás parcialUpbeats
compás, barras invisibles deBar lines
compás, cambiar la longitud delUpbeats
compás, comprobación deBar and bar number checks
compás, doblePolymetric notation
compás, estilo de la indicación deTime signature
compás, indicación deMensural time signatures
compás, número deTime administration
compás, número de, formatoFragmentos de código seleccionados
compás, números deBar numbers
compás, repeticiones y números deAdvertencias y problemas conocidos
compás, repetición dePercent repeats
compás, visibilidad de la indicación deTime signature
concatenating textB.8.2 Align
concert pitchVéase también
condensar silenciosAdvertencias y problemas conocidos
ContextChangeVéase también
Contexto, creación de5.1.2 Creating contexts
ContextsVéase también
Contexts5.1.3 Modifying context plug-ins
Contexts and engraversSingle-staff polyphony
Contexts and engraversVéase también
contexts, nested5.1.6 Aligning contexts
continua, ligaduraSlurs
contrabajo, clave deClef
control, alturas deOctave checks
control, trucar puntos deAdvertencias y problemas conocidos
controlling general text alignmentB.8.2 Align
controlpitchOctave checks
copyright3.2.1 Creating titles
coral, clave de tenorClef
coral, partituraMultiple notes to one syllable
corchete de casilla de repetición con textoManual repeat marks
corchete de primera y segunda vezManual repeat marks
corchete horizontalAnalysis brackets
corchete verticalGrouping staves
corchetesAnalysis brackets
corchetes anidadosNested staff groups
corchetes de fraseoAnalysis brackets
coro, sistema deGrouping staves
crDynamics
crear contextos5.1.2 Creating contexts
creating empty text objectsB.8.6 Other
creating horizontal spaces in textB.8.2 Align
creating text fractionsB.8.6 Other
creating vertical spaces in textB.8.6 Other
crescendoVéase también
crescHairpinDynamics
crescTextCrescDynamics
crossSpecial note heads
cross-staffCross-staff stems
cruce de pentagramasStaff-change lines
cruzado, acordes de pentagramaCross-staff stems
cruzado, línea de pentagramaStaff-change lines
cruzado, notas de pentagramaCross-staff stems
cruzado, pentagramaStaff-change lines
cruzado, pentagrama, barras deChanging staff manually
cruzado, pentagrama, notas deChanging staff manually
cruzado, plicas de pentagramaCross-staff stems
cuartos de tonoAccidentals
cuartos de tono en MIDISupported in MIDI
cuartos de tono, alteracionesVéase también
cueDuringFormatting cue notes
cueDuring6.1.7 Overview of available music functions
cueDuringB.14 Identifiers
cuerda al aire, indicación deBowing indications
cuerda, número de laString number indications
cuerdas orquestales2.3 Unfretted string instruments
cuerdas, escribir música para2.3 Unfretted string instruments
CueVoiceVéase también
currentBarNumberBar numbers
currentBarNumberTime administration
custodesCustodes
custosCustodes
CustosVéase también
Custos_engraverCustodes
código, llamadas durante la interpretación6.5.1 Context evaluation
código, llamar sobre objetos de presentación6.5.2 Running a function on all layout objects

D
D.S al FineRehearsal marks
decorar textoGraphic notation inside markup
decrDynamics
decrescendoVéase también
dedicatoria3.2.1 Creating titles
defaultAutomatic accidentals
defaultAutomatic accidentals
defaultBarTypeFragmentos de código seleccionados
defaultTimeSignatureTime signature
Default_bar_line_engraverVéase también
derecha, mano, digitaciones para instrumentos de trasteRight-hand fingerings
derecho, pedalPiano pedals
desplazamientoInvisible rests
desplazamiento de silencios, automáticoCollision resolution
desplazamiento de vocesCollision resolution
desplazamiento, silencio automático deCollision resolution
desplazar notaCollision resolution
desplegar músicaWritten-out repeats
desplegar repeticiónWritten-out repeats
detener el pentagramaStaff symbol
detener líneas de pentagramaStaff symbol
diagrama de trastes personalizadoFret diagram markups
diagramas de acordes para instrumentos de trastesFret diagram markups
diagramas de traste, transporte de losPredefined fret diagrams
diagramas de trastesFret diagram markups
diagramas de trastes personalizados, añadirPredefined fret diagrams
dibujar el símbolo del pentagrama5.4.4 Staff symbol properties
dibujar objetos gráficosGraphic notation inside markup
dibujo del símbolo del pentagramaStaff symbol
digitaciones de la mano derecha para instrumentos de trastesRight-hand fingerings
digitaciones y silencios multicompásVéase también
digitaciones, añadir, a diagramas de trastesAutomatic fret diagrams
digitaciónFingering instructions
digitación de acordesFingering instructions
digitación frente a números de cuerdaString number indications
digitación, instrucciones de, para acordesFingering instructions
dimCommon chords
dimHairpinDynamics
diminuendoDynamics
dimTextDecrDynamics
dimTextDecrescDynamics
dimTextDimDynamics
dinámicaDynamics
dinámica, indicaciones de, centradas para música de tecladoAdvertencias y problemas conocidos
dinámica, posición verticalDynamics
dinámica, varias indicaciones sobre una notaDynamics
dinámicas indicaciones editorialesNew dynamic marks
dinámicas, indicaciones entre paréntesisNew dynamic marks
dinámicas, indicaciones, nuevasNew dynamic marks
discanto, signos de, del acordeónDiscant symbols
discontinua, ligaduraSlurs
discontinuas, ligadurasTies
diseño de página4.5.4 Line length
diseño «mensurstriche»Fragmentos de código seleccionados
dispatcherB.15 Scheme functions
displayLilyMusic6.1.7 Overview of available music functions
displayLilyMusicB.14 Identifiers
displayMusic6.1.7 Overview of available music functions
displayMusicB.14 Identifiers
disposición de la página3.2.2 Custom titles
distances, absolute5.4.3 Distances and measurements
distances, scaled5.4.3 Distances and measurements
distancia entre pentagramas4.4.1 Vertical spacing inside a system
distancia entre pentagramas en música de pianoCross-staff stems
divisibleFragmentos de código seleccionados
divisioDivisiones
divisionesDivisiones
división de notasAutomatic note splitting
Do, clave deClef
doble bemolAccidentals
doble compásPolymetric notation
doble puntillo, notas conDurations
doble sostenidoAccidentals
documentación interna5.3.3 The \override command
dodecafónico, estilo de alteracionesAutomatic accidentals
dodecaphonicAutomatic accidentals
doitVéase también
doits (elevaciones de tono)Falls and doits
dorianKey signature
DotColumnVéase también
DotsVéase también
dotsDownDurations
dotsNeutralDurations
dotsUpDurations
double flatVéase también
double sharpVéase también
DoublePercentRepeatVéase también
DoublePercentRepeatCounterVéase también
downbowB.10 List of articulations
drawing beams within textB.8.3 Graphic
drawing boxes with rounded cornersB.8.3 Graphic
drawing boxes with rounded corners around textB.8.3 Graphic
drawing circles within textB.8.3 Graphic
drawing lines within textB.8.3 Graphic
drawing solid boxes within textB.8.3 Graphic
drawing triangles within textB.8.3 Graphic
drummodeInstantiating new staves
DrumStaffVéase también
DrumStaffPercussion staves
DrumStaffVéase también
DrumVoicePercussion staves
DrumVoicePercussion staves
DrumVoiceVéase también
duraciones automáticas de las sílabasAutomatic syllable durations
duraciones de la melodía, mostrarShowing melody rhythms
duraciones en MIDISupported in MIDI
duración de las notasDurations
Duration names notes and restsVéase también
durations, scalingScaling durations
dynamicNew dynamic marks
dynamic-eventFragmentos de código seleccionados
dynamicDownDynamics
DynamicLineSpannerDynamics
DynamicLineSpannerVéase también
dynamicNeutralDynamics
DynamicTextVéase también
dynamicUpDynamics
dórico, modoKey signature

E
easyHeadsOffEasy notation note heads
easyHeadsOnEasy notation note heads
eclesiásticos, silenciosFragmentos de código seleccionados
editoriales, indicaciones dinámicasNew dynamic marks
elevaciones de tono (doits)Falls and doits
encabezamiento3.2.2 Custom titles
enclosing text in a box with rounded cornersB.8.3 Graphic
enclosing text within a boxB.8.1 Font
endSpanners6.1.7 Overview of available music functions
endSpannersB.14 Identifiers
Engravers and PerformersVéase también
Engravers and Performers5.1.3 Modifying context plug-ins
Engravers explainedVéase también
Engraving4.5.1 Horizontal spacing overview
enmarcar textoGraphic notation inside markup
ensayo, letra de, estiloRehearsal marks
ensayo, letra de, formatoRehearsal marks
ensayo, letra de, manualRehearsal marks
ensayo, letras deRehearsal marks
eolio, modoKey signature
eonio, modoKey signature
escalado de pentagramasOssia staves
escribir música en paraleloWriting music in parallel
Espaciado de la letraSpacing out syllables
espaciado de líneas adicionalesStaff symbol
espaciado horizontal4.5 Horizontal spacing
espaciado vertical4.4 Vertical spacing
espaciado, presentación del4.6.1 Displaying spacing
espacio dentro de los sistemas4.4.1 Vertical spacing inside a system
espacio entre pentagramas4.4.1 Vertical spacing inside a system
espacios, en la letraLyrics explained
espacios, en la letraLyrics explained
especial, símbolos de arpegioArpeggio
especiales, cabezas de figuraSpecial note heads
espressivoDynamics
espressivoB.10 List of articulations
espressivo, articulaciónDynamics
estilo de la letra de ensayoRehearsal marks
estilo de la ligaduraSlurs
estilos de cabeza de notaSpecial note heads
estándar, tamaño de la tipografía (de notación)Selecting notation font size
etiquetaUsing tags
evenFooterMarkup3.2.2 Custom titles
evenHeaderMarkup3.2.2 Custom titles
excepciones, nombres de acordeFragmentos de código seleccionados
expandFullBarRestsFull measure rests
explicitClefVisibilitySpecial considerations
explicitKeySignatureVisibilitySpecial considerations
ExplicitlySingle-staff polyphony
Explicitly instantiating voicesVéase también
explícitas, repeticionesWritten-out repeats
extensora, líneaExtenders and hyphens

F
fDynamics
Fa, clave deClef
fallVéase también
falls (caídas de tono)Falls and doits
fantasma, notasParentheses
FDL, GNU Free Documentation LicenseD. GNU Free Documentation License
featherDurationsFeathered beams
featherDurations6.1.7 Overview of available music functions
featherDurationsB.14 Identifiers
fermataB.10 List of articulations
fermataMarkupFull measure rests
Feta, tipografíaB.6 The Feta font
ffDynamics
fffDynamics
ffffDynamics
fifthVéase también
figura, cabeza de laSpecial note heads
Figured bassIntroduction to figured bass
figured bassVéase también
FiguredBassVéase también
FiguredBassVéase también
FiguredBassVéase también
final de repeticiónManual repeat marks
finales alternativos1.4.1 Long repeats
finalisDivisiones
fingerFingering instructions
finger-interface5.2.2 Layout interfaces
FingeringVéase también
FingeringVéase también
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.2 Layout interfaces
Fingering5.2.2 Layout interfaces
fingering-eventVéase también
fingering-event5.2.1 Navigating the program reference
fingering-event5.2.1 Navigating the program reference
FingeringEventVéase también
FingeringEvent5.2.1 Navigating the program reference
Fingering_engraverVéase también
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.3 Determining the grob property
first-page-numberOther layout variables
Fixing overlapping notationChanging staff manually
Fixing overlapping notationVéase también
flag-styleCross-staff stems
flageoletArticulations and ornamentations
flageoletB.10 List of articulations
flagsMensural flags
flatVéase también
followVoiceStaff-change lines
font-interfaceSelecting notation font size
font-interfaceFonts explained
font-interfaceB.8.6 Other
font-sizeSelecting notation font size
font-sizeSelecting notation font size
fontSizeSelecting notation font size
foot marksB.10 List of articulations
foot-separationVertical dimensions
Forbid_line_break_engraverVéase también
forgetAutomatic accidentals
formas, notas conShape note heads
formato de la letra de ensayoRehearsal marks
Formatting textB.13 Layout properties
Formatting textB.13 Layout properties
forte, pedalPiano pedals
four bar music.4.3.1 Line breaking
four-string-banjoBanjo tablatures
fpDynamics
fragmentosQuoting other voices
fragmentosFormatting cue notes
francesa, claveClef
francesa, partituras a laHiding staves
francesa, pentagrama a laHiding staves
francesa, pentagramas a laOssia staves
fraseo, corchetes deAnalysis brackets
fraseo, en la letraMultiple notes to one syllable
fraseo, ligadura deSlurs
fraseo, ligaduras dePhrasing slurs
fraseo, marcas dePhrasing slurs
Frenched staffVéase también
Frenched staffVéase también
fret diagramsPredefined fret diagrams
fret-diagramFret diagram markups
fret-diagram, marcado conFret diagram markups
fret-diagram-interfaceFret diagram markups
fret-diagram-interfaceVéase también
fret-diagram-interfacePredefined fret diagrams
fret-diagram-interfaceVéase también
fret-diagram-interfaceAutomatic fret diagrams
fret-diagram-interfaceVéase también
fret-diagram-terseFret diagram markups
fret-diagram-terse, marcado conFret diagram markups
fret-diagram-verboseFret diagram markups
fret-diagram-verbose, marcado conFret diagram markups
FretBoardsPredefined fret diagrams
frigio, modoKey signature
fuente tipográfica (de notación), tamañoSelecting notation font size
fuente tipográfica (de notación), tamaño estándar deSelecting notation font size
fuente tipográfica, cambiarSelecting font and font size
fuente tipográfica, familias deSelecting font and font size
fuente tipográfica, tamaño deSelecting font and font size
fuente, establecer la familia deEntire document fonts
fuentes tipográficas, explicaciónFonts explained
fundamental de un acordeCommon chords
fácil, notación, cabezas de nota deEasy notation note heads

G
gaitaBagpipe definitions
gaita escocesa de las tierras altasBagpipe definitions
gaita, ejemplo deBagpipe example
glifos musicalesRehearsal marks
glissandoGlissando
GlissandoVéase también
GlissandoVéase también
globoBalloon help
globo de ayudaBalloon help
graceGrace notes
grace6.1.7 Overview of available music functions
graceB.14 Identifiers
grace notesVéase también
GraceMusicVéase también
GraceMusic6.2.2 Internal music representation
grand staffVéase también
GrandStaffVéase también
GrandStaffVéase también
Gregorian square neumes ligaturesGregorian square neume ligatures
gregoriano, canto, pauta de transcripción deInstantiating new staves
GregorianTranscriptionStaffVéase también
grid-line-interfaceVéase también
grid-point-interfaceVéase también
gridIntervalGrid lines
GridLineVéase también
GridPointVéase también
Grid_line_span_engraverGrid lines
Grid_point_engraverGrid lines
grob5.2.2 Layout interfaces
grob-interface5.2.2 Layout interfaces
grob-interface5.2.2 Layout interfaces
grobs, sobreescritura dePainting objects white
grobs, visibilidad de5.4.6 Visibility of objects
grosor de líneas de pautaStaff symbol
grow-directionFeathered beams
grupetoArticulations and ornamentations
grupeto circularB.10 List of articulations
grupeto circular invertidoB.10 List of articulations
grupos especialesTuplets
grupos especiales, formato deFragmentos de código seleccionados
gráfica, notaciónGraphic notation inside markup
gráficos, descripción de los objetos5.3.3 The \override command
gráficos, insertarGraphic notation inside markup
gráficos, insertarGraphic notation inside markup
guionesArticulations and ornamentations
guionesExtenders and hyphens
guitarra, cabezas de notaSpecial note heads
guitarra, mostrar ritmos rasgueadosShowing melody rhythms
guitarra, tablas de acordesShowing melody rhythms
guitarra, tablatura de2.4 Fretted string instruments
guía, formateo de las notasFormatting cue notes
guía, notasFormatting cue notes
guía, notas, formato deFormatting cue notes
guíasQuoting other voices

H
HairpinVéase también
hairpinVéase también
Hal LeonardEasy notation note heads
harmonicsVéase también
harpsReferences for harps
head-separationVertical dimensions
header3.2.2 Custom titles
hideKeySignatureBagpipe definitions
hideNotesHidden notes
hideStaffSwitchStaff-change lines
horizontal, alineación de textoText alignment
horizontal, corcheteAnalysis brackets
horizontal, espaciado4.5 Horizontal spacing
horizontal, papel4.1.1 Paper size
horizontal-bracket-interfaceVéase también
horizontal-shiftHorizontal dimensions
HorizontalBracketVéase también
horizontally centering textB.8.2 Align
Horizontal_bracket_engraverAnalysis brackets
How LilyPond input files workVéase también
hufnagel2.8 Ancient notation
hufnagel2.8.1 Overview of the supported styles
hugeSelecting notation font size

I
I’m hearingPercussion staves
I’m hearing VoicesVéase también
idioma, alturas en otrosNote names in other languages
idioma, nombres de nota en otrosNote names in other languages
importing stencils into textB.8.6 Other
impresión de caracteres especialesText markup introduction
impresión de los nombres de acordePrinting chord names
impresión, orden dePainting objects white
improvisaciónImprovisation
improvisationOffImprovisation
improvisationOffShowing melody rhythms
improvisationOnImprovisation
improvisationOnShowing melody rhythms
imágenes, insertarGraphic notation inside markup
includePageLayoutFile6.1.7 Overview of available music functions
includePageLayoutFileB.14 Identifiers
including files3.3.1 Including LilyPond files
indentInstrument names
indentHorizontal dimensions
indent4.5.4 Line length
indicaciones de pedalArticulations and ornamentations
indicaciones de pedalero de órganoArticulations and ornamentations
indicaciones dinámicas nuevasNew dynamic marks
Indicación de compásTime signature
indicación de pulgarArticulations and ornamentations
iniciar el pentagramaStaff symbol
iniciar líneas de pentagramaStaff symbol
inlining an Encapsulated PostScript imageB.8.3 Graphic
inscripción sobre un silencio multicompásFull measure rests
insertar gráficosGraphic notation inside markup
inserting music into textB.8.4 Music
inserting PostScript directly into textB.8.3 Graphic
inserting URL links into textB.8.3 Graphic
instrument3.2.1 Creating titles
instrument names, centeringInstrument names
instrument names, changingInstrument names
instrument-specific-markup-interfaceB.8.6 Other
InstrumentNameVéase también
instrumento, cambio deInstrument names
instrumento, nombre abreviadoInstrument names
instrumento, nombre delInstrument names
instrumento, nombres deInstrument names
instrumentos transpositoresTranspose
instrumentSwitchInstrument names
instrumentSwitch6.1.7 Overview of available music functions
instrumentSwitchB.14 Identifiers
interfaz de la presentación5.2.2 Layout interfaces
interna, documentación5.3.3 The \override command
interno, almacenamiento6.3.1 Displaying music expressions
intervalVéase también
invisible, plicaStems
invisible, silencioInvisible rests
invisibles, notasHidden notes
Invoking lilypond3.4.1 Extracting fragments of music
ionianKey signature
item-interface5.2.2 Layout interfaces

J
jazz, acordes deChord mode overview
jazz, acordes deCustomizing chord names
justificado, textoText alignment
justifying lines of textB.9 Text markup list commands
justifying textB.8.2 Align

K
keepWithTag6.1.7 Overview of available music functions
keepWithTagB.14 Identifiers
keyKey signature
keyShape note heads
key signatureAccidentals
key signatureGregorian accidentals and key signatures
key-cancellation-interfaceVéase también
key-signature-interfaceVéase también
KeyCancellationVéase también
KeyChangeEventVéase también
KeySignatureVéase también
KeySignatureMensural accidentals and key signatures
KeySignatureVéase también
KeySignatureGregorian accidentals and key signatures
KeySignatureVéase también
KeySignatureVéase también
Key_engraverVéase también
Key_performerVéase también
killCuesFormatting cue notes
killCues6.1.7 Overview of available music functions
killCuesB.14 Identifiers
kirchenpausenFragmentos de código seleccionados

L
label6.1.7 Overview of available music functions
labelB.14 Identifiers
laissez vibrerVéase también
laissezVibrerTies
LaissezVibrerTieVéase también
LaissezVibrerTieColumnVéase también
largeSelecting notation font size
layout file4.2.1 Setting the staff size
ledger lineVéase también
ledger-line-spanner-interfaceVéase también
LedgerLineSpannerVéase también
Ledger_line_engraverVéase también
left aligning textB.8.2 Align
left-marginHorizontal dimensions
lengthCross-staff stems
Length and thickness of objectsVéase también
Length and thickness of objects5.4.3 Distances and measurements
Length and thickness of objectsVéase también
letraLyrics explained
letra asignada a una vozSingle-staff polyphony
letra de ensayo, estiloRehearsal marks
letra de ensayo, formatoRehearsal marks
letra y barradoSetting automatic beam behavior
letra y melodíasAutomatic syllable durations
Letra, aumentar el espaciadoSpacing out syllables
letra, desplazamiento deInvisible rests
letra, identificadores deWorking with lyrics and variables
letras de ensayoRehearsal marks
lidio, modoKey signature
ligadura continuaSlurs
ligadura de expresión, estiloSlurs
ligadura de fraseoSlurs
ligadura de puntosSlurs
ligadura de uniónTies
ligadura discontinuaSlurs
ligadura, alteraciones yAccidentals
ligaduras de expresiónSlurs
ligaduras de expresión simultáneasSlurs
ligaduras de expresión y repeticionesAdvertencias y problemas conocidos
ligaduras de expresión, debajo de las notasSlurs
ligaduras de expresión, encima de las notasSlurs
ligaduras de expresión, posicionamiento manualSlurs
ligaduras de expresión, variasSlurs
ligaduras de fraseoPhrasing slurs
ligaduras de puntosTies
ligaduras de unión y corchetes de primera y segunda vezTies
ligaduras de unión, repeticiones yTies
ligaduras discontinuasTies
ligaduras en las repeticionesNormal repeats
ligaduras en primera y segunda vezNormal repeats
ligaduras laissez vibrerTies
ligaduras, aparienciaTies
ligaduras, colocaciónTies
ligaduras, en el textoMultiple syllables to one note
ligaduras, en la letraLyrics explained
LigatureBracketLigatures
LigaturesLigatures
ligatures in textB.8.2 Align
Ligature_bracket_engraverWhite mensural ligatures
Ligature_bracket_engraverWhite mensural ligatures
lineVéase también
line-spanner-interfaceVéase también
line-widthHorizontal dimensions
line-width4.5.4 Line length
LineBreakEventVéase también
lista de coloresNormal colors
listenerB.15 Scheme functions
llave verticalGrouping staves
llaves, anidado deNested staff groups
locrianKey signature
locrio, modoKey signature
longaDurations
longaRests
longa, silencio deRests
longitud de las notasDurations
lowering textB.8.2 Align
ly:add-file-name-alistB.15 Scheme functions
ly:add-interfaceB.15 Scheme functions
ly:add-listenerB.15 Scheme functions
ly:add-optionB.15 Scheme functions
ly:all-grob-interfacesB.15 Scheme functions
ly:all-optionsB.15 Scheme functions
ly:all-stencil-expressionsB.15 Scheme functions
ly:assoc-getB.15 Scheme functions
ly:book-add-bookpart!B.15 Scheme functions
ly:book-add-score!B.15 Scheme functions
ly:book-processB.15 Scheme functions
ly:book-process-to-systemsB.15 Scheme functions
ly:box?B.15 Scheme functions
ly:bpB.15 Scheme functions
ly:bracketB.15 Scheme functions
ly:broadcastB.15 Scheme functions
ly:camel-case->lisp-identifierB.15 Scheme functions
ly:chain-assoc-getB.15 Scheme functions
ly:clear-anonymous-modulesB.15 Scheme functions
ly:cmB.15 Scheme functions
ly:command-line-codeB.15 Scheme functions
ly:command-line-optionsB.15 Scheme functions
ly:command-line-verbose?B.15 Scheme functions
ly:connect-dispatchersB.15 Scheme functions
ly:context-event-sourceB.15 Scheme functions
ly:context-events-belowB.15 Scheme functions
ly:context-findB.15 Scheme functions
ly:context-grob-definitionB.15 Scheme functions
ly:context-idB.15 Scheme functions
ly:context-nameB.15 Scheme functions
ly:context-nowB.15 Scheme functions
ly:context-parentB.15 Scheme functions
ly:context-propertyB.15 Scheme functions
ly:context-property-where-definedB.15 Scheme functions
ly:context-pushpop-propertyB.15 Scheme functions
ly:context-set-property!B.15 Scheme functions
ly:context-unset-propertyB.15 Scheme functions
ly:context?B.15 Scheme functions
ly:default-scaleB.15 Scheme functions
ly:dimension?B.15 Scheme functions
ly:dir?B.15 Scheme functions
ly:duration->stringB.15 Scheme functions
ly:duration-dot-countB.15 Scheme functions
ly:duration-factorB.15 Scheme functions
ly:duration-lengthB.15 Scheme functions
ly:duration-logB.15 Scheme functions
ly:duration<?B.15 Scheme functions
ly:duration?B.15 Scheme functions
ly:effective-prefixB.15 Scheme functions
ly:errorB.15 Scheme functions
ly:eval-simple-closureB.15 Scheme functions
ly:event-deep-copyB.15 Scheme functions
ly:event-propertyB.15 Scheme functions
ly:event-set-property!B.15 Scheme functions
ly:expand-environmentB.15 Scheme functions
ly:exportB.15 Scheme functions
ly:find-fileB.15 Scheme functions
ly:font-config-add-directoryB.15 Scheme functions
ly:font-config-add-fontB.15 Scheme functions
ly:font-config-display-fontsB.15 Scheme functions
ly:font-config-get-font-fileB.15 Scheme functions
ly:font-design-sizeB.15 Scheme functions
ly:font-file-nameB.15 Scheme functions
ly:font-get-glyphB.15 Scheme functions
ly:font-glyph-name-to-charcodeB.15 Scheme functions
ly:font-glyph-name-to-indexB.15 Scheme functions
ly:font-index-to-charcodeB.15 Scheme functions
ly:font-magnificationB.15 Scheme functions
ly:font-metric?B.15 Scheme functions
ly:font-nameB.15 Scheme functions
ly:font-sub-fontsB.15 Scheme functions
ly:formatB.15 Scheme functions
ly:format-outputB.15 Scheme functions
ly:get-all-function-documentationB.15 Scheme functions
ly:get-all-translatorsB.15 Scheme functions
ly:get-glyphB.15 Scheme functions
ly:get-listened-event-classesB.15 Scheme functions
ly:get-optionB.15 Scheme functions
ly:gettextB.15 Scheme functions
ly:grob-alist-chainB.15 Scheme functions
ly:grob-array-lengthB.15 Scheme functions
ly:grob-array-refB.15 Scheme functions
ly:grob-array?B.15 Scheme functions
ly:grob-basic-propertiesB.15 Scheme functions
ly:grob-common-refpointB.15 Scheme functions
ly:grob-common-refpoint-of-arrayB.15 Scheme functions
ly:grob-default-fontB.15 Scheme functions
ly:grob-extentB.15 Scheme functions
ly:grob-interfacesB.15 Scheme functions
ly:grob-layoutB.15 Scheme functions
ly:grob-objectB.15 Scheme functions
ly:grob-originalB.15 Scheme functions
ly:grob-parentB.15 Scheme functions
ly:grob-pq<?B.15 Scheme functions
ly:grob-propertiesB.15 Scheme functions
ly:grob-propertyB.15 Scheme functions
ly:grob-property-dataB.15 Scheme functions
ly:grob-relative-coordinateB.15 Scheme functions
ly:grob-robust-relative-extentB.15 Scheme functions
ly:grob-script-priority-lessB.15 Scheme functions
ly:grob-set-property!B.15 Scheme functions
ly:grob-staff-positionB.15 Scheme functions
ly:grob-suicide!B.15 Scheme functions
ly:grob-systemB.15 Scheme functions
ly:grob-translate-axis!B.15 Scheme functions
ly:grob?B.15 Scheme functions
ly:gulp-fileB.15 Scheme functions
ly:hash-table-keysB.15 Scheme functions
ly:inchB.15 Scheme functions
ly:input-both-locationsB.15 Scheme functions
ly:input-file-line-char-columnB.15 Scheme functions
ly:input-location?B.15 Scheme functions
ly:input-messageB.15 Scheme functions
ly:interpret-music-expressionB.15 Scheme functions
ly:interpret-stencil-expressionB.15 Scheme functions
ly:intlog2B.15 Scheme functions
ly:is-listened-event-classB.15 Scheme functions
ly:item-break-dirB.15 Scheme functions
ly:item?B.15 Scheme functions
ly:iterator?B.15 Scheme functions
ly:lexer-keywordsB.15 Scheme functions
ly:lily-lexer?B.15 Scheme functions
ly:lily-parser?B.15 Scheme functions
ly:make-bookB.15 Scheme functions
ly:make-book-partB.15 Scheme functions
ly:make-dispatcherB.15 Scheme functions
ly:make-durationB.15 Scheme functions
ly:make-global-contextB.15 Scheme functions
ly:make-global-translatorB.15 Scheme functions
ly:make-listenerB.15 Scheme functions
ly:make-momentB.15 Scheme functions
ly:make-musicB.15 Scheme functions
ly:make-music-functionB.15 Scheme functions
ly:make-output-defB.15 Scheme functions
ly:make-page-label-markerB.15 Scheme functions
ly:make-page-permission-markerB.15 Scheme functions
ly:make-pango-description-stringB.15 Scheme functions
ly:make-paper-outputterB.15 Scheme functions
ly:make-pitchB.15 Scheme functions
ly:make-probB.15 Scheme functions
ly:make-scaleB.15 Scheme functions
ly:make-scoreB.15 Scheme functions
ly:make-simple-closureB.15 Scheme functions
ly:make-stencilB.15 Scheme functions
ly:make-stream-eventB.15 Scheme functions
ly:messageB.15 Scheme functions
ly:minimal-breaking4.3.5 Minimal page breaking
ly:minimal-breakingB.15 Scheme functions
ly:mmB.15 Scheme functions
ly:module->alistB.15 Scheme functions
ly:module-copyB.15 Scheme functions
ly:modules-lookupB.15 Scheme functions
ly:moment-addB.15 Scheme functions
ly:moment-divB.15 Scheme functions
ly:moment-grace-denominatorB.15 Scheme functions
ly:moment-grace-numeratorB.15 Scheme functions
ly:moment-main-denominatorB.15 Scheme functions
ly:moment-main-numeratorB.15 Scheme functions
ly:moment-modB.15 Scheme functions
ly:moment-mulB.15 Scheme functions
ly:moment-subB.15 Scheme functions
ly:moment<?B.15 Scheme functions
ly:moment?B.15 Scheme functions
ly:music-compressB.15 Scheme functions
ly:music-deep-copyB.15 Scheme functions
ly:music-duration-compressB.15 Scheme functions
ly:music-duration-lengthB.15 Scheme functions
ly:music-function-extractB.15 Scheme functions
ly:music-function?B.15 Scheme functions
ly:music-lengthB.15 Scheme functions
ly:music-list?B.15 Scheme functions
ly:music-mutable-propertiesB.15 Scheme functions
ly:music-output?B.15 Scheme functions
ly:music-propertyB.15 Scheme functions
ly:music-set-property!B.15 Scheme functions
ly:music-transposeB.15 Scheme functions
ly:music?B.15 Scheme functions
ly:note-head::stem-attachmentB.15 Scheme functions
ly:number->stringB.15 Scheme functions
ly:optimal-breaking4.3.3 Optimal page breaking
ly:optimal-breakingB.15 Scheme functions
ly:option-usageB.15 Scheme functions
ly:otf->cffB.15 Scheme functions
ly:otf-font-glyph-infoB.15 Scheme functions
ly:otf-font-table-dataB.15 Scheme functions
ly:otf-font?B.15 Scheme functions
ly:otf-glyph-listB.15 Scheme functions
ly:output-def-cloneB.15 Scheme functions
ly:output-def-lookupB.15 Scheme functions
ly:output-def-parentB.15 Scheme functions
ly:output-def-scopeB.15 Scheme functions
ly:output-def-set-variable!B.15 Scheme functions
ly:output-def?B.15 Scheme functions
ly:output-descriptionB.15 Scheme functions
ly:output-formatsB.15 Scheme functions
ly:outputter-closeB.15 Scheme functions
ly:outputter-dump-stencilB.15 Scheme functions
ly:outputter-dump-stringB.15 Scheme functions
ly:outputter-output-schemeB.15 Scheme functions
ly:outputter-portB.15 Scheme functions
ly:page-marker?B.15 Scheme functions
ly:page-turn-breaking4.3.4 Optimal page turning
ly:page-turn-breakingB.15 Scheme functions
ly:pango-font-physical-fontsB.15 Scheme functions
ly:pango-font?B.15 Scheme functions
ly:paper-book-pagesB.15 Scheme functions
ly:paper-book-paperB.15 Scheme functions
ly:paper-book-performancesB.15 Scheme functions
ly:paper-book-scopesB.15 Scheme functions
ly:paper-book-systemsB.15 Scheme functions
ly:paper-book?B.15 Scheme functions
ly:paper-fontsB.15 Scheme functions
ly:paper-get-fontB.15 Scheme functions
ly:paper-get-numberB.15 Scheme functions
ly:paper-outputscaleB.15 Scheme functions
ly:paper-score-paper-systemsB.15 Scheme functions
ly:paper-system-minimum-distanceB.15 Scheme functions
ly:paper-system?B.15 Scheme functions
ly:parse-fileB.15 Scheme functions
ly:parser-clear-errorB.15 Scheme functions
ly:parser-cloneB.15 Scheme functions
ly:parser-define!B.15 Scheme functions
ly:parser-errorB.15 Scheme functions
ly:parser-has-error?B.15 Scheme functions
ly:parser-lexerB.15 Scheme functions
ly:parser-lookupB.15 Scheme functions
ly:parser-output-nameB.15 Scheme functions
ly:parser-parse-stringB.15 Scheme functions
ly:parser-set-note-namesB.15 Scheme functions
ly:performance-writeB.15 Scheme functions
ly:pfb->pfaB.15 Scheme functions
ly:pitch-alterationB.15 Scheme functions
ly:pitch-diffB.15 Scheme functions
ly:pitch-negateB.15 Scheme functions
ly:pitch-notenameB.15 Scheme functions
ly:pitch-octaveB.15 Scheme functions
ly:pitch-quartertonesB.15 Scheme functions
ly:pitch-semitonesB.15 Scheme functions
ly:pitch-stepsB.15 Scheme functions
ly:pitch-transposeB.15 Scheme functions
ly:pitch<?B.15 Scheme functions
ly:pitch?B.15 Scheme functions
ly:position-on-line?B.15 Scheme functions
ly:prob-immutable-propertiesB.15 Scheme functions
ly:prob-mutable-propertiesB.15 Scheme functions
ly:prob-propertyB.15 Scheme functions
ly:prob-property?B.15 Scheme functions
ly:prob-set-property!B.15 Scheme functions
ly:prob-type?B.15 Scheme functions
ly:prob?B.15 Scheme functions
ly:programming-errorB.15 Scheme functions
ly:progressB.15 Scheme functions
ly:property-lookup-statsB.15 Scheme functions
ly:protectsB.15 Scheme functions
ly:ptB.15 Scheme functions
ly:register-stencil-expressionB.15 Scheme functions
ly:relative-group-extentB.15 Scheme functions
ly:reset-all-fontsB.15 Scheme functions
ly:round-filled-boxB.15 Scheme functions
ly:round-filled-polygonB.15 Scheme functions
ly:run-translatorB.15 Scheme functions
ly:score-add-output-def!B.15 Scheme functions
ly:score-embedded-formatB.15 Scheme functions
ly:score-error?B.15 Scheme functions
ly:score-headerB.15 Scheme functions
ly:score-musicB.15 Scheme functions
ly:score-output-defsB.15 Scheme functions
ly:score-set-header!B.15 Scheme functions
ly:score?B.15 Scheme functions
ly:set-default-scaleB.15 Scheme functions
ly:set-grob-modification-callbackB.15 Scheme functions
ly:set-middle-C!B.15 Scheme functions
ly:set-optionB.15 Scheme functions
ly:set-property-cache-callbackB.15 Scheme functions
ly:simple-closure?B.15 Scheme functions
ly:skyline-pair?B.15 Scheme functions
ly:skyline?B.15 Scheme functions
ly:smob-protectsB.15 Scheme functions
ly:solve-spring-rod-problemB.15 Scheme functions
ly:source-file?B.15 Scheme functions
ly:spanner-boundB.15 Scheme functions
ly:spanner-broken-intoB.15 Scheme functions
ly:spanner?B.15 Scheme functions
ly:staff-symbol-line-thicknessB.15 Scheme functions
ly:start-environmentB.15 Scheme functions
ly:stderr-redirectB.15 Scheme functions
ly:stencil-addB.15 Scheme functions
ly:stencil-aligned-toB.15 Scheme functions
ly:stencil-combine-at-edgeB.15 Scheme functions
ly:stencil-empty?B.15 Scheme functions
ly:stencil-exprB.15 Scheme functions
ly:stencil-extentB.15 Scheme functions
ly:stencil-fontsB.15 Scheme functions
ly:stencil-in-colorB.15 Scheme functions
ly:stencil-rotateB.15 Scheme functions
ly:stencil-rotate-absoluteB.15 Scheme functions
ly:stencil-translateB.15 Scheme functions
ly:stencil-translate-axisB.15 Scheme functions
ly:stencil?B.15 Scheme functions
ly:stream-event?B.15 Scheme functions
ly:string-substituteB.15 Scheme functions
ly:system-font-loadB.15 Scheme functions
ly:system-printB.15 Scheme functions
ly:system-stretchB.15 Scheme functions
ly:text-dimensionB.15 Scheme functions
ly:text-interface::interpret-markupB.15 Scheme functions
ly:translator-descriptionB.15 Scheme functions
ly:translator-group?B.15 Scheme functions
ly:translator-nameB.15 Scheme functions
ly:translator?B.15 Scheme functions
ly:transpose-key-alistB.15 Scheme functions
ly:truncate-list!B.15 Scheme functions
ly:ttf->pfaB.15 Scheme functions
ly:ttf-ps-nameB.15 Scheme functions
ly:unitB.15 Scheme functions
ly:usageB.15 Scheme functions
ly:versionB.15 Scheme functions
ly:warningB.15 Scheme functions
ly:wide-char->utf-8B.15 Scheme functions
lydianKey signature
LyricCombineMusicVéase también
LyricCombineMusicVéase también
LyricExtenderVéase también
LyricHyphenVéase también
LyricsVéase también
LyricsVéase también
Lyrics2.1.3 Aligning lyrics to a melody
LyricsVéase también
LyricsB.12 All context properties
LyricSpaceVéase también
LyricTextVéase también
LyricTextVéase también
línea de cambio de pentagramaStaff-change lines
línea de extensiónExtenders and hyphens
línea de seguimiento de pentagramaStaff-change lines
línea vertical entre pentagramasGrid lines
línea, saltosBar lines
línea, saltos de4.3.1 Line breaking
línea, saltos de, y barradoFragmentos de código seleccionados
líneas de rejillaGrid lines
líneas divisoriasBar lines
líneas divisorias invisiblesBar lines
líneas divisorias manualesBar lines
líneas divisorias, eliminaciónSpecial considerations
líneas divisorias, quitarUnmetered music
líneas divisorias, símbolos sobre lasText marks
líneas, número de, de la pautaStaff symbol

M
mCommon chords
magnifying textB.8.1 Font
magstepSelecting notation font size
magstep5.4.3 Distances and measurements
majCommon chords
majorKey signature
major seven symbolsInstrucciones predefinidas
majorSevenSymbolCustomizing chord names
make-dynamic-scriptNew dynamic marks
make-pango-font-treeEntire document fonts
makeClustersClusters
makeClusters6.1.7 Overview of available music functions
makeClustersB.14 Identifiers
manetener música etiquetadaUsing tags
mantenimiento, pedal, estilos dePiano pedals
manual, cambio de pentagramaChanging staff manually
manual, marca de repeticiónManual repeat marks
manuales, barrasAutomatic beams
manuales, barrasManual beams
manuales, barras de compásBar lines
manuales, líneas divisoriasBar lines
maqamReferences for Arabic music
maqamsReferences for Arabic music
marca de ensayo manualRehearsal marks
marca de ensayo, estiloRehearsal marks
marca de ensayo, formatoRehearsal marks
marcadoText markup introduction
marcado de textoText markup introduction
marcado, caracteres especiales en modo deText markup introduction
marcado, definir instrucciones de6.4.1 Markup construction in Scheme
marcado, expresiones deText markup introduction
marcado, sintaxisText markup introduction
marcas de fraseoPhrasing slurs
marcatoArticulations and ornamentations
marcatoB.10 List of articulations
markRehearsal marks
maticesDynamics
matices absolutosDynamics
matices, posición verticalDynamics
matices, varios sobre una notaDynamics
maximaDurations
maximaRests
maxima, silencio deRests
mayor, modoKey signature
measureLengthAutomatic beams
measureLengthSetting automatic beam behavior
measureLengthTime administration
measurePositionUpbeats
measurePositionTime administration
Medicaea, Editio2.8 Ancient notation
Medicaea, Editio2.8.1 Overview of the supported styles
medidaTime signature
medida, música sinTime administration
medios, intervalosReferences for Arabic music
melismaMultiple notes to one syllable
melismaExtenders and hyphens
melismataMultiple notes to one syllable
melodía, mostrar las duracionesShowing melody rhythms
menor, modoKey signature
mensuración, símbolo deMensural time signatures
mensural2.8 Ancient notation
mensural2.8.1 Overview of the supported styles
Mensural ligaturesWhite mensural ligatures
mensural, música, transcripción deFragmentos de código seleccionados
MensuralStaffVéase también
MensuralStaffContextMensural contexts
MensuralVoiceContextMensural contexts
Mensural_ligature_engraverWhite mensural ligatures
Mensural_ligature_engraverWhite mensural ligatures
Mensural_ligature_engraver2.8.4 Typesetting Gregorian chant
mensurstriche, diseñoFragmentos de código seleccionados
mergeDifferentlyDottedOffCollision resolution
mergeDifferentlyDottedOnCollision resolution
mergeDifferentlyHeadedOffCollision resolution
mergeDifferentlyHeadedOnCollision resolution
merging textB.8.2 Align
meter3.2.1 Creating titles
metro polimétricoPolymetric notation
metro, estilo deTime signature
metronomeVéase también
metronome markVéase también
MetronomeMarkVéase también
metronomic indicationVéase también
metrónomo, indicación deMetronome marks
metrónomo, indicación de, con textoMetronome marks
mezclar notasCollision resolution
mezzosoprano, clave deClef
mfDynamics
microtonosNote names in other languages
microtonos en MIDISupported in MIDI
MIDIInstrument transpositions
MIDI3.5 MIDI output
MIDI, alturasSupported in MIDI
MIDI, cuartos de tonoSupported in MIDI
MIDI, definiciones de contexto3.5.2 MIDI block
MIDI, duracionesSupported in MIDI
MIDI, microtonosSupported in MIDI
MIDI, nombres deSupported in MIDI
MIDI, transposiciónInstrument transpositions
minimumFretDefault tablatures
minimumPageTurnLength4.3.4 Optimal page turning
minimumRepeatLengthForPageTurn4.3.4 Optimal page turning
minorKey signature
mixedPiano pedals
mixolidio, modoKey signature
mixolydianKey signature
modernAutomatic accidentals
modern-cautionaryAutomatic accidentals
modern-voiceAutomatic accidentals
modern-voice-cautionaryAutomatic accidentals
moderno de precaución, alteraciones de estiloAutomatic accidentals
moderno, alteraciones de estiloAutomatic accidentals
moderno, alteraciones de estiloAutomatic accidentals
moderno, alteraciones de estiloAutomatic accidentals
moderno, estilo de alteracionesAutomatic accidentals
moderno-precaución, estilo de alteracionesAutomatic accidentals
modificadores de acordeCommon chords
modo de acordes2.7.1 Chord mode
modosKey signature
modos eclesiásticosKey signature
mordentB.10 List of articulations
mordenteArticulations and ornamentations
mordente circularArticulations and ornamentations
mordente circular, inversoArticulations and ornamentations
mordentesGrace notes
mordentesBagpipe definitions
movimientos, varios3.1.2 Multiple scores in a book
Moving objectsText alignment
Moving objectsVéase también
Moving objectsAdvertencias y problemas conocidos
mpDynamics
multi-measure restVéase también
multicompás, posicionamiento de los silenciosFragmentos de código seleccionados
multicompás, silencio, adjuntar textoFull measure rests
multicompás, silencio, aplicar un calderón aFull measure rests
multicompás, silenciosFull measure rests
multicompás, silencios, contracción deFull measure rests
multicompás, silencios, digitaciones yVéase también
multicompás, silencios, expansión deFull measure rests
multicompás, silencios, inscripción enFull measure rests
MultiMeasureRestVéase también
MultiMeasureRestNumberVéase también
MultiMeasureRestTextVéase también
Multiple notes at onceVéase también
multiple phrasing slursPhrasing slurs
Music6.2.2 Internal music representation
Music classes6.2.2 Internal music representation
Music definitions5.2.1 Navigating the program reference
Music expressions explainedVéase también
Music properties6.2.2 Internal music representation
musica ficta, alteracionesAnnotational accidentals (musica ficta)
musicales, glifosRehearsal marks
musicglyphRehearsal marks
musicMap6.1.7 Overview of available music functions
musicMapB.14 Identifiers
musicológico, análisisAnalysis brackets
música desplegada con finales alternativosWritten-out repeats
música intercaladaWriting music in parallel
música para principiantesEasy notation note heads
música sin medidaTime administration
música sin metroUnmetered music

N
natural, notaAccidentals
naturales, armónicosHarmonics
neo-modernAutomatic accidentals
neo-modern-cautionaryAutomatic accidentals
neo-moderno de precaución, estilo de alteracionesAutomatic accidentals
neo-moderno, estilo de alteracionesAutomatic accidentals
neomensural2.8.1 Overview of the supported styles
nested contexts5.1.6 Aligning contexts
Nesting music expressionsOssia staves
Nesting music expressionsVéase también
New_fingering_engraverVéase también
New_fingering_engraver5.2.1 Navigating the program reference
niente, alFragmentos de código seleccionados
no restablecer, estilo de alteracionesAutomatic accidentals
no vacíos, textosText scripts
no-resetAutomatic accidentals
noBeamManual beams
nombre del cantanteAdding singers’ names to stanzas
nombres de las notasAbsolute octave entry
noPageBreak6.1.7 Overview of available music functions
noPageBreakB.14 Identifiers
noPageTurn6.1.7 Overview of available music functions
noPageTurnB.14 Identifiers
normalsizeSelecting notation font size
nota abiertaArticulations and ornamentations
nota de espaciadoInvisible rests
nota tapadaArticulations and ornamentations
nota, cabeza de, armónicoSpecial note heads
nota, cabeza de, en aspasSpecial note heads
nota, cabeza de, en parlatoSpecial note heads
nota, cabeza de, en romboSpecial note heads
nota, cabeza de, estilosSpecial note heads
nota, cabeza de, guitarraSpecial note heads
nota, cabeza especial deSpecial note heads
nota, estilos de cabezaB.7 Note head styles
notación, explicación deBalloon help
notación, tamaño de la fuenteSelecting notation font size
notas coloreadasColoring objects
notas coloreadas en acordesVéase también
notas de adornoBagpipe definitions
notas de pentagrama cruzadoCross-staff stems
notas entre paréntesisParentheses
notas fantasmaParentheses
notas guíaQuoting other voices
notas guíaFormatting cue notes
notas guía, quitarFormatting cue notes
notas invisiblesHidden notes
notas ocultasHidden notes
notas transparentesHidden notes
notas, cabezas deSelecting notation font size
notas, cabezas de, AikenShape note heads
notas, cabezas de, arpa sacraShape note heads
notas, cabezas de, barradasImprovisation
notas, cabezas de, con formasShape note heads
notas, cabezas de, estudioEasy notation note heads
notas, cabezas de, improvisaciónImprovisation
notas, cabezas de, notación simplificadaEasy notation note heads
notas, colisiones deCollision resolution
notas, con doble puntilloDurations
notas, con puntilloDurations
notas, corchetes de agrupación deAnalysis brackets
notas, división deAutomatic note splitting
notas, duración deDurations
notas, longitud deDurations
notas, nombres de, en otros idiomasNote names in other languages
notas, nombres holandeses deAccidentals
notas, nombres predeterminadosAccidentals
notas, transporte deTranspose
note valueVéase también
note-collision-interfaceB.13 Layout properties
note-collision-interfaceB.13 Layout properties
note-collision-interfaceB.13 Layout properties
note-eventVéase también
note-eventVéase también
note-eventVéase también
note-head-interfaceVéase también
note-head-interfaceVéase también
note-head-interfaceVéase también
NoteCollisionVéase también
NoteColumnVéase también
NoteEvent6.2.2 Internal music representation
NoteEvent6.2.2 Internal music representation
NoteHeadVéase también
NoteHeadVéase también
NoteHeadVéase también
NoteHeadMensural note heads
NoteHead6.5.2 Running a function on all layout objects
notes de pentagrama cruzadoChanging staff manually
notes within text by log and dot-countB.8.4 Music
notes within text by stringB.8.4 Music
NoteSpacingVéase también
NoteSpacing4.5.1 Horizontal spacing overview
NoteSpacingVéase también
Note_heads_engraverAutomatic note splitting
Note_heads_engraverVéase también
Note_heads_engraverVéase también
Note_heads_engraverVéase también
Note_heads_engraver5.1.5 Defining new contexts
Note_head_line_engraverVéase también
Note_spacing_engraverVéase también
nots, cabezas de, para precticarEasy notation note heads
nuevo pentagramaInstantiating new staves
nuevos, contextos5.1.2 Creating contexts
numeración de compases, quitarUnmetered music
numericTimeSignatureTime signature
número de compases, formato deFragmentos de código seleccionados
número de compásTime administration
número de compás, colisiónVéase también
número de compás, comprobación deBar and bar number checks
número de líneas de pautaStaff symbol
números de compásBar numbers
números de compás y repeticionesAdvertencias y problemas conocidos
números de cuerda frente a digitacionesString number indications

O
objects, rotatingRotating layout objects
objetos, coloreado dePainting objects white
objetos, colorearColoring objects
objetos, sobreescritura dePainting objects white
objetos, visibilidad de5.4.6 Visibility of objects
ocatva, especificación relativaRelative octave entry
octava, comprobación deOctave checks
octava, corrección deOctave checks
octava, especificación absolutaAbsolute octave entry
octava, introducción absolutaAbsolute octave entry
octava, introducción relativaRelative octave entry
octava, marca de cambio deAbsolute octave entry
octava, transposición deClef
octavaciónOttava brackets
octavadas, visibilidad de las clavesSpecial considerations
OctavateEightVéase también
octavationVéase también
octaveCheckOctave checks
octaveCheck6.1.7 Overview of available music functions
octaveCheckB.14 Identifiers
ocultación de pentagramasHiding staves
ocultar pentagramasHiding staves
ocultar pentagramas de música antiguaHiding staves
ocultar pentagramas rítmicosHiding staves
ocultas, notasHidden notes
oddFooterMarkup3.2.2 Custom titles
oddHeaderMarkup3.2.2 Custom titles
olvidar, estilo de alteracionesAutomatic accidentals
On the un-nestedness of brackets and tiesVéase también
On the un-nestedness of brackets and tiesVéase también
oneVoiceSingle-staff polyphony
openB.10 List of articulations
opus3.2.1 Creating titles
organ pedal marksB.10 List of articulations
Organizing pieces with variablesVéase también
Organizing pieces with variablesUsing variables
Organizing pieces with variablesVéase también
orientación4.1.1 Paper size
ornamentaciónArticulations and ornamentations
ornamentosGrace notes
ornamentosArticulations and ornamentations
orquestales, cuerdas2.3 Unfretted string instruments
ossiaVéase también
ossiaHiding staves
ossia5.1.6 Aligning contexts
Other sources of informationSetting automatic beam behavior
Other sources of informationFragmentos de código seleccionados
Other sources of informationVéase también
Other sources of information3.3.1 Including LilyPond files
Other sources of information3.3.1 Including LilyPond files
Other sources of informationVéase también
Other sources of information3.5.2 MIDI block
Other sources of informationDynamic marks
Other sources of information5.2.2 Layout interfaces
Other sources of informationVéase también
Other uses forReferences for keyboards
Other uses for tweaksVéase también
ottavaOttava brackets
ottava6.1.7 Overview of available music functions
ottavaB.14 Identifiers
ottava-bracket-interfaceVéase también
OttavaBracketVéase también
Ottava_spanner_engraverVéase también
outside-staff-horizontal-padding4.4.5 Vertical collision avoidance
outside-staff-padding4.4.5 Vertical collision avoidance
outside-staff-priority4.4.5 Vertical collision avoidance
overrideProperty6.1.7 Overview of available music functions
OverridePropertyVéase también
overridePropertyB.14 Identifiers
overriding properties within text markupB.8.6 Other

P
pDynamics
padding textB.8.2 Align
padding text horizontallyB.8.2 Align
page-breaking-between-system-paddingOther layout variables
page-countOther layout variables
page-limit-inter-system-spaceOther layout variables
page-limit-inter-system-space-factorOther layout variables
page-spacing-weightOther layout variables
page-top-spaceVertical dimensions
pageBreak6.1.7 Overview of available music functions
pageBreakB.14 Identifiers
pageTurn6.1.7 Overview of available music functions
pageTurnB.14 Identifiers
PangoFonts explained
papel, tamaño del4.1.1 Paper size
paper-heightVertical dimensions
paper-widthHorizontal dimensions
paralelo, música enWriting music in parallel
parallelMusicWriting music in parallel
parallelMusic6.1.7 Overview of available music functions
parallelMusicB.14 Identifiers
parcial, compásUpbeats
parentheses-interfaceVéase también
ParenthesesItemVéase también
Parenthesis_engraverVéase también
parenthesizeParentheses
parenthesize6.1.7 Overview of available music functions
parenthesizeB.14 Identifiers
parlatoSpoken music
parlato, cabezas de notaSpecial note heads
partVéase también
partcombineAutomatic part combining
partcombine6.1.7 Overview of available music functions
partcombineB.14 Identifiers
PartCombineMusicVéase también
parte al alzarUpbeats
partes, combinación automáticaAutomatic part combining
partes, combinador deAutomatic part combining
partialUpbeats
paréntesisParentheses
paréntesis en ánguloChorded notes
paréntesis, alteración conAccidentals
pausa, marcas deBreath marks
pautaInstantiating new staves
pauta de coroGrouping staves
pauta de percusiónInstantiating new staves
pauta, escalado deOssia staves
pedal de mantenimiento, estilo dePiano pedals
pedal de órganoArticulations and ornamentations
pedal derechoPiano pedals
pedal fortePiano pedals
pedal sostenutoPiano pedals
pedal, estilos de indicaciónPiano pedals
pedal, indicaciones deB.10 List of articulations
pedal, indicación mixtaPiano pedals
pedal, indicación por corchetePiano pedals
pedal, indicación textualPiano pedals
pedales de pianoPiano pedals
pedales del arpaHarp pedals
pedales del arpa, diagramasHarp pedals
pedalSustainStylePiano pedals
pentagrama a la francesaOssia staves
pentagrama cruzado, arpegios con paréntesisAdvertencias y problemas conocidos
pentagrama cruzado, plica deCross-staff stems
pentagrama cruzado, trémolo deVéase también
pentagrama de percusiónInstantiating new staves
pentagrama vacíoHiding staves
pentagrama únicoInstantiating new staves
pentagrama único, polifonía deSingle-staff polyphony
pentagrama, ajuste del símbolo delStaff symbol
pentagrama, cambioStaff-change lines
pentagrama, cambio automático deChanging staff automatically
pentagrama, cambio deStaff-change lines
pentagrama, cambios manuales deChanging staff manually
pentagrama, detenerStaff symbol
pentagrama, distancia entre los4.4.1 Vertical spacing inside a system
pentagrama, establecer el símbolo del5.4.4 Staff symbol properties
pentagrama, establecer tamaño de4.2.1 Setting the staff size
pentagrama, grosor de las líneasStaff symbol
pentagrama, iniciarInstantiating new staves
pentagrama, iniciarStaff symbol
pentagrama, instanciarInstantiating new staves
pentagrama, línea de cambio deStaff-change lines
pentagrama, nuevoInstantiating new staves
pentagrama, número de líneasStaff symbol
pentagrama, ocultación deHiding staves
pentagramas anidadosNested staff groups
pentagramas de instrumentos de tecladoReferences for keyboards
pentagramas de pianoGrouping staves
pentagramas de pianoReferences for keyboards
pentagramas, grupo deGrouping staves
pentagramas, variosGrouping staves
percentPercent repeats
percent repeatVéase también
PercentRepeatVéase también
PercentRepeatCounterVéase también
PercentRepeatedMusicVéase también
percusiónBasic percussion notation
percusiónPercussion staves
percusión, pauta deInstantiating new staves
personalización de los nombres de acordeCustomizing chord names
personalizada, marca de ensayoRehearsal marks
personalizados, añadir diagramas de trastePredefined fret diagrams
personalizados, diagramas de trastesFret diagram markups
personalizados, diagramas de trastesFret diagram markups
Petrucci2.8 Ancient notation
Petrucci2.8.1 Overview of the supported styles
phrasing slurs, multiplePhrasing slurs
phrasing slurs, simultaneousPhrasing slurs
PhrasingSlurVéase también
phrasingSlurDashedPhrasing slurs
phrasingSlurDottedPhrasing slurs
phrasingSlurDownPhrasing slurs
phrasingSlurNeutralPhrasing slurs
phrasingSlurSolidPhrasing slurs
phrasingSlurUpPhrasing slurs
phrygianKey signature
pianoAutomatic accidentals
piano de precaución, alteracionesAutomatic accidentals
piano de precaución, estilo de alteracionesAutomatic accidentals
Piano templatesAdvertencias y problemas conocidos
piano, alteraciones deAutomatic accidentals
piano, dinámica centrada para música deAdvertencias y problemas conocidos
piano, estilo de alteraciones deAutomatic accidentals
piano, pedales dePiano pedals
piano, pentagramas deGrouping staves
piano, pentagramas deReferences for keyboards
piano, sistema deGrouping staves
piano-cautionaryAutomatic accidentals
PianoPedalBracketVéase también
PianoStaffReferences for keyboards
PianoStaffChanging staff automatically
PianoStaffVéase también
PianoStaffVéase también
PianoStaffVéase también
Piano_pedal_engraverVéase también
picadoArticulations and ornamentations
pie3.2.2 Custom titles
piece3.2.1 Creating titles
pipeSymbolBar and bar number checks
Pitch namesVéase también
Pitch namesVéase también
Pitch namesVéase también
Pitch namesVéase también
pitched trillsTrills
pitchedTrillTrills
pitchedTrill6.1.7 Overview of available music functions
pitchedTrillB.14 Identifiers
Pitch_squash_engraverShowing melody rhythms
Pitch_squash_engraverVéase también
Pitch_squash_engraver5.1.5 Defining new contexts
Pitch_squash_engraverB.12 All context properties
pizzicato, BartókSnap (Bartók) pizzicato
pizzicato, snapSnap (Bartók) pizzicato
placing horizontal brackets around textB.8.3 Graphic
placing vertical brackets around textB.8.3 Graphic
plantilla música árabeArabic music example
plicaStems
plica de pentagrama cruzadoCross-staff stems
plica invisibleStems
plicas de pentagrama cruzadoCross-staff stems
poet3.2.1 Creating titles
pointAndClickOff6.1.7 Overview of available music functions
pointAndClickOffB.14 Identifiers
pointAndClickOn6.1.7 Overview of available music functions
pointAndClickOnB.14 Identifiers
polifonía en un solo pentagramaSingle-staff polyphony
polifónica, músicaCollision resolution
polimétricas, partituras5.1.3 Modifying context plug-ins
polimétricos, compasesPolymetric notation
polymetricVéase también
polymetricVéase también
polymetric time signatureVéase también
polyphonyVéase también
porcentaje, repetición dePercent repeats
portatoVéase también
portatoB.10 List of articulations
posición y cejilla, indicación para instrumentos de trastesIndicating position and barring
PostScriptGraphic notation inside markup
ppDynamics
pppDynamics
ppppDynamics
prallB.10 List of articulations
prallmordentArticulations and ornamentations
prallmordentB.10 List of articulations
prallprallArticulations and ornamentations
prallprallB.10 List of articulations
precaución, alteraciones de piano deAutomatic accidentals
precaución, alteración deAccidentals
precaución, estilo de alteraciones, pianoAutomatic accidentals
predefinedFretboardsOffAutomatic fret diagrams
predefinedFretboardsOnAutomatic fret diagrams
predefinidas, afinaciones, para instrumentos de trasteCustom tablatures
predeterminado, estilo de las alteracionesAutomatic accidentals
predeterminados, nombres de notaAccidentals
presentación, interfaz de la5.2.2 Layout interfaces
prima volta1.4.1 Long repeats
primera y segunda vez1.4.1 Long repeats
primera y segunda vez con ligadurasNormal repeats
primera y segunda vez, corchetes y ligaduras enTies
principiantes, música paraEasy notation note heads
print-all-headers3.2.1 Creating titles
print-all-headersOther layout variables
print-first-page-numberOther layout variables
print-page-numberOther layout variables
PropertySetVéase también
propiedades5.3.2 The \set command
pulsos por minutoMetronome marks
pulsos, agruparFragmentos de código seleccionados
puntillo, notas conDurations
puntos, ligadura deSlurs
puntos, ligaduras deTies
puntuaciónLyrics explained
putting space around textB.8.2 Align
página webEl tipografiador de música
página, disposición de la4.5.4 Line length
página, saltos de4.5.4 Line length
página, saltos, forzar3.2.1 Creating titles
página, tamaño de la4.1.1 Paper size

Q
quarter toneVéase también
quebrado, acordeArpeggio
quitar música etiquetadaUsing tags
quitar notas guíaFormatting cue notes
quotedEventTypesFragmentos de código seleccionados
quoteDuringQuoting other voices
quoteDuring6.1.7 Overview of available music functions
quoteDuringB.14 Identifiers
QuoteMusicVéase también

R
rRests
RFull measure rests
racimo (cluster)Clusters
ragged-bottomOther layout variables
ragged-lastOther layout variables
ragged-last4.5.4 Line length
ragged-last-bottomOther layout variables
ragged-rightOther layout variables
ragged-right4.5.4 Line length
raising textB.8.2 Align
rango de alturasAmbitus
rasgueado, mostrar ritmosShowing melody rhythms
Ratisbona, Editio2.8.1 Overview of the supported styles
Real music exampleReferences for keyboards
Real music exampleVéase también
recordatoria, alteraciónAccidentals
redonda, silencios de, para un compás completoFull measure rests
Referencia de funcionamiento interno5. Changing defaults
referencing page numbers in textB.8.6 Other
reguladorDynamics
reguladores en ánguloRotating layout objects
regular line breaks4.3.1 Line breaking
RehearsalMarkVéase también
RehearsalMarkVéase también
rejilla, líneas deGrid lines
relativa, altura en acordesChorded notes
relativa, especificación de la octavaRelative octave entry
relativa, introducción de la octava, y acordesRelative octave entry
relativas, especificación de octavasRelative octave entry
relativeRelative octave entry
relativeVéase también
relativeVéase también
relativeChanging staff automatically
RelativeOctaveCheckVéase también
RelativeOctaveMusicVéase también
relativoRelative octave entry
relativo, modo, autocambiador yChanging staff automatically
relativo, modo, transposición yVéase también
relleno5.2.3 Determining the grob property
relleno alrededor del textoGraphic notation inside markup
RemoveEmptyRhythmicStaffContextHiding staves
RemoveEmptyStaffContextHiding staves
RemoveEmptyStaffContextHiding staves
removeWithTag6.1.7 Overview of available music functions
removeWithTagB.14 Identifiers
renacimiento, música delFragmentos de código seleccionados
repeatVéase también
repeatCommandsManual repeat marks
RepeatedMusicVéase también
RepeatedMusicVéase también
RepeatedMusicVéase también
RepeatedMusic6.2.2 Internal music representation
repeatsBar lines
RepeatSlashVéase también
repeatTieTies
repeticiones con ligadurasNormal repeats
repeticiones explícitasWritten-out repeats
repeticiones normales1.4.1 Long repeats
repeticiones, expandir3.5.4 Repeats in MIDI
repetición ambiguaAdvertencias y problemas conocidos
repetición anidadaAdvertencias y problemas conocidos
repetición con anacrusaNormal repeats
repetición con finales alternativos1.4.1 Long repeats
repetición cortaPercent repeats
repetición de compásPercent repeats
repetición de porcentajePercent repeats
repetición de trémoloTremolo repeats
repetición delplegadaWritten-out repeats
repetición deplegada con finales alternativosWritten-out repeats
repetición manualManual repeat marks
repetición y ligadura de expresiónAdvertencias y problemas conocidos
repetición y números de compásAdvertencias y problemas conocidos
repetición, barras deBar lines
repetición, cambiar finales alternativosManual repeat marks
repetición, cambiar número deManual repeat marks
repetición, comienzo deManual repeat marks
repetición, contador de tiempo de laAdvertencias y problemas conocidos
repetición, final deManual repeat marks
repetición, ligaduras de unión enTies
repetitiva, músicaWritten-out repeats
reservados, impresión de caracteresText markup introduction
resetRelativeOctave6.1.7 Overview of available music functions
resetRelativeOctaveB.14 Identifiers
respiracionesBreath marks
restRests
RestVéase también
RestMensural rests
rest-eventFragmentos de código seleccionados
RestCollisionVéase también
rests, ancientMensural rests
reverseturnB.10 List of articulations
RevertPropertyVéase también
rfzDynamics
rgb, colorColoring objects
rgb-colorColoring objects
RhythmicStaffVéase también
RhythmicStaffVéase también
RhythmicStaffVéase también
right aligning textB.8.2 Align
rightHandFingerRight-hand fingerings
rightHandFinger6.1.7 Overview of available music functions
rightHandFingerB.14 Identifiers
rombo, cabezas de notaSpecial note heads
rotating objectsRotating layout objects
rotating textB.8.2 Align
rítmica, pautaInstantiating new staves

S
sInvisible rests
sacredHarpHeadsShape note heads
saltos de línea4.3.1 Line breaking
saltos de línea y barradoFragmentos de código seleccionados
saltos de página4.5.4 Line length
SATBMultiple notes to one syllable
scaleDurationsScaling durations
scaleDurationsPolymetric notation
scaleDurations6.1.7 Overview of available music functions
scaleDurationsB.14 Identifiers
scaling durationsScaling durations
scaling textB.8.2 Align
Scheme5. Changing defaults
Scheme signatureAdvertencias y problemas conocidos
Scheme tutorial6. Interfaces for programmers
scordaturaVéase también
ScoreVéase también
ScoreB.12 All context properties
ScoreB.12 All context properties
Score is a (single) compound musical expressionVéase también
Scores and parts3.3.1 Including LilyPond files
Scores and partsVéase también
scoreTitleMarkup3.2.2 Custom titles
scoreTweak6.1.7 Overview of available music functions
scoreTweakB.14 Identifiers
ScriptVéase también
seconda volta1.4.1 Long repeats
segnoRehearsal marks
segnoArticulations and ornamentations
segnoB.10 List of articulations
segno sobre la línea divisoriaText marks
seguimiento de vozStaff-change lines
seguimiento de vozStaff-change lines
selección del tamaño de la fuente tipográfica (de notación)Selecting notation font size
self-alignment-interface5.2.2 Layout interfaces
self-alignment-interface5.5.1 Aligning objects
sello, eliminarRemoving the stencil
Semai, formaArabic time signatures
semi-bemolNote names in other languages
semi-bemolesAccidentals
Semi-flat symbol appearanceArabic note names
semi-sostenidoNote names in other languages
semi-sostenidosAccidentals
semitrinoArticulations and ornamentations
semitrinoB.10 List of articulations
semitrino ascendenteArticulations and ornamentations
semitrino descendenteArticulations and ornamentations
semitrino descendenteB.10 List of articulations
separate textSeparate text
SeparationItemVéase también
SequentialMusic6.2.2 Internal music representation
sesqui-bemolNote names in other languages
sesqui-sostenidoNote names in other languages
setSetting automatic beam behavior
set-accidental-styleAutomatic accidentals
set-octavationOttava brackets
SettingReferences for vocal music and lyrics
Setting automatic beamB.12 All context properties
setting extent of text objectsB.8.6 Other
setting horizontal text alignmentB.8.2 Align
setting subscript in standard font sizeB.8.1 Font
setting superscript in standard font sizeB.8.1 Font
sfDynamics
sffDynamics
sfzDynamics
sharpVéase también
shiftDurations6.1.7 Overview of available music functions
shiftDurationsB.14 Identifiers
shiftOffCollision resolution
shiftOnCollision resolution
shiftOnnCollision resolution
shiftOnnnCollision resolution
short-indentInstrument names
short-indentHorizontal dimensions
show-available-fontsSingle entry fonts
showFirstLength3.4.2 Skipping corrected music
showKeySignatureBagpipe definitions
showLastLength3.4.2 Skipping corrected music
showStaffSwitchStaff-change lines
side-position-interface5.2.2 Layout interfaces
side-position-interface5.5.1 Aligning objects
signature, SchemeAdvertencias y problemas conocidos
silencioRests
silencio de separaciónInvisible rests
silencio invisibleInvisible rests
silencio normal, condensarAdvertencias y problemas conocidos
silencio, colisiones deAdvertencias y problemas conocidos
silencio, especificar la posición verticalRests
silencios de compás completoRests
silencios de compás completoFull measure rests
silencios de redonda para un compás completoFull measure rests
silencios eclesiásticosFragmentos de código seleccionados
silencios multicompásRests
silencios multicompásFull measure rests
silencios, indocar duracionesRests
simileVéase también
simple text stringsB.8.1 Font
simple text strings with tie charactersB.8.4 Music
simplificada, notaciónEasy notation note heads
simultaneous phrasing slursPhrasing slurs
SimultaneousMusic6.2.2 Internal music representation
simultáneas, ligaduras de expresiónSlurs
simultáneas, notas y alteracionesVéase también
sistema de coroGrouping staves
sistema de pianoGrouping staves
sistema, delimitador de comienzoGrouping staves
sistema, delimitadores de inicio anidadosNested staff groups
Size of objectsVéase también
skipInvisible rests
SkipMusicVéase también
skipTypesetting3.4.2 Skipping corrected music
slashed digitsB.8.6 Other
slides en notación de tablaturaDefault tablatures
slurVéase también
SlurVéase también
slurDashedSlurs
slurDottedSlurs
slurDownSlurs
slurNeutralSlurs
slurs, multiple phrasingPhrasing slurs
slurs, simultaneous phrasingPhrasing slurs
slurSolidSlurs
slurUpSlurs
smallSelecting notation font size
snap pizzicatoSnap (Bartók) pizzicato
sobreescritura de objetosPainting objects white
Sol, clave deClef
Solesmes2.8.1 Overview of the supported styles
solo, partesAutomatic part combining
sonido3.5 MIDI output
soprano, clave deClef
sos.Piano pedals
sostenidoAccidentals
sostenido, dobleAccidentals
sostenuto, pedalPiano pedals
SostenutoEventVéase también
sostenutoOffPiano pedals
sostenutoOnPiano pedals
SostenutoPedalVéase también
SostenutoPedalLineSpannerVéase también
spDynamics
spacing4.5.1 Horizontal spacing overview
spacing-spanner-interfaceB.13 Layout properties
spacing-spanner-interfaceB.13 Layout properties
SpacingSpanner4.5.1 Horizontal spacing overview
SpacingSpanner4.5.1 Horizontal spacing overview
SpacingSpannerVéase también
SpacingSpannerVéase también
spacingTweaks6.1.7 Overview of available music functions
spacingTweaksB.14 Identifiers
SpanBarVéase también
sppDynamics
SprechgesangSpoken music
Square neumes ligaturesGregorian square neume ligatures
staccatissimoArticulations and ornamentations
staccatissimoB.10 List of articulations
staccatoVéase también
staccatoB.10 List of articulations
stacking text in a columnB.8.2 Align
staffVéase también
StaffVéase también
StaffVéase también
staffVéase también
StaffVéase también
staffVéase también
StaffVéase también
StaffVéase también
StaffVéase también
StaffVéase también
StaffVéase también
StaffVéase también
StaffCustodes
Staff4.5.1 Horizontal spacing overview
StaffB.12 All context properties
staff-paddingAdvertencias y problemas conocidos
staff-symbol-interfaceStaff symbol
staff-symbol-interfaceVéase también
Staff.midiInstrumentInstrument names
StaffGroupAdvertencias y problemas conocidos
StaffGroupVéase también
StaffGroupVéase también
StaffSpacingVéase también
StaffSymbolVéase también
StaffSymbolVéase también
StaffSymbolVéase también
StaffSymbol4.2.1 Setting the staff size
Staff_symbol_engraverVéase también
standalone textSeparate text
StanzaNumberVéase también
start-repeatManual repeat marks
startGroupAnalysis brackets
startStaffStaff symbol
startStaffOssia staves
startTrillSpanTrills
stavesVéase también
StemCross-staff stems
StemVéase también
StemMensural flags
Stem6.5.2 Running a function on all layout objects
Stem6.5.2 Running a function on all layout objects
stem, directionFragmentos de código seleccionados
stem, downFragmentos de código seleccionados
stem, neutralFragmentos de código seleccionados
stem, upFragmentos de código seleccionados
stem, with slashGrace notes
stem-interfaceVéase también
stem-spacing-correction4.5.1 Horizontal spacing overview
stemDownStems
stemLeftBeamCountManual beams
stemNeutralStems
stemRightBeamCountManual beams
stemUpStems
Stem_engraverVéase también
stopGroupAnalysis brackets
stoppedB.10 List of articulations
stopStaffStaff symbol
stopStaffOssia staves
stopTrillSpanTrills
storePredefinedDiagramPredefined fret diagrams
storePredefinedDiagram6.1.7 Overview of available music functions
storePredefinedDiagramB.14 Identifiers
StringReferences for unfretted strings
String quartetVéase también
StringNumberVéase también
StringTuningsCustom tablatures
stringTuningsPredefined fret diagrams
StrokeFingerVéase también
styles, voiceVoice styles
subdivideBeamsFragmentos de código seleccionados
subscript textB.8.1 Font
subsubtitle3.2.1 Creating titles
subtitle3.2.1 Creating titles
subíndiceSelecting font and font size
suggestAccidentalsAnnotational accidentals (musica ficta)
superscript textB.8.1 Font
superíndiceSelecting font and font size
susExtended and altered chords
SustainEventVéase también
sustainOffPiano pedals
sustainOnPiano pedals
SustainPedalVéase también
SustainPedalLineSpannerVéase también
systemGrouping staves
system-countOther layout variables
system-separator-markupOther layout variables
SystemStartBarVéase también
SystemStartBarVéase también
SystemStartBraceVéase también
SystemStartBraceVéase también
SystemStartBracketVéase también
SystemStartBracketVéase también
SystemStartSquareVéase también
SystemStartSquareVéase también
séptima, acordes deCommon chords
símbolo del pentagrama, dibujo delStaff symbol
símbolos no musicalesGraphic notation inside markup

T
tablatura2.4 Fretted string instruments
tablatura de bajoCustom tablatures
tablatura de banjo2.4 Fretted string instruments
tablatura de banjoCustom tablatures
tablatura de banjoBanjo tablatures
tablatura de mandolinaCustom tablatures
tablatura predeterminadaDefault tablatures
tablatura y armónicosDefault tablatures
tablatura y slidesDefault tablatures
tablatura, afinaciones predefinidas deCustom tablatures
tablatura, pauta deInstantiating new staves
tablatura, principios básicosDefault tablatures
tablaturas personalizadasCustom tablatures
TabNoteHeadVéase también
TabStaffDefault tablatures
TabStaffDefault tablatures
TabStaffVéase también
TabVoiceDefault tablatures
TabVoiceVéase también
Tab_note_heads_engraverVéase también
tag6.1.7 Overview of available music functions
tagB.14 Identifiers
tagline3.2.1 Creating titles
taorBagpipe definitions
tapadas, notas, en instrumentos de trastesIndicating harmonics and dampened notes
taqasimArabic time signatures
teachingAutomatic accidentals
teaching (enzeñanza), estilo de alteracionesAutomatic accidentals
tecla, pentagramas para instrumentos deReferences for keyboards
teclado, matices centrados para música deAdvertencias y problemas conocidos
teclado, pentagramas para instrumentos deReferences for keyboards
teenySelecting notation font size
tempoMetronome marks
tempo indicationVéase también
tenor coral, claveClef
tenor, clave deClef
tenutoVéase también
tenutoB.10 List of articulations
tesituraAmbitus
textPiano pedals
text columns, left-alignedB.8.2 Align
text columns, right-alignedB.8.2 Align
text spannersText spanners
text, standaloneSeparate text
text-interface5.2.2 Layout interfaces
text-interfaceB.8.6 Other
text-script-interface5.2.2 Layout interfaces
texto alineación deText alignment
texto de varias líneasText alignment
texto destacadoText scripts
texto en casilla de repeticiónManual repeat marks
texto entrecomillado en modo de marcadoText markup introduction
texto sobre un silencio multicompásFull measure rests
texto, alineación horizontalText alignment
texto, alineación verticalText alignment
texto, elementos no vacíos deText scripts
texto, en otros idiomas1.8.1 Writing text
Texto, inscripciones deText scripts
texto, marcado deText markup introduction
texto, relleno deGraphic notation inside markup
texto, tamaño deSelecting font and font size
TextScriptVéase también
TextScriptVéase también
TextScriptVéase también
TextScriptVéase también
TextScriptVéase también
TextScriptVéase también
TextScriptVéase también
TextScriptVéase también
TextSpannerVéase también
TextSpannerVéase también
textSpannerDownInstrucciones predefinidas
textSpannerNeutralInstrucciones predefinidas
textSpannerUpInstrucciones predefinidas
The Feta fontB.8.4 Music
Thorough bassIntroduction to figured bass
thumbFingering instructions
thumb markingB.10 List of articulations
thumb-scriptFingering instructions
TieVéase también
tieVéase también
Tie6.8 Difficult tweaks
tieVéase también
TieColumnVéase también
tieDashedTies
tieDottedTies
tieDownTies
tiempo, administraciónTime administration
tiempo, control del (dentro de la partitura)Time administration
tiempo, repeticiones y contador deAdvertencias y problemas conocidos
tieNeutralTies
ties and chordsTies
tieSolidTies
tieUpTies
timeTime signature
timeSetting automatic beam behavior
time signatureVéase también
timesTuplets
timesPolymetric notation
TimeScaledMusicVéase también
TimeSignatureVéase también
TimeSignatureVéase también
TimeSignatureMensural time signatures
timeSignatureFractionPolymetric notation
Timing_translatorVéase también
Timing_translatorVéase también
Timing_translatorVéase también
Timing_translatorVéase también
Timing_translatorVéase también
Timing_translatorB.12 All context properties
tinySelecting notation font size
tipografiar textoText markup introduction
tipografía FetaB.6 The Feta font
tipografía, establecer tamaño de4.2.1 Setting the staff size
title3.2.1 Creating titles
tocItem6.1.7 Overview of available music functions
tocItemB.14 Identifiers
Top5. Changing defaults
top-level textSeparate text
top-marginVertical dimensions
transcripción de música mensuralFragmentos de código seleccionados
translating textB.8.2 Align
translating textB.8.2 Align
Translation5.2.1 Navigating the program reference
transparentes, hacer los objetosMaking objects transparent
transparentes, notasHidden notes
transporteTranspose
transporte de diagramas de trastesPredefined fret diagrams
transposeVéase también
transposeTranspose
transposeVéase también
transposedCueDuringFormatting cue notes
transposedCueDuring6.1.7 Overview of available music functions
transposedCueDuringB.14 Identifiers
TransposedMusicVéase también
transposiciónTranspose
transposición de alturasTranspose
transposición de MIDIInstrument transpositions
transposición de notasTranspose
transposición instrumentalInstrument transpositions
transposición y modo relativoVéase también
transposing instrumentVéase también
transpositionInstrument transpositions
transpositionQuoting other voices
transposition6.1.7 Overview of available music functions
transpositionB.14 Identifiers
transpositor, instrumentoInstrument transpositions
transpositoras, clavesClef
transpositores, instrumentosTranspose
trasteDefault tablatures
trastes personalizados, añadir diagramas dePredefined fret diagrams
trastes, armónicos en instrumentos deIndicating harmonics and dampened notes
trastes, añadir digitaciones a diagramas deAutomatic fret diagrams
trastes, diagramas automáticos deAutomatic fret diagrams
trastes, diagramas deFret diagram markups
trastes, diagramas de, con nombres de acordePredefined fret diagrams
trastes, diagramas de, personalizadosFret diagram markups
trastes, diagramas de, transportePredefined fret diagrams
trastes, diagramas personalizados deFret diagram markups
trastes, instrumentos con, afinaciones predefinidasCustom tablatures
trastes, instrumentos de, digitaciones de la derechaRight-hand fingerings
trastes, instrumentos de, formas de acordesPredefined fret diagrams
trastes, instrumentos de, indicacion de la posición y cejillaIndicating position and barring
trastes, notas tapadas en instrumentos deIndicating harmonics and dampened notes
tre cordePiano pedals
treCordePiano pedals
tremoloTremolo repeats
tremoloFlagsTremolo repeats
tresillosTuplets
tresillos, formato deFragmentos de código seleccionados
trillTrills
trills, pitchedTrills
TrillSpannerVéase también
TrillSpannerVéase también
trinoArticulations and ornamentations
trinoB.10 List of articulations
trino con nota y alteración forzadaTrills
trinosTrills
tripletVéase también
trucar5.3.4 The \tweak command
trucar puntos de controlAdvertencias y problemas conocidos
trucos5.3.3 The \override command
trucos en la letraAdvertencias y problemas conocidos
trucos en una variableAdvertencias y problemas conocidos
trémoloTremolo repeats
trémolo, indicaciones deTremolo repeats
trémols de pentagrama cruzadoVéase también
tríadasCommon chords
Tunable context properties5.3.2 The \set command
tupletVéase también
TupletBracketVéase también
tupletDownTuplets
tupletNeutralTuplets
TupletNumberFragmentos de código seleccionados
tupletNumberFormatFunctionFragmentos de código seleccionados
tupletSpannerDurationFragmentos de código seleccionados
tupletUpTuplets
turnB.10 List of articulations
tweak6.1.7 Overview of available music functions
tweakB.14 Identifiers
Tweaking methodsVéase también
Tweaking methods5.3.4 The \tweak command
Tweaking methodsVéase también
Tweaking output5. Changing defaults
Tweaking outputVéase también
títulos3.2.2 Custom titles

U
U.C.Piano pedals
una cordaPiano pedals
unaCordaPiano pedals
UnaCordaEventVéase también
UnaCordaPedalVéase también
UnaCordaPedalLineSpannerVéase también
underlining textB.8.1 Font
unfoldWritten-out repeats
UnfoldedRepeatedMusicVéase también
UnfoldedRepeatedMusicVéase también
unfoldRepeats6.1.7 Overview of available music functions
unfoldRepeatsB.14 Identifiers
unHideNotesHidden notes
upbowB.10 List of articulations
URLEl tipografiador de música

V
vacío, pentagramaHiding staves
varcodaArticulations and ornamentations
varcodaB.10 List of articulations
variables3.1.3 File structure
variables, uso de lasUsing variables
varias ligaduras de expresiónSlurs
varias líneas, marcado deText alignment
varias vocesCollision resolution
varios matices sobre una notaDynamics
Vaticana, Editio2.8 Ancient notation
Vaticana, Editio2.8.1 Overview of the supported styles
VaticanaStaffVéase también
VaticanaStaffContextGregorian chant contexts
VaticanaVoiceContextGregorian chant contexts
Vaticana_ligature_engraver2.8.4 Typesetting Gregorian chant
verso, número deAdding stanza numbers
vertical, alineación de textoText alignment
vertical, espaciado4.4 Vertical spacing
vertical, espaciado4.5.4 Line length
vertical, línea, entre pentagramasGrid lines
vertical, posición, de las indicaciones dinámicasDynamics
VerticalAlignment4.4.1 Vertical spacing inside a system
VerticalAlignmentVéase también
VerticalAxisGroupVéase también
VerticalAxisGroup4.4.1 Vertical spacing inside a system
VerticalAxisGroup4.4.1 Vertical spacing inside a system
vertically centering textB.8.2 Align
viento, instrumentosReferences for wind instruments
violín, clave deClef
visibilidad de las claves octavadasSpecial considerations
visibilidad de los objetos5.4.6 Visibility of objects
Visibility and color5.4.6 Visibility of objects
Visibility and color of objects5.1.3 Modifying context plug-ins
Visibility and color of objectsUsing break-visibility
Visibility and color of objectsVéase también
Vocal ensemblesMultiple notes to one syllable
Vocal ensembles5.1.6 Aligning contexts
voces, alteraciones en variasAutomatic accidentals
voces, variasCollision resolution
voiceAutomatic accidentals
VoiceSingle-staff polyphony
VoiceVéase también
voiceAutomatic accidentals
VoiceAutomatic part combining
VoiceVéase también
VoiceAdvertencias y problemas conocidos
VoiceVéase también
VoiceVéase también
VoiceAutomatic syllable durations
VoiceManual syllable durations
VoiceLigatures
VoiceWhite mensural ligatures
Voice4.5.1 Horizontal spacing overview
Voice5.2.3 Determining the grob property
voice stylesVoice styles
VoiceFollowerVéase también
VoiceFollowerVéase también
voiceOneSingle-staff polyphony
Voices contain musicVéase también
Voices contain musicVéase también
voltaVéase también
volta, prima1.4.1 Long repeats
volta, seconda1.4.1 Long repeats
VoltaBracketVéase también
VoltaBracketVéase también
VoltaRepeatedMusicVéase también
VoltaRepeatedMusicVéase también
Volta_engraverVéase también
vozSingle-staff polyphony
voz, estilo de alteracionesAutomatic accidentals
voz, seguimiento deStaff-change lines

W
web, páginaEl tipografiador de música
whichBarFragmentos de código seleccionados
White mensural ligaturesWhite mensural ligatures
with-colorColoring objects
Within-staff objects5.4.2 Direction and placement
withMusicProperty6.1.7 Overview of available music functions
withMusicPropertyB.14 Identifiers
Working on input filesVéase también

X
x11, color deVéase también
x11, color deColoring objects
x11-colorColoring objects
x11-colorVéase también

Á
ángulo, paréntesis enChorded notes
ángulo, reguladores enRotating layout objects
árabe, ejemplo de músicaArabic music example
árabe, músicaReferences for Arabic music
árabe, plantilla de músicaArabic music example
árabes, armadurasArabic time signatures

Ó
órgano, indicaciones de pedal deB.10 List of articulations

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  

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] tutorial Scheme tutorial contiene un breve tutorial sobre la introducción de números, listas, cadenas y símbolos en Scheme.


Índice General


Acerca de este documento

Este documento ha sido generado por Graham Percival el el 15 diciembre 2009 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:


Other languages: English, français, deutsch.

Manual de referencia de la notación