Referència de la notació del GNU LilyPond: 1.3.1 Expressions annexades a les notes

### 1.3.1 Expressions annexades a les notes

Aquesta secció explica com crear marques expressives que estan aplicades a notes: articulacions, ornaments i matisos. També es tracten els mètodes per crear les marques dinàmiques.

#### Articulacions i ornaments

Es poden annexar a les notes un ample ventall de símbols per denotar articulacions, adorns i altres indicacions d’execució, utilitzant la sintaxi següent:

>     nota\nom

La llista de possibles valors de `nom` està a Llista d’articulacions. Per exemple

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

Algunes d’aquestes articulacions tenen abreviatures que faciliten la seva escriptura. Les abreviatures s’escriuen a darrere del nom de la nota, i la seva sintaxi consisteix en un guió `-` seguit d’un símbol que especifica l’articulació. Existeixen abreviatures prededefinides per al marcato, stopped (nota apagada), tenuto, staccatissimo, accent (acent), staccato (picat), i portato. La sortida corresponent a aquestes articulacions apareix de la manera següent:

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

Les regles per a la col·locació predeterminada de les articulacions es troben definides al fitxer ‘`scm/script.scm`’. Les articulacions i ornaments es poden col·locar manualment per sobre o per sota del pentagrama; vegeu Direcció i posició.

Les articulacions són objectes `Script`. Les seves propietats es descriuen de forma més completa a Script.

A més d’articulacions, es poden adjuntar textos i elements de marcatge de les notes. Vegeu Scripts de text.

Per veure més informació quant a l’ordenació dels elements Script i TextScript que s’annexen a les notes, consulteu Col·locació dels objectes.

#### Fragments de codi seleccionats

#### Modificació dels valors predeterminats per a la notació abreviada de les articulacions

Les abreviatures es troben definides dins del fitxer ‘`ly/script-init.ly`’, on les variables`dashHat`, `dashPlus`, `dashDash`, `dashBar`, `dashLarger`, `dashDot` i `dashUnderscore` reben valors predeterminats. Es poden modificar aquests valors predeterminats per a les abreviatures. Per exemple, per associar l’abraviatura `-+` (`dashPlus`) amb el símbol de semitrí en cmptes del símbol predeterminat +, assigneu el valor `trill` a la variable `dashPlus`:

>     \relative c'' { c1-+ }

>     dashPlus = \trill

>     \relative c'' { c1-+ }

#### Controlar l’ordenació vertical de les inscripcions

L’orden vertical que ocupen les inscripcions gràfiques està controlat amb la propietat `'script-priority`. Quant més baix és aquest número, més a prop de la nota es col·locarà. En aquest exemple, el `TextScript` (el sostingut) té primer la prioritat més baixa, per la qual cosa se situa en la posició més baixa al primer exemple. En el segon, el semitrí (el `Script`) és el que la té més baixa, per la qual cosa se situa en la part interior. Quan dos objectes tenen la mateixa prioritat, l’ordre en el qual s’introdueixen determina quin serà el que apareix en primer lloc.

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

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

#### Crear un grupet d’anticipació

La creació d’un grupet circular d’anticipació entre dues notes, on la nota inferior del grupet utilitza una alteració, requereix diverses sobreescriptures de propietats. La propietat `outside-staff-priority` es pot establir al valor `#f`, atès que en aquest cas tindria prioritat sobre la propietat `avoid-slur property`. Canviant les fraccions `2/3` i `1/3` pot ajustar-se la posició horitzontal.

>     \relative c'' {
>       \after 2*2/3 \turn c2( d4) r |
>       \after 4 \turn c4.( d8)
>       \after 4
>       {
>         \once \set suggestAccidentals = ##t
>         \once \override AccidentalSuggestion.outside-staff-priority = ##f
>         \once \override AccidentalSuggestion.avoid-slur = #'inside
>         \once \override AccidentalSuggestion.font-size = -3
>         \once \override AccidentalSuggestion.script-priority = -1
>         \once \hideNotes
>         cis8\turn \noBeam
>       }
>       d4.( e8)
>     }

#### Vegeu també

Glossari musical: tenuto, accent, staccato, portato.

