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