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

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" {
      \set Staff.printPartCombineTexts = ##f
      \partcombine
      \sopranoMusic
      \altoMusic
    }
    \new Staff = "Sinistra" {
      \set Staff.printPartCombineTexts = ##f
      \clef "bass"
      \partcombine
      \tenorMusic
      \bassMusic
    }
  >>
>>

[image of music]

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.


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:

FiltroRisultato
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 \removeWithTagViene 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
}

[image of music]

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
}

[image of music]

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

[image of music]

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
}

[image of music]

Due o più filtri \keepWithTag applicati a una singola espressione musicale toglieranno tutte le sezioni etichettate, perché il primo filtro toglie tutte le sezioni etichettate eccetto quella menzionata e il secondo filtro toglie anche quella sezione etichettata. Di solito si usa invece un singolo comando \keepWithTag con una lista di varie etichette: in questo modo verranno rimosse soltanto le sezioni etichettate non specificate nella lista.

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à. Per questa ragione, è possibile dichiarare ‘gruppi di etichette’ per raggruppare etichette correlate:

\tagGroup #'(violinoI violinoII viola cello)

dichiara che queste etichette appartengono a un gruppo.

\keepWithTag #'violinoI …

filtrerà allora soltanto le etichette presenti nel gruppo cui appartiene violinoI: verrà tolto qualsiasi elemento che sia contrassegnato con una o più etichette di questo gruppo ma non con violinoI.

Per il comando \keepWithTag, sono visibili solo le etichette provenienti dai gruppi cui appartengono le etichette specificate dopo il comando.

Non è possibile assegnare la stessa etichetta a più di un gruppo.

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:

test = { \tag #'qui { \tag #'qui <<c''>> } }

{
  \pushToTag #'qui c'
  \pushToTag #'qui e'
  \pushToTag #'qui g' \test
  \appendToTag #'qui c'
  \appendToTag #'qui e'
  \appendToTag #'qui g' \test
}

[image of 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.


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.


Altre lingue: English, deutsch, español, français, 日本語.
About automatic language selection.

LilyPond — Guida alla Notazione v2.19.36 (ramo di sviluppo).