[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Segni di espressione ] | [ Su : Segni di espressione ] | [ Articolazioni e abbellimenti > ] |
1.3.1 Segni di espressione collegati alle note
Questa sezione spiega come creare segni di espressione collegati alle note: articolazioni, abbellimenti e dinamiche. Sono trattati anche i metodi per creare nuove indicazioni dinamiche.
Articolazioni e abbellimenti | ||
Dinamiche | ||
Nuove indicazioni dinamiche |
[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Segni di espressione collegati alle note ] | [ Su : Segni di espressione collegati alle note ] | [ Dinamiche > ] |
Articolazioni e abbellimenti
I diversi simboli che rappresentano articolazioni, ornamenti e altre indicazioni esecutive possono essere collegati a una nota con questa sintassi:
nota\nome
I valori possibili per nome
sono elencati in
Elenco delle articolazioni. Ad esempio:
\relative { c''4\staccato c\mordent b2\turn c1\fermata }
Alcune di queste articolazioni hanno delle abbreviazioni che ne 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 è:
\relative { c''4-^ c-+ c-- c-! c4-> c-. c2-_ }
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 Direzione e posizionamento.
Le articolazioni sono oggetti Script
. Le loro proprietà sono
descritte in dettaglio in
Script.
Le articolazioni possono essere attaccate alle pause normali, alle pause
multiple e alle note. Attaccando un’articolazione a una pausa multipla
si crea un oggetto MultiMeasureRestScript
.
\override Script.color = #red \override MultiMeasureRestScript.color = #blue a'2\fermata r\fermata R1\fermata
Oltre alle articolazioni, si può attaccare alle note anche un testo,
posto tra virgolette o in un blocco \markup{}
. Si veda Scritte.
Ulteriori 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
, dashBang
, 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-+ }
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 } }
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
.
Cambiando la frazione 2/3
si aggiusta la posizione orizzontale.
\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) }
Vedi anche
Glossario Musicale: tenuto, accento, staccato, portato.
Manuale di apprendimento: Posizionamento degli oggetti.
Guida alla notazione: Scritte, Direzione e posizionamento, Elenco delle articolazioni, Trilli.
File installati: ‘scm/script.scm’.
Frammenti: Expressive marks.
Guida al funzionamento interno: Script, TextScript.
[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Articolazioni e abbellimenti ] | [ Su : Segni di espressione collegati alle note ] | [ Nuove indicazioni dinamiche > ] |
Dinamiche
Le indicazioni dinamiche assolute si indicano con un comando che segue una
nota, come ad esempio c4\ff
. Le indicazioni dinamiche disponibili
sono \ppppp
, \pppp
, \ppp
, \pp
, \p
,
\mp
, \mf
, \f
, \ff
, \fff
,
\ffff
, \fffff
, \fp
, \sf
, \sff
,
\sp
, \spp
, \sfz
, \rfz
e \n
. Le indicazioni
dinamiche possono essere posizionate manualmente sopra o sotto il
rigo, come è spiegato in dettaglio in Direzione e posizionamento.
\relative c'' { c2\ppp c\mp c2\rfz c^\mf c2_\spp c^\ff }
Un’indicazione di crescendo inizia con \<
e termina
con \!
, un’indicazione dinamica assoluta o un’ulteriore indicazione
di crescendo o decrescendo. Un’indicazione di decrescendo inizia
con \>
e termina nello stesso modo, ovvero con \!
, un’indicazione
dinamica assoluta oppure un altro segno di crescendo o decrescendo.
Si possono usare \cr
e \decr
al posto di \<
e
\>
; si possono usare \endcr
e \enddecr
al posto di
\!
per terminare unindicazione di crescendo o decrescendo,
rispettivamente. Le forcelle vengono create con questa notazione.
\relative c'' { c2\< c\! d2\< d\f e2\< e\> f2\> f\! e2\> e\mp d2\> d\> c1\! }
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 \!
.
Una forcella che termina sul battere si fermerà alla stanghetta
precedente.
\relative { c''1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\! }
Le forcelle terminate con indicazioni dinamiche assolute invece che da
\!
avranno un aspetto simile. Tuttavia, la lunghezza dell’indicazione
dinamica assoluta stessa può cambiare il punto in cui finisce la
forcella precedente.
\relative { c''1\< | c4 a c\mf a | c1\< | c4 a c\ffff a }
Segni come crescendo o decrescendo devono spesso
iniziare o terminare nel corso di una nota sostenuta. Lo si può fare
con \after
, che può essere usato anche per creare articolazioni
o scritte testuali differite:
<< \relative { \after 2 \< c'1 d4\f\> e f g \after 2. \pp c,1 \after 2. \fermata e \after 2. ^"Fine." f } \relative { \repeat unfold 12 c'4 c c c c\fermata c c c c } >>
Si può usare ripetutamente \after
per attaccare più di un’indicazione a
una nota. Questo è utile soprattutto quando si aggiungono un crescendo e un
decrescendo alla stessa nota:
\relative { c''4\< d\! e\> c\! \after 4 \< \after 2\> \after 2. \! f1 \textLengthOn \after 4 \> \after 2. ^"hush!" c1 g4\pp }
Se il primo di tale sequenza di segni su una nota coincide con l’attacco
della nota, conviene attaccarlo a un accordo vuoto <>
. In questo
modo tutti i segni possono essere inseriti nel loro ordine visivo naturale:
{ <>\< \after 4 \> \after 2 \! c'1 % più facile da leggere e scrivere di: \after 4 \> \after 2 \! c'1\< }
Il comando \espressivo
può essere usato anche per indicare un crescendo
e un decrescendo sulla stessa nota. Tuttavia, si tenga presente che
viene implementato come articolazione, non come dinamica.
\relative { c''2 b4 a g1\espressivo \after 2. \espressivo c }
Le indicazioni di crescendo testuali iniziano con \cresc
, quelle di
decrescendo con \decresc
o \dim
.
Le linee di estensione sono aggiunte automaticamente.
\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\! | }
Le indicazioni testuali per i cambi di dinamica possono essere impiegate anche per sostituire le forcelle:
\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 creare nuove indicazioni dinamiche assolute o testi da allineare alle dinamiche, si veda Nuove indicazioni dinamiche.
Il posizionamento verticale della dinamica è gestito da DynamicLineSpanner.
Esiste un contesto Dynamics
che permette di posizionare le indicazioni
dinamiche su un’apposita linea orizzontale. Si usano le pause spaziatrici
per indicarne la collocazione temporale (le note in un contesto Dynamics
occupano
infatti il rispettivo valore musicale, ma senza comparire sul rigo).
Il contesto Dynamics
può contenere altri elementi utili come
indicazioni testuali, estensori del testo e indicazioni di pedalizzazione del pianoforte.
<< \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 | } >>
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\! }
Impostare la lunghezza minima delle forcelle
Se le forcelle sono troppo corte, possono essere allungate modificando
la proprietà minimum-length
dell’oggetto 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 } >>
Allineare le estremità delle forcelle alle direzioni di NoteColumn
Le estremità delle forcelle possono essere allineate alle direzioni LEFT
,
CENTER
o RIGHT
dei grob NoteColumn
modificando la
proprietà endpoint-alignments
, che è costituita da una coppia di
numeri che rappresentano le estremità sinistra e destra della forcella.
endpoint-alignments
devono essere direzioni (-1, 0 o 1). Valori
diversi verranno trasformati emettendo un avviso. Non ha effetto quando
l’estremità destra di una forcella termina su una pausa; in questo caso termina
sempre sul margine sinistro della pausa.
{ c'2\< <c' d'>\! | \override Hairpin.endpoint-alignments = #'(1 . -1) c'2\< <c' d'>\! | \override Hairpin.endpoint-alignments = #`(,LEFT . ,CENTER) c'2\< <c' d'>\! | }
Spostare le estremità delle forcelle
Le estremità delle forcelle possono essere spostate in modo relativo alla
loro posizione predefinita (offset) impostando la proprietà shorten-pair
dell’oggetto Hairpin
. Valori positivi spostano le estremità a
destra, valori negativi le spostano a sinistra. Diversamente dalla
proprietà minimum-length
, questa proprietà modifica solo l’aspetto
della forcella; non cambia la spaziatura orizzontale (inclusa la posizione
delle dinamiche confinanti). Questo metodo è quindi utile per ritoccare
una forcella entro lo spazio ad essa allocato.
{ 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 }
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\! }
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\! }
Dinamiche e segni testuali allineati verticalmente
Tutti gli oggetti DynamicLineSpanner
(forcelle e testi di dinamica)
sono posti a una distanza minima dal rigo determinata da 'staff-padding
.
Se si imposta 'staff-padding
su un valore abbastanza grande,
le dinamiche saranno allineate.
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 }
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\! }
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 }
Vedi anche
Glossario Musicale: al niente, crescendo, decrescendo, forcella. Manuale di apprendimento: Articolazioni e dinamiche.
Guida alla notazione: Direzione e posizionamento, Nuove indicazioni dinamiche, Miglioramento dell’output MIDI, Gestione delle dinamiche nel MIDI.
Frammenti: Expressive marks.
Guida al funzionamento interno: DynamicText, Hairpin, DynamicLineSpanner, Dynamics.
[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Dinamiche ] | [ Su : Segni di espressione collegati alle note ] | [ Indicazioni espressive curvilinee > ] |
Nuove indicazioni dinamiche
Il modo più semplice per creare indicazioni dinamiche è usare
gli oggetti \markup
.
moltoF = \markup { molto \dynamic f } \relative { <d' e>16_\moltoF <d e> <d e>2.. }
In modalità markup, si possono creare dinamiche editoriali (racchiuse tra parentesi normali o quadrate). La sintassi della modalità markup è descritta in Formattazione del testo.
roundF = \markup { \center-align \concat { \bold { \italic ( } \dynamic f \bold { \italic ) } } } boxF = \markup { \bracket { \dynamic f } } \relative { c'1_\roundF c1_\boxF }
È possibile creare semplicemente indicazioni dinamiche centrate verticalmente con la
funzione make-dynamic-script
.
sfzp = #(make-dynamic-script "sfzp") \relative { c'4 c c\sfzp c }
In generale, make-dynamic-script
assume come argomento qualsiasi
oggetto markup. Il tipo di carattere per la dinamica contiene solo i
caratteri f,m,p,r,s
e z
; dunque, se si desidera creare 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'4_\roundFdynamic\< d e f g,1~_\boxFdynamic\> g1 g'1~\mfEspressDynamic g1 }
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 { <d' e>16 <d e> <d e>2..\moltoF }
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 { <d' e>16 <d e> <d e>2..\moltoF <d e>1 }
Le impostazioni dei tipi di carattere in modalità markup sono descritti in Scelta del tipo di carattere e della dimensione.
Vedi anche
Guida alla notazione: Formattazione del testo, Scelta del tipo di carattere e della dimensione, Miglioramento dell’output MIDI, Gestione delle dinamiche nel MIDI.
Extending LilyPond: Markup construction in Scheme.
Frammenti: Expressive marks.
[ << Notazione musicale ] | [Inizio][Contenuti][Indice] | [ Notazione specialistica >> ] |
[ < Dinamiche ] | [ Su : Segni di espressione collegati alle note ] | [ Indicazioni espressive curvilinee > ] |