[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.5 Espaiat horitzontal

@translationof Horizontal spacing


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.5.1 Panoràmica de l’espaiat horitzontal

@translationof Horizontal spacing overview

El motor d’espaiat tradueix les diferències en les duracions a distàncies ampliables (‘molls’) de diferents longituds. Les duracions més llargues reben un espaiat més gran i les duracions més curtes reben menys. Les duracions més breus reben un espai de mida fixa (que es controla mitjançant shortest-duration-space a l’objecte (internals)SpacingSpanner section ‘SpacingSpanner’ in Referència de funcionament intern). Quant més llarga la duració, més espai rep: en doblar una duració se suma spacing-increment a l’espai que ocupa la nota.

Per exemple, la peça següent conté nombroses blanques, negres i corxeres; la corxera va seguida d’una amplada de cap de blanca (ACB). La negra va seguida de 2 ACB, la blanca per 3 ACB, etc.

 
\relative c' {
  c2 c4. c8
  c4. c8 c4. c8
  c8 c c4 c c
}

[image of music]

Normalment, el valor de spacing-increment està establert en 1.2 espais de pentagrama, el que és aproximadament l’amplada d’un cap, i shortest-duration-space està establert a 2.0, el que significa que la nota més breu rep 2.4 espais de pentagrama (2.0 multiplica pel spacing-increment) d’espai horitzontal. Aquest espai es compta a partir de la vora esquerra del símbol, de manera que les notes més breus van seguides generalment per un espai d’1 ACB.

Si seguíssim el procediment anterior exactament, aleshores l’addició d’una sola fusa a una partitura que usa corxeres i semicorxeres augmentaria enormement l’amplada de la partitura completa. La nota més breu ja no és la semicorxera, sinó la fusa, afegint així 1 ACB a cada una de les notes. Per evitar-ho, la duració més breu a efectes d’espaiat no és la nota més breu de la partitura, sinó la que es dóna amb més freqüència.

La duració més breu que és més comuna es determina de la manera següent: a cada compàs es determina la duració més breu. La duració més curta s’agafa com a base per a l’espaiat, havent estipulat que aquesta duració menor sempre ha de ser igual o menor a la corxera. La duració més breu s’imprimeix quan s’executa lilypond amb l’opció ‘--verbose’.

Aquestes duracions també es poden personalitzar. Si establim la common-shortest-duration en (internals)SpacingSpanner section ‘SpacingSpanner’ in Referència de funcionament intern, aleshores aquesta duració estableix la duració base per a l’espaiat. La duració màima per a aquesta base (normalment una corxera), s’estableix amb base-shortest-duration.

Les notes són encara més breus que la nota comuna més breu van seguides per un espai proporcional a la seva duració en relació amb la nota comuna més breu. Així doncs, si anéssim a afegir tan sols algunes semicorxeres a l’exemple anterior, anirien seguides de mig ACB:

 
\relative { c''2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c }

[image of music]

Com es va explicar al Assaig sobre gravat musical automatitzat, les direccions de les pliques influeixen en l’espaiat (vegeu (essay)Optical spacing section ‘Espaiat òptic’ in Monografia) i es pot ajustar amb la propietat stem-spacing-correction de l’objecte (internals)NoteSpacing section ‘NoteSpacing’ in Referència de funcionament intern. Aquestes direccions es generen per cada un dels contextos de (internals)Voice section ‘Voice’ in Referència de funcionament intern.

L’objecte StaffSpacing (generat en el context de (internals)Staff section ‘Staff’ in Referència de funcionament intern) conté la mateixa propietat per controlar l’espaiat de les línies de plica o divisòries.

L’exemple següent mostra aquestes correccions, un cop amb els valors predeterminats i un altre amb un ajustament exagerat:

[image of music]

També hi ha suport per a la notació proporcional; consulteu Notació proporcional.

Vegeu també

Assaig sobre gravat musical automatitzat: (essay)Optical spacing section ‘Espaiat òptic’ in Monografia.

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.

Referència de funcionament intern: (internals)SpacingSpanner section ‘SpacingSpanner’ in Referència de funcionament intern, (internals)NoteSpacing section ‘NoteSpacing’ in Referència de funcionament intern, (internals)StaffSpacing section ‘StaffSpacing’ in Referència de funcionament intern, (internals)NonMusicalPaperColumn section ‘NonMusicalPaperColumn’ in Referència de funcionament intern.

Advertiments i problemes coneguts

No hi ha cap mecanisme convenient per sobreescriure l’espaiat manualment. Es pot usar el següent ajustament per inserir espai addicional a una partitura, ajustant el valor de farciment a la mesura necessària.

 
 \override Score.NonMusicalPaperColumn.padding = #10

