1.2.5 Compassos


Barres de compàs

Les línies divisòries delimiten als compassos però també es poden usar per indicar les repeticions. Normalment, les línies divisòries normals s’insereixen de manera automàtica a la sortida impresa a llocs que estan basats en el compàs actual.

Les barres de compàs senzilles inserides automàticament es poden canviar per altres tipus d’ordre \bar. Per exemple, se sol posar una doble barra de tancament al final de la peça:

\relative { e'4 d c2 \bar "|." }

[image of music]

No deixa de ser vàlida l’última nota d’un compàs si no acaba sobre la línia divisòria automàtica: se suposa que la nota es perllonga sobre el compàs següent. Però una seqüència llarga de aquests compassos perllongats pot fer que la música aparegui comprimida o fins i tot que se surti de la pàgina. Això és a causa de què els salts de línia automàtics solament es produeixen al final de compassos complets, és a dir, quan totes les notes han finalitzat abans que el compàs acabi.

Nota: Una duració incorrecta pot fer que s’intenti evitar la producció de salts de línia, donant com a resultat una línia de música amb una compressió exagerada o música que se surt de la pàgina.

També es permeten salts de línia en les barres inserides manualment fins i tot dins de compassos incomplets. Per permetre un salt de línia on no hi ha cap línia divisòria visible. Utilitzeu el següent:

\bar ""

D’aquesta manera s’inserira una barra invisible de compàs i es farà possible el salt de línia a aquest punt, sense forçar-lo. No s’incrementa el comptador dels números de compàs. Per forçar un salt de línia, consulteu Salts de línia.

Aquesta i altres línies divisòries especials es poden inserir manualment en qualsevol punt. Quan coincideixen amb el final d’un compàs, substitueixen a la línia divisòria simple que s’hauria inserit automàticament en aquest lloc. Quan no coincideixen amb el final d’un compàs, s’insereix la línia especificada en aquest punt de la sortida impresa.

Observeu que les línies divisòries manuals són purament visuals. No afecten a cap de les propietats que una barra normal afectaria, com als números de compàs, alteracions, salts de línia, etc. No afecten tampoc el càlcul i col·locació de les línies divisòries subsegüents. Quan una divisòria es col·loca manualment on ja hi ha una divisòria normal, els efectes de la línia original no s’alteren.

Estan disponibles per a la seva inserció manual dos tipus de línies divisòries simples i cinc tipus de doble barra:

\relative {
  f'1 \bar "|"
  f1 \bar "."
  g1 \bar "||"
  a1 \bar ".|"
  b1 \bar ".."
  c1 \bar "|.|"
  d1 \bar "|."
  e1
}

[image of music]

així com la barra de punts i la discontínua:

\relative {
  f'1 \bar ";"
  g1 \bar "!"
  a1
}

[image of music]

i nou tipus de barres de repetició:

\relative {
  f'1 \bar ".|:"
  g1 \bar ":..:"
  a1 \bar ":|.|:"
  b1 \bar ":|.:"
  c1 \bar ":.|.:"
  d1 \bar "[|:"
  e1 \bar ":|][|:"
  f1 \bar ":|]"
  g1 \bar ":|."
  a1
}

[image of music]

A més es pot imprimir una línia divisòria com una marca curta:

f'1 \bar "'" g'1

[image of music]

Malgrat això, donat que les mencionades marques s’utilitzen usualment al cant gregorià, és preferible en aquest cas utilitzar \divisioMinima, que es descriu en la secció Divisiones dins de cant gregorià:

El LilyPond contempla la notació del cant kievà i ofereix una línia divisòria especial kievana:

f'1 \bar "k"

[image of music]

Poden veure’s detalls d’aquest notació explicats a Gravat del cant kievà en notació quadrada.

Per als símbols de segno en línia, hi ha tres tipus de barres de compàs que es diferencien en el seu comportament respecte als salts de línia:

\relative c'' {
  c4 c c c
  \bar "S"
  c4 c c c \break
  \bar "S"
  c4 c c c
  \bar "S-|"
  c4 c c c \break
  \bar "S-|"
  c4 c c c
  \bar "S-S"
  c4 c c c \break
  \bar "S-S"
  c1
}

[image of music]

Tot i que es poden inserir manualment barres de compàs amb significat de repeticions, no es reconeixen com repeticions per part del LilyPond. Les seccions repetides s’introdueixen millor utilitzant les diverses ordres de repetició (vegeu Repeticions), que imprimeixen automàticament les barres corresponents.

A més es pot especificar ".|:-||", que equival a ".|:" excepte al salts de línia, en el qual es produeix una doble barra al final de la línia i una repetició esquerra (de començament) al principio de la línia següent.

\relative c'' {
  c4 c c c
  \bar ".|:-||"
  c4 c c c \break
  \bar ".|:-||"
  c4 c c c
}

[image of music]

Per a combinacions de repeticions amb el símbol de segno, hi ha sis variants diferents:

\relative c'' {
  c4 c c c
  \bar ":|.S"
  c4 c c c \break
  \bar ":|.S"
  c4 c c c
  \bar ":|.S-S"
  c4 c c c \break
  \bar ":|.S-S"
  c4 c c c
  \bar "S.|:-S"
  c4 c c c \break
  \bar "S.|:-S"
  c4 c c c
  \bar "S.|:"
  c4 c c c \break
  \bar "S.|:"
  c4 c c c
  \bar ":|.S.|:"
  c4 c c c \break
  \bar ":|.S.|:"
  c4 c c c
  \bar ":|.S.|:-S"
  c4 c c c \break
  \bar ":|.S.|:-S"
  c1
}

[image of music]

A més, hi ha una ordre \inStaffSegno que crea una barra de compàs amb símbol de segno, situada en conjunció amb una línia de repetició adequada si s’utilitza amb una ordre \repeat volta, vegeu Repeticions normals.

Es poden definir tipus nous de línies divisòries amb \defineBarLine:

\defineBarLine tipus_de_barra #'(final començament extensió)

Les variables de \defineBarline poden incloure la cadena de caràcters ‘buida’ "", que equival a imprimir una línia divisòria invisible. També es pot establir al valor fals#f que no imprimeix cap línia divisòria.

Després de la definició, la nova línia divisòria es pot utilitzar mitjançant \bar tipus_de_barra.

Actualment hi ha disponibles deu elements de barra de compàs:

\defineBarLine ":" #'("" ":" "")
\defineBarLine "=" #'("=" "" "")
\defineBarLine "[" #'("" "[" "")
\defineBarLine "]" #'("]" "" "")

\new Staff {
  s1 \bar "|"
  s1 \bar "."
  s1 \bar "!"
  s1 \bar ";"
  s1 \bar ":"
  s1 \bar "k"
  s1 \bar "S"
  s1 \bar "="
  s1 \bar "["
  s1 \bar "]"
  s1 \bar ""
}

[image of music]

La línia divisòria "=" proporciona la barra de doble extensió, usada en combinació amb el símbol de segno. No l’heu d’usar com una doble línia divisòria fina aïllada; per això es preferible \bar "||".

El signe "-" inicia anotacions a les barres de compàs, que són útils per distingir entre aquelles que tenen idèntica aparença però diferent comportament als salts de línia i/o diferents barres d’extensió. La part que segueix al signe "-" no s’usa per construir la barra de compàs.

\defineBarLine "||-dashedSpan" #'("||" "" "!!")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar "||"
    c1 \bar "||-dashedSpan"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

A més, el caràcter de l’espai en blanc " " serveix com a contenidor per definir barres d’extensió correctament alineats a les barres principals:

\defineBarLine ":|.-wrong" #'(":|." "" "|.")
\defineBarLine ":|.-right" #'(":|." "" " |.")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar ":|.-wrong"
    c1 \bar ":|.-right"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

Si calen elements addicionals, el LilyPond proveeix una forma senzilla de definir-los. Per veure més informació sobre com modificar o afegir barres de compàs, consulteu el fitxer ‘scm/bar-line.scm’.

En les partitures amb molts pentagrames, una ordre\bar a un d’ells s’aplica automàticament a tots els altres. Les línies resultants es connecten entre els diferents pentagrames d’un StaffGroup, PianoStaff o GrandStaff.

<<
  \new StaffGroup <<
    \new Staff \relative {
      e'4 d
      \bar "||"
      f4 e
    }
    \new Staff \relative { \clef bass c'4 g e g }
  >>
  \new Staff \relative { \clef bass c'2 c2 }
>>

[image of music]

L’ordre ‘\bar tipus de barra’ és forma curta de fer ‘\set Timing.whichBar = tipo de barra’. Quan s’estableix whichBar amb el valor d’una cadena de caràcters, es crea una línia divisòria d’aquest tipus.

El tipus de barra predeterminat que s’usa per a les línies divisòries inserides automàticament és "|". Es pot canviar en qualsevol moment amb ‘\set Timing.defaultBarType = tipus de barra’.

Vegeu també

Referència de la notació: Salts de línia, Repeticions, Agrupament de pentagrames.

Fitxers instal·lats: ‘scm/bar-line.scm’.

Fragments de codi: Rhythms.

Referència de funcionament interno: BarLine (creada al nivell de Staff (pentagrama)), SpanBar (a través dels pentagrames), Timing_translator (per a les propietats del comptador de temps Timing).


Numeració de compassos

Per defecte, els números de compàs s’imprimeixen al principi de la línia, excepte la primera. El número pròpiament dit s’emmagatzema a la propietat currentBarNumber, que normalment s’actualitza automàticament per a cada compàs. També es pot establir manualment:

\relative c' {
  c1 c c c
  \break
  \set Score.currentBarNumber = #50
  c1 c c c
}

[image of music]

Els números de compàs es poden gravar a intervals regulars en comptes de al principi de cada línia. Per fer-lo, s’ha de sobreescriure el comportament predeterminat de forma que es puguin imprimir en altres llocs. Això ve controlat per la propietat break-visibility de BarNumber. Agafa tres valors que es poden establir al valor #t o #f per especificar si el número de compàs corresponent és visible o no. L’ordre dels tres valors és visible al final de la línia, visible a la meitat de la línia, o visible al principi de la línia. A l’exemple següent s’imprimeixen els números de compàs en tots els llocs possibles:

\relative c' {
  \override Score.BarNumber.break-visibility = ##(#t #t #t)
  \set Score.currentBarNumber = #11
  % Permet que s'imprimeixi el número del primer compàs
  \bar ""
  c1 | c | c | c |
  \break
  c1 | c | c | c |
}

[image of music]

Fragments de codi seleccionats

Printing the bar number for the first measure

By default, the first bar number in a score is suppressed if it is less than or equal to ‘1’. By setting barNumberVisibility to all-bar-numbers-visible, any bar number can be printed for the first measure and all subsequent measures. Note that an empty bar line must be inserted before the first note for this to work.

\layout {
  indent = 0
  ragged-right = ##t
}

\relative c' {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  \bar ""
  c1 | d | e | f \break
  g1 | e | d | c
}

