[ << Notació musical ] | [Top][Contents][Index] | [ Notació especialitzada >> ] |
[ < Barres automàtiques ] | [ Up : Barres ] | [ Barres manuals > ] |
Establir el comportament de les barres automàtiques
Quan està habilitat el barrat automàtic, la col·locació de les
barres automàtiques ve determinada per tres propietats de context:
beatBase
, beatStructure
i beamExceptions
.
Els valores predeterminats d’aquestes variables es poden
sobreescriure com es descriu més a baix, o de forma alternativa
els propis valors predeterminats es poden canviar com s’explica a
Indicació de compàs.
Si hi ha definida una regla de beamExceptions
per al compàs
en curs, s’usa aquesta regla per determinar la col·locació de les
barres; s’ignoren els valores de beatBase
i
beatStructure
.
Si no hi ha definida cap regla de beamExceptions
per al
tipus de compàs en curs, la col·locació de les barres està
determinada pels valors de beatBase
i
beatStructure
.
Barrat basat en beatBase
i beatStructure
De forma predeterminada, les regles de beamExceptions
estan
definides per als compassos més comuns, i les regles de
beamExceptions
s’han de desactivar si pretenem que el
barrat automàtic estigui basat en beatBase
i
beatStructure
. Les regles de beamExceptions
es
desactiven mitjançant
\set Timing.beamExceptions = #'()
Quan el valor de beamExceptions
s’ha establert a
#'()
, ja sigui degut a un ajust explícit o a causa que no
hi ha cap regla de beamExceptions
definida internament per
al compàs actual, els punts finals de les barres estan en les
pulsacions segons vingui determinat per les propietats de context
beatBase
i beatStructure
.
beatStructure
és una llista d’Scheme que defineix la
longitud de cada pulsació dins del compàs en unitats de
beatBase
. De forma predeterminada, cada unitat de
longitud beatBase
és una única pulsació.
Observeu que hi ha valors de beatStructure
i de
beatBase
diferents per a cada indicació de compàs. Els
canvis que es fan a aquestes variables s’apliquen sols al tipus de
compàs vigent, per la qual cosa aquests canvis s’han d’escriure
després de l’ordre \time
que dóna començament a una secció
nova amb un tipus de compàs diferent, no abans. Els valors nous
que es donen a una indicació de compàs concreta es retenen i es
tornen a aplicar quan aquest tipus de compàs torna a establir-se.
\relative c'' { \time 5/16 c16^"default" c c c c | % beamExceptions no és probable que es defineixi per a un tempo 5/16 % però els desactivarem igual per assegurar-nos \set Timing.beamExceptions = #'() \set Timing.beatStructure = 2,3 c16^"(2+3)" c c c c | \set Timing.beatStructure = 3,2 c16^"(3+2)" c c c c | }
\relative { \time 4/4 a'8^"default" a a a a a a a % Desactiva beamExceptions perquè sí que està % definit per a un tempo 4/4 \set Timing.beamExceptions = #'() \set Timing.beatBase = #1/4 \set Timing.beatStructure = 1,1,1,1 a8^"changed" a a a a a a a }
Els canvis als ajustament de barrat es poden limitar a contextos específics. Si no s’inclou cap ajustament a un context de nivell més baix, s’apliquen els ajustament del context que l’envolta.
\new Staff { \time 7/8 % No cal beamExceptions % atès que no està definit per al tempo 7/8 \set Staff.beatStructure = 2,3,2 << \new Voice = one { \relative { a'8 a a a a a a } } \new Voice = two { \relative { \voiceTwo \set Voice.beatStructure = 1,3,3 f'8 f f f f f f } } >> }
En cas d’usar diverses veus, s’ha d’especificar el context
Staff
si volem aplicar el barrat a totes les veus del
pentagrama:
\time 7/8 % ritme 3-1-1-2 % Canvi aplicat a Voice per defecte -- no funciona correctament % A causa de veus autogenerades, totes les pulsacions estaran a % beatBase #1/8 \set beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >> % Funciona correctament amb el context Staff especificat \set Staff.beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
El valor de beatBase
es pot ajustar per canviar el
comportament de les barres, si es desitja. Quan es fa, el
valor de beatStructure
s’ha de fixar de manera que sigui
compatible amb el nou valor de beatBase
.
\time 5/8 % No cal desactivar beamExceptions % atès que no està definit per al tempo 5/8 \set Timing.beatBase = #1/16 \set Timing.beatStructure = 7,3 \repeat unfold 10 { a'16 }
De forma predeterminada beatBase
està fixat a una unitat
més que el denominador del compàs. Totes les excepcions a aquest
valor predeterminat estan a
scm/time-signature-settings.scm.
Barrat basat en beamExceptions
Les regles d’autobarrat especials (diferents a acabar una barra
sobre una pulsació) estan definides a la propietat
beamExceptions
.
El valor de beamExceptions
, que és una estructura de dades
força complexa, es genera fàcilment amb la funció
\beamExceptions
. Aquesta funció rep un o més patrons
rítmics barrats manualment i amb un compàs de duració (els
compassos s’han de separar amb una barra de comprovació de
compàs |
perquè la funció no té cap altra manera
d’esbrinar la longitud del compàs). Vet aquí un exemple senzill:
\relative c'' { \time 3/16 \set Timing.beatStructure = 2,1 \set Timing.beamExceptions = \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } c16 c c | \repeat unfold 6 { c32 } | }
Nota: Un valor de beamExceptions
ha de ser una llista
d’excepcions completa. És a dir, tota excepció que s’hagi
d’aplicar ha d’estar inclosa a aquest ajustament. No és possible
afegir, eliminar o canviar sols una de les excepcions. Tot i que
això pot semblar fastigós, vol dir que no és necessari conèixer
els ajustaments de barrat actuals per poder especificar un patró
de barrat nou.
Quan canvia el compàs es fixen els valors predeterminats de
Timing.beatBase
, Timing.beatStructure
i
Timing.beamExceptions
. Un ajustament en el tipus de compàs
dóna com a resultat un reinici dels ajustaments de barrat
automàtic per al context Timing
al comportament predeterminat.
\relative a' { \time 6/8 \repeat unfold 6 { a8 } % grup (4 + 2) \set Timing.beatStructure = 4,2 \repeat unfold 6 { a8 } % torna al comportament predeterminat \time 6/8 \repeat unfold 6 { a8 } }
Els ajustament de barrat automàtic predeterminat per a un tipus de compàs estan determinats en el fitxer scm/time-signature-settings.scm. La forma de canviar els ajustament predeterminats de barrat automàtic per a un tipus de compas es descriu a Indicació de compàs.
Molts ajustaments de barrat automàtics per a un tipus de compàs
contenen una entrada per a beamExceptions
. Per exemple, el
compàs de 4/4 intenta unir el compàs en dues parts si sols hi ha
corxeres. La regla beamExceptions
pot sobreescriure
l’ajustament beatStructure
si no es reinicia
beamExceptions
.
\time 4/4 \set Timing.beatBase = #1/8 \set Timing.beatStructure = 3,3,2 % Això no barrarà (3 3 2) degut a beamExceptions \repeat unfold 8 {c''8} | % Això barrarà (3 3 2) perquè eliminem beamExceptions \set Timing.beamExceptions = #'() \repeat unfold 8 {c''8}
De forma semblant, les corxeres en compàs de 3/4 s’uneixen
mitjançant una sola barra per a tot el compàs, de forma
predeterminada. Per unir les corxeres en 3/4 mitjançant una barra
a cada part, reinicieu beamExceptions
.
\time 3/4 % per defecte barrem a (6) degut a beamExceptions \repeat unfold 6 {a'8} | % Això barrarà (1 1 1) degut a beatBase i beatStructure predeterminats \set Timing.beamExceptions = #'() \repeat unfold 6 {a'8}
A la música gravada dels períodes clàssic i romàntic, amb
freqüència les barres comencen a meitat d’un compàs de 3/4, però
la pràctic moderna és evitar la falsa impressió de 6/8 (vegeu
Gould, pàg. 153). Es produeixen situacions semblants al compàs de
3/8. Aquest comportament es controla mitjançant la propietat de
context beamHalfMeasure
, que té efecte sobre indicacions de
compàs que tenen la xifra 3 al numerador:
\relative a' { \time 3/4 r4. a8 a a | \set Timing.beamHalfMeasure = ##f r4. a8 a a | }
Com funciona el barrat automàtic
Quan s’habilita el barrat automàtic, la col·locació de les barres
de corxera automàtiques es determinen per les propietats de
context beatBase
, beatStructure
i
beamExceptions
.
Són d’aplicació les següents regles, en ordre de prioritat, quan es determina l’aspecte de les barres:
- Si està especificada una barra manual amb
[…]
, s’ha de fixar la barra tal com s’ha especificat; en cas contrari, - Si està definida a
beamExceptions
una regla de barrat per a aquest tipus de barra més llarg, s’ha d’utilitzar-la per determinar els llocs vàlids en els quals poden acabar les barres; en cas contrari, - Si està definida a
beamExceptions
una regla de final de barra per a un tipus de barra més llarg, s’ha d’utilitzar-la per determinar els llocs vàlids en els quals poden acabar les barres; en cas contrari, - usar els valors de
beatBase
i debeatStructure
per determinar els finals de les pulsacions del compàs, i terminar les barres al final de les pulsacions.
En les regles anteriors, el tipus de barra beam-type és la duració de la nota més breu dins del grup unit per una barra.
Les regles de barrat predefinides estan al fitxer scm/time-signature-settings.scm.
Fragments de codi seleccionats
Subdivisió de barres
Les barres de semicorxera, o de figures més breus, no es subdivideixen
de forma predeterminada. És a dir, les tres (o més) barres s’amplien
sense trencar-se sobre grups complets de notes. Aquest comportament
es pot modificar per subdividir les barres en subgrups mitjançant
l’establiment de la propietat subdivideBeams
. Quan està
activada, les barres es subdivideixen a intervals definits pel
valor actual de beatBase
mitjançant la reducció de les
barres repetides a una sola entre els subgrups. Observeu que el
valor predeterminat de beatBase
és un més que el
denominador del tipus de compàs actual, si no es fixa explícitament.
S’ha d’ajustar a una fracció que dóna la duració del subgrup de
barres utilitzant la funció ly:make-moment
, como es veu en
aquest fragment de codi. Així mateix, quan es modifica
beatBase
, s’hauria de canviar també beatStructure
perquè correspongui al beatBase
nou:
\relative c'' { c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] % Set minimum beam subdivision interval to 1/8 just for this beam \once \set minimumBeamSubdivisionInterval = \musicLength 8 c32[ c c c c c c c] % Set maximum beam subdivision interval to 1/16 just for this beam \once \set maximumBeamSubdivisionInterval = \musicLength 16 c32[ c c c c c c c] % Set maximum beam subdivision interval to 3/8 just for this beam \once \set maximumBeamSubdivisionInterval = \musicLength 8*3 [ \repeat unfold 16 c64 ] r2. % Set maximum beam subdivision interval to 1/64 to limit subdivision depth, % despite not being metrically correct \once \set minimumBeamSubdivisionInterval = \musicLength 32 \once \set maximumBeamSubdivisionInterval = \musicLength 64 [ \repeat unfold 32 c128 ] r2. % Shorten beam by 1/32 c32[ c c c c c c] r32 % Shorten beam by 3/32 c32[ c c c c] r16. % Respect the incomplete beams of the previous two examples \set respectIncompleteBeams = ##t c32[ c c c c c c] r32 % no visual change here as last two stems are exempt from this % special rule c32[ c c c c] r16. }
Barres que respecten el pols estrictament
Es poden fer que les barres secundàries apuntin en la direcció del pols o fracció a que pertanyen. La primera barra evita els corxets aïllats (que és el comportament predeterminat); la segona barra segueix el pols o fracció estrictament.
\relative c'' { \time 6/8 a8. a16 a a \set strictBeatBeaming = ##t a8. a16 a a }
Símbols de direcció y símbols d’agrupació de compàs
L’agrupació de pulsacions dins d’un compàs està controlada per la
propietat de context beatStructure
. Hi ha establerts valors de
beatStructure
per a molts tipus de compassos a
scm/time-signature-settings.scm
. Els valors de
beatStructure
es poden canviar o establir amb \set
. Com
alternativa, es pot usar \time
per establir tant el compàs com
l’estructura de pulsacions. Per això, especifiquem l’agrupació
interna de les pulsacions del compàs com una llista de nombres (en la
sintaxi de l’Scheme) abans de la indicació del compàs.
\time
s’aplica al context Timing
, per la qual cosa no
restableix els valors de beatStructure
ni de beatBase
que s’estableixen en altres contextos de nivell inferior, com
Voice
.
Si el gravador Measure_grouping_engraver
està inclòs en un dels
contextos de presentació, s’imprimiran signes d’agrupació de
pulsacions. Aquests símbols faciliten la lectura de música moderna
rítmicament complexa. En aquest exemple, el compàs de 9/8 s’agrupa
segons dos patrons diferents utilitzant els dos mètodes, mentre que el
compàs de 5/8 s’agrup d’acord amb l’ajustament predeterminat que està
a scm/time-signature-settings.scm
:
\score { \new Voice \relative c'' { \time 9/8 g8 g d d g g a( bes g) | \set Timing.beatStructure = 2,2,2,3 g8 g d d g g a( bes g) | \time 4,5 9/8 g8 g d d g g a( bes g) | \time 5/8 a4. g4 | \time 3,3,2 4/4 \set Timing.beatBase = #1/8 f4 d8 f4 d8 g4 } \layout { \context { \Staff \consists "Measure_grouping_engraver" } } }
Finals de barra en el context Score
Les regles de final de barra especificades en el context
Score
s’apliquen a tots els pentagrames, però es poden
modificar tant en els nivells de Staff
como de
Voice
:
\relative c'' { \time 5/4 % Set default beaming for all staves \set Score.beatBase = #1/8 \set Score.beatStructure = 3,4,3 << \new Staff { c8 c c c c c c c c c } \new Staff { % Modify beaming for just this staff \set Staff.beatStructure = 6,4 c8 c c c c c c c c c } \new Staff { % Inherit beaming from Score context << { \voiceOne c8 c c c c c c c c c } % Modify beaming for this voice only \new Voice { \voiceTwo \set Voice.beatStructure = 6,4 a8 a a a a a a a a a } >> } >> }
Vegeu també
Referència de la notació: Indicació de compàs.
Fitxer d’inici: scm/time-signature-settings.scm.
Fragments de codi: Rhythms.
Referència de funcionament intern: Auto_beam_engraver, Beam, BeamForbidEvent, beam-interface.
Advertiments i problemes coneguts
Si una partitura acaba mentre una barra de corxera automàtica no
ha acabat i encara accepta notes, aquesta última barra no
s’imprimeix en absolut. El mateix serveix per a les veus
polifòniques introduïdes amb << … \\ … >>
. Si
una veu polifònica acaba mentre una barra de corxera automàtica
encara admet notes, no s’imprimeix. La solució per a aquests
problemes és aplicar el barrat manual a l’última barra de la veu o
partitura.
De forma predeterminada, el traductor Timing
rep el nom de
context Score
como àlies. Això significa que l’establiment
del compàs a una pauta afectarà el barrat de les altres pautes
també. Així, un ajust en el compàs a un pentagrama tardà
reiniciarà el barrat personalitzat que s’havia ajustat a un
pentagrama més primerenc. Una forma d’evitar aquest problema és
ajustar la indicació de compàs a un pentagrama solament.
<< \new Staff { \time 3/4 \set Timing.beatBase = #1/8 \set Timing.beatStructure = 1,5 \set Timing.beamExceptions = #'() \repeat unfold 6 { a'8 } } \new Staff { \repeat unfold 6 { a'8 } } >>
Els ajustos de barrat predeterminat per a aquest compàs també es poden canviar, de forma que sempre s’utilitzi el barrat desitjat. La menara d’efectuar canvis als ajustos de barrat automàtic per a una indicació de compàs es descriu a Indicació de compàs.
<< \new Staff { \overrideTimeSignatureSettings 3/4 % timeSignatureFraction #1/8 % beatBase 1,5 % beatStructure #'() % beamExceptions \time 3/4 \repeat unfold 6 { a'8 } } \new Staff { \time 3/4 \repeat unfold 6 { a'8 } } >>
[ << Notació musical ] | [Top][Contents][Index] | [ Notació especialitzada >> ] |
[ < Barres automàtiques ] | [ Up : Barres ] | [ Barres manuals > ] |