No hi ha cap ajustament per reduir la magnitud de la separació.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.5.2 Secció nova d’espaiat

@translationof New spacing section

Es poden iniciar seccions noves amb diferents paràmetres d’espaiat, amb l’ordre newSpacingSection. Això és útil per a les seccions que distingeixen entre les notes ‘llargues’ i ‘curtes’. L’ordre \newSpacingSection crea un nou objecte SpacingSpanner en aquest moment musical.

A l’exemple següent, el canvi de compàs introdueix una secció nova, i per això les semicorxeres se separen automàticament de manera lleugerament més àmplia.

 
\relative c' {
  \time 2/4
  c4 c8 c
  c8 c c4 c16[ c c8] c4
  \newSpacingSection
  \time 4/16
  c16[ c c8]
}

[image of music]

Si els ajustaments d’espaiat automàtics no donen l’espaiat desitjat, es poden aplicar sobreescriptures manuals a les seves propietats amb \override. Les sobreescriptures s’han d’aplicar al mateix moment musical que la pròpia ordre \newSpacingSection i afectaran aleshores a l’espaiat de tota la música que vingui a continuació fins que les propietats canviïn a una nova secció d’espaiat, per exemple:

 
\relative c' {
  \time 4/16
  c16[ c c8]
  \newSpacingSection
  \override Score.SpacingSpanner.spacing-increment = #2
  c16[ c c8]
  \newSpacingSection
  \revert Score.SpacingSpanner.spacing-increment
  c16[ c c8]
}

[image of music]

Vegeu també

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.

Referència de funcionament intern: (internals)SpacingSpanner section ‘SpacingSpanner’ in Referència de funcionament intern.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.5.3 Canvi de l’espaiat horitzontal

@translationof Changing horizontal spacing

Es pot alterar l’espaiat horitzontal amb la propietat base-shortest-duration. Aquí comparem la mateixa música, un cop sense alterar la propietat i després alterant-la. Els valors majors de ly:make-moment produeixen música més petita. Observeu que ly:make-moment construeix una duració, per la qual cosa 1 4 és una duració més gran que 1 16.

 
\score {
  \relative {
    g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
  }
}

[image of music]

 
\score {
  \relative {
    g'4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
  }
  \layout {
    \context {
      \Score
      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
    }
  }
}

[image of music]

Fragments de codi seleccionats

De forma predeterminada, l’espaiat als grups de valoració especial depenen de diversos factors aliens a la duració (com alteracions, canvis de clau, etc.). Per passar per alt aquests símbols, i forçar un espaiat de duracions iguals uniforme, useu Score.SpacingSpanner.uniform-stretching. Aquesta propietat sols pot canviar-se al principi de la partitura:

 
\score {
  <<
    \new Staff {
      \tuplet 5/4 { c8 c c c c } c8 c c c
    }
    \new Staff {
      c8 c c c \tuplet 5/4 { c8 c c c c }
    }
  >>
  \layout {
    \context {
      \Score
      \override SpacingSpanner.uniform-stretching = ##t
    }
  }
}

[image of music]

Quan s’estableix strict-note-spacing, las notes se separen sense tenir en compte les claus, línies divisòries ni notes d’adorn:

 
\override Score.SpacingSpanner.strict-note-spacing = ##t
\new Staff \relative {
  c''8[ c \clef alto c \grace { c16 c } c8 c c]  c32[ c] }

[image of music]

Vegeu també

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.5.4 Longitud de la línia

@translationof Line width

Els ajustament més bàsics que influeixen en l’espaiat són indent i line-width. Es defineixen al bloc \layout. Controlen el sagnat de la primera línia de música i la longitud de les línies.

Si es fixa un valor vertader per ragged-right al bloc \layout, aleshores els sistemes acaben en la seva longitud horitzontal natural, en comptes de repartir-se horitzontalment fins omplir tota la línia. Això és útil per fragments curts, i per comprovar el grau d’atapeïment de l’espaiat natural. El valor normal predeterminat és fals, però si la partitura té sols un sistema, el valor predeterminat és vertader.

L’opció ragged-last és semblant a ragged-right, però afecta sols a l’última línia de la peça. No s’efectua cap restricció sobre aquesta línia. El resultat és semblant al format dels paràgrafs de text. En un paràgraf, l’última línia senzillament ocupa la seva longitud horitzontal natural.

 
\layout {
  indent = #0
  line-width = #150
  ragged-last = ##t
}

Vegeu també

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.5.5 Notació proporcional

@translationof Proportional notation

