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

4.5 Spaziatura orizzontale

@translationof Horizontal spacing


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

4.5.1 Panoramica sulla spaziatura orizzontale

@translationof Horizontal spacing overview

Il motore della spaziatura traduce le differenze delle durate delle note in distanze allungabili (‘springs’) di diversa lunghezza. Durate più lunghe occupano più spazio, quelle più brevi ne occupano meno. Le durate più brevi occupano una quantità fissa di spazio (regolata da shortest-duration-space nell’oggetto (internals)SpacingSpanner section ‘SpacingSpanner’ in Guida al Funzionamento Interno). Più lunga è la durata, più spazio occupa: raddoppiando una durata si aggiunge spazio alla nota di una quantità pari al valore di spacing-increment.

Per esempio, il brano seguente contiene molte minime, semiminime e crome; la croma (1/8) è seguita da 1 Larghezza della Testa di Nota (LTN). La semiminima (1/4) è seguita da 2 LTN, la minima (1/2) da 3 LTN, etc.

 
\relative c' {
  c2 c4. c8
  c4. c8 c4. c8
  c8 c c4 c c
}

[image of music]

Solitamente, spacing-increment è impostato su 1.2 di spazio rigo, che equivale all’incirca alla larghezza della testa di nota, e shortest-duration-space è impostato su 2.0, che significa che la nota più breve occupa 2.4 di spazio rigo (2 volte spacing-increment) di spazio orizzontale. Questo spazio è calcolato dal margine sinistro del simbolo, dunque le note più brevi sono generalmente seguite da un LTN di spazio.

Se si seguisse esattamente la procedura descritta, aggiungendo una sola biscroma (1/32) a un brano che usa solo crome e semicrome, la spaziatura orizzontale dell’intero brano sarebbe troppo larga. Infatti la nota più breve non è più una semicroma ma una biscroma, aggiungendo quindi 1 LTN a ogni nota. Per impedire ciò, la durata più breve per la spaziatura non deriva dalla nota più breve, bensì dalla nota che ricorre più frequentemente nel brano.

La durata più breve più comune viene individuata nel modo seguente. In ogni misura viene determinata la durata più breve e quella più frequente viene scelta come base per la spaziatura, con la condizione che tale durata debba essere sempre uguale o inferiore a una nota di un ottavo.

Tali durate possono anche essere personalizzate. Impostando common-shortest-duration in (internals)SpacingSpanner section ‘SpacingSpanner’ in Guida al Funzionamento Interno, si imposta la durata di base per la spaziatura. La durata massima per essa (solitamente un ottavo), si imposta con base-shortest-duration.

Note ancora più brevi della nota più breve più comune sono seguite da uno spazio proporzionale alla loro durata rispetto a essa. Dunque se aggiungessimo solo alcuni sedicesimi all’esempio precedente, sarebbero seguiti dalla metà di LTN:

 
\relative { c''2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c }

[image of music]

