1.3.1 Segni di espressione collegati alle note

Questa sezione spiega come creare segni di espressione che siano collegati alle note: articolazioni, abbellimenti e dinamiche. Sono trattati anche i metodi per creare nuovi segni di dinamica.


Articolazioni e abbellimenti

Una varietà di simboli che rappresentano articolazioni, ornamenti e altre indicazioni di esecuzione possono essere attaccati a una nota con questa sintassi:

nota\nome

I valori possibili per nome sono elencati in List of articulations. Ad esempio:

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

[image of music]

Alcune di queste articolazioni hanno delle abbreviazioni che semplificano l’inserimento. Le abbreviazioni sono attaccate al nome della nota e la loro sintassi è composta da un trattino - seguito da un simbolo che indica l’articolazione. Esistono abbreviazioni predefinite per marcato, chiuso, tenuto, staccatissimo, accento, staccato e portato. L’output corrispondente è:

c4-^ c-+ c-- c-!
c4-> c-. c2-_

[image of music]

Le regole per il posizionamento predefinito delle articolazioni sono definite in ‘scm/script.scm’. Articolazioni e ornamenti possono essere posizionati manualmente sopra o sotto il rigo; si veda Direction and placement.

Le articolazioni sono oggetti Script. Le loro proprietà sono descritte in dettaglio in Script.

Le articolazioni possono essere attaccate alle pause e alle note ma non alle pause multiple. Esiste un comando speciale predefinito, \fermataMarkup, che permette di attaccare un segno di corona a una pausa multipla (e soltanto ad essa). Questo crea un oggetto MultiMeasureRestText.

\override Script.color = #red
\override MultiMeasureRestText.color = #blue
a2\fermata r\fermata
R1\fermataMarkup

[image of music]

Oltre alle articolazioni, si possono attaccare alle note anche il testo tra virgolette o in un blocco \markup{}. Si veda Text scripts.

Maggiori informazioni sull’ordine degli oggetti Script e TextScript collegati alle note si trovano in Posizionamento degli oggetti.

Frammenti di codice selezionati

Modificare i valori predefiniti per le abbreviazioni delle articolazioni

Le abbreviazioni sono definite in ‘ly/script-init.ly’, dove sono assegnati valori predefiniti alle variabili dashHat, dashPlus, dashDash, dashBar, dashLarger, dashDot e dashUnderscore. Questi valori predefiniti possono essere modificati. Ad esempio, per associare l’abbreviazione -+ (dashPlus) al simbolo del trillo invece che al simbolo + predefinito, si assegna il valore trill alla variabile dashPlus:

\relative c'' { c1-+ }

dashPlus = "trill"

\relative c'' { c1-+ }

[image of music]

Controllo dell’ordine verticale degli script

L’ordine verticale degli script è determinato dalla proprietà 'script-priority. Più il numero è piccolo, più sarà posto vicino alla nota. In questo esempio, il simbolo di diesis (oggetto TextScript) ha prima la priorità più bassa, dunque è posto più in basso nel primo esempio. Nel secondo, il trillo (oggetto Script) ha la priorità più bassa, quindi si trova all’interno. Quando due oggetti hanno la stessa priorità, l’ordine in cui sono inseriti determina quale viene prima.

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

Creare un gruppetto ritardato

Creare un gruppetto ritardato, dove la nota più bassa del gruppetto usa l’alterazione, richiede vari \override. La proprietà outside-staff-priority deve essere impostata su #f, perché altrimenti questa avrebbe la precedenza sulla proprietà avoid-slur. Il valore di halign serve a posizionare il gruppo orizzontalmente.

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

Vedi anche

Glossario Musicale: tenuto, accento, staccato, portato.

Manuale di apprendimento: Posizionamento degli oggetti.

Guida alla notazione: Text scripts, Direction and placement, List of articulations, Trilli.

File installati: ‘scm/script.scm’.

Frammenti: Expressive marks.

