3.3.2 Diferents edicions a partir d’una mateixa font
Es posen usar diversos mètodes per generar la producció de diferents versions d’una partitura a partir de la mateixa font musical. Les variables són potser el més útil per combinar seccions extenses de música i/o anotacions. Les etiquetes són més útils per seleccionar una secció d’entre diverses seccions de música alternatives, més curtes, i es poden usar també per dividir peces de música en diferents trossos.
Qualsevol que sigui el mètode utilitzat, la separació de la notació de l’estructura de la partitura farà que sigui més fàcil canviar l’estructura deixant intacta la notació.
Ús de les variables | ||
Ús d’etiquetes | ||
Ús d’ajustaments globals |
Ús de les variables
Si les seccions de la música es defineixen dins de variables, es poden reutilitzar en diferents parts de la partitura, vegeu Organitzar les peces mitjançant variables. Per exemple, una partitura vocal a cappella freqüentment inclou una reducció de piano de les parts per assajar que és idèntica a la música vocal, per la qual cosa aquesta partitura sols s’ha d’escriure una vegada. Es pot combinar sobre un sol pentagrama la música de dues variables, vegeu Combinació automàtica de les parts. Vegeu aquí un exemple:
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 = "Tenor" { \clef "treble_8" \tenorMusic } \new Lyrics \allLyrics \new Staff = "Bass" { \clef "bass" \bassMusic } \new Lyrics \allLyrics \new PianoStaff << \new Staff = "RH" { \partCombine \sopranoMusic \altoMusic } \new Staff = "LH" { \clef "bass" \partCombine \tenorMusic \bassMusic } >> >>
Es poden produir partitures diferents que presenten sols les parts vocals o sola la part de piano, canviant sols els enunciats estructurals, sense modificar la notació musical.
Per partitures extenses, les definicions de variable es poden posar a fitxers separats que s’inclouen més tard, vegeu Inclusió de fitxers del LilyPond.
Ús d’etiquetes
L’ordre \tag #'parteA
marca una expressió musical amb
el nom parteA. Les expressions etiquetades d’aquesta manera
es poden seleccionar o filtrar més tard pel seu nom, usant o bé
\keepWithTag #'nom
o bé
\removeWithTag #'nom
. El resultat de l’aplicació
d’aquests filtres a la música etiquetada és com segueix:
Filtre | Resultat |
---|---|
Música etiquetada precedida de \keepWithTag #'nom o
de \keepWithTag #'(nom1 nom2…) | S’inclou la música no etiquetada i la música etiquetada amb el nom o noms d’etiquetes donats; s’exclou la música etiquetada amb qualsevol altre nom d’etiqueta. |
Música etiquetada precedida de
\removeWithTag #'nom o
\removeWithTag #'(nom1 nom2…) | S’inclou la música no etiquetada i la música que no està etiquetada amb cap dels noms d’etiqueta donats; s’exclou la musica etiquetada amb els noms d’etiqueta donats. |
Música etiquetada no precedida de \keepWithTag ni de
\removeWithTag | S’inclou la música etiquetada i no etiquetada. |
Els arguments de les ordres \tag
,
\keepWithTag
i \removeWithTag
han de ser un símbol o
llista de símbols (com #'score
o #'(violiI
violiII
), seguida d’una expressió musical. Si i sols si
els símbols són identificadors del LilyPond vàlids
(caràcters alfabètics sols, sense números, guions baixos ni guions
normals) que no poden confondre’s amb notes, la porció
#'
es pot ometre i, com abreviatura, una llista de símbols
pot usar el separador de punt, és a dir: \tag
#'(violiI violiII)
es pot escriure com \tag
violiI.violiII
. Val el mateix per a \keepWithTag
i
\removeWithTag
.
A l’exemple següent veiem dues versions d’una peça musical, una que mostra trins amb la notació usual i una altra amb els trins expandits explícitament:
music = \relative { g'8. c32 d \tag #'trills { d8.\trill } \tag #'expand { \repeat unfold 3 { e32 d } } c32 d } \score { \keepWithTag #'trills \music } \score { \keepWithTag #'expand \music }
De forma alternativa, a vegades és més fàcil excloure seccions de música:
music = \relative { g'8. c32 d \tag #'trills { d8.\trill } \tag #'expand {\repeat unfold 3 { e32 d } } c32 d } \score { \removeWithTag #'expand \music } \score { \removeWithTag #'trills \music }
El filtrat d’etiquetes es pot aplicar a articulacions, textos, etc., anteposant
-\tag #'la-meva-etiqueta
a una articulació. Per exemple, això defineix una nota amb una indicació opcional de digitació i una nota amb una anotació condicional:
c1-\tag #'finger ^4 c1-\tag #'warn ^"Alerta!"
Es poden posar diverses etiquetes sobre expressions amb diverses
entrades de \tag
, o combinant diverses etiquetes en una
llista de símbols:
music = \relative c'' { \tag #'a \tag #'both { a4 a a a } \tag #'(b both) { b4 b b b } } << \keepWithTag #'a \music \keepWithTag #'b \music \keepWithTag #'both \music >>
Es poden aplicar diversos filtres \removeWithTag
a una sola
expressió musical per treure diverses seccions etiquetades amb
noms diferents. De forma alternativa, podem usar una sola ordre
\removeWithTag
amb una llista d’etiquetes.
music = \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 \music \removeWithTag #'(B C) \music }
L’ús de dos o més filtres \keepWithTag
sobre una sola
expressió musical produeix l’eliminació de totes les
seccions etiquetades. El primer filtre treu totes excepte la que
es nombra, i qualsevol filtre posterior elimina el reste. Usant
una sola ordre \keepWithTag
amb una llista de diverses
etiquetes se suprimiran sols les seccions etiquetades que no
apareixen especificades a la llista.
music = \relative c'' { \tag #'violiI { a4 a a a } \tag #'violiII { b4 b b b } \tag #'viola { c4 c c c } \tag #'violoncel { d4 d d d } } \new Staff { \keepWithTag #'(violinI violinII) \music }
imprimirà \tag
s violiI i violiII però no
viola o violoncel.
Tot i que \keepWithTag
és útil per a la gestió de un
sol conjunt d’alternatives, l’eliminació de música etiquetada amb
altres etiquetes no relacionades és problemàtica si
s’utilitza per més d’un propòsit. En aquest cas poden declarar-se
‘grups d’etiquetes’:
\tagGroup #'(violiI violiII viola violoncel)
Ara totes les etiquetes pertanyen a un sol ‘grup d’etiquetes’. Observeu que les etiquetes individuals no poden ser membres de més d’un grup d’etiquetes.
\keepWithTag #'violiI …
mostrarà sols la música etiquetada a partir del grup d’etiquetes
de violiI
i qualsevol fragment musical etiquetada amb una
de les altres etiquetes resultarà suprimit.
music = \relative { \tagGroup #'(violiI violiII viola violoncel) \tag #'violiI { c''4^"violiI" c c c } \tag #'violiII { a2 a } \tag #'viola { e8 e e2. } \tag #'violoncel { d'2 d4 d } R1^"untagged" } \new Voice { \keepWithTag #'violiI \music }
En usar l’ordre \keepWithTag
sols són visibles les
etiquetes dels grups d’aquelles etiquetes que s’inclouen a l’ordre.
A vegades podem desitjar dividir la música en un determinat lloc
dins d’una expressió musical existent. Podem usar
\pushToTag
i \appendToTag
per afegir material davant
o al final dels elements
d’una construcció musical
existent. No tota construcció musical té la part
elements
, però les músiques seqüencials i simultànies són
dues apostes segures:
music = { \tag #'here { \tag #'here <<c''>> } } { \pushToTag #'here c' \pushToTag #'here e' \pushToTag #'here g' \music \appendToTag #'here c' \appendToTag #'here e' \appendToTag #'here g' \music }
Les dues ordres admeten una etiqueta, el material que divideix en cada aparició de l’etiqueta, i l’expressió etiquetada.
Vegeu també
Manual d’aprenentatge: Organitzar les peces mitjançant variables.
Referència de la notació: Combinació automàtica de les parts, Inclusió de fitxers del LilyPond.
Advertiments i problemes coneguts
En cridar a \relative
sobre una expressió musical obtinguda
mitjançant el filtratge de música amb les ordres
\keepWithTag
o \removeWithTag
, podria passar que
canviessin les altures de les notes que efectivament romanen a
l’expressió filtrada. L’aplicació de \relative
en primer
lloc, abans de \keepWithTag
o de \removeWithTag
,
evita aquest perill perquè en aquest cas
\relative
actua sobre totes les notes tal i com s’introdueixen.
[ << Entrada i sortida generals ] | [Part superior][Continguts][Índex] | [ Gestió de l'espai >> ] |
[ < Ús d'etiquetes ] | [ Amunt : Diferents edicions a partir d'una mateixa font ] | [ Caràcters especials > ] |
Ús d’ajustaments globals
Es poden incloure ajustos globals a partir d’un fitxer diferent:
lilypond -dinclude-settings=ELS_MEUS_AJUSTAMENTS.ly LA_MEVA_PARTITURA.ly
A fitxers diferents es poden emmagatzemar grups d’ajustaments com la mida de la pàgina o les fonts tipogràfiques. Això permet fer diferents edicions de la mateixa partitura així com aplicar ajustaments estàndard a moltes partitures, simplement per mitjà de l’especificació del fitxer d’ajustaments adequat.
Aquesta tècnica també funciona bé amb l’ús de fulls d’estil, com s’estudia a Fulls d'estil.
Vegeu també
Manual d’aprenentatge: Organitzar les peces mitjançant variables, Fulls d'estil.
Referència de la notació: Inclusió de fitxers del LilyPond.
[ << Entrada i sortida generals ] | [Part superior][Continguts][Índex] | [ Gestió de l'espai >> ] |
[ < Ús d'etiquetes ] | [ Amunt : Diferents edicions a partir d'una mateixa font ] | [ Caràcters especials > ] |