| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof How LilyPond input files work
Il formato di input di LilyPond ha una struttura piuttosto libera, che dà agli utenti esperti una grande flessibilità nell’organizzare i file come preferiscono. Ma questa flessibilità può creare confusione nei nuovi utenti. Questa sezione spiegherà in parte questa struttura, ma sorvolerà su alcuni dettagli in favore della semplicità. Per una descrizione completa del formato di input, si veda (notation)Struttura del file section ‘Struttura del file’ in Guida alla Notazione.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Introduction to the LilyPond file structure
Un esempio basilare di un file di input di LilyPond è
\version "2.21.3"
\header { }
\score {
… espressione musicale composta … % tutta la musica va qui!
\layout { }
\midi { }
}
|
Ci sono molte varianti a questo modello di base, ma questo esempio serve da utile punto di partenza.
Finora nessuno degli esempi che abbiamo visto ha usato il comando
\score{}. Questo si spiega col fatto che LilyPond, quando
elabora un input semplice, aggiunge automaticamente gli altri comandi
necessari. LilyPond tratta un input come questo:
\relative {
c''4 a b c
}
|
come forma abbreviata per questo:
\book {
\score {
\new Staff {
\new Voice {
\relative {
c''4 a b c
}
}
}
\layout { }
}
}
|
In altre parole, se l’input contiene un’espressione musicale singola, LilyPond interpreterà il file come se l’espressione musicale fosse racchiusa dentro i comandi mostrati sopra.
Attenzione! Molti esempi nella documentazione di LilyPond
ometteranno i comandi \new Staff e \new Voice,
lasciando che questi siano creati implicitamente. Per gli esempi
semplici questo metodo funziona bene, ma per quelli più complessi, soprattutto
quando vengono usati ulteriori comandi, la creazione implicita dei contesti
può dare risultati inattesi, ad esempio creando dei righi non voluti.
Il modo per creare i contesti esplicitamente è spiegato in
Contesti e incisori.
Nota: Quando si inseriscono più di poche linee di musica, si consiglia di creare sempre esplicitamente i righi e le voci.
Ora però torniamo al primo esempio ed esaminiamo il comando
\score, lasciando gli altri comandi secondo l’impostazione predefinita.
Un blocco \score deve sempre contenere una sola espressione musicale.
Ricorda che un’espressione musicale può essere qualsiasi cosa, da una
singola nota a una grande espressione composta come
{
\new StaffGroup <<
… inserisci qui l'intera opera di Wagner …
>>
}
|
Tutto quanto è compreso in { … } costituisce un’unica
espressione musicale.
Come abbiamo detto prima, il blocco \score può contenere altri
elementi, come ad esempio
\score {
{ c'4 a b c' }
\header { }
\layout { }
\midi { }
}
|
Si noti che questi tre comandi – \header, \layout e
\midi – sono speciali: diversamente da molti altri comandi che
iniziano con un backslash (\), non sono espressioni
musicali né fanno parte di alcuna espressione musicale. Dunque, possono
essere collocati dentro o fuori da un blocco \score. Di solito
questi comandi vengono posti fuori dal blocco \score – ad esempio,
\header spesso viene messo sopra il comando \score, come mostra
l’esempio all’inizio di questa sezione.
Altri due comandi che non hai incontrato finora sono
\layout { } e \midi {}. Se questi appaiono come
in figura, LilyPond creerà rispettivamente un output per la stampa
e uno per il MIDI. Sono descritti dettagliatamente nella
Guida alla notazione, in
(notation)Formattazione della partitura section ‘Formattazione della partitura’ in Guida alla Notazione, e
(notation)Creazione dell’output MIDI section ‘Creazione dell'output MIDI’ in Guida alla Notazione.
Puoi scrivere molteplici blocchi \score. Ciascuno verrà
trattato come una partitura separata, ma saranno tutti combinati in
un unico file di output. Non è necessario il comando \book
– ne verrà creato uno automaticamente. Tuttavia, se si desiderano
file di output separati da un file ‘.ly’, allora si deve usare
il comando \book per separare le diverse sezioni: ogni blocco
\book produrrà un file di output separato.
In breve:
Ogni blocco \book crea un file di output separato (ovvero, un
file PDF). Se non ne hai aggiunto uno esplicitamente, LilyPond racchiude
implicitamente tutto il tuo codice di input in un blocco \book.
Ogni blocco \score è un pezzo di musica separato all’interno di
un blocco \book.
Ogni blocco \layout influenza il blocco \score o
\book in cui compare – ovvero, un blocco \layout
che si trova dentro un blocco \score riguarda solo quel blocco
\score, mentre un blocco \layout che si trova fuori da un
blocco \score (e quindi in un blocco \book, esplicitamente
o implicitamente) riguarderà ogni \score in quel \book.
Per maggiori dettagli si veda (notation)Molteplici partiture in un libro section ‘Molteplici partiture in un libro’ in Guida alla Notazione.
Un’altra grande scorciatoia è la possibilità di definire variabili, come è spiegato in Organizzare i brani con le variabili). Tutti i modelli usano questa forma
melodia = \relative {
c'4 a b c
}
\score {
\melodia
}
|
Quando LilyPond esamina questo file, prende il valore di melodia (tutto
ciò che si trova dopo il segno di uguale) e lo inserisce ovunque si trovi
\melodia. Non c’è una regola specifica per i nomi – il nome può essere
melodia, globale, tempo, manodestrapiano, o qualsiasi
altro nome. Ricordati che puoi usare quasi ogni nome che vuoi, purché esso
contenga solo caratteri alfabetici e sia diverso dai nomi dei comandi di
LilyPond. Le esatte limitazioni relative ai nomi delle variabili sono spiegate
dettagliatamente in
(notation)Struttura del file section ‘Struttura del file’ in Guida alla Notazione.
Per una definizione completa del formato di input, si veda (notation)Struttura del file section ‘Struttura del file’ in Guida alla Notazione.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Score is a (single) compound musical expression
Abbiamo visto l’organizzazione generale dei file di input di LilyPond nella
sezione precedente, Introduzione alla struttura di un file di LilyPond.
Ma sembra che abbiamo saltato la parte più importante: cosa dobbiamo
scrivere dopo \score?
In realtà non l’abbiamo affatto dimenticato. Il grande mistero è, semplicemente, che non c’è alcun mistero. La seguente frase spiega tutto:
Un blocco
\scoredeve contenere una sola espressione musicale.
Per capire cosa si intende per espressione musicale, potrebbe esserti utile
ripassare il tutorial, Espressioni musicali. In quella sezione, abbiamo
visto come costruire grandi espressioni musicali a partire da piccoli brani –
abbiamo iniziato con le note, poi gli accordi, etc. Adesso inizieremo da una
grande espressione musicale e proseguiremo poi a spiegarne i dettagli. Per
semplicità, nel nostro esempio useremo soltanto un canto e un pianoforte. Per
questa formazione non abbiamo bisogno di StaffGroup, che non fa altro che
raggruppare un insieme di righi con una parentesi graffa a sinistra, ma abbiamo
comunque bisogno dei righi per il canto e per il pianoforte.
\score {
<<
\new Staff = "canto" <<
>>
\new PianoStaff = "pianoforte" <<
>>
>>
\layout { }
}
|
In questo esempio abbiamo dato dei nomi ai righi – “canto” e “pianoforte”. Non è necessario in questo caso, ma è una buona abitudine da coltivare, perché ti permette di vedere a colpo d’occhio a cosa serve ciascun rigo.
Ricorda che si usa << … >> invece di { … } per indicare
la musica simultanea. In questo modo la parte vocale e quella di pianoforte
appaiono una sopra l’altra nello spartito. Il costrutto << … >> non
sarebbe necessario per il rigo del cantante nell’esempio precedente se contenesse
soltanto un’espressione musicale sequenziale, ma << … >> al posto delle
parentesi è necessario se la musica sul rigo deve contenere due o più espressioni
simultanee, ad esempio due voci simultanee, o una voce con del testo. Vogliamo
avere una voce con del testo, dunque ci servono le parentesi ad angolo. Aggiungeremo
la musica vera e propria in seguito; per adesso mettiamo soltanto delle semplici
note e del testo. Se hai dimenticato come aggiungere del testo, potresti voler
ripassare \addlyrics in Impostare canzoni semplici.
\score { << \new Staff = "canto" << \new Voice = "vocal" { c'1 } \addlyrics { And } >> \new PianoStaff = "piano" << \new Staff = "upper" { c'1 } \new Staff = "lower" { c'1 } >> >> \layout { } }
Ora abbiamo molti più dettagli. Abbiamo il rigo del cantante: esso contiene
una Voice o voce (in LilyPond, questo termine si riferisce a un insieme
di note, non necessariamente alle note della voce – ad esempio, un violino di
solito costituisce una voce) e del testo. Abbiamo anche il rigo del pianoforte,
che a sua volta comprende un rigo superiore (per la mano destra) e uno inferiore
(per la mano sinistra), sebbene a quest’ultimo debba ancora essere assegnata
una chiave di basso.
A questo punto possiamo iniziare ad inserire le note. All’interno delle parentesi
graffe vicine a \new Voice = "vocal", possiamo iniziare a scrivere
\relative {
r4 d''8\noBeam g, c4 r
}
|
Ma se facessimo così, la sezione \score diventerebbe molto lunga, e
sarebbe più difficile comprendere quel che accade. Usiamo quindi le variabili
piuttosto. Queste sono state introdotte alla fine della sezione precedente,
ricordi? Per far sì che i contenuti della variabile text siano
interpretati come testo, li facciamo precedere da \lyricmode. Come in
\addlyrics, questo comando trasforma la modalità di input in modalità
testo. Senza di esso, LilyPond cercherebbe di interpretare i contenuti come
se fossero note, e questo produrrebbe degli errori. (Sono disponibili molte
altre modalità di input, si veda
(notation)Modalità di inserimento section ‘Modalità di inserimento’ in Guida alla Notazione.)
Dunque se aggiungiamo un po’ di note e una chiave di basso per la mano sinistra, otteniamo un brano musicale vero e proprio:
melody = \relative { r4 d''8\noBeam g, c4 r } text = \lyricmode { And God said, } upper = \relative { <g' d g,>2~ <g d g,> } lower = \relative { b,2 e } \score { << \new Staff = "canto" << \new Voice = "vocal" { \melody } \addlyrics { \text } >> \new PianoStaff = "piano" << \new Staff = "upper" { \upper } \new Staff = "lower" { \clef "bass" \lower } >> >> \layout { } }
Quando scrivi (o leggi) una sezione \score, prenditela comoda e stai
attento. Comincia dal livello più esterno, poi lavora su ogni livello più
piccolo. È anche molto utile essere rigorosi nell’indentare l’input – ovvero
fare attenzione che ogni elemento di uno stesso livello presente nell’editor
di testo si trovi nella stessa posizione orizzontale.
Guida alla notazione: (notation)Struttura di una partitura section ‘Struttura di una partitura’ in Guida alla Notazione.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Nesting music expressions
Non è obbligatorio dichiarare tutti i righi fin dall’inizio; possono essere invece introdotti temporaneamente in ogni momento. Questo è utile in particolare per creare le sezioni ossia – si veda (music-glossary)ossia section ‘ossia’ in Glossario Musicale. Ecco un semplice esempio che mostra come inserire un nuovo rigo temporaneamente, per la durata di tre note:
\new Staff { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff { f8 f c } >> r4 | } }
Si noti che la dimensione della chiave è la stessa di una chiave che segue un cambio di chiave –ovvero leggermente più piccola della chiave all’inizio del rigo. Questo è utile per le chiavi che devono essere posizionate a metà di un rigo.
La sezione ossia può anche essere posta sopra il rigo nel seguente modo:
\new Staff = "main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" } { f8 f c } >> r4 | } }
Questo esempio usa \with, che verrà spiegato in modo più
completo in seguito. È un modo per cambiare il comportamento predefinito
di un singolo rigo. In questo caso, indica che il nuovo rigo deve essere
posizionato sopra il rigo chiamato “main” invece che nella posizione
predefinita, che è in basso.
Gli ossia vengono spesso scritti senza armatura di chiave e senza tempo, e solitamente hanno un font più piccolo. Richiedono ulteriori comandi che non sono stati ancora presentati. Si veda Dimensione degli oggetti, e (notation)Righi ossia section ‘Righi ossia’ in Guida alla Notazione.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Structure of a note entry
L’inserimento di una nota in LilyPond consiste in un’altezza, seguita da una durata, seguita facoltativamente da uno o più ‘post-eventi’. I post-eventi di LilyPond aggiungono elementi quali le articolazioni, le diteggiature, i numeri di corda, le legature di portamento e di valore e il testo esplicativo.
L’altezza può essere definita esplicitamente usando il linguaggio di input
corrente di LilyPond, come è descritto in
(notation)Nomi delle note in altre lingue section ‘Nomi delle note in altre lingue’ in Guida alla Notazione.
L’altezza può essere omessa. Quando viene omessa, l’altezza di una nota
corrente sarà identica all’altezza della nota precedente nel file di
input, vedi
(notation)Durata section ‘Durata’ in Guida alla Notazione. Attenzione, né r né s
sono un’altezza.
La durata è composta da un numero e eventualmente da uno o più punti. Se una durata non è definita esplicitamente, la durata di una nota corrente sarà identica alla durata della nota, accordo, pausa o pausa spaziatrice precedenti, vedi (notation)Durata section ‘Durata’ in Guida alla Notazione.
I post-eventi seguono la nota alla quale sono collegati. Supponiamo di voler scrivere un Do di un ottavo con diteggiatura 1, articolazione tenuto, una legatura di portamento e una legatura di valore che iniziano con la nota e un’annotazione testuale. Ciò si può ottenere nel modo seguente:
{ c'8-1--(~^\markup{"text annotation"} c' d') }
Manuale di apprendimento: Legature di valore e di portamento, Articolazioni e dinamiche, Aggiungere il testo.
Guida alla notazione: (notation)Altezze section ‘Altezze’ in Guida alla Notazione, (notation)Ritmi section ‘Ritmi’ in Guida alla Notazione, (notation)Segni di espressione section ‘Segni di espressione’ in Guida alla Notazione.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof On the un-nestedness of brackets and ties
Abbiamo già incontrato vari tipi di parentesi e di costrutti che fanno uso di parentesi mentre scrivevamo il file di input di LilyPond. Ognuna obbedisce a diverse regole, e questo può generare confusione all’inizio. Rivediamo prima i diversi tipi di parentesi e di costrutti in parentesi.
| Tipo di parentesi | Funzione |
|---|---|
{ … } | Racchiude un frammento di musica sequenziale |
< … > | Racchiude le note di un accordo |
<< … >> | Racchiude le espressioni musicali simultanee |
( … ) | Contrassegna l’inizio e la fine di una legatura di portamento |
\( … \) | Contrassegna l’inizio e la fine di una legatura di frase |
[ … ] | Contrassegna l’inizio e la fine di una travatura impostata manualmente |
A questi dovremmo aggiungere altri costrutti che generano linee tra
e lungo le note: legature di valore (contrassegnate dal tilde, ~),
i gruppi irregolari scritti in questa forma \tuplet x/y { … }, e
gli abbellimenti, indicati con \grace{ … }.
Fuori da LilyPond, l’uso convenzionale delle parentesi esige che i diversi
tipi siano annidati adeguatamente, in questo modo, << [ { ( … )
} ] >>, dove le parentesi che chiudono si trovano esattamente
nell’ordine opposto alle parentesi che aprono. Questo è un
requisito per i tre tipi di parentesi descritti dal termine ‘Racchiude’
nella tabella precedente – devono annidarsi correttamente. Tuttavia,
i restanti costrutti in parentesi, descritti dal termine ‘Contrassegna’ nella
tabella, così come le legature e i gruppi irregolari, non devono annidarsi
correttamente con alcuna delle parentesi o dei costrutti in parentesi. Infatti
queste non sono parentesi nel senso che racchiudono qualcosa – sono semplicemente
dei contrassegni che indicano dove qualcosa inizia e finisce.
Quindi, ad esempio, una legatura di frase può iniziare prima di una travatura inserita manualmente e finire prima della fine della travatura – non molto musicale, forse, ma possibile:
\relative { g'8\( a b[ c b\) a] g4 }
In generale, tipi diversi di parentesi, costrutti in parentesi e segni che riguardano gruppi irregolari, legature e abbellimenti possono essere combinati liberamente. L’esempio seguente mostra una travatura che si estende su un gruppo irregolare (linea 1), una legatura di portamento che si estende su una terzina (linea 2), una travatura e una legatura di portamento che si estendono su una terzina, una legatura di valore che attraversa due gruppi irregolari, e una legatura di frase che si estende fuori da un gruppo irregolare (linee 3 e 4).
\relative { r16[ g' \tuplet 3/2 { r16 e'8] } g,16( a \tuplet 3/2 { b16 d) e } g,8[( a \tuplet 3/2 { b8 d) e~] } | \tuplet 5/4 { e32\( a, b d e } a4.\) }
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] |
This document was generated by gub on Luglio 13, 2020 using texi2html 1.82.
Altre lingue: English, català, česky, deutsch, español, français, magyar, 日本語, nederlands.
A proposito della selezione automatica della lingua.