[image of music]

Printing bar numbers at regular intervals

Bar numbers can be printed at regular intervals by setting the property barNumberVisibility. Here the bar numbers are printed every two measures except at the end of the line.

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.currentBarNumber = #11
  % Permit first bar number to be printed
  \bar ""
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c | c | c | c
  \break
  c1 | c | c | c | c
}

[image of music]

Printing bar numbers with changing regular intervals

The bar number interval can be changed by changing the context function {set-bar-number-visibility}.

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \context Score \applyContext #(set-bar-number-visibility 4)
  \repeat unfold 10 c'1
  \context Score \applyContext #(set-bar-number-visibility 2)
  \repeat unfold 10 c
}

[image of music]

Printing bar numbers inside boxes or circles

Bar numbers can also be printed inside boxes or circles.

\relative c' {
  % Prevent bar numbers at the end of a line and permit them elsewhere
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4)

  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2

  % Draw a box round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
  \repeat unfold 5 { c1 }

  % Draw a circle round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
  \repeat unfold 4 { c1 } \bar "|."
}

[image of music]

Alternative bar numbering

Two alternative methods for bar numbering can be set, especially for when using repeated music.

\relative c'{
  \set Score.alternativeNumberingStyle = #'numbers
  \repeat volta 3 { c4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1 \break
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \repeat volta 3 { c,4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1
}

[image of music]

Aligning bar numbers

Bar numbers by default are right-aligned to their parent object. This is usually the left edge of a line or, if numbers are printed within a line, the left hand side of a bar line. The numbers may also be positioned directly over the bar line or left-aligned to the bar line.

\relative c' {
  \set Score.currentBarNumber = #111
  \override Score.BarNumber.break-visibility = #all-visible
  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c1
  % Center-align bar numbers
  \override Score.BarNumber.self-alignment-X = #CENTER
  c1 | c1
  % Left-align bar numbers
  \override Score.BarNumber.self-alignment-X = #LEFT
  c1 | c1
}

