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