1.2.5 Battute


Stanghette

Le stanghette delimitano le misure e sono usate anche per indicare i ritornelli. Di norma, le stanghette semplici sono inserite automaticamente in base all’indicazione di tempo.

Si possono inserire altri tipi di stanghette col comando \bar. Ad esempio, di solito si usa una stanghetta finale al termine di un brano:

\relative { e'4 d c2 \bar "|." }

[image of music]

Se l’ultima nota di una misura non termina entro la stanghetta inserita automaticamente, non viene segnalato un errore: si presuppone che la nota continui nella misura successiva. Ma se ci sono tante misure simili in sequenza, la musica potrebbe apparire compressa oppure scorrere fuori dalla pagina. Questo accade perché le interruzioni di linea automatiche si verificano solo al termine di misure complete, ovvero quando tutte le note terminano prima dell’inizio di una misura.

Nota: Una durata errata può impedire un’interruzione di linea, causando una linea di musica altamente compressa oppure a musica che prosegue fuori dalla pagina.

Le interruzioni di linea sono permesse anche in caso si stanghette inserite a mano anche all’interno di misure incomplete. Per permettere un’interruzione di linea senza che appaia una stanghetta si usa:

\bar ""

Questo comando inserirà una stanghetta invisibile e consentirà (senza però forzarla) un’interruzione di linea in questo punto. Il conteggio dei numeri di battuta non incrementa. Per forzare un’interruzione di linea si veda Interruzioni di linea.

Si possono inserire questa e altre stanghette speciali in qualsiasi punto. Quando coincidono con la fine di una misura, sostituiscono la stanghetta semplice che sarebbe stata posta automaticamente. Quando non coincidono con la fine di una misura, la stanghetta specificata viene inserita in quel punto.

Si noti che le stanghette manuali hanno una funzione puramente visiva. Non hanno alcun effetto sulle proprietà di una normale stanghetta, come i numeri della misura, le alterazioni, le interruzioni di linea, etc. Non influiscono nemmeno sul conteggio e sulla posizione delle stanghette automatiche successive. Quando una stanghetta manuale è posta nel punto in cui si trova già una normale stanghetta, le caratteristiche della stanghetta originale non sono alterate.

Sono disponibili per l’inserimento manuale due tipi di stanghette semplici e cinque tipi di stanghette doppie:

\relative {
  f'1 \bar "|"
  f1 \bar "."
  g1 \bar "||"
  a1 \bar ".|"
  b1 \bar ".."
  c1 \bar "|.|"
  d1 \bar "|."
  e1
}

[image of music]

oltre alle stanghette puntate e tratteggiate:

\relative {
  f'1 \bar ";"
  g1 \bar "!"
  a1
}

[image of music]

e a nove tipi di stanghette per le ripetizioni:

\relative {
  f'1 \bar ".|:"
  g1 \bar ":..:"
  a1 \bar ":|.|:"
  b1 \bar ":|.:"
  c1 \bar ":.|.:"
  d1 \bar "[|:"
  e1 \bar ":|][|:"
  f1 \bar ":|]"
  g1 \bar ":|."
  a1
}

[image of music]

Inoltre, una stanghetta può apparire come un semplice segno di spunta:

f'1 \bar "'" g'1

[image of music]

Tuttavia,dato che questi segni di spunta sono tipicamente usati nella notazione gregoriana, è preferibile usare \divisioMinima, come è descritto nella sezione Divisiones della parte dedicata al canto gregoriano.

LilyPond supporta la notazione gregoriana russa e fornisce una stanghetta speciale per questo tipo di notazione:

f'1 \bar "k"

[image of music]

I dettagli di questo tipo di notazione sono spiegati in Scrivere in notazione quadrata di Kiev.

Per i segni di tipo segno interni al rigo, ci sono tre tipi di stanghette che differiscono nel comportamento quando incontrano un’interruzione di linea:

\fixed c' {
  c4 4 4 4
  \bar "S"
  d4 4 4 4 \break
  \bar "S"
  e4 4 4 4
  \bar "S-|"
  f4 4 4 4 \break
  \bar "S-|"
  g4 4 4 4
  \bar "S-||"
  a4 4 4 4 \break
  \bar "S-||"
  b4 4 4 4
  \bar "S-S"
  c'4 4 4 4 \break
  \bar "S-S"
  d'1
}

