--- /dev/null
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
+
+@ignore
+ Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
+@end ignore
+
+@c \version "2.14.0"
+
+@node Concetti fondamentali
+@chapter Concetti fondamentali
+@translationof Fundamental concepts
+
+Nel Tutorial abbiamo visto come produrre dei belli spartiti da un
+semplice file di testo. Questa sezione presenta i concetti e le
+tecniche richiesti per produrre partiture ugualmente belle, ma
+più complesse.
+
+@menu
+* Come funzionano i file di input di LilyPond::
+* Le voci contengono la musica::
+* Contesti e incisori::
+* Estendere i modelli::
+@end menu
+
+
+@node Come funzionano i file di input di LilyPond
+@section Come funzionano i file di input di LilyPond
+@translationof How LilyPond input files work
+
+Il formato di input di LilyPond ha una struttura piuttosto libera, che dà
+agli utenti esperti una grande flessibilità nell'organizzare i file come
+preferiscono. Ma questa flessibilità può creare confusione nei nuovi
+utenti. Questa sezione spiegherà in parte questa struttura, ma
+sorvolerà su alcuni dettagli in favore della semplicità. Per una
+descrizione completa del formato di input, si veda @ruser{File structure}.
+
+@menu
+* Introduzione alla struttura di un file di LilyPond::
+* La partitura è una (singola) espressione musicale composta::
+* Annidare le espressioni musicali::
+* Sul non annidamento di parentesi e legature di valore::
+@end menu
+
+@node Introduzione alla struttura di un file di LilyPond
+@subsection Introduzione alla struttura di un file di LilyPond
+@translationof Introduction to the LilyPond file structure
+
+@cindex formato di input
+@cindex struttura del file
+
+Un esempio basilare di un file di input di LilyPond è
+
+@example
+\version @w{"@version{}"}
+
+\header @{ @}
+
+\score @{
+ @var{...espressione musicale composta...} % tutta la musica va qui!
+ \layout @{ @}
+ \midi @{ @}
+@}
+@end example
+
+@noindent
+Ci sono molte varianti a questo modello di base, ma questo esempio
+serve da utile punto di partenza.
+
+@funindex \book
+@funindex book
+@funindex \score
+@funindex score
+@cindex book (libro)
+@cindex score (partitura)
+@cindex libro
+@cindex partitura
+
+Finora nessuno degli esempi che abbiamo visto ha usato il comando
+@code{\score@{@}}. Questo si spiega col fatto che LilyPond, quando
+elabora un input semplice, aggiunge automaticamente gli altri comandi
+necessari. LilyPond tratta un input come questo:
+
+@example
+\relative c'' @{
+ c4 a d c
+@}
+@end example
+
+@noindent
+come forma abbreviata per questo:
+
+@example
+\book @{
+ \score @{
+ \new Staff @{
+ \new Voice @{
+ \relative c'' @{
+ c4 a b c
+ @}
+ @}
+ @}
+ \layout @{ @}
+ @}
+@}
+@end example
+
+In altre parole, se l'input contiene un'espressione musicale singola,
+LilyPond interpreterà il file come se l'espressione musicale
+fosse racchiusa dentro i comandi mostrati sopra.
+
+@cindex contesti impliciti
+@cindex contesti, impliciti
+
+@strong{Attenzione!} Molti esempi nella documentazione di LilyPond
+ometteranno i comandi @code{\new Staff} e @code{\new Voice},
+lasciando che questi siano creati implicitamente. Per gli esempi
+semplici questo metodo funziona bene, ma per quelli più complessi, soprattutto
+quando vengono usati ulteriori comandi, la creazione implicita dei contesti
+può dare risultati inattesi, ad esempio creando dei righi non voluti.
+Il modo per creare i contesti esplicitamente è spiegato in
+@ref{Contexts and engravers}.
+
+@warning{Quando si inseriscono più di poche linee di musica, si consiglia
+di creare sempre esplicitamente i righi e le voci.}
+
+Ora però torniamo al primo esempio ed esaminiamo il comando
+@code{\score}, lasciando gli altri comandi secondo l'impostazione predefinita.
+
+Un blocco @code{\score} deve sempre contenere una sola espressione musicale,
+e questa deve trovarsi subito dopo il comando @code{\score}.
+Ricorda che un'espressione musicale può essere qualsiasi cosa, da una
+singola nota a una grande espressione composta come
+
+@example
+@{
+ \new StaffGroup <<
+ @var{...inserisci qui l'intera opera di Wagner...}
+ >>
+@}
+@end example
+
+@noindent
+Tutto quanto è compreso in @code{@{ ... @}} costituisce un'unica
+espressione musicale.
+
+Come abbiamo detto prima, il blocco @code{\score} può contenere altri
+elementi, come ad esempio
+
+@example
+\score @{
+ @{ c'4 a b c' @}
+ \header @{ @}
+ \layout @{ @}
+ \midi @{ @}
+@}
+@end example
+
+@funindex \header
+@funindex header
+@funindex \layout
+@funindex layout
+@funindex \midi
+@funindex midi
+@cindex header
+@cindex layout
+@cindex midi
+
+@noindent
+Si noti che questi tre comandi -- @code{\header}, @code{\layout} e
+@code{\midi} -- sono speciali: diversamente da molti altri comandi che
+iniziano con un backslash (@code{\}), @emph{non} sono espressioni
+musicali né fanno parte di alcuna espressione musicale. Dunque, possono
+essere collocati dentro o fuori da un blocco @code{\score}. Di solito
+questi comandi vengono posti fuori dal blocco @code{\score} -- ad esempio,
+@code{\header} spesso viene messo sopra il comando @code{\score}, come mostra
+l'esempio all'inizio di questa sezione.
+
+Altri due comandi che non hai incontrato finora sono
+@code{\layout @{ @}} e @code{\midi @{@}}. Se questi appaiono come
+in figura, LilyPond creerà rispettivamente un output per la stampa
+e uno per il MIDI. Sono descritti dettagliatamente nella
+Guida alla notazione, in @ruser{Score layout}, e
+@ruser{Creating MIDI files}.
+
+@cindex partiture, multiple
+@cindex libro, blocco implicito
+@cindex implicito, blocco del libro
+@funindex \book
+@funindex book
+
+Puoi scrivere molteplici blocchi @code{\score}. Ciascuno verrà
+trattato come una partitura separata, ma saranno tutti combinati in
+un unico file di output. Non è necessario il comando @code{\book}
+-- ne verrà creato uno automaticamente. Tuttavia, se si desiderano
+file di output separati da un file @file{.ly}, allora si deve usare
+il comando @code{\book} per separare le diverse sezioni: ogni blocco
+@code{\book} produrrà un file di output separato.
+
+In breve:
+
+Ogni blocco @code{\book} crea un file di output separato (ovvero, un
+file PDF). Se non ne hai aggiunto uno esplicitamente, LilyPond racchiude
+implicitamente tutto il tuo codice di input in un blocco @code{\book}.
+
+Ogni blocco @code{\score} è un pezzo di musica separato all'interno di
+un blocco @code{\book}.
+
+@cindex layout, effetto della posizione del blocco
+
+Ogni blocco @code{\layout} influenza il blocco @code{\score} o
+@code{\book} in cui compare -- ovvero, un blocco @code{\layout}
+che si trova dentro un blocco @code{\score} riguarda solo quel blocco
+@code{\score}, mentre un blocco @code{\layout} che si trova fuori da un
+blocco @code{\score} (e quindi in un blocco @code{\book}, esplicitamente
+o implicitamente) riguraderà ogni @code{\score} in quel @code{\book}.
+
+Per maggiori dettagli si veda @ruser{Multiple scores in a book}.
+
+@cindex variabili
+
+Un'altra grande scorciatoia è la possibilità di definire variabili, come è
+spiegato in @ref{Organizzare i brani con le variabili}). Tutti
+i modelli usano questa forma
+
+@example
+melodia = \relative c' @{
+ c4 a b c
+@}
+
+\score @{
+ \melodia
+@}
+@end example
+
+Quando LilyPond esamina questo file, prende il valore di @code{melodia} (tutto
+ciò che si trova dopo il segno di uguale) e lo inserisce ovunque si trovi
+@code{\melodia}. Non c'è una regola specifica per i nomi -- il nome può essere
+@code{melodia}, @code{globale}, @code{tempo}, @code{manodestrapiano}, o qualsiasi
+altro nome. Ricordati che puoi usare quasi ogni nome che vuoi, purché esso
+contenga solo caratteri alfabetici e sia diverso dai nomi dei comandi di
+LilyPond. Le esatte limitazioni relative ai nomi delle variabili sono spiegate
+dettagliatamente in @ruser{File structure}.
+
+
+@seealso
+Per una definizione completa del formato di input, si veda
+@ruser{File structure}.
+
+
+@node La partitura è una (singola) espressione musicale composta
+@subsection La partitura è una (singola) espressione musicale composta
+@translationof Score is a (single) compound musical expression
+
+@funindex \score
+@funindex score
+@cindex partitura
+@cindex score
+@cindex contenuto di un blocco score
+@cindex score, contenuto del blocco
+@cindex espressione musicale composta
+@cindex composta, espressione musicale
+
+Abbiamo visto l'organizzazione generale dei file di input di LilyPond nella
+sezione precedente, @ref{Introduzione alla struttura di un file di LilyPond}.
+Ma sembra che abbiamo saltato la parte più importante: cosa dobbiamo
+scrivere dopo @code{\score}?
+
+In realtà non l'abbiamo affatto dimenticato. Il grande mistero è,
+semplicemente, che @emph{non c'è} alcun mistero. La seguente frase spiega tutto:
+
+@quotation
+@emph{Un blocco @code{\score} deve iniziare con un'espressione musicale composta.}
+@end quotation
+
+@noindent
+Per capire cosa si intende per espressione musicale e per espressione
+musicale composta, potrebbe esserti utile ripassare il tutorial,
+@ref{Espressioni musicali}. In quella sezione, abbiamo visto
+come costruire grandi espressioni musicali a partire da piccoli brani -- abbiamo
+iniziato con le note, poi gli accordi, etc. Adesso inzieremo da una grande
+espressione musicale e proseguiremo poi a spiegarne i dettagli. Per semplicità,
+nel nostro esempio useremo soltanto un canto e un pianoforte. Per questa formazione
+non abbiamo bisogno di @code{StaffGroup}, che non fa altro che raggruppare un insieme
+di righi con una parentesi graffa a sinistra, ma abbiamo comunque bisogno dei
+righi per il canto e per il pianoforte.
+
+@example
+\score @{
+ <<
+ \new Staff = "canto" <<
+ >>
+ \new PianoStaff = "pianoforte" <<
+ >>
+ >>
+ \layout @{ @}
+@}
+@end example
+
+In questo esempio abbiamo dato dei nomi ai righi -- @qq{canto} e
+@qq{pianoforte}. Non è necessario in questo caso, ma è una buona abitudine
+da coltivare, perché ti permette di vedere a colpo d'occhio a cosa serve
+ciascun rigo.
+
+Ricorda che si usano @code{<< ... >>} invece di @code{@{ ... @}} per indicare
+la musica simultanea. In questo modo la parte vocale e quella di pianoforte
+appaiono una sopra l'altra nello spartito. Il costrutto @code{<< ... >>} non
+sarebbe necessario per il rigo del cantante nell'esempio precedente se contenesse
+soltanto un'espressione musicale sequenziale, ma @code{<< ... >>} al posto delle
+parentesi è necessario se la musica sul rigo deve contenere due o più espressioni
+simultanee, ad esempio due voci simultanee, o una voce con del testo. Vogliamo
+avere una voce con del testo, dunque ci servono le parentesi ad angolo. Aggiungeremo
+la musica vera e propria in seguito; per adesso mettiamo soltanto delle semplici
+note e del testo. Se hai dimenticato come aggiungere del testo, potresti voler
+ripassare @code{\addlyrics} in @ref{Impostare canzoni semplici}.
+
+@lilypond[verbatim,quote,ragged-right]
+\score {
+ <<
+ \new Staff = "canto" <<
+ \new Voice = "vocal" { c'1 }
+ \addlyrics { And }
+ >>
+ \new PianoStaff = "piano" <<
+ \new Staff = "upper" { c'1 }
+ \new Staff = "lower" { c'1 }
+ >>
+ >>
+ \layout { }
+}
+@end lilypond
+
+Ora abbiamo molti più dettagli. Abbiamo il rigo del cantante: esso contiene
+una @code{Voice} o voce (in LilyPond, questo termine si riferisce a un insieme
+di note, non necessariamente alle note della voce -- ad esempio, un violino di
+solito costituisce una voce) e del testo. Abbiamo anche il rigo del pianoforte,
+che a sua volta comprende un rigo superiore (per la mano destra) e uno inferiore
+(per la mano sinistra), sebbene a quest'ultimo debba ancora essere assegnata
+una chiave di basso.
+
+A questo punto possiamo iniziare ad inserire le note. All'interno delle parentesi
+graffe vicine a @code{\new Voice = "vocal"}, possiamo iniziare a scrivere
+
+@example
+\relative c'' @{
+ r4 d8\noBeam g, c4 r
+@}
+@end example
+
+Ma se facessimo così, la sezione @code{\score} diventerebbe molto lunga, e
+sarebbe più difficile comprendere quel che accade. Usiamo quindi le variabili
+piuttosto. Queste sono state introdotte alla fine della sezione precedente,
+ricordi? Per far sì che i contenuti della variabile @code{text} siano
+interpretati come testo, li facciamo precedere da @code{\lyricmode}. Come in
+@code{\addlyrics}, questo comando trasforma la modalità di input in modalità
+testo. Senza di esso, LilyPond cercherebbe di interpretare i contenuti come
+se fossero note, e questo produrrebbe degli errori. (Sono disponibili molte
+altre modalità di input, si veda @ruser{Input modes}.)
+
+Dunque se aggiungiamo un po' di note e una chiave di basso per la mano
+sinistra, otteniamo un brano musicale vero e proprio:
+
+@lilypond[verbatim,quote,ragged-right]
+melody = \relative c'' { r4 d8\noBeam g, c4 r }
+text = \lyricmode { And God said, }
+upper = \relative c'' { <g d g,>2~ <g d g,> }
+lower = \relative c { b2 e }
+
+\score {
+ <<
+ \new Staff = "canto" <<
+ \new Voice = "vocal" { \melody }
+ \addlyrics { \text }
+ >>
+ \new PianoStaff = "piano" <<
+ \new Staff = "upper" { \upper }
+ \new Staff = "lower" {
+ \clef "bass"
+ \lower
+ }
+ >>
+ >>
+ \layout { }
+}
+@end lilypond
+
+Quando scrivi (o leggi) una sezione @code{\score}, prenditela comoda e stai
+attento. Comincia dal livello più esterno, poi lavora su ogni livello più
+piccolo. È anche molto utile essere rigorosi nell'indentare l'input -- ovvero
+fare attenzione che ogni elemento di uno stesso livello presente nell'editor
+di testo si trovi nella stessa posizione orizzontale.
+
+
+@seealso
+Guida alla notazione: @ruser{Structure of a score}.
+
+
+@node Annidare le espressioni musicali
+@subsection Annidare le espressioni musicali
+@translationof Nesting music expressions
+
+@cindex righi temporanei
+@cindex temporanei, righi
+@cindex ossia
+
+Non è obbligatorio dichiarare tutti i righi fin dall'inizio; possono essere
+invece introdotti temporaneamente in ogni momento. Questo è utile in
+particolare per creare le sezioni ossia -- si veda @rglos{ossia}. Ecco un
+semplice esempio che mostra come inserire un nuovo rigo temporaneamente, per
+la durata di tre note:
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff {
+ f8 f c
+ }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+@noindent
+Si noti che la dimensione della chiave è la stessa di una chiave che segue un
+cambio di chiave --ovvero leggermente più piccola della chiave all'inizio del
+rigo. Questo è utile per le chiavi che devono essere posizionate a metà di un
+rigo.
+
+@cindex rigo, posizionamento del
+
+La sezione ossia può anche essere posta sopra il rigo
+nel seguente modo:
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff = "main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff \with {
+ alignAboveContext = #"main"
+ } { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+Questo esempio usa @code{\with}, che verrà spiegato in modo più
+completo in seguito. È un modo per cambiare il comportamento predefinito
+di un singolo rigo. In questo caso, indica che il nuovo rigo deve essere
+posizionato sopra il rigo chiamato @qq{main} invece che nella posizione
+predefinita, che è in basso.
+
+
+@seealso
+Gli ossia vengono spesso scritti senza armatura di chiave e senza
+tempo, e solitamente hanno un font più piccolo. Richiedono ulteriori
+comandi che non sono stati ancora presentati. Si veda @ref{Size of objects},
+e @ruser{Ossia staves}.
+
+
+@node Sul non annidamento di parentesi e legature di valore
+@subsection Sul non annidamento di parentesi e legature di valore
+@translationof On the un-nestedness of brackets and ties
+
+@cindex parentesi, annidare
+@cindex tipi di parentesi
+@cindex parentesi, racchiudere vs. contrassegnare
+
+Abbiamo già incontrato vari tipi di parentesi e di costrutti che fanno
+uso di parentesi mentre scrivevamo il file di input di LilyPond. Ognuna obbedisce a
+diverse regole, e questo può generare confusione all'inizio. Rivediamo prima i
+diversi tipi di parentesi e di costrutti in parentesi.
+
+@c attempt to force this onto a new page
+@need 50
+@multitable @columnfractions .3 .7
+@headitem Tipo di parentesi
+ @tab Funzione
+@item @code{@{ .. @}}
+ @tab Racchiude un frammento di musica sequenziale
+@item @code{< .. >}
+ @tab Racchiude le note di un accordo
+@item @code{<< .. >>}
+ @tab Racchiude le espressioni musicali simultanee
+@item @code{( .. )}
+ @tab Contrassegna l'inizio e la fine di una legatura di portamento
+@item @code{\( .. \)}
+ @tab Contrassegna l'inizio e la fine di una legatura di frase
+@item @code{[ .. ]}
+ @tab Contrassegna l'inizio e la fine di una travatura impostata manualmente
+@end multitable
+
+A questi dovremmo aggiungere altri costrutti che generano linee tra
+e lungo le note: legature di valore (contrassegnate dal tilde, @code{~}),
+i gruppi irregolari scritti in questa forma @code{\times x/y @{..@}}, e
+gli abbellimenti, indicati con @code{\grace@{..@}}.
+
+Fuori da LilyPond, l'uso convenzionale delle parentesi esige che i diversi
+tipi siano annidati adeguatamente, in questo modo, @code{<< [ @{ ( .. )
+@} ] >>}, dove le parentesi che chiudono si trovano esattamente
+nell'ordine opposto alle parentesi che aprono. Questo @strong{è} un
+requisito per i tre tipi di parentesi descritti dal termine @q{Racchiude}
+nella tabella precedente -- devono annidarsi correttamente. Tuttavia,
+i restanti costrutti in parentesi, descritti dal termine @q{Contrassegna} nella
+tabella, così come le legature e i gruppi irregolari, @strong{non} devono annidarsi
+correttamente con alcuna delle parentesi o dei costrutti in parentesi. Infatti
+queste non sono parentesi nel senso che racchiudono qualcosa -- sono semplicemente
+dei contrassegni che indicano dove qualcosa inizia e finisce.
+
+Quindi, ad esempio, una legatura di frase può iniziare prima di una travatura
+inserita manualmente e finire prima della fine della travatura -- non
+molto musicale, forse, ma possibile:
+
+@lilypond[quote,verbatim,ragged-right,relative=2]
+g8\( a b[ c b\) a] g4
+@end lilypond
+
+In generale, tipi diversi di parentesi, costrutti in parentesi e segni che
+riguardano gruppi irregolari, legature e abbellimenti possono essere combinati
+liberamente. L'esempio seguente mostra una travatura che si estende su un
+gruppo irregolare (linea 1), una legatura di portamento che si estende su
+una terzina (linea 2), una travatura e una legatura di portamento che si
+estendono su una terzina, una legatura di valore che attraversa due gruppi
+irregolari, e una legatura di frase che si estende fuori da un gruppo
+irregolare (linee 3 e 4).
+
+@lilypond[quote,verbatim,ragged-right,relative=1]
+r16[ g \times 2/3 { r16 e'8] }
+g,16( a \times 2/3 { b16 d) e }
+g,8[( a \times 2/3 { b8 d) e~] } |
+\times 4/5 { e32\( a, b d e } a4.\)
+@end lilypond
+
+
+@node Le voci contengono la musica
+@section Le voci contengono la musica
+@translationof Voices contain music
+
+Un cantante ha bisogno della voce per cantare, e lo stesso vale per LilyPond.
+La musica vera e propria per tutti gli strumenti di una partitura è
+contenuta nelle Voci -- il più importante concetto di LilyPond.
+
+@menu
+* Sento le Voci::
+* Definire esplicitamente le voci::
+* Voci e musica vocale::
+@end menu
+
+@node Sento le Voci
+@subsection Sento le Voci
+@translationof I'm hearing Voices
+
+@cindex polifonia
+@cindex livelli
+@cindex varie voci
+@cindex voci, varie
+@cindex Voice (voce), contesto di
+@cindex contesto Voice (voce)
+@cindex musica simultanea
+@cindex simultanea, musica
+@cindex musica sincrona
+@cindex sincrona, musica
+@cindex voci vs. accordi
+@cindex accordi vs. voci
+
+I livelli più profondi, più interni e più importanti di uno spartito di LilyPond
+sono chiamati @q{Voice contexts} («Contesti della voce») o semplicemente @q{Voices}
+(«Voci»). In altri programmi di notazione le voci sono chiamate talvolta @q{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 è monofonica e
+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:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+\key g \major
+<d g>4 <d fis> <d a'> <d g>
+@end lilypond
+
+Questa musica può essere espressa usando soltanto i simboli dell'accordo,
+ovvero le parentesi angolari, @code{< ... >}, 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.
+
+@funindex << \\ >>
+@funindex \\
+
+Il modo più semplice per inserire frammenti che utilizzino più di una voce
+su un rigo è scrivere ogni voce come una sequenza (con @code{@{...@}}),
+e poi combinarle in simultanea tramite le doppie parentesi angolari, @code{<<...>>}.
+Per collocarli in voci distinte, i frammenti devono essere separati da un doppio
+backslash, @code{\\}. 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 monofonici 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:
+
+@lilypond[quote,verbatim,ragged-right,relative=2]
+\key g \major
+% Voice "1" Voice "2"
+<< { g4 fis8( g) a4 g } \\ { d4 d d d } >>
+@end lilypond
+
+Si noti come i gambi della seconda voce adesso siano rivolti in basso.
+
+Ecco un altro semplice esempio:
+
+@lilypond[quote,verbatim,ragged-right,relative=2]
+\key d \minor
+% Voice "1" Voice "2"
+<< { r4 g g4. a8 } \\ { d,2 d4 g } >> |
+<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
+<< { a2. r4 } \\ { fis2. s4 } >> |
+@end lilypond
+
+Non è necessario usare un costrutto con @code{<< \\ >>} 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ì:
+
+@lilypond[quote,verbatim,ragged-right,relative=2]
+\key d \minor
+<< {
+ % Voice "1"
+ r4 g g4. a8 |
+ bes4 bes c bes |
+ a2. r4 |
+} \\ {
+ % Voice "2"
+ d,2 d4 g |
+ g4 g g8( a) g4 |
+ fis2. s4 |
+} >>
+@end lilypond
+
+
+@cindex voci, nome delle
+@cindex voci che attraversano le parentesi
+@cindex legature che attraversano le parentesi
+
+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 @code{"1"}, @code{"2"}, etc.
+In ogni contesto, la direzione verticale di legature di portamento,
+gambi, legature di valore, dinamica, etc., è impostata correttamente.
+
+@lilypond[quote,verbatim]
+\new Staff \relative c' {
+ % Main voice
+ c16 d e f
+ % Voice "1" Voice "2" Voice "3"
+ << { g4 f e } \\ { r8 e4 d c8~ } >> |
+ << { d2 e } \\ { c8 b16 a b8 g~ g2 } \\ { s4 b c2 } >> |
+}
+@end lilypond
+
+Tutte queste voci sono separate dalla voce principale che contiene le
+note e che si trova fuori dal costrutto @code{<< .. >>}, che chiameremo
+il @emph{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.
+
+@lilypond[quote,verbatim]
+\new Staff \relative c' {
+ % Main voice
+ c16 d e f
+ << % Bar 1
+ {
+ \voiceOneStyle
+ g4 f e
+ }
+ \\
+ {
+ \voiceTwoStyle
+ r8 e4 d c8~
+ }
+ >> |
+ << % Bar 2
+ % Voice 1 continues
+ { d2 e }
+ \\
+ % Voice 2 continues
+ { c8 b16 a b8 g~ g2 }
+ \\
+ {
+ \voiceThreeStyle
+ s4 b c2
+ }
+ >> |
+}
+@end lilypond
+
+@funindex \voiceOneStyle
+@funindex \voiceTwoStyle
+@funindex \voiceThreeStyle
+@funindex \voiceFourStyle
+@funindex \voiceNeutralStyle
+
+I comandi @code{\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; @code{\voiceNeutralStyle} (anch'esso
+non usato qui) riporta lo stile all'impostazione predefinita.
+Vedremo in seguito come l'utente possa creare comandi simili.
+Si veda @ref{Visibility and color of objects} e
+@ref{Using variables for tweaks}.
+
+@cindex polifonia e modo relativo
+@cindex modo relativo e polifonia
+
+La polifonia non cambia le relazioni tra le note all'interno di un
+blocco @code{\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
+
+@example
+\relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
+@end example
+
+@noindent
+@code{notaB} è relativa a @code{notaA} @*
+@code{notaC} è relativa a @code{notaB}, non a @code{notaA}; @*
+@code{notaD} è relativa a @code{notaB}, non a @code{notaA} o a
+@code{notaC}; @*
+@code{notaE} è relativa a @code{notaD}, non a @code{notaA}.
+
+Un metodo alternativo, che potrebbe essere più chiaro se le note nelle
+voci sono ampiamente separate, consiste nel porre un comando @code{\relative}
+all'inizio di ogni voce:
+
+@example
+\relative c' @{ noteA ... @}
+<<
+ \relative c'' @{ < noteB noteC > ... @}
+\\
+ \relative g' @{ noteD ... @}
+>>
+\relative c' @{ noteE ... @}
+@end example
+
+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.
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+\new Staff \relative c'' {
+ \key aes \major
+ << % Voice one
+ { c2 aes4. bes8 }
+ \\ % Voice two
+ { aes2 f4 fes }
+ \\ % No voice three
+ \\ % Voice four
+ {
+ % Ignore these for now - they are explained in Ch 4
+ \once \override NoteColumn #'force-hshift = #0
+ <ees c>2
+ \once \override NoteColumn #'force-hshift = #0.5
+ des2
+ }
+ >> |
+ <c ees aes c>1 |
+}
+@end lilypond
+
+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.
+
+@c The following should appear as music without code
+@c The three voice styles should be defined in -init
+@lilypond[quote,ragged-right]
+\new Staff \relative c'' {
+ \key aes \major
+ <<
+ { % Voice one
+ \voiceOneStyle
+ c2 aes4. bes8
+ }
+ \\ % Voice two
+ { \voiceTwoStyle
+ aes2 f4 fes
+ }
+ \\ % No Voice three (we want stems down)
+ \\ % Voice four
+ { \voiceThreeStyle
+ % Ignore these for now - they are explained in Ch 4
+ \once \override NoteColumn #'force-hshift = #0
+ <ees c>2
+ \once \override NoteColumn #'force-hshift = #0.5
+ des2
+ }
+ >> |
+ <c ees aes c>1 |
+}
+@end lilypond
+
+
+Proviamo a scrivere il codice di questa musica da zero. Come
+vedremo, questo pone alcune difficoltà. Come abbiamo imparato,
+iniziamo usando il costrutto @code{<< \\ >>} per inserire la musica
+della prima battuta in tre voci:
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff \relative c'' {
+ \key aes \major
+ <<
+ { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
+ >>
+ <c ees aes c>1
+}
+@end lilypond
+
+@cindex gambo in giù
+@cindex voci e direzione dei gambi
+@cindex gambi e direzione delle voci
+@cindex gambo in su
+
+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 può fare aggiungendo semplicemente un altro
+paio di @code {\\}:
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff \relative c'' {
+ \key aes \major
+ << % Voice one
+ { c2 aes4. bes8 }
+ \\ % Voice two
+ { aes2 f4 fes }
+ \\ % Omit Voice three
+ \\ % Voice four
+ { <ees c>2 des2 }
+ >> |
+ <c ees aes c>1 |
+}
+@end lilypond
+
+@noindent
+Possiamo vedere che questo corregge la direzione del gambo, ma espone
+a un problema talvolta presente con le voci multiple: i gambi delle note
+in una voce possono collidere con le teste delle note di un'altra voce. Nel
+disporre le note, LilyPond permette alle note o agli accordi di due diverse
+voci di occupare la stessa colonna verticale della nota purché i gambi siano
+in direzioni opposte, ma le note della terza e quarta voce vengono
+spostate, se necessario, per evitare la collisione tra le teste. Questo
+di solito funziona bene, ma in questo esempio le note della voce più bassa,
+con le impostazioni predefinite, appaiono chiaramente disposte in una posizione
+non ottimale. 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à @code{force-hshift} in @ref{Fixing
+overlapping notation}.
+
+
+@seealso
+Guida alla notazione: @ruser{Multiple voices}.
+
+
+@node Definire esplicitamente le voci
+@subsection Definire esplicitamente le voci
+@translationof Explicitly instantiating voices
+
+@funindex \voiceOne
+@funindex voiceOne
+@funindex \voiceTwo
+@funindex voiceTwo
+@funindex \voiceThree
+@funindex voiceThree
+@funindex \voiceFour
+@funindex voiceFour
+@funindex \oneVoice
+@funindex oneVoice
+@funindex \new Voice
+@cindex contesti della voce, creazione dei
+
+I contesti della voce possono anche essere creati manualmente,
+all'interno di un blocco @code{<< >>} che crea musica polifonica, usando
+@code{\voiceOne} ... @code{\voiceFour} per indicare le direzioni desiderate
+per gambi, legature, etc. Nelle partiture più grandi questo metodo
+è più chiaro, perché fa sì che le voci possano essere separate e nominate
+in modo più descrittivo.
+
+Nello specifico, il costrutto @code{<< \\ >>} usato nella sezione
+precedente:
+
+@example
+\new Staff @{
+ \relative c' @{
+ << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
+ @}
+@}
+@end example
+
+@noindent
+è equivalente a
+
+@example
+\new Staff <<
+ \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
+ \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
+>>
+@end example
+
+Entrambi hanno come risultato
+
+@c The following example should not display the code
+@lilypond[ragged-right,quote]
+\new Staff <<
+ \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
+ \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
+>>
+@end lilypond
+
+@cindex voci, tornare alla voce singola
+@cindex tornare alla voce singola
+
+I comandi @code{\voiceXXX} impostano le direzioni di gambi, legature di
+portamento, legature di valore, articolazioni, annotazioni, punti di
+aumentazione di note puntate e diteggiature. @code{\voiceOne} e @code{\voiceThree}
+fanno sì che questi oggetti siano rivolti verso l'alto, mentre @code{\voiceTwo} e
+@code{\voiceFour} fanno sì che puntino verso il basso. Questi comandi producono
+anche uno spostamento orizzontale per ogni voce quando si crei la necessità
+di evitare collisioni tra le teste. Il comando @code{\oneVoice}
+riporta i valori alle normali impostazioni di una singola voce.
+
+Vediamo tramite alcuni semplici esempi quali effetti esattamente
+@code{\oneVoice}, @code{\voiceOne} e @code{voiceTwo} hanno su
+markup, legature di valore, legature di portamento, e dinamica:
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c'{
+ % Default behavior or behavior after \oneVoice
+ c4 d8~ d e4( f | g4 a) b-> c |
+}
+@end lilypond
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c' {
+ \voiceOne
+ c4 d8~ d e4( f | g4 a) b-> c |
+ \oneVoice
+ c,4 d8~ d e4( f | g4 a) b-> c |
+}
+@end lilypond
+
+@lilypond[quote,ragged-right,verbatim]
+\relative c' {
+ \voiceTwo
+ c4 d8~ d e4( f | g4 a) b-> c |
+ \oneVoice
+ c,4 d8~ d e4( f | g4 a) b-> c |
+}
+@end lilypond
+
+Vediamo adesso, usando l'esempio della sezione precedente, tre modi
+diversi di scrivere uno stesso passo di musica polifonica, e i
+rispettivi vantaggi, a seconda delle circostanze.
+
+Un'espressione che appare direttamente in un @code{<< >>} appartiene
+alla voce principale (ma, attenzione: @strong{non} in un costrutto
+@code{<< \\ >>}). Questo metodo è utile quando le altre voci entrano
+mentre la voce principale sta già suonando. Ecco una versione più corretta
+del nostro esempio. Le note a rombi rossi mostrano che la melodia
+principale si trova ora nel contesto di una voce singola, e questo fa
+sì che sia possibile disegnare una legatura di frase sopra di esse.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' {
+ \voiceOneStyle
+ % The following notes are monophonic
+ c16^( d e f
+ % Start simultaneous section of three voices
+ <<
+ % Continue the main voice in parallel
+ { g4 f e | d2 e) | }
+ % Initiate second voice
+ \new Voice {
+ % Set stems, etc., down
+ \voiceTwo
+ r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
+ }
+ % Initiate third voice
+ \new Voice {
+ % Set stems, etc, up
+ \voiceThree
+ s2. | s4 b c2 |
+ }
+ >>
+}
+@end lilypond
+
+@cindex annidare le espressioni musicali
+@cindex annidare i costrutti simultanei
+@cindex annidare le voci
+@cindex voci temporanee
+@cindex voci, annidare
+
+Sono possibili costrutti polifonici annidati più fittamente, e se una voce
+appare solo brevemente questo potrebbe essere un modo più semplice
+di scrivere lo spartito:
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' {
+ c16^( d e f
+ <<
+ { g4 f e | d2 e) | }
+ \new Voice {
+ \voiceTwo
+ r8 e4 d c8~ |
+ <<
+ { c8 b16 a b8 g~ g2 | }
+ \new Voice {
+ \voiceThree
+ s4 b c2 |
+ }
+ >>
+ }
+ >>
+}
+@end lilypond
+
+@cindex note spaziatrici
+
+Questo metodo di annidare nuove voci in breve è utile quando solo piccole
+parti della musica sono polifoniche, ma quando la polifonia è impiegata
+largamente in tutta la parte può essere più chiaro ricorrere a voci multiple,
+usando le note spaziatrici per saltare le parti in cui una delle voci è muta,
+come nel seguente esempio:
+
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative c' <<
+ % Initiate first voice
+ \new Voice {
+ \voiceOne
+ c16^( d e f g4 f e | d2 e) |
+ }
+ % Initiate second voice
+ \new Voice {
+ % Set stems, etc, down
+ \voiceTwo
+ s4 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
+ }
+ % Initiate third voice
+ \new Voice {
+ % Set stems, etc, up
+ \voiceThree
+ s1 | s4 b c2 |
+ }
+>>
+@end lilypond
+
+@subsubheading Note columns
+
+@cindex colonna delle note
+@cindex collisioni di note
+@cindex note, collisioni di
+@cindex comandi di spostamento
+@funindex \shiftOff
+@funindex shiftOff
+@funindex \shiftOn
+@funindex shiftOn
+@funindex \shiftOnn
+@funindex shiftOnn
+@funindex \shiftOnnn
+@funindex shiftOnnn
+
+Le note maggiormente ravvicinate all'interno di un accordo o quelle che
+compaiono nello stesso momento in voci diverse sono disposte in due, e
+talvolta più, colonne, per impedire la sovrapposizione delle teste. Esse
+vengono chiamate colonne delle note. Le singole colonne di ognuna delle
+voci sono indipendenti, e lo scarto adottato nella voce in uso è determinato
+dal distanziamento delle colonne nei casi in cui altrimenti si determinerebbe
+una collisione. Si può vedere nell'esempio in basso. Nella seconda battuta
+il Do della seconda voce è spostato a destra del Re nella prima voce, e
+nell'ultimo accordo il Do nella terza voce è spostato anch'esso a destra
+delle altre note.
+
+I comandi @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, e
+@code{\shiftOff} specificano il grado con cui le note e gli accordi
+della voce debbano essere spostati in caso di collisione. L'impostazione
+predefinita prevede che le voci esterne (di norma le voci uno e due)
+abbiano @code{\shiftOff} attivato, mentre le voci interne (terza e quarta)
+abbiano @code{\shiftOn} attivato. Quando uno spostamento viene applicato,
+le voci una e tre vengono spostate a destra e le voci due e quattro a sinistra.
+
+@code{\shiftOnn} e @code{\shiftOnnn} definiscono ulteriori livelli di
+scarto che possono essere temporaneamente specificati per risolvere
+le collisioni in situazioni complesse -- si veda @ref{Real music example}.
+
+Una colonna di note può contenere soltanto una nota (o accordo) di una
+voce con gambi in su e una nota (o accordo) di una voce con gambi in
+giù. Se note di due voci che hanno i gambi nella stessa direzione
+sono poste nella stessa posizione ed entrambe le voci non hanno uno
+spostamento specificato oppure ne hanno uno dello stesso tipo, si
+produrrà il messaggio di errore @qq{Too many clashing note columns}.
+
+
+@seealso
+Guida alla notazione: @ruser{Multiple voices}.
+
+
+@node Voci e musica vocale
+@subsection Voci e musica vocale
+@translationof Voices and vocals
+
+La musica vocale presenta una difficoltà in più: occorre combinare due
+espressioni -- note e testo.
+
+@funindex \new Lyrics
+@funindex \lyricsto
+@funindex lyricsto
+@funindex Lyrics
+@cindex Lyrics, creazione di un contesto
+@cindex testo, creazione di un contesto
+@cindex testo, collegare a una voce
+
+Abbiamo già visto il comando @code{\addlyrics@{@}}, che ben si comporta
+con le partiture semplici. Tuttavia, questa tecnica è piuttosto
+limitata. Per musica più complessa, occorre introdurre il testo in
+un contesto @code{Lyrics} usando @code{\new Lyrics} e collegando
+esplicitamente il testo alle note con @code{\lyricsto@{@}}, tramite
+il nome assegnato alla voce.
+
+@lilypond[quote,verbatim]
+<<
+ \new Voice = "one" {
+ \relative c'' {
+ \autoBeamOff
+ \time 2/4
+ c4 b8. a16 | g4. f8 | e4 d | c2 |
+ }
+ }
+ \new Lyrics \lyricsto "one" {
+ No more let | sins and | sor -- rows | grow. |
+ }
+>>
+@end lilypond
+
+Si noti che il testo deve essere collegato a un contesto @code{Voice},
+@emph{non} a un contesto @code{Staff}. Questo è un caso in cui è
+necessario creare esplicitamente contesti @code{Staff} e @code{Voice}.
+
+@cindex testo e travatura
+@cindex travatura e testo
+@funindex \autoBeamOff
+@funindex autoBeamOff
+
+La disposizione automatica delle travature predefinita di LilyPond funziona
+bene per la musica strumentale, ma non altrettanto per la musica con testi,
+dove le travature o non sono usate affatto o servono a indicare la presenza
+di melismi nel testo. Nell'esempio precedente usiamo il comando
+@code{\autoBeamOff} per disattivare la travatura automatica.
+
+@funindex \new ChoirStaff
+@funindex ChoirStaff
+@funindex \lyricmode
+@funindex lyricmode
+@cindex struttura di una partitura vocale
+@cindex rigo per un coro
+
+Riprendiamo l'esempio precedente di Judas Maccabæus per presentare
+questa tecnica più flessibile. Innanzitutto lo rimaneggiamo per
+usare delle variabili per mezzo delle quali la musica e il testo
+possano essere separate dalla struttura del rigo. Inseriamo anche
+una parentesi ChoirStaff. Il testo deve essere introdotto da
+@code{\lyricmode} per assicurare che siano interpretati come testo
+invece che come musica.
+
+@lilypond[quote,verbatim]
+global = { \key f \major \time 6/8 \partial 8 }
+
+SopOneMusic = \relative c'' {
+ c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ c4
+}
+SopOneLyrics = \lyricmode {
+ Let | flee -- cy flocks the | hills a -- dorn, __
+}
+SopTwoMusic = \relative c' {
+ r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
+}
+SopTwoLyrics = \lyricmode {
+ Let | flee -- cy flocks the | hills a -- dorn,
+}
+
+\score {
+ \new ChoirStaff <<
+ \new Staff <<
+ \new Voice = "SopOne" {
+ \global
+ \SopOneMusic
+ }
+ \new Lyrics \lyricsto "SopOne" {
+ \SopOneLyrics
+ }
+ >>
+ \new Staff <<
+ \new Voice = "SopTwo" {
+ \global
+ \SopTwoMusic
+ }
+ \new Lyrics \lyricsto "SopTwo" {
+ \SopTwoLyrics
+ }
+ >>
+ >>
+}
+@end lilypond
+
+Questa è la struttura di base di tutte le partiture vocali. Si possono
+aggiungere più righi, più voci in ogni rigo, più versi nei testi, e
+le variabili contenenti la musica possono essere poste in file
+separati se dovessero diventare troppo lunghe.
+
+@cindex struttura di un inno
+@cindex SATB, struttura di
+@cindex vocale, partitura, varie strofe
+@cindex varie strofe vocali
+@cindex strofe, vocali, varie
+
+Ecco un esempio della prima linea di un inno con quattro
+strofe, impostate su SATB. In questo caso le parole per tutte e quattro
+le parti sono le stesse. Si noti l'uso delle variabili per separare
+la notazione musicale e le parole dalla struttura del rigo. Si veda anche
+come una variabile, che abbiamo deciso di chiamare @q{keyTime}, venga usata
+per avere vari comandi a disposizione all'interno dei due righi. In altri
+esempi questo viene spesso chiamato @q{global}.
+
+@lilypond[quote,verbatim]
+keyTime = { \key c \major \time 4/4 \partial 4 }
+
+SopMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
+AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
+TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
+
+VerseOne =
+ \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
+VerseTwo =
+ \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
+VerseThree =
+ \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
+VerseFour =
+ \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
+
+\score {
+ \new ChoirStaff <<
+ \new Staff <<
+ \clef "treble"
+ \new Voice = "Sop" { \voiceOne \keyTime \SopMusic }
+ \new Voice = "Alto" { \voiceTwo \AltoMusic }
+ \new Lyrics \lyricsto "Sop" { \VerseOne }
+ \new Lyrics \lyricsto "Sop" { \VerseTwo }
+ \new Lyrics \lyricsto "Sop" { \VerseThree }
+ \new Lyrics \lyricsto "Sop" { \VerseFour }
+ >>
+ \new Staff <<
+ \clef "bass"
+ \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
+ \new Voice = "Bass" { \voiceTwo \BassMusic }
+ >>
+ >>
+}
+@end lilypond
+
+@seealso
+Guida alla notazione: @ruser{Vocal music}.
+
+
+@node Contesti e incisori
+@section Contesti e incisori
+@translationof Contexts and engravers
+
+I contesti e gli incisori sono stati menzionati in modo informale
+nelle sezioni precedenti; ora dobbiamo approfondire
+questi concetti, perché sono importanti nell'ottimizzazione
+dell'output di LilyPond.
+
+
+@menu
+* I contesti::
+* Creare i contesti::
+* Gli incisori::
+* Modificare le proprietà di contesto::
+* Aggiungere e togliere gli incisori::
+@end menu
+
+@node I contesti
+@subsection I contesti
+@translationof Contexts explained
+
+@cindex contesti, spiegazione dei
+
+Quando la musica viene elaborata, molti elementi notazionali che non
+compaiono esplicitamente nel file di input devono essere aggiunti
+nell'output. Ad esempio, si confrontino l'input e l'output del
+seguente esempio:
+
+@lilypond[quote,verbatim,relative=2]
+cis4 cis2. | a4 a2. |
+@end lilypond
+
+L'input è alquanto essenziale, ma nell'output sono stati aggiunti stanghette,
+alterazioni, l'armatura di chiave e il tempo. Quando LilyPond @emph{interpreta}
+l'input l'informazione musicale viene analizzata da sinistra a destra, proprio
+come un musicista legge uno spartito. Mentre legge l'input, il programma
+ricorda dove si trovano i confini della misura, e quali altezze richiedono
+espliciti accidenti. Questa informazione deve essere conservata a diversi
+livelli. Ad esempio, un accidente influisce solo su un singolo rigo, mentre
+una stanghetta deve essere sincronizzata lungo l'intera partitura.
+
+All'interno di LilyPond, queste regole e pezzi di informazione sono raggruppati
+nei @emph{Contesti}. Abbiamo già presentato il contesto @code{Voice}.
+Altri contesti sono @code{Staff} e @code{Score}. I contesti sono strutturati
+gerarchicicamente per riflettere la natura gerarchica di una partitura musicale.
+Ad esempio: un contesto @code{Staff} può contenere molti contesti @code{Voice},
+e un contesto @code{Score} può contenere molti contesti @code{Staff}.
+
+@quotation
+@sourceimage{context-example,5cm,,}
+@end quotation
+
+Ogni contesto è responsabile di far rispettare alcune regole di notazione,
+creare alcuni oggetti della notazione e conservare le proprietà
+associate. Ad esempio, il contesto @code{Voice} può introdurre
+un'alterazione e poi il contesto @code{Staff} mantiene la regola per
+mostrare o sopprimere l'alterazione per il resto della misura.
+
+Un altro esempio: la sincronizzazione delle stanghette è gestita, per
+impostazione predefinita, nel contesto @code{Score}. Tuttavia, in
+alcune forme musicali potremmo non volere che le stanghette siano
+sincronizzate -- si consideri una partitura polimetrica in 4/4 e 3/4. In
+questi casi, dobbiamo modificare le impostazioni predefinite dei
+contesti @code{Score} e @code{Staff}.
+
+Per spartiti molto semplici, i contesti vengono creati implicitamente, e
+non è necessario occuparsene. Ma per brani più ampi, come qualsiasi
+cosa abbia più di un rigo, devono essere creati esplicitamente per
+essere sicuri di avere tutti i righi necessari, e che questi siano
+nel giusto ordine. Per scrivere brani che utilizzano una
+notazione speciale, di solito si modificano i contesti esistenti, o
+addirittura se ne creano di completamente nuovi.
+
+Oltre ai contesti @code{Score,} @code{Staff} e @code{Voice} ci sono
+contesti che stanno tra i livelli della partitura (score) e del
+rigo (staff) per controllare i gruppi di pentagrammi, come
+i contesti @code{PianoStaff} e @code{ChoirStaff}. Ci sono anche
+contesti alternativi per il rigo e la voce, e contesti per il
+testo, le percussioni, la tastiera, il basso continuo, etc.
+
+I nomi di tutti i tipi di contesto sono formati da una o più
+parole, e ogni parola viene unita immediatamente alla parola
+precedente senza trattini o underscore bensì con la prima lettera
+maiuscola: ad esempio, @code{GregorianTranscriptionStaff}.
+
+
+@seealso
+Guida alla notazione: @ruser{Contexts explained}.
+
+
+@node Creare i contesti
+@subsection Creare i contesti
+@translationof Creating contexts
+
+@funindex \new
+@funindex new
+@cindex nuovi contesti
+@cindex creazione di contesti
+@cindex contesti, creazione di
+
+In un file di input un blocco della partitura, introdotto dal comando @code{\score},
+contiene un'espressione musicale singola e una definizione di output
+associata (o un blocco @code{\layout} o un blocco @code{\midi}).
+Di solito si lascia che il contesto @code{Score} sia creato automaticamente
+quando inizia l'interpretazione di quell'espressione musicale.
+
+Per le partiture che hanno una sola voce e un solo rigo, si può lasciare che
+i contesti @code{Voice} e @code{Staff} siano creati automaticamente, ma per
+le partiture più complesse è necessario crearli manualmente. Il comando
+più semplice per farlo è @code{\new}. Viene posto prima di
+un'espressione musicale, ad esempio
+
+@example
+\new @var{tipo} @var{espressione-musicale}
+@end example
+
+@noindent
+dove @var{tipo} è il nome di un contesto (come @code{Staff} o
+@code{Voice}). Questo comando crea un nuovo contesto, e inizia a
+interpretare @var{espressione-musicale} all'interno di quel contesto.
+
+(Si noti che normalmente non è necessario il comando @code{\new Score},
+perché il fondamentale contesto di livello superiore @code{Score} viene creato
+automaticamente quando l'espressione musicale all'interno del blocco @code{\score}
+viene interpretata. L'unica ragione per creare un contesto @code{Score}
+esplicitamente con @code{\new Score} è di inserire un blocco
+@code{\with} dove si possono specificare uno o più valori delle proprietà
+di contesto, predefiniti per tutto lo spartito.. Le informazioni su come
+usare i blocchi @code{\with} si trovano sotto il titolo
+@qq{Setting context properties with @code{\\with} } in
+@ref{Modifying context properties}.)
+
+@warning{@bs{}@code{new Score} non dovrebbe essere usato perché il fondamentale
+contesto di livello superiore @code{Score} viene creato automaticamente quando
+l'espressione musicale all'interno del blocco @bs{}@code{score} viene
+interpretata. I valori predefiniti delle proprietà di contesto validi per tutta
+la partitura possono essere modificati nel blocco @bs{}@code{layout}. Vedi
+@ref{Modifying context properties}}
+
+Nelle sezioni precedenti hai già visto molti esempi pratici della creazione
+di nuovi contesti @code{Staff} e @code{Voice}, ma per ricordarti
+come questi comandi vengano usati in pratica, ecco un esempio
+di musica vera e propria:
+
+@lilypond[quote,verbatim,ragged-right]
+\score { % start of single compound music expression
+ << % start of simultaneous staves section
+ \time 2/4
+ \new Staff { % create RH staff
+ \clef "treble"
+ \key g \minor
+ \new Voice { % create voice for RH notes
+ \relative c'' { % start of RH notes
+ d4 ees16 c8. |
+ d4 ees16 c8. |
+ } % end of RH notes
+ } % end of RH voice
+ } % end of RH staff
+ \new Staff << % create LH staff; needs two simultaneous voices
+ \clef "bass"
+ \key g \minor
+ \new Voice { % create LH voice one
+ \voiceOne
+ \relative g { % start of LH voice one notes
+ g8 <bes d> ees, <g c> |
+ g8 <bes d> ees, <g c> |
+ } % end of LH voice one notes
+ } % end of LH voice one
+ \new Voice { % create LH voice two
+ \voiceTwo
+ \relative g { % start of LH voice two notes
+ g4 ees |
+ g4 ees |
+ } % end of LH voice two notes
+ } % end of LH voice two
+ >> % end of LH staff
+ >> % end of simultaneous staves section
+} % end of single compound music expression
+@end lilypond
+
+(Si noti che tutte le asserzioni che aprono un blocco o con delle
+parentesi graffe, @code{@{}, o con delle parentesi angolari doppie, @code{<<},
+sono indentate di due spazi, e la parentesi di chiusura corrispondente
+è indentata esattamente dello stesso spazio. Pur non essendo un
+requisito indispensabile, seguire questa pratica ridurrà enormemente
+il numero di errori da @q{parentesi spaiate}, ed è quindi fortemente
+consigliato. Permette di vedere a colpo d'occhio la struttura della
+musica, e qualsiasi parentesi spaiata sarà facilmente riconoscibile.
+Si noti anche come il rigo LH faccia uso di parentesi angolari doppie
+perché richiede due voci, mentre il rigo RH è costituito da
+una singola espressione musicale compresa tra parentesi
+graffe perché richiede una sola voce.)
+
+@cindex contesti, dare un nome
+@cindex dare un nome ai contesti
+
+Il comando @code{\new} può anche dare un nome identificativo al
+contesto per distinguerlo da altri contesti dello stesso tipo,
+
+@example
+\new @var{tipo} = @var{id} @var{espressione-musicale}
+@end example
+
+Si noti la distinzione tra il nome del tipo di contesto,
+@code{Staff}, @code{Voice}, etc, e il nome identificativo di un
+particolare esempio di quel tipo, che può essere qualsiasi sequenza di
+lettere inventata dall'utente. Nel nome identificativo si possono usare
+anche numeri e spazi, ma in questo caso deve essere compreso tra virgolette,
+ovvero @code{\new Staff = "MioPentagramma 1" @var{espressione-musicale}}.
+Il nome identificativo viene utilizzato per riportare a quel
+particolare esempio di un contesto. Abbiamo visto questo utilizzo
+nella sezione sul testo, si veda @ref{Voci e musica vocale}.
+
+
+@seealso
+Guida alla notazione: @ruser{Creating contexts}.
+
+
+@node Gli incisori
+@subsection Gli incisori
+@translationof Engravers explained
+
+@cindex incisori
+
+Ogni segno presente nell'output di una partitura realizzata con LilyPond
+è prodotto da un @code{Engraver} (incisore). Dunque c'è un incisore per
+creare i righi, uno per le teste delle note, uno per i gambi, uno per le
+travature, etc, etc. In totale ci sono più di 120 incisori!
+Fortunatamente, per gran parte delle partiture è necessario conoscerne
+pochi soltanto, e per partiture semplici non occorre conoscerne
+alcuno.
+
+Gli incisori vivono ed operano all'interno dei Contesti. Incisori come
+il @code{Metronome_mark_engraver}, la cui azione e il cui output si applicano
+alla partitura nel suo complesso, operano nel contesto di livello più superiore -- il
+contesto @code{Score}.
+
+Gli incisori @code{Clef_engraver} e @code{Key_engraver} devono invece
+trovarsi in ogni contesto @code{Staff}, poiché righi diversi potrebbero
+richiedere diverse chiavi e tonalità.
+
+Gli incisori @code{Note_heads_engraver} e @code{Stem_engraver} abitano
+ogni contesto @code{Voice}, il contesto che si trova al livello più
+basso di tutti.
+
+Ogni incisore elabora gli oggetti specifici associati alla sua funzione, e
+gestisce le proprietà che a quella funzione si riferiscono. Queste proprietà,
+come le proprietà associate ai contesti, possono essere modificate per
+cambiare il funzionamento dell'incisore o l'aspetto di quegli elementi
+nella partitura.
+
+Gli incisori hanno tutti dei nomi composti formati da parole che
+descrivono la loro funzione. Solo la prima parola inizia con una maiuscola,
+e il resto è collegato insieme con dei trattini bassi. Quindi
+l'incisore @code{Staff_symbol_engraver} ha il compito di creare le linee del
+pentagramma, il @code{Clef_engraver} determina e definisce il punto
+di riferimento dell'altezza sul rigo disegnando il simbolo di una chiave.
+
+Ecco alcuni degli incisori più utilizzati insieme alla loro
+funzione. Vedrai che di solito è facile indovinare la funzione a
+partire dal nome, o viceversa.
+
+@multitable @columnfractions .3 .7
+@headitem Incisore
+ @tab Funzione
+@item Accidental_engraver
+ @tab Crea le alterazioni, le alterazioni di precauzione e di cortesia
+@item Beam_engraver
+ @tab Incide le travature
+@item Clef_engraver
+ @tab Incide le chiavi
+@item Completion_heads_engraver
+ @tab Separa le note che attraversano le stanghette
+@c The old Dynamic_engraver is deprecated. -jm
+@item New_dynamic_engraver
+ @tab Crea le forcelle e i testi relativi alla dinamica
+@item Forbid_line_break_engraver
+ @tab Impedisce l'a capo se un elemento musicale è ancora attivo
+@item Key_engraver
+ @tab Crea l'armatura di chiave
+@item Metronome_mark_engraver
+ @tab Incide il tempo metronomico
+@item Note_heads_engraver
+ @tab Incide le teste delle note
+@item Rest_engraver
+ @tab Incide le pause
+@item Staff_symbol_engraver
+ @tab Incide le cinque linee (predefinite) del pentagramma
+@item Stem_engraver
+ @tab Crea i gambi e i tremoli su singoli gambi
+@item Time_signature_engraver
+ @tab Crea l'indicazione di tempo
+@end multitable
+
+@smallspace
+
+Vedremo in seguito come cambiare l'output di Lilypond
+modificando il comportamento degli incisori.
+
+
+@seealso
+Guida al funzionamento interno: @rinternals{Engravers and Performers}.
+
+
+@node Modificare le proprietà di contesto
+@subsection Modificare le proprietà di contesto
+@translationof Modifying context properties
+
+@cindex contesto, proprietà del
+@cindex contesto, proprietà del, modificare
+@cindex modificare le proprietà del contesto
+@funindex \set
+@funindex set
+@funindex \unset
+@funindex unset
+
+I contesti si occupano di tenere i valori di un certo numero di
+@emph{proprietà} del contesto. Molte di queste possono essere cambiate
+per influenzare l'interpretazione dell'input e quindi modificare
+l'aspetto dell'output. Per cambiarle si usa il comando
+@code{\set}. Questo assume la seguente forma
+
+@example
+\set @emph{NomeDelContesto}.@emph{nomeDellaProprietà} = #@emph{valore}
+@end example
+
+Dove il @emph{NomeDelContesto} è di solito @code{Score},
+@code{Staff} o @code{Voice}. Può essere omesso, e in questo
+caso viene considerato il contesto attuale (solitamente @code{Voice}).
+
+I nomi delle proprietà del contesto consistono in parole unite
+insieme e senza lineette o trattini bassi, e solo la prima
+parola inizia con una lettera maiuscola. Ecco alcuni esempi
+di quelle più usate comunemente. Ma ne esistono molte altre.
+
+@c attempt to force this onto a new page
+@need 50
+@multitable @columnfractions .25 .15 .45 .15
+@headitem nomeDellaProprietà
+ @tab Tipo
+ @tab Funzione
+ @tab Valore di esempio
+@item extraNatural
+ @tab Booleano
+ @tab Se è vero, mette i segni di bequadro prima degli accidenti
+ @tab @code{#t}, @code{#f}
+@item currentBarNumber
+ @tab Intero
+ @tab Imposta il numero della battuta corrente
+ @tab @code{50}
+@item doubleSlurs
+ @tab Booleano
+ @tab Se è vero, stampa le legature di portamento sia sopra che sotto le note
+ @tab @code{#t}, @code{#f}
+@item instrumentName
+ @tab Testo
+ @tab Imposta il nome da inserire all'inizio del rigo
+ @tab @code{"Cello I"}
+@item fontSize
+ @tab Reale
+ @tab Aumenta o riduce la dimensione del carattere
+ @tab @code{2.4}
+@item stanza
+ @tab Testo
+ @tab Imposta il testo da stampare prima dell'inizio di una strofa
+ @tab @code{"2"}
+@end multitable
+
+@noindent
+mentre un Booleano è o Vero (@code{#t}) o Falso (@code{#f}),
+un Intero è un numero intero positivo, un Reale è un numero
+decimale positivo o negativo, e il testo è racchiuso tra
+virgolette. Si noti la presenza del segno cancelletto,
+(@code{#}), in due punti diversi -- come parte del valore Booleano
+prima di @code{t} o @code{f}, e prima del @emph{valore}
+nell'affermazione @code{\set}. Dunque quando si inserisce un valore
+Booleano bisogna scrivere due cancelletti, ad esempio @code{##t}.
+
+@cindex proprietà che operano nei contesti
+@cindex impostare le proprietà all'interno dei contesti
+
+Prima di poter impostare una qualsiasi di queste proprietà dobbiamo sapere
+in quale contesto esse operino. Talvolta questo è ovvio,
+ma talvolta può risultare complicato. Se viene specificato il
+contesto sbagliato, non viene generato alcun messaggio di errore, ma l'azione
+desiderata non avrà luogo. Ad esempio, la proprietà
+@code{instrumentName} risiede ovviamente nel contesto @code{Staff}, poiché
+è il pentagramma a dover essere nominato.
+Nell'esempio seguente viene etichettato il primo pentagramma, ma non il secondo,
+perché abbiamo omesso il nome del contesto.
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+ \new Staff \relative c'' {
+ \set Staff.instrumentName = #"Soprano"
+ c2 c
+ }
+ \new Staff \relative c' {
+ \set instrumentName = #"Alto" % Wrong!
+ d2 d
+ }
+>>
+@end lilypond
+
+Ricorda che il nome di contesto predefinito è @code{Voice}, dunque il
+secondo comando @code{\set} imposta la proprietà @code{instrumentName} nel
+contesto @code{Voice} col valore @qq{Alto}, ma dato che LilyPond non trova
+tale proprietà nel contesto @code{Voice}, non ha avuto luogo
+alcuna altra azione. Questo non è un errore, e nessun messaggio di
+errore viene riportato nel file di log.
+
+Analogamente, se il nome della proprietà è stato scritto male, non viene
+generato alcun messaggio di errore, e ovviamente l'azione desiderata non può essere
+eseguita. Infatti, col comando @code{\set} puoi impostare qualsiasi @q{proprietà}
+(anche inventata) usando qualsiasi nome che ti piaccia in qualsiasi contesto
+esistente. Ma se LilyPond non conosce il nome, allora non verrà intrapresa
+alcuna azione. Alcuni editor di testo che hanno uno speciale supporto per i file
+di input di LilyPond presentano i nomi delle proprietà con una lista scorrevole
+al passaggio del mouse, come JEdit col plugin LilyPondTool, oppure
+evidenziano in modo diverso i nomi delle proprietà non conosciuti, come fa ConTEXT.
+Se non usi un editor con queste funzionalità, è consigliabile controllare il nome
+delle proprietà nella Guida al funzionamento interno: si veda
+@rinternals{Tunable context properties}, o @rinternals{Contexts}.
+
+La proprietà @code{instrumentName} funzionerà soltanto se inserita nel contesto
+@code{Staff}, ma alcune proprietà possono essere collocate in più di un contesto.
+Ad esempio, la proprietà @code{extraNatural} è impostata di default sul
+valore ##t (vero) su tutti i righi. Se viene impostata su ##f (falso) in uno
+specifico contesto @code{Staff} si applica solo alle alterazioni presenti su
+quel rigo. Se impostata su falso nel contesto @code{Score} si applica a tutti
+i righi.
+
+Quindi in questo modo si disattiva il bequadro su un rigo:
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+ \new Staff \relative c'' {
+ ais2 aes
+ }
+ \new Staff \relative c'' {
+ \set Staff.extraNatural = ##f
+ ais2 aes
+ }
+>>
+@end lilypond
+
+@noindent
+e in questo modo si disattiva in tutti i righi:
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+ \new Staff \relative c'' {
+ ais2 aes
+ }
+ \new Staff \relative c'' {
+ \set Score.extraNatural = ##f
+ ais2 aes
+ }
+>>
+@end lilypond
+
+Un altro esempio: se la proprietà @code{clefOctavation} viene posta
+nel contesto @code{Score}, cambia immediatamente il valore
+dell'ottavazione in tutti i righi presenti e imposta un nuovo
+valore predefinito che sarà applicato a tutti i righi.
+
+Il comando opposto, @code{\unset}, di fatto rimuove la proprietà
+dal contesto, e questo fa sì che molte proprietà
+tornino al valore predefinito. Solitamente @code{\unset} non è
+necessario dal momento che un nuovo comando @code{\set} permetterà
+di ottenere quanto si desidera.
+
+I comandi @code{\set} e @code{\unset} possono trovarsi in qualsiasi
+punto del file di input e avranno effetto dal momento in cui si
+incontrano fino alla fine della partitura o finché la proprietà non
+viene attivata (@code{\set}) o disattivata (@code{\unset}) di nuovo.
+Proviamo a cambiare varie volte la dimensione del font, che influisce (tra
+le altre cose) sulla dimensione delle teste delle note. La modifica è relativa
+al valore predefinito, non all'ultimo valore impostato.
+
+@lilypond[quote,verbatim,ragged-right,relative=1]
+c4 d
+% make note heads smaller
+\set fontSize = #-4
+e4 f |
+% make note heads larger
+\set fontSize = #2.5
+g4 a
+% return to default size
+\unset fontSize
+b4 c |
+@end lilypond
+
+Abbiamo visto come impostare i valori di diversi tipi di
+proprietà. Si note che gli interi e i numeri sono sempre preceduti
+da un segno di cancelletto, @code{#}, mentre un valore vero o falso è
+specificato con @code{##t} e @code{##f}, con due cancelletti. Una proprietà testuale
+dovrebbe essere racchiusa tra virgolette, come abbiamo visto prima, sebbene
+vedremo in seguito che in realtà il testo può essere specificato in un
+modo molto più generale usando il potente comando @code{\markup}.
+
+@subsubheading Impostare le proprietà di contesto con @code{\with}
+
+@funindex \with
+@funindex with
+@cindex contesto, proprietà del, impostare con \with
+
+Il valore predefinito delle proprietà di contesto possono essere impostate
+anche nel momento in cui il contesto viene creato. Talvolta questo è un
+modo più chiaro per specificare il valore della proprietà se questa deve
+rimanere fissa per la durata del contesto. Un contesto creato col comando @code{\new}
+può essere immediatamente seguito da un blocco @code{\with @{ .. @}} dove
+vengono impostati i valori predefiniti della proprietà. Ad esempio, se vogliamo
+eliminare la stampa del bequadro per l'estensione di un rigo possiamo scrivere:
+
+@example
+\new Staff \with @{ extraNatural = ##f @}
+@end example
+
+@noindent
+così:
+
+@lilypond[quote,verbatim,ragged-right]
+<<
+ \new Staff {
+ \relative c'' {
+ gis4 ges aes ais
+ }
+ }
+ \new Staff \with { extraNatural = ##f } {
+ \relative c'' {
+ gis4 ges aes ais
+ }
+ }
+>>
+@end lilypond
+
+Si possono ancora cambiare dinamicamente le proprietà impostate in questo modo
+usando @code{\set}, mentre con @code{\unset} si possono riportare al valore
+predefinito impostato nel blocco @code{\with}.
+
+@cindex fontSize, impostazione predefinita e impostazione manuale
+
+Quindi se la proprietà @code{fontSize} viene inserita in una
+proposizione @code{\with}, imposta il valore predefinito
+della dimensione del font. Se viene in seguito modificato con @code{\set},
+questo nuovo valore predefinito può essere recuperato col comando
+@code{\unset fontSize}.
+
+@subsubheading Impostare le proprietà di contesto con @code{\context}
+
+@cindex contesto, proprietà del, impostare con \context
+@funindex \context
+@funindex context
+
+I valori delle proprietà di un contesto possono essere impostate in @emph{tutti}
+i contesti di un particolare tipo, così come in tutti i contesti @code{Staff}, con un
+solo comando. Il tipo di contesto viene identificato attraverso il
+suo nome, come @code{Staff}, preceduto da una barra inversa (backslash): @code{\Staff}.
+La dichiarazione che imposta il valore della proprietà è la stessa che
+abbiamo visto nel blocco @code{\with}, introdotto prima. Viene posta in
+un blocco @code{\context} all'interno di un blocco @code{\layout}. Ogni
+blocco @code{\context} avrà effetto su tutti i contesti del tipo specificato
+nel blocco @code{\score} o @code{\book} nel quale il blocco
+@code{\layout} si trova. Ecco un esempio per mostrare la struttura:
+
+@lilypond[verbatim,quote]
+\score {
+ \new Staff {
+ \relative c'' {
+ cis4 e d ces
+ }
+ }
+ \layout {
+ \context {
+ \Staff
+ extraNatural = ##t
+ }
+ }
+}
+@end lilypond
+
+@noindent
+Le proprietà di contesto impostate in questo modo possono essere sovrascritte per
+alcuni particolari contesti attraverso asserzioni in un blocco @code{\with}, e tramite
+comandi @code{\set} incorporati nelle asserzioni musicali.
+
+
+@seealso
+Guida alla notazione:
+@ruser{Changing context default settings},
+@ruser{The set command}.
+
+Guida al funzionamento interno:
+@rinternals{Contexts},
+@rinternals{Tunable context properties}.
+
+
+@node Aggiungere e togliere gli incisori
+@subsection Aggiungere e togliere gli incisori
+@translationof Adding and removing engravers
+
+@cindex incisori, aggiungere
+@cindex aggiungere gli incisori
+@cindex incisori, rimuovere
+@cindex rimuovere gli incisori
+
+@funindex \consists
+@funindex consists
+@funindex \remove
+@funindex remove
+
+Abbiamo visto che ciascuno dei contesti contiene vari incisori, ognuno
+dei quali ha il compito di produrre una parte specifica dell'output,
+come stanghette, righi, teste, gambi, etc.. Se un incisore
+viene rimosso da un contesto, non può più produrre il suo
+output. Si tratta di un metodo sbrigativo per modificare l'output, e talvolta
+può essere utile.
+
+@subsubheading Cambiare un singolo contesto
+
+Per rimuovere un incisore da un singolo contesto usiamo il
+comando @code{\with} posto subito dopo il comando di creazione del
+contesto, come esposto nella sezione precedente.
+
+A titolo di esempio, ripetiamo un esempio della sezione precedente
+rimuovendo le linee del rigo. Ricorda che le linee del rigo vengono
+create dall'incisore @code{Staff_symbol_engraver}.
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff \with {
+ \remove Staff_symbol_engraver
+}
+\relative c' {
+ c4 d
+ \set fontSize = #-4 % make note heads smaller
+ e4 f |
+ \set fontSize = #2.5 % make note heads larger
+ g4 a
+ \unset fontSize % return to default size
+ b4 c |
+}
+@end lilypond
+
+@cindex ambitus, incisore dell'
+
+Gli incisori possono essere aggiunti anche a contesti individuali.
+Il comando per farlo è
+
+@code{\consists @var{Engraver_name}},
+
+@noindent
+posto all'interno di un blocco @code{\with}. Alcune partiture vocali hanno
+un ambitus collocato all'inizio del pentagramma per indicare l'intervallo tra la nota
+più grave e quella più acuta in quella parte -- si veda @rglos{ambitus}. L'ambitus
+viene creato dall'incisore @code{Ambitus_engraver}, che di norma non è incluso in
+alcun contesto. Se lo aggiungiamo al contesto @code{Voice}, calcola l'intervallo
+di quella voce soltanto:
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff <<
+ \new Voice \with {
+ \consists Ambitus_engraver
+ } {
+ \relative c'' {
+ \voiceOne
+ c4 a b g
+ }
+ }
+ \new Voice {
+ \relative c' {
+ \voiceTwo
+ c4 e d f
+ }
+ }
+>>
+@end lilypond
+
+@noindent
+ma se aggiungiamo l'incisore ambitus al contesto @code{Staff}, calcola
+l'intervallo di tutte le note in tutte le voci di quel pentagramma:
+
+@lilypond[quote,verbatim,ragged-right]
+\new Staff \with {
+ \consists Ambitus_engraver
+}
+<<
+ \new Voice {
+ \relative c'' {
+ \voiceOne
+ c4 a b g
+ }
+ }
+ \new Voice {
+ \relative c' {
+ \voiceTwo
+ c4 e d f
+ }
+ }
+>>
+@end lilypond
+
+@subsubheading Modificare tutti i contesti dello stesso tipo
+
+@funindex \layout
+@funindex layout
+
+Gli esempi precedenti mostrano come rimuovere o aggiungere degli incisori
+a contesti individuali. È anche possibile rimuovere o aggiungere gli
+incisori per ogni contesto di un particolare tipo inserendo i comandi
+nel contesto appropriato in un blocco @code{\layout}. Ad esempio, se
+volessimo mostrare un ambitus per ogni pentagramma in una partitura
+di quattro pentagrammi, potremmo scrivere
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+ <<
+ \new Staff {
+ \relative c'' {
+ c4 a b g
+ }
+ }
+ \new Staff {
+ \relative c' {
+ c4 a b g
+ }
+ }
+ \new Staff {
+ \clef "G_8"
+ \relative c' {
+ c4 a b g
+ }
+ }
+ \new Staff {
+ \clef "bass"
+ \relative c {
+ c4 a b g
+ }
+ }
+ >>
+ \layout {
+ \context {
+ \Staff
+ \consists Ambitus_engraver
+ }
+ }
+}
+@end lilypond
+
+@noindent
+I valori delle proprietà di un contesto possono essere impostati anche
+per tutti i contesti di un particolare tipo includendo il comando
+@code{\set} in un blocco @code{\context} nello stesso modo.
+
+@seealso
+Guida alla notazione: @ruser{Modifying context plug-ins},
+@ruser{Changing context default settings}.
+
+@knownissues
+Gli incisori @code{Stem_engraver} e @code{Beam_engraver} fissano i propri
+oggetti alle teste delle note. Se si elimina @code{Note_heads_engraver}
+le teste delle note non vengono prodotte e di conseguenza non vengono creati
+nemmeno i gambi né le travature.
+
+
+@node Estendere i modelli
+@section Estendere i modelli
+@translationof Extending the templates
+
+Hai letto il tutorial, sai come scrivere la musica, comprendi
+i concetti fondamentali. Ma come puoi ottenere i
+pentagrammi che desideri? Puoi trovare molti
+modelli (vedi @ref{Templates}) da cui partire.
+Ma se ti serve qualcosa che non è presente lì? Continua a leggere.
+
+@menu
+* Soprano e violoncello::
+* Partitura vocale a quattro parti SATB::
+* Scrivere una partitura da zero::
+* Ridurre l'input grazie a variabili e funzioni::
+* Partiture e parti::
+@end menu
+
+@node Soprano e violoncello
+@subsection Soprano e violoncello
+@translationof Soprano and cello
+
+@cindex modello, modificare
+@cindex modificare i modelli
+
+Parti dal modello che sembra più simile a ciò che vuoi
+ottenere. Diciamo che vuoi scrivere qualcosa per soprano e
+violoncello. In questo caso, inizieremmo col modello @q{Note e testo} (per
+la parte di soprano).
+
+@example
+\version @w{"@version{}"}
+
+melodia = \relative c' @{
+ \clef "treble"
+ \key c \major
+ \time 4/4
+ a4 b c d
+@}
+
+testo = \lyricmode @{
+ Aaa Bee Cee Dee
+@}
+
+\score @{
+ <<
+ \new Voice = "one" @{
+ \autoBeamOff
+ \melodia
+ @}
+ \new Lyrics \lyricsto "one" \testo
+ >>
+ \layout @{ @}
+ \midi @{ @}
+@}
+@end example
+
+Ora vogliamo aggiungere una parte per violoncello. Vediamo l'esempio @q{Solo note}:
+
+@example
+\version @w{"@version{}"}
+
+melodia = \relative c' @{
+ \clef "treble"
+ \key c \major
+ \time 4/4
+ a4 b c d
+@}
+
+\score @{
+ \new Staff \melodia
+ \layout @{ @}
+ \midi @{ @}
+@}
+@end example
+
+Non ci servono due comandi @code{\version}. Ci servirà invece la
+sezione @code{melodia}. Non vogliamo due sezioni @code{\score}
+-- se avessimo due @code{\score}, le due parti sarebbero separate.
+Ma le vogliamo insieme, come un duetto. All'interno della sezione
+@code{\score}, non ci servono due @code{\layout} o due @code{\midi}.
+
+Se semplicemente tagliamo e incolliamo la sezione @code{melodia}, finiremo
+con l'avere due definizioni @code{melodia}. Questo non produrrebbe un
+errore, ma la seconda definizione sarebbe usata per entrambe le melodie.
+Dunque rinominiamole per distinguerle. Chiameremo la sezione
+per il soprano @code{musicaSoprano} e la sezione per il
+violoncello @code{musicaVioloncello}. Se facciamo questo, rinominiamo anche
+@code{testo} in @code{testoSoprano}. Ricorda di rinominare entrambe
+le occorrenze di tutti questi nomi -- sia la definizione iniziale (la
+parte @code{melody = \relative c' @{ }) sia l'uso del nome (nella
+sezione @code{\score}).
+
+Cambiamo anche il pentagramma della parte per violoncello --
+che normalmente usa la chiave di basso. Daremo anche al violoncello
+delle note diverse.
+
+@example
+\version @w{"@version{}"}
+
+musicaSoprano = \relative c' @{
+ \clef "treble"
+ \key c \major
+ \time 4/4
+ a4 b c d
+@}
+
+testoSoprano = \lyricmode @{
+ Aaa Bee Cee Dee
+@}
+
+musicaVioloncello = \relative c @{
+ \clef "bass"
+ \key c \major
+ \time 4/4
+ d4 g fis8 e d4
+@}
+
+\score @{
+ <<
+ \new Voice = "one" @{
+ \autoBeamOff
+ \musicaSoprano
+ @}
+ \new Lyrics \lyricsto "one" \testoSoprano
+ >>
+ \layout @{ @}
+ \midi @{ @}
+@}
+@end example
+
+L'aspetto è promettente, ma la parte del violoncello non apparirà nella
+partitura -- perché non l'abbiamo inserita nella sezione @code{\score}. Se
+vogliamo che la parte del violoncello compaia sotto quella del soprano,
+dobbiamo aggiungere
+
+@example
+\new Staff \musicaVioloncello
+@end example
+
+@noindent
+sotto la parte del soprano. Dobbiamo anche aggiungere @code{<<} e
+@code{>>} intorno alla musica -- che dice a LilyPond che c'è più di
+una cosa (in questo caso, due @code{Staff}) che sono
+simultanei. Lo @code{\score} ora appare così:
+
+@c Indentation in this example is deliberately poor
+@example
+\score @{
+ <<
+ <<
+ \new Voice = "one" @{
+ \autoBeamOff
+ \musicaSoprano
+ @}
+ \new Lyrics \lyricsto "one" \testoSoprano
+ >>
+ \new Staff \musicaVioloncello
+ >>
+ \layout @{ @}
+ \midi @{ @}
+@}
+@end example
+
+@noindent
+L'aspetto è un po' confuso; l'indentazione non è pulita. Ma si
+può correggere facilmente. Ecco il template completo per soprano
+e violoncello.
+
+@lilypond[quote,verbatim,ragged-right,addversion]
+musicaSoprano = \relative c' {
+ \clef "treble"
+ \key c \major
+ \time 4/4
+ a4 b c d
+}
+
+testoSoprano = \lyricmode {
+ Aaa Bee Cee Dee
+}
+
+musicaVioloncello = \relative c {
+ \clef "bass"
+ \key c \major
+ \time 4/4
+ d4 g fis8 e d4
+}
+
+\score {
+ <<
+ <<
+ \new Voice = "one" {
+ \autoBeamOff
+ \musicaSoprano
+ }
+ \new Lyrics \lyricsto "one" \testoSoprano
+ >>
+ \new Staff \musicaVioloncello
+ >>
+ \layout { }
+ \midi { }
+}
+@end lilypond
+
+
+@seealso
+I modelli da cui partire si trovano nell'appendice @q{Modelli},
+si veda @ref{Single staff}.
+
+
+@node Partitura vocale a quattro parti SATB
+@subsection Partitura vocale a quattro parti SATB
+@translationof Four-part SATB vocal score
+
+@cindex modelli, SATB
+@cindex SATB, modelli
+
+Gran parte delle partiture vocali di musica scritta per coro misto a
+quattro voci con accompagnamento di orchestra, come l'Eliah di Mendelssohn
+o il Messiah di Handel, hanno la musica corale e le parole su quattro
+righi, una per ognuna delle voci SATB, con in basso una riduzione per
+pianoforte dell'accompagnamento orchestrale. Ecco un esempio tratto
+dal Messiah di Handel:
+
+@c The following should appear as music without code
+@lilypond[quote,ragged-right]
+global = { \key d \major \time 4/4 }
+
+sopranoMusic = \relative c'' {
+ \clef "treble"
+ r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+}
+sopranoWords = \lyricmode {
+ Wor -- thy | is the lamb | that was slain |
+}
+
+altoMusic = \relative a' {
+ \clef "treble"
+ r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
+}
+altoWords = \sopranoWords
+
+tenorMusic = \relative c' {
+ \clef "G_8"
+ r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+}
+tenorWords = \sopranoWords
+
+bassMusic = \relative c' {
+ \clef "bass"
+ r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+}
+bassWords = \sopranoWords
+
+upper = \relative a' {
+ \clef "treble"
+ \global
+ r4 <a d fis>2 <a e' a>4 |
+ <d fis d'>4. <d fis d'>8 <a d a'>2 |
+ <g cis g'>4 <a d fis> <a cis e>2 |
+}
+
+lower = \relative c, {
+ \clef "bass"
+ \global
+ <d d'>4 <d d'>2 <cis cis'>4 |
+ <b b'>4. <b' b'>8 <fis fis'>2 |
+ <e e'>4 <d d'> <a' a'>2 |
+}
+
+\score {
+ << % combine ChoirStaff and PianoStaff in parallel
+ \new ChoirStaff <<
+ \new Staff = "sopranos" <<
+ \set Staff.instrumentName = #"Soprano"
+ \new Voice = "sopranos" {
+ \global
+ \sopranoMusic
+ }
+ >>
+ \new Lyrics \lyricsto "sopranos" {
+ \sopranoWords
+ }
+ \new Staff = "altos" <<
+ \set Staff.instrumentName = #"Alto"
+ \new Voice = "altos" {
+ \global
+ \altoMusic
+ }
+ >>
+ \new Lyrics \lyricsto "altos" { \altoWords }
+ \new Staff = "tenors" <<
+ \set Staff.instrumentName = #"Tenor"
+ \new Voice = "tenors" {
+ \global
+ \tenorMusic
+ }
+ >>
+ \new Lyrics \lyricsto "tenors" { \tenorWords }
+ \new Staff = "basses" <<
+ \set Staff.instrumentName = #"Bass"
+ \new Voice = "basses" {
+ \global
+ \bassMusic
+ }
+ >>
+ \new Lyrics \lyricsto "basses" {
+ \bassWords
+ }
+ >> % end ChoirStaff
+ \new PianoStaff <<
+ \set PianoStaff.instrumentName = #"Piano"
+ \new Staff = "upper" \upper
+ \new Staff = "lower" \lower
+ >>
+ >>
+}
+@end lilypond
+
+Nessun modello fornisce esattamente questo assetto. Quello più simile
+è @q{Partitura vocale SATB e riduzione automatica per pianoforte} -- si veda @ref{Vocal
+ensembles} -- ma abbiamo bisogno di modificare l'assetto e aggiungere
+un accompagnamento per pianoforte che non sia derivato automaticamente dalle
+parti vocali. Le variabili che si riferiscono alla musica e alle parole per
+le parti vocali vanno bene, ma dovremo aggiungere le variabili per la
+riduzione per pianoforte.
+
+L'ordine con cui i contesti appaiono nel ChoirStaff del modello non
+corrisponde all'ordine della partitura vocale mostrata sopra. Dobbiamo
+risistemarli in modo che ci siano quattro righi con le parole scritte
+direttamente sotto le note di ogni parte. Tutte le voci devono
+essere @code{\voiceOne}, che è l'impostazione predefinita, quindi
+i comandi @code{\voiceXXX} devono essere tolti. Dobbiamo anche
+specificare la chiave di tenore per i tenori. Il modo in cui il testo
+viene specificato nel modello non è stato ancora esaminato quindi
+dovremo usare un metodo con cui siamo già familiari. Aggiungeremo
+anche i nomi per ogni rigo.
+
+In questo modo il nostro ChoirStaff avrà questo aspetto:
+
+@example
+\new ChoirStaff <<
+ \new Staff = "sopranos" <<
+ \set Staff.instrumentName = #"Soprano"
+ \new Voice = "sopranos" @{
+ \global
+ \sopranoMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "sopranos" @{
+ \sopranoWords
+ @}
+ \new Staff = "altos" <<
+ \set Staff.instrumentName = #"Alto"
+ \new Voice = "altos" @{
+ \global
+ \altoMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "altos" @{
+ \altoWords
+ @}
+ \new Staff = "tenors" <<
+ \set Staff.instrumentName = #"Tenor"
+ \new Voice = "tenors" @{
+ \global
+ \tenorMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "tenors" @{
+ \tenorWords
+ @}
+ \new Staff = "basses" <<
+ \set Staff.instrumentName = #"Bass"
+ \new Voice = "basses" @{
+ \global
+ \bassMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "basses" @{
+ \bassWords
+ @}
+>> % end ChoirStaff
+@end example
+
+Poi dobbiamo lavorare sulla parte per pianoforte. Questo
+è facile - basta prendere la parte per pianoforte dal
+modello @q{Pianoforte solista}:
+
+@example
+\new PianoStaff <<
+ \set PianoStaff.instrumentName = #"Piano "
+ \new Staff = "upper" \upper
+ \new Staff = "lower" \lower
+>>
+@end example
+
+e aggiungere le definizioni delle variabili @code{upper}
+e @code{lower}.
+
+ChoirStaff e PianoStaff devono essere uniti attraverso parentesi angolari,
+perché vogliamo che siano impilati uno sopra l'altro:
+
+@example
+<< % combine ChoirStaff and PianoStaff one above the other
+ \new ChoirStaff <<
+ \new Staff = "sopranos" <<
+ \new Voice = "sopranos" @{
+ \global
+ \sopranoMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "sopranos" @{
+ \sopranoWords
+ @}
+ \new Staff = "altos" <<
+ \new Voice = "altos" @{
+ \global
+ \altoMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "altos" @{
+ \altoWords
+ @}
+ \new Staff = "tenors" <<
+ \clef "G_8" % tenor clef
+ \new Voice = "tenors" @{
+ \global
+ \tenorMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "tenors" @{
+ \tenorWords
+ @}
+ \new Staff = "basses" <<
+ \clef "bass"
+ \new Voice = "basses" @{
+ \global
+ \bassMusic
+ @}
+ >>
+ \new Lyrics \lyricsto "basses" @{
+ \bassWords
+ @}
+ >> % end ChoirStaff
+
+ \new PianoStaff <<
+ \set PianoStaff.instrumentName = #"Piano"
+ \new Staff = "upper" \upper
+ \new Staff = "lower" \lower
+ >>
+>>
+@end example
+
+Unendo tutto questo e aggiungendo la musica
+per le tre battute dell'esempio precedente, otteniamo:
+
+@lilypond[quote,verbatim,ragged-right,addversion]
+global = { \key d \major \time 4/4 }
+sopranoMusic = \relative c'' {
+ \clef "treble"
+ r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+}
+sopranoWords = \lyricmode {
+ Wor -- thy | is the lamb | that was slain |
+}
+altoMusic = \relative a' {
+ \clef "treble"
+ r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
+}
+altoWords = \sopranoWords
+tenorMusic = \relative c' {
+ \clef "G_8"
+ r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+}
+tenorWords = \sopranoWords
+bassMusic = \relative c' {
+ \clef "bass"
+ r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+}
+bassWords = \sopranoWords
+upper = \relative a' {
+ \clef "treble"
+ \global
+ r4 <a d fis>2 <a e' a>4 |
+ <d fis d'>4. <d fis d'>8 <a d a'>2 |
+ <g cis g'>4 <a d fis> <a cis e>2 |
+}
+lower = \relative c, {
+ \clef "bass"
+ \global
+ <d d'>4 <d d'>2 <cis cis'>4 |
+ <b b'>4. <b' b'>8 <fis fis'>2 |
+ <e e'>4 <d d'> <a' a'>2 |
+}
+
+\score {
+ << % combine ChoirStaff and PianoStaff in parallel
+ \new ChoirStaff <<
+ \new Staff = "sopranos" <<
+ \set Staff.instrumentName = #"Soprano"
+ \new Voice = "sopranos" {
+ \global
+ \sopranoMusic
+ }
+ >>
+ \new Lyrics \lyricsto "sopranos" {
+ \sopranoWords
+ }
+ \new Staff = "altos" <<
+ \set Staff.instrumentName = #"Alto"
+ \new Voice = "altos" {
+ \global
+ \altoMusic
+ }
+ >>
+ \new Lyrics \lyricsto "altos" {
+ \altoWords
+ }
+ \new Staff = "tenors" <<
+ \set Staff.instrumentName = #"Tenor"
+ \new Voice = "tenors" {
+ \global
+ \tenorMusic
+ }
+ >>
+ \new Lyrics \lyricsto "tenors" {
+ \tenorWords
+ }
+ \new Staff = "basses" <<
+ \set Staff.instrumentName = #"Bass"
+ \new Voice = "basses" {
+ \global
+ \bassMusic
+ }
+ >>
+ \new Lyrics \lyricsto "basses" {
+ \bassWords
+ }
+ >> % end ChoirStaff
+
+ \new PianoStaff <<
+ \set PianoStaff.instrumentName = #"Piano "
+ \new Staff = "upper" \upper
+ \new Staff = "lower" \lower
+ >>
+ >>
+}
+@end lilypond
+
+
+@node Scrivere una partitura da zero
+@subsection Scrivere una partitura da zero
+@translationof Building a score from scratch
+
+@cindex template, scrivere il tuo
+@cindex esempio di scrittura di una partitura
+@cindex scrivere una partitura, esempio
+@cindex partitura, esempio di scrittura
+
+Dopo aver acquisito un po' di confidenza nella scrittura del codice LilyPond,
+potresti scoprire che è più facile costruire una partitura da zero
+piuttosto che modificare uno dei modelli. In questo modo puoi
+anche sviluppare il tuo stile per adattarlo al tipo di musica che
+vuoi. Come esempio, vediamo come mettere insieme la partitura di
+un preludio per organo.
+
+Cominciamo con una sezione d'intestazione. Qui va il titolo, il nome del
+compositore, etc, poi vengono le varie definizioni, e infine il
+blocco della partitura. Spieghiamo questi prima a grandi linee
+e in seguito aggiungeremo i dettagli.
+
+Useremo le prime due battute del preludio di Bach basato
+su @emph{Jesu, meine Freude}, che è scritto per organo con due
+manuali e pedaliera. Puoi vedere queste due battute
+in fondo a questa sezione. La parte per il manuale superiore ha due
+voci, quella inferiore e la pedaliera ne hanno una. Abbiamo quindi bisogno
+di quattro definizioni musicali e di una definizione per stabilire il
+tempo e la tonalità:
+
+@example
+\version @w{"@version{}"}
+\header @{
+ title = "Jesu, meine Freude"
+ composer = "J S Bach"
+@}
+keyTime = @{ \key c \minor \time 4/4 @}
+ManualOneVoiceOneMusic = @{ s1 @}
+ManualOneVoiceTwoMusic = @{ s1 @}
+ManualTwoMusic = @{ s1 @}
+PedalOrganMusic = @{ s1 @}
+
+\score @{
+@}
+@end example
+
+Per ora abbiamo usato soltanto una nota spaziatrice, @code{s1},
+invece di musica vera e propria. La aggiungeremo in seguito.
+
+Ora vediamo cosa dovrebbe andare nel blocco della partitura. Mostriamo soltanto
+la struttura del pentagramma che vogliamo. La musica per organo di solito viene
+scritta su tre righi, uno per ogni mano e uno per i pedali. I righi della
+tastiera dovrebbero essere raggruppati insieme con una graffa, dunque dobbiamo
+usare PianoStaff per loro. La parte del primo manuale ha bisogno di due voci
+mentre la parte per il secondo manuale di una soltanto.
+
+@example
+\new PianoStaff <<
+ \new Staff = "ManualOne" <<
+ \new Voice @{
+ \ManualOneVoiceOneMusic
+ @}
+ \new Voice @{
+ \ManualOneVoiceTwoMusic
+ @}
+ >> % end ManualOne Staff context
+ \new Staff = "ManualTwo" <<
+ \new Voice @{
+ \ManualTwoMusic
+ @}
+ >> % end ManualTwo Staff context
+>> % end PianoStaff context
+@end example
+
+Poi dobbiamo aggiungere un rigo per i pedali. Questo va sotto il
+PianoStaff, ma deve svolgersi simultaneamente a quest'ultimo, quindi
+abbiamo bisogno delle parentesi angolari intorno ai due gruppi. Altrimenti,
+verrà generato un errore nel file di log. È un errore comune che
+farai prima o poi! Prova a copiare l'esempio finale alla fine di
+questa sezione, togli le parentesi angolari, e compilalo per vedere
+quali errori genera.
+
+@example
+<< % PianoStaff and Pedal Staff must be simultaneous
+ \new PianoStaff <<
+ \new Staff = "ManualOne" <<
+ \new Voice @{
+ \ManualOneVoiceOneMusic
+ @}
+ \new Voice @{
+ \ManualOneVoiceTwoMusic
+ @}
+ >> % end ManualOne Staff context
+ \new Staff = "ManualTwo" <<
+ \new Voice @{
+ \ManualTwoMusic
+ @}
+ >> % end ManualTwo Staff context
+ >> % end PianoStaff context
+ \new Staff = "PedalOrgan" <<
+ \new Voice @{
+ \PedalOrganMusic
+ @}
+ >>
+>>
+@end example
+
+Non è necessario usare il costrutto simultaneo @code{<< .. >>} per il rigo del
+secondo manuale e per quello della pedaliera, poiché contengono solo una
+espressione musicale, ma non è male usarlo comunque; usare sempre le parentesi
+angolari dopo @code{\new Staff} è una buona abitudine da coltivare nel caso ci
+sia più di una voce. Per le Voci, è vero l'opposto: queste devono essere
+seguite regolarmente da parentesi graffe @code{@{ .. @}} nel caso in cui la
+musica sia composta da diverse variabili che devono essere eseguite
+consecutivamente.
+
+Aggiungiamo questa struttura al blocco della partitura, e aggiustiamo
+l'indentazione. Aggiungiamo anche le chiavi appropriate, controlliamo che i
+gambi, le legature di portamento e quelle di valore in ogni voce del rigo
+superiore puntino nella direzione giusta usando @code{\voiceOne} e
+@code{\voiceTwo}, e inseriamo l'armatura di chiave e il tempo per ogni rigo
+attraverso la nostra variabile predefinita, @code{\keyTime}.
+
+@example
+\score @{
+ << % PianoStaff and Pedal Staff must be simultaneous
+ \new PianoStaff <<
+ \new Staff = "ManualOne" <<
+ \keyTime % set key and time signature
+ \clef "treble"
+ \new Voice @{
+ \voiceOne
+ \ManualOneVoiceOneMusic
+ @}
+ \new Voice @{
+ \voiceTwo
+ \ManualOneVoiceTwoMusic
+ @}
+ >> % end ManualOne Staff context
+ \new Staff = "ManualTwo" <<
+ \keyTime
+ \clef "bass"
+ \new Voice @{
+ \ManualTwoMusic
+ @}
+ >> % end ManualTwo Staff context
+ >> % end PianoStaff context
+ \new Staff = "PedalOrgan" <<
+ \keyTime
+ \clef "bass"
+ \new Voice @{
+ \PedalOrganMusic
+ @}
+ >> % end PedalOrgan Staff
+ >>
+@} % end Score context
+@end example
+
+@cindex allungabilità dei righi
+@cindex righi, allungabilità
+
+L'aspetto dei righi dell'organo mostrati sopra è quasi perfetto; tuttavia
+c'è un piccolo difetto che non è visibile se si guarda un sistema
+singolo soltanto: La distanza tra il rigo della pedaliera e il rigo della mano
+sinistra dovrebbe essere all'incirca la stessa distanza tra il rigo della mano
+destra e quello della mano sinistra. In particolare, l'allungabilità dei righi
+in un contesto @code{PianoStaff} è limitata (in modo che la distanza tra i righi
+della mano destra e sinistra non possa diventare eccessiva), e il rigo della
+pedaliera dovrebbe comportarsi allo stesso modo.
+
+@cindex sottoproprietà
+@cindex proprietà, sottoproprietà
+@cindex oggetti grafici
+@cindex grafici, oggetti
+@cindex grob
+
+L'allungabilità dei righi può essere controllata con la proprietà
+@code{staff-staff-spacing} dell' @q{oggetto grafico} @code{VerticalAxisGroup}
+(gli oggetti grafici vengono comunemente chiamati @q{grob} nella documentazione
+di lilypond) -- non preoccuparti dei dettagli in questo momento; in seguito
+verrà fornita una spiegazione approfondita. I curiosi possono dare
+un'occhiata a @ruser{Overview of modifying properties}.
+In questo caso, vogliamo modificare soltanto la sottoproprietà
+@code{allungabilità}. Di nuovo, chi è curioso può trovare i valori predefiniti
+per la proprietà staff-staff-spacing nel file @file{scm/define-grobs.scm}
+guardando la definizione del grob @code{VerticalAxisGroup}. Il valore dell'
+@code{allungabilità} viene preso dalla definizione del contesto @code{PianoStaff}
+(nel file @file{ly/engraver-init.ly}) così che i valori siano identici.
+
+@example
+\score @{
+ << % PianoStaff e Pedal Staff devono essere simultanei
+ \new PianoStaff <<
+ \new Staff = "ManualOne" <<
+ \keyTime % imposta l'armatura di chiave e il tempo
+ \clef "treble"
+ \new Voice @{
+ \voiceOne
+ \ManualOneVoiceOneMusic
+ @}
+ \new Voice @{
+ \voiceTwo
+ \ManualOneVoiceTwoMusic
+ @}
+ >> % fine del contesto ManualOne Staff
+ \new Staff = "ManualTwo" \with @{
+ \override VerticalAxisGroup
+ #'staff-staff-spacing #'stretchability = 5
+ @} <<
+ \keyTime
+ \clef "bass"
+ \new Voice @{
+ \ManualTwoMusic
+ @}
+ >> % fine del contesto ManualTwo Staff
+ >> % fine del contesto PianoStaff
+ \new Staff = "PedalOrgan" <<
+ \keyTime
+ \clef "bass"
+ \new Voice @{
+ \PedalOrganMusic
+ @}
+ >> % fine di PedalOrgan Staff
+ >>
+@} % fine del contesto Score
+@end example
+
+Questo completa la struttura. Qualsiasi musica per organo a tre righi
+avrà una struttura simile, sebbene il numero delle voci
+possa variare. Tutto ciò che resta da fare ora
+è aggiungere la musica, e combinare tutte le parti insieme.
+
+@lilypond[quote,verbatim,ragged-right,addversion]
+\header {
+ title = "Jesu, meine Freude"
+ composer = "J S Bach"
+}
+keyTime = { \key c \minor \time 4/4 }
+ManualOneVoiceOneMusic = \relative g' {
+ g4 g f ees |
+ d2 c |
+}
+ManualOneVoiceTwoMusic = \relative c' {
+ ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
+ c8 c4 b8 c8. g16 c b c d |
+}
+ManualTwoMusic = \relative c' {
+ c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
+ f16 ees f d g aes g f ees d e8~ ees16 f ees d |
+}
+PedalOrganMusic = \relative c {
+ r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
+ r16 g ees f g f g8 c,2 |
+}
+
+\score {
+ << % PianoStaff and Pedal Staff must be simultaneous
+ \new PianoStaff <<
+ \new Staff = "ManualOne" <<
+ \keyTime % set key and time signature
+ \clef "treble"
+ \new Voice {
+ \voiceOne
+ \ManualOneVoiceOneMusic
+ }
+ \new Voice {
+ \voiceTwo
+ \ManualOneVoiceTwoMusic
+ }
+ >> % end ManualOne Staff context
+ \new Staff = "ManualTwo" \with {
+ \override VerticalAxisGroup
+ #'staff-staff-spacing #'stretchability = 5
+ } <<
+ \keyTime
+ \clef "bass"
+ \new Voice {
+ \ManualTwoMusic
+ }
+ >> % end ManualTwo Staff context
+ >> % end PianoStaff context
+ \new Staff = "PedalOrgan" <<
+ \keyTime
+ \clef "bass"
+ \new Voice {
+ \PedalOrganMusic
+ }
+ >> % end PedalOrgan Staff context
+ >>
+} % end Score context
+@end lilypond
+
+@seealso
+Glossario musicale:
+@rglosnamed{system,sistema}.
+
+@node Ridurre l'input grazie a variabili e funzioni
+@subsection Ridurre l'input grazie a variabili e funzioni
+@translationof Saving typing with variables and functions
+
+@cindex variabili
+@cindex variabili
+
+Finora hai visto questo tipo di cose:
+
+@lilypond[quote,verbatim,ragged-right]
+hornNotes = \relative c'' { c4 b dis c }
+\score {
+ {
+ \hornNotes
+ }
+}
+@end lilypond
+
+Potresti anche essere accorto che questo può essere utile nella musica minimalista:
+
+@lilypond[quote,verbatim,ragged-right]
+fragmentA = \relative c'' { a4 a8. b16 }
+fragmentB = \relative c'' { a8. gis16 ees4 }
+
+violin = \new Staff {
+ \fragmentA \fragmentA |
+ \fragmentB \fragmentA |
+}
+
+\score {
+ {
+ \violin
+ }
+}
+@end lilypond
+
+Tuttavia, puoi usare queste variabili (note anche come
+macro, o comandi definiti dall'utente) anche per le modifiche manuali:
+
+@c TODO Avoid padtext - not needed with skylining
+@lilypond[quote,verbatim,ragged-right]
+dolce = \markup { \italic \bold dolce }
+
+padText = { \once \override TextScript #'padding = #5.0 }
+fthenp =_\markup {
+ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
+}
+
+violin = \relative c'' {
+ \repeat volta 2 {
+ c4._\dolce b8 a8 g a b |
+ \padText
+ c4.^"hi there!" d8 e' f g d |
+ c,4.\fthenp b8 c4 c-. |
+ }
+}
+
+\score {
+ {
+ \violin
+ }
+ \layout { ragged-right = ##t }
+}
+@end lilypond
+
+Chiaramente queste variabili sono utili per ridurre la quantità di
+testo da scrivere. Ma vale la pena tenerle in considerazione anche se
+le usi una volta sola -- perché riducono la complessità. Vediamo l'esempio
+precedente senza alcuna variabile. È molto difficile da leggere,
+soprattutto l'ultima linea.
+
+@example
+violin = \relative c'' @{
+ \repeat volta 2 @{
+ c4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
+ \once \override TextScript #'padding = #5.0
+ c4.^"hi there!" d8 e' f g d |
+ c,4.\markup @{
+ \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
+ @}
+ b8 c4 c-. |
+ @}
+@}
+@end example
+
+@c TODO Replace the following with a better example -td
+@c Skylining handles this correctly without padText
+
+Finora abbiamo visto la sostituzione statica -- quando LilyPond
+vede @code{\padText}, lo sostituisce con quel che noi abbiamo
+definito che sia (ovvero tutto ciò che sta a destra di
+@code{padtext=}).
+
+LilyPond può gestire anche la sostituzione non statica (la puoi
+immaginare come una funzione).
+
+@lilypond[quote,verbatim,ragged-right]
+padText =
+#(define-music-function
+ (parser location padding)
+ (number?)
+ #{
+ \once \override TextScript #'padding = $padding
+ #})
+
+\relative c''' {
+ c4^"piu mosso" b a b |
+ \padText #1.8
+ c4^"piu mosso" d e f |
+ \padText #2.6
+ c4^"piu mosso" fis a g |
+}
+@end lilypond
+
+L'uso di variabili è anche un buon modo per ridurre il lavoro quando
+la sintassi di input di LilyPond cambia (vedi
+@rprogram{Aggiornare i file con convert-ly}). Se si ha un'unica
+definizione (come @code{\dolce}) per tutti i file di input
+(vedi @ref{Style sheets}), allora se la sintassi cambia bisogna
+aggiornare soltanto la singola definizione @code{\dolce},
+invece di dover modificare tutti i file @file{.ly}.
+
+
+@node Partiture e parti
+@subsection Partiture e parti
+@translationof Scores and parts
+
+Nella musica orchestrale, tutte le note vengono stampate due volte. Una
+volta nella parte per i musicisti e una volta nella partitura completa
+per il direttore. Le variabili sono utili se si vuole evitare il doppio
+lavoro. La musica viene inserita una volta e salvata all'interno di una
+variabile. I contenuti di quella variabile vengono poi usati per generare
+sia la parte che l'intera partitura.
+
+Conviene definire le note in un file speciale. Ad esempio,
+supponiamo che il file @file{horn-music.ly} contenga la seguente parte
+di un duetto per corno e fagotto
+
+@example
+hornNotes = \relative c @{
+ \time 2/4
+ r4 f8 a | cis4 f | e4 d |
+@}
+@end example
+
+@noindent
+Poi una parte individuale si ottiene inserendo il seguente codice in un file
+
+@example
+\include "horn-music.ly"
+
+\header @{
+ instrument = "Horn in F"
+@}
+
+@{
+ \transpose f c' \hornNotes
+@}
+@end example
+
+La linea
+
+@example
+\include "horn-music.ly"
+@end example
+
+@noindent
+sostituisce i contenuti di @file{horn-music.ly} in quella posizione del
+file, quindi @code{hornNotes} è definito dopo. Il comando
+@code{\transpose f@tie{}c'} indica che l'argomento, ovvero
+@code{\hornNotes}, deve essere trasposto di una quinta ascendente. La tonalità
+@code{f} è indicata dalla nota @code{c'}, che corrisponde all'accordatura
+di un normale corno francese in@tie{}Fa. La trasposizione può essere vista
+nel seguente output
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+ \time 2/4
+ r4 f8 a | cis4 f | e4 d |
+}
+@end lilypond
+
+Nei brani di insieme, una delle voci non suona per molte
+misure. Questo viene indicato da una pausa speciale, la pausa
+multi-misura. Si inserisce con una @code{R} maiuscola seguita da una
+durata (@code{1}@tie{}per una semibreve, @code{2}@tie{}per una minima,
+etc.). Moltiplicando la durata, si possono costruire pause
+più lunghe. Ad esempio, questa pausa prende 3@tie{}misure in un
+tempo di 2/4
+
+@example
+R2*3
+@end example
+
+Quando la parte viene stampata, le pause multiple devono essere
+condensate. Si può fare impostando una variabile run-time
+
+@example
+\set Score.skipBars = ##t
+@end example
+
+@noindent
+Questo comando imposta la proprietà @code{skipBars} nel contesto
+@code{Score} su vero (@code{##t}). Aggiungendo la pausa e questa
+opzione alla musica precedente, si arriva al seguente risultato
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+ \time 2/4
+ \set Score.skipBars = ##t
+ R2*3 |
+ r4 f8 a | cis4 f | e4 d |
+}
+@end lilypond
+
+
+Lo spartito si forma combinando tutta la musica insieme. Assumendo che
+l'altra voce si trovi in @code{bassoonNotes} nel file
+@file{bassoon-music.ly}, lo spartito sarà
+
+@example
+\include "bassoon-music.ly"
+\include "horn-music.ly"
+
+<<
+ \new Staff \hornNotes
+ \new Staff \bassoonNotes
+>>
+@end example
+
+@noindent
+ovvero
+
+@lilypond[quote,ragged-right]
+\relative c <<
+ \new Staff {
+ \clef "treble"
+ \time 2/4
+ R2*3 |
+ r4 f8 a | cis4 f | e4 d |
+ }
+ \new Staff {
+ \clef "bass"
+ \time 2/4
+ r4 d,8 f | gis4 c | b4 bes |
+ a8 e f4 | g4 d | gis4 f |
+ }
+>>
+@end lilypond
+
+