4.5.1 Panoramica sulla spaziatura orizzontale
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
SpacingSpanner).
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 }
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
SpacingSpanner, 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 }
Come è spiegato nel saggio Essay on automated music engraving, le
direzioni del gambo influenzano la spaziatura (vedi
Optical spacing) e
possono essere aggiustate usando la proprietà stem-spacing-correction
dell’oggetto
NoteSpacing (che sono generati per ogni
contesto
Voice.
L’oggetto StaffSpacing
(generato nel contesto
Staff)
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:
LilyPond supporta la notazione proporzionale, vedi Notazione proporzionale.
Vedi anche
Essay on automated music engraving: Spaziatura ottica.
Frammenti: Spacing.
Guida al funzionamento interno: SpacingSpanner, NoteSpacing, StaffSpacing, NonMusicalPaperColumn.
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.