[image of music]

Sebbene LilyPond preveda l’inserimento manuale delle stanghette che indicano i ritornelli, ciò non consente il riconoscimento della musica come una sezione da ripetere. Tali sezioni devono essere inserite con i vari comandi di ripetizione (vedi Ripetizioni), che creano automaticamente le stanghette appropriate.

Inoltre si può specificare ".|:-||", che è equivalente a ".|:" tranne in presenza di un’interruzione di linea, dove crea una doppia stanghetta alla fine della linea e una stanghetta di inizio ripetizione all’inizio della linea successiva.

\fixed c' {
  c4 4 4 4
  \bar ".|:"
  d4 4 4 4 \break
  \bar ".|:"
  e4 4 4 4
  \bar ".|:-|"
  f4 4 4 4 \break
  \bar ".|:-|"
  g4 4 4 4
  \bar ".|:-||"
  a4 4 4 4 \break
  \bar ".|:-||"
  b4 4 4 4
  \bar ".|:-|."
  c'4 4 4 4 \break
  \bar ".|:-|."
  d'4 4 4 4
}

[image of music]

Esistono sei diverse combinazioni di ripetizioni e indicazioni di segno:

\fixed c' {
  g,4 4 4 4
  \bar ":|.S"
  a,4 4 4 4 \break
  \bar ":|.S"
  b,4 4 4 4
  \bar ":|.S-S"
  c4 4 4 4 \break
  \bar ":|.S-S"
  d4 4 4 4
  \bar "S.|:-S"
  e4 4 4 4 \break
  \bar "S.|:-S"
  f4 4 4 4
  \bar "S.|:"
  g4 4 4 4 \break
  \bar "S.|:"
  a4 4 4 4
  \bar "S.|:-|"
  b4 4 4 4 \break
  \bar "S.|:-|"
  c'4 4 4 4
  \bar "S.|:-||"
  d'4 4 4 4 \break
  \bar "S.|:-||"
  e'4 4 4 4
  \bar ":|.S.|:"
  f'4 4 4 4 \break
  \bar ":|.S.|:"
  g'4 4 4 4
  \bar ":|.S.|:-S"
  a'4 4 4 4 \break
  \bar ":|.S.|:-S"
  b'1
}

[image of music]

Esiste inoltre un comando \inStaffSegno che crea una stanghetta con segno in congiunzione con un’appropriata stanghetta di ripetizione se usata con un comando \repeat volta, vedi Ripetizioni normali..

Si possono definire nuovi tipi di stanghette con \defineBarLine:

\defineBarLine tipo-stanghetta #'(fine inizio span)

Le variabili di \defineBarLine possono includere la stringa ‘vuota’ "",che è equivalente a una stanghetta invisibile. Oppure possono essere impostate su #f, che fa sì che non appaia alcuna stanghetta.

Dopo averla definita, si può richiamare la nuova stanghetta col comando \bar tipo-stanghetta.

Attualmente sono disponibile dieci tipi di stanghetta:

\defineBarLine ":" #'("" ":" "")
\defineBarLine "=" #'("=" "" "")
\defineBarLine "[" #'("" "[" "")
\defineBarLine "]" #'("]" "" "")

\new Staff {
  s1 \bar "|"
  s1 \bar "."
  s1 \bar "!"
  s1 \bar ";"
  s1 \bar ":"
  s1 \bar "k"
  s1 \bar "S"
  s1 \bar "="
  s1 \bar "["
  s1 \bar "]"
  s1 \bar ""
}

[image of music]

La stanghetta "=" crea una stanghetta doppia da combinare con il il segno. Non va usata per creare una stanghetta doppia indipendente; in questo caso è preferibile usare \bar "||".

Il segno "-" introduce le annotazioni alle stanghette che servono a distinguere quelle che hanno aspetto identico ma un diverso comportamento in corrispondenza delle interruzioni di linea e/o un diverso modo di connettere le stanghette tra i righi. La parte che segue il segno "-" non viene usato per costruire la stanghetta.

\defineBarLine "||-dashedSpan" #'("||" "" "!!")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar "||"
    c1 \bar "||-dashedSpan"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