[image of music]

Removing bar numbers from a score

Bar numbers can be removed entirely by removing the Bar_number_engraver from the Score context.

\layout {
  \context {
    \Score
    \omit BarNumber
    % or:
    %\remove "Bar_number_engraver"
  }
}

\relative c'' {
  c4 c c c \break
  c4 c c c
}

[image of music]

Vegeu també

Fragments de codi: Rhythms.

Referència de funcionament intern: BarNumber, Bar_number_engraver.

Advertiments i problemes coneguts

Els números de compàs poden col·lisionar amb la clau StaffGroup, si hi ha un a la part de dalt. Per solucionar-lo es pot usar la propietat de farciment padding de BarNumber per col·locar el número correctament. Consulteu StaffGroup i BarNumber para veure més informació.


Comprovació de compàs i de número de compàs

Les comprovacions de compàs ajuden a detectar errors a les duracions. Una comprovació de compàs s’escriu usant el símbol de la barra vertical, |, a qualsevol lloc on s’espera que caigui una línia divisòria. Si es troben línies de comprovació de compàs a altres llocs, s’imprimeix una llista d’advertiments al fitxer log de registre, mostrant els números de línia i columna en el qual han fallat les comprovacions de compàs. Al següent exemple, la segona comprovació de compàs avisarà d’un error.

