1.6.2 Modificación de pentagramas sueltos

Esta sección explica cómo cambiar los atributos específicos de un pentagrama: por ejemplo, cambiar el número de líneas o el tamaño de la pauta. También se describen los métodos para comenzar y terminar los pentagramas, y establecer secciones de ossia.


El símbolo del pentagrama

Se pueden usar las instrucciones \stopStaff y \startStaff para detener y (re)iniciar, respectivamente, la impresión de las líneas de la pauta en cualquier punto de la partitura.

\relative {
  \stopStaff f''4 d \startStaff g, e
  f'4 d \stopStaff g, e
  f'4 d \startStaff g, e
}

[image of music]

Instrucciones predefinidas

\startStaff, \stopStaff.

Las líneas de la pauta pertenecen al grob StaffSymbol (incluidas las líneas adicionales) y se pueden modificar usando las propiedades de StaffSymbol, pero esas modificaciones deben hacerse antes de que el pentagrama se (re)inicie.

Se puede cambiar el número de líneas de la pauta:

\relative {
  f''4 d \stopStaff
  \override Staff.StaffSymbol.line-count = #2
  \startStaff g, e |

  f'4 d \stopStaff
  \revert Staff.StaffSymbol.line-count
  \startStaff g, e |
}

[image of music]

La posición de cada una de las líneas de la pauta también puede cambiarse. Una lista de números fija la posición de cada línea. 0 corresponde a la línea central normal, y las posiciones normales de las líneas son (-4 -2 0 2 4). Se imprime una sola línea de pauta por cada valor que se introduce, de manera que el número de líneas así como su posición en la pauta pueden cambiarse con una sola operación de sobreescritura.

\relative {
  f''4 d \stopStaff
  \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3)
  \startStaff g, e |
  f'4 d \stopStaff
  \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5)
  \startStaff g, e |
}

[image of music]

Para preservar las direcciones típicas de las plicas (hacia arriba para la mitad inferior del pentagrama y hacia abajo para la mitad superior), debemos alinear la línea (o espacio) central de la pauta personalizada con la posición de la línea central normal (0). Puede ser necesario un ajuste de la posición de la clave y del Do central para que se correspondan a las líneas nuevas. Véase Clave.

Puede cambiarse el grosor de las líneas de la pauta. También resultan afectadas, de forma predeterminada, las líneas adicionales y no la plica de las figuras.

\new Staff \with {
  \override StaffSymbol.thickness = #3
} \relative {
  f''4 d g, e
}

[image of music]

También es posible fijar el grosor de las líneas adicionales de forma independiente del de las líneas de la pauta.

\new Staff \with {
  \override StaffSymbol.thickness = #2
  \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4)
} \relative {
  f'''4 a, a,, f
}

[image of music]

El primer valor se multiplica por el grosor de las líneas del pentagrama, el segundo por el ancho de un espacio del pentagrama, y después los dos valores se suman para obtener el grosor de las líneas adicionales.

Se pueden alterar las posiciones de las líneas adicionales:

\new Staff \with {
  \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6)
} \relative {
  f'''4 a, a,, f
}

[image of music]

Puede hacerse que las líneas adicionales añadidas aparezcan por encima o por debajo de la cabeza de las figuras, dependiendo de la posición actual relativa a otras cabezas de figura que tienen asimismo sus propias líneas adicionales.

\new Staff \with {
  \override StaffSymbol.ledger-extra = #4
} \relative {
  f'''4 a, d, f,
}

[image of music]

También puede hacerse que las líneas adicionales aparezcan dentro del pentagrama allí donde se requieren líneas de pauta personalizadas. El ejemplo muestra la posición predeterminada de las líneas adicionales cuando el valor de posición explícito ledger-position se ha fijado o no. La instrucción \stopStaff se necesita en el ejemplo para revertir la instrucción de sobreescritura \override para todo el StaffSymbol (el símbolo de pauta).

\relative d' {
  \override Staff.StaffSymbol.line-positions = #'(-8 0 2 4)
  d4 e f g
  \stopStaff
  \startStaff
  \override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0)
  d4 e f g
}

[image of music]

Puede alterarse la distancia entre líneas de la pauta. Esto afecta también al espaciado de las líneas adicionales.

\new Staff \with {
  \override StaffSymbol.staff-space = #1.5
} \relative {
  f'''4 d, g, e,
}

[image of music]

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

Fragmentos de código: Staff notation.

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


Pentagramas de Ossia

