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