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
}

[image of music]

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

[image of music]

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.

Les articulacions es poden adjuntar als silencis així com a les notes, pero no es poden ajuntar a silencis multicompàs. Hi ha disponible una ordre predefinida especial, \fermataMarkup, per annexar un calderó a un silenci multicompàs (i sols a un silenci multicompàs). L’ordre crea un objecte MultiMeasureRestText.

\override Script.color = #red
\override MultiMeasureRestText.color = #blue
a'2\fermata r\fermata
R1\fermataMarkup

[image of music]

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

Modifying default values for articulation shorthand notation

The shorthands are defined in ‘ly/script-init.ly’, where the variables dashHat, dashPlus, dashDash, dashBar, dashLarger, dashDot, and dashUnderscore are assigned default values. The default values for the shorthands can be modified. For example, to associate the -+ (dashPlus) shorthand with the trill symbol instead of the default + symbol, assign the value trill to the variable dashPlus:

\relative c'' { c1-+ }

dashPlus = "trill"

\relative c'' { c1-+ }

[image of music]

Controlling the vertical ordering of scripts

The vertical ordering of scripts is controlled with the 'script-priority property. The lower this number, the closer it will be put to the note. In this example, the TextScript (the sharp symbol) first has the lowest priority, so it is put lowest in the first example. In the second, the prall trill (the Script) has the lowest, so it is on the inside. When two objects have the same priority, the order in which they are entered determines which one comes first.

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

Creating a delayed turn

Creating a delayed turn, where the lower note of the turn uses the accidental, requires several overrides. The outside-staff-priority property must be set to #f, as otherwise this would take precedence over the avoid-slur property. Changing the fractions 2/3 and 1/3 adjusts the horizontal position.

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

[image of music]

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
}

[image of music]

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

[image of music]

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

[image of music]

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
}

[image of music]

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

[image of music]

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
}

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

Instruccions predefinides

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

Fragments de codi seleccionats

Setting hairpin behavior at bar lines

If the note which ends a hairpin falls on a downbeat, the hairpin stops at the bar line immediately preceding. This behavior can be controlled by overriding the 'to-barline property.

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

[image of music]

Setting the minimum length of hairpins

If hairpins are too short, they can be lengthened by modifying the minimum-length property of the Hairpin object.

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

[image of music]

Printing hairpins using al niente notation

Hairpin dynamics may be printed with a circled tip (“al niente” notation) by setting the circled-tip property of the Hairpin object to #t.

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

[image of music]

Printing hairpins in various styles

Hairpin dynamics may be created in a variety of styles.

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

[image of music]

Vertically aligned dynamics and textscripts

All DynamicLineSpanner objects (hairpins and dynamic texts) are placed with their reference line at least 'staff-padding from the staff, unless other notation forces them to be farther. Setting 'staff-padding to a sufficiently large value aligns the dynamics.

The same idea, together with \textLengthOn, is used to align the text scripts along their baseline.

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
}

[image of music]

Hiding the extender line for text dynamics

Text style dynamic changes (such as cresc. and dim.) are printed with a dashed line showing their extent. This line can be suppressed in the following way:

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

[image of music]

Changing text and spanner styles for text dynamics

The text used for crescendos and decrescendos can be changed by modifying the context properties crescendoText and decrescendoText.

The style of the spanner line can be changed by modifying the 'style property of DynamicTextSpanner. The default value is 'dashed-line, and other possible values include 'line, 'dotted-line and 'none.

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

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

[image of music]

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 Format del text.

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

[image of music]

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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

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
}

[image of music]

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ó: Format del text, Selecció del tipus de lletra i la seva mida, Enriquiment de la sortida MIDI, Control de las dinàmiques del MIDI.

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

Fragments de codi: Expressive marks.


Altres idiomes: English, deutsch, español, français, italiano, 日本語.
Quant a la selecció automàtica de la llengua.

LilyPond — Referència de la notació v2.21.0 (branca de desenvolupament).