\time 3/4 c2 e4 | g2 |

Una duració incorrecte produeix una partitura completament desbaratada, especialment si la partitura es polifònica, de manera que la millor manera de començar a corregir l’entrada és buscar sistemàticament l’existència de comprovacions de compàs fallides i duracions incorrectes.

Si es produeixen diverses comprovacions de compàs seguides per valor de la mateixa duració musical, sols apareix el primer missatge d’advertiment. Així s’aconsegueix que el missatge estigui concentrat a la font d’error de la pulsació.

Les comprovacions de compàs també es poden inserir dins de la lletra de les cançons:

\lyricmode {
  \time 2/4
  Twin -- kle | Twin -- kle |
}

Observeu que les comprovacions de compàs dins de la lletra de les cançons s’avaluen al moment musical de la síl·laba següent a la comprovació de compàs que es processa. Si la lletra està associada amb les notes d’una veu que té un silenci al principi del compàs, no es pot posar cap síl·laba al comen ament d’aquest compàs i s’imprimeix un missatge d’advertiment si s’escriu una comprovació de compàs dins de la lletra, en aquesta posició.

També és possible redefinir l’acció que es fa quan es troba una barra vertical o símbol de comprovació de compàs, |, al codi d’entrada, de forma que faci quelcom diferent a una comprovació de compàs. Es fa assignant una expressió musical a "|", el símbol de barra vertical. A l’exemple següent s’estableix | de forma que insereixi una doble línia divisòria quan apareix al codi d’entrada, en comptes de comprovar el final d’un compàs.

"|" = \bar "||"
{
  c'2 c' |
  c'2 c'
  c'2 | c'
  c'2 c'
}

[image of music]

