1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
4 Translation of GIT committish: 4c31c117565b1c7dd78e606fceb7cba354f2859a
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..
12 @c Translators: Federico Bruni
13 @c Translation checkers:
16 @chapter Input e output
17 @translationof General input and output
19 Questa sezione tratta le questioni generali relative all'input e
20 all'output di LilyPond, non specifiche di un certo tipo di notazione.
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::
32 @node Struttura dell'input
33 @section Struttura dell'input
34 @translationof Input structure
36 Il principale formato di input di LilyPond sono i file di testo. Per
37 convenzione, questi file hanno estensione @file{.ly}.
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::
48 @node Struttura di una partitura
49 @subsection Struttura di una partitura
50 @translationof Structure of a score
54 Un blocco @code{\score} deve contenere una singola espressione musicale
55 delimitata da parentesi graffe:
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.}
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:
75 @lilypond[verbatim,quote]
82 @lilypond[verbatim,quote]
84 \new Staff { c'4 c' c' c' }
85 \new Staff { d'4 d' d' d' }
93 \new Staff @{ \flauto @}
94 \new Staff @{ \oboe @}
97 \new Staff @{ \violinoI @}
98 \new Staff @{ \violinoII @}
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}.
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}.
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}.
123 Manuale di apprendimento:
124 @rlearning{Lavorare sui file di input},
125 @rlearning{Espressioni musicali},
126 @rlearning{La partitura è una (singola) espressione musicale composta}.
129 @node Molteplici partiture in un libro
130 @subsection Molteplici partiture in un libro
131 @translationof Multiple scores in a book
134 @cindex movimenti, molteplici
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},
142 @var{@dots{}musica@dots{}}
146 e il testo si inserisce con un blocco @code{\markup},
150 @var{@dots{}testo@dots{}}
156 Tutti i movimenti e i testi che appaiono nello stesso file @file{.ly}
157 normalmente vengono elaborati in un singolo file di output.
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}.
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
185 title = "Otto miniature"
186 composer = "Igor Stravinsky"
190 \header @{ piece = "Romanza" @}
193 @dots{}testo della seconda strofa@dots{}
196 @dots{}testo della terza strofa@dots{}
200 \header @{ piece = "Minuetto" @}
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}.
214 title = "Titolo del libro"
215 subtitle = "Prima parte"
222 subtitle = "Seconda parte"
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
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}.
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.
245 Per farlo, aggiunge un suffisso al nome del file di output di ogni
246 blocco @code{\book}, derivato dal nome del file di input (se viene
247 lasciata l'impostazione predefinita).
249 Il comportamento predefinito consiste quindi nell'appendere un suffisso
250 numerico a ogni nome che potrebbe entrare in conflitto, quindi
267 nel file sorgente @file{ottominiature.ly}
272 @file{ottominiature.pdf},
274 @file{ottominiature-1.pdf} e
276 @file{ottominiature-2.pdf}.
279 @node Nomi dei file di output
280 @subsection Nomi dei file di output
281 @translationof Output file names
283 @funindex \bookOutputSuffix
284 @funindex \bookOutputName
286 Lilypond permette di decidere quali nomi di file debbano essere
287 usati dai vari backend quando questi generano i file di output.
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}.
299 \bookOutputSuffix "Romanza"
304 \bookOutputSuffix "Minuetto"
309 \bookOutputSuffix "Notturno"
315 È possibile anche specificare un diverso nome del file di output per
316 ciascun blocco @code{book}, tramite le dichiarazioni
317 @code{\bookOutputName}
321 \bookOutputName "Romanza"
326 \bookOutputName "Minuetto"
331 \bookOutputName "Notturno"
337 Questo file produrrà i seguenti file di output:
343 @file{Minuetto.pdf} e
349 @node Struttura del file
350 @subsection Struttura del file
351 @translationof File structure
361 Un file @file{.ly} può contenere un qualsiasi numero di espressioni di
362 livello superiore (in inglese, @emph{toplevel expressions}). Per espressione di
363 livello superiore si intende una delle seguenti:
367 Una definizione di output, come @code{\paper}, @code{\midi} e
368 @code{\layout}. Tale definizione, se posta nel livello superiore, cambia
369 le impostazioni predefinite al livello del libro. Se più di una di
370 queste definizioni viene inserita nel livello superiore, le definizioni
371 vengono combinate, ma in caso di conflitto hanno precedenza le definizioni
372 più recenti. Per sapere con precisione come ciò influisca sul blocco
373 @code{\layout}, leggere
374 @ref{The layout block,,Il blocco @code{@bs{}layout}}.
377 Un'espressione scheme diretta, come
378 @code{#(set-default-paper-size "a7" 'landscape)} o
379 @code{#(ly:set-option 'point-and-click #f)}.
382 Un blocco @code{\header}. Se all'inizio del file, imposta il blocco
383 dell'intestazione globale. 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}).
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}.
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}.
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.
418 Un'espressione musicale composta, come
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
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}.
449 Un testo, per esempio una strofa
452 2. La prima riga della seconda strofa.
456 I testi possono trovarsi sopra, sotto o in mezzo alle partiture
457 o espressioni musicali, ovunque esse appaiano.
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.
473 L'esempio seguente mostra tre elementi che possono essere inseriti
474 nel livello superiore
478 % Non giustificare l'output
490 Ciascuna delle seguenti istruzioni lessicali può essere inserita
491 in qualsiasi punto di un file:
494 @item @code{\version}
495 @item @code{\include}
496 @item @code{\sourcefilename}
497 @item @code{\sourcefileline}
499 Un commento su riga singola, introdotto da un segno @code{%}.
502 Un commento multiriga delimitato da @code{%@{ @dots{} %@}}.
506 @cindex spazio bianco
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:
515 @item Intorno ad ogni parentesi graffa di apertura e di chiusura.
517 @item Dopo ogni comando o variabile, ovvero qualsiasi elemento
518 che inizi con un segno@tie{}@code{\}.
520 @item Dopo ogni elemento che debba essere interpretato come
521 un'espressione Scheme, ovvero ogni elemento che inizi con un
524 @item Per separare tutti gli elementi di un'espressione Scheme.
526 @item Nella modalità @code{lyricmode} prima e dopo i comandi @code{\set}
532 Manuale di apprendimento:
533 @rlearning{Come funzionano i file di input di LilyPond}.
535 Guida alla notazione:
536 @ref{Titles explained},
537 @ref{The layout block,,Il blocco @code{@bs{}layout}}.
540 @node Titoli e intestazioni
541 @section Titoli e intestazioni
542 @translationof Titles and headers
546 @cindex piè di pagina
548 Quasi tutte le partiture musicali hanno il titolo e il nome del compositore e
549 alcuni brani comprendono molte altre informazioni.
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::
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
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::
572 @node Come funzionano i titoli
573 @unnumberedsubsubsec Come funzionano i titoli
574 @translationof Titles explained
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}).
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}.
591 I blocchi @code{\header} possono essere inseriti in quattro diversi punti
592 formando una gerarchia discendente di blocchi @code{\header}:
597 All'inizio del file di input, prima di tutti i blocchi @code{\book},
598 @code{\bookpart} e @code{\score}.
601 All'interno di un blocco @code{\book} ma fuori da tutti i blocchi
602 @code{\bookpart} e @code{\score} compresi in quel libro.
605 All'interno di un blocco @code{\bookpart} ma fuori da tutti i blocchi
606 @code{\score} compresi in quella parte.
609 Dopo l'espressione musicale in un blocco @code{\score}.
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:
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.
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.
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}.
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}.}
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.
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
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, la soluzione più adatta prevederebbe un blocco @code{\header}
662 all'inizio del file che specifichi il titolo del libro e il nome del compositore,
663 e dei blocchi @code{\header} in ciascun blocco @code{\score} che specifichino il
664 titolo del brano (@code{piece}) e dell'opera (@code{opus}), come in questo
667 @lilypond[papersize=a5,quote,verbatim,noragged-right]
670 composer = "J. S. Bach."
674 \new Staff \relative {
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, } |
686 \new Staff \relative {
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) |
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:
703 @lilypond[papersize=a5,quote,verbatim,noragged-right]
706 print-all-headers = ##t
709 title = "DAS WOHLTEMPERIRTE CLAVIER"
711 % Non mostrare il piè di pagina predefinito nell'ultima pagina di questo libro
714 \markup { \vspace #1 }
718 \new Staff { \clef "bass" s1 }
721 title = "PRAELUDIUM I"
723 % Non mostrare il sottotitolo in questo brano
730 \new Staff { \clef "bass" s1 }
734 subsubtitle = "A 4 VOCI"
736 % Non mostrare il sottotitolo in questo brano
744 Guida alla notazione:
745 @ref{File structure},
746 @ref{Default layout of bookpart and score titles},
747 @ref{Custom layout for titles}.
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
754 Questo esempio illustra visivamente tutte le variabili del
755 blocco @code{\header}:
757 @lilypond[papersize=a6landscape,quote,verbatim,noragged-right]
760 % I seguenti campi sono centrati
761 dedication = "Dedica"
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"
769 composer = "Compositore"
770 % I campi seguenti sono posti agli estremi opposti della stessa riga
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"
780 % I campi seguenti sono posti agli estremi opposti della stessa riga
788 % I campi seguenti sono posti agli estremi opposti della stessa riga
789 piece = "Brano 2 sulla stessa pagina"
797 % I campi seguenti sono posti agli estremi opposti della stessa riga
798 piece = "Brano 3 su una nuova pagina"
809 Il nome dello strumento sarà ripetuto su ogni pagina.
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).
817 I campi testuali non specificati in un blocco @code{\header} sono sostituiti
818 con @code{\null} in modo da non sprecare spazio.
821 Le impostazioni predefinite per @code{scoreTitleMarkup} posizionano i campi
822 @code{piece} e @code{opus} alle estremità opposte della stessa riga.
826 Per cambiare la formattazione predefinita leggere @ref{Custom layout for titles}.
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}.
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 appaiano da soli nella prima pagina,
839 mentre la musica (definita nel blocco @code{\score}) inizia nella
842 @c ho tradotto i campi liberamente per maggiore chiarezza - fb
843 @lilypond[papersize=c7landscape,verbatim,noragged-right]
846 title = "Titolo del libro"
847 subtitle = "Sottotitolo del libro"
848 copyright = "Fine della prima pagina"
851 \repeat unfold 4 { e'' e'' e'' e'' }
853 piece = "Titolo del brano"
861 Manuale di apprendimento:
862 @rlearning{Come funzionano i file di input di LilyPond},
864 Guida alla notazione:
865 @ref{Custom layout for titles},
866 @ref{File structure}.
869 @file{ly/titling-init.ly}.
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
876 Le @emph{intestazioni} e i @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}:
881 @item @code{oddHeaderMarkup}
882 @item @code{evenHeaderMarkup}
883 @item @code{oddFooterMarkup}
884 @item @code{evenFooterMarkup}
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
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
900 il campo @code{instrument} viene ripetuto al centro di ogni pagina, a
901 partire dalla seconda pagina.
904 il testo del @code{copyright} è centrato in fondo alla prima pagina.
907 lo @qq{slogan} (o firma) -- @code{tagline} -- è centrato in fondo
908 all'ultima pagina o sotto il campo del @code{copyright} se c'è
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.
917 @lilypond[papersize=a8landscape,verbatim]
920 tagline = "... notazione musicale per tutti"
930 Per toglierlo, impostare @code{tagline} su @code{##f}.
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
938 * Titoli personalizzati::
939 * Formattazione personalizzata dei titoli::
940 * Formattazione personalizzata di intestazioni e piè di pagina::
944 @node Titoli personalizzati
945 @unnumberedsubsubsec Titoli personalizzati
946 @translationof Custom text formatting for titles
948 Si possono usare i normali comandi @code{\markup} per personalizzare qualsiasi
949 intestazione, piè di pagina e titolo di un blocco @code{\header}.
951 @lilypond[quote,verbatim,noragged-right]
955 piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
956 opus = \markup { \italic "BWV 846" }
962 Guida alla notazione:
963 @ref{Formatting text}.
966 @node Formattazione personalizzata dei titoli
967 @unnumberedsubsubsec Formattazione personalizzata dei titoli
968 @translationof Custom layout for titles
970 @cindex bookTitleMarkup
971 @cindex scoreTitleMarkup
972 @funindex bookTitleMarkup
973 @funindex scoreTitleMarkup
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}:
981 @item @code{bookTitleMarkup}
982 @item @code{scoreTitleMarkup}
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}.
989 Le impostazioni predefinite di @code{scoreTitleMarkup}, definite in
990 @file{ly/titling-init.ly}, sono:
993 scoreTitleMarkup = \markup @{ \column @{
994 \on-the-fly \print-all-headers @{ \bookTitleMarkup \hspace #1 @}
996 \fromproperty #'header:piece
997 \fromproperty #'header:opus
1003 Questo pone i campi testuali @code{piece} e @code{opus} alle estremità opposte
1006 @lilypond[quote,verbatim,noragged-right]
1010 piece = "PRAELUDIUM I"
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
1020 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1024 scoreTitleMarkup = \markup {
1027 \fontsize #4 \bold \fromproperty #'header:piece
1028 \fromproperty #'header:opus
1032 \header { tagline = ##f }
1036 piece = "PRAELUDIUM I"
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 aggiungendo @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}.
1050 Per evitare ciò, è meglio mettere il campo testuale desiderato nella
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:
1056 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1060 scoreTitleMarkup = \markup {
1063 \fontsize #4 \bold \fromproperty #'header:piece
1064 \fromproperty #'header:composer
1068 \header { tagline = ##f }
1073 composer = "Christian Petzold"
1080 composer = "François Couperin"
1086 È anche possibile creare un campo testuale personalizzato e fare riferimento
1087 ad esso nella definizione di markup.
1089 @lilypond[papersize=a5,quote,verbatim,noragged-right]
1093 scoreTitleMarkup = \markup {
1096 \override #`(direction . ,UP) {
1098 \center-align \fontsize #-1 \bold
1099 \fromproperty #'header:mycustomtext %% Campo definito dall'utente
1100 \center-align \fontsize #4 \bold
1101 \fromproperty #'header:piece
1104 \fromproperty #'header:opus
1108 \header { tagline = ##f }
1113 mycustomtext = "A 4 VOCI" %% Campo definito dall'utente
1121 Guida alla notazione:
1122 @ref{Titles explained}.
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
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}:
1136 @item @code{oddHeaderMarkup}
1137 @item @code{evenHeaderMarkup}
1138 @item @code{oddFooterMarkup}
1139 @item @code{evenFooterMarkup}
1142 @cindex markup condizionale
1143 @cindex testo condizionale
1145 @funindex \on-the-fly
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
1153 variabile = \markup @{
1155 \on-the-fly \@var{procedura} @var{testo}
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.
1165 Sono disponibili varie procedure pronte per verificare varie condizioni:
1168 @multitable {print-page-number-check-first-----} {should this page be printed-----}
1170 @headitem Nome della procedura @tab Condizione verificata
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?
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}:
1193 @lilypond[papersize=a8,quote,verbatim,noragged-right]
1196 print-page-number = ##t
1197 print-first-page-number = ##t
1198 oddHeaderMarkup = \markup \null
1199 evenHeaderMarkup = \markup \null
1200 oddFooterMarkup = \markup {
1202 \on-the-fly \print-page-number-check-first
1203 \fromproperty #'page:page-number-string
1206 evenFooterMarkup = \oddFooterMarkup
1209 \new Staff { s1 \break s1 \break s1 }
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
1219 \on-the-fly \first-page
1220 \on-the-fly \last-page
1221 @code{@{ \markup @dots{} \fromproperty #'header: @dots{} @}}
1224 verificano se l'output è una pagina singola.
1227 Guida alla notazione:
1228 @ref{Titles explained},
1229 @ref{Default layout of bookpart and score titles}.
1232 @file{../ly/titling-init.ly}.
1234 @node Creazione di metadati PDF
1235 @subsection Creazione di metadati PDF
1236 @translationof Creating PDF metadata
1238 @cindex PDF metadata
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 documento PDF.
1248 title = "Sinfonia I"
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
1258 title = "Sinfonia I"
1259 pdftitle = "Sinfonia I di Beethoven"
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.
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.
1276 @node Creazione di note a piè di pagina
1277 @subsection Creazione di note a piè di pagina
1278 @translationof Creating footnotes
1280 @cindex note a piè di pagina
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.
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
1292 * Note a piè di pagina nelle espressioni musicali::
1293 * Note a piè di pagina nel testo separato::
1296 @node Note a piè di pagina nelle espressioni musicali
1297 @unnumberedsubsubsec Note a piè di pagina nelle espressioni musicali
1298 @translationof Footnotes in music expressions
1300 @cindex note a piè di pagina nelle espressioni musicali
1303 @subsubsubheading Panoramica sulle note a piè di pagina attaccate alla musica
1305 Le note a piè di pagina nelle espressioni musicali appartengono a
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 portamento e le travature manuali). La forma generale per le note a piè di
1314 pagina basate su un evento è la seguente:
1317 [@var{direzione}] \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
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.
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. La forma generale per le note a piè di pagina basate sul
1333 tempo è la seguente:
1336 \footnote [@var{segno}] @var{offset} @var{nota} [@var{Contesto}].@var{NomeGrob}
1341 Gli elementi di entrambe le forme sono:
1346 se (e solo se) @code{\footnote} viene applicato a un post-evento o a una
1347 articolazione, deve essere preceduto da un indicatore di direzione
1348 (@code{-, _, ^}) per poter collegare la @var{musica} (col segno della
1349 nota a piè di pagina) alla nota o pausa precedenti.
1352 è del testo -- racchiuso tra virgolette o in un blocco @code{\markup} -- che
1353 specifica il segno della nota usata per contrassegnare sia il punto di
1354 riferimento che la nota stessa in fondo alla pagina. Può essere omesso
1355 (o sostituito con @code{\default}), nel qual caso sarà generato automaticamente
1356 un numero in sequenza. Tali sequenze numeriche ricominciano su ogni pagina
1357 contenente una nota.
1360 è una coppia di numeri come @samp{#(2 . 1)} che specificano la distanza
1361 orizzontale e verticale (X e Y@tie{}offset), in unità di spazio rigo, dal
1362 bordo dell'oggetto in cui il segno deve essere posizionato. Valori positivi
1363 degli offset vengono presi dal bordo in alto a destra, valori negativi
1364 dal bordo in basso a sinistra e lo zero significa che il segno è centrato
1368 è il contesto in cui è creato il grob a cui è collegata la nota. Può essere
1369 omesso se il grob si trova in un contesto più basso, per esempio un
1370 contesto @code{Voice}.
1373 indica un tipo di grob a cui assegnare la nota (come @samp{Flag}). Se viene
1374 specificato, la nota a piè di pagina non è collegata a un'espressione musicale
1375 in particolare, bensì a tutti i grob di quel tipo che si trovano in quel
1376 momento del tempo musicale.
1379 è il testo -- racchiuso tra virgolette o in un blocco @code{\markup} -- che
1380 contiene il testo da usare per la nota a piè di pagina.
1383 è l'evento musicale o il post-evento o articolazione a cui viene collegata
1388 @subsubsubheading Note a piè di pagina basate su un evento
1390 @cindex note a piè di pagina basate su un evento
1392 Una nota a piè di pagina può essere collegata a un oggetto della formattazione
1393 direttamente causato dall'evento corrispondente a @var{musica} con la sintassi:
1396 \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
1399 @lilypond[quote,verbatim,papersize=a8landscape]
1401 \header { tagline = ##f }
1403 \footnote #'(-1 . 3) "Una nota" a4
1405 \footnote #'(2 . 2) "Una pausa" r4
1411 Contrassegnare un @emph{intero} accordo con una nota a piè di pagina basata
1412 su un evento non è possibile: infatti un accordo, perfino uno che contenga
1413 una sola nota, non produce un vero evento specifico. Tuttavia possono essere
1414 contrassegnate singole note @emph{dentro} l'accordo:
1416 @lilypond[quote,verbatim,papersize=a8landscape]
1418 \header { tagline = ##f }
1420 \footnote #'(2 . 3) "Non funziona" <a-3>2
1421 <\footnote #'(-2 . -3) "Funziona" a-3>4
1422 <a-3 \footnote #'(3 . 1/2) "Anche questo funziona" c-5>4
1427 Se la nota deve essere attaccata a un post-evento o un'articolazione
1428 il comando @code{\footnote} @emph{deve} essere preceduto da un indicatore
1429 di direzione, @code{-, _, ^}, e seguito dal post-evento o dall'articolazione
1430 che si desidera commentare nell'argomento @var{musica}. In questa forma
1431 @code{\footnote} può essere considerato semplicemente una copia del
1432 suo ultimo argomento con un segno di nota a piè di pagina collegato a
1433 esso. La sintassi è:
1436 @var{direzione} \footnote [@var{segno}] @var{offset} @var{nota} @var{musica}
1439 @lilypond[quote,verbatim,papersize=a8landscape]
1441 \header { tagline = ##f }
1443 a'4_\footnote #'(0 . -1) "Una legatura di portamento forzata in giù" (
1444 b8^\footnote #'(1 . 0.5) "Una travatura manuale forzata in su" [
1447 c-\footnote #'(1 . 1) "Tenuto" --
1452 @subsubsubheading Note a piè di pagina basate sul tempo
1454 @cindex note a piè di pagina basate sul tempo
1456 Se l'oggetto della formattazione a cui attaccare la nota è @emph{indirettamente}
1457 causato da un evento -- come un @code{Accidental} (alterazione) o @code{Stem}
1458 (gambo) causati da un evento @code{NoteHead} (testa di nota), è necessario
1459 specificare il @var{NomeGrob} dell'oggetto di formattazione al posto di
1460 @var{musica} dopo il testo della nota:
1462 @lilypond[quote,verbatim,papersize=a8landscape]
1464 \header { tagline = ##f }
1466 \footnote #'(-1 . -3) "Un bemolle" Accidental
1468 \footnote #'(-1 . 0.5) "Un altro bemolle" Accidental
1470 \footnote #'(1 . -2) "Un gambo" Stem
1476 Tuttavia nota che, quando si specifica un NomeGrob, una nota a piè di
1477 pagina sarà attaccata a tutti i grob di quel tipo che si trovano in
1478 quel momento musicale:
1480 @lilypond[quote,verbatim,papersize=a8landscape]
1482 \header { tagline = ##f }
1484 \footnote #'(-1 . 3) "Un bemolle" Accidental
1486 \footnote #'(2 . 0.5) "Articolazione" Script
1492 È possibile assegnare a una nota di un accordo una singola nota a
1493 piè di pagina (basata su un evento). @samp{NoteHead} è l'unico grob
1494 causato direttamente dalla nota di un accordo, dunque una nota a piè
1495 di pagina basata su un evento è adatta @emph{soltanto} ad aggiungere
1496 una nota a piè di pagina al @samp{NoteHead} all'interno di un accordo.
1497 Tutti gli altri grob delle note di un accordo sono causati indirettamente.
1498 Il comando @code{\footnote} non ha una sintassi per specificare @emph{sia}
1499 un particolare tipo di grob @emph{sia} un particolare evento a cui collegare
1500 la nota. Tuttavia si può usare un comando @code{\footnote} basato sul tempo
1501 per specificare il tipo di grob e poi precedere tale comando con @code{\single}
1502 perché venga applicato soltanto all'evento che segue:
1504 @lilypond[quote,verbatim,papersize=a8landscape]
1506 \header { tagline = ##f }
1508 < \footnote #'(1 . -2) "An A" a
1509 \single \footnote #'(-1 . -1) "Un diesis" Accidental
1511 \single \footnote #'(0.5 . 0.5) "Un bemolle" Accidental
1518 @warning {Quando le note a piè di pagina sono collegate a diversi elementi
1519 musicali nello stesso momento musicale, come nell'esempio precedente, le note
1520 sono numerate dall'elemento più alto a quello più in basso come questi
1521 appaiono nell'output e non nell'ordine in cui sono inseriti nell'input.}
1523 Gli oggetti della formattazione come le chiavi e i cambi di armatura di chiave
1524 sono causati principalmente da proprietà modificate piuttosto che da veri
1525 eventi. Per questo motivo le note su tali oggetti devono essere basate sul loro
1526 tempo musicale. Le note a piè di pagina basate sul tempo sono da preferire anche
1527 quando si vogliono contrassegnare elementi come i gambi e le travature in un
1528 @emph{accordo}: sebbene tali elementi dell'accordo siano nominalmente assegnati
1529 a @emph{un} evento all'interno dell'accordo, affidarsi a una scelta particolare
1532 L'oggetto della formattazione in questione deve essere sempre specificato
1533 esplicitamente nelle note a piè di pagina basate sul tempo, e il contesto
1534 appropriato deve essere indicato se il grob viene creato in un contesto
1535 diverso da quello più basso.
1537 @lilypond[quote,verbatim,papersize=a8landscape]
1539 \header { tagline = ##f }
1542 \footnote #'(-0.5 . -1) "Cambio di tempo" Staff.TimeSignature
1544 \footnote #'(1 . -1) "Gambo dell'accordo" Stem
1546 \footnote #'(-0.5 . 1) "Stanghetta" Staff.BarLine
1548 \footnote #'(0.5 . -1) "Cambio di armatura" Staff.KeySignature
1555 Si possono usare segni personalizzati in alternativa a quelli numerici, e
1556 si può sopprimere la linea che collega l'oggetto commentato al segno:
1558 @lilypond[quote,verbatim,papersize=a8landscape]
1560 \header { tagline = ##f }
1562 \footnote "*" #'(0.5 . -2) \markup { \italic "* La prima nota" } a'4
1564 \footnote \markup { \super "$" } #'(0.5 . 1)
1565 \markup { \super "$" \italic " La seconda nota" } e
1567 \once \override Score.FootnoteItem.annotation-line = ##f
1568 b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
1569 \markup { \super "+" \italic " Editoriale" } \p
1574 Altri esempi di segni personalizzati si trovano in
1575 @ref{Footnotes in stand-alone text}.
1578 @node Note a piè di pagina nel testo separato
1579 @unnumberedsubsubsec Note a piè di pagina nel testo separato
1580 @translationof Footnotes in stand-alone text
1582 @cindex note a piè di pagina nel testo separato
1584 Vengono usate all'interno di blocchi @code{\markup} che si trovano
1585 fuori dalle espressioni musicali. Non hanno una linea che le unisce al
1586 loro punto di riferimento: i loro segni seguono semplicemente il
1587 testo citato. I segni possono essere inseriti automaticamente, nel
1588 qual caso sono numerici; altrimenti è possibile inserire manualmente
1589 dei segni personalizzati.
1591 Le note a piè di pagina su testo separato vengono create in modo diverso
1592 a seconda che si scelgano segni automatici oppure segni personalizzati.
1594 @subsubsubheading Note a piè di pagina nel testo separato con segni automatici
1596 La sintassi di una nota a piè di pagina nel testo separato con segni
1600 \markup @{ @dots{} \auto-footnote @var{testo} @var{nota} @dots{} @}
1608 è il testo -- racchiuso tra virgolette doppie o in un blocco markup -- da
1612 è il testo della nota a piè di pagina.
1618 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1620 \header { tagline = ##f }
1623 \auto-footnote "canzone" \italic " Scritta da me"
1624 "è mostrata sotto. È una composizione"
1625 \auto-footnote "recente" \italic " Agosto 2012"
1634 @subsubsubheading Note a piè di pagina nel testo separato con segni personalizzati
1636 La sintassi di una nota a piè di pagina nel testo separato con segni
1640 \markup @{ @dots{} \footnote @var{segno} @var{nota} @dots{} @}
1648 è una stringa di testo o un markup che indicano il segno da usare per
1649 contrassegnare il punto di riferimento. Tale segno @emph{non} viene
1650 inserito automaticamente prima della nota stessa.
1653 è una stringa di testo o un markup che indicano il testo della nota a
1654 piè di pagina, preceduto dal @var{segno}.
1658 Qualsiasi carattere facile da scrivere, come * o +, può essere usato come+
1659 segno, come è spiegato in @ref{Footnotes in music expressions}. Altrimenti,
1660 si possono usare gli alias ASCII (vedi @ref{ASCII aliases}):
1662 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1664 \paper { #(include-special-characters) }
1665 \header { tagline = ##f }
1667 "Una semplice canzone"
1668 \footnote "*" \italic "* Scritta da me"
1669 "è mostrata sotto. È una composizione recente"
1670 \footnote \super † \concat {
1671 \super † \italic " Agosto 2012"
1681 È possibile usare anche i caratteri Unicode per indicare i segni
1682 (vedi @ref{Unicode}):
1684 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1686 \header { tagline = ##f }
1688 "Una semplice canzone"
1689 \footnote \super \char##x00a7 \concat {
1690 \super \char##x00a7 \italic " Scritta da me"
1692 "è mostrata sotto. È una composizione recente"
1693 \footnote \super \char##x00b6 \concat {
1694 \super \char##x00b6 \italic " Agosto 2012"
1705 Manuale di apprendimento:
1706 @rlearning{Oggetti e interfacce}.
1708 Guida alla notazione:
1709 @ref{ASCII aliases},
1711 @ref{List of special characters},
1716 Guida al funzionamento interno:
1717 @rinternals{FootnoteEvent},
1718 @rinternals{FootnoteItem},
1719 @rinternals{FootnoteSpanner},
1720 @rinternals{Footnote_engraver}.
1723 Varie note a piè di pagina sulla stessa pagina possono essere messe
1724 soltanto una dopo l'altra; non è possibile disporle sulla stessa
1727 Le note a piè di pagina non possono essere collegate a @code{MultiMeasureRests},
1728 a travature automatiche o a testo vocale.
1730 I segni delle note a piè di pagina potrebbero entrare in collisione con
1731 righi, oggetti @code{\markup}, altri segni e linee delle note a piè di
1735 @node Riferimento ai numeri di pagina
1736 @subsection Riferimento ai numeri di pagina
1737 @translationof Reference to page numbers
1739 È possibile contrassegnare un punto specifico di una partitura usando il
1740 comando @code{\label} (etichetta) nel livello superiore o all'interno della
1741 musica. Questa etichetta può quindi essere citata all'interno di un blocco
1742 markup, per ottenere il numero di pagina in cui è stato inserito il punto
1743 contrassegnato, tramite il comando markup @code{\page-ref}.
1745 @lilypond[verbatim,papersize=a8landscape]
1746 \header { tagline = ##f }
1752 \pageBreak \mark A \label #'segnoA
1756 \markup { Il primo brano inizia a pagina \page-ref #'primoBrano "0" "?" }
1757 \markup { Il segno A è a pagina \page-ref #'segnoA "0" "?" }
1761 Il comando markup @code{\page-ref} prende tre argomenti:
1763 @item l'etichetta -- un simbolo scheme -- per esempio @code{#'primoBrano};
1764 @item un testo markup da usare come misura di riferimento per stimare le
1765 dimensioni del testo;
1766 @item un testo markup che verrà usato al posto del numero di pagina se l'etichetta
1770 Il motivo per cui è necessario una misura di riferimento è che, nel momento in
1771 cui vengono interpretati i testi (markup), le interruzioni di pagina non sono
1772 state decise, quindi i numeri di pagina non sono ancora noti. Per aggirare il
1773 problema, la vera interpretazione del testo viene rimandata a un momento
1774 successivo; tuttavia le dimensioni del testo devono essere conosciute prima,
1775 ecco perché serve una misura di riferimento per decidere tali dimensioni. Se il
1776 libro ha un numero di pagine compreso tra 10 e 99, tale misura sarà "00", ovvero
1777 un numero di due cifre.
1790 @translationof Table of contents
1792 L'indice si include col comando @code{\markuplist \table-of-contents}.
1793 Gli elementi che devono apparire nell'indice si inseriscono col comando
1794 @code{\tocItem}, che può essere usato nel livello superiore o all'interno
1795 di un'espressione musicale.
1798 \markuplist \table-of-contents
1801 \tocItem \markup "Primo brano"
1805 \tocItem \markup "Un punto preciso nel primo brano"
1810 \tocItem \markup "Secondo brano"
1818 I testi markup usati per formattare l'indice sono definiti nel blocco
1819 @code{\paper}. Ce ne sono due predefiniti:
1824 @code{tocTitleMarkup}
1827 Usato per formattare il titolo dell'indice.
1830 tocTitleMarkup = \markup \huge \column {
1831 \fill-line { \null "Indice" \null }
1837 @code{tocItemMarkup}
1840 Usato per formattare gli elementi dell'indice.
1843 tocItemMarkup = \markup \fill-line {
1844 \fromproperty #'toc:text \fromproperty #'toc:page
1851 Queste variabili possono essere entrambe modificate.
1853 Ecco un esempio che mostra come cambiare il titolo dell'indice in francese:
1857 tocTitleMarkup = \markup \huge \column {
1858 \fill-line { \null "Table des matières" \null }
1864 Ecco un esempio che mostra come cambiare il corpo dei caratteri nell'indice:
1868 tocItemMarkup = \markup \large \fill-line {
1869 \fromproperty #'toc:text \fromproperty #'toc:page
1874 Nota il modo in cui sono citati il testo e il numero di pagina dell'elemento
1875 dell'indice nella definizione di @code{tocItemMarkup}.
1877 Includendo il comando @code{\tocItemWithDotsMarkup} dentro @code{tocItemMarkup}
1878 lo spazio tra un elemento dell'indice e la sua pagina corrispondente sarà
1879 riempito con dei punti:
1881 @lilypond[verbatim,line-width=10.0\cm]
1882 \header { tagline = ##f }
1884 tocItemMarkup = \tocItemWithDotsMarkup
1888 \markuplist \table-of-contents
1889 \tocItem \markup { Allegro }
1890 \tocItem \markup { Largo }
1895 Si possono anche definire comandi personalizzati con markup specifici per
1896 creare un indice più complesso. Nell'esempio seguente, viene definito un
1897 nuovo stile per inserire i nomi degli atti nell'indice di un'opera.
1900 Una nuova variabile di markup (chiamata @code{tocActMarkup}) viene definita
1901 nel blocco @code{\paper}:
1905 tocActMarkup = \markup \large \column {
1907 \fill-line { \null \italic \fromproperty #'toc:text \null }
1914 Viene quindi aggiunta una funzione musicale personalizzata (@code{tocAct}),
1915 che usa la nuova definizione di markup @code{tocActMarkup}:
1919 #(define-music-function (text) (markup?)
1920 (add-toc-item! 'tocActMarkup text))
1924 Un file di input di LilyPond, che usi queste definizioni personalizzate,
1925 potrebbe avere il seguente output:
1927 @lilypond[line-width=10.0\cm]
1928 \header { tagline = ##f }
1930 tocActMarkup = \markup \large \column {
1932 \fill-line { \null \italic \fromproperty #'toc:text \null }
1938 #(define-music-function (text) (markup?)
1939 (add-toc-item! 'tocActMarkup text))
1942 \markuplist \table-of-contents
1943 \tocAct \markup { Atto Primo }
1944 \tocItem \markup { Coro. Viva il nostro Alcide }
1945 \tocItem \markup { Cesare. Presti omai l'Egizia terra }
1946 \tocAct \markup { Atto Secondo }
1947 \tocItem \markup { Sinfonia }
1948 \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1953 Ecco un esempio del comando @code{\fill-with-pattern} usato nel contesto di
1958 tocItemMarkup = \markup { \fill-line {
1959 \override #'(line-width . 70)
1960 \fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
1968 @file{ly/toc-init.ly}.
1971 @funindex \table-of-contents
1972 @code{\table-of-contents},
1978 @node Lavorare coi file di input
1979 @section Lavorare coi file di input
1980 @translationof Working with input files
1983 * Inclusione di file LilyPond::
1984 * Edizioni diverse da un unico sorgente::
1985 * Caratteri speciali::
1989 @node Inclusione di file LilyPond
1990 @subsection Inclusione di file LilyPond
1991 @translationof Including LilyPond files
1994 @cindex inclusione di file
1996 Se un progetto è grande e complesso, conviene suddividerlo in file separati.
1997 Per citare un altro file si usa
2000 \include "altrofile.ly"
2003 La riga @code{\include "altrofile.ly"} equivale a incollare i contenuti
2004 di @file{altrofile.ly} nel file corrente nel punto in cui appare il
2005 comando @code{\include}. Per esempio, in un progetto complesso si
2006 possono scrivere file separati per ogni parte strumentale e creare
2007 un file per l'@qq{intera partitura} che raccoglie i file dei singoli
2008 strumenti. Di norma il file incluso definisce una serie di variabili
2009 che poi diventano disponibili nel file della partitura completa. Le
2010 sezioni contrassegnate con delle etichette nei file inclusi possono
2011 essere usate in varie parti di una partitura, vedi
2012 @ref{Different editions from one source}.
2014 I file nella directory di lavoro corrente possono essere citati indicando
2015 semplicemente il nome del file dopo il comando @code{\include}. I file in altre
2016 posizioni possono essere inclusi sia con un percorso assoluto che con un
2017 percorso relativo (ma come separatore delle directory occorre usare la barra, o
2018 slash, come in UNIX, piuttosto che la barra inversa, o backslash, come in
2019 DOS/Windows). Per esempio, se @file{cose.ly} si trova una directory prima
2020 della directory di lavoro corrente, usare
2023 \include "../cose.ly"
2027 oppure se le parti orchestrali incluse si trovano tutte in una
2028 sottodirectory chiamata @file{parti} all'interno della directory
2032 \include "parti/VI.ly"
2033 \include "parti/VII.ly"
2037 I file che devono essere inclusi possono contenere essi stessi delle
2038 dichiarazioni @code{\include}. Per impostazione predefinita, queste
2039 dichiarazioni @code{\include} di secondo livello non sono interpretate
2040 finché non vengono portate nel file principale, dunque i nomi dei file
2041 che specificano devono essere tutti relativi alla directory del file
2042 principale, non alla directory del file incluso. Tuttavia tale comportamento
2043 può essere cambiato globalmente tramite l'opzione @option{-drelative-includes}
2044 da linea di comando (oppure agggiungendo @code{#(ly:set-option 'relative-includes #t)}
2045 in cima al file di input principale).
2047 Quando @code{relative-includes} viene impostato su @code{#t}, il percorso di
2048 ogni comando @code{\include} sarà considerato relativo al file che contiene
2049 quel comando. Questo comportamento è raccomandato e diventerà il comportamento
2050 predefinito in una versione futura di lilypond.
2052 È possibile includere sia file relativi alla directory principale sia file
2053 relativi a qualche altra directory impostando @code{relative-includes} su
2054 @code{#t} o @code{#f} nei punti giusti dei file. Per esempio, se è stata
2055 creata una libreria generale, libA, che usa altri file inclusi dal file
2056 di base di quella libreria, tali dichiarazioni @code{\include} dovranno
2057 essere precedute da @code{#(ly:set-option #relative-includes #t)} per poter
2058 essere interpretate correttamente quando riportate nel file @code{.ly}
2070 quindi il file di base, @code{libA.ly}, conterrà
2073 #(ly:set-option 'relative-includes #t)
2077 % ritorna alle impostazioni predefinite
2078 #(ly:set-option 'relative-includes #f)
2081 Qualsiasi file @file{.ly} può quindi includere l'intera libreria
2085 \include "~/libA/libA.ly"
2088 Si possono ideare strutture di file più complesse facendo dei cambi nei
2091 È possibile includere dei file anche da una directory che si trova in un
2092 percorso di ricerca specificato come opzione quando si lancia LilyPond da
2093 linea di comando. I file inclusi possono allora essere specificati
2094 usando soltanto il loro nome. Per esempio, per compilare con questo metodo
2095 il file @file{principale.ly} che include i file di una sottodirectory
2096 chiamata @file{parti}, entrare nella directory di @file{principale.ly} e
2097 eseguire questo comando
2100 lilypond --include=parti principale.ly
2103 e in principale.ly scrivere
2111 I file che devono essere inclusi in molte partiture possono essere
2112 salvati nella directory di installazione di LilyPond @file{../ly}. La
2113 posizione di questa directory dipende dal tipo di installazione (vedi
2114 @rlearning{Altre fonti di informazione}). Questi file possono quindi
2115 essere inclusi semplicemente nominandoli in una dichiarazione @code{\include}.
2116 Questo è il modo in cui sono inclusi i file che dipendono dalla lingua,
2117 come @file{english.ly}.
2119 LilyPond include un certo numero di file quando si lancia il
2120 programma. Queste inclusioni non sono evidenti all'utente, ma i
2121 file possono essere identificati eseguendo @code{lilypond --verbose} dalla
2122 linea di comando. Così si vedrà un elenco di percorsi e file che LilyPond
2123 usa, insieme a tante altre informazioni. I più importanti di questi file
2124 sono trattati in @rlearning{Altre fonti di informazione}. Tali file possono
2125 essere modificati, ma le modifiche saranno perse quando si installa una
2126 nuova versione di LilyPond.
2128 Alcuni semplici esempi d'uso di @code{\include} si trovano in
2129 @rlearning{Partiture e parti}.
2132 Manuale di apprendimento:
2133 @rlearning{Altre fonti di informazione},
2134 @rlearning{Partiture e parti}.
2137 Se a un file incluso viene assegnato un nome identico a uno dei file di
2138 installazione di LilyPond, quest'ultimo ha la precedenza.
2141 @node Edizioni diverse da un unico sorgente
2142 @subsection Edizioni diverse da un unico sorgente
2143 @translationof Different editions from one source
2145 Esistono vari metodi per generare versioni diverse di una partitura
2146 dalla stessa sorgente di musica. Le variabili sono forse le più
2147 utili per combinare lunghe sezioni musicali e/o note. Le etichette
2148 (@emph{tag}) sono più utili per selezionare una sezione da varie
2149 sezioni brevi alternative e possono essere usate anche per unire
2150 insieme dei brani in punti diversi.
2152 Qualsiasi metodo venga usato, la separazione delle note dalla struttura
2153 della partitura permetterà di cambiare la struttura lasciando le note
2157 * Uso delle variabili::
2158 * Uso delle etichette::
2159 * Impostazioni globali::
2162 @node Uso delle variabili
2163 @unnumberedsubsubsec Uso delle variabili
2164 @translationof Using variables
2166 @cindex variabili, uso delle
2168 Se le sezioni musicali sono definite in variabili, possono essere
2169 riutilizzate in varie parti della partitura, come è stato spiegato
2170 in @rlearning{Organizzare i brani con le variabili}. Per esempio, una
2171 partitura vocale @notation{a cappella} spesso comprende, ai fini delle
2172 prove, una riduzione per pianoforte delle parti, identiche alla musica
2173 vocale, dunque la musica deve essere inserita una volta sola. La musica
2174 definita in due variabili può essere combinata in un rigo, come è
2175 spiegato in @ref{Automatic part combining}. Ecco un esempio:
2177 @lilypond[verbatim,quote]
2178 sopranoMusic = \relative { a'4 b c b8( a) }
2179 altoMusic = \relative { e'4 e e f }
2180 tenorMusic = \relative { c'4 b e d8( c) }
2181 bassMusic = \relative { a4 gis a d, }
2182 allLyrics = \lyricmode { King of glo -- ry }
2184 \new Staff = "Soprano" \sopranoMusic
2185 \new Lyrics \allLyrics
2186 \new Staff = "Alto" \altoMusic
2187 \new Lyrics \allLyrics
2188 \new Staff = "Tenore" {
2192 \new Lyrics \allLyrics
2193 \new Staff = "Basso" {
2197 \new Lyrics \allLyrics
2199 \new Staff = "Destra" {
2204 \new Staff = "Sinistra" {
2214 Partiture separate che mostrino soltanto le parti vocali o soltanto
2215 quelle per pianoforte possono essere prodotte semplicemente cambiando
2216 le dichiarazioni della struttura, lasciando la notazione musicale
2219 Nel caso di partiture lunghe, conviene mettere le definizioni delle
2220 variabili in file separati da includere, vedi
2221 @ref{Including LilyPond files}.
2223 @node Uso delle etichette
2224 @unnumberedsubsubsec Uso delle etichette
2225 @translationof Using tags
2228 @funindex \keepWithTag
2229 @funindex \removeWithTag
2232 @cindex tenere la musica etichettata
2233 @cindex togliere la musica etichettata
2235 Il comando @code{\tag #'@var{parteA}} contrassegna un'espressione
2236 musicale col nome @var{parteA}.
2237 Le espressioni contrassegnate in questo modo possono essere incluse o
2238 rimosse in base al loro nome successivamente, usando
2239 @code{\keepWithTag #'@var{nome}} oppure
2240 @code{\removeWithTag #'@var{nome}}. Il risultato dell'applicazione di
2241 questi filtri alla musica etichettata è il seguente:
2242 @multitable @columnfractions .5 .5
2246 Musica etichettata preceduta da @code{\keepWithTag #'@var{nome}} o
2247 @code{\keepWithTag #'(@var{nome1} @var{nome2}@dots{})}
2248 @tab Viene inclusa la musica non etichettata e quella etichettata con
2249 uno dei nomi specificati; la musica etichettata con un nome
2250 etichetta diverso viene esclusa.
2252 Musica etichettata preceduta da @code{\removeWithTag #'@var{nome}} o
2253 @code{\removeWithTag #'(@var{nome1} @var{nome2}@dots{})}
2254 @tab Viene inclusa la musica non etichettata e quella non etichettata con
2255 uno dei nomi specificati; la musica etichettata con uno dei nomi
2256 specificati viene esclusa.
2258 Musica etichettata non preceduta da @code{\keepWithTag} o
2259 @code{\removeWithTag}
2260 @tab Viene inclusa tutta la musica etichettata e non etichettata.
2263 Gli argomenti dei comandi @code{\tag}, @code{\keepWithTag} e
2264 @code{\removeWithTag} devono essere un simbolo o una lista di
2265 simboli (come @code{#'score} o @code{#'(violinoI violinoII}),
2266 seguiti da un'espressione musicale. Se @emph{e solo se} i simboli
2267 sono identificatori LilyPond validi (solo caratteri alfabetici, nessun
2268 numero, trattino o trattino basso) che non possono essere confusi con
2269 le note, si può omettere il @code{#'} e, come scorciatoia, una lista di
2270 simboli può usare il punto come separatore: quindi
2271 @code{\tag #'(violinoI violinoII)} può essere riscritto come
2272 @code{\tag violinoI.violinoII}. Lo stesso vale per
2273 @code{\keepWithTag} e @code{\removeWithTag}.
2275 Nell'esempio seguente, vediamo due versioni di un brano musicale,
2276 una che mostra i trilli con la notazione abituale e l'altra con i
2277 i trilli espansi esplicitamente:
2279 @lilypond[verbatim,quote]
2280 musica = \relative {
2282 \tag #'trilli { d8.\trill }
2283 \tag #'espandi { \repeat unfold 3 { e32 d } }
2288 \keepWithTag #'trilli \musica
2291 \keepWithTag #'espandi \musica
2296 Altrimenti, talvolta è più facile escludere sezioni musicali:
2298 @lilypond[verbatim,quote]
2299 musica = \relative {
2301 \tag #'trilli { d8.\trill }
2302 \tag #'espandi {\repeat unfold 3 { e32 d } }
2307 \removeWithTag #'espandi
2311 \removeWithTag #'trilli
2316 Il filtro delle etichette può essere applicato a articolazioni, testo, etc.
2320 -\tag #'@var{tua-etichetta}
2323 prima di un'articolazione. L'esempio seguente definisce una nota
2324 con un'indicazione di diteggiatura condizionale e una nota con un
2325 commento condizionale:
2329 c1-\tag #'attenzione ^"Fai attenzione!"
2332 Varie etichette possono essere associate a delle espressioni tramite molteplici
2333 @code{\tag}, o unendo molteplici etichette in una lista di simboli:
2335 @lilypond[quote,verbatim]
2336 musica = \relative c'' {
2337 \tag #'a \tag #'entrambi { a4 a a a }
2338 \tag #'(b entrambi) { b4 b b b }
2341 \keepWithTag #'a \musica
2342 \keepWithTag #'b \musica
2343 \keepWithTag #'entrambi \musica
2347 Si possono applicare molteplici filtri @code{\removeWithTag} a una singola
2348 espressione musicale per togliere varie sezioni etichettate con nomi
2349 diversi. Altrimenti si può usare un solo @code{\removeWithTag} seguito da
2350 una lista di etichette.
2352 @lilypond[verbatim,quote]
2353 musica = \relative c'' {
2354 \tag #'A { a4 a a a }
2355 \tag #'B { b4 b b b }
2356 \tag #'C { c4 c c c }
2357 \tag #'D { d4 d d d }
2363 \removeWithTag #'(B C)
2368 Applicando due o più filtri @code{\keepWithTag} su una singola espressione
2369 musicale toglieranno @emph{tutte} le sezioni etichettate. Il primo filtro
2370 toglie tutto tranne la sezione menzionata e qualsiasi filtro successivo toglie
2371 il resto. Usando un singolo comando @code{\keepWithTag} con una lista di
2372 varie etichette vengono rimosse soltanto le sezioni etichettate non specificate
2375 @lilypond[verbatim,quote]
2376 music = \relative c'' {
2377 \tag #'violinoI { a4 a a a }
2378 \tag #'violinoII { b4 b b b }
2379 \tag #'viola { c4 c c c }
2380 \tag #'cello { d4 d d d }
2384 \keepWithTag #'(violinI violinII)
2390 farà apparire le etichette @var{violinoI} e @var{violinoII} ma non
2391 @var{viola} o @var{cello}.
2393 @cindex etichette, gruppi di
2395 Mentre @code{\keepWithTag} è comodo con @emph{un} gruppo di alternative, la
2396 rimozione di musica contrassegnata con etichette @emph{indipendenti} è
2397 problematico se si usano le etichette con diverse finalità. In questo
2398 caso, è possibile dichiarare @q{gruppi} di etichette:
2401 \tagGroup #'(violinoI violinoII viola cello)
2404 dichiara che queste etichette appartengono a un gruppo.
2407 \keepWithTag #'violinoI @dots{}
2411 ora mostrerà soltanto la musica contrassegnata con le etichette presenti nel
2412 gruppo cui appartiene @code{violinoI} e verrà tolta la musica contrassegnata
2413 con una delle @emph{altre} etichette.
2415 @lilypond[verbatim,quote]
2417 \tagGroup #'(violinoI violinoII viola cello)
2418 \tag #'violinoI { c''4^"violinI" c c c }
2419 \tag #'violinoII { a2 a }
2420 \tag #'viola { e8 e e2. }
2421 \tag #'cello { d'2 d4 d }
2422 R1^"non contrassegnato"
2426 \keepWithTag #'violinoI
2431 Quando si usa il comando @code{\keepWithTag}, sono visibili solo le etichette
2432 provenienti dai gruppi cui appartengono le etichette specificate dopo il comando.
2435 @funindex \pushToTag
2436 @funindex \appendToTag
2437 @cindex combinare musica contrassegnata con etichette
2439 Talvolta si ha necessità di combinare insieme della musica in un punto preciso
2440 di un'espressione musicale esistente. @code{\pushToTag} e @code{\appendToTag}
2441 permettono di aggiungere materiale prima o dopo gli elementi di un costrutto
2442 musicale esistente. Non tutti i costrutti musicali hanno elementi, ma nel caso
2443 di musica sequenziale e simultanea si può esserne sicuri:
2445 @lilypond[verbatim,quote]
2446 music = { \tag #'qui { \tag #'qui <<c''>> } }
2451 \pushToTag #'qui g' \music
2452 \appendToTag #'qui c'
2453 \appendToTag #'qui e'
2454 \appendToTag #'qui g' \music
2458 Entrambi i comandi prendono tre argomenti: un'etichetta, il materiale da
2459 combinare ad ogni occorenza dell'etichetta e l'espressione contrassegnata.
2462 Manuale di apprendimento:
2463 @rlearning{Organizzare i brani con le variabili}.
2465 Guida alla notazione:
2466 @ref{Automatic part combining},
2467 @ref{Including LilyPond files}.
2470 Se si usa @code{\relative} prima di un'espressione musicale ottenuta
2471 filtrando la musica con @code{\keepWithTag} o @code{\removeWithTag},
2472 i rapporti di ottava potrebbero cambiare, perché verranno considerate
2473 solo le altezze rimaste nell'espressione filtrata. Per evitare questo
2474 rischio, usare @code{\relative} prima di @code{\keepWithTag} o
2475 @code{\removeWithTag}, in modo che @code{\relative} agisca su tutte
2476 le altezze prima del filtro.
2479 @node Impostazioni globali
2480 @unnumberedsubsubsec Impostazioni globali
2481 @translationof Using global settings
2483 @cindex include-settings
2485 È possibile includere impostazioni globali da un altro file:
2488 lilypond -dinclude-settings=MIE_IMPOSTAZIONI.ly MIA_PARTITURA.ly
2491 Gruppi di impostazioni come dimensioni del foglio e tipo di carattere
2492 possono essere salvati in file separati. Ciò permette di ottenere diverse
2493 edizioni dalla stessa partitura o di applicare delle impostazioni
2494 tipiche a molte partiture, semplicemente indicando il relativo file
2497 Questa tecnica è la stessa usata per i fogli di stile, trattati
2498 in @rlearning{Fogli di stile}.
2501 Manuale di apprendimento:
2502 @rlearning{Organizzare i brani con le variabili},
2503 @rlearning{Fogli di stile}.
2505 Guida alla notazione:
2506 @ref{Including LilyPond files}.
2509 @node Caratteri speciali
2510 @subsection Caratteri speciali
2511 @translationof Special characters
2513 @cindex caratteri speciali
2514 @cindex caratteri non-ASCII
2517 * Codifica del testo::
2523 @node Codifica del testo
2524 @unnumberedsubsubsec Codifica del testo
2525 @translationof Text encoding
2529 LilyPond usa il repertorio di caratteri definito dall'Unicode Consortium
2530 e dalla ISO/IEC 10646. Questo sistema di codifica definisce un nome
2531 e un numero univoci per gli insiemi di caratteri utilizzati in tutte
2532 le lingue moderne e anche in molte altre. Unicode può essere implementato
2533 in varie codifiche diverse. LilyPond usa la codifica UTF-8 (UTF sta
2534 per Unicode Transformation Format) che rappresenta tutti i comuni
2535 caratteri latini con un byte, e gli altri caratteri con un formato di
2536 lunghezza variabile fino a quattro byte.
2538 L'aspetto grafico dei caratteri è determinato dai glifi definiti
2539 nei tipi di carattere disponibili - un tipo di carattere definisce
2540 la mappatura tra un sottoinsieme dei numeri Unicode e i glifi.
2541 LilyPond usa la libreria Pango per rappresentare e formattare i
2544 LilyPond non esegue alcuna conversione della codifica dell'input. Ciò
2545 significa che qualsiasi testo, sia esso un titolo, un testo vocale
2546 o un'istruzione musicale contenente caratteri non-ASCII, deve essere
2547 codificato in UTF-8. Il modo più semplice per inserire tale testo è
2548 usare un editor che sappia riconoscere la codifica Unicode e salvare
2549 il file con la codifica UTF-8. La maggior parte dei moderni editor
2550 supporta la codifica UTF-8, per esempio vim, Emacs, jEdit e Gedit.
2551 Tutti i sistemi MS Windows successivi a NT usano Unicode come codifica
2552 dei caratteri nativa, quindi perfino Notepad può modificare e salvare
2553 un file in formato UTF-8. Un'alternativa più efficiente per
2556 Se un file di input LilyPond contenente un caratter non-ASCII non viene
2557 salvato in formato UTF-8, apparirà il seguente messaggio di errore:
2560 FT_Get_Glyph_Name () error: invalid argument
2563 Ecco un esempio che mostra del testo cirillico, ebraico e portoghese:
2565 @c NOTE: No verbatim in the following example as the code does not
2566 @c display correctly in PDF Font settings for Cyrillic and Hebrew
2569 % I tipi di carattere Linux Libertine contengono i glifi cirillici e ebraici.
2573 #:roman "Linux Libertine O,serif"
2574 #:sans "Linux Biolinum O,sans-serif"
2575 #:typewriter "Linux Libertine Mono O,monospace"
2580 bulgarian = \lyricmode {
2581 Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2585 hebrew = \lyricmode {
2586 זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2590 portuguese = \lyricmode {
2591 à vo -- cê uma can -- ção legal
2597 \addlyrics { \bulgarian }
2598 \addlyrics { \hebrew }
2599 \addlyrics { \portuguese }
2604 @unnumberedsubsubsec Unicode
2608 Per inserire un singolo carattere per il quale è noto il codice Unicode ma
2609 che non è disponibile nell'editor in uso, usare @code{\char ##xhhhh} o
2610 @code{\char #dddd} dentro un blocco @code{\markup}, dove @code{hhhh} è il
2611 codice esadecimale del carattere richiesto e @code{dddd} è il valore
2612 decimale corrispondente. Gli zero iniziali possono essere omessi, ma di
2613 norma nella rappresentazione esadecimale si specificano tutti e quattro
2614 i caratteri. (Fare attenzione al fatto che la codifica UTF-8 del codice
2615 @emph{non} deve essere usata dopo @code{\char}, perché le codifiche UTF-8
2616 contengono bit extra che indicano il numero di ottetti.) Le tabelle dei
2617 codici Unicode e un indice dei nomi dei caratteri col proprio codice
2618 esadecimale sono disponibili sul sito dell'Unicode Consortium,
2619 @uref{http://www.unicode.org/}.
2621 Per esempio, @code{\char ##x03BE} e @code{\char #958} corrispondono
2622 entambi al carattere Unicode U+03BE, che ha il nome Unicode
2623 @qq{Greek Small Letter Xi}.
2625 Qualsiasi codice Unicode può essere inserito in questo modo e se tutti
2626 i caratteri speciali sono inseriti in questo formato non è necessario
2627 salvare il file di input in formato UTF-8. Ovviamente, un tipo di
2628 carattere contenente tutti questi caratteri codificati deve essere
2629 installato e disponibile per LilyPond.
2631 L'esempio seguente mostra valori esadecimali Unicode inseriti in
2632 quattro posti diversi: come numero di chiamata, come articolazione, nel
2633 testo vocale e come testo separato sotto il brano:
2635 @lilypond[quote,verbatim]
2638 c''1 \mark \markup { \char ##x03EE }
2639 c1_\markup { \tiny { \char ##x03B1 " a " \char ##x03C9 } }
2641 \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2643 \markup { "Copyright 2008--2015" \char ##x00A9 }
2646 @cindex copyright, segno
2647 @cindex diritto d'autore
2649 Per inserire il segno del copyright nell'apposito campo usare:
2653 copyright = \markup @{ \char ##x00A9 "2008" @}
2659 @unnumberedsubsubsec Alias ASCII
2660 @translationof ASCII aliases
2662 È possibile includere una lista di alias ASCII per i caratteri speciali:
2664 @lilypond[quote,verbatim]
2666 #(include-special-characters)
2669 \markup "&flqq; – &OE;uvre incomplète… &frqq;"
2672 \new Staff { \repeat unfold 9 a'4 }
2674 Fun -- ziona an -- che nel~tes -- to: –_&OE;…
2679 "La sostituzione può essere disabilitata:"
2680 "– &OE; …"
2681 \override #'(replacement-alist . ()) "– &OE; …"
2685 Si possono creare i propri alias, sia globalmente:
2687 @lilypond[quote,verbatim]
2689 #(add-text-replacements!
2690 '(("100" . "hundred")
2691 ("dpi" . "dots per inch")))
2693 \markup "A 100 dpi."
2698 @lilypond[quote,verbatim]
2699 \markup \replace #'(("100" . "hundred")
2700 ("dpi" . "dots per inch")) "A 100 dpi."
2704 Guida alla notazione:
2705 @ref{List of special characters}.
2708 @file{ly/text-replacements.ly}.
2711 @node Controllo dell'output
2712 @section Controllo dell'output
2713 @translationof Controlling output
2716 * Estrarre frammenti musicali::
2717 * Saltare la musica già corretta::
2718 * Formati di output alternativi::
2719 * Cambiare il tipo di carattere della notazione::
2722 @funindex clip-regions
2723 @cindex frammenti musicali
2725 @node Estrarre frammenti musicali
2726 @subsection Estrarre frammenti musicali
2727 @translationof Extracting fragments of music
2729 È possibile creare output separati di uno o più frammenti di una
2730 partitura definendo i punti della musica da estrarre nel blocco
2731 @code{\layout} del file di input tramite la funzione @code{clip-regions},
2732 e poi eseguendo LilyPond con l'opzione @option{-dclip-systems};
2739 (make-rhythmic-location 5 1 2)
2740 (make-rhythmic-location 7 3 4)))
2745 Questo esempio estrarrà dal file di input un unico frammento che
2746 @emph{inizia} dopo una minima nella quinta misura (@code{5 1 2}) e
2747 @emph{termina} dopo la terza semiminima nella settima misura
2750 Si possono estrarre ulteriori frammenti aggiungendo altre coppie di
2751 @code{make-rhythmic-location} alla lista @code{clip-regions} del
2752 blocco @code{\layout}.
2754 Ciascun frammento musicale verrà salvato in formato @code{EPS}, ma
2755 se necessario si possono creare anche altri formati come @code{PDF} o
2756 @code{PNG}. La musica estratta viene generata come se fosse letteralmente
2757 @q{tagliata} dalla partitura a stampa originale; ciò significa che se
2758 un frammento supera una o più linee, verrà creato un file di output
2759 separato per ciascuna linea.
2762 Guida alla notazione:
2763 @ref{The layout block}.
2766 @rprogram{Uso da linea di comando}.
2770 @node Saltare la musica già corretta
2771 @subsection Saltare la musica già corretta
2772 @translationof Skipping corrected music
2775 @funindex skipTypesetting
2776 @funindex showFirstLength
2777 @funindex showLastLength
2779 Quando si inserisce o si copia della musica, di solito è utile visualizzare
2780 e correggere soltanto la musica vicina alla fine (ovvero dove si stanno
2781 inserendo le note). Per velocizzare il processo di correzione, è possibile
2782 far sì che il compositore tipografico salti tutte le misure eccetto le
2783 ultime. Per farlo basta inserire per esempio
2786 showLastLength = R1*5
2787 \score @{ @dots{} @}
2791 nel file sorgente. In questo modo verranno elaborate soltanto le ultime
2792 5 misure (assumendo che il tempo sia 4/4) di ogni blocco @code{\score}
2793 nel file di input. Per i brani più lunghi, elaborare solo una piccola
2794 parte è spesso molto più veloce di elaborarli completamente. Se si lavora
2795 sull'inizio di un brano già scritto (per esempio per aggiungere una nuova
2796 parte), si userà invece la proprietà @code{showFirstLength}.
2799 È possibile saltare parti di una partitura in un modo più preciso tramite
2800 la proprietà @code{Score.skipTypesetting}. Quando è impostata su vero, la
2801 composizione tipografica è disattivata.
2803 Questa proprietà viene usata anche per controllare l'output da inviare al
2804 file MIDI. Attenzione: salta tutti gli eventi, inclusi i cambi di tempo e
2807 @lilypond[quote,ragged-right,verbatim]
2810 \set Score.skipTypesetting = ##t
2813 \set Score.skipTypesetting = ##f
2818 Nella musica polifonica, @code{Score.skipTypesetting} agisce su tutte le
2819 voci e su tutti i righi, facendo risparmiare tempo ulteriormente.
2821 @node Formati di output alternativi
2822 @subsection Formati di output alternativi
2823 @translationof Alternative output formats
2825 @cindex scalable vector graphics, output
2827 @cindex encapsulated postscript, output
2830 I formati di output predefiniti per la partitura stampata sono Portable
2831 Document Format (PDF) e PostScript (PS). È disponibile anche l'output
2832 nei formati Portable Network Graphics (PNG), Scalable Vector Graphics (SVG)
2833 e Encapsulated PostScript (EPS) attraverso l'opzione da linea di comando,
2834 vedi @rprogram{Opzioni di base della linea di comando per LilyPond}.
2837 @node Cambiare il tipo di carattere della notazione
2838 @subsection Cambiare il tipo di carattere della notazione
2839 @translationof Replacing the notation font
2841 Gonville è un'alternativa al tipo di carattere Feta usato da LilyPond e può
2842 essere scaricato da:
2844 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2847 Ecco alcune battute di musica che usa Gonville:
2849 @sourceimage{Gonville_after,15cm,,}
2851 E alcune battute di musica che usa Feta (il tipo di carattere predefinito di LilyPond):
2853 @sourceimage{Gonville_before,15cm,,}
2855 @subsubheading Instruzioni di installazione per MacOS
2857 Scaricare e estrarre il file zip. Copiare la directory @code{lilyfonts}
2858 in @file{@var{SHARE_DIR}/lilypond/current}; maggiori informazioni si
2859 trovano in @rlearning{Altre fonti di informazione}. Rinominare la
2860 directory esistente @code{fonts} come @code{fonts_orig} e la directory
2861 @code{lilyfonts} come @code{fonts}. Per tornare a Feta, fare il contrario.
2864 Manuale di apprendimento:
2865 @rlearning{Altre fonti di informazione}.
2868 Gonville non può essere usato per scrivere notazione in @q{musica antica}
2869 ed è probabile che i nuovi glifi introdotti in rilasci successivi di
2870 LilyPond non esistano in Gonville. Fare riferimento al sito web dell'autore
2871 per maggiori informazioni su queste e altre problematiche, inclusa la
2872 licenza di Gonville.
2875 @node Creazione dell'output MIDI
2876 @section Creazione dell'output MIDI
2877 @translationof Creating MIDI output
2882 LilyPond è in grado di produrre dei file conformi allo standard MIDI
2883 (Musical Instrument Digital Interface) e dunque permette di fare un
2884 controllo uditivo dell'output musicale (con l'aiuto di un'applicazione
2885 o un dispositivo che comprendano il MIDI). L'ascolto dell'output MIDI
2886 può aiutare anche a individuare errori, come note inserite in modo
2887 erroneo o note senza alterazioni e così via.
2889 I file MIDI non contengono audio (come i file AAC, MP3 o Vorbis), bensì
2890 richiedono un software esterno che produca il suono a partire da essi.
2893 * Notazione supportata nel MIDI::
2894 * Notazione non supportata nel MIDI::
2896 * Gestione delle dinamiche nel MIDI::
2897 * Uso degli strumenti MIDI::
2898 * Uso delle ripetizioni nel MIDI::
2899 * Mappatura dei canali MIDI::
2900 * Proprietà di contesto per gli effetti MIDI::
2901 * Miglioramento dell'output MIDI::
2904 @cindex MIDI, notazione supportata
2906 @node Notazione supportata nel MIDI
2907 @subsection Notazione supportata nel MIDI
2908 @translationof Supported notation for MIDI
2910 I seguenti elementi della notazione musicale saranno resi nell'output MIDI
2911 usando le capacità predefinite di LilyPond:
2915 @item Accordi inseriti come nomi degli accordi
2916 @item Crescendi e decrescendi su varie note. Il volume viene modificato
2917 in modo proporzionato fra i due estremi
2918 @item Segni di dinamica da @code{ppppp} a @code{fffff}, inclusi
2919 @code{mp}, @code{mf} e @code{sf}
2920 @item Microtoni ma @emph{non} gli accordi microtonali. È necessario anche
2921 un lettore MIDI che supporti la @qq{piegatura} (@emph{bending}) delle altezze.
2924 @item Ritmi inseriti come durate, inclusi i gruppi irregolari
2925 @item Articolazioni @q{semplici}; staccato, staccatissimo, accento, marcato
2927 @item Cambi di tempo tramite la funzione @code{\tempo}
2928 @item Legature di valore
2929 @item Tremoli che @emph{non} sono inseriti con un valore
2930 @q{@code{:}[@var{numero}]}
2933 Alcuni effetti, come panning, bilanciamento, espressione, riverbero e chorus, si
2934 gestiscono impostando le proprietà di contesto, vedi
2935 @ref{Context properties for MIDI effects}.
2937 Se si usa lo script @file{articulate}, anche i seguenti elementi della
2938 notazione musicale saranno presenti nell'output MIDI:
2941 @item Appoggiature. Servono a rubare metà del valore della nota che le
2942 segue (senza considerare i punti). Per esempio:
2945 \appoggiatura c8 d2.
2949 Il c avrà il valore di una semiminima.
2951 @item Ornamenti (mordenti, trilli, gruppetti, etc.)
2952 @item Rallentando, accelerando, ritardando e a tempo
2953 @item Legature di portamento, incluse le legature di frase
2958 Vedi @ref{Enhancing MIDI output}.
2960 @cindex MIDI, notazione non supportata
2962 @node Notazione non supportata nel MIDI
2963 @subsection Notazione non supportata nel MIDI
2964 @translationof Unsupported notation for MIDI
2966 I seguenti elementi della notazione musicale non possono essere trasferiti
2970 @item Articolazioni diverse da staccato, staccatissimo, accento, marcato
2972 @item Crescendi e decrescendi su una @emph{singola} nota
2974 @item Basso numerato (continuo)
2976 @item Portamenti indeterminati verso il basso e verso l'alto
2977 @item Accordi microtonali
2978 @item Ritmi inseriti come note, per esempio lo swing
2979 @item Cambi di tempo senza usare @code{\tempo} (per esempio, inseriti come note)
2980 @item Tremoli che @emph{sono} inseriti con un valore @q{@code{:}[@var{numero}]}
2984 @node Il blocco MIDI
2985 @subsection Il blocco MIDI
2986 @translationof The MIDI block
2990 Per creare un file MIDI da un file di input LilyPond, inserire un blocco
2991 @code{\midi}, che può essere vuoto, all'interno di un blocco @code{\score};
2995 @var{@dots{} musica @dots{}}
3001 @warning{ Un blocco @code{@bs{}score} che, oltre alla musica, contenga
3002 soltanto un blocco @code{@bs{}midi} (ovvero @emph{sia privo} del blocco
3003 @code{@bs{}layout}), produrrà come output soltanto file MIDI e nessun
3006 L'estensione predefinita del file di output (@code{.midi}) può essere
3007 modificata tramite l'opzione @code{-dmidi-extension} del comando
3011 lilypond -dmidi-extension=mid MyFile.ly
3014 Altrimenti, aggiungere la seguente espressione Scheme prima dell'inizio
3015 dei blocchi @code{\book}, @code{\bookpart} o @code{\score}. Vedi
3016 @ref{File structure}.
3019 #(ly:set-option 'midi-extension "mid")
3023 Guida alla notazione:
3024 @ref{File structure}.
3027 @file{scm/midi.scm}.
3030 Sono disponibili quindici canali MIDI e un canale ulteriore (#10) per
3031 le percussioni. I righi sono assegnati ai canali in sequenza: in una
3032 partitura di più di quindici righi, i righi extra condivideranno
3033 (senza sovrascriverlo) lo stesso canale MIDI. Ciò potrebbe essere un
3034 problema se i righi in questione sono impostati con proprietà MIDI in
3035 conflitto e basate sul canale, come ad esempio diversi strumenti MIDI.
3038 @node Gestione delle dinamiche nel MIDI
3039 @subsection Gestione delle dinamiche nel MIDI
3040 @translationof Controlling MIDI dynamics
3042 È possile regolare il volume MIDI complessivo, il volume relativo dei
3043 segni di dinamica e il volume relativo dei diversi strumenti.
3045 Le dinamiche vengono trasferite automaticamente sui livelli di volume nella
3046 gamma di volume MIDI disponibile, mentre crescendi e decrescendi variano
3047 il volume gradualmente tra i loro due estremi. È possibile regolare il
3048 volume relativo delle dinamiche e i livelli del volume complessivo dei
3052 * Dinamiche nel MIDI::
3053 * Impostazione del volume MIDI::
3054 * Impostazione delle proprietà del blocco MIDI::
3058 @cindex MIDI, volume
3059 @cindex equalizzazione MIDI
3060 @cindex MIDI, equalizzazione
3061 @cindex dinamiche nel MIDI
3062 @cindex MIDI, dinamiche
3064 @node Dinamiche nel MIDI
3065 @unnumberedsubsubsec Dinamiche nel MIDI
3066 @translationof Dynamic marks in MIDI
3068 Solo i segni di dinamica compresi tra @code{ppppp} e @code{fffff}, inclusi
3069 @code{mp}, @code{mf} e @code{sf} hanno dei valori assegnati. Questo valore
3070 viene poi applicato al valore della gamma del volume MIDI complessivo per
3071 ottenere il volume finale incluso nell'output MIDI per quella particolare
3072 dinamica. Le frazioni predefinite vanno da 0.25 per @notation{ppppp} a
3073 0.95 per @notation{fffff}. L'insieme completo di dinamiche e delle loro
3074 frazioni associate si trova in @file{scm/midi.scm}.
3078 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3079 {creating-custom-dynamics-in-midi-output.ly}
3082 @file{ly/script-init.ly}
3083 @file{scm/midi.scm}.
3088 Guida al funzionamento interno:
3089 @rinternals{Dynamic_performer}.
3092 @node Impostazione del volume MIDI
3093 @unnumberedsubsubsec Impostazione del volume MIDI
3094 @translationof Setting MIDI volume
3096 I valori minimo e massimo del volume complessivo delle dinamiche MIDI sono
3097 regolati dalle proprietà @code{midiMinimumVolume} e @code{midiMaximumVolume} nel
3098 livello @code{Score}. Tali proprietà hanno effetto soltanto all'inizio di
3099 una voce e sui segni di dinamica. La frazione corrispondente a ciascun
3100 segno di dinamica viene modificata con la seguente formula:
3103 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * frazione
3106 Nell'esempio seguente la gamma dinamica del volume MIDI complessivo
3107 è limitata alla gamma @code{0.2} - @code{0.5}.
3113 \set Staff.midiInstrument = #"flauto"
3114 @var{@dots{} musica @dots{}}
3117 \set Staff.midiInstrument = #"clarinetto"
3118 @var{@dots{} musica @dots{}}
3124 midiMinimumVolume = #0.2
3125 midiMaximumVolume = #0.5
3131 Una semplice equalizzazione degli strumenti MIDI si può ottenere impostando
3132 le proprietà @code{midiMinimumVolume} e @code{midiMaximumVolume} nel
3133 contesto @code{Staff}.
3138 \set Staff.midiInstrument = #"flauto"
3139 \set Staff.midiMinimumVolume = #0.7
3140 \set Staff.midiMaximumVolume = #0.9
3141 @var{@dots{} musica @dots{}}
3147 In caso di partiture con molti righi e molti strumenti MIDI, i volumi relativi
3148 di ogni strumento possono essere impostati individualmente;
3154 \set Staff.midiInstrument = #"flauto"
3155 \set Staff.midiMinimumVolume = #0.7
3156 \set Staff.midiMaximumVolume = #0.9
3157 @var{@dots{} musica @dots{}}
3160 \set Staff.midiInstrument = #"clarinetto"
3161 \set Staff.midiMinimumVolume = #0.3
3162 \set Staff.midiMaximumVolume = #0.6
3163 @var{@dots{} musica @dots{}}
3170 In questo esempio il volume del clarinetto è diminuito in modo proporzionale
3171 al volume del flauto.
3173 Se queste proprietà del volume non sono impostate, LilyPond applica comunque
3174 @qq{un po'} di equalizzazione a certi strumenti. Vedi @file{scm/midi.scm}.
3177 @file{scm/midi.scm}.
3180 Guida alla notazione:
3183 Guida al funzionamento interno:
3184 @rinternals{Dynamic_performer}.
3187 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3188 {replacing-default-midi-instrument-equalization.ly}
3191 Le modifiche al volume MIDI si verificano soltanto all'inizio di una nota, quindi
3192 i crescendi e i decrescendi non possono cambiare il volume di una singola nota.
3195 @node Impostazione delle proprietà del blocco MIDI
3196 @unnumberedsubsubsec Impostazione delle proprietà del blocco MIDI
3197 @translationof Setting MIDI block properties
3199 Il blocco @code{\midi} può contenere modifiche del contesto, nuove definizioni
3200 del contesto o codice che imposti i valori di certe proprietà.
3204 @var{@dots{} musica @dots{}}
3211 In questo esempio il tempo è impostato su 72 battiti da un quarto per minuto. Il
3212 segno di tempo nel blocco @code{\midi} non appare nella partitura, mentre qualsiasi
3213 altra indicazione di @code{\tempo} specificata nel blocco @code{\score} sarà
3214 trasferita anche nell'output MIDI.
3216 Se all'interno di un blocco @code{\midi}, il comando @code{\tempo} imposta le
3217 proprietà durante l'interpretazione della musica e nel contesto delle
3218 definizioni di output; dunque viene interpretato @emph{come se} fosse
3219 una modifica di contesto.
3221 @cindex MIDI, definizioni di contesto
3222 @cindex definizioni di contesto per il MIDI
3224 Le definizioni di contesto seguono la stessa sintassi di quelle di un
3225 blocco @code{\layout};
3229 @var{@dots{} musica @dots{}}
3233 \remove "Dynamic_performer"
3239 Questo esempio toglie l'effetto delle dinamiche dall'output MIDI. Nota bene:
3240 i moduli di traduzione di LilyPond usati per l'audio si chiamano @q{performer}.
3243 Manuale di apprendimento:
3244 @rlearning{Altre fonti di informazione}.
3246 Guida alla notazione:
3247 @ref{Expressive marks},
3251 @file{ly/performer-init.ly}.
3256 Guida al funzionamento interno:
3257 @rinternals{Dynamic_performer}.
3260 Alcuni lettori MIDI non sempre gestiscono correttamente i cambi di tempo.
3262 I cambi di @code{midiInstrument}, e di altre opzioni MIDI, all'@emph{inizio}
3263 di un rigo potrebbero apparire due volte nell'output MIDI.
3267 @node Uso degli strumenti MIDI
3268 @subsection Uso degli strumenti MIDI
3269 @translationof Using MIDI instruments
3271 Gli strumenti MIDI si impostano tramite la proprietà @code{midiInstrument} del
3272 contesto @code{Staff}.
3277 \set Staff.midiInstrument = #"glockenspiel"
3278 @var{@dots{} musica @dots{}}
3288 \new Staff \with @{midiInstrument = #"cello"@} @{
3289 @var{@dots{} musica @dots{}}
3295 Se il nome dello strumento non corrisponde a nessuno degli strumenti elencati
3296 nella sezione @q{Strumenti MIDI}, verrà usato lo strumento @code{acoustic grand}.
3297 Vedi @ref{MIDI instruments}.
3300 Manuale di apprendimento:
3301 @rlearning{Altre fonti di informazione}.
3303 Guida alla notazione:
3304 @ref{MIDI instruments},
3308 @file{scm/midi.scm}.
3311 Gli strumenti percussivi che sono scritti in un contesto @code{DrumStaff}
3312 verranno inviati, correttamente, al canale MIDI@tie{}10, ma alcuni strumenti
3313 percussivi con un tono musicale, come xilofono, marimba, vibrafono o
3314 timpano, sono trattati come strumenti @qq{normali}, quindi la musica di
3315 tali strumenti deve essere inserita in un contesto @code{Staff} (non
3316 @code{DrumStaff}) per ottenere l'output MIDI corretto. L'elenco completo
3317 delle voci del set di percussioni del canale 10 @code{channel 10 drum-kits} si
3318 trova in @file{scm/midi.scm}. Vedi @rlearning{Altre fonti di informazione}.
3321 @node Uso delle ripetizioni nel MIDI
3322 @subsection Uso delle ripetizioni nel MIDI
3323 @translationof Using repeats with MIDI
3325 @cindex repeats in MIDI
3326 @cindex MIDI using repeats
3327 @funindex \unfoldRepeats
3329 Le ripetizioni possono essere applicate all'output MIDI tramite il
3330 comando @code{\unfoldRepeats}.
3335 \repeat tremolo 8 @{ c'32 e' @}
3336 \repeat percent 2 @{ c''8 d'' @}
3337 \repeat volta 2 @{ c'4 d' e' f' @}
3347 Per limitare l'effetto di @code{\unfoldRepeats} all'output MIDI
3348 soltanto, senza modificare la partitura stampata, occorre creare
3349 @emph{due} blocchi @code{\score}; uno per il MIDI (con ripetizioni
3350 ricopiate) e uno per la partitura scritta (con ripetizioni con volta,
3351 tremolo e percentuale):
3355 @var{@dots{} musica @dots{}}
3360 @var{@dots{} musica @dots{}}
3366 Quando si usa più di una voce, ciascuna voce deve avere tutte le ripetizioni
3367 ricopiate per generare un output MIDI corretto.
3370 Guida alla notazione:
3374 @node Mappatura dei canali MIDI
3375 @subsection Mappatura dei canali MIDI
3376 @translationof MIDI channel mapping
3378 @cindex MIDI, canali
3379 @cindex MIDI, tracce
3382 @funindex midiChannelMapping
3384 Quando genera un file MIDI da una partitura, LilyPond assegna automaticamente
3385 ogni nota a un canale MIDI, in cui essa dovrà essere suonata quando inviata
3386 a un dispositivo MIDI. Un canale MIDI mette a disposizione un certo numero di
3387 controlli per selezionare, per esempio, lo strumento da usare per riprodurre
3388 le note in quel canale o per chiedere al dispositivo MIDI di applicare vari effetti
3389 al suono prodotto nel canale. In ogni momento, ogni controllo di un canale
3390 MIDI può avere un solo valore assegnato (che tuttavia può essere modificato,
3391 per esempio, per passare a un altro strumento nel mezzo di un brano).
3393 Lo standard MIDI supporta soltanto 16 canali per dispositivo MIDI. Questo
3394 limite al numero di canali limita anche il numero dei diversi strumenti che
3395 possono essere eseguiti in contemporanea.
3397 LilyPond crea tracce MIDI separate per ogni rigo (o strumento o voce separati,
3398 a seconda del valore di @code{Score.midiChannelMapping}) e anche per ogni
3400 Non c'è limite al numero di tracce.
3402 Per aggirare il limite del numero di canali MIDI, LilyPond supporta
3403 varie modalità per l'assegnazione dei canali MIDI, scelti attraverso
3404 la proprietà di contesto @code{Score.midiChannelMapping}. In ogni caso,
3405 se è necessario un numero di canali MIDI superiore al limite, i numeri canale
3406 assegnati ripartono da 0, causando possibili assegnazioni erronee degli
3407 strumenti di alcune note. Questa proprietà di contesto può essere impostata
3408 su uno dei seguenti valori:
3414 Assegna un canale MIDI separato a ogni rigo della partitura (comportamento
3415 predefinito). Tutte le note in tutte le voci di ogni rigo condivideranno
3416 lo stesso canale MIDI del rigo che le racchiude, e si trovano tutte nella
3417 stessa traccia MIDI.
3419 Il limite dei 16 canali è applicato al numero totale dei contesti staff (rigo)
3420 e lyrics (testo vocale), anche se il testo vocale nel MIDI non occupa un
3423 @item @code{'instrument}
3425 Assegna un canale MIDI separato a ogni strumento MIDI diverso
3426 specificato nella partitura. Ciò significa che tutte le note suonate
3427 con lo stesso strumento MIDI condivideranno lo stesso canale (e traccia)
3428 MIDI, anche se le note appartengono a voci o righi diversi.
3430 In questo caso i contesti del testo vocale (lyrics) non contano nel calcolo
3431 del limite dei 16 canali MIDI (perché non saranno assegnati a uno strumento
3432 MIDI), dunque questa impostazione consente una migliore assegnazione dei
3433 canali MIDI quando il numero di righi e contesti lyrics in una partitura è
3438 Assegna un canale MIDI separato a ogni voce che abbia un nome unico tra
3439 le voci del rigo che le racchiude. Alle voci in righi diversi vengono
3440 sempre assegnati canali MIDI separati, ma due voci di uno stesso rigo
3441 condivideranno lo stesso canale MIDI se hanno lo stesso nome.
3442 @code{midiInstrument} e i vari controlli MIDI per gli effetti, essendo
3443 proprietà del contesto del rigo (staff), non possono essere impostati
3444 separatamente per ogni voce. La prima voce verrà suonata con lo strumento
3445 e gli effetti specificati per il rigo, mentre alle voci con un nome diverso
3446 da quello della prima saranno assegnati lo strumento e gli effetti predefiniti.
3448 Nota bene: è possibile assegnare diversi strumenti e/o effetti a varie
3449 voci dello stesso rigo spostando @code{Staff_performer} dal contesto
3450 @code{Staff} al contesto @code{Voice} e lasciando @code{midiChannelMapping}
3451 sul valore predefinito @code{'staff} oppure impostandolo su @code{'instrument};
3452 vedi il frammento in basso.
3456 Per esempio, la mappatura predefinita dei canali MIDI di una partitura può
3457 essere modificata per usare l'impostazione @code{'instrument}:
3465 midiChannelMapping = #'instrument
3472 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
3473 {changing-midi-output-to-one-channel-per-voice.ly}
3476 @node Proprietà di contesto per gli effetti MIDI
3477 @subsection Proprietà di contesto per gli effetti MIDI
3478 @translationof Context properties for MIDI effects
3480 @cindex effetti nel MIDI
3481 @cindex panning nel MIDI
3482 @cindex stereo, bilanciamento nel MIDI
3483 @cindex bilanciamento nel MIDI
3484 @cindex espressione nel MIDI
3485 @cindex riverbero nel MIDI
3486 @cindex livello del chorus nel MIDI
3487 @funindex midiPanPosition
3488 @funindex midiBalance
3489 @funindex midiExpression
3490 @funindex midiReverbLevel
3491 @funindex midiChorusLevel
3493 Le seguenti proprietà di contesto possono essere usate per applicare
3494 vari effetti MIDI alle note suonate sul canale MIDI associato col
3495 rigo, strumento MIDI o voce correnti (a seconda del valore della
3496 proprietà di contesto @code{Score.midiChannelMapping} e del contesto
3497 in cui si trova @code{Staff_performer}; vedi @ref{MIDI channel mapping}).
3499 La modifica di queste proprietà di contesto avrà effetto su tutte le
3500 note suonate sul canale dopo il cambio, tuttavia alcuni effetti potrebbero
3501 essere applicati anche a note che stanno già suonando (a seconda di come
3502 è stato implementato il dispositivo MIDI).
3504 Sono supportate le seguenti proprietà di contesto:
3508 @item @code{Staff.midiPanPosition}
3510 La posizione del panning regola il modo in cui il suono in un canale MIDI
3511 è distribuito tra gli altoparlanti stereo di sinistra e di destra. Questa
3512 proprietà di contesto accetta un numero compreso tra -1.0 (@code{#LEFT}) e
3513 1.0 (@code{#RIGHT}); il valore -1.0 sposterà tutto il suono sull'altoparlante
3514 sinistro (rendendo muto quello destro), il valore 0.0 (@code{#CENTER})
3515 distribuirà il suono in modo uniforme tra gli altoparlanti sinistro e
3516 destro, e il valore 1.0 sposterà tutto il suono sull'altoparlante destro.
3517 I valori intermedi tra -1.0 e 1.0 permettono di ottenere distribuzioni
3518 miste tra gli altoparlanti sinistro e destro.
3520 @item @code{Staff.midiBalance}
3522 Il bilanciamento stereo di un canale MIDI. In modo simile al panning, questa
3523 proprietà di contesto accetta un numero compreso tra -1.0 (@code{#LEFT}) e
3524 1.0 (@code{#RIGHT}). Varia il volume relativo inviato ai due altoparlanti
3525 stereo senza alterare la distribuzione dei segnali stereo.
3527 @item @code{Staff.midiExpression}
3529 Livello dell'espressione (come frazione del livello massimo disponibile) da
3530 applicare a un canale MIDI. Un dispositivo MIDI combina insieme il livello
3531 di espressione del canale MIDI con l'attuale livello di dinamica di una
3532 voce (stabilito dai comandi @code{\p} o @code{\ff}) per ottenere il volume
3533 totale di ogni nota nella voce. Il controllo dell'espressione può essere
3534 usato, per esempio, per implementare effetti di crescendo o decrescendo
3535 su singole note sostenute (non supportato automaticamente da LilyPond).
3537 @c Issue 4059 contains an attached snippet which shows how this might
3538 @c be done, but this is too large and complex for the NR, even as a
3539 @c referenced snippet. It could be added to the LSR.
3541 La gamma del livello di espressione va da 0.0 (nessuna espressione, ovvero
3542 volume zero) a 1.0 (piena espressione).
3544 @item @code{Staff.midiReverbLevel}
3546 Livello di riverbero (come frazione del livello massimo disponibile) da
3547 applicare a un canale MIDI. Questa proprietà accetta numeri compresi tra
3548 0.0 (nessun riverbero) e 1.0 (pieno effetto).
3550 @item @code{Staff.midiChorusLevel}
3552 Livello del chorus (come frazione del livello massimo disponibile) da
3553 applicare a un canale MIDI. Questa proprietà accetta numeri compresi
3554 tra 0.0 (nessun effetto chorus) e 1.0 (pieno effetto).
3561 Dato che i file MIDI non contengono veri dati audio, le modifiche in
3562 queste proprietà di contesto si traducono soltanto in richieste di
3563 modifica dei controlli del canale MIDI nei file MIDI generati.
3564 Se un particolare dispositivo MIDI (come un lettore MIDI) sia in
3565 grado di gestire queste richieste dipende interamente dall'implementazione
3566 del dispositivo: un dispositivo potrebbe scegliere di ignorare alcune o
3567 tutte le richieste. Dipende dall'implementazione del dispositivo MIDI
3568 anche il modo in cui un dispositivo MIDI interpreta valori diversi di
3569 questi controlli (generalmente lo standard MIDI corregge il comportamento
3570 solo alle estremità della gamma di valori disponibile per ogni controllo) e
3571 se un cambiamento nel valore di un controllo avrà effetto anche su note che
3572 stanno già suonando su quel canale MIDI.
3574 Quando genera file MIDI, LilyPond trasformerà semplicemente le frazioni
3575 comprese in ciascuna gamma in valori di una gamma di numeri interi
3576 corrispondenti (0-127 per i 7-bit, 0-32767 per i 14 bit per i controlli
3577 del canale MIDI che supportano una migliore risoluzione), arrotondando
3578 i valori delle frazioni sul numero intero più vicino.
3579 I valori interi convertiti sono salvati così come sono nel file MIDI
3580 generato. Consultare la documentazione del proprio dispositivo MIDI
3581 per sapere come il dispositivo interpreta questi valori.
3584 @node Miglioramento dell'output MIDI
3585 @subsection Miglioramento dell'output MIDI
3586 @translationof Enhancing MIDI output
3589 * Lo script articulate::
3592 L'output MIDI predefinito fornisce le fuzionalità basilari, ma può essere
3593 migliorato impostando gli strumenti MIDI, le proprietà del blocco
3594 @code{\midi} e/o usando lo script @file{articulate}.
3596 @cindex nomi degli strumenti
3597 @cindex strumenti, nomi
3598 @cindex MIDI, strumenti
3599 @cindex articulate script
3600 @cindex articulate.ly
3601 @funindex Staff.midiInstrument
3604 @node Lo script articulate
3605 @unnumberedsubsubsec Lo script @file{articulate}
3606 @translationof The articulate script
3608 Per usare lo script @file{articulate} aggiungere il relativo comando
3609 @code{\include} all'inizio del file di input:
3612 \include "articulate.ly"
3615 Lo script crea file MIDI in cui la durata delle note è correttamente
3616 @qq{ridimensionata} per rappresentare molte articolazioni e indicazioni
3617 di tempo. Tuttavia anche l'output grafico verrà modificato per
3618 corrispondere esattamente all'output MIDI.
3623 @var{@dots{} musica @dots{}}
3629 Il comando @code{\articulate} permette di elaborare le abbreviazioni (come
3630 i trilli e i gruppetti). L'elenco completo degli elementi supportati si
3631 trova nello script stesso. Vedi @file{ly/articulate.ly}.
3634 Manuale di apprendimento:
3635 @rlearning{Altre fonti di informazione}.
3637 Guida alla notazione:
3641 @file{ly/articulate.ly}.
3643 @warning{Lo script @file{articulate} potrebbe accorciare la durata degli
3644 accordi, cosa che potrebbe non essere appropriata per alcuni tipi di
3645 strumento, come nel caso della musica per organo. Potrebbe essere ridotta
3646 anche la durata di note prive di articolazioni.
3647 Dunque, per consentire tutto ciò, limitare l'uso del comando @code{\articulate}
3648 a brevi segmenti di musica o modificare i valori delle variabili definite
3649 nello script @file{articulate} per compensare il comportamento di accorciamento
3650 della durata delle note.}
3654 @node Estrazione dell'informazione musicale
3655 @section Estrazione dell'informazione musicale
3656 @translationof Extracting musical information
3658 Oltre a creare l'output grafico e il MIDI, LilyPond può mostrare
3659 l'informazione musicale in forma testuale.
3662 * Mostrare la notazione LilyPond::
3663 * Mostrare le espressioni musicali scheme::
3664 * Salvare eventi musicali in un file::
3667 @node Mostrare la notazione LilyPond
3668 @subsection Mostrare la notazione LilyPond
3669 @translationof Displaying LilyPond notation
3671 @funindex \displayLilyMusic
3672 La funzione musicale @code{\displayLilyMusic} permette di mostrare
3673 un'espressione musicale nella notazione di LilyPond. Per vedere
3674 l'output, di norma si esegue LilyPond da linea di comando. Per esempio,
3678 \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3685 @{ a,4 cis4 e4 fis4 g4 @}
3688 LilyPond stampa questi messaggi nella console insieme a tutti gli
3689 altri messaggi della compilazione. Per separare questi messaggi
3690 e salvare i risultati di @code{\displayLilyMusic}, redirigere
3691 l'output su un file:
3694 lilypond file.ly >display.txt
3698 @c tradotto un po' liberamente, dato che il paragrafo in inglese è poco chiaro:
3699 @c https://lists.gnu.org/archive/html/lilypond-user/2015-12/msg00141.html
3700 Nota bene che Lilypond non soltanto mostra in console l'espressione musicale, ma
3701 la interpreta anche (infatti l'espressione musicale di @code{\displayLilyMusic}
3702 appare nell'output oltre a essere mostrata in console). Basta inserire
3703 @code{\displayLilyMusic} in file esistenti, senza doverne modificare le
3704 note di input, per ottenere informazioni su di essi. Per interpretare e
3705 mostrare una sezione musicale nella console ma, allo stesso tempo, toglierla
3706 dal file di output, usare il comando @code{\void}:
3710 \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3716 @node Mostrare le espressioni musicali scheme
3717 @subsection Mostrare le espressioni musicali scheme
3718 @translationof Displaying scheme music expressions
3720 Vedi @rextend{Displaying music expressions}.
3723 @node Salvare eventi musicali in un file
3724 @subsection Salvare eventi musicali in un file
3725 @translationof Saving music events to a file
3727 Gli eventi musicali possono essere salvati in file diversi, un file per
3728 ogni rigo, includendo un file nella partitura principale:
3731 \include "event-listener.ly"
3734 Così verranno creati uno o più file @file{NOMEFILE-NOMERIGO.notes} o
3735 @file{NOMEFILE-unnamed-staff.notes} per ogni rigo. Se ci sono vari
3736 righi senza nome, gli eventi di tutti i righi saranno mischiati insieme
3737 nello stesso file. I file hanno una struttura di questo tipo:
3740 0.000 note 57 4 p-c 2 12
3742 0.250 note 62 4 p-c 7 12
3743 0.500 note 66 8 p-c 9 12
3744 0.625 note 69 8 p-c 14 12
3749 La sintassi prevede una riga delimitata da tabulatori, con due campi fissi
3750 su ogni riga seguiti da parametri opzionali.
3753 @var{tempo} @var{tipo} @var{@dots{}parametri@dots{}}
3756 Questa informazione può essere letta facilmente da altri programmi,
3757 per esempio da uno script python, e può essere molto utile per
3758 ricercatori che desiderano fare delle analisi musicali o degli
3759 esperimenti di @emph{playback} con LilyPond.
3764 Non tutti gli eventi musicali di lilypond sono supportati da
3765 @file{event-listener.ly}, che vuole essere una semplice @qq{prova di concetto}
3766 ben congeniata. Se alcuni eventi che si vorrebbero vedere non sono
3767 inclusi, copiare @file{event-listener.ly} nella propria directory
3768 lilypond e modificare il file in modo che produca l'informazione