Guida al funzionamento interno: Script, TextScript.


Dinamiche

I segni di dinamica assoluta si indicano con un comando che segue una nota, come ad esempio c4\ff. I segni di dinamica disponibili sono \ppppp, \pppp, \ppp, \pp, \p, \mp, \mf, \f, \ff, \fff, \ffff, \fffff, \fp, \sf, \sff, \sp, \spp, \sfz e \rfz. I segni di dinamica possono essere posizionati manualmente sopra o sotto il rigo, come è spiegato in dettaglio in Direction and placement.

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

[image of music]

Un segno di crescendo inizia con \< e termina con \!, un segno di dinamica assoluta o un ulteriore segno di crescendo o decrescendo. Un segno di decrescendo inizia con \> termina nello stesso modo, ovvero con \!, un segno di dinamica assoluta oppure un altro segno di crescendo o decrescendo. Si possono usare \cr e \decr al posto di \< e \>. Le forcelle vengono create con questa notazione.

c2\< c\!
d2\< d\f
e2\< e\>
f2\> f\!
e2\> e\mp
d2\> d\>
c1\!

[image of music]

Una forcella che termina con \! si estenderà fino al margine destro della nota a cui è assegnato \!. Nel caso in cui sia terminata con l’inizio di un altro segno di crescendo o decrescendo, si estenderà fino al centro della nota a cui è assegnato il successivo \< o \>. La forcella successiva partirà dal margine destro della stessa nota invece che dal margine sinistro, come accade quando si termina con \!.

c1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\!

[image of music]

Le forcelle terminate con segni di dinamica assoluta invece che da \! avranno un aspetto simile. Tuttavia, la lunghezza della dinamica assoluta stessa può cambiare il punto in cui finisce la forcella precedente.

c1\< | c4 a c\mf a | c1\< | c4 a c\ffff a

[image of music]

Occorre usare le pause spaziatrici per attaccare più di un segno a una nota. Questo è utile soprattutto quando si aggiunge un crescendo e un decrescendo alla stessa nota:

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

[image of music]

Il comando \espressivo permette di indicare un crescendo e un decrescendo sulla stessa nota. Tuttavia, si tenga presente che viene implementato come articolazione, non come dinamica.

c2 b4 a
g1\espressivo

[image of music]

I segni di crescendo testuali iniziano con \cresc, quelli di decrescendo con \decresc o \dim. Le linee di estensione vengono aggiunte automaticamente.

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

I segni testuali per i cambi di dinamica possono sostituire anche le forcelle:

\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 creare nuovi segni di dinamica assoluta o del testo da allineare alle dinamiche, si veda Nuovi segni di dinamica.

Il posizionamento verticale della dinamica è gestito da DynamicLineSpanner.

Esiste un contesto Dynamics che permette di comporre i segni di dinamica sulla loro linea orizzontale. Si usano le pause spaziatrici per indicare il tempo (le note in un contesto Dynamics occupano anche il tempo musicale, ma non appaiono nel rigo). Il contesto Dynamics può contenere altri elementi utili come segni testuali, estensori del testo e segni di pedale del pianoforte.

<<
  \new Staff \relative c' {
    c2 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]

Comandi predefiniti

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

Frammenti di codice selezionati

Impostare il comportamento delle forcelle sulle stanghette

Se la nota che termina una forcella si trova sul primo battito di una battuta, la forcella si ferma prima della stanghetta che precede la nota. Si può controllare questo comportamento modificando la proprietà 'to-barline.

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

[image of music]

Impostare la lunghezza minima delle forcelle

Se le forcelle sono troppo corte, possono essere allungate modificando la proprietà minimum-length dell’oggetto Hairpin.

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

[image of music]

Forcelle con notazione al niente

Le forcelle di dinamica possono essere rappresentate con ua punta tonda (notazione “al niente”) impostando la proprietà circled-tip dell’oggetto Hairpin su #t.

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

[image of music]