En copiar peces musicals grans pot servir d’ajuda comprovar que el número de compàs del LilyPond correspongui a l’original des del qual s’està copiant. Això es pot comprovar amb \barNumberCheck, por exemple:

\barNumberCheck #123

imprimeix un advertiment si el currentBarNumber (número del compàs actual) no és el 123 en el moment de la compilació.

Vegeu també

Fragments de codi: Rhythms.


Marques d’assaig

Per imprimir una lletra d’assaig, utilitzeu l’ordre \mark.

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
}

[image of music]

La lletra d’assaig s’incrementa automàticament si useu \mark \default, però també podeu utilitzar un número enter com argument per establir la indicació manualment. El valor que s’utilitzarà s’emmagatzema dins de la propietat rehearsalMark.

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

La lletra ‘I’ se salta d’acord amb les tradicions de gravat. Si voleu incloure la la lletra ‘I’, useu una de les ordres següents, segons l’estil de marques d’assaig que desitgeu (sols lletres, lletres dins d’un rectangle o lletres dins d’un cercle).

\set Score.markFormatter = #format-mark-alphabet
\set Score.markFormatter = #format-mark-box-alphabet
\set Score.markFormatter = #format-mark-circle-alphabet
\relative c'' {
  \set Score.markFormatter = #format-mark-box-alphabet
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

L’estil es defineix per mitjà de la propietat markFormatter. És una funció que agafa com arguments la marca en curs (un nombre enter) i el context actual. Ha de tornar un objecte de marcatge. A l’exemple següent, s’estableix markFormatter amb el valor d’un procediment predefinit. Després d’alguns compassos s’estableix amb un valor d’una funció que produeix un número tancat a una capsa.

\relative c'' {
  \set Score.markFormatter = #format-mark-numbers
  c1 \mark \default
  c1 \mark \default
  \set Score.markFormatter = #format-mark-box-numbers
  c1 \mark \default
  \set Score.markFormatter = #format-mark-circle-numbers
  c1 \mark \default
  \set Score.markFormatter = #format-mark-circle-letters
  c1
}

[image of music]

El fitxer ‘scm/translation-functions.scm’ conté les definicions de format-mark-numbers (el format per omissió), format-mark-box-numbers, format-mark-letters i format-mark-box-letters. Es poden usar aquestes definicions com a inspiració per a d’altres funcions de format.

Podem fer servir format-mark-barnumbers, format-mark-box-barnumbers i format-mark-circle-barnumbers per obtenir números de compas en lloc de números de lletres seqüencials.

Es poden especificar altres estils de lletra d’assaig de forma manual:

\mark "A1"

Observeu que Score.markFormatter no afecta a las marque que s’especifiquen de aquest forma. Malgrat això, és possible aplicar un element \markup a la cadena.

\mark \markup{ \box A1 }

Els glifs musicals (como ara el segno) es poden imprimir dins d’un element \mark

\relative c' {
  c1 \mark \markup { \musicglyph #"scripts.segno" }
  c1 \mark \markup { \musicglyph #"scripts.coda" }
  c1 \mark \markup { \musicglyph #"scripts.ufermata" }
  c1
}

[image of music]

Consulteu El tipus de lletra Emmentaler per veure una llista dels símbols que es poden imprimir amb \musicglyph.

Per veure formes comuns d’ajustar la col·locació de les lletres d’assaig, consulteu Donar format al text. Per a un control més precís, consulteu break-alignable-interface a la secció Alineació d’objectes.

El fitxer ‘scm/translation-functions.scm’ conté les definicions de format-mark-numbers i de format-mark-letters. Es poden utilitzar com a inspiració per escriure altres funcions per donar format.

Vegeu també

Referència de la notació: El tipus de lletra Emmentaler, Donar format al text, Alineació d’objectes.

Fitxers d’inici: ‘scm/translation-functions.scm’.

Fragments de codi: Rhythms.

Referència de funcionament intern: MarkEvent, Mark_engraver, RehearsalMark.


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

LilyPond — Referència de la notació v2.21.0 (branca de desenvolupament).