Manual d’aprenentatge: Col·locació dels objectes.

Referència de la notació: Scripts de text, Direcció i posició, Llista d’articulacions, Refilets.

Fitxers instal·lats: ‘`scm/script.scm`’.

Fragments de codi: Expressive marks.

Referència de funcionament intern: Script, TextScript.

#### Matisos dinàmics

Les marques dinàmiques de matís absolut s’especifiquen usant una ordre després d’una nota: `c4\ff`. Les marques dinàmiques disponibles són `\ppppp`, `\pppp`, `\ppp`, `\pp`, `\p`, `\mp`, `\mf`, `\f`, `\ff`, `\fff`, `\ffff`, `\fffff`, `\fp`, `\sf`, `\sff`, `\sp`, `\spp`, `\sfz` i `\rfz`. Les indicaciones dinàmiques es poden col·locar manulament per sobre o per sota del pentagrama; per veure més detalls, consulteu Direcció i posició.

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

Una indicació de crescendo s’inicia amb `\<` i s’acaba amb `\!`, amb un matís absolut o amb una altra indicació de crescendo o de descrescendo. Una indicació de decrescendo comença amb `\>` i acaba també amb `\!`, amb un matís dinàmic absolut o amb una altra indicació de crescendo o de decrescendo. Es poden usar `\cr` i `\decr` en lloc de `\<` i `\>`. De forma predeterminada, es graven reguladors en angle quan es fa servir aquesta notació.

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

Un regulador acabat mitjançant `\!` finalitza a la vora dreta de la nota que porta el `\!` annexat. En el cas en el qual estigui acabat amb el començament d’una altra indicació crescendo o decrescendo, acabarà al centre de la nota que té annexada la següent indicació `\<` o `\>`. El regulador següent començarà aleshores a la vora dreta de la mateixa nota en comptes de la vora esquerra, com seria normal si hagués acabaat amb `\!` prèviament.

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

Els reguladors que acaben amb indicacions dinàmiques absolutes en lloc d’amb `\!` també es graven de manera semblant. Tanmateix, la longitud de la pròpia indicació dinàmica pot alterar el punt en el qual finalitza el regulador anterior.

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

Es requereixen silencis espaiadors per tipografiar diverses indicacions dinàmiques sobre una sola nota. Això és útil especialment per afegir un crescendo i un decrescendo a la mateixa nota:

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

Es pot fer servir l’ordre `\espressivo` per indicar un crescendo o un decrescendo sobra la mateixa nota. Tanmateix, noteu que aquesta indicació està implementada com una articulació, no com una expressió dinàmica.

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

Les indicacions de crescendo textuals s’inicien amb `\cresc`. Els decrescendos textuals s’inicien amb `\decresc` o amb `\dim`. Es tracen líniies extensores quan cal.

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

També poden substituir-se els reguladors gràfics per canvis de dinàmica textuals:

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

Per crear noves indicacions de matís absolut o de text que s’han d’alinear amb els matisos; vegeu Indicacions dinàmiques contemporànies.

La col·locació vertical de les indicacions de dinàmica es gestiona per part de DynamicLineSpanner.

Hi ha disponible un context `Dynamics` per gravar les indicacions de matís dinàmic en la seva pròpia línia horitzontal. Useu silencis de separació per indicar els temps (les notes que estan dins d’un context `Dynamics` també ocupen temps musical, però no s’imprimeixen). El context `Dynamics` pot contenir altres elements com inscripcions textuals, objectes extensors de text i indicacions 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 |
>       }
>     >>

#### Instruccions predefinides

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

#### Fragments de codi seleccionats

#### Establir el comportament dels reguladors a les barres de compàs

Si la nota que acaba un regulador cau sobre la primera part d’un compàs, el regulador s’atura en la línia divisòria immediatament precedent. Es pot controlar aquest comportament sobreescrivint la propietat `'to-barline`.

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

#### Ajustament de la longitud mínima dels reguladors

Si els reguladors són massa curts, es poden allargar modificant la propietat `minimum-length` de l’objecte `Hairpin`.

