]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/it/notation/input.itely
05fdaac414e255597556b77ce2eed6236e383977
[lilypond.git] / Documentation / it / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
2
3 @ignore
4     Translation of GIT committish: 8016f31ef2a25bf9492a6ba65dc627622beac4af
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.19.22"
12 @c Translators: Federico Bruni
13 @c Translation checkers:
14
15 @node Input e output
16 @chapter Input e output
17 @translationof General input and output
18
19 Questa sezione tratta le questioni generali relative all'input e
20 all'output di LilyPond, non specifiche di un certo tipo di notazione.
21
22 @menu
23 * Struttura dell'input::
24 * Titoli e intestazioni::
25 * Lavorare coi file di input::
26 * Controllo dell'output::
27 * Creazione dell'output MIDI::
28 * Estrazione dell'informazione musicale::
29 @end menu
30
31
32 @node Struttura dell'input
33 @section Struttura dell'input
34 @translationof Input structure
35
36 Il principale formato di input di LilyPond sono i file di testo.  Per
37 convenzione, questi file hanno estensione @file{.ly}.
38
39 @menu
40 * Struttura di una partitura::
41 * Molteplici partiture in un libro::
42 * Molteplici file di output da un unico file di input::
43 * Nomi dei file di output::
44 * Struttura del file::
45 @end menu
46
47
48 @node Struttura di una partitura
49 @subsection Struttura di una partitura
50 @translationof Structure of a score
51
52 @funindex \score
53
54 Un blocco @code{\score} deve contenere una singola espressione musicale
55 delimitata da parentesi graffe:
56
57 @example
58 \score @{
59   @dots{}
60 @}
61 @end example
62
63 @warning{Ci deve essere @strong{solo una} espressione musicale più
64 esterna in un blocco @code{\score} e @strong{deve} essere racchiusa
65 tra parentesi graffe.}
66
67 Questa espressione musicale singola può essere di qualsiasi dimensione
68 e contenere altre espressioni musicali di qualsiasi complessità. Tutti
69 gli esempi seguenti sono espressioni musicali:
70
71 @example
72 @{ c'4 c' c' c' @}
73 @end example
74
75 @lilypond[verbatim,quote]
76 {
77   { c'4 c' c' c' }
78   { d'4 d' d' d' }
79 }
80 @end lilypond
81
82 @lilypond[verbatim,quote]
83 <<
84   \new Staff { c'4 c' c' c' }
85   \new Staff { d'4 d' d' d' }
86 >>
87 @end lilypond
88
89 @example
90 @{
91   \new GrandStaff <<
92     \new StaffGroup <<
93       \new Staff @{ \flauto @}
94       \new Staff @{ \oboe @}
95     >>
96     \new StaffGroup <<
97       \new Staff @{ \violinoI @}
98       \new Staff @{ \violinoII @}
99     >>
100   >>
101 @}
102 @end example
103
104 I commenti sono un'eccezione a questa regola generale (altre eccezioni
105 sono spiegate in @ref{File structure}).  Sia i commenti su una singola
106 riga che quelli multiriga delimitati da @code{%@{ @dots{} %@}} possono
107 essere inseriti ovunque nel file di input: dentro o fuori un blocco
108 @code{\score} e dentro o fuori la singola espressione musicale di
109 un blocco @code{\score}.
110
111 È bene ricordare che anche se un file contiene soltanto un blocco
112 @code{\score}, questo è implicitamente racchiuso in un blocco
113 \book.  Un blocco \book in un file sorgente produce almeno un file
114 di output e il nome predefinito del file di output deriva dal nome
115 del file di input, quindi @file{fandangoperelefanti.ly} genererà
116 @file{fandangoperelefanti.pdf}.
117
118 Maggiori dettagli sui blocchi @code{\book} si trovano in
119 @ref{Multiple scores in a book},
120 @ref{Multiple output files from one input file} e @ref{File structure}.
121
122 @seealso
123 Manuale di apprendimento:
124 @rlearning{Lavorare sui file di input},
125 @rlearning{Espressioni musicali},
126 @rlearning{La partitura è una (singola) espressione musicale composta}.
127
128
129 @node Molteplici partiture in un libro
130 @subsection Molteplici partiture in un libro
131 @translationof Multiple scores in a book
132
133 @funindex \book
134 @cindex movimenti, molteplici
135
136 Un documento può contenere più brani di musica e testo, come, per
137 esempio, uno studio o una parte orchestrale con vari movimenti.
138 Ogni movimento si inserisce con un blocco @code{\score},
139
140 @example
141 \score @{
142   @var{@dots{}musica@dots{}}
143 @}
144 @end example
145
146 e il testo si inserisce con un blocco @code{\markup},
147
148 @example
149 \markup @{
150   @var{@dots{}testo@dots{}}
151 @}
152 @end example
153
154 @funindex \book
155
156 Tutti i movimenti e i testi che appaiono nello stesso file @file{.ly}
157 vengono elaborati normalmente in un singolo file di output.
158
159 @example
160 \score @{
161   @var{@dots{}}
162 @}
163 \markup @{
164   @var{@dots{}}
165 @}
166 \score @{
167   @var{@dots{}}
168 @}
169 @end example
170
171 Un'importante eccezione è costituita dai documenti da elaborare con
172 lilypond-book, dove occorre aggiungere esplicitamente un blocco
173 @code{\book}, altrimenti apparirà nell'output solo il primo blocco
174 @code{\score} o @code{\markup}.
175
176 L'intestazione di ogni brano musicale può essere inserita nel blocco
177 @code{\score}.  Il nome definito nel campo @code{piece} (brano)
178 dell'intestazione apparirà all'inizio di ogni movimento.  Il titolo
179 dell'intero libro può trovarsi all'interno del blocco @code{\book}
180 oppure, se questo non è presente, nel blocco @code{\header} all'inizio
181 del file.
182
183 @example
184 \header @{
185   title = "Otto miniature"
186   composer = "Igor Stravinsky"
187 @}
188 \score @{
189   @dots{}
190   \header @{ piece = "Romanza" @}
191 @}
192 \markup @{
193    @dots{}testo della seconda strofa@dots{}
194 @}
195 \markup @{
196    @dots{}testo della terza strofa@dots{}
197 @}
198 \score @{
199   @dots{}
200   \header @{ piece = "Minuetto" @}
201 @}
202 @end example
203
204 @funindex \bookpart
205
206 I brani musicali possono essere raggruppati in parti di libro tramite
207 i blocchi @code{\bookpart}.  Le parti di libro sono separate da
208 un'interruzione di pagina e possono iniziare con un titolo, come il
209 libro stesso, specificandolo in un blocco @code{\header}.
210
211 @example
212 \bookpart @{
213   \header @{
214     title = "Titolo del libro"
215     subtitle = "Prima parte"
216   @}
217   \score @{ @dots{} @}
218   @dots{}
219 @}
220 \bookpart @{
221   \header @{
222     subtitle = "Seconda parte"
223   @}
224   \score @{ @dots{} @}
225   @dots{}
226 @}
227 @end example
228
229 @node Molteplici file di output da un unico file di input
230 @subsection Molteplici file di output da un unico file di input
231 @translationof Multiple output files from one input file
232
233 Per generare molteplici file di output dallo stesso file @file{.ly},
234 basta aggiungere molteplici blocchi @code{\book}, ognuno dei
235 quali produrrà un file di output separato.
236 Se non è specificato alcun blocco @code{\book} nel file di
237 input, LilyPond tratterà implicitamente l'intero file come un
238 singolo blocco @code{\book}, come è spiegato in @ref{File structure}.
239
240 Nel generare molteplici file da un singolo file sorgente, Lilypond
241 controlla che nessuno dei file di output di alcun blocco
242 @code{\book} sovrascriva il file di output prodotto da un blocco
243 @code{\book} precedente dello stesso file di input.
244
245 Per farlo, aggiunge un suffisso al nome del file di output di ogni
246 blocco @code{\book} che usa il nome di file di output predefinito
247 (ovvero derivato dal nome del file di input).
248
249 Il comportamento predefinito consiste nell'appendere un suffisso
250 numerico a ogni nome che potrebbe entrare in conflitto, quindi
251
252 @example
253 \book @{
254   \score @{ @dots{} @}
255   \paper @{ @dots{} @}
256 @}
257 \book @{
258   \score @{ @dots{} @}
259   \paper @{ @dots{} @}
260 @}
261 \book @{
262   \score @{ @dots{} @}
263   \paper @{ @dots{} @}
264 @}
265 @end example
266
267 nel file sorgente @file{ottominiature.ly}
268 genererà
269
270 @itemize
271 @item
272 @file{ottominiature.pdf},
273 @item
274 @file{ottominiature-1.pdf} e
275 @item
276 @file{ottominiature-2.pdf}.
277 @end itemize
278
279 @node Nomi dei file di output
280 @subsection Nomi dei file di output
281 @translationof Output file names
282
283 @funindex \bookOutputSuffix
284 @funindex \bookOutputName
285
286 Lilypond permette di decidere quali nomi di file debbano essere
287 usati dai vari backend quando questi generano i file di output.
288
289 Nella sezione precedente abbiamo visto come Lilypond prevenga i
290 conflitti di nome quando genera molti file di output da un singolo
291 file sorgente.  È possibile anche specificare un proprio suffisso
292 per ogni blocco @code{\book}, quindi si possono, per esempio,
293 generare file chiamati @file{ottominiature-Romanza.pdf}, @file{ottominiature-Minuetto.pdf}
294 e @file{ottominiature-Notturno.pdf} aggiungendo una dichiarazione
295 @code{\bookOutputSuffix} all'interno di ogni blocco @code{\book}.
296
297 @example
298 \book @{
299   \bookOutputSuffix "Romanza"
300   \score @{ @dots{} @}
301   \paper @{ @dots{} @}
302 @}
303 \book @{
304   \bookOutputSuffix "Minuetto"
305   \score @{ @dots{} @}
306   \paper @{ @dots{} @}
307 @}
308 \book @{
309   \bookOutputSuffix "Notturno"
310   \score @{ @dots{} @}
311   \paper @{ @dots{} @}
312 @}
313 @end example
314
315 È possibile anche specificare un diverso nome del file di output per
316 ciascun blocco @code{book}, tramite le dichiarazioni
317 @code{\bookOutputName}
318
319 @example
320 \book @{
321   \bookOutputName "Romanza"
322   \score @{ @dots{} @}
323   \paper @{ @dots{} @}
324 @}
325 \book @{
326   \bookOutputName "Minuetto"
327   \score @{ @dots{} @}
328   \paper @{ @dots{} @}
329 @}
330 \book @{
331   \bookOutputName "Notturno"
332   \score @{ @dots{} @}
333   \paper @{ @dots{} @}
334 @}
335 @end example
336
337 Questo file produrrà i seguenti file di output:
338
339 @itemize
340 @item
341 @file{Romanza.pdf},
342 @item
343 @file{Minuetto.pdf} e
344 @item
345 @file{Notturno.pdf}.
346 @end itemize
347
348
349 @node Struttura del file
350 @subsection Struttura del file
351 @translationof File structure
352
353 @funindex \paper
354 @funindex \midi
355 @funindex \layout
356 @funindex \header
357 @funindex \score
358 @funindex \book
359 @funindex \bookpart
360
361 Un file @file{.ly} può contenere un qualsiasi numero di espressioni di
362 livello superiore (@emph{toplevel expressions}). Per espressione di
363 livello superiore si intende una delle seguenti:
364
365 @itemize
366 @item
367 Una definizione di output, come @code{\paper}, @code{\midi} e
368 @code{\layout}.  Tale definizione, se a livello superiore, cambia
369 le impostazioni predefinite al livello del libro. Se più di una di
370 queste definizioni viene inserita al livello superiore, le definizioni
371 vengono combinate, ma in caso di conflitto hanno precedenza le definizioni
372 successive. Per conoscere i dettagli di come questo influisca sul blocco
373 @code{\layout}, leggere
374 @ref{The layout block,,The @code{@bs{}layout} block}.
375
376 @item
377 Un'espressione scheme diretta, come
378 @code{#(set-default-paper-size "a7" 'landscape)} o
379 @code{#(ly:set-option 'point-and-click #f)}.
380
381 @item
382 Un blocco @code{\header}.  Questo imposta il blocco dell'intestazione
383 globale (ovvero all'inizio del file).  Questo è il blocco che contiene
384 le impostazioni predefinite dei campi dei titoli come compositore,
385 titolo, etc. per tutti i libri del file (vedi @ref{Titles explained}).
386
387 @item
388 Un blocco @code{\score}.  Questa partitura e altre eventuali partiture
389 di livello superiore saranno combinate insieme in un singolo blocco
390 @code{\book}.  Tale comportamento può essere modificato impostando la
391 variabile @code{toplevel-score-handler} nel livello superiore.  Il
392 gestore (in inglese @emph{handler}) predefinito è definito nel file
393 di inizializzazione @file{../scm/lily.scm}.
394
395 @item
396 Un blocco @code{\book} combina logicamente molteplici movimenti
397 (ovvero molteplici blocchi @code{\score}) in un documento.  Se ci
398 sono vari blocchi @code{\score}, verrà creato un file di output per
399 ogni blocco @code{\book}, in cui saranno concatenati tutti i
400 movimenti corrispondenti.  Ha senso specificare esplicitamente
401 i blocchi @code{\book} in un file @file{.ly} solo se si desidera
402 creare vari file di output da un solo file di input.  Un'eccezione
403 è data dai documenti lilypond-book, dove bisogna aggiungere
404 esplicitamente un blocco @code{\book} se si vuole più di un singolo
405 blocco @code{\score} o @code{\markup} nello stesso esempio.  Tale
406 comportamento può essere modificato impostando la variabile
407 @code{toplevel-book-handler} nel livello superiore. Il gestore
408 predefinito è definito nel file di inizializzazione
409 @file{../scm/lily.scm}.
410
411 @item
412 Un blocco @code{\bookpart}.  Un libro può essere suddiviso in varie
413 parti, tramite blocchi @code{\bookpart}, per semplificare le
414 interruzioni di pagina o per usare impostazioni @code{\paper}
415 diverse nelle varie parti.
416
417 @item
418 Un'espressione musicale composta, come
419 @example
420 @{ c'4 d' e'2 @}
421 @end example
422
423 pone il brano in un blocco @code{\score} e lo formatta in un unico
424 libro insieme a tutti gli altri blocchi @code{\score} e espressioni
425 musicali di livello superiore. In altre parole, un file che contiene
426 soltanto l'espressione musicale precedente verrà trasformato in
427
428 @example
429 \book @{
430   \score @{
431     \new Staff @{
432       \new Voice @{
433         @{ c'4 d' e'2 @}
434       @}
435     @}
436     \layout @{ @}
437   @}
438   \paper @{ @}
439   \header @{ @}
440 @}
441 @end example
442
443 Tale comportamento può essere modificato impostando la variabile
444 @code{toplevel-music-handler} nel livello superiore.  Il gestore
445 predefinito è definito nel file di inizializzazione
446 @file{../scm/lily.scm}.
447
448 @item
449 Un testo, per esempio una strofa
450 @example
451 \markup @{
452    2.  La prima riga della seconda strofa.
453 @}
454 @end example
455
456 I testi possono trovarsi sopra, sotto o in mezzo alle partiture
457 o espressioni musicali, ovunque esse appaiano.
458
459 @cindex variabili
460
461 @item
462 Una variabile, come
463 @example
464 foo = @{ c4 d e d @}
465 @end example
466
467 può essere utilizzata in un punto successivo del file scrivendo
468 @code{\foo}.  Il nome di una variabile deve avere solo caratteri
469 alfabetici; nessun numero, trattino o trattino basso.
470
471 @end itemize
472
473 L'esempio seguente mostra tre elementi che possono essere inseriti
474 nel livello superiore
475
476 @example
477 \layout @{
478   % Non giustificare l'output
479   ragged-right = ##t
480 @}
481
482 \header @{
483    title = "Do-re-mi"
484 @}
485
486 @{ c'4 d' e2 @}
487 @end example
488
489
490 Ciascuna delle seguenti istruzioni lessicali può essere inserita
491 in qualsiasi punto di un file:
492
493 @itemize
494 @item @code{\version}
495 @item @code{\include}
496 @item @code{\sourcefilename}
497 @item @code{\sourcefileline}
498 @item
499 Un commento su riga singola, introdotto da un segno @code{%}.
500
501 @item
502 Un commento multiriga delimitato da @code{%@{ @dots{} %@}}.
503
504 @end itemize
505
506 @cindex spazio bianco
507
508 Lo spazio bianco tra gli elementi dell'input viene generalmente
509 ignorato e può essere liberamente omesso o aumentato per migliorare
510 la leggibilità.  Tuttavia esistono dei casi in cui lo spazio bianco
511 deve essere sempre usato per non incorrere in errori:
512
513 @itemize
514
515 @item Intorno ad ogni parentesi graffa di apertura e di chiusura.
516
517 @item Dopo ogni comando o variabile, ovvero qualsiasi elemento
518 che inizi con un segno@tie{}@code{\}.
519
520 @item Dopo ogni elemento che debba essere interpretato come
521 un'espressione Scheme, ovvero ogni elemento che inizi con un
522 segno@tie{}@code{#}.
523
524 @item Per separare tutti gli elementi di un'espressione Scheme.
525
526 @item Nella modalità @code{lyricmode} prima e dopo i comandi @code{\set}
527 e @code{\override}.
528
529 @end itemize
530
531 @seealso
532 Manuale di apprendimento:
533 @rlearning{Come funzionano i file di input di LilyPond}.
534
535 Guida alla notazione:
536 @ref{Titles explained},
537 @ref{The layout block,,The @code{@bs{}layout} block}.
538
539
540 @node Titoli e intestazioni
541 @section Titoli e intestazioni
542 @translationof Titles and headers
543
544 @cindex titoli
545 @cindex intestazioni
546 @cindex piè di pagina
547
548 Quasi tutte le partiture musicali hanno il titolo e il nome del compositore e
549 alcuni brani comprendono molte altre informazioni.
550
551 @menu
552 * Creazione di titoli intestazioni e piè di pagina::
553 * Titoli intestazioni e piè di pagina personalizzati::
554 * Creazione di metadati PDF::
555 * Creazione di note a piè di pagina::
556 * Riferimento ai numeri di pagina::
557 * Indice::
558 @end menu
559
560
561 @node Creazione di titoli intestazioni e piè di pagina
562 @subsection Creazione di titoli intestazioni e piè di pagina
563 @translationof  Creating titles headers and footers
564
565 @menu
566 * Come funzionano i titoli::
567 * Formattazione predefinita dei titoli delle parti e dei brani::
568 * Formattazione predefinita delle intestazioni e dei piè di pagina::
569 @end menu
570
571
572 @node Come funzionano i titoli
573 @unnumberedsubsubsec Come funzionano i titoli
574 @translationof Titles explained
575
576 Ogni blocco @code{\book} in un singolo file di input produce un diverso
577 file di output, vedi @ref{File structure}.  In ciascun file di output
578 sono disponibili tre tipi di titolazioni: @emph{titoli del libro} all'inizio
579 di ogni libro (@emph{book}), @emph{titoli della parte} all'inizio di ciascuna
580 parte (@emph{bookpart}) e @emph{titoli del brano} all'inizio di ciascun
581 brano (@emph{score}).
582
583 I valori dei campi dei titoli come @code{title} (titolo) e @code{composer}
584 (compositore) sono definiti nei blocchi @code{\header} (la sintassi dei
585 blocchi @code{\header} e un elenco completo dei campi disponibili si
586 trovano in @ref{Default layout of bookpart and score titles}).  I titoli
587 del libro, delle parti e dei brani possono avere tutti gli stessi campi,
588 sebbene per impostazione predefinita i campi dei titoli del brano siano
589 limitati a @code{piece} e @code{opus}.
590
591 I blocchi @code{\header} possono essere inseriti in quattro diversi punti
592 formando una gerarchia discendente di blocchi @code{\header}:
593
594 @itemize
595
596 @item
597 All'inizio del file di input, prima di tutti i blocchi @code{\book},
598 @code{\bookpart} e @code{\score}.
599
600 @item
601 All'interno di un blocco @code{\book} ma fuori da tutti i blocchi
602 @code{\bookpart} e @code{\score} compresi in quel libro.
603
604 @item
605 All'interno di un blocco @code{\bookpart} ma fuori da tutti i blocchi
606 @code{\score} compresi in quella parte.
607
608 @item
609 Dopo l'espressione musicale in un blocco @code{\score}.
610
611 @end itemize
612
613 I valori dei campi vengono filtrati attraverso questa gerarchia, con i valori
614 più in alto nella gerarchia che persistono finché un valore più in basso nella
615 gerarchia non ha la precedenza. In sintesi:
616
617 @itemize
618
619 @item
620 Il titolo di un libro deriva dai campi impostati all'inizio del file di input,
621 modificati dai campi definiti nel blocco @code{\book}.  I valori
622 risultanti vengono usati per stampare il titolo di quel libro, purché ci sia
623 altro materiale che generi una pagina all'inizio del libro, prima della prima
624 parte.  Una singola interruzione di pagina (@code{\pageBreak}) è sufficiente.
625
626 @item
627 Il titolo di una parte deriva dai campi impostati all'inizio del file di input,
628 modificati dai campi definiti nel blocco @code{\book} e poi da quelli definiti
629 nel blocco @code{\bookpart}.  I valori risultanti vengono usati per stampare il
630 titolo di quella parte del libro.
631
632 @item
633 Il titolo di un brano deriva dai campi all'inizio del file di input,
634 modificati dai campi definiti nel blocco @code{\book} e poi da quelli
635 definiti nel blocco @code{\bookpart} e infine da quelli definiti
636 nel blocco @code{\score}.  I valori risultanti vengono usati per
637 stampare il titolo di quel brano. Nota bene: per impostazione
638 predefinita nei titoli del brano appaiono soltanto i campi @code{piece}
639 e @code{opus} a meno che la variabile @code{print-all-headers} di
640 @code{\paper} non sia impostata su @code{#t}.
641
642 @end itemize
643
644 @warning{Ricordarsi che quando si mette un blocco @bs{}@code{header} in
645 un blocco @bs{}@code{score}, l'espressione musicale deve precedere il
646 blocco @bs{}@code{header}.}
647
648 Non è necessario inserire blocchi @code{\header} in tutti e quattro
649 i luoghi: alcuni o perfino tutti possono essere omessi. Analogalmente,
650 in semplici file di input si possono omettere i blocchi @code{\book} e
651 @code{\bookpart}, lasciando che questi siano creati implicitamente.
652
653 Se il libro ha un solo brano, il blocco @code{\header} viene di
654 solito messo all'inizio del file, in modo che sia prodotto soltanto
655 il titolo della parte e lasciando disponibili tutti i campi di
656 titolazione.
657
658 Se il libro ha vari brani, è possibile usare diverse disposizioni dei
659 blocchi @code{\header}, corrispondenti ai diversi tipi di pubblicazione
660 musicale. Per esempio, se la pubblicazione contiene vari brani dello
661 stesso compositore, un blocco @code{\header} all'inizio del file
662 che specifichi il titolo del libro e il nome del compositore e dei blocchi
663 @code{\header} in ciascun blocco @code{\score} che specifichino il titolo
664 del brano (@code{piece}) e dell'opera (@code{opus}) sarebbe la soluzione
665 più adatta, come in questo esempio:
666
667 @lilypond[papersize=a5,quote,verbatim,noragged-right]
668 \header {
669   title = "SUITE I."
670   composer = "J. S. Bach."
671 }
672
673 \score {
674   \new Staff \relative {
675     \clef bass
676     \key g \major
677     \repeat unfold 2 { g,16( d' b') a b d, b' d, } |
678     \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
679   }
680   \header {
681     piece = "Prélude."
682   }
683 }
684
685 \score {
686   \new Staff \relative {
687     \clef bass
688     \key g \major
689     \partial 16 b16 |
690     <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
691     d16( b g fis) g( e d c) b(c d e) fis( g a b) |
692   }
693   \header {
694     piece = "Allemande."
695   }
696 }
697 @end lilypond
698
699 Sono possibili disposizioni più complesse.  Per esempio, i campi testuali
700 del blocco @code{\header} di un libro possono essere stampati nei titoli
701 di tutti i brani, magari sovrascrivendo alcuni campi e sopprimendone altri:
702
703 @lilypond[papersize=a5,quote,verbatim,noragged-right]
704 \book {
705   \paper {
706     print-all-headers = ##t
707   }
708   \header {
709     title = "DAS WOHLTEMPERIRTE CLAVIER"
710     subtitle = "TEIL I"
711     % Non mostrare il piè di pagina predefinito nell'ultima pagina di questo libro
712     tagline = ##f
713   }
714   \markup { \vspace #1 }
715   \score {
716     \new PianoStaff <<
717       \new Staff { s1 }
718       \new Staff { \clef "bass" s1 }
719     >>
720     \header {
721       title = "PRAELUDIUM I"
722       opus = "BWV 846"
723       % Non mostrare il sottotitolo in questo brano
724       subtitle = ##f
725     }
726   }
727   \score {
728     \new PianoStaff <<
729       \new Staff { s1 }
730       \new Staff { \clef "bass" s1 }
731     >>
732     \header {
733       title = "FUGA I"
734       subsubtitle = "A 4 VOCI"
735       opus = "BWV 846"
736       % Non mostrare il sottotitolo in questo brano
737       subtitle = ##f
738     }
739   }
740 }
741 @end lilypond
742
743 @seealso
744 Guida alla notazione:
745 @ref{File structure},
746 @ref{Default layout of bookpart and score titles},
747 @ref{Custom layout for titles}.
748
749
750 @node Formattazione predefinita dei titoli delle parti e dei brani
751 @unnumberedsubsubsec Formattazione predefinita dei titoli delle parti e dei brani
752 @translationof Default layout of bookpart and score titles
753
754 Questo esempio illustra visivamente tutte le variabili del
755 blocco @code{\header}:
756
757 @lilypond[papersize=a6landscape,quote,verbatim,noragged-right]
758 \book {
759   \header {
760       % I seguenti campi sono centrati
761     dedication = "Dedica"
762     title = "Titolo"
763     subtitle = "Sottotitolo"
764     subsubtitle = "Sottosottotitolo"
765       % I seguenti campi sono distribuiti uniformemente su una riga
766       % il campo "instrument" appare anche nelle pagine seguenti
767     instrument = \markup \with-color #green "Strumento"
768     poet = "Poeta"
769     composer = "Compositore"
770       % I campi seguenti sono posti agli estremi opposti della stessa riga
771     meter = "Tempo"
772     arranger = "Arrangiatore"
773       % I campi seguenti sono centrati in fondo
774     tagline = "Lo slogan va in fondo all'ultima pagina"
775     copyright = "Il copyright va in fondo alla prima pagina"
776   }
777   \score {
778     { s1 }
779     \header {
780         % I campi seguenti sono posti agli estremi opposti della stessa riga
781       piece = "Brano 1"
782       opus = "Opera 1"
783     }
784   }
785   \score {
786     { s1 }
787     \header {
788         % I campi seguenti sono posti agli estremi opposti della stessa riga
789       piece = "Brano 2 sulla stessa pagina"
790       opus = "Opera 2"
791     }
792   }
793   \pageBreak
794   \score {
795     { s1 }
796     \header {
797         % I campi seguenti sono posti agli estremi opposti della stessa riga
798       piece = "Brano 3 su una nuova pagina"
799       opus = "Opera 3"
800     }
801   }
802 }
803 @end lilypond
804
805 Notare che:
806
807 @itemize
808 @item
809 Il nome dello strumento sarà ripetuto su ogni pagina.
810
811 @item
812 Appaiono soltanto i campi @code{piece} e @code{opus} di un blocco @code{\score}
813 quando la variabile @code{print-all-headers} del foglio è impostata su
814 @code{##f} (valore predefinito).
815
816 @item
817 I campi testuali non specificati in un blocco @code{\header} sono sostituiti
818 con @code{\null} in modo da non sprecare spazio.
819
820 @item
821 Le impostazioni predefinite per @code{scoreTitleMarkup} posizionano i campi
822 @code{piece} e @code{opus} alle estremità opposte della stessa riga.
823
824 @end itemize
825
826 Per cambiare la formattazione predefinita leggere @ref{Custom layout for titles}.
827
828 @cindex breakbefore
829
830 Se un blocco @code{\book} inizia subito con un blocco @code{\bookpart},
831 non verrà stampato alcun titolo per il libro, dato che non esiste una
832 pagina in cui farlo apparire. Se il titolo del libro deve comunque
833 apparire, conviene inserire all'inizio  di @code{\book} del testo
834 inserito con @code{\markup} oppure un comando @code{\pageBreak}.
835
836 Usare la variabile @code{breakbefore} all'interno di un blocco @code{\header}
837 racchiuso in un blocco @code{\score} per far sì che i titoli del blocco
838 @code{\header} di più alto livello appaiono da soli nella prima pagina,
839 mentre la musica (definita nel blocco @code{\score}) inizia nella
840 pagina successiva.
841
842 @c ho tradotto i campi liberamente per maggiore chiarezza - fb
843 @lilypond[papersize=c7landscape,verbatim,noragged-right]
844 \book {
845   \header {
846     title = "Titolo del libro"
847     subtitle = "Sottotitolo del libro"
848     copyright = "Fine della prima pagina"
849   }
850   \score {
851     \repeat unfold 4 { e'' e'' e'' e'' }
852     \header {
853       piece = "Titolo del brano"
854       breakbefore = ##t
855     }
856   }
857 }
858 @end lilypond
859
860 @seealso
861 Manuale di apprendimento:
862 @rlearning{Come funzionano i file di input di LilyPond},
863
864 Guida alla notazione:
865 @ref{Custom layout for titles},
866 @ref{File structure}.
867
868 File installati:
869 @file{ly/titling-init.ly}.
870
871
872 @node Formattazione predefinita delle intestazioni e dei piè di pagina
873 @unnumberedsubsubsec Formattazione predefinita delle intestazioni e dei piè di pagina
874 @translationof Default layout of headers and footers
875
876 @emph{Intestazioni} e @emph{piè di pagina} sono linee di testo che appaiono
877 in cima e in fondo alle pagine, distinte dal testo principale di un libro.
878 Possono essere definite nelle seguenti variabili del blocco @code{\paper}:
879
880 @itemize
881 @item @code{oddHeaderMarkup}
882 @item @code{evenHeaderMarkup}
883 @item @code{oddFooterMarkup}
884 @item @code{evenFooterMarkup}
885 @end itemize
886
887 Queste variabili di markup possono soltanto accedere ai campi testuali definiti
888 nei blocchi @code{\header} del livello superiore (che vengono applicati a tutti
889 i brani del libro) e sono definiti in @file{ly/titling-init.ly}.  Impostazioni
890 predefinite:
891
892 @itemize
893
894 @item
895 i numeri di pagina sono collocati automaticamente in alto a sinistra (se la
896 pagina è pari) o in alto a destra (se la pagina è dispari), a partire dalla
897 seconda pagina.
898
899 @item
900 il campo @code{instrument} viene ripetuto al centro di ogni pagina, a
901 partire dalla seconda pagina.
902
903 @item
904 il testo del @code{copyright} è centrato in fondo alla prima pagina.
905
906 @item
907 lo @qq{slogan} (o firma) -- @code{tagline} -- è centrato in fondo
908 all'ultima pagina o sotto il campo del @code{copyright} se c'è
909 una sola pagina.
910
911 @end itemize
912
913 Il testo del piè di pagina predefinito per l'ultima pagina può essere
914 modificato aggiungendo il campo @code{tagline} al blocco @code{\header}
915 del livello superiore.
916
917 @lilypond[papersize=a8landscape,verbatim]
918 \book {
919   \header {
920     tagline = "... notazione musicale per tutti"
921   }
922   \score {
923     \relative {
924       c'4 d e f
925     }
926   }
927 }
928 @end lilypond
929
930 Per toglierlo, impostare @code{tagline} su @code{##f}.
931
932
933 @node Titoli intestazioni e piè di pagina personalizzati
934 @subsection Titoli intestazioni e piè di pagina personalizzati
935 @translationof Custom titles headers and footers
936
937 @menu
938 * Titoli personalizzati::
939 * Formattazione personalizzata dei titoli::
940 * Formattazione personalizzata di intestazioni e piè di pagina::
941 @end menu
942
943
944 @node Titoli personalizzati
945 @unnumberedsubsubsec Titoli personalizzati
946 @translationof Custom text formatting for titles
947
948 Si possono usare i normali comandi @code{\markup} per personalizzare qualsiasi
949 intestazione, piè di pagina e titolo di un blocco @code{\header}.
950
951 @lilypond[quote,verbatim,noragged-right]
952 \score {
953   { s1 }
954   \header {
955     piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
956     opus = \markup { \italic "BWV 846" }
957   }
958 }
959 @end lilypond
960
961 @seealso
962 Guida alla notazione:
963 @ref{Formatting text}.
964
965
966 @node Formattazione personalizzata dei titoli
967 @unnumberedsubsubsec Formattazione personalizzata dei titoli
968 @translationof Custom layout for titles
969
970 @cindex bookTitleMarkup
971 @cindex scoreTitleMarkup
972 @funindex bookTitleMarkup
973 @funindex scoreTitleMarkup
974
975 I comandi @code{\markup} nel blocco @code{\header} sono utili solo per la
976 formattazione del testo, ma non consentono un controllo preciso sul
977 posizionamento dei titoli. Per personalizzare il posizionamento dei campi
978 testuali, cambiare una o entrambe le seguenti variabili @code{\paper}:
979
980 @itemize
981 @item @code{bookTitleMarkup}
982 @item @code{scoreTitleMarkup}
983 @end itemize
984
985 Il posizionamento dei titoli secondo i valori predefiniti di queste variabili
986 @code{\markup} è mostrato negli esempi in
987 @ref{Default layout of bookpart and score titles}.
988
989 Le impostazioni predefinite di @code{scoreTitleMarkup}, definite in
990 @file{ly/titling-init.ly}, sono:
991
992 @example
993 scoreTitleMarkup = \markup @{ \column @{
994   \on-the-fly \print-all-headers @{ \bookTitleMarkup \hspace #1 @}
995   \fill-line @{
996     \fromproperty #'header:piece
997     \fromproperty #'header:opus
998   @}
999 @}
1000 @}
1001 @end example
1002
1003 Questo pone i campi testuali @code{piece} e @code{opus} alle estremità opposte
1004 della stessa riga:
1005
1006 @lilypond[quote,verbatim,noragged-right]
1007 \score {
1008   { s1 }
1009   \header {
1010     piece = "PRAELUDIUM I"
1011     opus = "BWV 846"
1012   }
1013 }
1014 @end lilypond
1015
1016 L'esempio seguente ridefinisce @code{scoreTitleMarkup} in modo che il campo
1017 testuale di @code{piece} sia centrato e in un tipo di carattere più grande e
1018 in grassetto.
1019
1020 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1021 \book {
1022   \paper {
1023     indent = 0\mm
1024     scoreTitleMarkup = \markup {
1025       \fill-line {
1026         \null
1027         \fontsize #4 \bold \fromproperty #'header:piece
1028         \fromproperty #'header:opus
1029       }
1030     }
1031   }
1032   \header { tagline = ##f }
1033   \score {
1034     { s1 }
1035     \header {
1036       piece = "PRAELUDIUM I"
1037       opus = "BWV 846"
1038     }
1039   }
1040 }
1041 @end lilypond
1042
1043 I campi testuali che non sono normalmente attivi nei blocchi @code{\header}
1044 compresi in un blocco @code{\score} possono essere stampati nello spazio
1045 dedicato al titolo del brano se si aggiunge @code{print-all-headers} nel
1046 blocco @code{\paper}.  Lo svantaggio di questo metodo è che i campi testuali
1047 intesi esclusivamente per lo spazio del titolo della parte devono essere
1048 manualmente soppressi in ogni blocco @code{\score}.  Vedi @ref{Titles explained}.
1049
1050 Per evitare ciò, è meglio aggiungere il campo testuale desiderato alla
1051 definizione di @code{scoreTitleMarkup}. Nell'esempio seguente il campo
1052 @code{composer} (solitamente associato a @code{bookTitleMarkup}) viene
1053 aggiunto a @code{scoreTitleMarkup}, facendo sì che ogni brano possa elencare
1054 un diverso compositore:
1055
1056 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1057 \book {
1058   \paper {
1059     indent = 0\mm
1060     scoreTitleMarkup = \markup {
1061       \fill-line {
1062         \null
1063         \fontsize #4 \bold \fromproperty #'header:piece
1064         \fromproperty #'header:composer
1065       }
1066     }
1067   }
1068   \header { tagline = ##f }
1069   \score {
1070     { s1 }
1071     \header {
1072       piece = "MENUET"
1073       composer = "Christian Petzold"
1074     }
1075   }
1076   \score {
1077     { s1 }
1078     \header {
1079       piece = "RONDEAU"
1080       composer = "François Couperin"
1081     }
1082   }
1083 }
1084 @end lilypond
1085
1086 È anche possibile creare un campo testuale personalizzato e fare riferimento
1087 ad esso nella definizione di markup.
1088
1089 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1090 \book {
1091   \paper {
1092     indent = 0\mm
1093     scoreTitleMarkup = \markup {
1094       \fill-line {
1095         \null
1096         \override #`(direction . ,UP) {
1097           \dir-column {
1098             \center-align \fontsize #-1 \bold
1099               \fromproperty #'header:mycustomtext %% Campo definito dall'utente
1100             \center-align \fontsize #4 \bold
1101               \fromproperty #'header:piece
1102           }
1103         }
1104         \fromproperty #'header:opus
1105       }
1106     }
1107   }
1108   \header { tagline = ##f }
1109   \score {
1110     { s1 }
1111     \header {
1112       piece = "FUGA I"
1113       mycustomtext = "A 4 VOCI" %% Campo definito dall'utente
1114       opus = "BWV 846"
1115     }
1116   }
1117 }
1118 @end lilypond
1119
1120 @seealso
1121 Guida alla notazione:
1122 @ref{Titles explained}.
1123
1124
1125 @node Formattazione personalizzata di intestazioni e piè di pagina
1126 @unnumberedsubsubsec Formattazione personalizzata di intestazioni e piè di pagina
1127 @translationof Custom layout for headers and footers
1128
1129 I comandi @code{\markup} nel blocco @code{\header} sono utili solo per la
1130 formattazione del testo, ma non consentono un controllo preciso sul
1131 posizionamento di intestazioni e piè di pagina. Per personalizzare il
1132 posizionamento dei campi testuali, usare una o entrambe le seguenti
1133 variabili @code{\paper}:
1134
1135 @itemize
1136 @item @code{oddHeaderMarkup}
1137 @item @code{evenHeaderMarkup}
1138 @item @code{oddFooterMarkup}
1139 @item @code{evenFooterMarkup}
1140 @end itemize
1141
1142 @cindex markup condizionale
1143 @cindex testo condizionale
1144 @cindex on-the-fly
1145 @funindex \on-the-fly
1146
1147 Il comando @code{\on-the-fly} -- usato all'interno di un blocco @code{\markup} --
1148 permette di aggiungere del testo a intestazioni e piè di pagina definiti nel
1149 blocco @code{\paper}, solo se certe condizioni sono soddisfatte, tramite la
1150 seguente sintassi:
1151
1152 @example
1153 @code{variabile} = @code{\markup} @{
1154   @dots{}
1155   @code{\on-the-fly}  \@var{procedura}  @var{testo}
1156   @dots{}
1157 @}
1158 @end example
1159
1160 La @var{procedura} viene chiamata ogni volta che viene elaborato il comando
1161 @code{\markup} nel quale essa si trova. La @var{procedura} verifica una
1162 precisa condizione e interpreta (ovvero stampa) l'argomento @var{testo} se
1163 e solo se la condizione è vera.
1164
1165 Sono disponibili varie procedura pronte per verificare varie condizioni:
1166
1167 @quotation
1168 @multitable {print-page-number-check-first-----} {should this page be printed-----}
1169
1170 @headitem  Nome della procedura           @tab  Condizione verificata
1171
1172 @item print-page-number-check-first @tab  stampare questa pagina?
1173 @item create-page-number-stencil    @tab  print-page-numbers è vero?
1174 @item print-all-headers             @tab  print-all-headers è vero?
1175 @item first-page                    @tab  prima pagina del libro?
1176 @item (on-page nmbr)                @tab  numero pagina = nmbr?
1177 @item last-page                     @tab  ultima pagina del libero?
1178 @item not-first-page                @tab  non la prima pagina del libro?
1179 @item part-first-page               @tab  prima pagina della parte?
1180 @item part-last-page                @tab  ultima pagina della parte?
1181 @item not-single-page               @tab  pagine della parte > 1?
1182
1183 @end multitable
1184 @end quotation
1185
1186 L'esempio seguente centra i numeri di pagina in fondo a ogni pagina.
1187 Innanzitutto vengono annullate le impostazioni predefinite per
1188 @code{oddHeaderMarkup} e @code{evenHeaderMarkup} definendo ciascuno di
1189 essi come un markup @emph{null}. Poi @code{oddFooterMarkup} viene
1190 ridefinito col numero di pagina centrato. Infine a @code{evenFooterMarkup}
1191 viene assegnata la stessa formattazione di @code{\oddFooterMarkup}:
1192
1193 @lilypond[papersize=a8,quote,verbatim,noragged-right]
1194 \book {
1195   \paper {
1196     print-page-number = ##t
1197     print-first-page-number = ##t
1198     oddHeaderMarkup = \markup \null
1199     evenHeaderMarkup = \markup \null
1200     oddFooterMarkup = \markup {
1201       \fill-line {
1202         \on-the-fly \print-page-number-check-first
1203         \fromproperty #'page:page-number-string
1204       }
1205     }
1206     evenFooterMarkup = \oddFooterMarkup
1207   }
1208   \score {
1209     \new Staff { s1 \break s1 \break s1 }
1210   }
1211 }
1212 @end lilypond
1213
1214 Varie condizioni @code{\on-the-fly} possono essere combinate insieme come se
1215 si utilizzasse l'operatore logico @q{and} e il testo apparirà solo se tutte
1216 le condizioni sono vere. Per esempio, queste due condizioni
1217
1218 @example
1219   @code{\on-the-fly \first-page}
1220   @code{\on-the-fly \last-page}
1221   @code{@{ \markup @dots{} \fromproperty #'header: @dots{} @}}
1222 @end example
1223
1224 verificano se l'output è una pagina singola.
1225
1226 @seealso
1227 Guida alla notazione:
1228 @ref{Titles explained},
1229 @ref{Default layout of bookpart and score titles}.
1230
1231 File installati:
1232 @file{../ly/titling-init.ly}.
1233
1234 @node Creazione di metadati PDF
1235 @subsection Creazione di metadati PDF
1236 @translationof Creating PDF metadata
1237
1238 @cindex PDF metadata
1239
1240 Oltre ad apparire nell'output, le variabili di @code{\header} vengono
1241 usate anche per impostare i metadati PDF (le informazioni mostrate dai
1242 lettori PDF come @code{proprietà} del file PDF).  Per esempio, impostando
1243 la proprietà @code{title} del blocco @code{header} @q{Sinfonia I} si
1244 assegnerà questo titolo anche al docmìumento PDF.
1245
1246 @example
1247   @code{\header@{}
1248     @code{title = "Sinfonia I"}
1249   @code{@}}
1250 @end example
1251
1252 Se si desidera impostare il titolo dell'output su un valore e la proprietà
1253 titolo del PDF su un valore diverso, si può usare @code{pdftitle}, nel
1254 modo seguente:
1255
1256 @example
1257   @code{\header@{}
1258     @code{title = "Sinfonia I"}
1259     @code{pdftitle = "Sinfonia I di Beethoven"}
1260   @code{@}}
1261 @end example
1262
1263 Le variabili @code{title}, @code{subject}, @code{keywords},
1264 @code{subtitle}, @code{composer}, @code{arranger}, @code{poet}, @code{author}
1265 e @code{copyright} impostano anche le proprietà del PDF e possono essere
1266 tutte prefissate con @q{pdf} per impostare una proprietà del PDF su un
1267 valore diverso da quello dell'output.
1268
1269 La proprietà PDF @code{Creator} è automaticamente impostata su @q{LilyPond} più
1270 la versione di LilyPond utilizzata, e @code{CreationDate} (data di creazione) e
1271 @code{ModDate} (data di modifica) sono entrambe impostate sulla data e ora
1272 correnti.  @code{ModDate} può essere sovrascritta impostando nel blocco
1273 @code{header} la variabile @code{moddate} (o @code{pdfmoddate}) su una
1274 valida data per il PDF.
1275
1276 @node Creazione di note a piè di pagina
1277 @subsection Creazione di note a piè di pagina
1278 @translationof Creating footnotes
1279
1280 @cindex note a piè di pagina
1281
1282 Le note a piè di pagina possono essere usate in situazioni diverse.  In tutti
1283 i casi, un @q{segno della nota a piè di pagina} viene inserito come riferimento
1284 vicino al testo o alla musica a cui si riferisce e il corrispondente
1285 @q{testo della nota a piè di pagina} appare in fondo alla stessa pagina.
1286
1287 Le note a piè di pagina si creano diversamente a seconda che siano applicate a
1288 espressioni musicali o a del testo separato e fuori dalle espressioni
1289 musicali.
1290
1291 @menu
1292 * Note a piè di pagina nelle espressioni muicali::
1293 * Note a piè di pagina nel testo separato::
1294 @end menu
1295
1296 @node Note a piè di pagina nelle espressioni muicali
1297 @unnumberedsubsubsec Note a piè di pagina nelle espressioni muicali
1298 @translationof Footnotes in music expressions
1299
1300 @cindex note a piè di pagina nelle espressioni musicali
1301 @funindex \footnote
1302
1303 @subsubsubheading Panoramica sulle note a piè di pagina attaccate alla musica
1304
1305 Le note a piè di pagina nelle espressioni muicali appartengono a
1306 due categorie:
1307
1308 @table @emph
1309 @item Note a piè di pagina basate su un evento
1310 sono collegate a un preciso evento.  Esempi di tali eventi sono
1311 note singole, articolazioni (come le indicazioni di diteggiatura, gli accenti,
1312 le dinamiche), e ciò che è successivo a un evento (come le legature di
1313 portmento e le travature manuali).  La forma generale per le note a piè di
1314 pagina basate su un evento è la seguente:
1315
1316 @example
1317 [@var{direzione}] \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
1318 @end example
1319
1320 @item Note a piè di pagina basate sul tempo
1321 sono collegate a un preciso momento temporale in un contesto musicale.  Alcuni
1322 comandi come @code{\time} e @code{\clef} non usano in realtà degli eventi
1323 per creare oggetti come le indicazioni di tempo e le chiavi.  E nemmeno un
1324 accordo crea un suo evento: il suo gambo o coda sono creati alla fine di
1325 un'unità di tempo (attraverso un evento di una delle note al suo interno).
1326 Non è definito esattamente quale dei molteplici eventi nota di un accordo
1327 sarà giudicato la causa ultima di un gambo o di una coda. Dunque per legare
1328 una nota a questi, sono preferibili le note a piè di pagina basate sul tempo.
1329
1330 Una nota a piè di pagina basata sul tempo permette a tali oggetti della
1331 formattazione di avere delle note senza che sia necessario riferirsi a
1332 un evento.
1333 A time-based footnote allows such layout objects to be annotated
1334 without referring to an event.  La forma generale per le note a piè di
1335 pagina basate sul tempo è la seguente:
1336
1337 @example
1338 \footnote [@var{segno}] @var{offset} @var{nota} [@var{Contesto}].@var{NomeGrob}
1339 @end example
1340
1341 @end table
1342
1343 Gli elemnti di entrambe le forme sono:
1344
1345 @table @var
1346
1347 @item direzione
1348 Se (e  solo se) @code{\footnote} viene applicato a un post-evento o a una
1349 articolazione, deve essere preceduto da un indicatore di direzione
1350 (@code{-, _, ^}) per poter collegare la @var{musica} (col segno della
1351 nota a piè di pagina) alla nota o pausa precedenti.
1352
1353 @item segno
1354 è del testo -- racchiuso tra virgolette o in un blocco @code{\markup} -- che
1355 specifica il segno della nota usata per contrassegnare sia il punto di
1356 riferimento che la nota stessa in fondo alla pagina. Può essere omesso
1357 (o sostituito con @code{\default}) nel qual caso sarà generato automaticamente
1358 un numero in sequenza. Tali sequenze numeriche ricominciano su ogni pagina
1359 contenente una nota.
1360
1361 @item offset
1362 è una coppia di numeri come @samp{#(2 . 1)} che specificano la distanza
1363 orizzontale e verticale (X e Y@tie{}offset) in unità di spazio rigo dal
1364 bordo dell'oggetto in cui il segno deve essere posizionato. Valori positivi
1365 degli offset vengono presi dal bordo in alto a destra, valori negativi
1366 dal bordo in basso a sinistra e lo zero significa che il segno è centrato
1367 sul bordo.
1368
1369 @item Contesto
1370 è il contesto in cui è creato il grob a cui è collegata la nota.  Può essere
1371 omesso se il grob si trova in un contesto più basso, per esempio un
1372 contesto @code{Voice}.
1373
1374 @item NomeGrob
1375 indica un tipo di grob a cui assegnare la nota (come @samp{Flag}).  Se viene
1376 specificato, la nota a piè di pagina non è collegata a un'espressione musicale
1377 in particolare, bensì a tutti i grob di quel tipo che si trovano in quel
1378 momento del tempo musicale.
1379
1380 @item nota
1381 è il testo -- racchiuso tra virgolette o in un blocco @code{\markup} -- che
1382 contiene il testo da usare per la nota a piè di pagina.
1383
1384 @item musica
1385 è l'evento musicale o il post-event0 o articolazione a cui viene collegata
1386 la nota.
1387
1388 @end table
1389
1390 @subsubsubheading Note a piè di pagina basate su un evento
1391
1392 @cindex note a piè di pagina basate su un evento
1393
1394 Una nota a piè di pagina può essere collegata a un oggetto della formattazione
1395 direttamente causato dall'evento corrispondente a @var{musica} con la sintassi:
1396
1397 @example
1398 \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
1399 @end example
1400
1401 @lilypond[quote,verbatim,papersize=a8landscape]
1402 \book {
1403   \header { tagline = ##f }
1404   \relative c'' {
1405     \footnote #'(-1 . 3) "Una nota" a4
1406     a4
1407     \footnote #'(2 . 2) "Una pausa" r4
1408     a4
1409   }
1410 }
1411 @end lilypond
1412
1413 Contrassegnare un @emph{intero} accordo con una nota a piè di pagina basata
1414 su un evento non è possibile: un accordo, perfino uno che contenga una sola
1415 nota, non produce un vero evento specifico. Tuttavia possono essere
1416 contrassegnate singole note @emph{dentro} l'accordo:
1417
1418 @lilypond[quote,verbatim,papersize=a8landscape]
1419 \book {
1420   \header { tagline = ##f }
1421   \relative c'' {
1422     \footnote #'(2 . 3) "Non funziona" <a-3>2
1423     <\footnote #'(-2 . -3) "Funziona" a-3>4
1424     <a-3 \footnote #'(3 . 1/2) "Anche questo funziona" c-5>4
1425   }
1426 }
1427 @end lilypond
1428
1429 Se la nota deve essere attaccata a un post-evento o un'articolazione
1430 il comando @code{\footnote} @emph{deve} essere preceduto da un indicatore
1431 di direzione, @code{-, _, ^}, e seguito dal post-evento o dall'articolazione
1432 che si desidera commentare nell'argomento @var{musica}.  In questa forma
1433 @code{\footnote} può essere considerato semplicemente una copia del
1434 suo ultimo argomento con un segno di nota a piè di pagina collegato a
1435 esso.  La sintassi è:
1436
1437 @example
1438 @var{direzione} \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
1439 @end example
1440
1441 @lilypond[quote,verbatim,papersize=a8landscape]
1442 \book {
1443   \header { tagline = ##f }
1444   \relative {
1445     a'4_\footnote #'(0 . -1) "Una legatura di portamento forzata in giù" (
1446     b8^\footnote #'(1 . 0.5) "Una travatura manuale forzata in giù" [
1447     b8 ]
1448     c4 )
1449     c-\footnote #'(1 . 1) "Tenuto" --
1450   }
1451 }
1452 @end lilypond
1453
1454 @subsubsubheading Note a piè di pagina basate sul tempo
1455
1456 @cindex note a piè di pagina basate sul tempo
1457
1458 Se l'oggetto della formattazione a cui attaccare la nota è @emph{indirettamente}
1459 causato da un evento -- come un @code{Accidental} (alterazione) o @code{Stem}
1460 (gambo) causati da un evento @code{NoteHead} (testa di nota), è necessario
1461 specificare il @var{NomeGrob} dell'oggetto di formattazione al posto di
1462 @var{musica} dopo il testo della nota:
1463
1464 @lilypond[quote,verbatim,papersize=a8landscape]
1465 \book {
1466   \header { tagline = ##f }
1467   \relative c'' {
1468     \footnote #'(-1 . -3) "Un bemolle" Accidental
1469     aes4 c
1470     \footnote #'(-1 . 0.5) "Un altro bemolle" Accidental
1471     ees
1472     \footnote #'(1 . -2) "Un gambo" Stem
1473     aes
1474   }
1475 }
1476 @end lilypond
1477
1478 Attenzione: quando si specifica un NomeGrob, una nota a piè di pagina
1479 sarà attaccata a tutti i grob di quel tipo che si trovano in quel
1480 momento musicale:
1481
1482 @lilypond[quote,verbatim,papersize=a8landscape]
1483 \book {
1484   \header { tagline = ##f }
1485   \relative c' {
1486     \footnote #'(-1 . 3) "Un bemolle" Accidental
1487     <ees ges bes>4
1488     \footnote #'(2 . 0.5) "Articolazione" Script
1489     c'->-.
1490   }
1491 }
1492 @end lilypond
1493
1494 È possibile assegnare a una nota di un accordo una singola nota a
1495 piè di pagina (basata su un evento). @samp{NoteHead} è l'unico grob
1496 causato direttamente dalla nota di un accordo, dunque una not a piè
1497 di pagina basata su un evento è adatta @emph{soltanto} ad aggiungere
1498 una nota a piè di pagina al @samp{NoteHead} all'interno di un accordo.
1499 Tutti gli altri grob delle note di un accordo sono causati indirettamente.
1500 Il comando @code{\footnote} non ha una sintassi per specificare @emph{sia}
1501 un particolare tipo di grob @emph{sia} un particolare evento a cui collegare
1502 la nota. Tuttavia si può usare un comando @code{\footnote} basato sul tempo
1503 per specificare il tipo di grob e poi precedere tale comando con @code{\single}
1504 perché venga applicato soltanto all'evento che segue:
1505
1506 @lilypond[quote,verbatim,papersize=a8landscape]
1507 \book {
1508   \header { tagline = ##f }
1509   \relative c'' {
1510     < \footnote #'(1 . -2) "An A" a
1511       \single \footnote #'(-1 . -1) "Un diesis" Accidental
1512       cis
1513       \single \footnote #'(0.5 . 0.5) "Un bemolle" Accidental
1514       ees fis
1515     >2
1516   }
1517 }
1518 @end lilypond
1519
1520 @warning {Quando le note a piè di pagina sono collegate a diversi elementi
1521 musicali nello stesso momento musicale, come nell'esempio precedente, le note
1522 sono numerate dall'elemento più alto a quello più in basso come questi
1523 appaiono nell'output e non nell'ordine in cui sono inseriti nell'input.}
1524
1525 Gli oggetti della formattazione come le chiavi e i cambi di armatura di
1526 chiave sono causati principalmente come conseguenza di proprietà modificate
1527 piuttosto che di veri eventi. Per questo motivo le note su tali oggetti
1528 devono essere basate sul loro tempo musicale. Le note a piè di pagina
1529 basate sul tempo sono da preferire anche quando si vogliono contrassegnare
1530 elementi come i gambi e le travature in un @emph{accordo}: sebbene tali
1531 elementi dell'accordo siano nominalmente assegnati a @emph{un} evento
1532 all'interno dell'accordo, affidarsi a una scelta particolare sarebbe
1533 imprudente.
1534
1535 L'oggetto della formattazione in questione deve essere sempre specificato
1536 esplicitamente nelle note a piè di pagina basate sul tempo, e il contesto
1537 appropriato deve essere indicato se il grob viene creato in un contesto
1538 diverso da quello più basso.
1539
1540 @lilypond[quote,verbatim,papersize=a8landscape]
1541 \book {
1542   \header { tagline = ##f }
1543   \relative c'' {
1544     r1 |
1545     \footnote #'(-0.5 . -1) "Cambio di tempo" Staff.TimeSignature
1546     \time 3/4
1547     \footnote #'(1 . -1) "Gambo dell'accordo" Stem
1548     <c e g>4 q q
1549     \footnote #'(-0.5 . 1) "Stanghetta" Staff.BarLine
1550     q q
1551     \footnote #'(0.5 . -1) "Cambio di armatura" Staff.KeySignature
1552     \key c \minor
1553     q
1554   }
1555 }
1556 @end lilypond
1557
1558 Si possono usare segni personalizzati in alternativa a quelli numerici, e
1559 si può sopprimere la linea che collega l'oggetto commentato al segno:
1560
1561 @lilypond[quote,verbatim,papersize=a8landscape]
1562 \book {
1563   \header { tagline = ##f }
1564   \relative c' {
1565     \footnote "*" #'(0.5 . -2) \markup { \italic "* La prima nota" } a'4
1566     b8
1567     \footnote \markup { \super "$" } #'(0.5 . 1)
1568       \markup { \super "$" \italic " La seconda nota" } e
1569     c4
1570     \once \override Score.FootnoteItem.annotation-line = ##f
1571     b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
1572       \markup { \super "+" \italic " Editoriale" } \p
1573   }
1574 }
1575 @end lilypond
1576
1577 Altri esempi di segni personalizzati si trovano in
1578 @ref{Footnotes in stand-alone text}.
1579
1580
1581 @node Note a piè di pagina nel testo separato
1582 @unnumberedsubsubsec Note a piè di pagina nel testo separato
1583 @translationof Footnotes in stand-alone text
1584
1585 @cindex note a piè di pagina nel testo separato
1586
1587 Queste vengono usate all'interno di blocchi @code{\markup} che si trovano
1588 fuori dalle espresioni musicali.  Non hanno una linea che le unisce al
1589 loro punto di riferimento: i loro segni seguono semplicemente il
1590 testo citato. I segni possono essere inseriti automaticamente, nel
1591 qual caso sono numerici; altrimenti è possibile inserire manualmente
1592 dei segni personalizzati.
1593
1594 Le note a piè di pagina su testo separato vengono create in modo diverso
1595 a seconda che si scelgano segni automatici oppure segni personalizzati.
1596
1597 @subsubsubheading Note a piè di pagina nel testo separato con segni automatici
1598
1599 La sintassi di una nota a piè di pagina nel testo separato con segni
1600 automatici è
1601
1602 @example
1603 \markup @{ @dots{} \auto-footnote @var{testo} @var{nota} @dots{} @}
1604 @end example
1605
1606 Gli elementi sono:
1607
1608 @table @var
1609
1610 @item testo
1611 è il testo -- racchiuso tra virgolette doppie o in un blocco markup -- da
1612 contrassegnare.
1613
1614 @item nota
1615 è il testo della nota a piè di pagina.
1616
1617 @end table
1618
1619 Per esempio:
1620
1621 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1622 \book {
1623   \header { tagline = ##f }
1624   \markup {
1625     "Una semplice"
1626     \auto-footnote "canzone" \italic " Scritta da me"
1627     "è mostrata sotto.  È una composizione"
1628     \auto-footnote "recente" \italic " Agosto 2012"
1629     "."
1630   }
1631   \relative {
1632     a'4 b8 e c4 d
1633   }
1634 }
1635 @end lilypond
1636
1637 @subsubsubheading Note a piè di pagina nel testo separato con segni personalizzati
1638
1639 La sintassi di una nota a piè di pagina nel testo separato con segni
1640 personalizzati è
1641
1642 @example
1643 \markup @{ @dots{} \footnote @var{segno} @var{nota} @dots{} @}
1644 @end example
1645
1646 Gli elementi sono:
1647
1648 @table @var
1649
1650 @item segno
1651 è una stringa di testo o un markup che indicano il segno da usare per
1652 contrassegnare il punto di riferimento. Tale segno @emph{non} viene
1653 inserito automaticamente prima della nota stessa.
1654
1655 @item nota
1656 è una stringa di testo o un markup che indicano il testo della nota a
1657 piè di pagina, preceduto dal @var{segno}.
1658
1659 @end table
1660
1661 Qualsiasi carattere facile da scrivere, come * o +, può essere usato come+
1662 segno, come è spiegato in @ref{Footnotes in music expressions}.  Altrimenti,
1663 si possono usare gli alias ASCII (vedi @ref{ASCII aliases}):
1664
1665 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1666 \book {
1667   \paper { #(include-special-characters) }
1668   \header { tagline = ##f }
1669   \markup {
1670     "Una semplice canzone"
1671     \footnote "*" \italic "* Scritta da me"
1672     "è mostrata sotto.  È una composizione recente"
1673     \footnote \super &dagger; \concat {
1674       \super &dagger; \italic " Agosto 2012"
1675     }
1676     "."
1677   }
1678   \relative {
1679     a'4 b8 e c4 d
1680   }
1681 }
1682 @end lilypond
1683
1684 È possibile usare anche i caratteri Unicode per indicare i segni
1685 (vedi @ref{Unicode}):
1686
1687 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1688 \book {
1689   \header { tagline = ##f }
1690   \markup {
1691     "Una semplice canzone"
1692     \footnote \super \char##x00a7 \concat {
1693       \super \char##x00a7 \italic " Scritta da me"
1694     }
1695     "è mostrata sotto.  È una composizione recente"
1696     \footnote \super \char##x00b6 \concat {
1697       \super \char##x00b6 \italic " Agosto 2012"
1698     }
1699     "."
1700   }
1701   \relative {
1702     a'4 b8 e c4 d
1703   }
1704 }
1705 @end lilypond
1706
1707 @seealso
1708 Manuale di apprendimento:
1709 @rlearning{Oggetti e interfacce}.
1710
1711 Guida alla notazione:
1712 @ref{ASCII aliases},
1713 @ref{Balloon help},
1714 @ref{List of special characters},
1715 @ref{Text marks},
1716 @ref{Text scripts},
1717 @ref{Unicode}.
1718
1719 Guida al funzionamento interno:
1720 @rinternals{FootnoteEvent},
1721 @rinternals{FootnoteItem},
1722 @rinternals{FootnoteSpanner},
1723 @rinternals{Footnote_engraver}.
1724
1725 @knownissues
1726 Varie note a piè di pagina sulla stessa pagina possono essere messe
1727 soltanto una dopo l'altra; non è possibile disporle sulla stessa
1728 riga.
1729
1730 Le note a piè di pagina non possono essere collegate a @code{MultiMeasureRests}
1731 o travature automatiche o testo vocale.
1732
1733 I segni delle note a piè di pagina potrebbero entrare in collisione con
1734 righi, oggetti @code{\markup}, altri segni e linee delle note a piè di
1735 pagina.
1736
1737
1738 @node Riferimento ai numeri di pagina
1739 @subsection Riferimento ai numeri di pagina
1740 @translationof Reference to page numbers
1741
1742 È possibile contrassegnare un punto specifico di una partitura usando il
1743 comando @code{\label} (etichetta) nel livello superiore o all'interno della
1744 musica.  Questa etichetta può quindi essere citata all'interno di un blocco
1745 markup, per ottenere il numero di pagina in cui è stato inserito il punto
1746 contrassegnato, tramite il comando markup @code{\page-ref}.
1747
1748 @lilypond[verbatim,papersize=a8landscape]
1749 \header { tagline = ##f }
1750 \book {
1751   \label #'primoBrano
1752   \score {
1753     {
1754       c'1
1755       \pageBreak \mark A \label #'segnoA
1756       c'1
1757     }
1758   }
1759   \markup { Il primo brano inizia a pagina \page-ref #'primoBrano "0" "?" }
1760   \markup { Il segno A è a pagina \page-ref #'segnoA "0" "?" }
1761 }
1762 @end lilypond
1763
1764 Il comando markup @code{\page-ref} prende tre argomenti:
1765 @enumerate
1766 @item l'etichetta, un simbolo scheme, per esempio @code{#'primoBrano};
1767 @item un testo markup da usare come misura di riferimento per stimare le
1768 dimensioni del testo;
1769 @item un testo markup che verrà usato al posto del numero di pagina se l'etichetta
1770 non viene trovata.
1771 @end enumerate
1772
1773 Il motivo per cui è necessario una misura di riferimento è che, nel momento in
1774 cui vengono interpretati i testi (markup), le interruzioni di pagina non sono
1775 ancora state decise, quindi i numeri di pagina non sono ancora noti. Per
1776 aggirare il problema, la vera interpretazione del testo viene rimandata a un
1777 momento successivo; tuttavia le dimensioni del testo devono essere conosciute
1778 prima, ecco perché una misura di riferimento viene usata per decidere tali
1779 dimensioni. Se il libro ha un numero di pagine compreso tra 10 e 99, tale misura
1780 sarà "00", ovvero un numero di due cifre.
1781
1782
1783 @predefined
1784 @funindex \label
1785 @code{\label},
1786 @funindex \page-ref
1787 @code{\page-ref}.
1788 @endpredefined
1789
1790
1791 @node Indice
1792 @subsection Indice
1793 @translationof Table of contents
1794
1795 L'indice si include col comando @code{\markuplist \table-of-contents}.
1796 Gli elementi che devono apparire nell'indice si inseriscono col comando
1797 @code{\tocItem}, che può essere usato nel livello superiore o all'interno
1798 di un'espressione musicale.
1799
1800 @verbatim
1801 \markuplist \table-of-contents
1802 \pageBreak
1803
1804 \tocItem \markup "Primo brano"
1805 \score {
1806   {
1807     c'4  % ...
1808     \tocItem \markup "Un punto preciso nel primo brano"
1809     d'4  % ...
1810   }
1811 }
1812
1813 \tocItem \markup "Secondo brano"
1814 \score {
1815   {
1816     e'4 % ...
1817   }
1818 }
1819 @end verbatim
1820
1821 I testi markup usati per formattare l'indice sono definiti nel blocco
1822 @code{\paper}.  Ce ne sono due predefiniti:
1823
1824 @itemize
1825
1826 @item
1827 @code{tocTitleMarkup}
1828
1829 @noindent
1830 Usato per formattare il titolo dell'indice.
1831
1832 @verbatim
1833 tocTitleMarkup = \markup \huge \column {
1834   \fill-line { \null "Indice" \null }
1835   \null
1836 }
1837 @end verbatim
1838
1839 @item
1840 @code{tocItemMarkup}
1841
1842 @noindent
1843 Usato per formattare gli elementi dell'indice.
1844
1845 @verbatim
1846 tocItemMarkup = \markup \fill-line {
1847   \fromproperty #'toc:text \fromproperty #'toc:page
1848 }
1849 @end verbatim
1850
1851 @end itemize
1852
1853 @noindent
1854 Queste variabili possono essere entrambe modificate.
1855
1856 Ecco un esempio che mostra come cambiare il titolo dell'indice in francese:
1857
1858 @verbatim
1859 \paper {
1860   tocTitleMarkup = \markup \huge \column {
1861     \fill-line { \null "Table des matières" \null }
1862     \hspace #1
1863   }
1864 }
1865 @end verbatim
1866
1867 Ecco un esempio che mostra come cambiare il corpo dei caratteri nell'indice:
1868
1869 @verbatim
1870 \paper {
1871   tocItemMarkup = \markup \large \fill-line {
1872     \fromproperty #'toc:text \fromproperty #'toc:page
1873   }
1874 }
1875 @end verbatim
1876
1877 Nota come il testo e il numero di pagina dell'elemento dell'indice sono
1878 citati nella definizione di @code{tocItemMarkup}.
1879
1880 Includendo il comando @code{\tocItemWithDotsMarkup} dentro @code{tocItemMarkup}
1881 lo spazio tra un elemento dell'indice e la sua pagina corrispondente sarà
1882 riempito con dei punti:
1883
1884 @lilypond[verbatim,line-width=10.0\cm]
1885 \header { tagline = ##f }
1886 \paper {
1887   tocItemMarkup = \tocItemWithDotsMarkup
1888 }
1889
1890 \book {
1891   \markuplist \table-of-contents
1892   \tocItem \markup { Allegro }
1893   \tocItem \markup { Largo }
1894   \markup \null
1895 }
1896 @end lilypond
1897
1898 Si possono anche definire comandi personalizzati con markup specifici per
1899 creare un indice più complesso.  Nell'esempio seguente, viene definito un
1900 nuovo stile per inserire i nomi degli atti nell'indice di un'opera.
1901
1902 @noindent
1903 Una nuova variabile di markup (chiamata @code{tocActMarkup}) viene definita
1904 nel blocco @code{\paper}:
1905
1906 @verbatim
1907 \paper {
1908   tocActMarkup = \markup \large \column {
1909     \hspace #1
1910     \fill-line { \null \italic \fromproperty #'toc:text \null }
1911     \hspace #1
1912   }
1913 }
1914 @end verbatim
1915
1916 @noindent
1917 Viene quindi aggiunta una funzione musicale personalizzata (@code{tocAct}),
1918 che usa la nuova definizione di markup @code{tocActMarkup}:
1919
1920 @verbatim
1921 tocAct =
1922 #(define-music-function (text) (markup?)
1923    (add-toc-item! 'tocActMarkup text))
1924 @end verbatim
1925
1926 @noindent
1927 Un file di input di LilyPond, che usi queste definizioni personalizzate,
1928 potrebbe essere scritto così:
1929
1930 @lilypond[line-width=10.0\cm]
1931 \header { tagline = ##f }
1932 \paper {
1933   tocActMarkup = \markup \large \column {
1934     \hspace #1
1935     \fill-line { \null \italic \fromproperty #'toc:text \null }
1936     \hspace #1
1937   }
1938 }
1939
1940 tocAct =
1941 #(define-music-function (text) (markup?)
1942    (add-toc-item! 'tocActMarkup text))
1943
1944 \book {
1945   \markuplist \table-of-contents
1946   \tocAct \markup { Atto Primo }
1947   \tocItem \markup { Coro. Viva il nostro Alcide }
1948   \tocItem \markup { Cesare. Presti omai l'Egizia terra }
1949   \tocAct \markup { Atto Secondo }
1950   \tocItem \markup { Sinfonia }
1951   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1952   \markup \null
1953 }
1954 @end lilypond
1955
1956 Ecco un esempio del comando @code{\fill-with-pattern} usato nel contesto di
1957 un indice:
1958
1959 @verbatim
1960 \paper {
1961   tocItemMarkup = \markup { \fill-line {
1962     \override #'(line-width . 70)
1963     \fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
1964     }
1965   }
1966 }
1967 @end verbatim
1968
1969 @seealso
1970 File installati:
1971 @file{ly/toc-init.ly}.
1972
1973 @predefined
1974 @funindex \table-of-contents
1975 @code{\table-of-contents},
1976 @funindex \tocItem
1977 @code{\tocItem}.
1978 @endpredefined
1979
1980
1981 @node Lavorare coi file di input
1982 @section Lavorare coi file di input
1983 @translationof Working with input files
1984
1985 @menu
1986 * Inclusione di file LilyPond::
1987 * Edizioni diverse da un unico sorgente::
1988 * Caratteri speciali::
1989 @end menu
1990
1991
1992 @node Inclusione di file LilyPond
1993 @subsection Inclusione di file LilyPond
1994 @translationof Including LilyPond files
1995
1996 @funindex \include
1997 @cindex inclusione di file
1998
1999 Se un progetto è grande e complesso, conviene suddividerlo in file separati.
2000 Per citare un altro file si usa
2001
2002 @example
2003 \include "altrofile.ly"
2004 @end example
2005
2006 La riga @code{\include "altrofile.ly"} equivale a incollare i contenuti
2007 di @file{altrofile.ly} nel file corrente nel punto in cui appare il
2008 comando @code{\include}.  Per esempio, in un progetto complesso si
2009 possono scrivere file separati per ogni parte strumentale e creare
2010 un file per l'@qq{intera partitura} che raccoglie i file dei singoli
2011 strumenti. Di norma il file incluso definisce una serie di variabili
2012 che poi diventano disponibili nel file della partitura completa. Le
2013 sezioni contrassegnate con delle etichette nei file inclusi possono
2014 essere usate in varie parti di una partitura, vedi
2015 @ref{Different editions from one source}.
2016
2017 I file nella directory di lavoro corrente possono essere citati indicando
2018 semplicemente il nome del file dopo il comando @code{\include}. I file in altre
2019 posizioni possono essere inclusi sia con un percorso assoluto che con un
2020 percorso relativo (ma come separatore delle directory occorre usare la barra, o
2021 slah, come in UNIX, piuttosto che la barra inversa, o backslash, come in
2022 DOS/Windows).  Per esempio, se @file{cose.ly} si trova una directory prima
2023 della directory di lavoro corrente, usare
2024
2025 @example
2026 \include "../cose.ly"
2027 @end example
2028
2029 @noindent
2030 oppure se le parti orchestrali incluse si trovano tutte in una
2031 sottodirectory chiamata @file{parti} all'interno della directory
2032 corrente, usare
2033
2034 @example
2035 \include "parti/VI.ly"
2036 \include "parti/VII.ly"
2037 @dots{} etc
2038 @end example
2039
2040 I file che devono essere inclusi possono contenere essi stessi delle
2041 dichiarazioni @code{\include}.  Per impostazione predefinita, queste
2042 dichiarazioni @code{\include} di secondo livello non sono interpretate
2043 finché non vengono portate nel file principale, dunque i nomi dei file
2044 che specificano devono essere tutti relatici alla directory del file
2045 principale, non alla directory del file incluso. Tuttavia tale comportamento
2046 può essere cambiato globalmente tramite l'opzione @option{-drelative-includes}
2047 da linea di comando (oppure agggiungendo @code{#(ly:set-option 'relative-includes #t)}
2048 in cima al file di input principale).
2049
2050 Quando @code{relative-includes} viene impostato su @code{#t}, il percorso di
2051 ogni comando @code{\include} sarà considerato relativo al file che contiene
2052 quel comando.  Questo comportamento è raccomandato e diventerà il comportamento
2053 predefinito in una versione futura di lilypond.
2054
2055 È possibile includere sia file relativi alla directory principale sia file
2056 relativi a qualche altra directory impostando @code{relative-includes} su
2057 @code{#t} o @code{#f} nei punti giusti dei file.  Per esempio, se è stata
2058 creata una libreria generale, libA, che usa altri file inclusi dal file
2059 di base di quella libreria, tali dichiarazioni @code{\include} dovranno
2060 essere precedute da @code{#(ly:set-option #relative-includes #t)} per poter
2061 essere interpretate correttamente quando riportate nel file @code{.ly}
2062 principale:
2063
2064 @example
2065 libA/
2066   libA.ly
2067   A1.ly
2068   A2.ly
2069   @dots{}
2070 @end example
2071
2072 @noindent
2073 quindi il file di base, @code{libA.ly}, conterrà
2074
2075 @example
2076 #(ly:set-option 'relative-includes #t)
2077 \include "A1.ly"
2078 \include "A2.ly"
2079 @dots{}
2080 % ritorna alle impostazioni predefinite
2081 #(ly:set-option 'relative-includes #f)
2082 @end example
2083
2084 Qualsiasi file @file{.ly} può quindi includere l'intera libreria
2085 semplicemente con
2086
2087 @example
2088 \include "~/libA/libA.ly"
2089 @end example
2090
2091 Si possono ideare strutture di file più complesse facendo dei cambi nei
2092 punti giusti.
2093
2094 È possibile includere dei file anche da una directory che si trova in un
2095 percorso di ricerca specificato come opzione quando si lancia LilyPond da
2096 linea di comando. I file inclusi possono allora essere specificati
2097 usando soltanto il loro nome. Per esempio, per compilare con questo metodo
2098 il file @file{principale.ly} che include i file di una sottodirectory
2099 chiamata @file{parti}, entrare nella directory di @file{principale.ly} e
2100 eseguire questo comando
2101
2102 @example
2103 lilypond --include=parti principale.ly
2104 @end example
2105
2106 e in principale.ly scrivere
2107
2108 @example
2109 \include "VI.ly"
2110 \include "VII.ly"
2111 @dots{} etc
2112 @end example
2113
2114 I file che devono essere inclusi in molte partiture possono essere
2115 salvati nella directory di installazione di LilyPond @file{../ly}.  La
2116 posizione di questa directory dipende dal tipo di installazione - vedi
2117 @rlearning{Altre fonti di informazione}).  Questi file possono quindi
2118 essere inclusi semplicemente nominandoli in una dichiarazione @code{\include}.
2119 Questo è il modo in cui sono inclusi i file che dipendono dalla lingua,
2120 come @file{english.ly}.
2121
2122 LilyPond include un certo numero di file quando si lancia il
2123 programma.  Queste inclusioni non sono evidenti all'utente, ma i
2124 file possono essere identificati eseguendo @code{lilypond --verbose} dalla
2125 linea di comando.  Così si vedrà un elenco di percorsi e file che LilyPond
2126 usa, insieme a tante altre informazioni.  I più importanti di questi file
2127 sono trattati in @rlearning{Altre fonti di informazione}.  Tali file possono
2128 essere modificati, ma le modifiche saranno perse quando si installa una
2129 nuova versione di LilyPond.
2130
2131 Alcuni semplici esempi d'uso di @code{\include} si trovano in
2132 @rlearning{Partiture e parti}.
2133
2134 @seealso
2135 Manuale di apprendimento:
2136 @rlearning{Altre fonti di informazione},
2137 @rlearning{Partiture e parti}.
2138
2139 @knownissues
2140 Se a un file incluso viene assegnato un nome identico a uno dei file di
2141 installazione di LilyPond, quest'ultimo ha la precedenza.
2142
2143
2144 @node Edizioni diverse da un unico sorgente
2145 @subsection Edizioni diverse da un unico sorgente
2146 @translationof Different editions from one source
2147
2148 Esistono vari metodi per generare versioni diverse di una partitura
2149 dalla stessa sorgente di musica. Le variabili sono forse le più
2150 utili per combinare lunghe sezioni musicali e/o note. Le etichette
2151 (@emph{tag}) sono più utili per selezionare una sezione da varie
2152 sezioni brevi alternative e possono essere usate anche per unire
2153 insieme dei brani in punti diversi.
2154
2155 Qualsiasi metodo venga usato, la separazione delle note dalla struttura
2156 della partitura permetterà di cambiare la struttura lasciando le note
2157 intatte.
2158
2159 @menu
2160 * Uso delle variabili::
2161 * Uso delle etichette::
2162 * Impostazioni globali::
2163 @end menu
2164
2165 @node Uso delle variabili
2166 @unnumberedsubsubsec Uso delle variabili
2167 @translationof Using variables
2168
2169 @cindex variabili, uso delle
2170
2171 Se le sezioni musicali sono definite in variabili, possono essere
2172 riutilizzate in varie parti della partitura, come è stato spiegato
2173 in @rlearning{Organizzare i brani con le variabili}.  Per esempio, una
2174 partitura vocale @notation{a cappella} spesso comprende, ai fini delle
2175 prove, una riduzione per pianoforte delle parti, identiche alla musica
2176 vocale, dunque la musica deve essere inserita una volta sola. La musica
2177 definita in due variabili può essere combinata in un rigo, come è
2178 spiegato in @ref{Automatic part combining}. Ecco un esempio:
2179
2180 @lilypond[verbatim,quote]
2181 sopranoMusic = \relative { a'4 b c b8( a) }
2182 altoMusic = \relative { e'4 e e f }
2183 tenorMusic = \relative { c'4 b e d8( c) }
2184 bassMusic = \relative { a4 gis a d, }
2185 allLyrics = \lyricmode {King of glo -- ry }
2186 <<
2187   \new Staff = "Soprano" \sopranoMusic
2188   \new Lyrics \allLyrics
2189   \new Staff = "Alto" \altoMusic
2190   \new Lyrics \allLyrics
2191   \new Staff = "Tenore" {
2192     \clef "treble_8"
2193     \tenorMusic
2194   }
2195   \new Lyrics \allLyrics
2196   \new Staff = "Basso" {
2197     \clef "bass"
2198     \bassMusic
2199   }
2200   \new Lyrics \allLyrics
2201   \new PianoStaff <<
2202     \new Staff = "Destra" {
2203       \set Staff.printPartCombineTexts = ##f
2204       \partcombine
2205       \sopranoMusic
2206       \altoMusic
2207     }
2208     \new Staff = "Sinistra" {
2209       \set Staff.printPartCombineTexts = ##f
2210       \clef "bass"
2211       \partcombine
2212       \tenorMusic
2213       \bassMusic
2214     }
2215   >>
2216 >>
2217 @end lilypond
2218
2219 Partiture separate che mostrino soltanto le parti vocali o soltanto
2220 quelle per pianoforte possono essere prodotte semplicemente cambiando
2221 le dichiarazioni della struttura, lasciando la notazione musicale
2222 intatta.
2223
2224 Nel caso di partiture lunghe, conviene mettere le definizioni delle
2225 variabili in file separati da includere, vedi
2226 @ref{Including LilyPond files}.
2227
2228 @node Uso delle etichette
2229 @unnumberedsubsubsec Uso delle etichette
2230 @translationof Using tags
2231
2232 @funindex \tag
2233 @funindex \keepWithTag
2234 @funindex \removeWithTag
2235 @cindex tag
2236 @cindex etichetta
2237 @cindex tenere la musica etichettata
2238 @cindex togliere la musica etichettata
2239
2240 Il comando @code{\tag #'@var{parteA}} contrassegna un'espressione
2241 musicale col nome @var{parteA}.
2242 Le espressioni contrassegnate in questo modo possono essere incluse o
2243 rimosse in base al loro nome successivamente, usando
2244 @code{\keepWithTag #'@var{nome}} oppure
2245 @code{\removeWithTag #'@var{nome}}.  Il risultato dell'applicazione di
2246 questi filtri alla musica etichettata è il seguente:
2247 @multitable @columnfractions .5 .5
2248 @headitem Filtro
2249   @tab Risultato
2250 @item
2251 Musica etichettata preceduta da @code{\keepWithTag #'@var{nome}} o
2252        @code{\keepWithTag #'(@var{nome1} @var{nome2}@dots{})}
2253 @tab Viene inclusa la musica non etichettata e quella etichettata con
2254      uno dei nomi specificati; la musica etichettata con un nome
2255      etichetta diverso viene esclusa.
2256 @item
2257 Musica etichettata preceduta da @code{\removeWithTag #'@var{nome}} o
2258        @code{\removeWithTag #'(@var{nome1} @var{nome2}@dots{})}
2259 @tab Viene inclusa la musica non etichettata e quella non etichettata con
2260      uno dei nomi specificati; la musica etichettata con uno dei nomi
2261      specificati viene esclusa.
2262 @item
2263 Musica etichettata non preceduta da @code{\keepWithTag} o
2264 @code{\removeWithTag}
2265 @tab Viene inclusa tutta la musica etichettata e non etichettata.
2266 @end multitable
2267
2268 Gli argomenti dei comandi @code{\tag}, @code{\keepWithTag} e
2269 @code{\removeWithTag} devono essere un simbolo o una lista di
2270 simboli (come @code{#'score} o @code{#'(violinoI violinoII}),
2271 seguiti da un'espressione musicale.  Se @emph{e solo se} i simboli
2272 sono identificatori LilyPond validi (solo caratteri alfabetici, nessun
2273 numero, trattino o trattino basso) che non possono essere confusi con
2274 le note, si può emettere il @code{#'} e, come scorciatoia, una lista di
2275 simboli può usare il punto come separatore: quindi
2276 @code{\tag #'(violinoI violinoII)} può essere riscritto come
2277 @code{\tag violinoI.violinoII}.  Lo stesso vale per
2278 @code{\keepWithTag} e @code{\removeWithTag}.
2279
2280 Nell'esempio seguente, vediamo due versioni di un brano musicale,
2281 una che mostra i trilli con la notazione abituale e l'altra con i
2282 i trilli espansi esplicitamente:
2283
2284 @lilypond[verbatim,quote]
2285 musica = \relative {
2286   g'8. c32 d
2287   \tag #'trilli { d8.\trill }
2288   \tag #'espandi { \repeat unfold 3 { e32 d } }
2289   c32 d
2290  }
2291
2292 \score {
2293   \keepWithTag #'trilli \musica
2294 }
2295 \score {
2296   \keepWithTag #'espandi \musica
2297 }
2298 @end lilypond
2299
2300 @noindent
2301 Altrimenti, talvolta è più facile escludere sezioni musicali:
2302
2303 @lilypond[verbatim,quote]
2304 musica = \relative {
2305   g'8. c32 d
2306   \tag #'trilli { d8.\trill }
2307   \tag #'espandi {\repeat unfold 3 { e32 d } }
2308   c32 d
2309  }
2310
2311 \score {
2312   \removeWithTag #'espandi
2313   \musica
2314 }
2315 \score {
2316   \removeWithTag #'trilli
2317   \musica
2318 }
2319 @end lilypond
2320
2321 Il filtro delle etichette può essere applicato a articolazioni, testo, etc.
2322 scrivendo
2323
2324 @example
2325 -\tag #'@var{tua-etichetta}
2326 @end example
2327
2328 prima di un'articolazione.  L'esempio seguente definisce una nota
2329 con un'indicazione di diteggiatura condizionale e una nota con un
2330 commento condizionale:
2331
2332 @example
2333 c1-\tag #'dito ^4
2334 c1-\tag #'attenzione ^"Fai attenzione!"
2335 @end example
2336
2337 Varie etichette possono essere associate a delle espressioni tramite molteplici
2338 @code{\tag}, o unendo molteplici etichette in una lista di simboli:
2339
2340 @lilypond[quote,verbatim]
2341 musica = \relative c'' {
2342   \tag #'a \tag #'entrambi { a4 a a a }
2343   \tag #'(b entrambi) { b4 b b b }
2344 }
2345 <<
2346 \keepWithTag #'a \musica
2347 \keepWithTag #'b \musica
2348 \keepWithTag #'entrambi \musica
2349 >>
2350 @end lilypond
2351
2352 Si possono applicare molteplici filtri @code{\removeWithTag} a una singola
2353 espressione musicale per togliere varie sezioni etichettate con nomi
2354 diversi. Altrimenti si può usare un solo @code{\removeWithTag} seguito da
2355 una lista di etichette.
2356
2357 @lilypond[verbatim,quote]
2358 musica = \relative c'' {
2359   \tag #'A { a4 a a a }
2360   \tag #'B { b4 b b b }
2361   \tag #'C { c4 c c c }
2362   \tag #'D { d4 d d d }
2363 }
2364 \new Voice {
2365   \removeWithTag #'B
2366   \removeWithTag #'C
2367   \musica
2368   \removeWithTag #'(B C)
2369   \musica
2370 }
2371 @end lilypond
2372
2373 Due o più filtri @code{\keepWithTag} applicati a una singola espressione
2374 musicale toglieranno @emph{tutte} le sezioni etichettate, perché il primo
2375 filtro toglie tutte le sezioni etichettate eccetto quella menzionata
2376 e il secondo filtro toglie anche quella sezione etichettata. Di solito
2377 si usa invece un singolo comando @code{\keepWithTag} con una lista di
2378 varie etichette: in questo modo verranno rimosse soltanto le sezioni
2379 etichettate non specificate nella lista.
2380
2381 @cindex etichette, gruppi di
2382 @funindex \tagGroup
2383 Mentre @code{\keepWithTag} è comodo con @emph{un} gruppo di alternative, la
2384 rimozione di musica contrassegnata con etichette @emph{indipendenti} è
2385 problematico se si usano le etichette con diverse finalità. Per questa
2386 ragione, è possibile dichiarare @q{gruppi di etichette} per raggruppare
2387 etichette correlate:
2388
2389 @example
2390 \tagGroup #'(violinoI violinoII viola cello)
2391 @end example
2392
2393 dichiara che queste etichette appartengono a un gruppo.
2394
2395 @example
2396 \keepWithTag #'violinoI @dots{}
2397 @end example
2398
2399 filtrerà allora soltanto le etichette presenti nel gruppo cui appartiene
2400 @code{violinoI}: verrà tolto qualsiasi elemento che sia contrassegnato
2401 con una o più etichette di questo gruppo ma @emph{non} con @code{violinoI}.
2402
2403 Per il comando @code{\keepWithTag}, sono visibili solo le etichette provenienti
2404 dai gruppi cui appartengono le etichette specificate dopo il comando.
2405
2406 Non è possibile assegnare la stessa etichetta a più di un gruppo.
2407
2408 @funindex \pushToTag
2409 @funindex \appendToTag
2410 @cindex combinare musica contrassegnata con etichette
2411
2412 Talvolta si ha necessità di combinare insieme della musica in un
2413 punto preciso di un'espressione musicale esistente.
2414 @code{\pushToTag} e @code{\appendToTag} permettono di aggiungere materiale
2415 prima o dopo gli elementi (@code{elements}) di un costrutto musicale
2416 esistente.  Non tutti i costrutti musicali hanno @code{elements}, ma nel
2417 caso di musica sequenziale e simultanea si può esserne sicuri:
2418
2419 @lilypond[verbatim,quote]
2420 test = { \tag #'qui { \tag #'qui <<c''>> } }
2421
2422 {
2423   \pushToTag #'qui c'
2424   \pushToTag #'qui e'
2425   \pushToTag #'qui g' \test
2426   \appendToTag #'qui c'
2427   \appendToTag #'qui e'
2428   \appendToTag #'qui g' \test
2429 }
2430 @end lilypond
2431
2432 Entrambi i comandi prendono tre argomenti: un'etichetta, il materiale da
2433 combinare ad ogni occorenza dell'etichetta e l'espressione contrassegnata.
2434
2435 @seealso
2436 Manuale di apprendimento:
2437 @rlearning{Organizzare i brani con le variabili}.
2438
2439 Guida alla notazione:
2440 @ref{Automatic part combining},
2441 @ref{Including LilyPond files}.
2442
2443 @knownissues
2444 Se si usa @code{\relative} prima di un'espressione musicale ottenuta
2445 filtrando la musica con @code{\keepWithTag} o @code{\removeWithTag},
2446 i rapporti di ottava potrebbero cambiare, perché verranno considerate
2447 solo le altezze rimaste nell'espressione filtrata. Per evitare questo
2448 rischio, usare @code{\relative} prima di @code{\keepWithTag} o
2449 @code{\removeWithTag}, in modo che @code{\relative} agisca su tutte
2450 le altezze prima del filtro.
2451
2452
2453 @node Impostazioni globali
2454 @unnumberedsubsubsec Impostazioni globali
2455 @translationof Using global settings
2456
2457 @cindex include-settings
2458
2459 È possibile includere impostazioni globali da un altro file:
2460
2461 @example
2462 lilypond -dinclude-settings=MIE_IMPOSTAZIONI.ly MIA_PARTITURA.ly
2463 @end example
2464
2465 Gruppi di impostazioni come dimensioni del foglio e tipo di carattere
2466 possono essere salvati in file separati. Ciò permette di ottenere diverse
2467 edizioni dalla stessa partitura o di applicare delle impostazioni
2468 standard a molte partiture, semplicemente indicando il relativo file
2469 delle impostazioni.
2470
2471 Questa tecnica è la stessa usata per i fogli di stile, trattati
2472 in @rlearning{Fogli di stile}.
2473
2474 @seealso
2475 Manuale di apprendimento:
2476 @rlearning{Organizzare i brani con le variabili},
2477 @rlearning{Fogli di stile}.
2478
2479 Guida alla notazione:
2480 @ref{Including LilyPond files}.
2481
2482
2483 @node Caratteri speciali
2484 @subsection Caratteri speciali
2485 @translationof Special characters
2486
2487 @cindex caratteri speciali
2488 @cindex caratteri non-ASCII
2489
2490 @menu
2491 * Codifica del testo::
2492 * Unicode::
2493 * Alias ASCII::
2494 @end menu
2495
2496
2497 @node Codifica del testo
2498 @unnumberedsubsubsec Codifica del testo
2499 @translationof Text encoding
2500
2501 @cindex UTF-8
2502
2503 LilyPond usa il repertorio di caratteri definito dall'Unicode Consortium
2504 e dalla ISO/IEC 10646.  Questo sistema di codifica definisce un nome
2505 e un numero univoci per gli insiemi di caratteri utilizzati in tutte
2506 le lingue moderne e anche in molte altre.  Unicode può essere implementato
2507 in varie codifiche diverse.  LilyPond usa la codifica UTF-8 (UTF sta
2508 per Unicode Transformation Format) che rappresenta tutti i comuni
2509 caratteri latini con un byte, e gli altri caratteri con un formato di
2510 lunghezza variabile fino a quattro byte.
2511
2512 L'aspetto grafico dei caratteri è determinato dai glifi definiti
2513 nei tipi di carattere disponibili - un tipo di carattere definisce
2514 la mappatura tra un sottoinsieme dei numeri Unicode e i glifi.
2515 LilyPond usa la libreria Pango per rappresentare e formattare i
2516 testi multilingua.
2517
2518 LilyPond non esegue alcuna conversione della codifica dell'input. Ciò
2519 significa che qualsiasi testo, sia esso un titolo, un testo vocale
2520 o un'istruzione musicale contenente caratteri non-ASCII, deve essere
2521 codificato in UTF-8.  Il modo più semplice per inserire tale testo è
2522 usare un editor che sappia riconoscere la codifica Unicode e salvare
2523 il file con la codifica UTF-8.  La maggior parte dei moderni editor
2524 supporta la codifica UTF-8, per esempio vim, Emacs, jEdit e Gedit.
2525 Tutti i sistemi MS Windows successivi a NT usano Unicode come codifica
2526 dei caratteri nativa, quindi perfino Notepad può modificare e salvare
2527 un file in formato UTF-8.  Un'alternativa più efficiente per
2528 Windows è BabelPad.
2529
2530 Se un file di input LilyPond contenente un caratter non-ASCII non viene
2531 salvato in formato UTF-8, apparirà il seguente messaggio di errore:
2532
2533 @example
2534 FT_Get_Glyph_Name () error: invalid argument
2535 @end example
2536
2537 Ecco un esempio che mostra del testo cirillico, ebraico e portoghese:
2538
2539 @lilypond[quote]
2540 % Impostazioni dei tipi di carattere per il cirillico e l'ebraico
2541 % Il tipo di carattere Linux Libertine contiene i glifi cirillici e ebraici.
2542 \paper {
2543   #(define fonts
2544     (set-global-fonts
2545      #:roman "Linux Libertine O,serif"
2546      #:sans "Linux Biolinum O,sans-serif"
2547      #:typewriter "Linux Libertine Mono O,monospace"
2548    ))
2549 }
2550
2551 % Cyrillic
2552 bulgarian = \lyricmode {
2553   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2554 }
2555
2556 % Hebrew
2557 hebrew = \lyricmode {
2558   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2559 }
2560
2561 % Portoghese
2562 portuguese = \lyricmode {
2563   à vo -- cê uma can -- ção legal
2564 }
2565
2566 \relative {
2567   c'2 d e f g f e
2568 }
2569 \addlyrics { \bulgarian }
2570 \addlyrics { \hebrew }
2571 \addlyrics { \portuguese }
2572 @end lilypond
2573
2574
2575 @node Unicode
2576 @unnumberedsubsubsec Unicode
2577
2578 @cindex Unicode
2579
2580 Per inserire un singolo carattere per il quale è noto il codice Unicode ma
2581 che non è disponibile nell'editor in uso, usare @code{\char ##xhhhh} o
2582 @code{\char #dddd} dentro un blocco @code{\markup}, dove @code{hhhh} è il
2583 codice esadecimale del carattere richiesto e @code{dddd} è il valore
2584 decimale corrispondente. Gli zero iniziali possono essere omessi, ma di
2585 norma nella rappresentazione esadecimale si specificano tutti e quattro
2586 i caratteri. (Fare attenzione al fatto che la codifica UTF-8 del codice
2587 @emph{non} deve essere usata dopo @code{\char}, perché le codifiche UTF-8
2588 contengono bit extra che indicano il numero di ottetti.) Le tabelle dei
2589 codici Unicode e un indice dei nomi dei caratteri col proprio codice
2590 esadecimale sono disponibili sul sito dell'Unicode Consortium,
2591 @uref{http://www.unicode.org/}.
2592
2593 Per esempio, @code{\char ##x03BE} e @code{\char #958} corrispondono
2594 entambi al carattere Unicode U+03BE, che ha il nome Unicode
2595 @qq{Greek Small Letter Xi}.
2596
2597 Qualsiasi codice Unicode può essere inserito in questo modo e se tutti
2598 i caratteri speciali sono inseriti in questo formato non è necessario
2599 salvare il file di input in formato UTF-8.  Ovviamente, un tipo di
2600 carattere contenente tutti questi caratteri codificati deve essere
2601 installato e disponibile per LilyPond.
2602
2603 L'esempio seguente mostra valori esadecimali Unicode inseriti in
2604 quattro posti diversi: come numero di chiamata, come articolazione, nel
2605 testo vocale e come testo separato sotto il brano:
2606
2607 @lilypond[quote,verbatim]
2608 \score {
2609   \relative {
2610     c''1 \mark \markup { \char ##x03EE }
2611     c1_\markup { \tiny { \char ##x03B1 " a " \char ##x03C9 } }
2612   }
2613   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2614 }
2615 \markup { "Copyright 2008--2015" \char ##x00A9 }
2616 @end lilypond
2617
2618 @cindex copyright, segno
2619 @cindex diritto d'autore
2620
2621 Per inserire il segno del copyright nell'apposito campo usare:
2622
2623 @example
2624 \header @{
2625   copyright = \markup @{ \char ##x00A9 "2008" @}
2626 @}
2627 @end example
2628
2629
2630 @node Alias ASCII
2631 @unnumberedsubsubsec Alias ASCII
2632 @translationof ASCII aliases
2633
2634 È possibile includere una lista di alias ASCII per i caratteri speciali:
2635
2636 @lilypond[quote,verbatim]
2637 \paper {
2638   #(include-special-characters)
2639 }
2640
2641 \markup "&flqq; &ndash; &OE;uvre incomplète&hellip; &frqq;"
2642
2643 \score {
2644   \new Staff { \repeat unfold 9 a'4 }
2645   \addlyrics {
2646     Fun -- ziona an -- che nel~tes -- to: &ndash;_&OE;&hellip;
2647   }
2648 }
2649
2650 \markup \column {
2651   "La sostituzione può essere disabilitata:"
2652   "&ndash; &OE; &hellip;"
2653   \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
2654 }
2655 @end lilypond
2656
2657 Si possono creare i propri alias, sia globalmente:
2658
2659 @lilypond[quote,verbatim]
2660 \paper {
2661   #(add-text-replacements!
2662     '(("100" . "hundred")
2663       ("dpi" . "dots per inch")))
2664 }
2665 \markup "A 100 dpi."
2666 @end lilypond
2667
2668 che localmente:
2669
2670 @lilypond[quote,verbatim]
2671 \markup \replace #'(("100" . "hundred")
2672                     ("dpi" . "dots per inch")) "A 100 dpi."
2673 @end lilypond
2674
2675 @seealso
2676 Guida alla notazione:
2677 @ref{List of special characters}.
2678
2679 File installati:
2680 @file{ly/text-replacements.ly}.
2681
2682
2683 @node Controllo dell'output
2684 @section Controllo dell'output
2685 @translationof Controlling output
2686
2687 @menu
2688 * Estrarre frammenti musicali::
2689 * Saltare la musica già corretta::
2690 * Formati di output alternativi::
2691 * Cambiare il tipo di carattere della notazione::
2692 @end menu
2693
2694 @funindex clip-regions
2695 @cindex frammenti musicali
2696
2697 @node Estrarre frammenti musicali
2698 @subsection Estrarre frammenti musicali
2699 @translationof Extracting fragments of music
2700
2701 È possibile creare output separati di uno o più frammenti di una
2702 partitura definendo i punti della musica da estrarre nel blocco
2703 @code{\layout} del file di input tramite la funzione @code{clip-regions},
2704 e poi eseguendo LilyPond con l'opzione @option{-dclip-systems};
2705
2706 @example
2707 \layout @{
2708   clip-regions
2709   = #(list
2710       (cons
2711        (make-rhythmic-location 5 1 2)
2712        (make-rhythmic-location 7 3 4)))
2713 @}
2714 @end example
2715
2716 @noindent
2717 Questo esempio estrarrà dal file di input un unico frammento che
2718 @emph{inizia} dopo una minima nella quinta misura (@code{5 1 2}) e
2719 @emph{termina} dopo la terza semiminima nella settima misura
2720 (@code{7 3 4}).
2721
2722 Si possono estrarre ulteriori frammenti aggiungendo altre coppie di
2723 @code{make-rhythmic-location} alla lista @code{clip-regions} del
2724 blocco @code{\layout}.
2725
2726 Ciascun frammento musicale verrà salvato in formato @code{EPS}, ma
2727 se necessario si possono creare anche altri formati come @code{PDF} o
2728 @code{PNG}. La musica estratta viene generata come se fosse letteralmente
2729 @q{tagliata} dalla partitura a stampa originale; ciò significa che se
2730 un frammento supera una o più linee, verrà creato un file di output
2731 separato per ciascuna linea.
2732
2733 @seealso
2734 Guida alla notazione:
2735 @ref{The layout block}.
2736
2737 Utilizzo:
2738 @rprogram{Uso da linea di comando}.
2739
2740
2741
2742 @node Saltare la musica già corretta
2743 @subsection Saltare la musica già corretta
2744 @translationof Skipping corrected music
2745
2746
2747 @funindex skipTypesetting
2748 @funindex showFirstLength
2749 @funindex showLastLength
2750
2751 Quando si inserisce o si copia della musica, di solito è utile visualizzare
2752 e correggere soltanto la musica vicina alla fine (ovvero dove si stanno
2753 inserendo le note). Per velocizzare il processo di correzione, è possibile
2754 far sì che il compositore tipografico salti tutte le misure eccetto le
2755 ultime. Per farlo basta inserire per esempio
2756
2757 @example
2758 showLastLength = R1*5
2759 \score @{ @dots{} @}
2760 @end example
2761
2762 @noindent
2763 nel file sorgente.  In questo modo verranno elaborate soltanto le ultime
2764 5 misure (assumendo che il tempo sia 4/4) di ogni blocco @code{\score}
2765 nel file di input. Per i brani più lunghi, elaborare solo una piccola
2766 parte è spesso molto più veloce di elaborarli completamente. Se si lavora
2767 sull'inizio di un brano già scritto (per esempio per aggiungere una nuova
2768 parte), si userà invece la proprietà @code{showFirstLength}.
2769
2770
2771 È possibile saltare parti di una partitura in un modo più preciso tramite
2772 la proprietà @code{Score.skipTypesetting}.  Quando è impostata, la composizione
2773 tipografica è disattivata.
2774
2775 Questa proprietà viene usata anche per controllare l'output da inviare al
2776 file MIDI.  Attenzione: salta tutti gli eventi, inclusi i cambi di tempo e
2777 di strumento.
2778
2779 @lilypond[quote,ragged-right,verbatim]
2780 \relative c' {
2781   c1
2782   \set Score.skipTypesetting = ##t
2783   \tempo 4 = 80
2784   c4 c c c
2785   \set Score.skipTypesetting = ##f
2786   d4 d d d
2787 }
2788 @end lilypond
2789
2790 Nella musica polifonica, @code{Score.skipTypesetting} agisce su tutte le
2791 voci e su tutti i righi, facendo risparmiare tempo ulteriormente.
2792
2793 @node Formati di output alternativi
2794 @subsection Formati di output alternativi
2795 @translationof Alternative output formats
2796
2797 @cindex scalable vector graphics, output
2798 @cindex SVG, output
2799 @cindex encapsulated postscript, output
2800 @cindex EPS, output
2801
2802 I formati di output predefiniti per la partitura stampata sono Portable
2803 Document Format (PDF) e PostScript (PS).  Sono disponibili anche i
2804 formati di output Scalable Vector Graphics (SVG), Encapsulated PostScript (EPS) e
2805 Portable Network Graphics (PNG) attraverso le opzioni della linea di comando,
2806 vedi @rprogram{Opzioni di base della linea di comando per LilyPond}.
2807
2808
2809 @node Cambiare il tipo di carattere della notazione
2810 @subsection Cambiare il tipo di carattere della notazione
2811 @translationof Replacing the notation font
2812
2813 Gonville è un'alternativa al tipo di carattere Feta usato da LilyPond e può
2814 essere scaricato da:
2815 @example
2816 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2817 @end example
2818
2819 Ecco alcune battute di musica che usa Gonville:
2820
2821 @sourceimage{Gonville_after,15cm,,}
2822
2823 E alcune battute di musica che usa Feta (il tipo di carattere predefinito di LilyPond):
2824
2825 @sourceimage{Gonville_before,15cm,,}
2826
2827 @subsubheading Instruzioni di installazione per MacOS
2828
2829 Scaricare e estrarre il file zip.  Copiare la directory @code{lilyfonts}
2830 in @file{@var{SHARE_DIR}/lilypond/current}; maggiori informazioni si
2831 trovano in @rlearning{Altre fonti di informazione}.  Rinominare la
2832 directory esistente @code{fonts} come @code{fonts_orig} e la directory
2833 @code{lilyfonts} come @code{fonts}.  Per tornare a Feta, fare il contrario.
2834
2835 @seealso
2836 Manuale di apprendimento:
2837 @rlearning{Altre fonti di informazione}.
2838
2839 @knownissues
2840 Gonville non può essere usato per scrivere notazione in @q{musica antica}
2841 ed è probabile che i nuovi glifi introdotti in rilasci successivi di
2842 LilyPond non esistano in Gonville.  Fare riferimento al sito web dell'autore
2843 per maggiori informazioni su queste e altre problematiche, inclusa la
2844 licenza di Gonville.
2845
2846
2847 @node Creazione dell'output MIDI
2848 @section Creazione dell'output MIDI
2849 @translationof Creating MIDI output
2850
2851 @cindex audio
2852 @cindex MIDI
2853
2854 LilyPond è in grado di produrre dei file conformi allo standard MIDI
2855 (Musical Instrument Digital Interface) e dunque permette di fare un
2856 controllo uditivo dell'output musicale (con l'aiuto di un'applicazione
2857 o un dispositivo che comprendano il MIDI).  L'ascolto dell'output MIDI
2858 può aiutare anche a individuare errori come note inserite in modo
2859 erroneo o note senza alterazioni e così via.
2860
2861 I file MIDI non contengono audio (come i file AAC, MP3 o Vorbis), bensì
2862 richiedono un software esterno che produca il suono a partire da essi.
2863
2864 @menu
2865 * Notazione supportata nel MIDI::
2866 * Notazione non supportata nel MIDI::
2867 * Il blocco MIDI::
2868 * Gestione delle dinamiche nel MIDI::
2869 * Uso degli strumenti MIDI::
2870 * Uso delle ripetizioni nel MIDI::
2871 * Mappatura dei canali MIDI::
2872 * Proprietà di contesto per gli effetti MIDI::
2873 * Miglioramento dell'output MIDI::
2874 @end menu
2875
2876 @cindex MIDI, notazione supportata
2877
2878 @node Notazione supportata nel MIDI
2879 @subsection Notazione supportata nel MIDI
2880 @translationof Supported notation for MIDI
2881
2882 I seguenti elementi della notazione musicale saranno resi nell'output MIDI
2883 usando le capacità predefinite di LilyPond:
2884
2885 @itemize
2886 @item Respiri
2887 @item Accordi inseriti come nomi degli accordi
2888 @item Crescendi, decrescendi su varie note.  Il volume viene modificato
2889 in modo proporzionato fra i due estremi
2890 @item Segni di dinamica da @code{ppppp} a @code{fffff}, inclusi
2891 @code{mp}, @code{mf} e @code{sf}
2892 @item Microtoni ma @emph{non} gli accordi microtonali.  È necessario anche
2893 un lettore MIDI che supporti la @qq{piegatura} (@emph{bending}) delle altezze.
2894 @item Testo vocale
2895 @item Altezze
2896 @item Ritmi inseriti come durate, inclusi i gruppi irregolari
2897 @item Articolazioni @q{semplici}; staccato, staccatissimo, accento, marcato
2898 e portato
2899 @item Cambi di tempo tramite la funzione @code{\tempo}
2900 @item Legature di valore
2901 @item Tremoli che @emph{non} sono inseriti con un valore
2902 @q{@code{:}[@var{numero}]}
2903 @end itemize
2904
2905 Alcuni effetti, come panning, bilanciamento, espressione, riverbero e chorus, si
2906 gestiscono impostando le proprietà di contesto, vedi
2907 @ref{Context properties for MIDI effects}.
2908
2909 Se si usa lo script @file{articulate}, anche i seguenti elementi della
2910 notazione musicale saranno presenti nell'output MIDI:
2911
2912 @itemize
2913 @item Appoggiature.  Servono a rubare metà del valore della nota che le
2914 segue (senza considerare i punti). Per esempio:
2915
2916 @example
2917 \appoggiatura c8 d2.
2918 @end example
2919
2920 @noindent
2921 Il c avrà il valore di una semiminima.
2922
2923 @item Ornamenti (mordenti, trilli, gruppetti, etc.)
2924 @item Rallentando, accelerando, ritardando e a tempo
2925 @item Legature di portamento, incluse le legature di frase
2926 @item Tenuto
2927 @end itemize
2928
2929 @noindent
2930 Vedi @ref{Enhancing MIDI output}.
2931
2932 @cindex MIDI, notazione non supportata
2933
2934 @node Notazione non supportata nel MIDI
2935 @subsection Notazione non supportata nel MIDI
2936 @translationof Unsupported notation for MIDI
2937
2938 I seguenti elementi della notazione musicale non possono essere trasferiti
2939 nel file MIDI;
2940
2941 @itemize
2942 @item Articolazioni diverse da staccato, staccatissimo, accento, marcato
2943 e portato
2944 @item Crescendi e decrescendi su una @emph{singola} nota
2945 @item Corona
2946 @item Basso numerato (continuo)
2947 @item Glissandi
2948 @item Portamenti indeterminati verso il basso e verso l'alto
2949 @item Accordi microtonali
2950 @item Ritmi inseriti come note, per esempio lo swing
2951 @item Cambi di tempo senza usare @code{\tempo} (per esempio, inseriti come note)
2952 @item Tremoli che @emph{sono} inseriti con un valore @q{@code{:}[@var{numero}]}
2953 @end itemize
2954
2955
2956 @node Il blocco MIDI
2957 @subsection Il blocco MIDI
2958 @translationof The MIDI block
2959
2960 @cindex MIDI block
2961
2962 Per creare un file MIDI da un file di input LilyPond, inserire un blocco
2963 @code{\midi}, che può essere vuoto, all'interno di un blocco @code{\score};
2964
2965 @example
2966 \score @{
2967   @var{@dots{} musica @dots{}}
2968   \layout @{ @}
2969   \midi @{ @}
2970 @}
2971 @end example
2972
2973 @warning{ Un blocco @code{@bs{}score} che, oltre alla musica, contenga
2974 soltanto un blocco @code{@bs{}midi} (ovvero @emph{sia privo} del blocco
2975 @code{@bs{}layout}), produrrà come output soltanto file MIDI e nessun
2976 file visuale.}
2977
2978 L'estensione predefinita del file di output (@code{.midi}) può essere
2979 modificata tramite l'opzione @code{-dmidi-extension} del comando
2980 @code{lilypond}:
2981
2982 @example
2983 lilypond -dmidi-extension=mid MyFile.ly
2984 @end example
2985
2986 Altrimenti, aggiungere la seguente espressione Scheme prima dell'inizio
2987 dei blocchi @code{\book}, @code{\bookpart} o @code{\score}.  Vedi
2988 @ref{File structure}.
2989
2990 @example
2991 #(ly:set-option 'midi-extension "mid")
2992 @end example
2993
2994 @seealso
2995 Guida alla notazione:
2996 @ref{File structure}.
2997
2998 File installati:
2999 @file{scm/midi.scm}.
3000
3001 @knownissues
3002 Sono disponibili quindici canali MIDI e un canale ulteriore (#10) per
3003 le percussioni.  I righi sono assegnati ai canali in sequenza: in una
3004 partitura di più di quindici righi, i righi extra condivideranno
3005 (senza sovrascriverlo) lo stesso canale MIDI. Ciò potrebbe essere un
3006 problema se i righi in questione sono impostati con proprietà MIDI in
3007 conflitto e basate sul canale, come ad esempio diversi strumenti MIDI.
3008
3009
3010 @node Gestione delle dinamiche nel MIDI
3011 @subsection Gestione delle dinamiche nel MIDI
3012 @translationof Controlling MIDI dynamics
3013
3014 È possile regolare il volume MIDI complessivo, il volume relativo dei
3015 segni di dinamica e il volume relativo dei diversi strumenti.
3016
3017 Le dinamiche vengono trasferite automaticamente sui livelli di volume nella
3018 gamma di volume MIDI disponibile, mentre crescendi e decrescendi variano
3019 il volume gradualmente tra i loro due estremi.  È possibile regolare il
3020 volume relativo delle dinamiche e i livelli del volume complessivo dei
3021 diversi strumenti.
3022
3023 @menu
3024 * Dinamiche nel MIDI::
3025 * Impostazione del volume MIDI::
3026 * Impostazione delle proprietà del blocco MIDI::
3027 @end menu
3028
3029 @cindex volume MIDI
3030 @cindex MIDI, volume
3031 @cindex equalizzazione MIDI
3032 @cindex MIDI, equalizzazione
3033 @cindex dinamiche nel MIDI
3034 @cindex MIDI, dinamiche
3035
3036 @node Dinamiche nel MIDI
3037 @unnumberedsubsubsec Dinamiche nel MIDI
3038 @translationof Dynamic marks in MIDI
3039
3040 Solo i segni di dinamica compresi tra @code{ppppp} e @code{fffff}, inclusi
3041 @code{mp}, @code{mf} e @code{sf} hanno dei valori assegnati.  Questo valore
3042 viene poi applicato al valore della gamma del volume MIDI complessivo per
3043 ottenere il volume finale incluso nell'output MIDI per quella particolare
3044 dinamica. Le frazioni predefinite vanno da 0.25 per @notation{ppppp} a
3045 0.95 per @notation{fffff}. L'insieme completo di dinamiche e delle loro
3046 frazioni associate si trova in @file{scm/midi.scm}.
3047
3048
3049 @snippets
3050 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3051 {creating-custom-dynamics-in-midi-output.ly}
3052
3053 File installati:
3054 @file{ly/script-init.ly}
3055 @file{scm/midi.scm}.
3056
3057 Frammenti:
3058 @rlsr{MIDI}.
3059
3060 Guida al funzionamento interno:
3061 @rinternals{Dynamic_performer}.
3062
3063
3064 @node Impostazione del volume MIDI
3065 @unnumberedsubsubsec Impostazione del volume MIDI
3066 @translationof Setting MIDI volume
3067
3068 I valori minimo e massimo del volume complessivo delle dinamiche MIDI sono
3069 regolati dalle proprietà @code{midiMinimumVolume} e @code{midiMaximumVolume} nel
3070 livello @code{Score}.  Tali proprietà hanno effetto soltanto all'inizio di
3071 una voce e sui segni di dinamica.  La frazione corrispondente a ciascun
3072 segno di dinamica viene modificata con la seguente formula:
3073
3074 @example
3075 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * frazione
3076 @end example
3077
3078 Nell'esempio seguente la gamma dinamica del volume MIDI complessivo
3079 è limitata alla gamma @code{0.2} - @code{0.5}.
3080
3081 @example
3082 \score @{
3083   <<
3084     \new Staff @{
3085       \set Staff.midiInstrument = #"flauto"
3086       @var{@dots{} musica @dots{}}
3087     @}
3088     \new Staff @{
3089       \set Staff.midiInstrument = #"clarinetto"
3090       @var{@dots{} musica @dots{}}
3091     @}
3092   >>
3093   \midi @{
3094     \context @{
3095       \Score
3096       midiMinimumVolume = #0.2
3097       midiMaximumVolume = #0.5
3098     @}
3099   @}
3100 @}
3101 @end example
3102
3103 Una semplice equalizzazione degli strumenti MIDI si può ottenere impostando
3104 le proprietà @code{midiMinimumVolume} e @code{midiMaximumVolume} nel
3105 contesto @code{Staff}.
3106
3107 @example
3108 \score @{
3109   \new Staff @{
3110     \set Staff.midiInstrument = #"flauto"
3111     \set Staff.midiMinimumVolume = #0.7
3112     \set Staff.midiMaximumVolume = #0.9
3113     @var{@dots{} musica @dots{}}
3114   @}
3115   \midi @{ @}
3116 @}
3117 @end example
3118
3119 In caso di partiture con molti righi e molti strumenti MIDI, i volumi relativi
3120 di ogni strumento possono essere impostati individualmente;
3121
3122 @example
3123 \score @{
3124   <<
3125     \new Staff @{
3126       \set Staff.midiInstrument = #"flauto"
3127       \set Staff.midiMinimumVolume = #0.7
3128       \set Staff.midiMaximumVolume = #0.9
3129       @var{@dots{} musica @dots{}}
3130     @}
3131     \new Staff @{
3132       \set Staff.midiInstrument = #"clarinetto"
3133       \set Staff.midiMinimumVolume = #0.3
3134       \set Staff.midiMaximumVolume = #0.6
3135       @var{@dots{} musica @dots{}}
3136     @}
3137   >>
3138   \midi @{ @}
3139 @}
3140 @end example
3141
3142 In questo esempio il volume del clarinetto è diminuito in modo proporzionale
3143 al volume del flauto.
3144
3145 Se queste proprietà del volume non sono impostate, LilyPond applica comunque
3146 @q{un po'} di equalizzazione a certi strumenti.  Vedi @file{scm/midi.scm}.
3147
3148 File installati:
3149 @file{scm/midi.scm}.
3150
3151 @seealso
3152 Guida alla notazione:
3153 @ref{Score layout}.
3154
3155 Guida al funzionamento interno:
3156 @rinternals{Dynamic_performer}.
3157
3158 @snippets
3159 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3160 {replacing-default-midi-instrument-equalization.ly}
3161
3162 @knownissues
3163 Le modifiche al volume MIDI si verificano soltanto all'inizio di una nota, quindi
3164 i crescendi e i decrescendi non possono cambiare il volume di una singola nota.
3165
3166
3167 @node Impostazione delle proprietà del blocco MIDI
3168 @unnumberedsubsubsec Impostazione delle proprietà del blocco MIDI
3169 @translationof Setting MIDI block properties
3170
3171 Il blocco @code{\midi} può contenere modifiche del contesto, nuove definizioni
3172 del contesto o codice che imposti i valori di certe proprietà.
3173
3174 @example
3175 \score @{
3176   @var{@dots{} musica @dots{}}
3177   \midi @{
3178     \tempo 4 = 72
3179   @}
3180 @}
3181 @end example
3182
3183 In questo esempio il tempo è impostato su 72 battiti da un quarto per minuto.  Il
3184 segno di tempo nel blocco @code{\midi} non appare nella partitura, mentre qualsiasi
3185 altra indicazione di @code{\tempo} specificata nel blocco @code{\score} sarà
3186 trasferita anche nell'output MIDI.
3187
3188 Se all'interno di un blocco @code{\midi}, il comando @code{\tempo} imposta le
3189 proprietà durante l'interpretazione della musica e nel contesto delle
3190 definizioni di output; dunque viene interpretato @emph{come se} fosse
3191 una modifica di contesto.
3192
3193 @cindex MIDI, definizioni di contesto
3194 @cindex definizioni di contesto per il MIDI
3195
3196 Le definizioni di contesto seguono la stessa sintassi di quelle di un
3197 blocco @code{\layout};
3198
3199 @example
3200 \score @{
3201   @var{@dots{} musica @dots{}}
3202   \midi @{
3203     \context @{
3204       \Voice
3205       \remove "Dynamic_performer"
3206     @}
3207   @}
3208 @}
3209 @end example
3210
3211 Questo esempio toglie l'effetto delle dinamiche dall'output MIDI.  Nota bene:
3212 i moduli di traduzione di LilyPond usati per l'audio si chiamano @q{performer}.
3213
3214 @seealso
3215 Manuale di apprendimento:
3216 @rlearning{Altre fonti di informazione}.
3217
3218 Guida alla notazione:
3219 @ref{Expressive marks},
3220 @ref{Score layout}.
3221
3222 File installati:
3223 @file{ly/performer-init.ly}.
3224
3225 Frammenti:
3226 @rlsr{MIDI}.
3227
3228 Guida al funzionamento interno:
3229 @rinternals{Dynamic_performer}.
3230
3231 @knownissues
3232 Alcuni lettori MIDI non sempre gestiscono correttamente i cambi di tempo.
3233
3234 I cambi di @code{midiInstrument}, e di altre opzioni MIDI, all'@emph{inizio}
3235 di un rigo potrebbero apparire due volte nell'output MIDI.
3236
3237
3238
3239 @node Uso degli strumenti MIDI
3240 @subsection Uso degli strumenti MIDI
3241 @translationof Using MIDI instruments
3242
3243 Gli strumenti MIDI si impostano tramite la proprietà @code{midiInstrument} del
3244 contesto @code{Staff}.
3245
3246 @example
3247 \score @{
3248   \new Staff @{
3249     \set Staff.midiInstrument = #"glockenspiel"
3250     @var{@dots{} musica @dots{}}
3251   @}
3252   \midi @{ @}
3253 @}
3254 @end example
3255
3256 o
3257
3258 @example
3259 \score @{
3260   \new Staff \with @{midiInstrument = #"cello"@} @{
3261     @var{@dots{} musica @dots{}}
3262   @}
3263   \midi @{ @}
3264 @}
3265 @end example
3266
3267 Se il nome dello strumento non corrisponde a nessuno degli strumenti elencati
3268 nella sezione @q{Strumenti MIDI}, verrà usato lo strumento @code{acoustic grand}.
3269 Vedi @ref{MIDI instruments}.
3270
3271 @seealso
3272 Manuale di apprendimento:
3273 @rlearning{Altre fonti di informazione}.
3274
3275 Guida alla notazione:
3276 @ref{MIDI instruments},
3277 @ref{Score layout}.
3278
3279 File installati:
3280 @file{scm/midi.scm}.
3281
3282 @knownissues
3283 Gli strumenti percussivi che sono scritti in un contesto @code{DrumStaff}
3284 verranno inviati, correttamente, al canale MIDI@tie{}10, ma alcuni strumenti
3285 percussivi con un tono musicale, come xilofono, marimba, vibrafono o
3286 timpano, sono trattati come strumenti @qq{normali}, quindi la musica di
3287 tali strumenti deve essere inserita in un contesto @code{Staff} (non
3288 @code{DrumStaff}) per ottenere l'output MIDI corretto.  L'elenco completo
3289 delle voci del @code{set di percussioni del canale 10} si trova in
3290 @file{scm/midi.scm}. Vedi @rlearning{Altre fonti di informazione}.
3291
3292
3293 @node Uso delle ripetizioni nel MIDI
3294 @subsection Uso delle ripetizioni nel MIDI
3295 @translationof Using repeats with MIDI
3296
3297 @cindex repeats in MIDI
3298 @cindex MIDI using repeats
3299 @funindex \unfoldRepeats
3300
3301 Le ripetizioni possono essere applicate all'output MIDI tramite il
3302 comando @code{\unfoldRepeats}.
3303
3304 @example
3305 \score @{
3306   \unfoldRepeats @{
3307     \repeat tremolo 8 @{ c'32 e' @}
3308     \repeat percent 2 @{ c''8 d'' @}
3309     \repeat volta 2 @{ c'4 d' e' f' @}
3310     \alternative @{
3311       @{ g' a' a' g' @}
3312       @{ f' e' d' c' @}
3313     @}
3314   @}
3315   \midi @{ @}
3316 @}
3317 @end example
3318
3319 Per limitare l'effetto di @code{\unfoldRepeats} all'output MIDI
3320 soltanto, senza modificare la partitura stampata, occorre creare
3321 @emph{due} blocchi @code{\score}; uno per il MIDI (con ripetizioni
3322 ricopiate) e uno per la partitura scritta (con ripetizioni con volta,
3323 tremolo e percentuale):
3324
3325 @example
3326 \score @{
3327   @var{@dots{} musica @dots{}}
3328   \layout @{ @}
3329 @}
3330 \score @{
3331   \unfoldRepeats @{
3332     @var{@dots{} musica @dots{}}
3333   @}
3334   \midi @{ @}
3335 @}
3336 @end example
3337
3338 Quando si usa più di una voce, ciascuna voce deve avere tutte le ripetizioni
3339 ricopiate per generare un output MIDI corretto.
3340
3341 @seealso
3342 Guida alla notazione:
3343 @ref{Repeats}.
3344
3345
3346 @node Mappatura dei canali MIDI
3347 @subsection Mappatura dei canali MIDI
3348 @translationof MIDI channel mapping
3349
3350 @cindex MIDI, canali
3351 @cindex MIDI, tracce
3352 @cindex canali MIDI
3353 @cindex tracce MIDI
3354 @funindex midiChannelMapping
3355
3356 Quando genera un file MIDI da una partitura, LilyPond assegna automaticamente
3357 ogni nota a un canale MIDI, in cui essa dovrà essere suonata quando inviata
3358 a un dispositivo MIDI. Un canale MIDI mette a disposizione un certo numero di
3359 controlli per selezionare, per esempio, lo strumento da usare per riprodurre
3360 le note in quel canale o per chiedere al dispositivo MIDI di applicare vari effetti
3361 al suono prodotto nel canale. In ogni momento, ogni controllo di un canale
3362 MIDI può avere un solo valore assegnato (che tuttavia può essere modificato,
3363 per esempio, per passare a un altro strumento nel mezzo di un brano).
3364
3365 Lo standard MIDI supporta soltanto 16 canali per dispositivo MIDI.  Questo
3366 limite al numero di canali limita anche il numero dei diversi strumenti che
3367 possono essere eseguiti in contemporanea.
3368
3369 LilyPond crea tracce MIDI separate per ogni rigo (o strumento o voce separati,
3370 a seconda del valore di @code{Score.midiChannelMapping}) e anche per ogni
3371 contesto lyrics.
3372 Non c'è limite al numero di tracce.
3373
3374 Per aggirare il limite del numero di canali MIDI, LilyPond supporta
3375 varie modalità per l'assegnazione dei canali MIDI, scelti attraverso
3376 la proprietà di contesto @code{Score.midiChannelMapping}.  In ogni caso,
3377 se è necessario un numero di canali MIDI superiore al limite, i numeri canale
3378 assegnati ripartono da 0, causando possibili assegnazioni erronee degli
3379 strumenti di alcune note. Questa proprietà di contesto può essere impostata
3380 su uno dei seguenti valori:
3381
3382 @table @var
3383
3384 @item @code{'staff}
3385
3386 Assegna un canale MIDI separato a ogni rigo della partitura (comportamento
3387 predefinito).  Tutte le note in tutte le voci di ogni rigo condivideranno
3388 lo stesso canale MIDI del rigo che le racchiude, e tutte si trovano nella
3389 stessa traccia MIDI.
3390
3391 Il limite dei 16 canali è applicato al numero totale dei contesti staff (rigo)
3392 e lyrics (testo vocale), anche se il testo vocale nel MIDI non occupa un
3393 canale MIDI.
3394
3395 @item @code{'instrument}
3396
3397 Assegna un canale MIDI separato a ogni strumento MIDI diverso
3398 specificato nella partitura.  Ciò significa che tutte le note suonate
3399 con lo stesso strumento MIDI condivideranno lo stesso canale (e traccia)
3400 MIDI, anche se le note appartengono a voci o righi diversi.
3401
3402 In questo caso i contesti del testo vocale (lyrics) non contano nel calcolo
3403 del limite dei 16 canali MIDI (perché non saranno assegnati a uno strumento
3404 MIDI), dunque questa impostazione consente una migliore assegnazione dei
3405 canali MIDI quando il numero di righi e contesti lyrics in una partitura è
3406 superiore a 16.
3407
3408 @item @code{'voice}
3409
3410 Assegna un canale MIDI separato a ogni voce che abbia un nome unico tra
3411 le voci del rigo che le racchiude.  Alle voci in righi diversi vengono
3412 sempre assegnati canali MIDI separati, ma due voci di uno stesso rigo
3413 condivideranno lo stesso canale MIDI se hanno lo stesso nome.
3414 @code{midiInstrument} e i vari controlli MIDI per gli effetti, essendo
3415 proprietà del contesto del rigo (staff), non possono essere impostati
3416 separatamente per ogni voce. La prima voce verrà suonata con lo strumento
3417 e gli effetti specificati per il rigo, mentre alle voci con una nome diverso
3418 da quello della prima saranno assegnati lo strumento e gli effetti predefiniti.
3419
3420 Nota bene: è possibile assegnare diversi strumenti e/o effetti a varie
3421 voci dello stesso rigo spostando @code{Staff_performer} dal contesto
3422 @code{Staff} al contesto @code{Voice} e lasciando @code{midiChannelMapping}
3423 sul valore predefinito @code{'staff} oppure impostandolo su @code{'instrument};
3424 vedi il frammento in basso.
3425
3426 @end table
3427
3428 Per esempio, la mappatura predefinita dei canali MIDI di una partitura può
3429 essere modificata per usare l'impostazione @code{'instrument}:
3430
3431 @example
3432 \score @{
3433   ...musica...
3434   \midi @{
3435     \context @{
3436       \Score
3437       midiChannelMapping = #'instrument
3438     @}
3439   @}
3440 @}
3441 @end example
3442
3443 @snippets
3444 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3445 {changing-midi-output-to-one-channel-per-voice.ly}
3446
3447
3448 @node Proprietà di contesto per gli effetti MIDI
3449 @subsection Proprietà di contesto per gli effetti MIDI
3450 @translationof Context properties for MIDI effects
3451
3452 @cindex effetti nel MIDI
3453 @cindex panning nel MIDI
3454 @cindex stereo, bilanciamento nel MIDI
3455 @cindex bilanciamento nel MIDI
3456 @cindex espressione nel MIDI
3457 @cindex riverbero nel MIDI
3458 @cindex livello del chorus nel MIDI
3459 @funindex midiPanPosition
3460 @funindex midiBalance
3461 @funindex midiExpression
3462 @funindex midiReverbLevel
3463 @funindex midiChorusLevel
3464
3465 Le seguenti proprietà di contesto possono essere usate per applicare
3466 vari effetti MIDI alle note suonate sul canale MIDI associato col
3467 rigo, strumento MIDI o voce correnti (a seconda del valore della
3468 proprietà di contesto @code{Score.midiChannelMapping} e del contesto
3469 in cui si trova @code{Staff_performer}; vedi @ref{MIDI channel mapping}).
3470
3471 La modifica di queste proprietà di contesto avrà effetto su tutte le
3472 note suonate sul canale dopo il cambio, tuttavia alcuni effetti potrebbero
3473 essere applicati anche a note che stanno già suonando (a seconda di come
3474 è stato implementato il dispositivo MIDI).
3475
3476 Sono supportate le seguenti proprietà di contesto:
3477
3478 @table @var
3479
3480 @item @code{Staff.midiPanPosition}
3481
3482 La posizione del panning regola il modo in cui il suono in un canale MIDI
3483 è distribuito tra gli altoparlanti stereo di sinistra e di destra. Questa
3484 proprietà di contesto accetta un numero compreso tra -1.0 (@code{#LEFT}) e
3485 1.0 (@code{#RIGHT}); il valore -1.0 sposterà tutto il suono sull'altoparlante
3486 sinistro (rendendo muto quello destro), il valore 0.0 (@code{#CENTER})
3487 distribuirà il suono in modo uniforme tra gli altoparlanti sinistro e
3488 destro, e il valore 1.0 sposterà tutto il suono sull'altoparlante destro.
3489 I valori intermedi tra -1.0 e 1.0 permettono di ottenere distribuzioni
3490 miste tra gli altoparlanti sinistro e destro.
3491
3492 @item @code{Staff.midiBalance}
3493
3494 Il bilanciamento stereo di un canale MIDI.  In modo simile al panning, questa
3495 proprietà di contesto accetta un numero compreso tra -1.0 (@code{#LEFT}) e
3496 1.0 (@code{#RIGHT}).  Varia il volume relativo inviato ai due altoparlanti
3497 stereo senza alterare la distribuzione dei segnali stereo.
3498
3499 @item @code{Staff.midiExpression}
3500
3501 Livello dell'espressione (come frazione del livello massimo disponibile) da
3502 applicare a un canale MIDI.  Un dispositivo MIDI combina insieme il livello
3503 di espressione del canale MIDI con l'attuale livello di dinamica di una
3504 voce (stabilito dai comandi @code{\p} o @code{\ff}) per ottenere il volume
3505 totale di ogni nota nella voce.  Il controllo dell'espressione può essere
3506 usato, per esempio, per implementare effetti di crescendo o decrescendo
3507 su singole note sostenute (non supportato automaticamente da LilyPond).
3508
3509 @c Issue 4059 contains an attached snippet which shows how this might
3510 @c be done, but this is too large and complex for the NR, even as a
3511 @c referenced snippet.  It could be added to the LSR.
3512
3513 La gamma del livello di espressione va da 0.0 (nessuna espressione, ovvero
3514 volume zero) a 1.0 (piena espressione).
3515
3516 @item @code{Staff.midiReverbLevel}
3517
3518 Livello di riverbero (come frazione del livello massimo disponibile) da
3519 applicare a un canale MIDI.  Questa proprietà accetta numeri compresi tra
3520 0.0 (nessun riverbero) e 1.0 (pieno effetto).
3521
3522 @item @code{Staff.midiChorusLevel}
3523
3524 Livello del chorus (come frazione del livello massimo disponibile) da
3525 applicare a un canale MIDI.  Questa proprietà accetta numeri compresi
3526 tra 0.0 (nessun effetto chorus) e 1.0 (pieno effetto).
3527
3528 @end table
3529
3530
3531 @knownissues
3532
3533 Dato che i file MIDI non contengono veri dati audio, le modifiche in
3534 queste proprietà di contesto si traducono soltanto in richieste di
3535 modifica dei controlli del canale MIDI nei file MIDI generati.
3536 Se un particolare dispositivo MIDI (come un lettore MIDI) sia in
3537 grado di gestire queste richieste dipende interamente dall'implementazione
3538 del dispositivo: un dispositivo potrebbe scegliere di ignorare alcune o
3539 tutte le richieste. Dipende dall'implementazione del dispositivo MIDI
3540 anche il modo in cui un dispositivo MIDI interpreta valori diversi di
3541 questi controlli (generalmente lo standard MIDI corregge il comportamento
3542 solo alle estremità della gamma di valori disponibile per ogni controllo) e
3543 se un cambiamento nel valore di un controllo avrà effetto anche su note che
3544 stanno già suonando su quel canale MIDI.
3545
3546 Quando genera file MIDI, LilyPond trasformerà semplicemente le frazioni
3547 comprese in ciascuna gamma in valori di una gamma di numeri interi
3548 corrispondenti (0-127 per i 7-bit, 0-32767 per i 14 bit per i controlli
3549 del canale MIDI che supportano una migliore risoluzione), arrotondando
3550 i valori delle frazioni sul numero intero più vicino.
3551 I valori interi convertiti sono salvati così come sono nel file MIDI
3552 generato.  Consultare la documentazione del proprio dispositivo MIDI
3553 per sapere come il dispositivo interpreta questi valori.
3554
3555
3556 @node Miglioramento dell'output MIDI
3557 @subsection Miglioramento dell'output MIDI
3558 @translationof Enhancing MIDI output
3559
3560 @menu
3561 * Lo script articulate::
3562 @end menu
3563
3564 L'output MIDI predefinito fornisce le fuzionalità basilari, ma può essere
3565 migliorato impostando gli strumenti MIDI, le proprietà del blocco
3566 @code{\midi} e/o usando lo script @file{articulate}.
3567
3568 @cindex nomi degli strumenti
3569 @cindex strumenti, nomi
3570 @cindex MIDI, strumenti
3571 @cindex articulate script
3572 @cindex articulate.ly
3573 @funindex Staff.midiInstrument
3574
3575
3576 @node Lo script articulate
3577 @unnumberedsubsubsec Lo script @file{articulate}
3578 @translationof The articulate script
3579
3580 Per usare lo script @file{articulate} aggiungere il relativo comando
3581 @code{\include} all'inizio del file di input:
3582
3583 @example
3584 \include "articulate.ly"
3585 @end example
3586
3587 Lo script crea file MIDI in cui la durata delle note è correttamente
3588 @q{ridimensionata} per rappresentare molte articolazioni e indicazioni
3589 di tempo. Tuttavia anche l'output grafico verrà modificato per
3590 corrispondere esattamente all'output MIDI.
3591
3592 @example
3593 \score @{
3594   \articulate <<
3595     @var{@dots{} musica @dots{}}
3596   >>
3597   \midi @{ @}
3598 @}
3599 @end example
3600
3601 Il comando @code{\articulate} permette di elaborare le abbreviature (come
3602 i trilli e i gruppetti). L'elenco completo degli elementi supportati si
3603 trova nello script stesso.  Vedi @file{ly/articulate.ly}.
3604
3605 @seealso
3606 Manuale di apprendimento:
3607 @rlearning{Altre fonti di informazione}.
3608
3609 Guida alla notazione:
3610 @ref{Score layout}.
3611
3612 File installati:
3613 @file{ly/articulate.ly}.
3614
3615 @warning{Lo script @file{articulate} potrebbe accorciare la durata degli
3616 accordi, cosa che potrebbe non essere appropriata per alcuni tipi di
3617 strumento, come nel caso della musica per organo. Potrebbe essere ridotta
3618 anche la durata di note prive di articolazioni.
3619 Dunque per compensare tutto ciò, limitare l'uso del comando @code{\articulate}
3620 a brevi segmenti di musica o modificare i valori delle variabili definite
3621 nello script @file{articulate}.}
3622
3623
3624
3625 @node Estrazione dell'informazione musicale
3626 @section Estrazione dell'informazione musicale
3627 @translationof Extracting musical information
3628
3629 Oltre a creare l'output grafico e il MIDI, LilyPond può mostrare
3630 l'informazione musicale in forma testuale.
3631
3632 @menu
3633 * Mostrare la notazione LilyPond::
3634 * Mostrare le espressioni musicali scheme::
3635 * Salvare eventi musicali in un file::
3636 @end menu
3637
3638 @node Mostrare la notazione LilyPond
3639 @subsection Mostrare la notazione LilyPond
3640 @translationof Displaying LilyPond notation
3641
3642 @funindex \displayLilyMusic
3643 La funzione musicale @code{\displayLilyMusic} permette di mostrare
3644 un'espressione musicale nella notazione di LilyPond. Per vedere
3645 l'output, di norma si esegue LilyPond da linea di comando. Per esempio,
3646
3647 @example
3648 @{
3649   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3650 @}
3651 @end example
3652
3653 mostrerà
3654
3655 @example
3656 @{ a,4 cis4 e4 fis4 g4 @}
3657 @end example
3658
3659 LilyPond stampa questi messaggi nella console insieme a tutti gli
3660 altri messaggi della compilazione. Per separare questi messaggi
3661 e salvare i risultati di @code{\displayLilyMusic}, redirigere
3662 l'output su un file:
3663
3664 @example
3665 lilypond file.ly >display.txt
3666 @end example
3667
3668 @funindex \void
3669 @c non lo traduco ancora perché poco chiaro:
3670 @c https://lists.gnu.org/archive/html/lilypond-user/2015-12/msg00141.html
3671 Note that Lilypond does not just display the music expression, but
3672 also interprets it (since @code{\displayLilyMusic} returns it in
3673 addition to displaying it).  This is convenient since you can just
3674 insert @code{\displayLilyMusic} into existing music in order to get
3675 information about it.  If you don't actually want Lilypond to
3676 interpret the displayed music as well as display it, use @code{\void}
3677 in order to have it ignored:
3678
3679 @example
3680 @{
3681   \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3682 @}
3683 @end example
3684
3685
3686 @node Mostrare le espressioni musicali scheme
3687 @subsection Mostrare le espressioni musicali scheme
3688 @translationof Displaying scheme music expressions
3689
3690 Vedi @rextend{Displaying music expressions}.
3691
3692
3693 @node Salvare eventi musicali in un file
3694 @subsection Salvare eventi musicali in un file
3695 @translationof Saving music events to a file
3696
3697 Gli eventi musicali possono essere salvati in file diversi, un file per
3698 ogni rigo, includendo un file nella partitura principale:
3699
3700 @example
3701 \include "event-listener.ly"
3702 @end example
3703
3704 Così verranno creati uno o più file @file{NOMEFILE-NOMERIGO.notes} o
3705 @file{NOMEFILE-unnamed-staff.notes} per ogni rigo.  Se ci sono vari
3706 righi senza nome, gli eventi di tutti i righi saranno mischiati insieme
3707 nello stesso file.  I file hanno una struttura di questo tipo:
3708
3709 @example
3710 0.000   note     57       4   p-c 2 12
3711 0.000   dynamic  f
3712 0.250   note     62       4   p-c 7 12
3713 0.500   note     66       8   p-c 9 12
3714 0.625   note     69       8   p-c 14 12
3715 0.750   rest     4
3716 0.750   breathe
3717 @end example
3718
3719 La sintassi prevede una riga delimitata da tabulatori, con due campi fissi
3720 su ogni riga seguiti da parametri opzionali.
3721
3722 @example
3723 @var{tempo}  @var{tipo}  @var{@dots{}parametri@dots{}}
3724 @end example
3725
3726 Questa informazione può essere letta facilmente da altri programmi,
3727 per esempio da uno script python, e può essere molto utile per
3728 ricercatori che desiderano fare delle analisi musicali o degli
3729 esperimenti di @emph{playback} con LilyPond.
3730
3731
3732 @knownissues
3733
3734 Non tutti gli eventi musicali di lilypond sono supportati da
3735 @file{event-listener.ly}, che vuole essere una semplice @qq{prova di concetto}
3736 ben congeniata. Se alcuni eventi che si vorrebbero vedere non sono
3737 inclusi, copiare @file{event-listener.ly} nella propria directory
3738 lilypond e modificare il file in modo che produca l'informazione
3739 desiderata.
3740