Inoltre, lo spazio " " fa da spaziatore e fa sì che le stanghette tra i righi siano allineate correttamente alle stanghette principali:

\defineBarLine ":|.-sbagliata" #'(":|." "" "|.")
\defineBarLine ":|.-giusta" #'(":|." "" " |.")

\new StaffGroup <<
  \new Staff {
    c1 \bar ":|.-sbagliata"
    c1 \bar ":|.-giusta"
    c1
  }
  \new Staff {
    c1
    c1
    c1
  }
>>

[image of music]

Se servono ulteriori elementi, LilyPond fornisce un modo semplice per definirli. Maggiori informazioni sulla modifica e l’aggiunta delle stanghette sono presenti nel file ‘scm/bar-line.scm’.

Nelle partiture con molti righi, un comando \bar inserito in un rigo viene applicato automaticamente a tutti i righi. Le stanghette risultanti sono connesse tra i diversi righi di un StaffGroup, PianoStaff o GrandStaff.

<<
  \new StaffGroup <<
    \new Staff \relative {
      e'4 d
      \bar "||"
      f4 e
    }
    \new Staff \relative { \clef bass c'4 g e g }
  >>
  \new Staff \relative { \clef bass c'2 c2 }
>>

[image of music]

Il comando ‘\bar tipo-stanghetta’ è una scorciatoia di ‘\set Timing.whichBar = tipo-stanghetta’. Una stanghetta viene creata ogni volta che si imposta la proprietà whichBar.

Il tipo di stanghetta predefinita per le stanghette inserite automaticamente è "|". Si può modificare in qualsiasi momento con ‘\set Timing.measureBarType = tipo-stanghetta’.

Vedi anche

Guida alla notazione: Interruzioni di linea, Ripetizioni, Raggruppare i righi.

File installati: ‘scm/bar-line.scm’.

Frammenti di codice: Rhythms.

Guida al funzionamento interno: BarLine (creata al livello Staff), SpanBar (tra i righi), Timing_translator (per le proprietà di Timing).


Numeri di battuta

I numeri di battuta appaiono all’inizio di ogni linea tranne la prima. Il numero viene salvato nella proprietà currentBarNumber, che viene aggiornata automaticamente per ogni misura. Può anche essere impostata a mano:

\relative c' {
  c1 c c c
  \break
  \set Score.currentBarNumber = #50
  c1 c c c
}

[image of music]

I numeri di battuta possono essere mostrati a intervalli regolari anziché solo all’inizio di ogni linea. Per farlo occorre sovrascrivere il comportamento predefinito e permettere ai numeri di battuta di apparire anche in punti diversi dall’inizio della linea. Questo comportamento è regolato dalla proprietà break-visibility di BarNumber, che considera tre valori impostabili su #t o #f, i quali indicano se il numero di battuta corrispondente debba essere visibile o no. L’ordine dei tre valori è end of line visible, middle of line visible, beginning of line visible. Nell’esempio seguente i numeri di battuta compaiono in tutti i punti possibili:

\relative c' {
  \override Score.BarNumber.break-visibility = ##(#t #t #t)
  \set Score.currentBarNumber = #11
  % Permette la visualizzazione del primo numero di battuta
  \bar ""
  c1 | c | c | c
  \break
  c1 | c | c | c
}

[image of music]

Frammenti di codice selezionati

Mostrare il numero di battuta nella prima misura

Il primo numero di battuta di una partitura viene soppresso se è inferiore o uguale a ‘1’. Se si imposta barNumberVisibility su all-bar-numbers-visible, verrà mostrato il numero di battuta della prima misura e di tutte quelle successive. Si noti che perché funzioni è necessario inserire una stanghetta invisibile prima della prima nota.

\layout {
  indent = 0
  ragged-right = ##t
}

\relative c' {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  c1 | d | e | f \break
  g1 | e | d | c
}

[image of music]

Mostrare i numeri di battuta a intervalli regolari

Impostando la proprietà barNumberVisibility si possono far apparire i numeri di battuta a intervalli regolari. In questo esempio vengono mostrati ogni due misure eccetto alla fine della linea.

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.currentBarNumber = #11
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c | c | c | c
  \break
  c1 | c | c | c | c
}