>     <<
>       {
>         \after 4 \< \after 2 \> \after 2. \! f'1
>         \override Hairpin.minimum-length = #8
>         \after 4 \< \after 2 \> \after 2. \! f'1
>       }
>       {
>         \repeat unfold 8 c'4
>       }
>     >>

#### Impressió de reguladors utilitzant la notació «al niente»

Es poden imprimir reguladores amb un cercle en la punta (notació «al niente») establint la propietat `circled-tip` de l’objecte `Hairpin` al valor `#t`.

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

#### Impressió de reguladors en diversos estils

Els reguladors es poden crear en una àmplia varietat d’estils.

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

#### Indicacions dinàmiques i textuals alineades verticalment

Tots els objectes `DynamicLineSpanner` (reguladors i indicacions dinàmiques de text) se situen amb la seva línia de referència a una distància d’almenys `'staff-padding` del pentagrama, a no ser que d’altres elements de notació els forci a col·locar-se a més distància. Si s’ajusta `'staff-padding` a un valor suficientment gran, les indicacions dinàmiques quedaran alineades.

S’usa una idea semblant junt a \textLengthOn per alinear les inscripcions de text al llarg de la seva línia 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ínia d’extensió de les expressions textuals de dinàmica

Els canvis de dinàmica amb estil de text (com cresc. i dim.) es graven amb una línia intermitent que mostra el seu abast. Aquesta línia es pot suprimir de la manera següent:

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

#### Canviar el text i els estils d’objecte d’extensió per a les indicacions dinàmiques textuals

Es pot modificar el text empleat per als crescendos i decrescendos modificant les propietats de context `crescendoText` i `decrescendoText`.

L’estil de la línia d’extensió es pot canviar modificant la propietat `'style` de `DynamicTextSpanner`. El valor predeterminat és `'dashed-line` (línia discontínua), i entre d’altres valors possibles es troben `'line` (línia), `'dotted-line` (línia de punts) i `'none` (res):

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

#### Vegeu també

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

Manual d’aprenentatge: Articulacions i matisos dinàmics.

Referència de la notació: Direcció i posició, Indicacions dinàmiques contemporànies, Enriquiment de la sortida MIDI, Control de les dinàmiques del MIDI.

Fragments de codi: Expressive marks.

Referència de funcionament intern: DynamicText, Hairpin, DynamicLineSpanner, Dynamics.

#### Indicacions dinàmiques contemporànies

La menara més fàcil de crear indicacions dinàmiques és usar objectes de marcatge (`\markup`).

>     moltoF = \markup { molto \dynamic f }

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

En el mode de marcatge es poden crear indicacions dinàmiques editorials (entre parèntesis o claus). La sintaxi del mode de marcatge es descriu a Donar format al text.

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

Les indicacions dinàmiques senzilles i centrades es creen fàcilment amb la funció `make-dynamic-script`.

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

En general `make-dynamic-script` agafa qualsevol objecte de marcatge com a argument. El tipus de lletra de matisos sols conté els caràcters `f, m, p, r, s` y `z`, per la qual cosa si desitgeu obtenir una indicació dinàmica que inclogui text normal o signes de puntuació, cal fer servir ordres de marcatge que retornin els ajustaments de la família de tipus de lletra i la seva codificació a las del text normal, per exemple `\normal-text`. L’interès de la utilització de `make-dynamic-script` en lloc d’un element de marcatge corrent radica en assegurar l’alineació vertical dels objectes de marcatge i reguladors que s’apliquen al mateix cap 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
>     }

Es pot utilitzar en el seu lloc la forma Scheme del mode de marcatge. La seva sintaxi s’explica a

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

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

Per alinear el text del matís dinàmic a l’esquerra en lloc de centrar-lo sobre una nota, utilitzeu 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
>     }

Els ajustos per als tipus de lletra en mode de marcatge es descriuen a Selecció del tipus de lletra i la seva mida.

#### Vegeu també

Referència de la notació: Donar format al text, Selecció del tipus de lletra i la seva mida, Enriquiment de la sortida MIDI, Control de les dinàmiques del MIDI.

Extensió del LilyPond: Construcció de marcatge en Scheme.

Fragments de codi: Expressive marks.

#### LilyPond — Referència de la notació v2.24.4 (branca estable).