El LilyPond dóna suport a la notació proporcional, un tipus d’espaiat horitzontal en el qual cada nota consumeix una mesura horitzontal que equival exactament a la seva duració rítmica. Aquest tipus d’espaiat proporcional és comparable a l’espaiat horitzontal fer sobre un paper mil·limetrat. Certes partitures de finals del segle XX i principis del segle XXI utilitzen notació proporcional per clarificar relacions rítmiques complexes o per facilitar la col·locació de línies cronomètriques o d’altres gràfics directament a la partitura.

El LilyPond dóna suport a cinc ajustament diferents per a la notació proporcional, que es poden usar sols o combinats:

Als exemple següents explorem l’ús d’aquests cinc ajustaments de la notació proporcional i examinem la forma en la qual interactuen.

Comencem amb l’exemple següent d’un sols compàs, que usa un espaiat clàssic sense justificació per la dreta.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
}

[image of music]

Observeu que la blanca que inicia el compàs ocupa molt menys de la meitat de tot l’espai horitzontal del compàs. De forma semblant, les semicorxeres i el cinquet de semicorxeres amb els quals finalitza el compàs ocupen en conjunt molt més de la meitat de tota l’espai horitzontal del compàs.

Al gravat clàssic, aquest espaiat pot ser exactament el que desitgem perquè podem prendre prestat l’espai horitzontal de la blanca i conservar l’espai horitzontal al llarg del compàs com un tot.

Per un altre cantó, si volem inserir una línia de temps graduada o algun altre gràfic a sobre o a sota de la partitura, ens cal la notació proporcional. La notació proporcional s’activa amb l’ajustament proportionalNotationDuration.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
 \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/20)
    }
  }
}

[image of music]

La blanca al principi del compàs i les notes ràpides de la segona meitat del compàs ocupen ara quantitats iguals d’espai horitzontal. Podríem col·locar una línia de temps graduada o un gràfic a sobre o a sota d’aquest exemple.

L’ajustament proportionalNotationDuration és un ajustament de context que resideix a Score. Recordem que els ajustaments de context apareixen en un de tres possibles llocs del fitxer d’entrada: en un bloc \with, en un bloc \context, o directament entre la música precedit de l’ordre \set. Igual que amb tots els ajustaments de context, l’usuari pot escollir en quin dels tres llocs diferents prefereix establir el valor de proportionalNotationDuration.

L’ajustament proportionalNotationDuration accepta un sol argument, que és la duració de referència contra el qual s’aplica l’espaiat de tota la música. La funció Scheme del LilyPond make-moment accepta dos arguments: un numerador i un denominador que, junts, expressen una certa fracció de rodona. La crida (ly:make-moment 1/20), per tant, produeix una duració de referència d’una nota d’un vintè de rodona (semicorxeres de cinquet). Són també possibles valors com (ly:make-moment 1/16), (ly:make-moment 1/8) i (ly:make-moment 3/97).

Com seleccionem la duració correcta de referència per passar-la a proportionalNotationDuration? Normalment mitjançant un procés d’assaig i error, començant amb una duració propera a la duració més ràpida (o més breu) de la peça. Les duracions de referència més petites apliquen un espaiat menys atapeït; les duracions de referència més llargues apliquen un espaiat més atapeït.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/8)
    }
  }
}

\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/16)
    }
  }
}

\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/32)
    }
  }
}

[image of music]

Observeu que una duració de referència massa gran (com a corxera, a l’exemple de dalt) produeix un espaiat excessivament atapeït i pot ser causa de col·lisions entre els caps de nota. Observeu també que la notació proporcional en general ocupa més espai horitzontal que l’espaiat clàssic. L’espaiat proporcional aporta claredat a costa d’espai horitzontal.

Ara veurem com espaiar de forma òptima grups de valoració especial que se superposen.

Comencem per examinar que li passa al nostre exemple origina, amb espaiat clàssic, quan afegim un segon pentagrama amb un tipus diferent de grup especial.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
    \new RhythmicStaff {
      \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
    }
  >>
}

[image of music]

L’espaiat és defectuós perquè les notes regularment espaiades del pentagrama inferior no s’amplien de manera uniforme. Els gravats clàssics inclouen molt pocs tresets complexos i així les regles del gravat clàssic poden generar aquest tipus de resultat. L’establiment de proportionalNotationDuration ho soluciona.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
    \new RhythmicStaff {
      \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/20)
    }
  }
}

[image of music]

Però si observem amb molta cura podrem veure que les notes de la segona meitat del 9-set estan espaiades de forme lleugerament més ampla que les de la primera meitat del 9-set. Per assegurar una ampliació uniforme, activem uniform-stretching, que és una propietat de SpacingSpanner.

 
\score {
  <<
    \new RhythmicStaff {
      c2 16 16 16 16 \tuplet 5/4 { 16 16 16 16 16 }
    }
    \new RhythmicStaff {
      \tuplet 9/8 { c8 8 8 8 8 8 8 8 8 }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1/20)
      \override SpacingSpanner.uniform-stretching = ##t
    }
  }
}

