[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

4.6 Collisioni tra oggetti

@translationof Collisions of objects


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

4.6.1 Spostare gli oggetti

@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:

  1. Si può cambiare la direzione di uno degli oggetti che si sovrappongono usando i comandi predefiniti elencati prima, in riferimento agli oggetti interni al rigo (vedi Oggetti interni al rigo). In questo modo si possono riposizionare facilmente gambi, legature di portamento e di valore, travature, segni di dinamica, testo e gruppi irregolari. La limitazione è che si tratta di una scelta circoscritta a due sole posizioni, nessuna delle quali potrebbe essere appropriata.
  2. Le proprietà degli oggetti, che LilyPond usa quando dispone gli oggetti di formattazione, si possono modificare con \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:
  3. Infine, se i metodi precedenti non funzionano, si possono riposizionare verticalmente gli oggetti rispetto alla linea centrale del rigo oppure collocarli a una qualsiasi distanza rispetto a una nuova posizione. Gli svantaggi di questo metodo consistono nel fatto che i corretti valori per il riposizionamento debbano essere trovati per tentativi e per ogni singolo oggetto; inoltre, dato che lo spostamento avviene dopo che LilyPond ha posizionato tutti gli altri oggetti, spetta all’utente evitare le eventuali collisioni. La principale difficoltà che questo approccio comporta, però, è che i valori di riposizionamento potrebbero dover essere ricalcolati se la musica venisse successivamente modificata. Le proprietà che si possono usare con questo tipo di riposizionamento manuale sono:
    extra-offset

    Questa 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.

    positions

    Questa 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 oggettoNome dell’oggetto
ArticolazioniScript
TravatureBeam
Dinamiche (verticalmente)DynamicLineSpanner
Dinamiche (orizzontalmente)DynamicText
DiteggiatureFingering
Numeri di chiamata / TestiRehearsalMark
Legature di portamentoSlur
Testi, ovvero ^"testo"TextScript
Legature di valoreTie
Gruppi irregolariTupletBracket

[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

4.6.2 Correggere elementi della notazione sovrapposti

@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] [ ? ]

La proprietà 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

[image of music]

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

[image of music]

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] [ ? ]

La proprietà 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 |
}

[image of music]

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] [ ? ]

La proprietà 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 }

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

La proprietà 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>

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

La proprietà 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 } >>

[image of music]

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

[image of music]

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] [ ? ]

La proprietà 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

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

La proprietà 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 \) }

[image of music]

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'' \)

[image of music]

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

[image of music]

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

[image of music]

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] [ ? ]

La proprietà 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 |
}

[image of music]

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

[image of music]


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

4.6.3 Esempio musicale

@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.

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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:

[image of music]

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

[image of music]

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

[image of music]


[ < ] [ > ]   [ << ] [ 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.