Gestione del tempo

Il tempo è gestito da Timing_translator, che si trova nel contesto Score. Un suo alias, Timing, viene aggiunto nel contesto nel quale si trova Timing_translator. Per assicurarsi che l’alias Timing sia disponibile, occorre istanziare esplicitamente il contesto che lo contiene (come Voice o Staff).

Si usano le seguenti proprietà di Timing per tenere traccia del tempo in una partitura.

currentBarNumber

Il numero di battuta corrente. Un esempio che mostra l’uso di questa proprietà si trova in Numeri di battuta.

measureLength

La durata delle misure nel tempo corrente. Per un tempo di 4/4 è 1, per un tempo di 6/8 è 3/4. Il suo valore determina quando debbano essere inserite le stanghette e come debbano essere generate le travature automatiche.

measurePosition

Il punto della misura in cui ci si trova. Questa quantità viene reimpostata sottraendo measureLength ogni volta che measureLength viene raggiunto o superato. Quando questo accade, currentBarNumber viene incrementato.

timing

Se impostato su #t, le variabili precedenti sono aggiornate ad ogni momento temporale. Se impostato su #f, l’incisore rimane nella misura corrente per un tempo indefinito.

Si può cambiare il tempo impostando esplicitamente una qualsiasi di queste variabili. Nel prossimo esempio, viene visualizzata l’indicazione di tempo predefinita di 4/4, ma measureLength è impostato su 5/4. A 4/8 della terza misura, measurePosition si sposta in avanti di 1/8 fino a 5/8, diminuendo quella misura di 1/8. Quindi la stanghetta successiva si troverà a 9/8 invece che a 5/4.

\new Voice \relative {
  \set Timing.measureLength = \musicLength 4*5
  c'1 c4 |
  c1 c4 |
  c4 c
  \set Timing.measurePosition = \musicLength 8*5
  b4 b b8 |
  c4 c1 |
}

[image of music]

Come mostra l’esempio, ly:make-moment n/m definisce una durata di n/m della nota intera. Ad esempio, ly:make-moment 1/8 corrisponde alla durata di un ottavo mentre ly:make-moment 7/16 a quella di sette sedicesimi.

Vedi anche

Guida alla notazione: Numeri di battuta, Musica in tempo libero.

Frammenti di codice: Rhythms.

Guida al funzionamento interno: Timing_translator, Score.


Guida alla Notazione di LilyPond v2.25.22 (development-branch).