4.2.1 Sento le Voci

I livelli più profondi, più interni e più importanti di uno spartito di LilyPond sono chiamati ‘Voice contexts’ («Contesti della voce») o semplicemente ‘Voices’ («Voci»). In altri programmi di notazione le voci sono chiamate talvolta ‘layers’ («livelli»).

Il livello o contesto della voce è l’unico che può contenere la musica. Se un contesto della voce non è dichiarato esplicitamente, ne viene creato uno automaticamente, come abbiamo visto all’inizio di questo capitolo. Alcuni strumenti, come ad esempio un oboe, possono produrre una sola nota per volta. La musica scritta per tali strumenti necessita di una sola voce. Invece gli strumenti che possono produrre più di una nota contemporaneamente, come ad esempio il pianoforte, richiederanno spesso voci multiple per codificare le diverse note e ritmi simultanei che sono capaci di riprodurre.

Ovviamente, una singola voce può contenere molte note in un accordo, dunque quando l’uso delle voci multiple è davvero necessario? Si osservi questo esempio di quattro accordi:

\relative {
  \key g \major
  <d' g>4 <d fis> <d a'> <d g>
}

[image of music]

Questa musica può essere espressa usando soltanto i simboli dell’accordo, ovvero le parentesi angolari, < … >, e una singola voce è sufficiente. Ma cosa accadrebbe se il Fa# fosse in realtà una nota di un ottavo seguita da un Sol di un ottavo, una nota di passaggio che porta al La? In questo caso abbiamo due note che iniziano nello stesso momento ma hanno durate diverse: il Re da un quarto e il Fa# da un ottavo. Come si possono scrivere queste note? Non possono essere scritte come un accordo perché tutte le note di un accordo devono avere la stessa durata. E non possono nemmeno essere scritte come due note in sequenza perché devono iniziare in contemporanea. Si tratta quindi di un caso in cui sono necessarie due voci.

Vediamo come ottenerle nella sintassi di input di LilyPond.

Il modo più semplice per inserire frammenti che utilizzino più di una voce su un rigo è scrivere ogni voce come una sequenza (con { … }), e poi combinarle in simultanea tramite le doppie parentesi angolari, << … >>. Per collocarli in voci distinte, i frammenti devono essere separati da un doppio backslash, \\. Senza di esso, le note sarebbero inserite in un’unica voce, e questo normalmente causerebbe degli errori. Questa tecnica è particolarmente adatta ai brani che sono in gran parte omofonici ma con brevi e occasionali sezioni polifoniche.

Ecco come suddividere gli accordi precedenti in due voci e aggiungere sia la nota di passaggio che la legatura di portamento:

\relative {
  \key g \major
  %    Voce = "1"               Voce = "2"
  << { g'4 fis8( g) a4 g } \\ { d4 d d d }  >>
}

[image of music]

Si noti come i gambi della seconda voce adesso siano rivolti in basso.

Ecco un altro semplice esempio:

\relative {
  \key d \minor
  %    Voce = "1"            Voce = "2"
  << { r4 g' g4. a8 }   \\ { d,2 d4 g }       >> |
  << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
  << { a2. r4 }         \\ { fis2. s4 }       >> |
}

[image of music]

Non è necessario usare un costrutto con << \\ >> in ogni battuta. Per musiche che hanno poche note in ogni battuta questo layout può aiutare la leggibilità del codice, ma se ci sono molte note in ogni battuta è preferibile dividere ogni voce, così:

<<
  \key d \minor
  % Voce = "1"
  \relative {
    r4 g' g4. a8 |
    bes4 bes c bes |
    a2. r4 |
  } \\
  % Voce = "2"
  \relative {
    d'2 d4 g |
    g4 g g8( a) g4 |
    fis2. s4 |
  }
>>

[image of music]

Questo esempio ha solo due voci, ma si potrebbe usare lo stesso costrutto per scrivere tre o più voci aggiungendo più backslash.

I contesti della voce hanno i nomi "1", "2", etc. I primi contesti impostano le voci più esterne, la voce più alta nel contesto "1" e la più bassa nel "2". Le voci più interne vanno nei contesti "3" e "4". In ogni contesto, la direzione verticale di legature di portamento, gambi, legature di valore, dinamica, etc., è impostata correttamente.

\new Staff \relative {
  % Voce principale
  c'16 d e f
  %    Voce = "1"    Voce = "2"              Voce = "3"
  << { g4 f e } \\ { r8 e4 d c8~ } >> |
  << { d2 e }   \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
}

[image of music]

Se preferisci inserire le voci in un ordine diverso, per esempio dall’alto verso il basso, puoi specificare i rispettivi numeri di voce prima di un costrutto << … >> tramite il comando \voices:

\new Staff \relative {
  % Voce principale
  c'16 d e f
  %    Voce = "1"    Voce = "2"
  << { g4 f e } \\ { r8 e4 d c8~ } >> |
  \voices 1,3,2
  %    Voce = "1"    Voce = "3"     Voce = "2"
  << { d2 e }   \\ { s4 b c2 } \\ { c8 b16 a b8 g~ 2 } >> |
}

[image of music]

Tutte queste voci sono separate dalla voce principale che contiene le note e che si trova fuori dal costrutto << … >>, che chiameremo il costrutto simultaneo. Legature di portamento e di valore possono connettere solo note che fanno parte della stessa voce, quindi le legature non possono entrare in un costrutto simultaneo o uscirne. Viceversa, voci parallele appartenenti a costrutti simultanei distinti sullo stesso rigo sono la stessa voce. Anche altre caratteristiche della voce di riferimento sono trasferite ai costrutti simultanei. Ecco lo stesso esempio, ma con colori e teste delle note diversi per ogni voce. Si noti che i cambiamenti in una voce non interessano le altre voci, ma persistono sulla stessa voce in seguito. Si noti anche che le note legate possono essere divise sulle stesse voci in due costrutti, come mostra qui la voce con i triangoli blu.

\new Staff \relative {
  % Voce principale
  c'16 d e f
  <<  % Battuta 1
    {
      \voiceOneStyle
      g4 f e
    }
  \\
    {
      \voiceTwoStyle
      r8 e4 d c8~
    }
  >> |
  <<  % Battuta 2
     % Voce 1 continua
    { d2 e }
  \\
     % Voce 2 continua
    { c8 b16 a b8 g~ 2 }
  \\
    {
      \voiceThreeStyle
      s4 b c2
    }
  >> |
}

[image of music]

I comandi \voiceXXXStyle sono pensati soprattutto per documenti didattici come questo. Modificano il colore della testa, del gambo e delle travature, e lo stile della testa, così da rendere le voci facilmente distinguibili. La voce uno è impostata su rombi rossi, la voce due su triangoli blu, la voce tre su cerchi barrati verdi, e la voce quattro (non impiegata nell’esempio) su croci magenta; \voiceNeutralStyle (anch’esso non usato qui) riporta lo stile all’impostazione predefinita. Vedremo in seguito come l’utente possa creare comandi simili. Si veda Visibilità e colore degli oggetti e Uso delle variabili per modificare la formattazione.

La polifonia non cambia le relazioni tra le note all’interno di un blocco \relative. L’altezza di ogni nota continua a essere calcolata in rapporto a quella della nota che la precede, o della prima nota del precedente accordo. Dunque, in

\relative c' { notaA << < notaB notaC > \\ notaD >> notaE }

notaB è relativa a notaA;
notaC è relativa a notaB, non a notaA;
notaD è relativa a notaB, non a notaA o a notaC;
notaE è relativa a notaD, non a notaA.

Un metodo alternativo, che potrebbe essere più chiaro se le note nelle voci sono ampiamente separate, consiste nel porre un comando \relative all’inizio di ogni voce:

\relative c' { noteA … }
<<
  \relative c'' { < noteB noteC > … }
\\
  \relative g' { noteD … }
>>
\relative c' { noteE … }

Analizziamo infine le voci in un brano più complesso. Queste note sono tratte dalle prime due battute del secondo dei due Notturni op. 32 di Chopin. Questo esempio verrà usato successivamente, in questo e nel prossimo capitolo, per illustrare varie tecniche di notazione, quindi per il momento ignora qualsiasi cosa del codice sottostante che ti sembra incomprensibile e concentrati solo sulla musica e sulle voci – le parti più complesse saranno spiegate tutte in sezioni successive.

[image of music]

La direzione dei gambi viene spesso usata per indicare la continuità di due linee melodiche simultanee. In questo esempio i gambi delle note più acute sono tutti rivolti in su mentre i gambi delle note più gravi sono tutti rivolti in giù. Questo è il primo indizio del fatto che è coinvolta più di una voce.

Ma è quando note che iniziano nello stesso momento hanno durate diverse che il ricorso a voci multiple diventa realmente indispensabile. Osserva le note che iniziano alla terza pulsazione della prima battuta. Il La bemolle è una nota di tre ottavi, il Fa è una semiminima e il Re bemolle è una minima. Non possono essere scritte come un accordo perché tutte le note di un accordo devono avere la stessa durata. Né possono essere scritte come note in sequenza, dato che devono iniziare contemporaneamente. Questa sezione della battuta necessita di tre voci, e la normale pratica consiste nello scrivere l’intera battuta su tre voci, come mostrato sotto, dove abbiamo usato diverse teste e colori per le tre voci. Ancora una volta, il codice che sta dietro questo esempio verrà spiegato dopo, quindi ignora quel che non capisci.

[image of music]

Proviamo a scrivere il codice di questa musica da zero. Come vedremo, questo pone alcune difficoltà. Come abbiamo imparato, iniziamo usando il costrutto << \\ >> per inserire la musica della prima battuta in tre voci:

\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 direzione dei gambi è assegnata automaticamente: le voci dispari avranno i gambi in su e le voci pari i gambi in giù. I gambi per le voci 1 e 2 sono giusti, ma in questo brano i gambi della voce 3 dovrebbero essere in giù. Possiamo correggere semplicemente omettendo la voce tre e ponendo la musica nella voce quattro. Si potrebbe fare aggiungendo semplicemente un altro paio di \\, ma preferiamo usare il comando \voices (che ci permette anche di inserire le voci in un ordine diverso, se lo vogliamo):

\new Staff \relative {
  \key aes \major
  \voices 1,2,4   % Omette la terza voce
  <<  % Voce uno
    { c''2 aes4. bes8 }
  \\  % Voce due
    { <ees, c>2 des }
  \\  % Voce quattro
    { aes'2 f4 fes }
  >> |
  <c ees aes c>1 |
}

[image of music]

Possiamo vedere che questo corregge la direzione del gambo, ma il posizionamento orizzontale delle note non è quello che desideriamo. LilyPond sposta le note più interne quando queste o i loro gambi collidono con le voci più esterne, ma questo non è appropriato nella musica per pianoforte. In altre situazioni, gli spostamenti applicati da LilyPond potrebbero non riuscire a evitare le collisioni. LilyPond fornisce molti modi per aggiustare la collocazione orizzontale delle note. Per ora, non siamo ancora pronti a cercare di correggere questo problema, dunque dovremo aspettare fino a una prossima sezione – si veda la proprietà force-hshift in Correggere elementi della notazione sovrapposti.

Nota: Il testo e gli estensori, spanner nella terminologia di LilyPond, (come le legature di portamento e di valore, le forcelle, etc.) non possono essere creati ‘attraverso’ le voci.

Vedi anche

Guida alla notazione: Più voci.


Manuale di apprendimento di LilyPond v2.25.22 (development-branch).