Come è spiegato nel saggio Essay on automated music engraving, le direzioni del gambo influenzano la spaziatura (vedi (essay)Optical spacing section ‘Optical spacing’ in Saggio) e possono essere aggiustate usando la proprietà stem-spacing-correction dell’oggetto (internals)NoteSpacing section ‘NoteSpacing’ in Guida al Funzionamento Interno (che sono generati per ogni contesto (internals)Voice section ‘Voice’ in Guida al Funzionamento Interno.

L’oggetto StaffSpacing (generato nel contesto (internals)Staff section ‘Staff’ in Guida al Funzionamento Interno) contiene la stessa proprietà per regolare la spaziatura tra gambo e stanghetta.

L’esempio seguente mostra tutto questo: una volta con le impostazioni predefinite e una volta con un aggiustamento esagerato:

[image of music]

LilyPond supporta la notazione proporzionale, vedi @ref{Proportional notation}.

Vedi anche

Essay on automated music engraving: (essay)Spaziatura ottica section ‘Spaziatura ottica’ in Saggio.

Frammenti: (snippets)Spacing section ‘Spacing’ in Frammenti di codice.

Guida al funzionamento interno: (internals)SpacingSpanner section ‘SpacingSpanner’ in Guida al Funzionamento Interno, (internals)NoteSpacing section ‘NoteSpacing’ in Guida al Funzionamento Interno, (internals)StaffSpacing section ‘StaffSpacing’ in Guida al Funzionamento Interno, (internals)NonMusicalPaperColumn section ‘NonMusicalPaperColumn’ in Guida al Funzionamento Interno.

Problemi noti e avvertimenti

Non esiste un modo semplice per modificare manualmente la spaziatura. Per aggirare il problema si può inserire dell’ulteriore spazio in una partitura, regolando il valore di padding di quanto è necessario:

 
 \override Score.NonMusicalPaperColumn.padding = #10

Non esiste alcun trucco per diminuire la quantità di spazio.


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

4.5.2 Nuova spaziatura nel corso di un brano

@translationof New spacing section

Nuove sezioni con parametri di spaziatura diversi possono essere iniziati col comando \newSpacingSection. Ciò può essere utile per sezioni con nozioni diverse di note ‘lunghe’ e note ‘brevi’. Il comando \newSpacingSection crea un nuovo oggetto SpacingSpanner in quel momento musicale.

Nell’esempio seguente, il cambio di indicazione di tempo introduce una nuova sezione, e i sedicesimi hanno automaticamente una spaziatura un po’ più larga.

 
\relative c' {
  \time 2/4
  c4 c8 c
  c8 c c4 c16[ c c8] c4
  \newSpacingSection
  \time 4/16
  c16[ c c8]
}

[image of music]

Se gli aggiustamenti automatici della spaziatura non producono la spaziatura richiesta, si possono applicare degli \override manuali alle sue proprietà. Questi devono essere applicati nello stesso momento musicale del comando \newSpacingSection stesso e avranno effetto sulla spaziatura di tutta la musica seguente finché le proprietà non vengono cambiate in una nuova sezione. Per esempio:

 
\relative c' {
  \time 4/16
  c16[ c c8]
  \newSpacingSection
  \override Score.SpacingSpanner.spacing-increment = #2
  c16[ c c8]
  \newSpacingSection
  \revert Score.SpacingSpanner.spacing-increment
  c16[ c c8]
}

[image of music]

Vedi anche

Frammenti: (snippets)Spacing section ‘Spacing’ in Frammenti di codice.

Guida al funzionamento interno: (internals)SpacingSpanner section ‘SpacingSpanner’ in Guida al Funzionamento Interno.


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

4.5.3 Modifica della spaziatura orizzontale

@translationof Changing horizontal spacing

La spaziatura orizzontale può essere modificata tramite la proprietà base-shortest-duration. Nel prossimo esempio confrontiamo la stessa musica, prima senza cambiare la proprietà e poi cambiandola. Valori più grandi di ly:make-moment produrranno musica più densa. Nota che ly:make-moment constituisce una durata, dunque 1 4 è una durata più lunga di 1 16.

 
\score {
  \relative {
    g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
  }
}

[image of music]

 
\score {
  \relative {
    g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
  }
  \layout {
    \context {
      \Score
      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
    }
  }
}

[image of music]


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

Allungamento uniforme dei gruppi irregolari

@translationof Uniform stretching of tuplets

L’impostazione predefinita prevede che la spaziatura nei gruppi irregolari dipenda da vari fattori diversi dalla durata (come alterazioni, cambi di chiave, etc). Per ignorare tali simboli e forzare la spaziatura perché sia uniforme, usare Score.SpacingSpanner.uniform-stretching. Questa proprietà può essere modificata soltanto all’inizio di una partitura:

 
\score {
  <<
    \new Staff \relative c' {
      \tuplet 5/4 { c8 c c c c } c8 c c c
    }
    \new Staff \relative c' {
      c8 c c c \tuplet 5/4 { c8 c c c c }
    }
  >>
  \layout {
    \context {
      \Score
      \override SpacingSpanner.uniform-stretching = ##t
    }
  }
}

