Referencia de la notación de GNU LilyPond: 1.3.1 Expresiones adosadas a las notas

### 1.3.1 Expresiones adosadas a las notas

Esta sección explica cómo crear marcas expresivas que están aplicadas a notas: articulaciones, ornamentos y matices. También se tratan los métodos para crear las nuevas marcas dinámicas.

#### Articulaciones y ornamentos

Se pueden adjuntar a las notas un amplio abanico de símbolos para denotar articulaciones, adornos y otras indicaciones de ejecución, utilizando la sintaxis siguiente:

>     nota\nombre

La lista de los posibles valores de `nombre` está en Lista de articulaciones. Por ejemplo:

>     \relative {
>       c''4\staccato c\mordent b2\turn
>       c1\fermata
>     }

Algunas de estas articulaciones tienen abreviaturas que facilitan su escritura. Las abreviaturas se escriben detrás del nombre de la nota, y su sintaxis consiste en un guión `-` seguido de un símbolo que especifica la articulación. Existen abreviaturas predefinidas para el marcato, stopped (nota apagada), tenuto, staccatissimo, accent (acento), staccato (picado), y portato. La salida correspondiente a estas articulaciones aparece de la siguiente manera:

>     \relative {
>       c''4-^ c-+ c-- c-!
>       c4-> c-. c2-_
>     }

Las reglas para la colocación predeterminada de las articulaciones se encuentran definidas en el archivo ‘`scm/script.scm`’. Las articulaciones y ornamentos se pueden colocar manualmente por encima o por debajo del pentagrama; véase Dirección y posición.

Las articulaciones son objetos `Script`. Sus propiedades se describen de forma más completa en Script.

Se pueden aplicar articulaciones a los silencios normales y multi-compás, además de a las notas. La aplicación de una articulación a un silencio multi-compás crea un objeto `MultiMeasureRestScript`.

>     \override Script.color = #red
>     \override MultiMeasureRestScript.color = #blue
>     a'2\fermata r\fermata
>     R1\fermata

Además de articulaciones, se pueden adjuntar textos y elementos de marcado a las notas. Véase Guiones de texto.

Para ver más información acerca de la ordenación de los elementos Script y TextScript que se adjuntan a las notas, consulte Colocación de los objetos.

#### Fragmentos de código seleccionados

Modificar los valores predeterminados para la notación abreviada de las articulaciones

Las abreviaturas se encuentran definidas dentro del archivo ‘`ly/script-init.ly`’, donde las variables `dashHat`, `dashPlus`, `dashDash`, `dashBang`, `dashLarger`, `dashDot` y `dashUnderscore` reciben valores predeterminados. Se pueden modificar estos valores predeterminados para las abreviaturas. Por ejemplo, para asociar la abreviatura `-+` (`dashPlus`) con el símbolo del semitrino en lugar del símbolo predeterminado +, asigne el valor `trill` a la variable `dashPlus`:

>     \relative c'' { c1-+ }

>     dashPlus = "trill"

>     \relative c'' { c1-+ }

Controlar la ordenación vertical de las inscripciones

El orden vertical que ocupan las inscripciones gráficas está controlado con la propiedad `'script-priority`. Cuanto más bajo es este número, más cerca de la nota se colocará. En este ejemplo, el `TextScript` (el sostenido) tiene primero la prioridad más baja, por lo que se sitúa en la posición más baja en el primer ejemplo. En el segundo, el `Script` (el semitrino) es el que la tiene más baja, por lo que se sitúa en la parte interior. Cuando dos objetos tienen la misma prioridad, el orden en que se introducen determina cuál será el que aparece en primer lugar.