[image of music]

El nostre exemple de dos pentagrames ara està espaiat exactament, les nostres rítmiques són visualment clares, i podem incloure una línia de temps graduada o un gràfic, si volem.

Observeu que el paquet de notació proporcional del LilyPond espera que totes les partitures proporcionals estableixin l’atribut uniform-stretching de SpacingSpanner al valor ##t. L’establiment de proportionalNotationDuration sense ajustar també l’atribut uniform-stretching de SpacingSpanner al valor ##t causarà, per exemple, que els desplaçament (skips) consumeixin una quantitat d’espai horitzontal incorrecta.

El SpacingSpanner és un grob abstracte que resideix al context de Score. Com als nostres ajustament de proportionalNotationDuration, les sobreescriptures al SpacingSpanner sols poden ocórrer en un d’aquests tres llocs dins del fitxer d’entrada: al bloc \with, al bloc \context o directament dins de l’escriptura de notes.

De manera predeterminada, sols hi ha un SpacingSpanner per Score. Això suposa, que per omissió, uniform-stretching està activat per a la partitura completa o desactivat per a la partitura completa. No obstant, podem sobreescriure aquest comportament i activar diferents possibilitats d’espaiat a diferents llocs de la partitura. Ho fem amb l’ordre \newSpacingSection. Consulteu Secció nova d’espaiat per a més informació.

A continuació examinem els efectes del gravador Separating_line_group_engraver i veurem perquè les partitures proporcionals freqüentment eliminen aquest gravador. L’exemple següent mostra que hi ha una petita quantitat d’espai “preliminar” just abans de la primera nota de cada sistema.

 
\paper {
  indent = #0
}

\new Staff {
  c'1
  \break
  c'1
}

[image of music]

Aquesta quantitat d’espai preliminar és la mateixa ja sigui després d’una indicació de compàs, una armadura o una clau. El gravador Separating_line_group_engraver és responsable d’aquest espai. L’eliminació de Separating_line_group_engraver redueix aquest espai a zero.

 
\paper {
  indent = #0
}

\new Staff \with {
  \remove "Separating_line_group_engraver"
} {
  c'1
  \break
  c'1
}

[image of music]

Els elements no musicals com la indicació de compàs, l’armadura, la clau i les alteracions són problemàtics en notació proporcional. Cap d’aquests elements té una duració rítmica. Però tots ells consumeixen espai horitzontal. Les diferents partitures proporcionals aborden aquest problema de manera diferent.

Simplement evitant les armadures, seria possible evitar els problemes d’espaiat amb elles. Aquesta és una opció vàlida atès que gairebé totes les partitures proporcionals són música contemporània. El mateix pot valer per a les indicacions de compàs, especialment per a les partitures que inclouen una línia de temps graduada o un altre gràfic. Però aquestes partitures són excepcionals i gairebé totes les partitures proporcionals inclouen almenys unes poques indicacions de compàs. Les claus i les alteracions són encara més essencials.

Així doncs, quines estratègies hi ha per a l’espaiat dels elements no musicals en un context proporcional? Una bona opció és la propietat strict-note-spacing de SpacingSpanner. Compareu les dues partitures següents:

 
\new Staff {
  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
  c''8 8 8 \clef alto d'2 2
}

\new Staff {
  \set Score.proportionalNotationDuration = #(ly:make-moment 1/16)
  \override Score.SpacingSpanner.strict-note-spacing = ##t
  c''8 8 8 \clef alto d'2 2
}

[image of music]

Les dues partitures són proporcionals, però l’espaiat de la primer és poc atapeït a causa del canvi de clau. Tanmateix, l’espaiat de la segona partitura es manté estricte, perquè strict-note-spacing està activa. L’activació de strict-note-spacing fa que l’amplada de les indicacions de compàs, armadures, canvis de clau i alteracions no prenguin part en l’algoritme d’espaiat.

A més dels ajustaments donats aquí, hi ha d’altres apareixen amb freqüència a les partitures proporcionals. Entre ells estan:

Aquests ajustaments donen a les notes d’adorn un espaiat estricte, estenen les claus de grup especial perquè marquin tant els punts de començament com de final, i permeten que els elements d’extensió es divideixin entre els sistemes i les pàgines. Consulteu les parts respectives del manual per veure aquests ajustaments relacionats.

Vegeu també

Referència de la notació: Secció nova d’espaiat.

Fragments de codi: (snippets)Spacing section ‘Spacing’ in Fragments de codi.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]

This document was generated by gub on Juliol 13, 2020 using texi2html 1.82.

Altres idiomes: English, deutsch, español, français, italiano, 日本語.
Quant a la selecció automàtica de la llengua.