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" {
      \partCombine
      \sopranoMusic
      \altoMusic
    }
    \new Staff = "Sinistra" {
      \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]

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
}

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

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

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


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