5.5.4 Modificació de les formes
Modificació de lligadures d’unió i d’expressió |
Modificació de lligadures d’unió i d’expressió
Les lligadures d’unió (Tie
s), d’expressió (Slur
s),
de fraseig (PhrasingSlur
s), de deixar vibrar
(LaissezVibrerTie
s) i de repetició (RepeatTie
s) es
tracen com corbes de Bézier de tercer ordre. Si la forma de la
ligadur calculada automàticament no resulta òptima, es pot
modificar la seva forma manualment de dues formes:
- mitjançant l’especificació dels desplaçament que es volen realitzar sobre els punts de control de la corba de Bézier calculada automàticament, o bé
- mitjançant l’especificació explícita de les posiciones dels quatre punts de control que calen per definir la corba desitjada.
A continuació s’expliquen ambdós mètodes. El primer mètode és més adequat quan sols calen lleugers ajustaments de la corba; el segon pot ser millor per crear corbes que tenen relació amb una única nota.
Corbes de Bézier cúbiques
Les corbes Bézier de tercer ordre o cúbiques estan definides per quatre punts de control. El primer i quart punts de control són exactament els punts extrems de començament i de final de la corba. Els dos punts de control intermedis defineixen la forma. Es poden trobar a la web animacions que mostren com es traça la corba, però la descripció següent pot ser d’ajuda. La corba comença a partir del primer punt de control dirigint-se directament cap al segon, corbant-se progressivament per dirigir-se cap al tercer i continuant la corba cap al quart, arribant a aquest punt en viatge directe des del tercer punt de control. La corba està continguda enterament dins del quadrilàter definit pels quatre punts de control. Totes les translacions, rotacions i escalats dels punts de control produeixen exactament les mateixes operacions sobre la corba.
Especificació de desplaçament a partir dels punts de control actuals
En aquest exemple, la col·locació automàtica de la lligadura no
resulta òptima, i \tieDown
no és la solució.
<< { e'1~ 1 } \\ \relative { r4 <g' c,> <g c,> <g c,> } >>
Els ajustaments dels punts de control de la lligadura mitjançant
l’ordre \shape
permet evitar les col·lisions.
La sintaxi de \shape
és:
[-]\shape desplaçament element
Aquesta ordre recol·loca els punts de control d’element en
les quantitats donades per desplaçaments. L’argument
desplazamientos és una llista de parelles de nombres o una
llista d’aquestes llistes. Cada element d’una parella representa
el desplaçament d’una de les coordenades d’un punt de control.
Si l’element és una cadena de caràcter. el resultat és
\once\override
per al tipus de grob especificat. Si
elemento és una expressió musical, el resultat és la mateixa
expressió musical amb la consegüent modificació aplicada.
En altres paraules, la funció \shape
pot actuar com una
ordre \once\override
o com una ordre \tweak
depenent
de si l’argument element és el nom d’un grob, com “Slur”,
o una expressió musical, com “(”. L’argument
desplaçaments especifica els desplaçaments dels quatre punts
de control com una llista de quatre parelles de valors (dx . dy)
en unitats d’espais de pentagrama (o una llista d’aquestes llistes
si la corba té més d’un segment).
El guió precedent s’exigeix si, i sols si, s’usa la forma
\tweak
.
Així, usant el mateix exemple anterior i la forma
\once\override
de l’ordre \shape
, el següent té
l’efecte d’elevar la lligadura d’unió en la meitat d’un espai de
pentagrama:
<< { \shape #'((0 . 0.5) (0 . 0.5) (0 . 0.5) (0 . 0.5)) Tie e'1~ 1 } \\ \relative { r4 <g' c,> <g c,> <g c,> } >>
Aquest posicionament de la lligadura d’unió és millor, però potser
hauria d’elevar-se més a la part central. L’exemple següent fa
això, aquest cop usant la forma alternativa \tweak
:
<< { e'1-\shape #'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)) ~ e' } \\ \relative { r4 <g' c,> <g c,> <g c,> } >>
Els canvis en les posicions horitzontals dels punts de control es poden fer de la mateixa forma, i dues corbes diferents que comencen al mateix moment musical també es poden conformar:
\relative { c''8(\( a) a'4 e c\) \shape #'((0.7 . -0.4) (0.5 . -0.4) (0.3 . -0.3) (0 . -0.2)) Slur \shape #'((0 . 0) (0 . 0.5) (0 . 0.5) (0 . 0)) PhrasingSlur c8(\( a) a'4 e c\) }
La funció \shape
també pot desplaçar els punts de control
de les corbes que s’estenen travessant salts de línia. Cada peça
de la corba dividida pot rebre la seva pròpia llista de
desplaçaments. Si no cal fer canvis a un dels segments en
particular, es pot usar una llista buida contenidor. En aquest
exemple, el salt de línia fa que l’única lligadura d’expressió
aparegui com si fossin dos:
\relative { c'4( f g c \break d,4 c' f, c) }
Els canvis en la forma de les dues meitats de la lligadura d’expressió deixa més clar que la lligadura continua més enllà del salt de línia:
% () es pot usar com a abreviatura per a ((0 . 0) (0 . 0) (0 . 0) (0 . 0)) % si no cal canviar algun dels segments \relative c' { \shape #'( (( 0 . 0) (0 . 0) (0 . 0) (0 . 1)) ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5)) ) Slur c4( f g c \break d,4 c' f, c) }
En una corba en forma d’«S» sempre cal ajustar manualment els punts de control: el Lilypond mai no escull aquestes formes automàticament.
\relative c'' { c8( e b-> f d' a e-> g) \shape #'((0 . -1) (5.5 . -0.5) (-5.5 . -10.5) (0 . -5.5)) PhrasingSlur c8\( e b-> f d' a e-> g\) }
Especificació específica dels punts de control
Les coordenades dels punts de control de Bézier s’especifiquen en unitats d’espais de pentagrama. La coordenada X és relativa al punt de referència al qual s’adjunta la lligadura, i la coordenada Y és relativa a la línia central del pentagrama. Les coordenades s’especifiquen com una llista de quatre parelles de nombres decimals (reals). Un enfocament consisteix a estimar les coordenades dels dos extrems, i després endevinar els dos punts intermedis. Els valores òptims es troben després per prova i error. Tingueu en compte que aquests valors podrien requerir un ajustament manual si es fa posteriorment qualsevol canvi manual a la música o a la disposició.
Una situació en la qual és preferible especificar els punts de control explícitament a especificar els desplaçaments és quan cal especificar-los de forma relativa a una nota única. A continuació presentem un exemple d’això. Mostra una forma d’indicar una lligadura que s’estén cap a l’interior de les caselles de primera i segona veu d’una repetició.
\relative { c''1 \repeat volta 3 { c4 d( e f } \alternative { { g2) d } { g2 % crea una lligadura d'expressió i mou-la a una nova posició % <> és simplement un acord buit per portar el final de la lligadura d'unió -\tweak control-points #'((-2 . 3.8) (-1 . 3.9) (0 . 4) (1 . 3.4)) ( <> ) f, } { e'2 % create a slur and move it to a new position -\tweak control-points #'((-2 . 3) (-1 . 3.1) (0 . 3.2) (1 . 2.4)) ( <> ) f, } } }
Advertiments i problemes coneguts
No és possible modificar la forma de les lligadures d’unió o
d’expressió canviant la propietat control-points
si hi ha
més d’una en el mateix moment musical, ni tan sols usant l’ordre
\tweak
. Malgrat això, es pot sobreescriure la propietat
tie-configuration
de TieColumn
per fixar la línia
d’inici i la direcció segons es requereixi.
Vegeu també
Referència de funcionament intern: TieColumn.