[image of music]


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

Spaziatura rigorosa della nota

@translationof Strict note spacing

Se si imposta strict-note-spacing, la spaziatura tra le note non tiene conto di chiavi, stanghette e abbellimenti:

 
\override Score.SpacingSpanner.strict-note-spacing = ##t
\new Staff \relative {
  c''8[ c \clef alto c \grace { c16 c } c8 c c]  c32[ c] }

[image of music]

Vedi anche

Frammenti: (snippets)Spacing section ‘Spacing’ in Frammenti di codice.


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

4.5.4 Larghezza della linea

@translationof Line width

Le impostazioni fondamentali che influenzano la spaziatura sono indent e line-width, impostate nel blocco \layout. Regolano l’indentazione della prima linea musicale e la lunghezza delle linee.

Se ragged-right è impostato su vero nel blocco \layout, i sistemi terminano alla loro naturale lunghezza orizzontale, invece di essere espansi orizzontalmente per riempire tutta la linea. Ciò è utile in caso di brevi frammenti e per verificare quanto è compatta la spaziatura naturale. L’impostazione predefinita è solitamente falso, ma se la partitura ha un solo sistema il valore predefinito è vero.

L’opzione ragged-last è simile a ragged-right, ma ha effetto soltanto sull’ultima linea del brano. Nessune restrizioni vengono poste su quella linea. Il risultato è simile alla formattazione dei paragrafi di testo. In un paragrafo l’ultima linea occupa la sua naturale lunghezza orizzontale.

 
\layout {
  indent = #0
  line-width = #150
  ragged-last = ##t
}

Vedi anche

Frammenti: (snippets)Spacing section ‘Spacing’ in Frammenti di codice.


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

4.5.5 Notazione proporzionale

@translationof Proportional notation

LilyPond supporta la notazione proporzionale, un tipo di spaziatura orizzontale in cui ogni nota occupa una quantità di spazio orizzontale esattamente equivalente alla sua durata musicale. Questo tipo di spaziatura proporzionale può essere paragonata alla spaziatura orizzontale su carta quadrettata. Alcune partiture della fine del ventesimo secolo e dell’inizio del ventunesimo usano la notazione proporzionale per chiarire relazioni ritmiche complesse o per agevolare il posizionamento della linea del tempo o di altri elementi grafici direttamente nella partitura.

LilyPond supporta cinque diverse impostazioni per la notazione proporzionale, che possono essere usate insieme o da sole:

Nell’esempio seguente analizziamo queste cinque diverse impostazioni di notazione proporzionale e valutiamo come esse interagiscono tra loro.

Iniziamo con l’esempio seguente di una misura, che usa la spaziatura classica con la giustificazione del rigo disattivata.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
}

[image of music]

La minima all’inizio della misura occupa uno spazio molto inferiore alla metà dello spazio orizzontale della misura. Ugualmente, i sedicesimi e le quintine di sedicesimi alla fine della battuta insieme occupano molto più spazio della metà dello spazio orizzontale della misura.

Nell’incisione tipografica classica, questa spaziatura è solitamente proprio ciò che si desidera, perché è possibile prendere in prestito dello spazio orizzontale dalla minima e economizzare lo spazio orizzontale complessivo della misura.

D’altra parte, se vogliamo inserire una linea del tempo con tacche o altri elementi grafici sopra o sotto la partitura, abbiamo bisogno della notazione proporzionale. Per attivarla si usa l’impostazione proportionalNotationDuration.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
 \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/20)
    }
  }
}

[image of music]