[image of music]

Stampare i numeri di battuta a intervalli regolari variabili

Tramite la funzione di contesto {set-bar-number-visibility} si possono modificare gli intervalli dei numeri di battuta.

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \context Score \applyContext #(set-bar-number-visibility 4)
  \repeat unfold 10 c'1
  \context Score \applyContext #(set-bar-number-visibility 2)
  \repeat unfold 10 c
}

[image of music]

Numeri di battuta racchiusi in rettangoli o cerchi

I numeri di battuta possono apparire anche all’interno di rettangoli o cerchi.

\relative c' {
  % Prevent bar numbers at the end of a line and permit them elsewhere
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4)

  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2

  % Draw a box round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
  \repeat unfold 5 { c1 }

  % Draw a circle round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
  \repeat unfold 4 { c1 } \bar "|."
}

[image of music]

Numeri di battuta alternativi

Si possono impostare due metodi alternativi di numerazione della battuta, utili specialmente per le ripetizioni.

\relative c'{
  \set Score.alternativeNumberingStyle = #'numbers
  \repeat volta 3 { c4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1 \break
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \repeat volta 3 { c,4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1
}

[image of music]

Allineare i numeri di battuta

Per impostazione predefinita i numeri di battuta sono allineati a destra rispetto al loro oggetto genitore. Di solito si tratta del margine sinistro della linea oppure, se i numeri appaiono all’interno della linea, del lato sinistro della stanghetta. I numeri possono essere posizionati anche direttamente sopra la stanghetta oppure allineati a sinistra della stanghetta.

\relative c' {
  \set Score.currentBarNumber = #111
  \override Score.BarNumber.break-visibility = #all-visible
  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c1
  % Center-align bar numbers
  \override Score.BarNumber.self-alignment-X = #CENTER
  c1 | c1
  % Left-align bar numbers
  \override Score.BarNumber.self-alignment-X = #LEFT
  c1 | c1
}

[image of music]

Togliere i numeri di battuta da uno spartito

I numeri di battuta possono essere tolti rimuovendo l’incisore Bar_number_engraver dal contesto Score.

\layout {
  \context {
    \Score
    \omit BarNumber
    % or:
    %\remove "Bar_number_engraver"
  }
}

\relative c'' {
  c4 c c c \break
  c4 c c c
}

[image of music]

Vedi anche

Frammenti di codice: Rhythms.

Guida al funzionamento interno: BarNumber, Bar_number_engraver.

Problemi noti e avvertimenti

I numeri di battuta possono collidere con la parte superiore della parentesi quadra di StaffGroup, se presente. Per evitare la collisione, si può usare la proprietà padding di BarNumber per posizionare correttamente il numero. Si veda StaffGroup e BarNumber per maggiori informazioni.


Controlli di battuta e del numero di battuta

I controlli di battuta aiutano a rilevare gli errori di durata. Il controllo di battuta si inserisce col simbolo della barra verticale, |, in un qualsiasi punto in cui è previsto l’inserimento di una stanghetta. Se vengono trovati controlli di battuta in punti diversi, viene creata una lista di avvisi nel file di log che mostra i numeri di linea e le linee in cui il controllo è fallito. Nell’esempio seguente il secondo controllo di battuta segnalerà un errore.

\time 3/4 c2 e4 | g2 |

Una durata non corretta può generare uno spartito completamente alterato, specialmente nel caso di brani polifonici. Quindi il primo passo da compiere per correggere l’input è la verifica dei controlli di battuta e delle durate errate.

Se i controlli di battuta successivi sono spostati dello stesso intervallo musicale, viene mostrato solo il primo messaggio di avviso. Così l’avvertimento si concentra sulla causa dell’errore di tempo.

I controlli di battuta possono essere usati anche all’interno del testo vocale:

\lyricmode {
  \time 2/4
  Twin -- kle | Twin -- kle |
}

Attenzione: i segni di controllo di ottava nel testo vocale sono elaborati nel momento musicale in cui la sillaba che segue il segno di controllo viene elaborata. Se il testo è associato alle note di una voce che ha una pausa all’inizio di una battuta, non è possibile individuare alcuna sillaba all’inizio di quella battuta e apparirà un avvertimento se viene posto un controllo di battuta in quel punto del testo vocale.