>     \relative c''' {
>       \once \override TextScript.script-priority = #-100
>       a2^\prall^\markup { \sharp }

>       \once \override Script.script-priority = #-100
>       a2^\prall^\markup { \sharp }
>     }

Crear un grupeto de anticipación

La creación de un grupeto circular de anticipación entre dos notas, donde la nota inferior del grupeto utiliza una alteración, requiere varias sobreescrituras de propiedades. La propiedad `outside-staff-priority` se debe establecer al valor `#f`, pues en caso contrario tendría prioridad sobre la propiedad `avoid-slur property`. Cambiando las fracciones `2/3` y `1/3` puede ajustarse la posición horizontal.

>     \relative c'' {
>       c2*2/3 ( s2*1/3\turn d4) r
>       <<
>         { c4.( d8) }
>         { s4 s\turn }
>       >>
>       \transpose c d \relative c'' <<
>         { c4.( d8) }
>         {
>           s4
>           \once \set suggestAccidentals = ##t
>           \once \override AccidentalSuggestion.outside-staff-priority = ##f
>           \once \override AccidentalSuggestion.avoid-slur = #'inside
>           \once \override AccidentalSuggestion.font-size = -3
>           \once \override AccidentalSuggestion.script-priority = -1
>           \single \hideNotes
>           b8-\turn \noBeam
>           s8
>         }
>       >>
>     }

#### Véase también

Glosario musical: tenuto, accent, staccato, portato.

Manual de aprendizaje: Colocación de los objetos.

Referencia de la notación: Guiones de texto, Dirección y posición, Lista de articulaciones, Trinos.

Archivos instalados: ‘`scm/script.scm`’.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: Script, TextScript.

#### Matices dinámicos

Las marcas dinámicas de matiz absoluto se especifican usando una instrucción después de una nota: `c4\ff`. Las marcas dinámicas disponibles son `\ppppp`, `\pppp`, `\ppp`, `\pp`, `\p`, `\mp`, `\mf`, `\f`, `\ff`, `\fff`, `\ffff`, `\fffff`, `\fp`, `\sf`, `\sff`, `\sp`, `\spp`, `\sfz`, `\rfz` y `\n`. Las indicaciones dinámicas se pueden colocar manualmente por encima o por debajo del pentagrama; para ver más detalles, consulte Dirección y posición.

>     \relative c'' {
>       c2\ppp c\mp
>       c2\rfz c^\mf
>       c2_\spp c^\ff
>     }

Una indicación de crescendo se comienza con `\<` y se termina con `\!`, con un matiz absoluto o con otra indicación de crescendo o de decrescendo. Una indicación de decrescendo comienza con `\>` y se termina también con `\!`, con un matiz dinámico absoluto o con otra indicación de crescendo o de decrescendo. Se pueden usar `\cr` y `\decr` en lugar de `\<` y `\>`. También es posible usar `\endcr` y `\enddecr` en lugar de `\!` para finalizar un crescendo o un decrescendo, respectivamente. De forma predeterminada, se tipografían reguladores en ángulo cuando se utiliza esta notación.

>     \relative c'' {
>       c2\< c\!
>       d2\< d\f
>       e2\< e\>
>       f2\> f\!
>       e2\> e\mp
>       d2\> d\>
>       c1\!
>     }

Un regulador terminado mediante `\!` finaliza en el borde derecho de la nota que lleva el `\!` adosado. En el caso en que esté terminado con el comienzo de otra indicación crescendo o decrescendo, terminará en el centro de la nota que tiene adosada la siguiente indicación `\<` ó `\>`. El regulador siguiente empezará entonces en el borde derecho de la misma nota en lugar del borde izquierdo, como sería usual si hubiese terminado con `\!` previamente. Si un regulador termina en el inicio de un compás, finalizará sobre la línea divisoria precedente.

>     \relative {
>       c''1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\!
>     }

Los reguladores que terminan con indicaciones dinámicas absolutas en lugar de con `\!` también se tipografían de manera parecida. Sin embargo, la longitud de la propia indicación dinámica puede alterar el punto en que finaliza el regulador anterior.

>     \relative {
>       c''1\< | c4 a c\mf a | c1\< | c4 a c\ffff a
>     }

Se requieren silencios espaciadores para tipografiar varias indicaciones dinámicas sobre una sola nota. Esto es útil especialmente para añadir un crescendo y un decrescendo a la misma nota:

>     \relative {
>       c''4\< c\! d\> e\!
>       << f1 { s4 s4\< s4\> s4\! } >>
>     }

Se puede usar la instrucción `\espressivo` para indicar un crescendo y un decrescendo sobre la misma nota. Sin embargo, advierta que esta indicación está implementada como una articulación, no como una expresión dinámica.

>     \relative {
>       c''2 b4 a
>       g1\espressivo
>     }

Las indicaciones de crescendo textuales se inician con `\cresc`. Los decrescendos textuales se inician con `\decresc` o con `\dim`. Se trazan líneas extensoras cuando es necesario.

>     \relative {
>       g'8\cresc a b c b c d e\mf |
>       f8\decresc e d c e\> d c b |
>       a1\dim ~ |
>       a2. r4\! |
>     }

También pueden sustituirse los reguladores gráficos por cambios de dinámica textuales:

>     \relative c'' {
>       \crescTextCresc
>       c4\< d e f\! |
>       \dimTextDecresc
>       g4\> e d c\! |
>       \dimTextDecr
>       e4\> d c b\! |
>       \dimTextDim
>       d4\> c b a\! |
>       \crescHairpin
>       \dimHairpin
>       c4\< d\! e\> d\! |
>     }

Para crear nuevas indicaciones de matiz absoluto o de texto que deba alinearse con los matices; véase Indicaciones dinámicas nuevas.

La colocación vertical de las indicaciones de dinámica se maneja por parte de DynamicLineSpanner.

Está disponible un contexto `Dynamics` para tipografiar las indicaciones de matiz dinámico en su propia línea horizontal. Utilice silencios de separación para indicar los tiempos (las notas que están dentro de un contexto `Dynamics` también ocupan tiempo musical, pero no se imprimen). El contexto `Dynamics` puede contener otros elementos como inscripciones textuales, objetos extensores de texto e indicaciones de pedal de piano.

>     <<
>       \new Staff \relative {
>         c'2 d4 e |
>         c4 e e,2 |
>         g'4 a g a |
>         c1 |
>       }
>       \new Dynamics {
>         s1\< |
>         s1\f |
>         s2\dim s2-"rit." |
>         s1\p |
>       }
>     >>

#### Instrucciones predefinidas

`\dynamicUp`, `\dynamicDown`, `\dynamicNeutral`, `\crescTextCresc`, `\dimTextDim`, `\dimTextDecr`, `\dimTextDecresc`, `\crescHairpin`, `\dimHairpin`.

#### Fragmentos de código seleccionados

Establecer el comportamiento de los reguladores en las barras de compás

Si la nota que da fin a un regulador cae sobre la primera parte de un compás, el regulador se detiene en la línea divisoria inmediatamente precedente. Se puede controlar este comportamiento sobreescribiendo la propiedad `'to-barline`.

>     \relative c'' {
>       e4\< e2.
>       e1\!
>       \override Hairpin.to-barline = ##f
>       e4\< e2.
>       e1\!
>     }

Ajustar la longitud mínima de los reguladores

Si los reguladores son demasiado cortos, se pueden alargar modificando la propiedad `minimum-length` del objeto `Hairpin`.

>     \relative c'' {
>       c4\< c\! d\> e\!
>       << f1 { s4 s\< s\> s\! } >>
>       \override Hairpin.minimum-length = #5
>       << f1 { s4 s\< s\> s\! } >>
>     }

Moving the ends of hairpins

The ends of hairpins may be offset by setting the `shorten-pair` property of the `Hairpin` object. Positive values move endpoints to the right, negative to the left. Unlike the `minimum-length` property, this property only affects the appearance of the hairpin; it does not adjust horizontal spacing (including the position of bounding dynamics). This method is thus suitable for fine-tuning a hairpin within its allotted space.

>     {
>       c'1~\<
>       c'2~ c'\!
>       \once \override Hairpin.shorten-pair = #'(2 . 2)
>       c'1~\<
>       c'2~ c'\!
>       \once \override Hairpin.shorten-pair = #'(-2 . -2)
>       c'1~\<
>       c'2~ c'\!
>       c'1~\p-\tweak shorten-pair #'(2 . 0)\<
>       c'2~ c'\ffff
>     }

Impresión de reguladores utilizando la notación «al niente»

Se pueden imprimir reguladores con un círculo en la punta (notación «al niente») estableciendo la propiedad `circled-tip` del objeto `Hairpin` al valor `#t`.

>     \relative c'' {
>       \override Hairpin.circled-tip = ##t
>       c2\< c\!
>       c4\> c\< c2\!
>     }

Imprimir reguladores en diversos estilos

Los reguladores se pueden crear en una amplia variedad de estilos.

>     \relative c'' {
>       \override Hairpin.stencil = #flared-hairpin
>       a4\< a a a\f
>       a4\p\< a a a\ff
>       a4\sfz\< a a a\!
>       \override Hairpin.stencil = #constante-hairpin
>       a4\< a a a\f
>       a4\p\< a a a\ff
>       a4\sfz\< a a a\!
>       \override Hairpin.stencil = #flared-hairpin
>       a4\> a a a\f
>       a4\p\> a a a\ff
>       a4\sfz\> a a a\!
>       \override Hairpin.stencil = #constante-hairpin
>       a4\> a a a\f
>       a4\p\> a a a\ff
>       a4\sfz\> a a a\!
>     }

Indicaciones dinámicas y textuales alineadas verticalmente

Todos los objetos `DynamicLineSpanner` (reguladores e indicaciones dinámicas de texto) se sitúan con su línea de referencia a una distancia de al menos `'staff-padding` del pentagrama, a no ser que otros elementos de notación los fuerce a colocarse a más distancia. Si se ajusta `'staff-padding` a un valor suficientemente grande, las indicaciones dinámicas quedarán alineadas.

Se usa una idea similar junto a \textLengthOn para alinear las inscripciones de texto a lo largo de su línea de base.

>     music = \relative c' {
>       a'2\p b\f
>       e4\p f\f\> g, b\p
>       c2^\markup { \huge gorgeous } c^\markup { \huge fantastic }
>     }

>     {
>       \music
>       \break
>       \override DynamicLineSpanner.staff-padding = #3
>       \textLengthOn
>       \override TextScript.staff-padding = #1
>       \music
>     }

Ocultar la línea de extensión de las expresiones textuales de dinámica

Los cambios de dinámica con estilo de texto (como cresc. y dim.) se imprimen con una línea intermitente que muestra su alcance. Esta línea se puede suprimir de la siguiente manera:

>     \relative c'' {
>       \override DynamicTextSpanner.style = #'none
>       \crescTextCresc
>       c1\< | d | b | c\!
>     }

Cambiar el texto y los estilos de objeto de extensión para las indicaciones dinámicas textuales

Se puede modificar el texto empleado para los crescendos y decrescendos modificando las propiedades de contexto `crescendoText` y `decrescendoText`.

El estilo de la línea de extensión se puede cambiar modificando la propiedad `'style` de `DynamicTextSpanner`. El valor predeterminado es `'dashed-line` (línea discontinua), y entre otros valores posibles se encuentran `'line` (línea), `'dotted-line` (línea de puntos) y `'none` (nada):

>     \relative c'' {
>       \set crescendoText = \markup { \italic { cresc. poco } }
>       \set crescendoSpanner = #'text
>       \override DynamicTextSpanner.style = #'dotted-line
>       a2\< a
>       a2 a
>       a2 a
>       a2 a\mf
>     }

#### Véase también

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

Manual de aprendizaje: Articulaciones y matices dinámicos.

Referencia de la notación: Dirección y posición, Indicaciones dinámicas nuevas, Enriquecimiento de la salida MIDI, Control de las dinámicas del MIDI.

Fragmentos de código: Expressive marks.

Referencia de funcionamiento interno: DynamicText, Hairpin, DynamicLineSpanner, Dynamics.

#### Indicaciones dinámicas nuevas

La manera más fácil de crear indicaciones dinámicas es usar objetos de marcado (`\markup`).

>     moltoF = \markup { molto \dynamic f }

>     \relative {
>       <d' e>16_\moltoF <d e>
>       <d e>2..
>     }

En el modo de marcado se pueden crear indicaciones dinámicas editoriales (entre paréntesis o corchetes). La sintaxis del modo de marcado se describe en Formatear el texto.

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

Las indicaciones dinámicas sencillas y centradas se crean fácilmente con la función `make-dynamic-script`.

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

En general `make-dynamic-script` toma cualquier objeto de marcado como argumento. La fuente tipográfica de matices sólo contiene los caracteres `f, m, p, r, s` y `z`, por lo que si se desea obtener una indicación dinámica que incluya texto normal o signos de puntuación, es necesario utilizar instrucciones de marcado que devuelvan los ajustes de la familia de fuente tipográfica y su codificación a las del texto normal, por ejemplo `\normal-text`. El interés de la utilización de `make-dynamic-script` en lugar de un elemento de marcado corriente está en asegurar la alineación vertical de los objetos de marcado y reguladores que se aplican a la misma cabeza de nota.

>     roundF = \markup { \center-align \concat {
>                \normal-text { \bold { \italic ( } }
>                \dynamic f
>                \normal-text { \bold { \italic ) } } } }
>     boxF = \markup { \bracket { \dynamic f } }
>     mfEspress = \markup { \center-align \line {
>                   \hspace #3.7 mf \normal-text \italic espress. } }
>     roundFdynamic = #(make-dynamic-script roundF)
>     boxFdynamic = #(make-dynamic-script boxF)
>     mfEspressDynamic = #(make-dynamic-script mfEspress)
>     \relative {
>       c'4_\roundFdynamic\< d e f
>       g,1~_\boxFdynamic\>
>       g1
>       g'1~\mfEspressDynamic
>       g1
>     }

Se puede utilizar en su lugar la forma Scheme del modo de marcado. Su sintaxis se explica en Construcción de elementos de marcado en Scheme.

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

Para alinear el texto del matiz dinámico a la izquierda en lugar de centrarlo sobre una nota, utilice un `\tweak`:

>     moltoF = \tweak DynamicText.self-alignment-X #LEFT
>              #(make-dynamic-script
>                 (markup #:normal-text "molto"
>                         #:dynamic "f"))
>     \relative {
>       <d' e>16 <d e>
>       <d e>2..\moltoF <d e>1
>     }

Los ajustes para las fuentes tipográficas en el modo de marcado se describen en Seleccionar la tipografía y su tamaño.

#### Véase también

Referencia de la notación: Formatear el texto, Seleccionar la tipografía y su tamaño, Enriquecimiento de la salida MIDI, Control de las dinámicas del MIDI.

Extender LilyPond: Construcción de elementos de marcado en Scheme.

Fragmentos de código: Expressive marks.

#### LilyPond — Referencia de la notación v2.22.2 (rama estable).