Stampare le forcelle in vari stili

Il segno di dinamica della forcella può avere diversi stili

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

Dinamiche e segni testuali allineati verticalmente

Impostando la proprietà 'Y-extent su un valore adatto, tutti gli oggetti DynamicLineSpanner (forcelle e testi di dinamica) possono essere allineati su un punto di riferimento comune, indipendentemente dalla loro reale estensione. In questo modo, ogni elemento sarà allineato verticalmente, producendo quindi un output più gradevole.

La stessa idea, insieme all’utilizzo di \textLengthOn, serve ad allineare i segni testuali sulla loro linea di base.

\markup \vspace #1 %avoid LSR-bug

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 = #2.0
  \override DynamicLineSpanner.Y-extent = #'(-1.5 . 1.5)
  \textLengthOn
  \override TextScript.Y-extent = #'(-1.5 . 1.5)
  \music
}

[image of music]

Nascondere la linea di estensione per le dinamiche testuali

I cambi di dinamica in stile testuale (come cresc. e dim.) appaiono con una linea tratteggiata che mostra la loro estensione. Questa linea può essere soppressa nel modo seguente:

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

[image of music]

Nascondere la linea di estensione per le dinamiche testuali

Il testo usato per i crescendo e i decrescendo può essere cambiato modificando le proprietà di contesto crescendoText e decrescendoText.

Lo stile della linea dell’estensore può essere cambiato modificando la proprietà 'style di DynamicTextSpanner. Il valore predefinito è 'dashed-line; gli altri valori possibili sono 'line, 'dotted-line e '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]

Vedi anche

Glossario Musicale: al niente, crescendo, decrescendo, forcella. Manuale di apprendimento: Articolazione e dinamiche.

Guida alla notazione: Direction and placement, Nuovi segni di dinamica, What goes into the MIDI output?, Controlling MIDI dynamics.

Frammenti: Expressive marks.

Guida al funzionamento interno: DynamicText, Hairpin, DynamicLineSpanner, Dynamics.


Nuovi segni di dinamica

Il modo più semplice per creare indicazioni dinamiche è usare gli oggetti \markup.

moltoF = \markup { molto \dynamic f }

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

[image of music]

In modalità markup, si possono creare dinamiche editoriali (racchiuse tra parentesi normali o quadrate). La sintassi della modalità markup è descritta in 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]

Segni di dinamica semplici e centrati si creano facilmente con la funzione make-dynamic-script.

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

[image of music]

In generale, make-dynamic-script prende come argomento qualsiasi oggetto markup. Il tipo di carattere per la dinamica contiene solo i caretteri f,m,p,r,s e z; dunque se si desidera un’indicazione dinamica che contenga testo semplice e simboli di punteggiatura, occorre usare dei comandi markup che ripristinino la famiglia e la codifica del tipo di carattere per il testo normale, ad esempio \normal-text. Il vantaggio nell’uso di make-dynamic-script al posto di un normale markup è l’allineamento verticale degli oggetti markup e delle forcelle collegate alla stessa testa di 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' {
  c4_\roundFdynamic\< d e f
  g,1~_\boxFdynamic\>
  g1
  g'1~\mfEspressDynamic
  g1
}

[image of music]

Si può usare anche la forma Scheme della modalità markup. La sintassi è spiegata in 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]

Per allineare a sinistra il testo di dinamica invece di centrarlo su una nota, si usa un \tweak:

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

[image of music]

Le impostazioni dei tipi di carattere in modalità markup sono descritti in Selecting font and font size.

Vedi anche

Guida alla notazione: Formatting text, Selecting font and font size, What goes into the MIDI output?, Controlling MIDI dynamics.

Extending LilyPond: Markup construction in Scheme.

Frammenti: Expressive marks.


Altre lingue: English, deutsch, español, français, 日本語.
About automatic language selection.

LilyPond — Guida alla Notazione v2.17.26 (ramo di sviluppo).