[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Inclusione di file LilyPond ] | [ Su : Lavorare coi file di input ] | [ Uso delle variabili > ] |
3.3.2 Edizioni diverse da un unico sorgente
Esistono vari metodi per generare versioni diverse di una partitura dalla stessa sorgente di musica. Le variabili sono forse le più utili per combinare lunghe sezioni musicali e/o note. Le etichette (tag) sono più utili per selezionare una sezione da varie sezioni brevi alternative e possono essere usate anche per unire insieme dei brani in punti diversi.
Qualsiasi metodo venga usato, la separazione delle note dalla struttura della partitura permetterà di cambiare la struttura lasciando le note intatte.
Uso delle variabili | ||
Uso delle etichette | ||
Impostazioni globali |
[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Edizioni diverse da un unico sorgente ] | [ Su : Edizioni diverse da un unico sorgente ] | [ Uso delle etichette > ] |
Uso delle variabili
Se le sezioni musicali sono definite in variabili, possono essere riutilizzate in varie parti della partitura, come è stato spiegato in Organizzare i brani con le variabili. Per esempio, una partitura vocale a cappella spesso comprende, ai fini delle prove, una riduzione per pianoforte delle parti, identiche alla musica vocale, dunque la musica deve essere inserita una volta sola. La musica definita in due variabili può essere combinata in un rigo, come è spiegato in Combinazione automatica delle parti. Ecco un esempio:
sopranoMusic = \relative { a'4 b c b8( a) } altoMusic = \relative { e'4 e e f } tenorMusic = \relative { c'4 b e d8( c) } bassMusic = \relative { a4 gis a d, } allLyrics = \lyricmode { King of glo -- ry } << \new Staff = "Soprano" \sopranoMusic \new Lyrics \allLyrics \new Staff = "Alto" \altoMusic \new Lyrics \allLyrics \new Staff = "Tenore" { \clef "treble_8" \tenorMusic } \new Lyrics \allLyrics \new Staff = "Basso" { \clef "bass" \bassMusic } \new Lyrics \allLyrics \new PianoStaff << \new Staff = "Destra" { \partCombine \sopranoMusic \altoMusic } \new Staff = "Sinistra" { \clef "bass" \partCombine \tenorMusic \bassMusic } >> >>
Partiture separate che mostrino soltanto le parti vocali o soltanto quelle per pianoforte possono essere prodotte semplicemente cambiando le dichiarazioni della struttura, lasciando la notazione musicale intatta.
Nel caso di partiture lunghe, conviene mettere le definizioni delle variabili in file separati da includere, vedi Inclusione di file LilyPond.
[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Uso delle variabili ] | [ Su : Edizioni diverse da un unico sorgente ] | [ Impostazioni globali > ] |
Uso delle etichette
Il comando \tag #'parteA
contrassegna un’espressione
musicale col nome parteA.
Le espressioni contrassegnate in questo modo possono essere incluse o
rimosse in base al loro nome successivamente, usando
\keepWithTag #'nome
oppure
\removeWithTag #'nome
. Il risultato dell’applicazione di
questi filtri alla musica etichettata è il seguente:
Filtro | Risultato |
---|---|
Musica etichettata preceduta da \keepWithTag #'nome o
\keepWithTag #'(nome1 nome2…) | Viene inclusa la musica non etichettata e quella etichettata con uno dei nomi specificati; la musica etichettata con un nome etichetta diverso viene esclusa. |
Musica etichettata preceduta da \removeWithTag #'nome o
\removeWithTag #'(nome1 nome2…) | Viene inclusa la musica non etichettata e quella non etichettata con uno dei nomi specificati; la musica etichettata con uno dei nomi specificati viene esclusa. |
Musica etichettata non preceduta da \keepWithTag o
\removeWithTag | Viene inclusa tutta la musica etichettata e non etichettata. |
Gli argomenti dei comandi \tag
, \keepWithTag
e
\removeWithTag
devono essere un simbolo o una lista di
simboli (come #'score
o #'(violinoI violinoII
),
seguiti da un’espressione musicale. Se e solo se i simboli
sono identificatori LilyPond validi (solo caratteri alfabetici, nessun
numero, trattino o trattino basso) che non possono essere confusi con
le note, si può omettere il #'
e, come scorciatoia, una lista di
simboli può usare il punto come separatore: quindi
\tag #'(violinoI violinoII)
può essere riscritto come
\tag violinoI.violinoII
. Lo stesso vale per
\keepWithTag
e \removeWithTag
.
Nell’esempio seguente, vediamo due versioni di un brano musicale, una che mostra i trilli con la notazione abituale e l’altra con i i trilli espansi esplicitamente:
musica = \relative { g'8. c32 d \tag #'trilli { d8.\trill } \tag #'espandi { \repeat unfold 3 { e32 d } } c32 d } \score { \keepWithTag #'trilli \musica } \score { \keepWithTag #'espandi \musica }
Altrimenti, talvolta è più facile escludere sezioni musicali:
musica = \relative { g'8. c32 d \tag #'trilli { d8.\trill } \tag #'espandi {\repeat unfold 3 { e32 d } } c32 d } \score { \removeWithTag #'espandi \musica } \score { \removeWithTag #'trilli \musica }
Il filtro delle etichette può essere applicato a articolazioni, testo, etc. scrivendo
-\tag #'tua-etichetta
prima di un’articolazione. L’esempio seguente definisce una nota con un’indicazione di diteggiatura condizionale e una nota con un commento condizionale:
c1-\tag #'dito ^4 c1-\tag #'attenzione ^"Fai attenzione!"
Varie etichette possono essere associate a delle espressioni tramite molteplici
\tag
, o unendo molteplici etichette in una lista di simboli:
musica = \relative c'' { \tag #'a \tag #'entrambi { a4 a a a } \tag #'(b entrambi) { b4 b b b } } << \keepWithTag #'a \musica \keepWithTag #'b \musica \keepWithTag #'entrambi \musica >>
Si possono applicare molteplici filtri \removeWithTag
a una singola
espressione musicale per togliere varie sezioni etichettate con nomi
diversi. Altrimenti si può usare un solo \removeWithTag
seguito da
una lista di etichette.
musica = \relative c'' { \tag #'A { a4 a a a } \tag #'B { b4 b b b } \tag #'C { c4 c c c } \tag #'D { d4 d d d } } \new Voice { \removeWithTag #'B \removeWithTag #'C \musica \removeWithTag #'(B C) \musica }
Applicando due o più filtri \keepWithTag
su una singola espressione
musicale toglieranno tutte le sezioni etichettate. Il primo filtro
toglie tutto tranne la sezione menzionata e qualsiasi filtro successivo toglie
il resto. Usando un singolo comando \keepWithTag
con una lista di
varie etichette vengono rimosse soltanto le sezioni etichettate non specificate
in quella lista.
music = \relative c'' { \tag #'violinoI { a4 a a a } \tag #'violinoII { b4 b b b } \tag #'viola { c4 c c c } \tag #'cello { d4 d d d } } \new Staff { \keepWithTag #'(violinI violinII) \music }
farà apparire le etichette violinoI e violinoII ma non viola o cello.
Mentre \keepWithTag
è comodo con un gruppo di alternative, la
rimozione di musica contrassegnata con etichette indipendenti è
problematico se si usano le etichette con diverse finalità. In questo
caso, è possibile dichiarare ‘gruppi’ di etichette:
\tagGroup #'(violinoI violinoII viola cello)
dichiara che queste etichette appartengono a un gruppo.
\keepWithTag #'violinoI …
ora mostrerà soltanto la musica contrassegnata con le etichette presenti nel
gruppo cui appartiene violinoI
e verrà tolta la musica contrassegnata
con una delle altre etichette.
music = \relative { \tagGroup #'(violinoI violinoII viola cello) \tag #'violinoI { c''4^"violinI" c c c } \tag #'violinoII { a2 a } \tag #'viola { e8 e e2. } \tag #'cello { d'2 d4 d } R1^"non contrassegnato" } \new Voice { \keepWithTag #'violinoI \music }
Quando si usa il comando \keepWithTag
, sono visibili solo le etichette
provenienti dai gruppi cui appartengono le etichette specificate dopo il comando.
Talvolta si ha necessità di combinare insieme della musica in un punto preciso
di un’espressione musicale esistente. \pushToTag
e \appendToTag
permettono di aggiungere materiale prima o dopo gli elementi di un costrutto
musicale esistente. Non tutti i costrutti musicali hanno elementi, ma nel caso
di musica sequenziale e simultanea si può esserne sicuri:
music = { \tag #'qui { \tag #'qui <<c''>> } } { \pushToTag #'qui c' \pushToTag #'qui e' \pushToTag #'qui g' \music \appendToTag #'qui c' \appendToTag #'qui e' \appendToTag #'qui g' \music }
Entrambi i comandi prendono tre argomenti: un’etichetta, il materiale da combinare ad ogni occorenza dell’etichetta e l’espressione contrassegnata.
Vedi anche
Manuale di apprendimento: Organizzare i brani con le variabili.
Guida alla notazione: Combinazione automatica delle parti, Inclusione di file LilyPond.
Problemi noti e avvertimenti
Se si usa \relative
prima di un’espressione musicale ottenuta
filtrando la musica con \keepWithTag
o \removeWithTag
,
i rapporti di ottava potrebbero cambiare, perché verranno considerate
solo le altezze rimaste nell’espressione filtrata. Per evitare questo
rischio, usare \relative
prima di \keepWithTag
o
\removeWithTag
, in modo che \relative
agisca su tutte
le altezze prima del filtro.
[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Uso delle etichette ] | [ Su : Edizioni diverse da un unico sorgente ] | [ Caratteri speciali > ] |
Impostazioni globali
È possibile includere impostazioni globali da un altro file:
lilypond -dinclude-settings=MIE_IMPOSTAZIONI.ly MIA_PARTITURA.ly
Gruppi di impostazioni come dimensioni del foglio e tipo di carattere possono essere salvati in file separati. Ciò permette di ottenere diverse edizioni dalla stessa partitura o di applicare delle impostazioni tipiche a molte partiture, semplicemente indicando il relativo file delle impostazioni.
Questa tecnica è la stessa usata per i fogli di stile, trattati in Fogli di stile.
Vedi anche
Manuale di apprendimento: Organizzare i brani con le variabili, Fogli di stile.
Guida alla notazione: Inclusione di file LilyPond.
[ << Input e output ] | [Inizio][Contenuti][Indice] | [ Gestione dello spazio >> ] |
[ < Uso delle etichette ] | [ Su : Edizioni diverse da un unico sorgente ] | [ Caratteri speciali > ] |