Los pentagramas Ossia se pueden preparar mediante la creación de un pentagrama simultáneo nuevo en la posición adecuada:

\new Staff \relative {
  c''4 b d c
  <<
    { c4 b d c }
    \new Staff { e4 d f e }
  >>
  c4 b c2
}

[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 musicales Anidado de expresiones musicales.

El ejemplo siguiente utiliza la propiedad alignAboveContext para alinear el pentagrama de ossia. Este método es muy conveniente cuando se necesitan sólo algunos pentagramas de ossia.

\new Staff = "main" \relative {
  c''4 b d c
  <<
    { c4 b d c }

    \new Staff \with {
      \remove Time_signature_engraver
      alignAboveContext = "main"
      \magnifyStaff #2/3
      firstClef = ##f
    }
    { e4 d f e }
  >>
  c4 b c2
}

[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
    \hide Clef
    \magnifyStaff #2/3
  }
  { \stopStaff s1*6 }

  \new Staff \relative {
    c'4 b c2
    <<
      { e4 f e2 }
      \context Staff = "ossia" {
        \startStaff e4 g8 f e2 \stopStaff
      }
    >>
    g4 a g2 \break
    c4 b c2
    <<
      { g4 a g2 }
      \context Staff = "ossia" {
        \startStaff g4 e8 f g2 \stopStaff
      }
    >>
    e4 d c2
  }
>>

[image of music]

Como alternativa, se puede usar la instrucción \RemoveAllEmptyStaves para crear pentagramas de ossia. Este método es muy conveniente cuando los pentagramas de ossia aparecen inmediatamente después de un salto de línea. Para ver más información sobre \RemoveAllEmptyStaves, consulte Ocultar pentagramas.

<<
  \new Staff = "ossia" \with {
    \remove Time_signature_engraver
    \hide Clef
    \magnifyStaff #2/3
    \RemoveAllEmptyStaves
  } \relative {
    R1*3
    c''4 e8 d c2
  }
  \new Staff \relative {
    c'4 b c2
    e4 f e2
    g4 a g2 \break
    c4 b c2
    g4 a g2
    e4 d c2
  }
>>

[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"
      } {
        \tuplet 6/4 {
          \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.

Manual de aprendizaje: Anidado de expresiones musicales, Tamaño de los objetos, Longitud y grosor de los objetos.

Referencia de la notación: Ocultar pentagramas.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno: StaffSymbol.


Ocultar pentagramas

Se pueden ocultar las líneas del pentagrama quitando el grabador Staff_symbol_engraver del contexto de Staff. Como alternativa se puede utilizar la instrucción \stopStaff.

\new Staff \with {
  \remove Staff_symbol_engraver
}
\relative { a''8 f e16 d c b a2 }

[image of music]

Se pueden ocultar los pentagramas vacíos (para hacer la que se conoce como ‘partitura a la francesa’) aplicando la instrucción \RemoveEmptyStaves sobre un contexto, lo cual se puede hacer globalmente (dentro del bloque \layout) así como para pautas específicas solamente (dentro de un bloque \with). Esta instrucción elimina todas las pautas vacías de la partitura excepto las del primer sistema. Si queremos ocultar también las del primer sistema, usamos \RemoveAllEmptyStaves.

\layout {
  \context {
    \Staff
    \RemoveEmptyStaves
  }
}

\relative <<
  \new Staff {
    e'4 f g a \break
    b1 \break
    a4 b c2
  }
  \new Staff {
    c,4 d e f \break
    R1 \break
    f4 g c,2
  }
>>

[image of music]

Se considera que un pentagrama está vacío cuando contiene solamente silencios multicompás, silencios normales, silencios oscultos o saltos, o una combinación de todos los elementos anteriores. Cualquier otro objeto musical (que hace que un pentagrama no se considere como vacío) está en la lista de la propiedad de contexto keepAliveInterfaces, como se establece inicialmente en el archivo ‘ly/engraver-init.ly’.

Tanto \RemoveEmptyStaves como \RemoveAllEmptyStaves son atajos predefinidos que establecen propiedades tales como remove-empty y remove-first para el objeto VerticalAxisGroup, como aparece explicado en Identificadores de modificación de contextos.

El grabador Keep_alive_together_engraver solo permite que grupos de pentagramas se puedan eliminar juntos y no individualmente. Por defecto, forma parte del contexto PianoStaff: una parte de piano solo se oculta cuando sus dos pentagramas están vacíos. De forma semejante, es una práctica común del tipografiado de las partituras orquestales eliminar grupos de pentagramas vacíos en lugar de pautas individuales; esto es posible conseguirlo añadiendo el grabador Keep_alive_together_engraver al contexto de agrupamiento de pentagramas adecuado, como aparece explicado en Modificar los complementos (plug-ins) de contexto (consulte Agrupar pentagramas para ver los nombres de los contextos).

\layout {
  \context {
    \StaffGroup
    \RemoveEmptyStaves
    \consists Keep_alive_together_engraver
  }
}

En el ejemplo siguiente, los pentagramas de instrumentos de viento son eliminados en el segundo sistema; sin embargo, el contrabajo no se elimina porque forma parte del grupo mayor de cuerda frotada, que está tocando en ese momento.

[image of music]

El grabador Keep_alive_together_engraver usa internamente la propiedad remove-layer del VerticalAxisGroup de un pentagrama para decidir si imprimirlo o no, cuando se considera vacío. Dicha propiedad puede también establecerse directamente, en cuyo caso actúa como un índice de prioridad: los valores más cercanos a cero tienen precedencia frente a los números más altos, y de esta forma los pentagramas cuyo remove-layer es más alto quedarán enmascarados en favor de los que tienen un número más bajo.

Esto es especialmente útil para los pentagramas en ‘divisi’, donde ciertas partes individuales (véase Escritura de las particellas) a veces tienen que expandirse a más de un pentagrama. En el ejemplo siguiente, dos partes resultan dirigidas a un total de tres pentagramas; sin embargo, los tres pentagramas nunca se imprimen todos al mismo tiempo:

Tales sustituciones se aplican no solamente a notas, acordes y otros eventos musicales que tienen lugar inmediatamente después de cambiar el valor, sino a todo el sistema dentro del cual ocurre el cambio.

\layout {
  short-indent = 2\cm
  indent = 3\cm
  \context {
    \Staff
    keepAliveInterfaces = #'()
  }
}

violI = {
  \repeat unfold 24 { d'4 }
  \once \unset Staff.keepAliveInterfaces
  <d' g''>2
  \repeat unfold 14 { d'4 }
  \bar "|."
}

violII = {
  \repeat unfold 24 { g4 }
  <g d'>2
  \repeat unfold 14 { g4 }
  \bar "|."
}

\new StaffGroup \with { \consists Keep_alive_together_engraver } <<
  \new Staff \with {
    instrumentName = "Violins"
    shortInstrumentName = "V I & II"
    \override VerticalAxisGroup.remove-layer = 2
  } <<  \violI \\ \violII  >>
  \new Staff \with {
    instrumentName = "Violin I"
    shortInstrumentName = "V I"
    \RemoveAllEmptyStaves
    \override VerticalAxisGroup.remove-layer = 1
  } \violI
  \new Staff \with {
    instrumentName = "Violin II"
    shortInstrumentName = "V II"
    \RemoveAllEmptyStaves
    \override VerticalAxisGroup.remove-layer = 1
  } \violII
>>

[image of music]

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

Instrucciones predefinidas

\RemoveEmptyStaves, \RemoveAllEmptyStaves.

Véase también

Glosario musical: Frenched staff.

Manual de aprendizaje: Visibilidad y color de los objetos.

Referencia de la notación: Cambiar los valores por omisión de los contextos, El símbolo del pentagrama, Pentagramas de Ossia, Notas ocultas, Silencios invisibles, Visibilidad de los objetos, Identificadores de modificación de contextos, Agrupar pentagramas, Modificar los complementos (plug-ins) de contexto.

Archivos instalados: ‘ly/engraver-init.ly’.

Fragmentos de código: Staff notation.

Referencia de funcionamiento interno: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_engraver, Axis_group_engraver, Keep_alive_together_engraver.

Advertencias y problemas conocidos

La eliminación del grabador Staff_symbol_engraver también oculta las barras de compás. Si se fuerza la visibilidad de la barra de compás, pueden ocurrir errores de formato visual. En este caso, utilice las siguientes sobreescrituras de valores en vez de quitar el grabador:

\omit StaffSymbol
\override NoteHead.no-ledgers = ##t

Para ver los fallos y problemas conocidos, así como las advertencias asociadas con \RemoveEmptyStaves, consulte Cambiar los valores por omisión de los contextos.


LilyPond — Referencia de la notación v2.23.82 (rama de desarrollo).