La minima all’inizio della misura e le note più veloci nella seconda metà della misura ora occupano la stessa quantità di spazio orizzontale. Potremmo inserire una linea del tempo con tacche o un’immagine grafica sopra o sotto questo esempio.

L’impostazione proportionalNotationDuration è un’impostazione di contesto che si trova in Score. Ricordiamo che le impostazioni di contesto possono apparire in tre luoghi del file di input: in un blocco \with, in un blocco \context o direttamente in mezzo alle note preceduta dal comando \set. Come per tutte le impostazioni di contesto, l’utente può scegliere in quale di questi tre luoghi impostare proportionalNotationDuration.

L’impostazione proportionalNotationDuration prende un solo argomento, che è la durata di riferimento in base alla quale tutta la musica verrà spaziata. La funzione Scheme di LilyPond make-moment prende due argomenti: un numeratore e un denominatore che insieme esprimono una qualche frazione di una nota intera. La funzione di chiamata (ly:make-moment 1/20) produce quindi una durata di riferimento di un ventesimo di nota. Sono ammessi anche valori come (ly:make-moment 1/16), (ly:make-moment 1/8) e (ly:make-moment 3/97).

Come scegliamo la durata di riferimento corretta da passare a proportionalNotationDuration? Solitamente attraverso un processo di prova e errore, iniziando con una durata vicina alla più veloce (o piccola) durata del brano. Durate di riferimento più piccole determinano una spaziatura della musica più larga; quelle più grandi causano una spaziatura più stretta.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/8)
    }
  }
}

\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/16)
    }
  }
}

\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/32)
    }
  }
}

[image of music]

Nota che una durata di riferimento troppo grande – come la nota di un ottavo, sopra – determina una spaziatura della musica troppo stretta e può causare collisioni tra le teste di nota. Fare attenzione anche al fatto che la notazione proporzionale in generale occupa più spazio orizzontale della spaziatura classica. Insomma, la spaziatura proporzionale fornisce chiarezza ritmica al costo dello spazio orizzontale.

Ora vediamo come spaziare in modo ottimale i gruppi irregolari sovrapposti.

Iniziamo esaminando cosa succede al nostro esempio di partenza, con la spaziatura classica, quando aggiungiamo un secondo rigo con un diverso tipo di gruppo irregolare.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
    \new RhythmicStaff {
      \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
    }
  >>
}

[image of music]

La spaziatura è pessima perché le note del rigo inferiore spaziate a distanze uguali non si allungano in modo uniforme. Le incisioni classiche contengono pochissime terzine complesse e quindi le regole di incisione classica possono generare questo tipo di risultato. Impostando proportionalNotationDuration ciò viene corretto.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
    \new RhythmicStaff {
      \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/20)
    }
  }
}

[image of music]

Ma se osserviamo con attenzione possiamo vedere che le note della seconda metà della nonina hanno una spaziatura leggermente più larga delle note della prima parte della nonina. Per assicurare un allungamento uniforme, attiviamo uniform-stretching, una proprietà di SpacingSpanner.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
    \new RhythmicStaff {
      \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/20)
      \override SpacingSpanner.uniform-stretching = ##t
    }
  }
}

[image of music]

Il nostro esempio di due righi ora ha una spaziatura esatta, le relazioni ritmiche sono visivamente chiare e possiamo includere una linea del tempo con tacche o altro elemento grafico, se lo vogliamo.

Nota che la notazione proporzionale di LilyPond si aspetta che tutte le partiture proporzionali impostino l’attributo ’uniform-stretching di SpacingSpanner su ##t. Impostare proportionalNotationDuration senza impostare anche l’attributo ’uniform-stretching di SpacingSpanner su ##t farà sì, per esempio, che le pause invisibili occupino una quantità scorretta di spazio orizzontale.

