[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

3.1 Come funzionano i file di input di LilyPond

@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] [ ? ]

3.1.1 Introduzione alla struttura di un file di LilyPond

@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.

Vedi anche

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] [ ? ]

3.1.2 La partitura è una (singola) espressione musicale composta

@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 \score deve 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 { }
}

[image of music]

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 { }
}

[image of music]

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.

Vedi anche

Guida alla notazione: (notation)Struttura di una partitura section ‘Struttura di una partitura’ in Guida alla Notazione.


[ < ] [ > ]   [ << ] [ Su ] [ >> ]         [Inizio] [Contenuti] [Indice] [ ? ]

3.1.3 Annidare le espressioni musicali

@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 |
  }
}

[image of music]

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 |
  }
}

[image of music]

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.

Vedi anche

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] [ ? ]

3.1.4 Struttura dell’inserimento note

@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') }

[image of music]

Vedi anche

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] [ ? ]

3.1.5 Sul non annidamento di parentesi e legature di valore

@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 parentesiFunzione
{ … }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 }

[image of music]

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.\)
}

[image of music]


[ < ] [ > ]   [ << ] [ 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.