]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/it/learning/fundamental.itely
Merge branch 'master' into translation
[lilypond.git] / Documentation / it / learning / fundamental.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
2
3 @ignore
4     Translation of GIT committish: 8451fc41680f500fff56f826017b53dc3dcbf65d
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.19.22"
12
13 @node Concetti fondamentali
14 @chapter Concetti fondamentali
15 @translationof Fundamental concepts
16
17 Nel Tutorial abbiamo visto come produrre dei belli spartiti da un
18 semplice file di testo.  Questa sezione presenta i concetti e le
19 tecniche richiesti per produrre partiture ugualmente belle, ma
20 più complesse.
21
22 @menu
23 * Come funzionano i file di input di LilyPond::
24 * Le voci contengono la musica::
25 * Contesti e incisori::
26 * Estendere i modelli::
27 @end menu
28
29
30 @node Come funzionano i file di input di LilyPond
31 @section Come funzionano i file di input di LilyPond
32 @translationof How LilyPond input files work
33
34 Il formato di input di LilyPond ha una struttura piuttosto libera, che dà
35 agli utenti esperti una grande flessibilità nell'organizzare i file come
36 preferiscono.  Ma questa flessibilità può creare confusione nei nuovi
37 utenti.  Questa sezione spiegherà in parte questa struttura, ma
38 sorvolerà su alcuni dettagli in favore della semplicità.  Per una
39 descrizione completa del formato di input, si veda @ruser{File structure}.
40
41 @menu
42 * Introduzione alla struttura di un file di LilyPond::
43 * La partitura è una (singola) espressione musicale composta::
44 * Annidare le espressioni musicali::
45 * Sul non annidamento di parentesi e legature di valore::
46 @end menu
47
48 @node Introduzione alla struttura di un file di LilyPond
49 @subsection Introduzione alla struttura di un file di LilyPond
50 @translationof Introduction to the LilyPond file structure
51
52 @cindex formato di input
53 @cindex struttura del file
54
55 Un esempio basilare di un file di input di LilyPond è
56
57 @example
58 \version @w{"@version{}"}
59
60 \header @{ @}
61
62 \score @{
63   @var{ @dots{} espressione musicale composta @dots{} }  % tutta la musica va qui!
64   \layout @{ @}
65   \midi @{ @}
66 @}
67 @end example
68
69 @noindent
70 Ci sono molte varianti a questo modello di base, ma questo esempio
71 serve da utile punto di partenza.
72
73 @funindex \book
74 @funindex book
75 @funindex \score
76 @funindex score
77 @cindex book (libro)
78 @cindex score (partitura)
79 @cindex libro
80 @cindex partitura
81
82 Finora nessuno degli esempi che abbiamo visto ha usato il comando
83 @code{\score@{@}}.  Questo si spiega col fatto che LilyPond, quando
84 elabora un input semplice, aggiunge automaticamente gli altri comandi
85 necessari.  LilyPond tratta un input come questo:
86
87 @example
88 \relative @{
89   c''4 a d c
90 @}
91 @end example
92
93 @noindent
94 come forma abbreviata per questo:
95
96 @example
97 \book @{
98   \score @{
99     \new Staff @{
100       \new Voice @{
101         \relative @{
102           c''4 a b c
103         @}
104       @}
105     @}
106     \layout @{ @}
107   @}
108 @}
109 @end example
110
111 In altre parole, se l'input contiene un'espressione musicale singola,
112 LilyPond interpreterà il file come se l'espressione musicale
113 fosse racchiusa dentro i comandi mostrati sopra.
114
115 @cindex contesti impliciti
116 @cindex contesti, impliciti
117
118 @strong{Attenzione!}  Molti esempi nella documentazione di LilyPond
119 ometteranno i comandi @code{\new Staff} e @code{\new Voice},
120 lasciando che questi siano creati implicitamente.  Per gli esempi
121 semplici questo metodo funziona bene, ma per quelli più complessi, soprattutto
122 quando vengono usati ulteriori comandi, la creazione implicita dei contesti
123 può dare risultati inattesi, ad esempio creando dei righi non voluti.
124 Il modo per creare i contesti esplicitamente è spiegato in
125 @ref{Contexts and engravers}.
126
127 @warning{Quando si inseriscono più di poche linee di musica, si consiglia
128 di creare sempre esplicitamente i righi e le voci.}
129
130 Ora però torniamo al primo esempio ed esaminiamo il comando
131 @code{\score}, lasciando gli altri comandi secondo l'impostazione predefinita.
132
133 Un blocco @code{\score} deve sempre contenere una sola espressione musicale.
134 Ricorda che un'espressione musicale può essere qualsiasi cosa, da una
135 singola nota a una grande espressione composta come
136
137 @example
138 @{
139   \new StaffGroup <<
140     @var{ @dots{} inserisci qui l'intera opera di Wagner @dots{} }
141   >>
142 @}
143 @end example
144
145 @noindent
146 Tutto quanto è compreso in @code{@{ @dots{} @}} costituisce un'unica
147 espressione musicale.
148
149 Come abbiamo detto prima, il blocco @code{\score} può contenere altri
150 elementi, come ad esempio
151
152 @example
153 \score @{
154   @{ c'4 a b c' @}
155   \header @{ @}
156   \layout @{ @}
157   \midi @{ @}
158 @}
159 @end example
160
161 @funindex \header
162 @funindex header
163 @funindex \layout
164 @funindex layout
165 @funindex \midi
166 @funindex midi
167 @cindex header
168 @cindex layout
169 @cindex midi
170
171 @noindent
172 Si noti che questi tre comandi -- @code{\header}, @code{\layout} e
173 @code{\midi} -- sono speciali: diversamente da molti altri comandi che
174 iniziano con un backslash (@code{\}), @emph{non} sono espressioni
175 musicali né fanno parte di alcuna espressione musicale.  Dunque, possono
176 essere collocati dentro o fuori da un blocco @code{\score}.  Di solito
177 questi comandi vengono posti fuori dal blocco @code{\score} -- ad esempio,
178 @code{\header} spesso viene messo sopra il comando @code{\score}, come mostra
179 l'esempio all'inizio di questa sezione.
180
181 Altri due comandi che non hai incontrato finora sono
182 @code{\layout @{ @}} e @code{\midi @{@}}.  Se questi appaiono come
183 in figura, LilyPond creerà rispettivamente un output per la stampa
184 e uno per il MIDI.  Sono descritti dettagliatamente nella
185 Guida alla notazione, in @ruser{Score layout}, e
186 @ruser{Creating MIDI output}.
187
188 @cindex partiture, multiple
189 @cindex libro, blocco implicito
190 @cindex implicito, blocco del libro
191 @funindex \book
192 @funindex book
193
194 Puoi scrivere molteplici blocchi @code{\score}.  Ciascuno verrà
195 trattato come una partitura separata, ma saranno tutti combinati in
196 un unico file di output.  Non è necessario il comando @code{\book}
197 -- ne verrà creato uno automaticamente.  Tuttavia, se si desiderano
198 file di output separati da un file @file{.ly}, allora si deve usare
199 il comando @code{\book} per separare le diverse sezioni: ogni blocco
200 @code{\book} produrrà un file di output separato.
201
202 In breve:
203
204 Ogni blocco @code{\book} crea un file di output separato (ovvero, un
205 file PDF).  Se non ne hai aggiunto uno esplicitamente, LilyPond racchiude
206 implicitamente tutto il tuo codice di input in un blocco @code{\book}.
207
208 Ogni blocco @code{\score} è un pezzo di musica separato all'interno di
209 un blocco @code{\book}.
210
211 @cindex layout, effetto della posizione del blocco
212
213 Ogni blocco @code{\layout} influenza il blocco @code{\score} o
214 @code{\book} in cui compare -- ovvero, un blocco @code{\layout}
215 che si trova dentro un blocco @code{\score} riguarda solo quel blocco
216 @code{\score}, mentre un blocco @code{\layout} che si trova fuori da un
217 blocco @code{\score} (e quindi in un blocco @code{\book}, esplicitamente
218 o implicitamente) riguarderà ogni @code{\score} in quel @code{\book}.
219
220 Per maggiori dettagli si veda @ruser{Multiple scores in a book}.
221
222 @cindex variabili
223
224 Un'altra grande scorciatoia è la possibilità di definire variabili, come è
225 spiegato in @ref{Organizing pieces with variables}).  Tutti
226 i modelli usano questa forma
227
228 @example
229 melodia = \relative @{
230   c'4 a b c
231 @}
232
233 \score @{
234   \melodia
235 @}
236 @end example
237
238 Quando LilyPond esamina questo file, prende il valore di @code{melodia} (tutto
239 ciò che si trova dopo il segno di uguale) e lo inserisce ovunque si trovi
240 @code{\melodia}.  Non c'è una regola specifica per i nomi -- il nome può essere
241 @code{melodia}, @code{globale}, @code{tempo}, @code{manodestrapiano}, o qualsiasi
242 altro nome.  Ricordati che puoi usare quasi ogni nome che vuoi, purché esso
243 contenga solo caratteri alfabetici e sia diverso dai nomi dei comandi di
244 LilyPond.  Le esatte limitazioni relative ai nomi delle variabili sono spiegate
245 dettagliatamente in @ruser{File structure}.
246
247
248 @seealso
249 Per una definizione completa del formato di input, si veda
250 @ruser{File structure}.
251
252
253 @node La partitura è una (singola) espressione musicale composta
254 @subsection La partitura è una (singola) espressione musicale composta
255 @translationof Score is a (single) compound musical expression
256
257 @funindex \score
258 @funindex score
259 @cindex partitura
260 @cindex score
261 @cindex contenuto di un blocco score
262 @cindex score, contenuto del blocco
263 @cindex espressione musicale composta
264 @cindex composta, espressione musicale
265
266 Abbiamo visto l'organizzazione generale dei file di input di LilyPond nella
267 sezione precedente, @ref{Introduction to the LilyPond file structure}.
268 Ma sembra che abbiamo saltato la parte più importante: cosa dobbiamo
269 scrivere dopo @code{\score}?
270
271 In realtà non l'abbiamo affatto dimenticato.  Il grande mistero è,
272 semplicemente, che @emph{non c'è} alcun mistero.  La seguente frase spiega tutto:
273
274 @quotation
275 @emph{Un blocco @code{\score} deve contenere una sola espressione musicale.}
276 @end quotation
277
278 @noindent
279 Per capire cosa si intende per espressione musicale, potrebbe esserti utile
280 ripassare il tutorial, @ref{Music expressions explained}.  In quella sezione, abbiamo
281 visto come costruire grandi espressioni musicali a partire da piccoli brani --
282 abbiamo iniziato con le note, poi gli accordi, etc.  Adesso inizieremo da una
283 grande espressione musicale e proseguiremo poi a spiegarne i dettagli. Per
284 semplicità, nel nostro esempio useremo soltanto un canto e un pianoforte.  Per
285 questa formazione non abbiamo bisogno di @code{StaffGroup}, che non fa altro che
286 raggruppare un insieme di righi con una parentesi graffa a sinistra, ma abbiamo
287 comunque bisogno dei righi per il canto e per il pianoforte.
288
289 @example
290 \score @{
291   <<
292     \new Staff = "canto" <<
293     >>
294     \new PianoStaff = "pianoforte" <<
295     >>
296   >>
297   \layout @{ @}
298 @}
299 @end example
300
301 In questo esempio abbiamo dato dei nomi ai righi -- @qq{canto} e
302 @qq{pianoforte}.  Non è necessario in questo caso, ma è una buona abitudine
303 da coltivare, perché ti permette di vedere a colpo d'occhio a cosa serve
304 ciascun rigo.
305
306 Ricorda che si usa @code{<< @dots{} >>} invece di @code{@{ @dots{} @}} per indicare
307 la musica simultanea.  In questo modo la parte vocale e quella di pianoforte
308 appaiono una sopra l'altra nello spartito.  Il costrutto @code{<< @dots{} >>} non
309 sarebbe necessario per il rigo del cantante nell'esempio precedente se contenesse
310 soltanto un'espressione musicale sequenziale, ma @code{<< @dots{} >>} al posto delle
311 parentesi è necessario se la musica sul rigo deve contenere due o più espressioni
312 simultanee, ad esempio due voci simultanee, o una voce con del testo.  Vogliamo
313 avere una voce con del testo, dunque ci servono le parentesi ad angolo.  Aggiungeremo
314 la musica vera e propria in seguito; per adesso mettiamo soltanto delle semplici
315 note e del testo.  Se hai dimenticato come aggiungere del testo, potresti voler
316 ripassare @code{\addlyrics} in @ref{Setting simple songs}.
317
318 @lilypond[verbatim,quote,ragged-right]
319 \score {
320   <<
321     \new Staff = "canto" <<
322       \new Voice = "vocal" { c'1 }
323       \addlyrics { And }
324     >>
325     \new PianoStaff = "piano" <<
326       \new Staff = "upper" { c'1 }
327       \new Staff = "lower" { c'1 }
328     >>
329   >>
330   \layout { }
331 }
332 @end lilypond
333
334 Ora abbiamo molti più dettagli.  Abbiamo il rigo del cantante: esso contiene
335 una @code{Voice} o voce (in LilyPond, questo termine si riferisce a un insieme
336 di note, non necessariamente alle note della voce -- ad esempio, un violino di
337 solito costituisce una voce) e del testo.  Abbiamo anche il rigo del pianoforte,
338 che a sua volta comprende un rigo superiore (per la mano destra) e uno inferiore
339 (per la mano sinistra), sebbene a quest'ultimo debba ancora essere assegnata
340 una chiave di basso.
341
342 A questo punto possiamo iniziare ad inserire le note.  All'interno delle parentesi
343 graffe vicine a @code{\new Voice = "vocal"}, possiamo iniziare a scrivere
344
345 @example
346 \relative @{
347   r4 d''8\noBeam g, c4 r
348 @}
349 @end example
350
351 Ma se facessimo così, la sezione @code{\score} diventerebbe molto lunga, e
352 sarebbe più difficile comprendere quel che accade.  Usiamo quindi le variabili
353 piuttosto.  Queste sono state introdotte alla fine della sezione precedente,
354 ricordi?  Per far sì che i contenuti della variabile @code{text} siano
355 interpretati come testo, li facciamo precedere da @code{\lyricmode}.  Come in
356 @code{\addlyrics}, questo comando trasforma la modalità di input in modalità
357 testo.  Senza di esso, LilyPond cercherebbe di interpretare i contenuti come
358 se fossero note, e questo produrrebbe degli errori.  (Sono disponibili molte
359 altre modalità di input, si veda @ruser{Input modes}.)
360
361 Dunque se aggiungiamo un po' di note e una chiave di basso per la mano
362 sinistra, otteniamo un brano musicale vero e proprio:
363
364 @lilypond[verbatim,quote,ragged-right]
365 melody = \relative { r4 d''8\noBeam g, c4 r }
366 text   = \lyricmode { And God said, }
367 upper  = \relative { <g' d g,>2~ <g d g,> }
368 lower  = \relative { b,2 e }
369
370 \score {
371   <<
372     \new Staff = "canto" <<
373       \new Voice = "vocal" { \melody }
374       \addlyrics { \text }
375     >>
376     \new PianoStaff = "piano" <<
377       \new Staff = "upper" { \upper }
378       \new Staff = "lower" {
379         \clef "bass"
380         \lower
381       }
382     >>
383   >>
384   \layout { }
385 }
386 @end lilypond
387
388 Quando scrivi (o leggi) una sezione @code{\score}, prenditela comoda e stai
389 attento.  Comincia dal livello più esterno, poi lavora su ogni livello più
390 piccolo.  È anche molto utile essere rigorosi nell'indentare l'input -- ovvero
391 fare attenzione che ogni elemento di uno stesso livello presente nell'editor
392 di testo si trovi nella stessa posizione orizzontale.
393
394
395 @seealso
396 Guida alla notazione: @ruser{Structure of a score}.
397
398
399 @node Annidare le espressioni musicali
400 @subsection Annidare le espressioni musicali
401 @translationof Nesting music expressions
402
403 @cindex righi temporanei
404 @cindex temporanei, righi
405 @cindex ossia
406
407 Non è obbligatorio dichiarare tutti i righi fin dall'inizio; possono essere
408 invece introdotti temporaneamente in ogni momento.  Questo è utile in
409 particolare per creare le sezioni ossia -- si veda @rglos{ossia}.  Ecco un
410 semplice esempio che mostra come inserire un nuovo rigo temporaneamente, per
411 la durata di tre note:
412
413 @lilypond[verbatim,quote,ragged-right]
414 \new Staff {
415   \relative {
416     r4 g'8 g c4 c8 d |
417     e4 r8
418     <<
419       { f8 c c }
420       \new Staff {
421         f8 f c
422       }
423     >>
424     r4 |
425   }
426 }
427 @end lilypond
428
429 @noindent
430 Si noti che la dimensione della chiave è la stessa di una chiave che segue un
431 cambio di chiave --ovvero leggermente più piccola della chiave all'inizio del
432 rigo.  Questo è utile per le chiavi che devono essere posizionate a metà di un
433 rigo.
434
435 @cindex rigo, posizionamento del
436
437 La sezione ossia può anche essere posta sopra il rigo
438 nel seguente modo:
439
440 @lilypond[verbatim,quote,ragged-right]
441 \new Staff = "main" {
442   \relative {
443     r4 g'8 g c4 c8 d |
444     e4 r8
445     <<
446       { f8 c c }
447       \new Staff \with {
448         alignAboveContext = #"main"
449       } { f8 f c }
450     >>
451     r4 |
452   }
453 }
454 @end lilypond
455
456 Questo esempio usa @code{\with}, che verrà spiegato in modo più
457 completo in seguito.  È un modo per cambiare il comportamento predefinito
458 di un singolo rigo.  In questo caso, indica che il nuovo rigo deve essere
459 posizionato sopra il rigo chiamato @qq{main} invece che nella posizione
460 predefinita, che è in basso.
461
462
463 @seealso
464 Gli ossia vengono spesso scritti senza armatura di chiave e senza
465 tempo, e solitamente hanno un font più piccolo.  Richiedono ulteriori
466 comandi che non sono stati ancora presentati.  Si veda @ref{Size of objects},
467 e @ruser{Righi ossia}.
468
469
470 @node Sul non annidamento di parentesi e legature di valore
471 @subsection Sul non annidamento di parentesi e legature di valore
472 @translationof On the un-nestedness of brackets and ties
473
474 @cindex parentesi, annidare
475 @cindex tipi di parentesi
476 @cindex parentesi, racchiudere vs. contrassegnare
477
478 Abbiamo già incontrato vari tipi di parentesi e di costrutti che fanno
479 uso di parentesi mentre scrivevamo il file di input di LilyPond.  Ognuna obbedisce a
480 diverse regole, e questo può generare confusione all'inizio.  Rivediamo prima i
481 diversi tipi di parentesi e di costrutti in parentesi.
482
483 @c attempt to force this onto a new page
484 @need 50
485 @multitable @columnfractions .3 .7
486 @headitem Tipo di parentesi
487   @tab Funzione
488 @item @code{@{ @dots{} @}}
489   @tab Racchiude un frammento di musica sequenziale
490 @item @code{< @dots{} >}
491   @tab Racchiude le note di un accordo
492 @item @code{<< @dots{} >>}
493   @tab Racchiude le espressioni musicali simultanee
494 @item @code{( @dots{} )}
495   @tab Contrassegna l'inizio e la fine di una legatura di portamento
496 @item @code{\( @dots{} \)}
497   @tab Contrassegna l'inizio e la fine di una legatura di frase
498 @item @code{[ @dots{} ]}
499   @tab Contrassegna l'inizio e la fine di una travatura impostata manualmente
500 @end multitable
501
502 A questi dovremmo aggiungere altri costrutti che generano linee tra
503 e lungo le note: legature di valore (contrassegnate dal tilde, @code{~}),
504 i gruppi irregolari scritti in questa forma @code{\tuplet x/y @{ @dots{} @}}, e
505 gli abbellimenti, indicati con @code{\grace@{ @dots{} @}}.
506
507 Fuori da LilyPond, l'uso convenzionale delle parentesi esige che i diversi
508 tipi siano annidati adeguatamente, in questo modo, @code{<< [ @{ ( @dots{} )
509 @} ] >>}, dove le parentesi che chiudono si trovano esattamente
510 nell'ordine opposto alle parentesi che aprono.  Questo @strong{è} un
511 requisito per i tre tipi di parentesi descritti dal termine @q{Racchiude}
512 nella tabella precedente -- devono annidarsi correttamente.  Tuttavia,
513 i restanti costrutti in parentesi, descritti dal termine @q{Contrassegna} nella
514 tabella, così come le legature e i gruppi irregolari, @strong{non} devono annidarsi
515 correttamente con alcuna delle parentesi o dei costrutti in parentesi.  Infatti
516 queste non sono parentesi nel senso che racchiudono qualcosa -- sono semplicemente
517 dei contrassegni che indicano dove qualcosa inizia e finisce.
518
519 Quindi, ad esempio, una legatura di frase può iniziare prima di una travatura
520 inserita manualmente e finire prima della fine della travatura -- non
521 molto musicale, forse, ma possibile:
522
523 @lilypond[quote,verbatim,ragged-right]
524 \relative { g'8\( a b[ c b\) a] g4 }
525 @end lilypond
526
527 In generale, tipi diversi di parentesi, costrutti in parentesi e segni che
528 riguardano gruppi irregolari, legature e abbellimenti possono essere combinati
529 liberamente. L'esempio seguente mostra una travatura che si estende su un
530 gruppo irregolare (linea 1), una legatura di portamento che si estende su
531 una terzina (linea 2), una travatura e una legatura di portamento che si
532 estendono su una terzina, una legatura di valore che attraversa due gruppi
533 irregolari, e una legatura di frase che si estende fuori da un gruppo
534 irregolare (linee 3 e 4).
535
536 @lilypond[quote,verbatim,ragged-right]
537 \relative {
538   r16[ g' \tuplet 3/2 { r16 e'8] }
539   g,16( a \tuplet 3/2 { b16 d) e }
540   g,8[( a \tuplet 3/2 { b8 d) e~] } |
541   \tuplet 5/4 { e32\( a, b d e } a4.\)
542 }
543 @end lilypond
544
545
546 @node Le voci contengono la musica
547 @section Le voci contengono la musica
548 @translationof Voices contain music
549
550 Un cantante ha bisogno della voce per cantare, e lo stesso vale per LilyPond.
551 La musica vera e propria per tutti gli strumenti di una partitura è
552 contenuta nelle Voci -- il più importante concetto di LilyPond.
553
554 @menu
555 * Sento le Voci::
556 * Definire esplicitamente le voci::
557 * Voci e musica vocale::
558 @end menu
559
560 @node Sento le Voci
561 @subsection Sento le Voci
562 @translationof I'm hearing Voices
563
564 @cindex polifonia
565 @cindex livelli
566 @cindex varie voci
567 @cindex voci, varie
568 @cindex Voice (voce), contesto di
569 @cindex contesto Voice (voce)
570 @cindex musica simultanea
571 @cindex simultanea, musica
572 @cindex musica sincrona
573 @cindex sincrona, musica
574 @cindex voci vs. accordi
575 @cindex accordi vs. voci
576
577 I livelli più profondi, più interni e più importanti di uno spartito di LilyPond
578 sono chiamati @q{Voice contexts} («Contesti della voce») o semplicemente @q{Voices}
579 («Voci»).  In altri programmi di notazione le voci sono chiamate talvolta @q{layers}
580 («livelli»).
581
582 Il livello o contesto della voce è l'unico che può contenere la
583 musica.  Se un contesto della voce non è dichiarato esplicitamente, ne
584 viene creato uno automaticamente, come abbiamo visto all'inizio di questo
585 capitolo.  Alcuni strumenti, come ad esempio un oboe, possono produrre una
586 sola nota per volta.  La musica scritta per tali strumenti necessita di
587 una sola voce.  Invece gli strumenti che possono produrre più di una nota
588 contemporaneamente, come ad esempio il pianoforte, richiederanno spesso
589 voci multiple per codificare le diverse note e ritmi simultanei che
590 sono capaci di riprodurre.
591
592 Ovviamente, una singola voce può contenere molte note in un accordo,
593 dunque quando l'uso delle voci multiple è davvero necessario?  Si osservi
594 questo esempio di quattro accordi:
595
596 @lilypond[quote,verbatim,fragment,ragged-right]
597 \relative {
598   \key g \major
599   <d' g>4 <d fis> <d a'> <d g>
600 }
601 @end lilypond
602
603 Questa musica può essere espressa usando soltanto i simboli dell'accordo,
604 ovvero le parentesi angolari, @code{< @dots{} >}, e una singola voce è
605 sufficiente.  Ma cosa accadrebbe se il Fa# fosse in realtà una nota di un
606 ottavo seguita da un Sol di un ottavo, una nota di passaggio che porta al La?
607 In questo caso abbiamo due note che iniziano nello stesso momento ma hanno
608 durate diverse: il Re da un quarto e il Fa# da un ottavo.  Come si possono scrivere
609 queste note?  Non possono essere scritte come un accordo perché tutte le note di
610 un accordo devono avere la stessa durata.  E non possono nemmeno essere scritte
611 come due note in sequenza perché devono iniziare in contemporanea.  Si tratta
612 quindi di un caso in cui sono necessarie due voci.
613
614 Vediamo come ottenerle nella sintassi di input di LilyPond.
615
616 @funindex << \\ >>
617 @funindex \\
618
619 Il modo più semplice per inserire frammenti che utilizzino più di una voce
620 su un rigo è scrivere ogni voce come una sequenza (con @code{@{ @dots{} @}}),
621 e poi combinarle in simultanea tramite le doppie parentesi angolari, @code{<< @dots{} >>}.
622 Per collocarli in voci distinte, i frammenti devono essere separati da un doppio
623 backslash, @code{\\}.  Senza di esso, le note sarebbero inserite in un'unica
624 voce, e questo normalmente causerebbe degli errori.  Questa tecnica è
625 particolarmente adatta ai brani che sono in gran parte omofonici ma
626 con brevi e occasionali sezioni polifoniche.
627
628 Ecco come suddividere gli accordi precedenti in due voci e aggiungere sia
629 la nota di passaggio che la legatura di portamento:
630
631 @lilypond[quote,verbatim,ragged-right]
632 \relative {
633   \key g \major
634   %    Voice = "1"             Voice = "2"
635   << { g'4 fis8( g) a4 g } \\ { d4 d d d }  >>
636 }
637 @end lilypond
638
639 Si noti come i gambi della seconda voce adesso siano rivolti in basso.
640
641 Ecco un altro semplice esempio:
642
643 @lilypond[quote,verbatim,ragged-right]
644 \relative {
645   \key d \minor
646   %    Voice = "1"           Voice = "2"
647   << { r4 g' g4. a8 }   \\ { d,2 d4 g }       >> |
648   << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
649   << { a2. r4 }         \\ { fis2. s4 }       >> |
650 }
651 @end lilypond
652
653 Non è necessario usare un costrutto con @code{<< \\ >>} in ogni
654 battuta.  Per musiche che hanno poche note in ogni battuta questo layout
655 può aiutare la leggibilità del codice, ma se ci sono molte note in
656 ogni battuta è preferibile dividere ogni voce, così:
657
658 @lilypond[quote,verbatim,ragged-right]
659 <<
660   \key d \minor
661   \relative { % Voice = "1"
662     r4 g' g4. a8 |
663     bes4 bes c bes |
664     a2. r4 |
665   } \\
666   \relative { % Voice = "2"
667     d'2 d4 g |
668     g4 g g8( a) g4 |
669     fis2. s4 |
670   }
671 >>
672 @end lilypond
673
674
675 @cindex voci, nome delle
676 @cindex voci che attraversano le parentesi
677 @cindex legature che attraversano le parentesi
678
679 Questo esempio ha solo due voci, ma si potrebbe usare lo stesso
680 costrutto per scrivere tre o più voci aggiungendo più backslash.
681
682 I contesti della voce hanno i nomi @code{"1"}, @code{"2"}, etc.
683 I primi contesti impostano le voci @emph{più esterne}, la voce
684 più alta nel contesto @code{"1"} e la più bassa nel @code{"2"}.  Le voci
685 più interne vanno nei contesti @code{"3"} e @code{"4"}.  In ogni
686 contesto, la direzione verticale di legature di portamento, gambi,
687 legature di valore, dinamica, etc., è impostata correttamente.
688
689 @lilypond[quote,verbatim]
690 \new Staff \relative {
691   % Main voice
692   c'16 d e f
693   %    Voice = "1"   Voice = "2"              Voice = "3"
694   << { g4 f e } \\ { r8 e4 d c8~ } >> |
695   << { d2 e }   \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
696 }
697 @end lilypond
698
699 Tutte queste voci sono separate dalla voce principale che contiene le
700 note e che si trova fuori dal costrutto @code{<< @dots{} >>}, che chiameremo
701 il @emph{costrutto simultaneo}.  Legature di portamento e di valore
702 possono connettere solo note che fanno parte della stessa voce, quindi
703 le legature non possono entrare in un costrutto simultaneo o uscirne.  Viceversa,
704 voci parallele appartenenti a costrutti simultanei distinti sullo stesso
705 rigo sono la stessa voce.  Anche altre caratteristiche della voce di riferimento
706 sono trasferite ai costrutti simultanei.  Ecco lo stesso esempio, ma
707 con colori e teste delle note diversi per ogni voce.  Si noti che i
708 cambiamenti in una voce non interessano le altre voci, ma persistono
709 sulla stessa voce in seguito.  Si noti anche che le note legate possono
710 essere divise sulle stesse voci in due costrutti, come mostra qui la
711 voce con i triangoli blu.
712
713 @lilypond[quote,verbatim]
714 \new Staff \relative {
715   % Main voice
716   c'16 d e f
717   <<  % Bar 1
718     {
719       \voiceOneStyle
720       g4 f e
721     }
722   \\
723     {
724       \voiceTwoStyle
725       r8 e4 d c8~
726     }
727   >> |
728   <<  % Bar 2
729      % Voice 1 continues
730     { d2 e }
731   \\
732      % Voice 2 continues
733     { c8 b16 a b8 g~ 2 }
734   \\
735     {
736       \voiceThreeStyle
737       s4 b c2
738     }
739   >> |
740 }
741 @end lilypond
742
743 @funindex \voiceOneStyle
744 @funindex \voiceTwoStyle
745 @funindex \voiceThreeStyle
746 @funindex \voiceFourStyle
747 @funindex \voiceNeutralStyle
748
749 I comandi @code{\voiceXXXStyle} sono pensati soprattutto
750 per documenti didattici come questo.  Modificano il colore
751 della testa, del gambo e delle travature, e lo stile della
752 testa, così da rendere le voci facilmente distinguibili.
753 La voce uno è impostata su rombi rossi, la voce due su triangoli blu,
754 la voce tre su cerchi barrati verdi, e la voce quattro (non impiegata
755 nell'esempio) su croci magenta;  @code{\voiceNeutralStyle} (anch'esso
756 non usato qui) riporta lo stile all'impostazione predefinita.
757 Vedremo in seguito come l'utente possa creare comandi simili.
758 Si veda @ref{Visibility and color of objects} e
759 @ref{Using variables for layout adjustments}.
760
761 @cindex polifonia e modo relativo
762 @cindex modo relativo e polifonia
763
764 La polifonia non cambia le relazioni tra le note all'interno di un
765 blocco @code{\relative}.  L'altezza di ogni nota continua a essere calcolata
766 in rapporto a quella della nota che la precede, o della prima nota del
767 precedente accordo.  Dunque, in
768
769 @example
770 \relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
771 @end example
772
773 @noindent
774 @code{notaB} è relativa a @code{notaA}                      @*
775 @code{notaC} è relativa a @code{notaB}, non a @code{notaA};   @*
776 @code{notaD} è relativa a @code{notaB}, non a @code{notaA} o a
777 @code{notaC};                                                 @*
778 @code{notaE} è relativa a @code{notaD}, non a @code{notaA}.
779
780 Un metodo alternativo, che potrebbe essere più chiaro se le note nelle
781 voci sono ampiamente separate, consiste nel porre un comando @code{\relative}
782 all'inizio di ogni voce:
783
784 @example
785 \relative c' @{ noteA @dots{} @}
786 <<
787   \relative c'' @{ < noteB noteC > @dots{} @}
788 \\
789   \relative g' @{ noteD @dots{} @}
790 >>
791 \relative c' @{ noteE @dots{} @}
792 @end example
793
794 Analizziamo infine le voci in un brano più complesso. Queste note sono
795 tratte dalle prime due battute del secondo dei due Notturni op. 32 di
796 Chopin.  Questo esempio verrà usato successivamente, in questo e nel
797 prossimo capitolo, per illustrare varie tecniche di notazione, quindi
798 per il momento ignora qualsiasi cosa del codice sottostante che ti sembra
799 incomprensibile e concentrati solo sulla musica e sulle voci -- le parti
800 più complesse saranno spiegate tutte in sezioni successive.
801
802 @c The following should appear as music without code
803 @lilypond[quote,ragged-right]
804 \new Staff \relative {
805   \key aes \major
806   <<  % Prima voce
807     { c''2 aes4. bes8 }
808   \\  % Voce due
809     {
810       % Puoi ignorare questi per ora, saranno spiegati nel capitolo 4
811       \once \override NoteColumn.force-hshift = #0
812       <ees, c>2
813       \once \override NoteColumn.force-hshift = #0.5
814       des2
815     }
816   \\  % Nessuna terza voce
817   \\  % Quarta voce
818     {
819       \override NoteColumn.force-hshift = #0
820       aes'2 f4 fes
821     }
822   >> |
823   <c ees aes c>1 |
824 }
825 @end lilypond
826
827 La direzione dei gambi viene spesso usata per indicare la continuità
828 di due linee melodiche simultanee.  In questo esempio i gambi delle note
829 più acute sono tutti rivolti in su mentre i gambi delle note più gravi
830 sono tutti rivolti in giù.  Questo è il primo indizio del fatto che è
831 coinvolta più di una voce.
832
833 Ma è quando note che iniziano nello stesso momento hanno durate diverse
834 che il ricorso a voci multiple diventa realmente indispensabile.  Osserva
835 le note che iniziano alla terza pulsazione della prima battuta.  Il La
836 bemolle è una nota di tre ottavi, il Fa è una semiminima e il Re bemolle
837 è una minima.  Non possono essere scritte come un accordo perché tutte
838 le note di un accordo devono avere la stessa durata.  Né possono essere
839 scritte come note in sequenza, dato che devono iniziare contemporaneamente.
840 Questa sezione della battuta necessita di tre voci, e la normale pratica
841 consiste nello scrivere l'intera battuta su tre voci, come mostrato sotto,
842 dove abbiamo usato diverse teste e colori per le tre voci.  Ancora una volta,
843 il codice che sta dietro questo esempio verrà spiegato dopo, quindi
844 ignora quel che non capisci.
845
846 @c The following should appear as music without code
847 @c The three voice styles should be defined in -init
848 @lilypond[quote,ragged-right]
849 \new Staff \relative {
850   \key aes \major
851   <<
852     {  % Prima voce
853       \voiceOneStyle
854       c''2 aes4. bes8
855     }
856   \\  % Seconda voce
857     { \voiceTwoStyle
858       % Puoi ignorare questi per ora, saranno spiegati nel capitolo 4
859       \once \override NoteColumn.force-hshift = #0
860       <ees, c>2
861       \once \override NoteColumn.force-hshift = #0.5
862       des2
863     }
864   \\  % Nessuna terza voce (vogliamo i gambi in giù)
865   \\  % Quarta voce
866     { \voiceThreeStyle
867       \override NoteColumn.force-hshift = #0
868       aes'2 f4 fes
869     }
870   >> |
871   <c ees aes c>1 |
872 }
873 @end lilypond
874
875 Proviamo a scrivere il codice di questa musica da zero.  Come
876 vedremo, questo pone alcune difficoltà.  Come abbiamo imparato,
877 iniziamo usando il costrutto @code{<< \\ >>} per inserire la musica
878 della prima battuta in tre voci:
879
880 @lilypond[quote,verbatim,ragged-right]
881 \new Staff \relative {
882   \key aes \major
883   <<
884     { c''2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
885   >> |
886   <c ees aes c>1 |
887 }
888 @end lilypond
889
890 @cindex gambo in giù
891 @cindex voci e direzione dei gambi
892 @cindex gambi e direzione delle voci
893 @cindex gambo in su
894
895 La direzione dei gambi è assegnata automaticamente: le voci dispari avranno i
896 gambi in su e le voci pari i gambi in giù.  I gambi per le voci 1 e 2 sono
897 giusti, ma in questo brano i gambi della voce 3 dovrebbero essere in
898 giù.  Possiamo correggere semplicemente omettendo la voce tre e ponendo la
899 musica nella voce quattro.  Si può fare aggiungendo semplicemente un altro
900 paio di @code{\\}:
901
902 @lilypond[quote,verbatim,ragged-right]
903 \new Staff \relative {
904   \key aes \major
905   <<  % Voice one
906     { c''2 aes4. bes8 }
907   \\  % Voice two
908     { <ees, c>2 des }
909   \\  % Omit Voice three
910   \\  % Voice four
911     { aes'2 f4 fes }
912   >> |
913   <c ees aes c>1 |
914 }
915 @end lilypond
916
917 @noindent
918 Possiamo vedere che questo corregge la direzione del gambo, ma il posizionamento
919 orizzontale delle note non è quello che desideriamo.  LilyPond sposta le note
920 più interne quando queste o i loro gambi collidono con le voci più
921 esterne, ma questo non è appropriato nella musica per pianoforte.  In altre
922 situazioni, gli spostamenti applicati da LilyPond potrebbero non riuscire
923 a evitare le collisioni.  LilyPond fornisce molti modi per aggiustare la collocazione
924 orizzontale delle note.  Per ora, non siamo ancora pronti a cercare di
925 correggere questo problema, dunque dovremo aspettare fino a una
926 prossima sezione -- si veda la proprietà @code{force-hshift} in
927 @ref{Fixing overlapping notation}.
928
929 @warning{Il testo e gli @emph{spanner} (come le legature di portamento e di valore, le
930 forcelle, etc.) non possono essere create @q{attraverso} le voci.}
931
932 @seealso
933 Guida alla notazione: @ruser{Più voci}.
934
935
936 @node Definire esplicitamente le voci
937 @subsection Definire esplicitamente le voci
938 @translationof Explicitly instantiating voices
939
940 @funindex \voiceOne
941 @funindex voiceOne
942 @funindex \voiceTwo
943 @funindex voiceTwo
944 @funindex \voiceThree
945 @funindex voiceThree
946 @funindex \voiceFour
947 @funindex voiceFour
948 @funindex \oneVoice
949 @funindex oneVoice
950 @funindex \new Voice
951 @cindex contesti della voce, creazione dei
952
953 I contesti della voce possono anche essere creati manualmente,
954 all'interno di un blocco @code{<< >>} che crea musica polifonica, usando
955 @code{\voiceOne} @dots{} @code{\voiceFour} per indicare le direzioni desiderate
956 per gambi, legature, etc.  Nelle partiture più grandi questo metodo
957 è più chiaro, perché fa sì che le voci possano essere separate e nominate
958 in modo più descrittivo.
959
960 Nello specifico, il costrutto @code{<< \\ >>} usato nella sezione
961 precedente:
962
963 @example
964 \new Staff @{
965   \relative @{
966     << @{ e'4 f g a @} \\ @{ c,4 d e f @} >>
967   @}
968 @}
969 @end example
970
971 @noindent
972 è equivalente a
973
974 @example
975 \new Staff <<
976   \new Voice = "1" @{ \voiceOne \relative @{ e'4 f g a @} @}
977   \new Voice = "2" @{ \voiceTwo \relative @{ c'4 d e f @} @}
978 >>
979 @end example
980
981 Entrambi hanno come risultato
982
983 @c The following example should not display the code
984 @lilypond[ragged-right,quote]
985 \new Staff <<
986   \new Voice = "1" { \voiceOne \relative { e'4 f g a } }
987   \new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
988 >>
989 @end lilypond
990
991 @cindex voci, tornare alla voce singola
992 @cindex tornare alla voce singola
993
994 I comandi @code{\voiceXXX} impostano le direzioni di gambi, legature di
995 portamento, legature di valore, articolazioni, annotazioni, punti di
996 aumentazione di note puntate e diteggiature.  @code{\voiceOne} e @code{\voiceThree}
997 fanno sì che questi oggetti siano rivolti verso l'alto, mentre @code{\voiceTwo} e
998 @code{\voiceFour} fanno sì che puntino verso il basso.  Questi comandi producono
999 anche uno spostamento orizzontale per ogni voce quando si crei la necessità
1000 di evitare collisioni tra le teste.  Il comando @code{\oneVoice}
1001 riporta i valori alle normali impostazioni di una singola voce.
1002
1003 Vediamo tramite alcuni semplici esempi quali effetti esattamente
1004 @code{\oneVoice}, @code{\voiceOne} e @code{\voiceTwo} hanno su
1005 markup, legature di valore, legature di portamento, e dinamica:
1006
1007 @lilypond[quote,ragged-right,verbatim]
1008 \relative c'{
1009   % Default behavior or behavior after \oneVoice
1010   c4 d8~ 8 e4( f | g4 a) b-> c |
1011 }
1012 @end lilypond
1013
1014 @lilypond[quote,ragged-right,verbatim]
1015 \relative {
1016   \voiceOne
1017   c'4 d8~ 8 e4( f | g4 a) b-> c |
1018   \oneVoice
1019   c,4 d8~ 8 e4( f | g4 a) b-> c |
1020 }
1021 @end lilypond
1022
1023 @lilypond[quote,ragged-right,verbatim]
1024 \relative {
1025   \voiceTwo
1026   c'4 d8~ 8 e4( f | g4 a) b-> c |
1027   \oneVoice
1028   c,4 d8~ 8 e4( f | g4 a) b-> c |
1029 }
1030 @end lilypond
1031
1032 Vediamo adesso, usando l'esempio della sezione precedente, tre modi
1033 diversi di scrivere uno stesso passo di musica polifonica, e i
1034 rispettivi vantaggi, a seconda delle circostanze.
1035
1036 Un'espressione che appare direttamente in un @code{<< >>} appartiene
1037 alla voce principale (ma, attenzione: @strong{non} in un costrutto
1038 @code{<< \\ >>}).  Questo metodo è utile quando le altre voci entrano
1039 mentre la voce principale sta già suonando.  Ecco una versione più corretta
1040 del nostro esempio.  Le note a rombi rossi mostrano che la melodia
1041 principale si trova ora nel contesto di una voce singola, e questo fa
1042 sì che sia possibile disegnare una legatura di frase sopra di esse.
1043
1044 @lilypond[quote,ragged-right,verbatim]
1045 \new Staff \relative {
1046   \voiceOneStyle
1047   % This section is homophonic
1048   c'16^( d e f
1049   % Start simultaneous section of three voices
1050   <<
1051     % Continue the main voice in parallel
1052     { g4 f e | d2 e) | }
1053     % Initiate second voice
1054     \new Voice {
1055       % Set stems, etc., down
1056       \voiceTwo
1057       r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1058     }
1059     % Initiate third voice
1060     \new Voice {
1061       % Set stems, etc, up
1062       \voiceThree
1063       s2. | s4 b c2 |
1064     }
1065   >>
1066 }
1067 @end lilypond
1068
1069 @cindex annidare le espressioni musicali
1070 @cindex annidare i costrutti simultanei
1071 @cindex annidare le voci
1072 @cindex voci temporanee
1073 @cindex voci, annidare
1074
1075 Sono possibili costrutti polifonici annidati più fittamente, e se una voce
1076 appare solo brevemente questo potrebbe essere un modo più semplice
1077 di scrivere lo spartito:
1078
1079 @lilypond[quote,ragged-right,verbatim]
1080 \new Staff \relative {
1081   c'16^( d e f
1082   <<
1083     { g4 f e | d2 e) | }
1084     \new Voice {
1085       \voiceTwo
1086       r8 e4 d c8~ |
1087       <<
1088         { c8 b16 a b8 g~ 2 | }
1089         \new Voice {
1090           \voiceThree
1091           s4 b c2 |
1092         }
1093       >>
1094     }
1095   >>
1096 }
1097 @end lilypond
1098
1099 @cindex note spaziatrici
1100
1101 Questo metodo di annidare nuove voci in breve è utile quando solo piccole
1102 parti della musica sono polifoniche, ma quando la polifonia è impiegata
1103 largamente in tutta la parte può essere più chiaro ricorrere a voci multiple,
1104 usando le note spaziatrici per saltare le parti in cui una delle voci è muta,
1105 come nel seguente esempio:
1106
1107 @lilypond[quote,ragged-right,verbatim]
1108 \new Staff \relative <<
1109   % Initiate first voice
1110   \new Voice {
1111     \voiceOne
1112     c'16^( d e f g4 f e | d2 e) |
1113   }
1114   % Initiate second voice
1115   \new Voice {
1116     % Set stems, etc, down
1117     \voiceTwo
1118     s4 r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1119   }
1120   % Initiate third voice
1121   \new Voice {
1122     % Set stems, etc, up
1123     \voiceThree
1124     s1 | s4 b c2 |
1125   }
1126 >>
1127 @end lilypond
1128
1129 @subsubheading Colonne di note
1130
1131 @cindex colonna delle note
1132 @cindex collisioni di note
1133 @cindex note, collisioni di
1134 @cindex comandi di spostamento
1135 @funindex \shiftOff
1136 @funindex shiftOff
1137 @funindex \shiftOn
1138 @funindex shiftOn
1139 @funindex \shiftOnn
1140 @funindex shiftOnn
1141 @funindex \shiftOnnn
1142 @funindex shiftOnnn
1143
1144 Le note maggiormente ravvicinate all'interno di un accordo o quelle che
1145 compaiono nello stesso momento in voci diverse sono disposte in due, e
1146 talvolta più, colonne, per impedire la sovrapposizione delle teste.  Esse
1147 vengono chiamate colonne delle note.  Le singole colonne di ognuna delle
1148 voci sono indipendenti, e lo scarto adottato nella voce in uso è determinato
1149 dal distanziamento delle colonne nei casi in cui altrimenti si determinerebbe
1150 una collisione. Si può vedere nell'esempio in basso.  Nella seconda battuta
1151 il Do della seconda voce è spostato a destra del Re nella prima voce, e
1152 nell'ultimo accordo il Do nella terza voce è spostato anch'esso a destra
1153 delle altre note.
1154
1155 I comandi @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, e
1156 @code{\shiftOff} specificano il grado con cui le note e gli accordi
1157 della voce debbano essere spostati in caso di collisione. L'impostazione
1158 predefinita prevede che le voci esterne (di norma le voci uno e due)
1159 abbiano @code{\shiftOff} attivato, mentre le voci interne (terza e quarta)
1160 abbiano @code{\shiftOn} attivato.  Quando uno spostamento viene applicato,
1161 le voci una e tre vengono spostate a destra e le voci due e quattro a sinistra.
1162
1163 @code{\shiftOnn} e @code{\shiftOnnn} definiscono ulteriori livelli di
1164 scarto che possono essere temporaneamente specificati per risolvere
1165 le collisioni in situazioni complesse -- si veda @ref{Real music example}.
1166
1167 Una colonna di note può contenere soltanto una nota (o accordo) di una
1168 voce con gambi in su e una nota (o accordo) di una voce con gambi in
1169 giù.  Se note di due voci che hanno i gambi nella stessa direzione
1170 sono poste nella stessa posizione ed entrambe le voci non hanno uno
1171 spostamento specificato oppure ne hanno uno dello stesso tipo, si
1172 produrrà il messaggio di errore
1173 @qq{questa voce ha bisogno di un'impostazione @code{@bs{}\voiceXx} o @code{@bs{}\shiftXx}}.
1174
1175
1176 @seealso
1177 Manuale di apprendimento:
1178 @ref{Moving objects}.
1179
1180 Guida alla notazione: @ruser{Più voci}.
1181
1182
1183 @node Voci e musica vocale
1184 @subsection Voci e musica vocale
1185 @translationof Voices and vocals
1186
1187 La musica vocale presenta una difficoltà in più: occorre combinare due
1188 espressioni -- note e testo.
1189
1190 @funindex \new Lyrics
1191 @funindex \lyricsto
1192 @funindex lyricsto
1193 @funindex Lyrics
1194 @cindex Lyrics, creazione di un contesto
1195 @cindex testo, creazione di un contesto
1196 @cindex testo, collegare a una voce
1197
1198 Abbiamo già visto il comando @code{\addlyrics@{@}}, che ben si comporta
1199 con le partiture semplici.  Tuttavia, questa tecnica è piuttosto
1200 limitata.  Per musica più complessa, occorre introdurre il testo in
1201 un contesto @code{Lyrics} usando @code{\new Lyrics} e collegando
1202 esplicitamente il testo alle note con @code{\lyricsto@{@}}, tramite
1203 il nome assegnato alla voce.
1204
1205 @lilypond[quote,verbatim]
1206 <<
1207   \new Voice = "one" {
1208     \relative {
1209       \autoBeamOff
1210       \time 2/4
1211       c''4 b8. a16 | g4. f8 | e4 d | c2 |
1212     }
1213   }
1214   \new Lyrics \lyricsto "one" {
1215     No more let | sins and | sor -- rows | grow. |
1216   }
1217 >>
1218 @end lilypond
1219
1220 Si noti che il testo deve essere collegato a un contesto @code{Voice},
1221 @emph{non} a un contesto @code{Staff}.  Questo è un caso in cui è
1222 necessario creare esplicitamente contesti @code{Staff} e @code{Voice}.
1223
1224 @cindex testo e travatura
1225 @cindex travatura e testo
1226 @funindex \autoBeamOff
1227 @funindex autoBeamOff
1228
1229 La disposizione automatica delle travature predefinita di LilyPond funziona
1230 bene per la musica strumentale, ma non altrettanto per la musica con testi,
1231 dove le travature o non sono usate affatto o servono a indicare la presenza
1232 di melismi nel testo.  Nell'esempio precedente usiamo il comando
1233 @code{\autoBeamOff} per disattivare la travatura automatica.
1234
1235 @funindex \new ChoirStaff
1236 @funindex ChoirStaff
1237 @funindex \lyricmode
1238 @funindex lyricmode
1239 @cindex struttura di una partitura vocale
1240 @cindex rigo per un coro
1241
1242 Riprendiamo l'esempio precedente di Judas Maccabæus per presentare
1243 questa tecnica più flessibile.  Innanzitutto lo rimaneggiamo per
1244 usare delle variabili per mezzo delle quali la musica e il testo
1245 possano essere separate dalla struttura del rigo.  Inseriamo anche
1246 una parentesi ChoirStaff.  Il testo deve essere introdotto da
1247 @code{\lyricmode} per assicurare che siano interpretati come testo
1248 invece che come musica.
1249
1250 @lilypond[quote,verbatim]
1251 global = { \key f \major \time 6/8 \partial 8 }
1252
1253 SopOneMusic = \relative {
1254   c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
1255 }
1256 SopOneLyrics = \lyricmode {
1257   Let | flee -- cy flocks the | hills a -- dorn, __
1258 }
1259 SopTwoMusic = \relative {
1260   r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1261 }
1262 SopTwoLyrics = \lyricmode {
1263   Let | flee -- cy flocks the | hills a -- dorn,
1264 }
1265
1266 \score {
1267   \new ChoirStaff <<
1268     \new Staff <<
1269       \new Voice = "SopOne" {
1270         \global
1271         \SopOneMusic
1272       }
1273       \new Lyrics \lyricsto "SopOne" {
1274         \SopOneLyrics
1275       }
1276     >>
1277     \new Staff <<
1278       \new Voice = "SopTwo" {
1279         \global
1280         \SopTwoMusic
1281       }
1282       \new Lyrics \lyricsto "SopTwo" {
1283         \SopTwoLyrics
1284       }
1285     >>
1286   >>
1287 }
1288 @end lilypond
1289
1290 Questa è la struttura di base di tutte le partiture vocali.  Si possono
1291 aggiungere più righi, più voci in ogni rigo, più versi nei testi, e
1292 le variabili contenenti la musica possono essere poste in file
1293 separati se dovessero diventare troppo lunghe.
1294
1295 @cindex struttura di un inno
1296 @cindex SATB, struttura di
1297 @cindex vocale, partitura, varie strofe
1298 @cindex varie strofe vocali
1299 @cindex strofe, vocali, varie
1300
1301 Ecco un esempio della prima linea di un inno con quattro
1302 strofe, impostate su SATB.  In questo caso le parole per tutte e quattro
1303 le parti sono le stesse.  Si noti l'uso delle variabili per separare
1304 la notazione musicale e le parole dalla struttura del rigo.  Si veda anche
1305 come una variabile, che abbiamo deciso di chiamare @q{keyTime}, venga usata
1306 per avere vari comandi a disposizione all'interno dei due righi.  In altri
1307 esempi questo viene spesso chiamato @q{global}.
1308
1309 @lilypond[quote,verbatim]
1310 keyTime = { \key c \major \time 4/4 \partial 4 }
1311
1312 SopMusic   = \relative { c'4 | e4. e8 g4  g    | a4   a   g  }
1313 AltoMusic  = \relative { c'4 | c4. c8 e4  e    | f4   f   e  }
1314 TenorMusic = \relative  { e4 | g4. g8 c4.   b8 | a8 b c d e4 }
1315 BassMusic  = \relative  { c4 | c4. c8 c4  c    | f8 g a b c4 }
1316
1317 VerseOne =
1318   \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1319 VerseTwo   =
1320   \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1321 VerseThree =
1322   \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1323 VerseFour  =
1324   \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1325
1326 \score {
1327   \new ChoirStaff <<
1328     \new Staff <<
1329       \clef "treble"
1330       \new Voice = "Sop"  { \voiceOne \keyTime \SopMusic }
1331       \new Voice = "Alto" { \voiceTwo \AltoMusic }
1332       \new Lyrics \lyricsto "Sop" { \VerseOne   }
1333       \new Lyrics \lyricsto "Sop" { \VerseTwo   }
1334       \new Lyrics \lyricsto "Sop" { \VerseThree }
1335       \new Lyrics \lyricsto "Sop" { \VerseFour  }
1336     >>
1337     \new Staff <<
1338       \clef "bass"
1339       \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1340       \new Voice = "Bass"  { \voiceTwo \BassMusic }
1341     >>
1342   >>
1343 }
1344 @end lilypond
1345
1346 @seealso
1347 Guida alla notazione: @ruser{Vocal music}.
1348
1349
1350 @node Contesti e incisori
1351 @section Contesti e incisori
1352 @translationof Contexts and engravers
1353
1354 I contesti e gli incisori sono stati menzionati in modo informale
1355 nelle sezioni precedenti; ora dobbiamo approfondire
1356 questi concetti, perché sono importanti nell'ottimizzazione
1357 dell'output di LilyPond.
1358
1359
1360 @menu
1361 * I contesti::
1362 * Creare i contesti::
1363 * Gli incisori::
1364 * Modificare le proprietà di contesto::
1365 * Aggiungere e togliere gli incisori::
1366 @end menu
1367
1368 @node I contesti
1369 @subsection I contesti
1370 @translationof Contexts explained
1371
1372 @cindex contesti, spiegazione dei
1373
1374 Quando la musica viene elaborata, molti elementi notazionali che non
1375 compaiono esplicitamente nel file di input devono essere aggiunti
1376 nell'output.  Ad esempio, si confrontino l'input e l'output del
1377 seguente esempio:
1378
1379 @lilypond[quote,verbatim]
1380 \relative { cis''4 cis2. | a4 a2. | }
1381 @end lilypond
1382
1383 L'input è alquanto essenziale, ma nell'output sono stati aggiunti stanghette,
1384 alterazioni, l'armatura di chiave e il tempo.  Quando LilyPond @emph{interpreta}
1385 l'input l'informazione musicale viene analizzata da sinistra a destra, proprio
1386 come un musicista legge uno spartito.  Mentre legge l'input, il programma
1387 ricorda dove si trovano i confini della misura, e quali altezze richiedono
1388 espliciti accidenti.  Questa informazione deve essere conservata a diversi
1389 livelli.  Ad esempio, un accidente influisce solo su un singolo rigo, mentre
1390 una stanghetta deve essere sincronizzata lungo l'intera partitura.
1391
1392 All'interno di LilyPond, queste regole e pezzi di informazione sono raggruppati
1393 nei @emph{Contesti}.  Abbiamo già presentato il contesto @code{Voice}.
1394 Altri contesti sono @code{Staff} e @code{Score}.  I contesti sono strutturati
1395 gerarchicamente per riflettere la natura gerarchica di una partitura musicale.
1396 Ad esempio: un contesto @code{Staff} può contenere molti contesti @code{Voice},
1397 e un contesto @code{Score} può contenere molti contesti @code{Staff}.
1398
1399 @quotation
1400 @sourceimage{context-example,5cm,,}
1401 @end quotation
1402
1403 Ogni contesto è responsabile di far rispettare alcune regole di notazione,
1404 creare alcuni oggetti della notazione e conservare le proprietà
1405 associate.  Ad esempio, il contesto @code{Voice} può introdurre
1406 un'alterazione e poi il contesto @code{Staff} mantiene la regola per
1407 mostrare o sopprimere l'alterazione per il resto della misura.
1408
1409 Un altro esempio: la sincronizzazione delle stanghette è gestita, per
1410 impostazione predefinita, nel contesto @code{Score}.  Tuttavia, in
1411 alcune forme musicali potremmo non volere che le stanghette siano
1412 sincronizzate -- si consideri una partitura polimetrica in 4/4 e 3/4. In
1413 questi casi, dobbiamo modificare le impostazioni predefinite dei
1414 contesti @code{Score} e @code{Staff}.
1415
1416 Per spartiti molto semplici, i contesti vengono creati implicitamente, e
1417 non è necessario occuparsene.  Ma per brani più ampi, come qualsiasi
1418 cosa abbia più di un rigo, devono essere creati esplicitamente per
1419 essere sicuri di avere tutti i righi necessari, e che questi siano
1420 nel giusto ordine.  Per scrivere brani che utilizzano una
1421 notazione speciale, di solito si modificano i contesti esistenti, o
1422 addirittura se ne creano di completamente nuovi.
1423
1424 Oltre ai contesti @code{Score,} @code{Staff} e @code{Voice} ci sono
1425 contesti che stanno tra i livelli della partitura (score) e del
1426 rigo (staff) per controllare i gruppi di pentagrammi, come
1427 i contesti @code{PianoStaff} e @code{ChoirStaff}.  Ci sono anche
1428 contesti alternativi per il rigo e la voce, e contesti per il
1429 testo, le percussioni, la tastiera, il basso continuo, etc.
1430
1431 I nomi di tutti i tipi di contesto sono formati da una o più
1432 parole, e ogni parola viene unita immediatamente alla parola
1433 precedente senza trattini o underscore bensì con la prima lettera
1434 maiuscola: ad esempio, @code{GregorianTranscriptionStaff}.
1435
1436
1437 @seealso
1438 Guida alla notazione: @ruser{Contexts  explained}.
1439
1440
1441 @node Creare i contesti
1442 @subsection Creare i contesti
1443 @translationof Creating contexts
1444
1445 @funindex \new
1446 @funindex new
1447 @cindex nuovi contesti
1448 @cindex creazione di contesti
1449 @cindex contesti, creazione di
1450
1451 In un file di input un blocco della partitura, introdotto dal comando @code{\score},
1452 contiene un'espressione musicale singola e una definizione di output
1453 associata (o un blocco @code{\layout} o un blocco @code{\midi}).
1454 Di solito si lascia che il contesto @code{Score} sia creato automaticamente
1455 quando inizia l'interpretazione di quell'espressione musicale.
1456
1457 Per le partiture che hanno una sola voce e un solo rigo, si può lasciare che
1458 i contesti @code{Voice} e @code{Staff} siano creati automaticamente, ma per
1459 le partiture più complesse è necessario crearli manualmente.  Il comando
1460 più semplice per farlo è @code{\new}.  Viene posto prima di
1461 un'espressione musicale, ad esempio
1462
1463 @example
1464 \new @var{tipo} @var{espressione-musicale}
1465 @end example
1466
1467 @noindent
1468 dove @var{tipo} è il nome di un contesto (come @code{Staff} o
1469 @code{Voice}).  Questo comando crea un nuovo contesto, e inizia a
1470 interpretare @var{espressione-musicale} all'interno di quel contesto.
1471
1472 (Si noti che normalmente non è necessario il comando @code{\new Score},
1473 perché il fondamentale contesto di livello superiore @code{Score} viene creato
1474 automaticamente quando l'espressione musicale all'interno del blocco @code{\score}
1475 viene interpretata.  L'unica ragione per creare un contesto @code{Score}
1476 esplicitamente con @code{\new Score} è di inserire un blocco
1477 @code{\with} dove si possono specificare uno o più valori delle proprietà
1478 di contesto, predefiniti per tutto lo spartito..  Le informazioni su come
1479 usare i blocchi @code{\with} si trovano sotto il titolo
1480 @qq{Setting context properties with @code{\\with} } in
1481 @ref{Modifying context properties}.)
1482
1483 @warning{@bs{}@code{new Score} non dovrebbe essere usato perché il fondamentale
1484 contesto di livello superiore @code{Score} viene creato automaticamente quando
1485 l'espressione musicale all'interno del blocco @bs{}@code{score} viene
1486 interpretata.  I valori predefiniti delle proprietà di contesto validi per tutta
1487 la partitura possono essere modificati nel blocco @bs{}@code{layout}.  Vedi
1488 @ref{Modifying context properties}}
1489
1490 Nelle sezioni precedenti hai già visto molti esempi pratici della creazione
1491 di nuovi contesti @code{Staff} e @code{Voice}, ma per ricordarti
1492 come questi comandi vengano usati in pratica, ecco un esempio
1493 di musica vera e propria:
1494
1495 @lilypond[quote,verbatim,ragged-right]
1496 \score {  % start of single compound music expression
1497   <<  % start of simultaneous staves section
1498     \time 2/4
1499     \new Staff {  % create RH staff
1500       \clef "treble"
1501       \key g \minor
1502       \new Voice {  % create voice for RH notes
1503         \relative {  % start of RH notes
1504           d''4 ees16 c8. |
1505           d4 ees16 c8. |
1506         }  % end of RH notes
1507       }  % end of RH voice
1508     }  % end of RH staff
1509     \new Staff <<  % create LH staff; needs two simultaneous voices
1510       \clef "bass"
1511       \key g \minor
1512       \new Voice {  % create LH voice one
1513         \voiceOne
1514         \relative {  % start of LH voice one notes
1515           g8 <bes d> ees, <g c> |
1516           g8 <bes d> ees, <g c> |
1517         }  % end of LH voice one notes
1518       }  % end of LH voice one
1519       \new Voice {  % create LH voice two
1520         \voiceTwo
1521         \relative {  % start of LH voice two notes
1522           g4 ees |
1523           g4 ees |
1524         }  % end of LH voice two notes
1525       }  % end of LH voice two
1526     >>  % end of LH staff
1527   >>  % end of simultaneous staves section
1528 }  % end of single compound music expression
1529 @end lilypond
1530
1531 (Si noti che tutte le asserzioni che aprono un blocco o con delle
1532 parentesi graffe, @code{@{}, o con delle parentesi angolari doppie, @code{<<},
1533 sono indentate di due spazi, e la parentesi di chiusura corrispondente
1534 è indentata esattamente dello stesso spazio.  Pur non essendo un
1535 requisito indispensabile, seguire questa pratica ridurrà enormemente
1536 il numero di errori da @q{parentesi spaiate}, ed è quindi fortemente
1537 consigliato.  Permette di vedere a colpo d'occhio la struttura della
1538 musica, e qualsiasi parentesi spaiata sarà facilmente riconoscibile.
1539 Si noti anche come il rigo LH faccia uso di parentesi angolari doppie
1540 perché richiede due voci, mentre il rigo RH è costituito da
1541 una singola espressione musicale compresa tra parentesi
1542 graffe perché richiede una sola voce.)
1543
1544 @cindex contesti, dare un nome
1545 @cindex dare un nome ai contesti
1546
1547 Il comando @code{\new} può anche dare un nome identificativo al
1548 contesto per distinguerlo da altri contesti dello stesso tipo,
1549
1550 @example
1551 \new @var{tipo} = @var{id} @var{espressione-musicale}
1552 @end example
1553
1554 Si noti la distinzione tra il nome del tipo di contesto,
1555 @code{Staff}, @code{Voice}, etc, e il nome identificativo di un
1556 particolare esempio di quel tipo, che può essere qualsiasi sequenza di
1557 lettere inventata dall'utente.  Nel nome identificativo si possono usare
1558 anche numeri e spazi, ma in questo caso deve essere compreso tra virgolette,
1559 ovvero @code{\new Staff = "MioPentagramma 1" @var{espressione-musicale}}.
1560 Il nome identificativo viene utilizzato per riportare a quel
1561 particolare esempio di un contesto.  Abbiamo visto questo utilizzo
1562 nella sezione sul testo, si veda @ref{Voices and vocals}.
1563
1564
1565 @seealso
1566 Guida alla notazione: @ruser{Creating and referencing contexts}.
1567
1568
1569 @node Gli incisori
1570 @subsection Gli incisori
1571 @translationof Engravers explained
1572
1573 @cindex incisori
1574
1575 Ogni segno presente nell'output di una partitura realizzata con LilyPond
1576 è prodotto da un @code{Engraver} (incisore).  Dunque c'è un incisore per
1577 creare i righi, uno per le teste delle note, uno per i gambi, uno per le
1578 travature, etc, etc.  In totale ci sono più di 120 incisori!
1579 Fortunatamente, per gran parte delle partiture è necessario conoscerne
1580 pochi soltanto, e per partiture semplici non occorre conoscerne
1581 alcuno.
1582
1583 Gli incisori vivono ed operano all'interno dei Contesti.  Incisori come
1584 il @code{Metronome_mark_engraver}, la cui azione e il cui output si applicano
1585 alla partitura nel suo complesso, operano nel contesto di livello più superiore -- il
1586 contesto @code{Score}.
1587
1588 Gli incisori @code{Clef_engraver} e @code{Key_engraver} devono invece
1589 trovarsi in ogni contesto @code{Staff}, poiché righi diversi potrebbero
1590 richiedere diverse chiavi e tonalità.
1591
1592 Gli incisori @code{Note_heads_engraver} e @code{Stem_engraver} abitano
1593 ogni contesto @code{Voice}, il contesto che si trova al livello più
1594 basso di tutti.
1595
1596 Ogni incisore elabora gli oggetti specifici associati alla sua funzione, e
1597 gestisce le proprietà che a quella funzione si riferiscono. Queste proprietà,
1598 come le proprietà associate ai contesti, possono essere modificate per
1599 cambiare il funzionamento dell'incisore o l'aspetto di quegli elementi
1600 nella partitura.
1601
1602 Gli incisori hanno tutti dei nomi composti formati da parole che
1603 descrivono la loro funzione.  Solo la prima parola inizia con una maiuscola,
1604 e il resto è collegato insieme con dei trattini bassi.  Quindi
1605 l'incisore @code{Staff_symbol_engraver} ha il compito di creare le linee del
1606 pentagramma, il @code{Clef_engraver} determina e definisce il punto
1607 di riferimento dell'altezza sul rigo disegnando il simbolo di una chiave.
1608
1609 Ecco alcuni degli incisori più utilizzati insieme alla loro
1610 funzione.  Vedrai che di solito è facile indovinare la funzione a
1611 partire dal nome, o viceversa.
1612
1613 @multitable @columnfractions .3 .7
1614 @headitem Incisore
1615   @tab Funzione
1616 @item Accidental_engraver
1617   @tab Crea le alterazioni, le alterazioni di precauzione e di cortesia
1618 @item Beam_engraver
1619   @tab Incide le travature
1620 @item Clef_engraver
1621   @tab Incide le chiavi
1622 @item Completion_heads_engraver
1623   @tab Separa le note che attraversano le stanghette
1624 @item Dynamic_engraver
1625   @tab Crea le forcelle e i testi relativi alla dinamica
1626 @item Forbid_line_break_engraver
1627   @tab Impedisce l'a capo se un elemento musicale è ancora attivo
1628 @item Key_engraver
1629   @tab Crea l'armatura di chiave
1630 @item Metronome_mark_engraver
1631   @tab Incide il tempo metronomico
1632 @item Note_heads_engraver
1633   @tab Incide le teste delle note
1634 @item Rest_engraver
1635   @tab Incide le pause
1636 @item Staff_symbol_engraver
1637   @tab Incide le cinque linee (predefinite) del pentagramma
1638 @item Stem_engraver
1639   @tab Crea i gambi e i tremoli su singoli gambi
1640 @item Time_signature_engraver
1641   @tab Crea l'indicazione di tempo
1642 @end multitable
1643
1644 @smallspace
1645
1646 Vedremo in seguito come cambiare l'output di Lilypond
1647 modificando il comportamento degli incisori.
1648
1649
1650 @seealso
1651 Guida al funzionamento interno: @rinternals{Engravers and Performers}.
1652
1653
1654 @node Modificare le proprietà di contesto
1655 @subsection Modificare le proprietà di contesto
1656 @translationof Modifying context properties
1657
1658 @cindex contesto, proprietà del
1659 @cindex contesto, proprietà del, modificare
1660 @cindex modificare le proprietà del contesto
1661 @funindex \set
1662 @funindex set
1663 @funindex \unset
1664 @funindex unset
1665
1666 I contesti si occupano di tenere i valori di un certo numero di
1667 @emph{proprietà} del contesto.  Molte di queste possono essere cambiate
1668 per influenzare l'interpretazione dell'input e quindi modificare
1669 l'aspetto dell'output.  Per cambiarle si usa il comando
1670 @code{\set}.  Questo assume la seguente forma
1671
1672 @example
1673 \set @emph{NomeDelContesto}.@emph{nomeDellaProprietà} = #@emph{valore}
1674 @end example
1675
1676 Dove il @emph{NomeDelContesto} è di solito @code{Score},
1677 @code{Staff} o @code{Voice}.  Può essere omesso, e in questo
1678 caso viene considerato il contesto attuale (solitamente @code{Voice}).
1679
1680 I nomi delle proprietà del contesto consistono in parole unite
1681 insieme e senza lineette o trattini bassi, e solo la prima
1682 parola inizia con una lettera maiuscola.  Ecco alcuni esempi
1683 di quelle più usate comunemente.  Ma ne esistono molte altre.
1684
1685 @c attempt to force this onto a new page
1686 @need 50
1687 @multitable @columnfractions .25 .15 .45 .15
1688 @headitem nomeDellaProprietà
1689   @tab Tipo
1690   @tab Funzione
1691   @tab Valore di esempio
1692 @item extraNatural
1693   @tab Booleano
1694   @tab Se è vero, mette i segni di bequadro prima degli accidenti
1695   @tab @code{#t}, @code{#f}
1696 @item currentBarNumber
1697   @tab Intero
1698   @tab Imposta il numero della battuta corrente
1699   @tab @code{50}
1700 @item doubleSlurs
1701   @tab Booleano
1702   @tab Se è vero, stampa le legature di portamento sia sopra che sotto le note
1703   @tab @code{#t}, @code{#f}
1704 @item instrumentName
1705   @tab Testo
1706   @tab Imposta il nome da inserire all'inizio del rigo
1707   @tab @code{"Cello I"}
1708 @item fontSize
1709   @tab Reale
1710   @tab Aumenta o riduce la dimensione del carattere
1711   @tab @code{2.4}
1712 @item stanza
1713   @tab Testo
1714   @tab Imposta il testo da stampare prima dell'inizio di una strofa
1715   @tab @code{"2"}
1716 @end multitable
1717
1718 @noindent
1719 mentre un Booleano è o Vero (@code{#t}) o Falso (@code{#f}),
1720 un Intero è un numero intero positivo, un Reale è un numero
1721 decimale positivo o negativo, e il testo è racchiuso tra
1722 virgolette.  Si noti la presenza del segno cancelletto,
1723 (@code{#}), in due punti diversi -- come parte del valore Booleano
1724 prima di @code{t} o @code{f}, e prima del @emph{valore}
1725 nell'affermazione @code{\set}.  Dunque quando si inserisce un valore
1726 Booleano bisogna scrivere due cancelletti, ad esempio @code{##t}.
1727
1728 @cindex proprietà che operano nei contesti
1729 @cindex impostare le proprietà all'interno dei contesti
1730
1731 Prima di poter impostare una qualsiasi di queste proprietà dobbiamo sapere
1732 in quale contesto esse operino.  Talvolta questo è ovvio,
1733 ma talvolta può risultare complicato.  Se viene specificato il
1734 contesto sbagliato, non viene generato alcun messaggio di errore, ma l'azione
1735 desiderata non avrà luogo.  Ad esempio, la proprietà
1736 @code{instrumentName} risiede ovviamente nel contesto @code{Staff}, poiché
1737 è il pentagramma a dover essere nominato.
1738 Nell'esempio seguente viene etichettato il primo pentagramma, ma non il secondo,
1739 perché abbiamo omesso il nome del contesto.
1740
1741 @lilypond[quote,verbatim,ragged-right]
1742 <<
1743   \new Staff \relative {
1744     \set Staff.instrumentName = #"Soprano"
1745     c''2 c
1746  }
1747   \new Staff \relative {
1748     \set instrumentName = #"Alto"  % Wrong!
1749     d'2 d
1750  }
1751 >>
1752 @end lilypond
1753
1754 Ricorda che il nome di contesto predefinito è @code{Voice}, dunque il
1755 secondo comando @code{\set} imposta la proprietà @code{instrumentName} nel
1756 contesto @code{Voice} col valore @qq{Alto}, ma dato che LilyPond non trova
1757 tale proprietà nel contesto @code{Voice}, non ha avuto luogo
1758 alcuna altra azione.  Questo non è un errore, e nessun messaggio di
1759 errore viene riportato nel file di log.
1760
1761 Analogamente, se il nome della proprietà è stato scritto male, non viene
1762 generato alcun messaggio di errore, e ovviamente l'azione desiderata non può essere
1763 eseguita.  Infatti, col comando @code{\set} puoi impostare qualsiasi @q{proprietà}
1764 (anche inventata) usando qualsiasi nome che ti piaccia in qualsiasi contesto
1765 esistente.  Ma se LilyPond non conosce il nome, allora non verrà intrapresa
1766 alcuna azione.  Alcuni editor di testo che hanno uno speciale supporto per i file
1767 di input di LilyPond presentano i nomi delle proprietà con una lista scorrevole
1768 al passaggio del mouse, come JEdit col plugin LilyPondTool, oppure
1769 evidenziano in modo diverso i nomi delle proprietà non conosciuti, come fa ConTEXT.
1770 Se non usi un editor con queste funzionalità, è consigliabile controllare il nome
1771 delle proprietà nella Guida al funzionamento interno: si veda
1772 @rinternals{Tunable context properties}, o @rinternals{Contexts}.
1773
1774 La proprietà @code{instrumentName} funzionerà soltanto se inserita nel contesto
1775 @code{Staff}, ma alcune proprietà possono essere collocate in più di un contesto.
1776 Ad esempio, la proprietà @code{extraNatural} è impostata di default sul
1777 valore ##t (vero) su tutti i righi.  Se viene impostata su ##f (falso) in uno
1778 specifico contesto @code{Staff} si applica solo alle alterazioni presenti su
1779 quel rigo.  Se impostata su falso nel contesto @code{Score} si applica a tutti
1780 i righi.
1781
1782 Quindi in questo modo si disattiva il bequadro su un rigo:
1783
1784 @lilypond[quote,verbatim,ragged-right]
1785 <<
1786   \new Staff \relative {
1787     aeses'2 aes
1788  }
1789   \new Staff \relative {
1790     \set Staff.extraNatural = ##f
1791     aeses'2 aes
1792  }
1793 >>
1794 @end lilypond
1795
1796 @noindent
1797 e in questo modo si disattiva in tutti i righi:
1798
1799 @lilypond[quote,verbatim,ragged-right]
1800 <<
1801   \new Staff \relative {
1802     aeses'2 aes
1803  }
1804   \new Staff \relative {
1805     \set Score.extraNatural = ##f
1806     aeses'2 aes
1807  }
1808 >>
1809 @end lilypond
1810
1811 Un altro esempio: se la proprietà @code{clefTransposition} viene posta
1812 nel contesto @code{Score}, cambia immediatamente il valore
1813 della trasposizione in tutti i righi presenti e imposta un nuovo
1814 valore predefinito che sarà applicato a tutti i righi.
1815
1816 Il comando opposto, @code{\unset}, di fatto rimuove la proprietà
1817 dal contesto, e questo fa sì che molte proprietà
1818 tornino al valore predefinito.  Solitamente @code{\unset} non è
1819 necessario dal momento che un nuovo comando @code{\set} permetterà
1820 di ottenere quanto si desidera.
1821
1822 I comandi @code{\set} e @code{\unset} possono trovarsi in qualsiasi
1823 punto del file di input e avranno effetto dal momento in cui si
1824 incontrano fino alla fine della partitura o finché la proprietà non
1825 viene attivata (@code{\set}) o disattivata (@code{\unset}) di nuovo.
1826 Proviamo a cambiare varie volte la dimensione del font, che influisce (tra
1827 le altre cose) sulla dimensione delle teste delle note.  La modifica è relativa
1828 al valore predefinito, non all'ultimo valore impostato.
1829
1830 @lilypond[quote,verbatim,ragged-right]
1831 \relative {
1832   c'4 d
1833   % make note heads smaller
1834   \set fontSize = #-4
1835   e4 f |
1836   % make note heads larger
1837   \set fontSize = #2.5
1838   g4 a
1839   % return to default size
1840   \unset fontSize
1841   b4 c |
1842 }
1843 @end lilypond
1844
1845 Abbiamo visto come impostare i valori di diversi tipi di
1846 proprietà.  Si note che gli interi e i numeri sono sempre preceduti
1847 da un segno di cancelletto, @code{#}, mentre un valore vero o falso è
1848 specificato con @code{##t} e @code{##f}, con due cancelletti.  Una proprietà testuale
1849 dovrebbe essere racchiusa tra virgolette, come abbiamo visto prima, sebbene
1850 vedremo in seguito che in realtà il testo può essere specificato in un
1851 modo molto più generale usando il potente comando @code{\markup}.
1852
1853 @subsubheading Impostare le proprietà di contesto con @code{\with}
1854
1855 @funindex \with
1856 @funindex with
1857 @cindex contesto, proprietà del, impostare con \with
1858
1859 Il valore predefinito delle proprietà di contesto possono essere impostate
1860 anche nel momento in cui il contesto viene creato.  Talvolta questo è un
1861 modo più chiaro per specificare il valore della proprietà se questa deve
1862 rimanere fissa per la durata del contesto.  Un contesto creato col comando @code{\new}
1863 può essere immediatamente seguito da un blocco @code{\with @{ @dots{} @}} dove
1864 vengono impostati i valori predefiniti della proprietà.  Ad esempio, se vogliamo
1865 eliminare la stampa del bequadro per l'estensione di un rigo possiamo scrivere:
1866
1867 @example
1868 \new Staff \with @{ extraNatural = ##f @}
1869 @end example
1870
1871 @noindent
1872 così:
1873
1874 @lilypond[quote,verbatim,ragged-right]
1875 <<
1876   \new Staff {
1877     \relative {
1878       gisis'4 gis aeses aes
1879     }
1880   }
1881   \new Staff \with { extraNatural = ##f } {
1882     \relative {
1883       gisis'4 gis aeses aes
1884     }
1885   }
1886 >>
1887 @end lilypond
1888
1889 Si possono ancora cambiare dinamicamente le proprietà impostate in questo modo
1890 usando @code{\set}, mentre con @code{\unset} si possono riportare al valore
1891 predefinito impostato nel blocco @code{\with}.
1892
1893 @cindex fontSize, impostazione predefinita e impostazione manuale
1894
1895 Quindi se la proprietà @code{fontSize} viene inserita in una
1896 proposizione @code{\with}, imposta il valore predefinito
1897 della dimensione del font.  Se viene in seguito modificato con @code{\set},
1898 questo nuovo valore predefinito può essere recuperato col comando
1899 @code{\unset fontSize}.
1900
1901 @subsubheading Impostare le proprietà di contesto con @code{\context}
1902
1903 @cindex contesto, proprietà del, impostare con \context
1904 @funindex \context
1905 @funindex context
1906
1907 I valori delle proprietà di un contesto possono essere impostate in @emph{tutti}
1908 i contesti di un particolare tipo, così come in tutti i contesti @code{Staff}, con un
1909 solo comando.  Il tipo di contesto viene identificato attraverso il
1910 suo nome, come @code{Staff}, preceduto da una barra inversa (backslash): @code{\Staff}.
1911 La dichiarazione che imposta il valore della proprietà è la stessa che
1912 abbiamo visto nel blocco @code{\with}, introdotto prima.  Viene posta in
1913 un blocco @code{\context} all'interno di un blocco @code{\layout}.  Ogni
1914 blocco @code{\context} avrà effetto su tutti i contesti del tipo specificato
1915 nel blocco @code{\score} o @code{\book} nel quale il blocco
1916 @code{\layout} si trova.  Ecco un esempio per mostrare la struttura:
1917
1918 @lilypond[verbatim,quote]
1919 \score {
1920   \new Staff {
1921     \relative {
1922       cisis''4 e d cis
1923     }
1924   }
1925   \layout {
1926     \context {
1927       \Staff
1928       extraNatural = ##t
1929     }
1930   }
1931 }
1932 @end lilypond
1933
1934 Se si vuole che la modifica della proprietà venga applicata a tutti i righi
1935 della partitura:
1936
1937 @lilypond[quote,verbatim]
1938 \score {
1939   <<
1940     \new Staff {
1941       \relative {
1942         gisis'4 gis aeses aes
1943       }
1944     }
1945     \new Staff {
1946       \relative {
1947         gisis'4 gis aeses aes
1948       }
1949     }
1950   >>
1951   \layout {
1952     \context {
1953       \Score extraNatural = ##f
1954     }
1955   }
1956 }
1957 @end lilypond
1958
1959 @noindent
1960 Le proprietà di contesto impostate in questo modo possono essere sovrascritte per
1961 alcuni particolari contesti attraverso asserzioni in un blocco @code{\with}, e tramite
1962 comandi @code{\set} incorporati nelle asserzioni musicali.
1963
1964
1965 @seealso
1966 Guida alla notazione:
1967 @ruser{Changing context default settings},
1968 @ruser{The set command}.
1969
1970 Guida al funzionamento interno:
1971 @rinternals{Contexts},
1972 @rinternals{Tunable context properties}.
1973
1974
1975 @node Aggiungere e togliere gli incisori
1976 @subsection Aggiungere e togliere gli incisori
1977 @translationof Adding and removing engravers
1978
1979 @cindex incisori, aggiungere
1980 @cindex aggiungere gli incisori
1981 @cindex incisori, rimuovere
1982 @cindex rimuovere gli incisori
1983
1984 @funindex \consists
1985 @funindex consists
1986 @funindex \remove
1987 @funindex remove
1988
1989 Abbiamo visto che ciascuno dei contesti contiene vari incisori, ognuno
1990 dei quali ha il compito di produrre una parte specifica dell'output,
1991 come stanghette, righi, teste, gambi, etc..  Se un incisore
1992 viene rimosso da un contesto, non può più produrre il suo
1993 output.  Si tratta di un metodo sbrigativo per modificare l'output, e talvolta
1994 può essere utile.
1995
1996 @subsubheading Cambiare un singolo contesto
1997
1998 Per rimuovere un incisore da un singolo contesto usiamo il
1999 comando @code{\with} posto subito dopo il comando di creazione del
2000 contesto, come esposto nella sezione precedente.
2001
2002 A titolo di esempio, ripetiamo un esempio della sezione precedente
2003 rimuovendo le linee del rigo.  Ricorda che le linee del rigo vengono
2004 create dall'incisore @code{Staff_symbol_engraver}.
2005
2006 @lilypond[quote,verbatim,ragged-right]
2007 \new Staff \with {
2008   \remove "Staff_symbol_engraver"
2009 }
2010 \relative {
2011   c'4 d
2012   \set fontSize = #-4  % make note heads smaller
2013   e4 f |
2014   \set fontSize = #2.5  % make note heads larger
2015   g4 a
2016   \unset fontSize  % return to default size
2017   b4 c |
2018 }
2019 @end lilypond
2020
2021 @cindex ambitus, incisore dell'
2022
2023 Gli incisori possono essere aggiunti anche a contesti individuali.
2024 Il comando per farlo è
2025
2026 @code{\consists @var{Engraver_name}},
2027
2028 @noindent
2029 posto all'interno di un blocco @code{\with}.  Alcune partiture vocali hanno
2030 un ambitus collocato all'inizio del pentagramma per indicare l'intervallo tra la nota
2031 più grave e quella più acuta in quella parte -- si veda @rglos{ambitus}.  L'ambitus
2032 viene creato dall'incisore @code{Ambitus_engraver}, che di norma non è incluso in
2033 alcun contesto.  Se lo aggiungiamo al contesto @code{Voice}, calcola l'intervallo
2034 di quella voce soltanto:
2035
2036 @lilypond[quote,verbatim,ragged-right]
2037 \new Staff <<
2038   \new Voice \with {
2039     \consists "Ambitus_engraver"
2040   } {
2041     \relative {
2042       \voiceOne
2043       c''4 a b g
2044     }
2045   }
2046   \new Voice {
2047     \relative {
2048       \voiceTwo
2049       c'4 e d f
2050     }
2051   }
2052 >>
2053 @end lilypond
2054
2055 @noindent
2056 ma se aggiungiamo l'incisore ambitus al contesto @code{Staff}, calcola
2057 l'intervallo di tutte le note in tutte le voci di quel pentagramma:
2058
2059 @lilypond[quote,verbatim,ragged-right]
2060 \new Staff \with {
2061   \consists "Ambitus_engraver"
2062 }
2063 <<
2064   \new Voice {
2065     \relative {
2066       \voiceOne
2067       c''4 a b g
2068     }
2069   }
2070   \new Voice {
2071     \relative {
2072       \voiceTwo
2073       c'4 e d f
2074     }
2075   }
2076 >>
2077 @end lilypond
2078
2079 @subsubheading Modificare tutti i contesti dello stesso tipo
2080
2081 @funindex \layout
2082 @funindex layout
2083
2084 Gli esempi precedenti mostrano come rimuovere o aggiungere degli incisori
2085 a contesti individuali.  È anche possibile rimuovere o aggiungere gli
2086 incisori per ogni contesto di un particolare tipo inserendo i comandi
2087 nel contesto appropriato in un blocco @code{\layout}.  Ad esempio, se
2088 volessimo mostrare un ambitus per ogni pentagramma in una partitura
2089 di quattro pentagrammi, potremmo scrivere
2090
2091 @lilypond[quote,verbatim,ragged-right]
2092 \score {
2093   <<
2094     \new Staff {
2095       \relative {
2096         c''4 a b g
2097       }
2098     }
2099     \new Staff {
2100       \relative {
2101         c'4 a b g
2102       }
2103     }
2104     \new Staff {
2105       \clef "G_8"
2106       \relative {
2107         c'4 a b g
2108       }
2109     }
2110     \new Staff {
2111       \clef "bass"
2112       \relative {
2113         c4 a b g
2114       }
2115     }
2116   >>
2117   \layout {
2118     \context {
2119       \Staff
2120       \consists "Ambitus_engraver"
2121     }
2122   }
2123 }
2124 @end lilypond
2125
2126 @noindent
2127 I valori delle proprietà di un contesto possono essere impostati anche
2128 per tutti i contesti di un particolare tipo includendo il comando
2129 @code{\set} in un blocco @code{\context} nello stesso modo.
2130
2131 @seealso
2132 Guida alla notazione: @ruser{Modifying context plug-ins},
2133 @ruser{Changing context default settings}.
2134
2135 @knownissues
2136 Gli incisori @code{Stem_engraver} e @code{Beam_engraver} fissano i propri
2137 oggetti alle teste delle note.  Se si elimina @code{Note_heads_engraver}
2138 le teste delle note non vengono prodotte e di conseguenza non vengono creati
2139 nemmeno i gambi né le travature.
2140
2141
2142 @node Estendere i modelli
2143 @section Estendere i modelli
2144 @translationof Extending the templates
2145
2146 Hai letto il tutorial, sai come scrivere la musica, comprendi
2147 i concetti fondamentali.  Ma come puoi ottenere i
2148 pentagrammi che desideri?  Puoi trovare molti
2149 modelli (vedi @ref{Templates}) da cui partire.
2150 Ma se ti serve qualcosa che non è presente lì?  Continua a leggere.
2151
2152 @menu
2153 * Soprano e violoncello::
2154 * Partitura vocale a quattro parti SATB::
2155 * Scrivere una partitura da zero::
2156 * Ridurre l'input grazie a variabili e funzioni::
2157 * Partiture e parti::
2158 @end menu
2159
2160 @node Soprano e violoncello
2161 @subsection Soprano e violoncello
2162 @translationof Soprano and cello
2163
2164 @cindex modello, modificare
2165 @cindex modificare i modelli
2166
2167 Parti dal modello che sembra più simile a ciò che vuoi
2168 ottenere.  Diciamo che vuoi scrivere qualcosa per soprano e
2169 violoncello.  In questo caso, inizieremmo col modello @q{Note e testo} (per
2170 la parte di soprano).
2171
2172 @example
2173 \version @w{"@version{}"}
2174
2175 melodia = \relative @{
2176   \clef "treble"
2177   \key c \major
2178   \time 4/4
2179   a4 b c d
2180 @}
2181
2182 testo = \lyricmode @{
2183   Aaa Bee Cee Dee
2184 @}
2185
2186 \score @{
2187   <<
2188     \new Voice = "one" @{
2189       \autoBeamOff
2190       \melodia
2191     @}
2192     \new Lyrics \lyricsto "one" \testo
2193   >>
2194   \layout @{ @}
2195   \midi @{ @}
2196 @}
2197 @end example
2198
2199 Ora vogliamo aggiungere una parte per violoncello.  Vediamo l'esempio @q{Solo note}:
2200
2201 @example
2202 \version @w{"@version{}"}
2203
2204 melodia = \relative @{
2205   \clef "treble"
2206   \key c \major
2207   \time 4/4
2208   a4 b c d
2209 @}
2210
2211 \score @{
2212   \new Staff \melodia
2213   \layout @{ @}
2214   \midi @{ @}
2215 @}
2216 @end example
2217
2218 Non ci servono due comandi @code{\version}.  Ci servirà invece la
2219 sezione @code{melodia}.  Non vogliamo due sezioni @code{\score}
2220 -- se avessimo due @code{\score}, le due parti sarebbero separate.
2221 Ma le vogliamo insieme, come un duetto.  All'interno della sezione
2222 @code{\score}, non ci servono due @code{\layout} o due @code{\midi}.
2223
2224 Se semplicemente tagliamo e incolliamo la sezione @code{melodia}, finiremo
2225 con l'avere due definizioni @code{melodia}.  Questo non produrrebbe un
2226 errore, ma la seconda definizione sarebbe usata per entrambe le melodie.
2227 Dunque rinominiamole per distinguerle.  Chiameremo la sezione
2228 per il soprano @code{musicaSoprano} e la sezione per il
2229 violoncello @code{musicaVioloncello}.  Se facciamo questo, rinominiamo anche
2230 @code{testo} in @code{testoSoprano}.  Ricorda di rinominare entrambe
2231 le occorrenze di tutti questi nomi -- sia la definizione iniziale (la
2232 parte @code{melody = \relative c' @{ }) sia l'uso del nome (nella
2233 sezione @code{\score}).
2234
2235 Cambiamo anche il pentagramma della parte per violoncello --
2236 che normalmente usa la chiave di basso.  Daremo anche al violoncello
2237 delle note diverse.
2238
2239 @example
2240 \version @w{"@version{}"}
2241
2242 musicaSoprano = \relative @{
2243   \clef "treble"
2244   \key c \major
2245   \time 4/4
2246   a4 b c d
2247 @}
2248
2249 testoSoprano = \lyricmode @{
2250   Aaa Bee Cee Dee
2251 @}
2252
2253 musicaVioloncello = \relative @{
2254   \clef "bass"
2255   \key c \major
2256   \time 4/4
2257   d4 g fis8 e d4
2258 @}
2259
2260 \score @{
2261   <<
2262     \new Voice = "one" @{
2263       \autoBeamOff
2264       \musicaSoprano
2265     @}
2266     \new Lyrics \lyricsto "one" \testoSoprano
2267   >>
2268   \layout @{ @}
2269   \midi @{ @}
2270 @}
2271 @end example
2272
2273 L'aspetto è promettente, ma la parte del violoncello non apparirà nella
2274 partitura -- perché non l'abbiamo inserita nella sezione @code{\score}.  Se
2275 vogliamo che la parte del violoncello compaia sotto quella del soprano,
2276 dobbiamo aggiungere
2277
2278 @example
2279 \new Staff \musicaVioloncello
2280 @end example
2281
2282 @noindent
2283 sotto la parte del soprano.  Dobbiamo anche aggiungere @code{<<} e
2284 @code{>>} intorno alla musica -- che dice a LilyPond che c'è più di
2285 una cosa (in questo caso, due @code{Staff}) che sono
2286 simultanei.  Lo @code{\score} ora appare così:
2287
2288 @c Indentation in this example is deliberately poor
2289 @example
2290 \score @{
2291   <<
2292   <<
2293     \new Voice = "one" @{
2294       \autoBeamOff
2295       \musicaSoprano
2296     @}
2297     \new Lyrics \lyricsto "one" \testoSoprano
2298   >>
2299   \new Staff \musicaVioloncello
2300   >>
2301   \layout @{ @}
2302   \midi @{ @}
2303 @}
2304 @end example
2305
2306 @noindent
2307 L'aspetto è un po' confuso; l'indentazione non è pulita.  Ma si
2308 può correggere facilmente.  Ecco il modello completo per soprano
2309 e violoncello.
2310
2311 @lilypond[quote,verbatim,ragged-right,addversion]
2312 musicaSoprano = \relative {
2313   \clef "treble"
2314   \key c \major
2315   \time 4/4
2316   a4 b c d
2317 }
2318
2319 testoSoprano = \lyricmode {
2320   Aaa Bee Cee Dee
2321 }
2322
2323 musicaVioloncello = \relative {
2324   \clef "bass"
2325   \key c \major
2326   \time 4/4
2327   d4 g fis8 e d4
2328 }
2329
2330 \score {
2331   <<
2332     <<
2333       \new Voice = "one" {
2334         \autoBeamOff
2335         \musicaSoprano
2336       }
2337       \new Lyrics \lyricsto "one" \testoSoprano
2338     >>
2339     \new Staff \musicaVioloncello
2340   >>
2341   \layout { }
2342   \midi { }
2343 }
2344 @end lilypond
2345
2346
2347 @seealso
2348 I modelli da cui partire si trovano nell'appendice @q{Modelli},
2349 si veda @ref{Single staff templates}.
2350
2351
2352 @node Partitura vocale a quattro parti SATB
2353 @subsection Partitura vocale a quattro parti SATB
2354 @translationof Four-part SATB vocal score
2355
2356 @cindex modelli, SATB
2357 @cindex SATB, modelli
2358
2359 Gran parte delle partiture vocali di musica scritta per coro misto a
2360 quattro voci con accompagnamento di orchestra, come l'Eliah di Mendelssohn
2361 o il Messiah di Handel, hanno la musica corale e le parole su quattro
2362 righi, una per ognuna delle voci SATB, con in basso una riduzione per
2363 pianoforte dell'accompagnamento orchestrale.  Ecco un esempio tratto
2364 dal Messiah di Handel:
2365
2366 @c The following should appear as music without code
2367 @lilypond[quote,ragged-right]
2368 global = { \key d \major \time 4/4 }
2369
2370 sopranoMusic = \relative {
2371   \clef "treble"
2372   r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2373 }
2374 sopranoWords = \lyricmode {
2375   Wor -- thy | is the lamb | that was slain |
2376 }
2377
2378 altoMusic = \relative {
2379   \clef "treble"
2380   r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 |
2381 }
2382 altoWords = \sopranoWords
2383
2384 tenorMusic = \relative {
2385   \clef "G_8"
2386   r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2387 }
2388 tenorWords = \sopranoWords
2389
2390 bassMusic = \relative {
2391   \clef "bass"
2392   r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2393 }
2394 bassWords = \sopranoWords
2395
2396 upper = \relative {
2397   \clef "treble"
2398   \global
2399   r4 <a' d fis>2 <a e' a>4 |
2400   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2401   <g cis g'>4 <a d fis> <a cis e>2 |
2402 }
2403
2404 lower = \relative {
2405   \clef "bass"
2406   \global
2407   <d, d'>4 <d d'>2 <cis cis'>4 |
2408   <b b'>4. <b' b'>8 <fis fis'>2 |
2409   <e e'>4 <d d'> <a' a'>2 |
2410 }
2411
2412 \score {
2413   <<  % combine ChoirStaff and PianoStaff in parallel
2414     \new ChoirStaff <<
2415       \new Staff = "sopranos" <<
2416         \set Staff.instrumentName = #"Soprano"
2417         \new Voice = "sopranos" {
2418           \global
2419           \sopranoMusic
2420         }
2421       >>
2422       \new Lyrics \lyricsto "sopranos" {
2423         \sopranoWords
2424       }
2425       \new Staff = "altos" <<
2426         \set Staff.instrumentName = #"Alto"
2427         \new Voice = "altos" {
2428           \global
2429           \altoMusic
2430         }
2431       >>
2432       \new Lyrics \lyricsto "altos" { \altoWords }
2433       \new Staff = "tenors" <<
2434         \set Staff.instrumentName = #"Tenor"
2435         \new Voice = "tenors" {
2436           \global
2437           \tenorMusic
2438         }
2439       >>
2440       \new Lyrics \lyricsto "tenors" { \tenorWords }
2441       \new Staff = "basses" <<
2442         \set Staff.instrumentName = #"Bass"
2443         \new Voice = "basses" {
2444           \global
2445           \bassMusic
2446         }
2447       >>
2448       \new Lyrics \lyricsto "basses" {
2449         \bassWords
2450       }
2451     >>  % end ChoirStaff
2452     \new PianoStaff <<
2453       \set PianoStaff.instrumentName = #"Piano"
2454       \new Staff = "upper" \upper
2455       \new Staff = "lower" \lower
2456     >>
2457   >>
2458 }
2459 @end lilypond
2460
2461 @warning{Questa struttura può essere ottenuta facilmente usando il modello
2462 integrato @code{satb.ly}, descritto in @ref{Built-in templates}.  Ma per
2463 facilità d'uso tale modello nasconde deliberatamente la necessaria struttura
2464 dei contesti, dato che la fornisce automaticamente.  Dunque a scopo di
2465 apprendimento vediamo come costruire questa struttura da zero.  Potresti
2466 aver bisogno di far ciò se il modello integrato non soddisfa le tue
2467 necessità.}
2468
2469 Il modello @qq{copia e modifica} più simile a questa struttura
2470 è @ref{SATB vocal score and automatic piano reduction}, ma
2471 abbiamo bisogno di modificare l'assetto e aggiungere
2472 un accompagnamento per pianoforte che non sia derivato automaticamente dalle
2473 parti vocali.  Le variabili che si riferiscono alla musica e alle parole per
2474 le parti vocali vanno bene, ma dovremo aggiungere le variabili per la
2475 riduzione per pianoforte.
2476
2477 L'ordine con cui i contesti appaiono nel ChoirStaff del modello non
2478 corrisponde all'ordine della partitura vocale mostrata sopra.  Dobbiamo
2479 risistemarli in modo che ci siano quattro righi con le parole scritte
2480 direttamente sotto le note di ogni parte.  Tutte le voci devono
2481 essere @code{\voiceOne}, che è l'impostazione predefinita, quindi
2482 i comandi @code{\voiceXXX} devono essere tolti.  Dobbiamo anche
2483 specificare la chiave di tenore per i tenori.  Il modo in cui il testo
2484 viene specificato nel modello non è stato ancora esaminato quindi
2485 dovremo usare un metodo con cui siamo già familiari.  Aggiungeremo
2486 anche i nomi per ogni rigo.
2487
2488 In questo modo il nostro ChoirStaff avrà questo aspetto:
2489
2490 @example
2491 \new ChoirStaff <<
2492   \new Staff = "sopranos" <<
2493     \set Staff.instrumentName = #"Soprano"
2494     \new Voice = "sopranos" @{
2495       \global
2496       \sopranoMusic
2497     @}
2498   >>
2499   \new Lyrics \lyricsto "sopranos" @{
2500     \sopranoWords
2501   @}
2502   \new Staff = "altos" <<
2503     \set Staff.instrumentName = #"Alto"
2504     \new Voice = "altos" @{
2505       \global
2506       \altoMusic
2507     @}
2508   >>
2509   \new Lyrics \lyricsto "altos" @{
2510     \altoWords
2511   @}
2512   \new Staff = "tenors" <<
2513     \set Staff.instrumentName = #"Tenor"
2514     \new Voice = "tenors" @{
2515       \global
2516       \tenorMusic
2517     @}
2518   >>
2519   \new Lyrics \lyricsto "tenors" @{
2520     \tenorWords
2521   @}
2522   \new Staff = "basses" <<
2523     \set Staff.instrumentName = #"Bass"
2524     \new Voice = "basses" @{
2525       \global
2526       \bassMusic
2527     @}
2528   >>
2529   \new Lyrics \lyricsto "basses" @{
2530     \bassWords
2531   @}
2532 >>  % end ChoirStaff
2533 @end example
2534
2535 Poi dobbiamo lavorare sulla parte per pianoforte.  Questo
2536 è facile - basta prendere la parte per pianoforte dal
2537 modello @q{Pianoforte solista}:
2538
2539 @example
2540 \new PianoStaff <<
2541   \set PianoStaff.instrumentName = #"Piano  "
2542   \new Staff = "upper" \upper
2543   \new Staff = "lower" \lower
2544 >>
2545 @end example
2546
2547 e aggiungere le definizioni delle variabili @code{upper}
2548 e @code{lower}.
2549
2550 ChoirStaff e PianoStaff devono essere uniti attraverso parentesi angolari,
2551 perché vogliamo che siano impilati uno sopra l'altro:
2552
2553 @example
2554 <<  % combine ChoirStaff and PianoStaff one above the other
2555   \new ChoirStaff <<
2556     \new Staff = "sopranos" <<
2557       \new Voice = "sopranos" @{
2558         \global
2559         \sopranoMusic
2560       @}
2561     >>
2562     \new Lyrics \lyricsto "sopranos" @{
2563       \sopranoWords
2564      @}
2565     \new Staff = "altos" <<
2566       \new Voice = "altos" @{
2567         \global
2568         \altoMusic
2569       @}
2570     >>
2571     \new Lyrics \lyricsto "altos" @{
2572       \altoWords
2573     @}
2574     \new Staff = "tenors" <<
2575       \clef "G_8"  % tenor clef
2576       \new Voice = "tenors" @{
2577         \global
2578         \tenorMusic
2579       @}
2580     >>
2581     \new Lyrics \lyricsto "tenors" @{
2582       \tenorWords
2583     @}
2584     \new Staff = "basses" <<
2585       \clef "bass"
2586       \new Voice = "basses" @{
2587         \global
2588         \bassMusic
2589       @}
2590     >>
2591     \new Lyrics \lyricsto "basses" @{
2592       \bassWords
2593     @}
2594   >>  % end ChoirStaff
2595
2596   \new PianoStaff <<
2597     \set PianoStaff.instrumentName = #"Piano"
2598     \new Staff = "upper" \upper
2599     \new Staff = "lower" \lower
2600   >>
2601 >>
2602 @end example
2603
2604 Unendo tutto questo e aggiungendo la musica
2605 per le tre battute dell'esempio precedente, otteniamo:
2606
2607 @lilypond[quote,verbatim,ragged-right,addversion]
2608 global = { \key d \major \time 4/4 }
2609 sopranoMusic = \relative {
2610   \clef "treble"
2611   r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2612 }
2613 sopranoWords = \lyricmode {
2614   Wor -- thy | is the lamb | that was slain |
2615 }
2616 altoMusic = \relative {
2617   \clef "treble"
2618   r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2619 }
2620 altoWords = \sopranoWords
2621 tenorMusic = \relative {
2622   \clef "G_8"
2623   r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2624 }
2625 tenorWords = \sopranoWords
2626 bassMusic = \relative {
2627   \clef "bass"
2628   r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2629 }
2630 bassWords = \sopranoWords
2631 upper = \relative {
2632   \clef "treble"
2633   \global
2634   r4 <a' d fis>2 <a e' a>4 |
2635   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2636   <g cis g'>4 <a d fis> <a cis e>2 |
2637 }
2638 lower = \relative {
2639   \clef "bass"
2640   \global
2641   <d, d'>4 <d d'>2 <cis cis'>4 |
2642   <b b'>4. <b' b'>8 <fis fis'>2 |
2643   <e e'>4 <d d'> <a' a'>2 |
2644 }
2645
2646 \score {
2647   <<  % combine ChoirStaff and PianoStaff in parallel
2648     \new ChoirStaff <<
2649       \new Staff = "sopranos" <<
2650         \set Staff.instrumentName = #"Soprano"
2651         \new Voice = "sopranos" {
2652           \global
2653           \sopranoMusic
2654         }
2655       >>
2656       \new Lyrics \lyricsto "sopranos" {
2657         \sopranoWords
2658       }
2659       \new Staff = "altos" <<
2660         \set Staff.instrumentName = #"Alto"
2661         \new Voice = "altos" {
2662           \global
2663           \altoMusic
2664         }
2665       >>
2666       \new Lyrics \lyricsto "altos" {
2667         \altoWords
2668       }
2669       \new Staff = "tenors" <<
2670         \set Staff.instrumentName = #"Tenor"
2671         \new Voice = "tenors" {
2672           \global
2673           \tenorMusic
2674         }
2675       >>
2676       \new Lyrics \lyricsto "tenors" {
2677         \tenorWords
2678       }
2679       \new Staff = "basses" <<
2680         \set Staff.instrumentName = #"Bass"
2681         \new Voice = "basses" {
2682           \global
2683           \bassMusic
2684         }
2685       >>
2686       \new Lyrics \lyricsto "basses" {
2687         \bassWords
2688       }
2689     >>  % end ChoirStaff
2690
2691     \new PianoStaff <<
2692       \set PianoStaff.instrumentName = #"Piano  "
2693       \new Staff = "upper" \upper
2694       \new Staff = "lower" \lower
2695     >>
2696   >>
2697 }
2698 @end lilypond
2699
2700
2701 @node Scrivere una partitura da zero
2702 @subsection Scrivere una partitura da zero
2703 @translationof Building a score from scratch
2704
2705 @cindex modello, scrivere il tuo
2706 @cindex esempio di scrittura di una partitura
2707 @cindex scrivere una partitura, esempio
2708 @cindex partitura, esempio di scrittura
2709
2710 Dopo aver acquisito un po' di confidenza nella scrittura del codice LilyPond,
2711 potresti scoprire che è più facile costruire una partitura da zero
2712 piuttosto che modificare uno dei modelli.  In questo modo puoi
2713 anche sviluppare il tuo stile per adattarlo al tipo di musica che
2714 vuoi.  Come esempio, vediamo come mettere insieme la partitura di
2715 un preludio per organo.
2716
2717 Cominciamo con una sezione d'intestazione.  Qui va il titolo, il nome del
2718 compositore, etc, poi vengono le varie definizioni, e infine il
2719 blocco della partitura.  Spieghiamo questi prima a grandi linee
2720 e in seguito aggiungeremo i dettagli.
2721
2722 Useremo le prime due battute del preludio di Bach basato
2723 su @emph{Jesu, meine Freude}, che è scritto per organo con due
2724 manuali e pedaliera.  Puoi vedere queste due battute
2725 in fondo a questa sezione.  La parte per il manuale superiore ha due
2726 voci, quella inferiore e la pedaliera ne hanno una.  Abbiamo quindi bisogno
2727 di quattro definizioni musicali e di una definizione per stabilire il
2728 tempo e la tonalità:
2729
2730 @example
2731 \version @w{"@version{}"}
2732 \header @{
2733   title = "Jesu, meine Freude"
2734   composer = "J S Bach"
2735 @}
2736 keyTime = @{ \key c \minor \time 4/4 @}
2737 ManualOneVoiceOneMusic = @{ s1 @}
2738 ManualOneVoiceTwoMusic = @{ s1 @}
2739 ManualTwoMusic = @{ s1 @}
2740 PedalOrganMusic = @{ s1 @}
2741
2742 \score @{
2743 @}
2744 @end example
2745
2746 Per ora abbiamo usato soltanto una nota spaziatrice, @code{s1},
2747 invece di musica vera e propria.  La aggiungeremo in seguito.
2748
2749 Ora vediamo cosa dovrebbe andare nel blocco della partitura.  Mostriamo soltanto
2750 la struttura del pentagramma che vogliamo.  La musica per organo di solito viene
2751 scritta su tre righi, uno per ogni mano e uno per i pedali.  I righi della
2752 tastiera dovrebbero essere raggruppati insieme con una graffa, dunque dobbiamo
2753 usare PianoStaff per loro.  La parte del primo manuale ha bisogno di due voci
2754 mentre la parte per il secondo manuale di una soltanto.
2755
2756 @example
2757 \new PianoStaff <<
2758   \new Staff = "ManualOne" <<
2759     \new Voice @{
2760       \ManualOneVoiceOneMusic
2761     @}
2762     \new Voice @{
2763       \ManualOneVoiceTwoMusic
2764     @}
2765   >>  % end ManualOne Staff context
2766   \new Staff = "ManualTwo" <<
2767     \new Voice @{
2768       \ManualTwoMusic
2769     @}
2770   >>  % end ManualTwo Staff context
2771 >>  % end PianoStaff context
2772 @end example
2773
2774 Poi dobbiamo aggiungere un rigo per i pedali.  Questo va sotto il
2775 PianoStaff, ma deve svolgersi simultaneamente a quest'ultimo, quindi
2776 abbiamo bisogno delle parentesi angolari intorno ai due gruppi.  Altrimenti,
2777 verrà generato un errore nel file di log.  È un errore comune che
2778 farai prima o poi!  Prova a copiare l'esempio finale alla fine di
2779 questa sezione, togli le parentesi angolari, e compilalo per vedere
2780 quali errori genera.
2781
2782 @example
2783 <<  % PianoStaff and Pedal Staff must be simultaneous
2784   \new PianoStaff <<
2785     \new Staff = "ManualOne" <<
2786       \new Voice @{
2787         \ManualOneVoiceOneMusic
2788       @}
2789       \new Voice @{
2790         \ManualOneVoiceTwoMusic
2791       @}
2792     >>  % end ManualOne Staff context
2793     \new Staff = "ManualTwo" <<
2794       \new Voice @{
2795         \ManualTwoMusic
2796       @}
2797     >>  % end ManualTwo Staff context
2798   >>  % end PianoStaff context
2799   \new Staff = "PedalOrgan" <<
2800     \new Voice @{
2801       \PedalOrganMusic
2802     @}
2803   >>
2804 >>
2805 @end example
2806
2807 Non è necessario usare il costrutto simultaneo @code{<< @dots{} >>} per il rigo del
2808 secondo manuale e per quello della pedaliera, poiché contengono solo una
2809 espressione musicale, ma non è male usarlo comunque; usare sempre le parentesi
2810 angolari dopo @code{\new Staff} è una buona abitudine da coltivare nel caso ci
2811 sia più di una voce.  Per le Voci, è vero l'opposto: queste devono essere
2812 seguite regolarmente da parentesi graffe @code{@{ @dots{} @}} nel caso in cui
2813 la musica sia composta da diverse variabili che devono essere eseguite
2814 consecutivamente.
2815
2816 Aggiungiamo questa struttura al blocco della partitura, e aggiustiamo
2817 l'indentazione.  Aggiungiamo anche le chiavi appropriate, controlliamo che i
2818 gambi, le legature di portamento e quelle di valore in ogni voce del rigo
2819 superiore puntino nella direzione giusta usando @code{\voiceOne} e
2820 @code{\voiceTwo}, e inseriamo l'armatura di chiave e il tempo per ogni rigo
2821 attraverso la nostra variabile predefinita, @code{\keyTime}.
2822
2823 @example
2824 \score @{
2825   <<  % PianoStaff and Pedal Staff must be simultaneous
2826     \new PianoStaff <<
2827       \new Staff = "ManualOne" <<
2828         \keyTime  % set key and time signature
2829         \clef "treble"
2830         \new Voice @{
2831           \voiceOne
2832           \ManualOneVoiceOneMusic
2833         @}
2834         \new Voice @{
2835           \voiceTwo
2836           \ManualOneVoiceTwoMusic
2837         @}
2838       >>  % end ManualOne Staff context
2839       \new Staff = "ManualTwo" <<
2840         \keyTime
2841         \clef "bass"
2842         \new Voice @{
2843           \ManualTwoMusic
2844         @}
2845       >>  % end ManualTwo Staff context
2846     >>  % end PianoStaff context
2847     \new Staff = "PedalOrgan" <<
2848       \keyTime
2849       \clef "bass"
2850       \new Voice @{
2851         \PedalOrganMusic
2852       @}
2853     >>  % end PedalOrgan Staff
2854   >>
2855 @}  % end Score context
2856 @end example
2857
2858 @cindex allungabilità dei righi
2859 @cindex righi, allungabilità
2860
2861 L'aspetto dei righi dell'organo mostrati sopra è quasi perfetto; tuttavia
2862 c'è un piccolo difetto che non è visibile se si guarda un sistema
2863 singolo soltanto: La distanza tra il rigo della pedaliera e il rigo della mano
2864 sinistra dovrebbe essere all'incirca la stessa distanza tra il rigo della mano
2865 destra e quello della mano sinistra.  In particolare, l'allungabilità dei righi
2866 in un contesto @code{PianoStaff} è limitata (in modo che la distanza tra i righi
2867 della mano destra e sinistra non possa diventare eccessiva), e il rigo della
2868 pedaliera dovrebbe comportarsi allo stesso modo.
2869
2870 @cindex sottoproprietà
2871 @cindex proprietà, sottoproprietà
2872 @cindex oggetti grafici
2873 @cindex grafici, oggetti
2874 @cindex grob
2875
2876 L'allungabilità dei righi può essere controllata con la proprietà
2877 @code{staff-staff-spacing} dell' @q{oggetto grafico} @code{VerticalAxisGroup}
2878 (gli oggetti grafici vengono comunemente chiamati @q{grob} nella documentazione
2879 di lilypond)    -- non preoccuparti dei dettagli in questo momento; in seguito
2880 verrà fornita una spiegazione approfondita.  I curiosi possono dare
2881 un'occhiata a @ruser{Overview of modifying properties}.
2882 In questo caso, vogliamo modificare soltanto la sottoproprietà
2883 @code{allungabilità}.  Di nuovo, chi è curioso può trovare i valori predefiniti
2884 per la proprietà staff-staff-spacing nel file @file{scm/define-grobs.scm}
2885 guardando la definizione del grob @code{VerticalAxisGroup}.  Il valore dell'
2886 @code{allungabilità} viene preso dalla definizione del contesto @code{PianoStaff}
2887 (nel file @file{ly/engraver-init.ly}) così che i valori siano identici.
2888
2889 @example
2890 \score @{
2891   <<  % PianoStaff e Pedal Staff devono essere simultanei
2892     \new PianoStaff <<
2893       \new Staff = "ManualOne" <<
2894         \keyTime  % imposta l'armatura di chiave e il tempo
2895         \clef "treble"
2896         \new Voice @{
2897           \voiceOne
2898           \ManualOneVoiceOneMusic
2899         @}
2900         \new Voice @{
2901           \voiceTwo
2902           \ManualOneVoiceTwoMusic
2903         @}
2904       >>  % fine del contesto ManualOne Staff
2905       \new Staff = "ManualTwo" \with @{
2906         \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
2907       @} <<
2908         \keyTime
2909         \clef "bass"
2910         \new Voice @{
2911           \ManualTwoMusic
2912         @}
2913       >>  % fine del contesto ManualTwo Staff
2914     >>  % fine del contesto PianoStaff
2915     \new Staff = "PedalOrgan" <<
2916       \keyTime
2917       \clef "bass"
2918       \new Voice @{
2919         \PedalOrganMusic
2920       @}
2921     >>  % fine di PedalOrgan Staff
2922   >>
2923 @}  % fine del contesto Score
2924 @end example
2925
2926 Questo completa la struttura.  Qualsiasi musica per organo a tre righi
2927 avrà una struttura simile, sebbene il numero delle voci
2928 possa variare.  Tutto ciò che resta da fare ora
2929 è aggiungere la musica, e combinare tutte le parti insieme.
2930
2931 @lilypond[quote,verbatim,ragged-right,addversion]
2932 \header {
2933   title = "Jesu, meine Freude"
2934   composer = "J S Bach"
2935 }
2936 keyTime = { \key c \minor \time 4/4 }
2937 ManualOneVoiceOneMusic = \relative {
2938   g'4 g f ees |
2939   d2 c |
2940 }
2941 ManualOneVoiceTwoMusic = \relative {
2942   ees'16 d ees8~ 16 f ees d c8 d~ d c~ |
2943   8 c4 b8 c8. g16 c b c d |
2944 }
2945 ManualTwoMusic = \relative {
2946   c'16 b c8~ 16 b c g a8 g~ 16 g aes ees |
2947   f16 ees f d g aes g f ees d ees8~ 16 f ees d |
2948 }
2949 PedalOrganMusic = \relative {
2950   r8 c16 d ees d ees8~ 16 a, b g c b c8 |
2951   r16 g ees f g f g8 c,2 |
2952 }
2953
2954 \score {
2955   <<  % PianoStaff and Pedal Staff must be simultaneous
2956     \new PianoStaff <<
2957       \new Staff = "ManualOne" <<
2958         \keyTime  % set key and time signature
2959         \clef "treble"
2960         \new Voice {
2961           \voiceOne
2962           \ManualOneVoiceOneMusic
2963         }
2964         \new Voice {
2965           \voiceTwo
2966           \ManualOneVoiceTwoMusic
2967         }
2968       >>  % end ManualOne Staff context
2969       \new Staff = "ManualTwo" \with {
2970         \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
2971       } <<
2972         \keyTime
2973         \clef "bass"
2974         \new Voice {
2975           \ManualTwoMusic
2976         }
2977       >>  % end ManualTwo Staff context
2978     >>  % end PianoStaff context
2979     \new Staff = "PedalOrgan" <<
2980       \keyTime
2981       \clef "bass"
2982       \new Voice {
2983         \PedalOrganMusic
2984       }
2985     >>  % end PedalOrgan Staff context
2986   >>
2987 }  % end Score context
2988 @end lilypond
2989
2990 @seealso
2991 Glossario musicale:
2992 @rglosnamed{system,sistema}.
2993
2994 @node Ridurre l'input grazie a variabili e funzioni
2995 @subsection Ridurre l'input grazie a variabili e funzioni
2996 @translationof Saving typing with variables and functions
2997
2998 @cindex variabili
2999 @cindex variabili
3000
3001 Finora hai visto questo tipo di cose:
3002
3003 @lilypond[quote,verbatim,ragged-right]
3004 hornNotes = \relative { c''4 b dis c }
3005 \score {
3006   {
3007     \hornNotes
3008   }
3009 }
3010 @end lilypond
3011
3012 Potresti anche essere accorto che questo può essere utile nella musica minimalista:
3013
3014 @lilypond[quote,verbatim,ragged-right]
3015 fragmentA = \relative { a'4 a8. b16 }
3016 fragmentB = \relative { a'8. gis16 ees4 }
3017
3018 violin = \new Staff {
3019   \fragmentA \fragmentA |
3020   \fragmentB \fragmentA |
3021 }
3022
3023 \score {
3024   {
3025     \violin
3026   }
3027 }
3028 @end lilypond
3029
3030 Tuttavia, puoi usare queste variabili (note anche come
3031 macro, o comandi definiti dall'utente) anche per le modifiche manuali:
3032
3033 @lilypond[quote,verbatim,ragged-right]
3034 dolce = \markup { \italic \bold dolce }
3035
3036 centreText = { \once \override TextScript.self-alignment-X = #CENTER }
3037
3038 fthenp =_\markup {
3039   \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
3040 }
3041
3042 violin = \relative {
3043   \repeat volta 2 {
3044     c''4._\dolce b8 a8 g a b |
3045     \centreText
3046     c4.^"hi there!" d8 e f g d |
3047     c4.\fthenp b8 c4 c-. |
3048   }
3049 }
3050
3051 \score {
3052   {
3053     \violin
3054   }
3055 }
3056 @end lilypond
3057
3058 Chiaramente queste variabili sono utili per ridurre la quantità di
3059 testo da scrivere.  Ma vale la pena tenerle in considerazione anche se
3060 le usi una volta sola -- perché riducono la complessità.  Vediamo l'esempio
3061 precedente senza alcuna variabile.  È molto difficile da leggere,
3062 soprattutto l'ultima linea.
3063
3064 @example
3065 violin = \relative @{
3066   \repeat volta 2 @{
3067     c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
3068     \once \override TextScript.self-alignment-X = #CENTER
3069     c4.^"hi there!" d8 e' f g d |
3070     c,4.\markup @{
3071       \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3072     @}
3073     b8 c4 c-. |
3074   @}
3075 @}
3076 @end example
3077
3078 Finora abbiamo visto la sostituzione statica -- quando LilyPond
3079 vede @code{\centreText}, lo sostituisce con quel che noi abbiamo
3080 definito che sia (ovvero tutto ciò che sta a destra di
3081 @code{centreText=}).
3082
3083 LilyPond può gestire anche la sostituzione non statica (la puoi
3084 immaginare come una funzione).
3085
3086 @lilypond[quote,verbatim,ragged-right]
3087 padText =
3088 #(define-music-function
3089      (padding)
3090      (number?)
3091    #{
3092      \once \override TextScript.padding = #padding
3093    #})
3094
3095 \relative {
3096   c'''4^"piu mosso" b a b |
3097   \padText #1.8
3098   c4^"piu mosso" d e f |
3099   \padText #2.6
3100   c4^"piu mosso" fis a g |
3101 }
3102 @end lilypond
3103
3104 L'uso di variabili è anche un buon modo per ridurre il lavoro quando
3105 la sintassi di input di LilyPond cambia (vedi
3106 @rprogram{Aggiornare i file con convert-ly}).  Se si ha un'unica
3107 definizione (come @code{\dolce}) per tutti i file di input
3108 (vedi @ref{Style sheets}), allora se la sintassi cambia bisogna
3109 aggiornare soltanto la singola definizione @code{\dolce},
3110 invece di dover modificare tutti i file @file{.ly}.
3111
3112
3113 @node Partiture e parti
3114 @subsection Partiture e parti
3115 @translationof Scores and parts
3116
3117 Nella musica orchestrale, tutte le note vengono stampate due volte.  Una
3118 volta nella parte per i musicisti e una volta nella partitura completa
3119 per il direttore.  Le variabili sono utili se si vuole evitare il doppio
3120 lavoro.  La musica viene inserita una volta e salvata all'interno di una
3121 variabile.  I contenuti di quella variabile vengono poi usati per generare
3122 sia la parte che l'intera partitura.
3123
3124 Conviene definire le note in un file speciale.  Ad esempio,
3125 supponiamo che il file @file{horn-music.ly} contenga la seguente parte
3126 di un duetto per corno e fagotto
3127
3128 @example
3129 hornNotes = \relative @{
3130   \time 2/4
3131   r4 f8 a | cis4 f | e4 d |
3132 @}
3133 @end example
3134
3135 @noindent
3136 Poi una parte individuale si ottiene inserendo il seguente codice in un file
3137
3138 @example
3139 \include "horn-music.ly"
3140
3141 \header @{
3142   instrument = "Horn in F"
3143 @}
3144
3145 @{
3146  \transpose f c' \hornNotes
3147 @}
3148 @end example
3149
3150 La linea
3151
3152 @example
3153 \include "horn-music.ly"
3154 @end example
3155
3156 @noindent
3157 sostituisce i contenuti di @file{horn-music.ly} in quella posizione del
3158 file, quindi @code{hornNotes} è definito dopo.  Il comando
3159 @code{\transpose f@tie{}c'} indica che l'argomento, ovvero
3160 @code{\hornNotes}, deve essere trasposto di una quinta ascendente.  La tonalità
3161 @code{f} è indicata dalla nota @code{c'}, che corrisponde all'accordatura
3162 di un normale corno francese in@tie{}Fa.  La trasposizione può essere vista
3163 nel seguente output
3164
3165 @lilypond[quote,ragged-right]
3166 \transpose f c' \relative {
3167   \time 2/4
3168   r4 f8 a | cis4 f | e4 d |
3169 }
3170 @end lilypond
3171
3172 Nei brani di insieme, una delle voci non suona per molte
3173 misure.  Questo viene indicato da una pausa speciale, la pausa
3174 multi-misura.  Si inserisce con una @code{R} maiuscola seguita da una
3175 durata (@code{1}@tie{}per una semibreve, @code{2}@tie{}per una minima,
3176 etc.).  Moltiplicando la durata, si possono costruire pause
3177 più lunghe.  Ad esempio, questa pausa prende 3@tie{}misure in un
3178 tempo di 2/4
3179
3180 @example
3181 R2*3
3182 @end example
3183
3184 Quando la parte viene stampata, le pause multiple devono essere
3185 compresse.  Esiste una funzione musicale per fare ciò:
3186
3187 @example
3188 \compressMMRests @{ ... @}
3189 @end example
3190
3191 Applicandola a @code{hornNotes} si ottiene:
3192
3193 @lilypond[quote,ragged-right]
3194 \compressMMRests \transpose f c' \relative {
3195   \time 2/4
3196   R2*3 |
3197   r4 f8 a | cis4 f | e4 d |
3198 }
3199 @end lilypond
3200
3201
3202 Lo spartito si forma combinando tutta la musica insieme.  Assumendo che
3203 l'altra voce si trovi in @code{bassoonNotes} nel file
3204 @file{bassoon-music.ly}, lo spartito sarà
3205
3206 @example
3207 \include "bassoon-music.ly"
3208 \include "horn-music.ly"
3209
3210 <<
3211   \new Staff \hornNotes
3212   \new Staff \bassoonNotes
3213 >>
3214 @end example
3215
3216 @noindent
3217 ovvero
3218
3219 @lilypond[quote,ragged-right]
3220 \relative <<
3221   \new Staff {
3222     \clef "treble"
3223     \time 2/4
3224     R2*3 |
3225     r4 f8 a | cis4 f | e4 d |
3226   }
3227   \new Staff {
3228     \clef "bass"
3229     \time 2/4
3230     r4 d,8 f | gis4 c | b4 bes |
3231     a8 e f4 | g4 d | gis4 f |
3232   }
3233 >>
3234 @end lilypond
3235
3236 @seealso
3237 Manuale di apprendimento:
3238 @ref{Organizing pieces with variables}.
3239
3240 Guida alla notazione:
3241 @ruser{Trasposizione},
3242 @ruser{Scrittura delle parti},
3243 @ruser{Pause d’intero},
3244 @ruser{Including LilyPond files}.
3245