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