SpacingSpanner è un grob astratto che si trova nel contesto Score. Come per le impostazioni di proportionalNotationDuration, le modifiche \override a SpacingSpanner si possono trovare in uno dei tre diversi punti del file di input – nel blocco \with del brano, nel blocco \context del brano o direttamente in mezzo alle note.

Per impostazione predefinita, esiste un solo SpacingSpanner per Score. Ciò significa che uniform-stretching è attivato o disattivato per l’intera partitura. Possiamo tuttavia modificare tale comportamento e attivare diverse funzionalità di spaziatura in punti diversi del brano. Per farlo si usa il comando \newSpacingSection. Maggiori informazioni in @ref{New spacing section}.

Ora esaminiamo gli effetti dell’incisore Separating_line_group_engraver e vediamo perché le partiture proporzionali solitamente tolgano questo incisore. L’esempio seguente mostra che c’è un piccolo spazio “introduttivo” proprio prima della prima nota di ogni sistema.

 
\paper {
  indent = #0
}

\new Staff {
  c'1
  \break
  c'1
}

[image of music]

L’ampiezza di questo spazio introduttivo è la stessa sia dopo un’indicazione di tempo che dopo un’armatura di chiave o una chiave. È l’incisore Separating_line_group_engraver a causare questo spazio. Togliendolo lo spazio diventa zero.

 
\paper {
  indent = #0
}

\new Staff \with {
  \remove "Separating_line_group_engraver"
} {
  c'1
  \break
  c'1
}

[image of music]

Nella notazione proporzionale gli elementi non musicali come le indicazioni di tempo, le armature di chiave, le chiavi e le alterazioni sono problematiche. Nessuna di queste infatti ha una durata ritmica, ma tutte occupano spazio orizzontale. Questi problemi sono affrontati diversamente dalle varie partiture proporzionali.

È possibile evitare i problemi di spaziatura dovuti alle armature di chiave semplicemente omettendole. Questa è un’opzione valida dato che la maggior parte delle partiture proporzionali sono di musica contemporanea. Lo stesso potrebbe valere per le indicazioni di tempo, specialmente per quelle partiture che includono una linea del tempo o altri elementi grafici. Ma queste partiture sono un’eccezione e la maggior parte delle partiture proporzionali hanno almeno qualche indicazione di tempo. Le chiavi e le alterazioni sono ancora più fondamentali.

Dunque quali strategie adottare per spaziare elementi non musicali nel contesto di musica proporzionale? Una valida opzione è la proprietà strict-note-spacing di SpacingSpanner. Confrontiamo i seguenti due righi:

 
\new Staff {
  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
  c''8 8 8 \clef alto d'2 2
}

\new Staff {
  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
  \override Score.SpacingSpanner.strict-note-spacing = ##t
  c''8 8 8 \clef alto d'2 2
}

[image of music]

Entrambi sono proporzionali, ma la spaziatura del primo è troppo larga a causa del cambio di chiave. La spaziatura del secondo resta invece stretta, perché è attivato strict-note-spacing. Attivando strict-note-spacing, la larghezza di indicazioni di tempo, armature di chiave, chiavi e alterazioni non ha alcun ruolo nell’algoritmo di spaziatura.

Oltre alle impostazioni che abbiamo visto, ce ne sono altre che appaiono frequentemente nelle partiture proporzionali, tra cui:

Queste impostazioni spaziano in modo conciso gli abbellimenti, estendono le parentesi dei gruppi irregolari per contrassegnare i punti di inizio e di fine del ritmo, e permettono agli elementi che si estendono orizzontalmente di andare oltre i sistemi e le pagine. Consultare le sezioni del manuale per queste impostazioni.

Vedi anche

Guida alla notazione: @ref{New spacing section}.

Frammenti: (snippets)Spacing section ‘Spacing’ in Frammenti di codice.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]

This document was generated by gub on Luglio 13, 2020 using texi2html 1.82.

Altre lingue: English, català, deutsch, español, français, 日本語.
A proposito della selezione automatica della lingua.