[ << Concetti fondamentali ] | [Inizio][Contenuti][Indice] | [ Modifica dell'output >> ] |
[ < Le voci contengono la musica ] | [ Su : Le voci contengono la musica ] | [ Definire esplicitamente le voci > ] |
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> }
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 } >> }
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 } >> | }
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 | } >>
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 } >> | }
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 } >> | }
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 } >> | }
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.
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.
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 | }
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 | }
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.
[ << Concetti fondamentali ] | [Inizio][Contenuti][Indice] | [ Modifica dell'output >> ] |
[ < Le voci contengono la musica ] | [ Su : Le voci contengono la musica ] | [ Definire esplicitamente le voci > ] |