È anche possibile ridefinire l’azione da prendere quando si incontra un controllo di battuta o simbolo di barra verticale, |, nell’input, in modo che avvenga qualcosa di diverso dal controllo di battuta. Si può fare assegnando un’espressione musicale a "|". Nell’esempio seguente |, invece di controllare la fine di una battuta, viene usato per inserire una stanghetta doppia ovunque appaia nell’input.

"|" = \bar "||"
{
  c'2 c' |
  c'2 c'
  c'2 | c'
  c'2 c'
}

[image of music]

Quando si copiano brani di una certa ampiezza, può essere d’aiuto verificare che i numeri di battuta di LilyPond corrispondano all’originale a partire dal quale si sta scrivendo il brano. Si può abilitare con \barNumberCheck, ad esempio,

\barNumberCheck #123

genererà un avvertimento se currentBarNumber non è 123 nel momento in cui viene elaborato.

Vedi anche

Frammenti di codice: Rhythms.


Segni di chiamata

Per creare un segno di chiamata si usa il comando \mark.

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
}

[image of music]

Il segno viene incrementato automaticamente se si usa \mark \default, ma è possibile usare anche un numero intero come argomento in modo da impostare il segno manualmente. Il valore da usare viene salvato nella proprietà rehearsalMark.

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

La lettera ‘I’ viene saltata, come vuole la tradizione tipografica. Se si desidera includere la lettera ‘I’, si può usare uno dei seguenti comandi, a seconda dello stile che si vuole (solo lettere, lettere in un quadrato o lettere in un cerchio).

\set Score.rehearsalMarkFormatter = #format-mark-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-circle-alphabet
\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

Lo stile viene definito dalla proprietà rehearsalMarkFormatter. È una funzione che accoglie come argomenti il segno corrente (un numero intero) e il contesto corrente. Dovrebbe restituire un oggetto testuale. Nell’esempio seguente, rehearsalMarkFormatter viene prima impostato su una procedura predefinita e dopo alcune misure su una procedura che produce un numero racchiuso in un quadrato.

\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-numbers
  c1 \mark \default
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-box-numbers
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-circle-numbers
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-circle-letters
  c1
}

[image of music]

Il file ‘scm/translation-functions.scm’ contiene le definizioni di format-mark-letters (il formato predefinito), format-mark-box-letters, format-mark-numbers e format-mark-box-numbers. Possono essere usate come fonte di ispirazione per creare altre funzioni di formattazione.

Si possono usare format-mark-barnumbers, format-mark-box-barnumbers e format-mark-circle-barnumbers per ottenere i numeri di battuta invece di numeri o lettere crescenti.

Si possono specificare manualmente altri stili di segni di chiamata:

\mark "A1"

Si noti che Score.rehearsalMarkFormatter non ha effetto sui segni specificati in questo modo. Tuttavia, è possibile applicare un \markup alla stringa.

\mark \markup { \box A1 }

I glifi musicali (come il Segno) possono essere posti dentro il comando \mark

\relative c' {
  c1 \mark \markup { \musicglyph "scripts.segno" }
  c1 \mark \markup { \musicglyph "scripts.coda" }
  c1 \mark \markup { \musicglyph "scripts.ufermata" }
  c1
}

[image of music]

L’elenco dei simboli che possono essere prodotti con \musicglyph si trova in Il font Emmentaler.

Per le più comuni modifiche relative al posizionamento dei segni di chiamata, si veda Formattazione del testo. Per ottenere un controllo più preciso si consiglia di studiare il funzionamento della proprietà break-alignable-interface descritta in Allineamento degli oggetti.

Il file ‘scm/translation-functions.scm’ contiene le definizioni di format-mark-numbers e format-mark-letters, che possono essere usate come fonte di ispirazione per creare altre funzioni di formattazione.

Vedi anche

Guida alla notazione: Il font Emmentaler, Formattazione del testo, Allineamento degli oggetti.

File installati: ‘scm/translation-functions.scm’.

Frammenti di codice: Rhythms.

Guida al funzionamento interno: MarkEvent, Mark_engraver, RehearsalMark.


LilyPond — Guida alla Notazione v2.23.82 (ramo di sviluppo).