| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Collisions of objects
| 4.6.1 Spostare gli oggetti | ||
| 4.6.2 Correggere elementi della notazione sovrapposti | ||
| 4.6.3 Esempio musicale |
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Moving objects
Per quanto possa apparire sorprendente, LilyPond non è perfetto. Alcuni elementi della notazione possono sovrapporsi. Si tratta di un caso spiacevole, anche se in realtà piuttosto raro. Di solito l’esigenza di spostare gli oggetti dipende da motivi di chiarezza o da ragioni estetiche: gli elementi possono ottenere un aspetto migliore con un po’ più o un po’ meno spazio intorno.
Esistono tre principali approcci per risolvere la sovrapposizione degli elementi della notazione. Vediamoli nel seguente ordine:
\override. I
vantaggi dell’intervenire su questo tipo di proprietà sono che (a)
gli altri oggetti saranno spostati automaticamente se è necessario far
spazio, e (b) ogni sovrascrittura può essere applicata a tutte le occorrenze
di oggetti dello stesso tipo. Tali proprietà sono:
direction
Questa è già stata trattata in dettaglio (vedi Oggetti interni al rigo).
padding, right-padding, staff-padding
Quando un oggetto viene posizionato, il valore della sua proprietà
padding specifica lo spazio intermedio da lasciare tra l’oggetto stesso
e il bordo più vicino di quello accanto a cui si trova. Nota che si
tratta del valore di padding dell’oggetto che si sta
posizionando, mentre quello dell’oggetto già posizionato viene
ignorato. Gli spazi specificati da padding possono essere
applicati a tutti gli oggetti che supportano l’interfaccia
side-position-interface.
Invece che da padding, la disposizione dei gruppi di alterazioni
è regolata da right-padding. Questa proprietà appartiene all’oggetto
AccidentalPlacement che si trova nel contesto Staff. Il
processo di formattazione della partitura crea per prime le teste di
nota e poi, se presenti, aggiunge le alterazioni alla sinistra delle
teste di nota usando la proprietà right-padding per stabilire
la distanza tra le teste e le singole alterazioni.
Dunque, solo la proprietà right-padding dell’oggetto AccidentalPlacement
produce un effetto sul posizionamento delle alterazioni.
La proprietà staff-padding è strettamente connessa alla proprietà
padding: padding regola la quantità minima di spazio tra
qualsiasi oggetto che supporti l’interfaccia side-position-interface e
quello più vicino (solitamente, la nota o le linee del rigo); staff-padding
si applica solo a quegli oggetti che stanno sempre fuori dal rigo e regola
la distanza minima tra l’oggetto e il rigo. Nota che
staff-padding non ha alcun effetto sugli oggetti disposti relativamente
alla nota invece che al rigo, anche se può essere sovrascritto senza generare
degli errori per tali oggetti; quindi viene semplicemente ignorata.
Per scoprire quale proprietà padding è richiesta per l’oggetto che desideri riposizionare, devi tornare alla guida del Funzionamento interno e cercare le proprietà dell’oggetto. Presta attenzione al fatto che le proprietà padding potrebbero non trovarsi nell’oggetto più ovvio; in tal caso devi cercare negli oggetti simili.
I valori delle proprietà padding sono misurati in spazi del rigo. Il valore predefinito della maggior parte degli oggetti è circa 1.0 o meno (a seconda dell’oggetto). Può essere sovrascritto per ottenere una distanza maggiore o minore.
self-alignment-X
Questa proprietà serve ad allineare l’oggetto a sinistra, a destra o
al centro rispetto al punto di riferimento dell’oggetto genitore.
Si può usare con tutti gli oggetti che supportano l’interfaccia
self-alignment-interface. Generalmente si tratta di oggetti
che contengono testo. I valori sono LEFT (sinistra), RIGHT
(destra) o CENTER (centro). Altrimenti, è possibile definire un valore
numerico compreso tra -1 e +1, dove -1 indica
allineamento a sinistra e +1 allineamento a destra, mentre gli altri
numeri spostano progressivamente il testo dall’allineamento a sinistra
all’allineamento a destra. È possibile specificare valori numerici maggiori
di 1, per spostare il testo ancora più a sinistra, o valori inferiori
a -1, per spostarlo ancora più a destra. Ogni modifica di 1
nel valore corrisponde a uno spostamento pari alla metà della lunghezza
del testo.
extra-spacing-width
Questa proprietà è disponibile per tutti gli oggetti che supportano
l’interfaccia item-interface. Accetta due numeri: il primo è
aggiunto all’estensione più a sinistra, il secondo a quella più a
destra. I numeri negativi spostano il bordo verso sinistra, quelli
positivi verso destra: quindi, per allargare un oggetto il primo
numero deve essere negativo, il secondo deve essere positivo.
Nota che non tutti gli oggetti rispettano entrambi i numeri. Ad
esempio, l’oggetto Accidental considera soltanto il primo
numero (bordo sinistro).
staff-position
staff-position è una proprietà dell’interfaccia
staff-symbol-referencer-interface, supportata dagli oggetti
che vengono posizionati in relazione al rigo. Specifica in unità
di mezzo spazio di rigo la posizione verticale dell’oggetto rispetto
alla linea centrale del rigo stesso. È utile per risolvere collisioni
tra oggetti come le pause di più misure, le legature di valore e le
note in voci diverse.
horizontal-shift
All’interno di una voce, tutte le note che si trovano nello stesso momento
musicale sono raggruppate in una colonna di note, e viene creato un oggetto
NoteColumn per controllare il posizionamento orizzontale di quel
gruppo di note (vedi “Colonne di note” in Definire esplicitamente le voci). Se
e solo se due o più colonne di note in un solo contesto Staff, entrambe
con i gambi nella stessa direzione, si trovano sullo stesso momento musicale,
i valori delle loro proprietà horizontal-shift sono usati per attribuire
un punteggio e le colonne che hanno un punteggio più alto vengono progressivamente spostate
per evitare le collisioni delle teste di nota. Questa proprietà viene impostata
dai comandi \voiceXXX e può essere scavalcata direttamente con un
comando \override o, di solito, dai comandi \shiftOn.
Attenzione: questa proprietà viene usata per dare un punteggio alle
colonne di note per spostarle orizzontalmente; non specifica la grandezza dello
spostamento, che viene aumentata progressivamente per gradi in base alla larghezza della
testa di nota per ogni punteggio. I gradi sono solitamente di metà della
larghezza della testa di nota, ma possono essere della larghezza intera della
testa quando c’è un gruppo di note molto ravvicinate.
force-hshift
La proprietà force-hshift appartiene a NoteColumn
(più precisamente all’interfaccia note-column-interface). Modificandola
è possibile spostare la colonna di note in situazioni in cui le colonne di
note sono sovrapposte. Non ha effetto su colonne di note non sovrapposte.
Viene specificata in unità appropriate per una colonna di note, ovvero la
larghezza della testa della nota nella prima voce. Si usa
in situazioni complesse in cui i normali comandi \shiftOn (vedi
Definire esplicitamente le voci) non risolvono adeguatamente le collisioni tra le
note. Per questo scopo, è preferibile alla proprietà extra-offset
perché non c’è bisogno di trovare la giusta distanza in spazi di rigo e
lo spostamento delle note dentro o fuori da una NoteColumn
si ripercuote su altre azioni, come il congiungimento delle teste delle note.
extra-offsetQuesta proprietà si applica a qualsiasi oggetto di formattazione che supporta
l’interfaccia grob-interface. Accetta come valore una coppia di numeri
che specificano l’ulteriore spostamento nelle direzioni orizzontale e verticale.
I numeri negativi spostano l’oggetto a sinistra o in basso. Le unità sono
gli spazi del rigo. Questo spostamento aggiuntivo è applicato dopo la formattazione
degli oggetti, dunque gli oggetti possono essere riposizionati ovunque senza
incidere sugli altri.
positionsQuesta proprietà è utile specialmente per correggere manualmente l’inclinazione e
l’altezza di travature, legature di portamento e graffette dei gruppi irregolari. Accetta
come valore una coppia di numeri, che specifica la posizione dei bordi sinistro
e destro della travatura, della legatura, etc., rispetto alla linea centrale
del rigo. L’unità di misura è lo spazio del rigo. Considera, però,
che le legature di portamento e di frase non possono essere riposizionate
del tutto arbitrariamente. LilyPond, infatti, genera prima una lista
delle possibili posizioni per la legatura e poi determina la legatura che
“ritiene migliore”. Se la proprietà positions è stata sovrascritta,
viene scelta dalla lista la legatura più vicina alle posizioni richieste.
Alcuni oggetti potrebbero non disporre di tutte queste proprietà. Occorre andare a vedere nella guida al Funzionamento interno quali proprietà siano disponibili per l’oggetto che si intende modificare.
Segue una lista degli oggetti che hanno la maggiore probabilità di essere coinvolti in collisioni, insieme al nome dell’oggetto che deve essere cercato nella guida al Funzionamento interno per poter sapere quali proprietà si possono usare per spostarlo.
| Tipo di oggetto | Nome dell’oggetto |
|---|---|
| Articolazioni | Script |
| Travature | Beam |
| Dinamiche (verticalmente) | DynamicLineSpanner |
| Dinamiche (orizzontalmente) | DynamicText |
| Diteggiature | Fingering |
| Numeri di chiamata / Testi | RehearsalMark |
| Legature di portamento | Slur |
Testi, ovvero ^"testo" | TextScript |
| Legature di valore | Tie |
| Gruppi irregolari | TupletBracket |
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Fixing overlapping notation
Vediamo ora come le proprietà presentate nella sezione precedente possano aiutare a risolvere la sovrapposizione degli elementi della notazione.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
padding@translationof The padding property
La proprietà padding serve a aumentare (o diminuire)
la distanza tra i simboli che si trovano sopra o sotto le
note.
c'2\fermata \override Script.padding = #3 b2\fermata
% Questo non funziona, vedi sotto \override MetronomeMark.padding = #3 \tempo 4 = 120 c'1 | % Questo funziona \override Score.MetronomeMark.padding = #3 \tempo 4 = 80 d'1 |
Nota nel secondo esempio come è importante sapere quale contesto
gestisce un certo oggetto. Dato che l’oggetto MetronomeMark
è regolato dal contesto Score, le modifiche della proprietà
nel contesto Voice non vengono prese in considerazione. Per
approfondire l’argomento si veda
(notation)Modifica delle proprietà section ‘Modifica delle proprietà’ in Guida alla Notazione.
Se la proprietà padding di un oggetto viene aumentata quando
quell’oggetto si trova insieme ad altri oggetti disposti secondo la
loro proprietà outside-staff-priority, allora si sposteranno
quell’oggetto e tutti gli oggetti esterni a esso.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
right-padding@translationof The right-padding property
La proprietà right-padding agisce sullo spazio tra l’alterazione
e la nota corrispondente. Non è una necessità frequente, ma la
spaziatura predefinita potrebbe risultare errata nei casi di alcuni
speciali glifi delle alterazioni usati nella musica microtonale.
Questi si inseriscono sovrascrivendo lo stampo (stencil) dell’alterazione
con un segno che contenga il simbolo desiderato:
sesquisharp = \markup { \sesquisharp } \relative { c''4 % Mostra un triesis (alterazione ascendente di tre quarti di tono), % ma lo spazio è troppo stretto \once \override Accidental.stencil = #ly:text-interface::print \once \override Accidental.text = #sesquisharp cis4 c % Ecco come migliorare lo spazio \once \override Score.AccidentalPlacement.right-padding = #0.6 \once \override Accidental.stencil = #ly:text-interface::print \once \override Accidental.text = #sesquisharp cis4 | }
Siamo costretti a usare una sovrascrittura dello stampo dell’alterazione che
verrà spiegata successivamente. Il tipo di stampo deve essere una
procedura e in questo esempio è stato modificato per mostrare i
contenuti della proprietà text dell’oggetto Accidental, che
è esso stesso impostato sul segno di triesis. Poi
questo segno viene distanziato dalla testa di nota grazie alla sovrascrittura
di right-padding.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
staff-padding@translationof The staff-padding property
staff-padding serve ad allineare gli oggetti come i segni di
dinamica lungo una linea di base a una certa distanza dal rigo, quando
nessun altro elemento della notazione li allontana dal rigo.
Non è una proprietà di DynamicText bensì
di DynamicLineSpanner, perché la base deve essere applicata
ugualmente a tutti i segni dinamica, compresi quelli creati
come estensori. Ecco come allineare i segni di dinamica nell’esempio
preso dalla sezione precedente:
\override DynamicLineSpanner.staff-padding = #3 \relative { a'4\f b\mf a\p b\mp }
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
self-alignment-X@translationof The self-alignment-X property
L’esempio successivo mostra come aggiustare la posizione di un numero di corda rispetto a un gambo allineando il bordo destro del numero al punto di riferimento della nota a cui si riferisce:
\voiceOne <a''\2> \once \override StringNumber.self-alignment-X = #RIGHT <a''\2>
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
staff-position@translationof The staff-position property
Le pause d’intero di una voce possono entrare in collisione con le note di un’altra. Dal momento che queste pause sono centrate rispetto alle stanghette della battuta, calcolare quali altre note potrebbero sovrapporsi richiederebbe un notevole grado d’elaborazione, dato che l’attuale gestione delle collisioni tra note e tra note e pause riguarda solo le note e le pause simultanee. Ecco un esempio di collisione di questo tipo:
<< \relative { c'4 c c c } \\ { R1 } >>
In questo caso la soluzione migliore è spostare in basso la pausa d’intero,
poiché si trova nella seconda voce. In \voiceTwo (ovvero nella seconda
voce di un costrutto <<{…} \\ {…}>>) il valore predefinito
di staff-position è -6 per la pausa multipla (MultiMeasureRest), quindi
dobbiamo spostarla più in basso, ad esempio di quattro semispazi del rigo; il
nuovo valore sarà -10.
<< \relative { c'4 c c c } \\ \override MultiMeasureRest.staff-position = #-10 { R1 } >>
Questa soluzione è preferibile all’uso di extra-offset, perché
il taglio addizionale sopra la pausa è inserito automaticamente.
Vedi il frammento «Disegnare manualmente le legature di valore» in
(notation)Legature di valore section ‘Legature di valore’ in Guida alla Notazione per la differenza tra valori precisi
e imprecisi.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
extra-offset@translationof The extra-offset property
La proprietà extra-offset fornisce un controllo completo
sul posizionamento di un oggetto sia in orizzontale che in verticale.
Nell’esempio seguente, la seconda diteggiatura viene spostata un po’ a sinistra e in basso di 1.8 spazi rigo:
\stemUp f4-5 \once \override Fingering.extra-offset = #'(-0.3 . -1.8) f4-5
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
positions@translationof The positions property
La proprietà positions permette di controllare manualmente la
posizione verticale e quindi l’inclinazione delle graffette dei
gruppi irregolari, delle legature di portamento e di frase e
delle travature. Ecco un esempio in cui una legatura di frase
e una legatura di portamento collidono:
\relative { a'8 \( ( a'16 ) a \) }
Si potrebbero spostare più in alto le due estremità della legatura di frase. Possiamo provare a impostare quella sinistra su 2.5 spazi sopra la linea centrale e quella destra a 4.5 spazi; LilyPond sceglierà la legatura di frase tra quelle candidate che hanno le estremità più vicine a queste:
\once \override PhrasingSlur.positions = #'(2.5 . 4.5) a'8 \( ( a''16 ) a'' \)
È migliorato, ma perché non abbassare un po’ l’estremità destra
della legatura di portamento? Se provi vedrai che non può essere
fatto in questo modo. Il motivo è che non ci sono legature di
portamento candidate più basse di quella già selezionata, quindi
in questo caso la proprietà positions non può produrre
effetti. Tuttavia, legature di valore, di portamento e di frase
possono essere posizionate e disegnate in modo molto preciso
se necessario. Per sapere come fare si veda
(notation)Modifica di legature di valore e di portamento section ‘Modifica di legature di valore e di portamento’ in Guida alla Notazione.
Ecco un altro esempio. Vediamo che le travature collidono con le legature di valore:
{ \time 4/2 << { c'1 ~ 2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> << { c'1 ~ 2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> }
Si può risolvere spostando manualmente in su entrambi gli estremi della travatura dalla loro posizione di 1.81 spazi rigo sotto la linea centrale a, per esempio, 1:
{ \time 4/2 << { c'1 ~ 2. e'8 f' } \\ { \override Beam.positions = #'(-1 . -1) e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> << { c'1 ~ 2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> }
Come vedi, la sovrascrittura si applica anche alla seconda voce della seconda misura di otto note, ma a nessuna delle travature nella prima voce, nemmeno in quelle della seconda misura. Appena la sovrascrittura non è più attiva, deve essere ripristinato, come si vede.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
force-hshift@translationof The force-hshift property
Possiamo vedere ora come applicare le correzioni finali all’esempio di Chopin introdotto alla fine del paragrafo Sento le Voci, che avevamo lasciato così:
\new Staff \relative { \key aes \major << { c''2 aes4. bes8 } \\ { <ees, c>2 des } \\ \\ { aes'2 f4 fes } >> | <c ees aes c>1 | }
La nota interna del primo accordo (ovvero il La bemolle della quarta
voce) non deve essere allontanata dalla colonna della nota più
alta, quindi usiamo \shiftOff.
Nel secondo accordo preferiamo che il Fa sia allineato al La bemolle e che
la nota più grave sia posizionata leggermente più a destra, in modo da
evitare la collisione dei gambi. Per farlo dobbiamo impostare
force-hshift nella colonna (NoteColumn) del Re bemolle
grave in modo che si sposti a destra di mezzo spazio di rigo e force-hshift
per il Fa su zero. Si usa \once per evitare che tali impostazioni
si propaghino oltre il momento musicale immediato, sebbene in questo
piccolo esempio il \once e il secondo \override nella quarta
voce potrebbero essere omessi. Ma non sarebbe un esempio di buona pratica.
Ecco il risultato finale:
\new Staff \relative { \key aes \major << { c''2 aes4. bes8 } \\ { <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des } \\ \\ { \once \shiftOff aes'2 \once \shiftOff f4 fes } >> | <c ees aes c>1 | }
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Real music example
Completiamo questa sezione delle modifiche (tweak) mostrando passo passo come affrontare un esempio complesso che necessita varie modifiche per poter raggiungere l’aspetto desiderato. L’esempio è stato scelto appositamente per mostrare come usare la guida alla Notazione per risolvere problemi inusuali di notazione. Non rispecchia l’uso abituale di LilyPond, quindi non farti scoraggiare da queste difficoltà! Per fortuna problemi come questi sono molto rari!
L’esempio è tratto dalla Première Ballade op. 23 di Chopin e va dalla battuta 6 alla 9, la transizione dal Lento iniziale al Moderato. Vediamo prima come vogliamo che l’output appaia; per evitare di complicare troppo l’esempio abbiamo però tolto le dinamiche, le diteggiature e le pedalizzazioni.
Vediamo che la parte della mano destra nella terza battuta richiede quattro voci. Si tratta delle cinque crome unite da travatura, il Do legato, la minima di Re che è unita alla croma di Re, e la semiminima puntata del Fa diesis, anch’essa unita alla croma della stessa altezza. Tutto il resto è su una voce singola, quindi il sistema più semplice è introdurre queste ulteriori voci temporaneamente, quando sono richieste. Se ti sei dimenticato come fare, rileggi i paragrafi Sento le Voci e Definire esplicitamente le voci. In questo caso scegliamo di usare per il passaggio polifonico le voci definite esplicitamente, dato che LilyPond riesce a evitare meglio le collisioni se tutte le voci sono definite esplicitamente in questo modo.
Dunque iniziamo con l’inserire le note in due variabili, impostare la struttura del rigo in un blocco \score e vedere che cosa LilyPond produce senza modifiche manuali:
rhMusic = \relative { \new Voice { r2 c''4. g8 | bes1~ | \time 6/4 bes2. r8 % Inizia la sezione polifonica a quattro voci << { c,8 d fis bes a } % continuazione della voce principale \new Voice { \voiceTwo c,8~ 2 } \new Voice { \voiceThree s8 d2 } \new Voice { \voiceFour s4 fis4. } >> | g2. % continuazione della voce principale } } lhMusic = \relative { r2 <c' g ees>2 | <d g, d>1 | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
Le note sono giuste ma l’aspetto è ben lontano dall’essere soddisfacente. La legatura collide col nuovo segno di tempo, alcune note non sono accorpate e mancano vari elementi della notazione. Partiamo dalle cose più semplici. Possiamo aggiungere la legatura di portamento della mano sinistra e la legatura di frase della mano destra, dato che queste sono state già trattate nel Tutorial. In questo modo abbiamo:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | bes1~ | \time 6/4 bes2. r8 % Inizia la sezione polifonica a quattro voci << { c,8 d fis bes a } % continuazione della voce principale \new Voice { \voiceTwo c,8~ 2 } \new Voice { \voiceThree s8 d2 } \new Voice { \voiceFour s4 fis4. } >> | g2.\) % continuazione della voce principale } } lhMusic = \relative { r2 <c' g ees>2( | <d g, d>1) | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
Ora la prima battuta è corretta. La seconda battuta contiene un arpeggio e
è terminata da una stanghetta doppia. Dato che non sono stati menzionati
in questo manuale di Apprendimento, come possiamo ottenerli? Dobbiamo
andare a vedere nella guida alla Notazione. Cercando nell’indice
i termini “arpeggio” e “stanghetta”, scopriamo rapidamente che un arpeggio
viene prodotto posponendo \arpeggio a un accordo e che la stanghetta
doppia si ottiene col comando \bar "||". Questo è stato facile. Ora
dobbiamo correggere la collisione della legatura di valore con l’indicazione di tempo.
Il modo migliore è spostare la legatura verso l’alto. Lo spostamento degli oggetti
è stato trattato prima in Spostare gli oggetti, dove si dice che gli oggetti
posizionati relativamente al rigo possono essere spostati verticalmente
sovrascrivendo la proprietà staff-position, specificata in metà spazi-rigo
rispetto alla linea centrale del rigo. Dunque la seguente sovrascrittura
posizionata proprio prima della prima nota della legatura sposta la legatura
3.5 mezzi spazi di rigo sopra la linea centrale:
\once \override Tie.staff-position = #3.5
Questo completa la seconda battuta:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | \once \override Tie.staff-position = #3.5 bes1~ | \bar "||" \time 6/4 bes2. r8 % Inizia la sezione polifonica a quattro voci << { c,8 d fis bes a } % continuazione della voce principale \new Voice { \voiceTwo c,8~ 2 } \new Voice { \voiceThree s8 d2 } \new Voice { \voiceFour s4 fis4. } >> | g2.\) % continuazione della voce principale } } lhMusic = \relative { r2 <c' g ees>2( | <d g, d>1)\arpeggio | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
Proseguiamo con la terza battuta e l’inizio della sezione del Moderato. Nel
tutorial abbiamo visto come aggiungere un’indicazione di tempo col comando
\tempo, quindi aggiungere “Moderato” è facile. Ma come facciamo
ad accorpare le note appartenenti a voci diverse? Ancora una volta
dobbiamo rivolgerci alla guida alla Notazione per un aiuto. Una ricerca
del termine “accorpare” (in inglese merge) nell’indice della guida
ci porta rapidamente al paragrafo
(notation)Risoluzione delle collisioni section ‘Risoluzione delle collisioni’ in Guida alla Notazione, dove
troviamo i comandi per allineare le note con teste e punti diversi. Nel
nostro esempio abbiamo bisogno di accorpare entrambi i tipi di note per la
durata della sezione polifonica della terza battuta. Dunque, usando le
informazioni trovate nella guida alla Notazione, aggiungiamo
\mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn |
all’inizio di questa sezione e
\mergeDifferentlyHeadedOff \mergeDifferentlyDottedOff |
alla fine, ottenendo:
Queste sovrascritture hanno accorpato i due Fa diesis, ma non i due
Re. Perché? La risposta si trova nella stessa sezione della
guida alla Notazione: le note da unire devono avere i gambi in
direzioni opposte e due note non possono essere accorpate se c’è
una terza nota nella stessa colonna. In questo esempio i due Re
hanno entrambi i gambi in su e c’è una terza nota, il Do. Sappiamo
come cambiare la direzione dei gambi con \stemDown e la
guida alla Notazione ci dice anche come spostare il Do, applicando
uno spostamento con uno dei comandi \shift. Ma quale? Il Do
si trova nella seconda voce che ha lo spostamento (shift) disattivato,
mentre i due Re sono nella prima e nella terza voce, che ce l’hanno
rispettivamente disattivato e attivato. Dunque dobbiamo distanziare il
Do di un ulteriore livello usando \shiftOnn per evitare che
interferisca con i due Re. Applicando queste modifiche abbiamo:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | \once \override Tie.staff-position = #3.5 bes1~ | \bar "||" \time 6/4 bes2.\tempo "Moderato" r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Inizia la sezione polifonica a quattro voci << { c,8 d fis bes a } % continuazione della voce principale \new Voice { \voiceTwo % Sposta il c2 fuori dalla colonna della nota principale % in modo che l'unione di note funzioni c,8~ \shiftOnn c2 } \new Voice { \voiceThree % Il gambo di d2 deve essere in giù per permettere l'unione delle note s8 \stemDown d2 } \new Voice { \voiceFour s4 fis4. } >> | \mergeDifferentlyHeadedOff \mergeDifferentlyDottedOff g2.\) % continuazione della voce principale } } lhMusic = \relative { r2 <c' g ees>2( | <d g, d>1)\arpeggio | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
Ci siamo quasi, restano solo due problemi: il gambo in giù del
Re unito non ci dovrebbe essere e il Do dovrebbe essere posizionato
a destra dei Re. Sappiamo come fare grazie alle modifiche precedenti:
rendiamo il gambo trasparente e spostiamo il Do con la proprietà
force-hshift. Ecco il risultato finale:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | \once \override Tie.staff-position = #3.5 bes1~ | \bar "||" \time 6/4 bes2.^\markup { \bold "Moderato" } r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Inizia la sezione polifonica a quattro voci << { c,8 d fis bes a } % continuazione della voce principale \new Voice { \voiceTwo c,8~ % Riposiziona il c2 a destra della nota unita \once \override NoteColumn.force-hshift = #1.0 % Sposta il c2 fuori dalla colonna della nota principale % in modo che l'unione di note funzioni \shiftOnn c2 } \new Voice { \voiceThree s8 % Il gambo di d2 deve essere in giù per permettere l'unione delle note \stemDown % Il gambo di d2 deve essere invisibile \tweak Stem.transparent ##t d2 } \new Voice { \voiceFour s4 fis4. } >> | \mergeDifferentlyHeadedOff \mergeDifferentlyDottedOff g2.\) % continuazione della voce principale } } lhMusic = \relative { r2 <c' g ees>2( | <d g, d>1)\arpeggio | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] |
This document was generated by gub on Luglio 13, 2020 using texi2html 1.82.
Altre lingue: English, català, deutsch, español, français, 日本語, nederlands.
A proposito della selezione automatica della lingua.