LilyPond — Referència de la notació

Aquest manual ofereix una referència per a tota la notació musical que es pot produir amb el LilyPond versió 2.19.81. S’entén que el lector està familiaritzat amb el material que hi ha a Manual d’aprenentatge.

Per a més informació sobre la forma en la qual aquest manual es relaciona amb la resta de la documentació, o per llegir aquest manual en altres formats, consulteu Manuals.

Si us falta algun manual, trobareu tota la documentació a http://lilypond.org/.


1. Notació musical

Aquest capítol explica com crear notació musical.


1.1 Altures

[image of music]

A aquesta secció es discuteix com especificar l’altura de les notes. Aquest procés es composa de tres fases: entrada, modificació i sortida.


1.1.1 Escriptura de notes

A aquesta secció es descriu la manera d’introduir l’altura de les notes. Hi ha dues formes diferents de col·locar les notes a la seva octava corresponent: el mode absolut i el relatiu. A gairebé totes les ocasions, serà més pràctic el mode relatiu.


Escriptura d’octava absoluta

El nom d’una nota s’especifica usant les lletres minúscules de l’a a la g. Les notes els noms dels quals van des de la c fins la b s’imprimeixen a l’octava inferior al Do central.

{
  \clef bass
  c4 d e f
  g4 a b c
  d4 e f g
}

[image of music]

Es poden especificar d’altres octaves mitjançant una cometa simple quote (') o una coma (,) . Cada ' eleva l’altura en una octava; cada , baixa l’altura una octava.

{
  \clef treble
  c'4 e' g' c''
  c'4 g b c'
  \clef bass
  c,4 e, g, c
  c,4 g,, b,, c,
}

[image of music]

Les marques d’octava comunes es poden escriure una sola vegada sobre una nota de referència si es fa servir \fixed abans de la música. A les notes dins de \fixed sols els calen les marques d’apòstrof ' o de coma  , quan estan per sobre o per sota de l’octava de la nota de referència.

{
  \fixed c' {
    \clef treble
    c4 e g c'
    c4 g, b, c
  }
  \clef bass
  \fixed c, {
    c4 e g c'
    c4 g, b, c
  }
}

[image of music]

L’altura de les notes de l’expressió musical que segueix a \fixed no resulta afectada per un \relative que l’envolta, que s’estudia a continuació.

Vegeu també

Glossari musical: Pitch names.

Fragments de codi: Pitches.


Escriptura d’octava relativa

L’entrada d’octava absoluta requereix que s’especifiqui l’octava per a totes i cadascuna de les notes. En contrast amb això, el mode d’entrada d’octava relativa especifica cada octava en relació amb la nota anterior: si es canvia l’octava d’una nota això afectarà a totes les notes següents.

El mode relatiu de notes s’ha d’introduir de forma explícita usant l’ordre \relative:

\relative altura_inicial expressió_musical

En el mode relatiu, se suposa que cada nota es troba el més a prop possible de la nota anterior. Això significa que l’octava d’una nota que està dins de expresión_musical es calcula com segueix:

Aquí podem ver el mode relatiu en acció:

\relative {
  \clef bass
  c d e f
  g a b c
  d e f g
}

[image of music]

Les marques de canvi d’octava s’utilitzen per a intervals majors de la quarta:

\relative {
  c'' g c f,
  c' a, e'' c
}

[image of music]

Una sèrie de notes sense cap marca d’octava pot, malgrat tot, abastar intervals molt grans:

\relative {
  c f b e
  a d g c
}

[image of music]

Quan hi ha uns blocs \relative niuats dins d’altres, el bloc \relative més intern comença amb la seva pròpia nota de referència independentment del \relative exterior.

\relative {
  c' d e f
  \relative {
    c'' d e f
  }
}

[image of music]

\relative no té efecte sobre els blocs \chordmode.

\new Staff {
  \relative c''' {
    \chordmode { c1 }
  }
  \chordmode { c1 }
}

[image of music]

\relative no es permet dins des bloques \chordmode.

La música que està dins d’un bloc \transpose és absoluta, a no ser que s’inclogui una ordre \relative.

\relative {
  d' e
  \transpose f g {
    d e
    \relative {
      d' e
    }
  }
}

[image of music]

Si l’element anterior és un acord, la primera nota de l’acord s’utilitza per determinar la primera nota del següent acord. Dins dels acords, la següent nota sempre està en relació a l’anterior.

\relative {
  c'
  <c e g>
  <c' e g'>
  <c, e, g''>
}

[image of music]

Com es va explicar més a dalt, l’octava de les notes es calcula solament a partir dels seus noms, sense tenir en compte cap alteració. Per tant, un Mi doble sostingut després d’un Si s’escriurà més greu. En altres paraules, es considera a la quarta doble augmentada un interval menor que la quinta doble disminuïda, independentment del número de semitons de cada un d’ells.

\relative {
  c''2 fis
  c2 ges
  b2 eisis
  b2 feses
}

[image of music]

Vegeu també

Glossari musical: fifth, interval, Pitch names.

Referència de la notació: Comprovació d’octava.

Fragments de codi: Pitches.

Referència de funcionament intern: RelativeOctaveMusic.


Alteracions accidentals

Nota: Les alteracions accidentals i les armadures són una freqüent causa de confusió per als nous usuaris. Al LilyPond, els noms de les notes específiques les altures; l’armadura i la clau determinen de quin forma es presenten aquestes altures. Una nota sense alteració com c significa ‘Do natural’, i sí que l’afecten l’armadura ni la clau. Per veure més informació, consulteu Alteracions accidentals i armadures.

S’escriu una nota sostinguda afegint is al nom de la nota, i un bemoll afegint es. Com és d’esperar, un doble sostingut i un doble bemoll s’obté afegint isis o eses. Aquesta sintaxi deriva dels noms de les notes en holandès. Per utilitzar altres noms per a les alteracions, consulteu Noms de les notes en altes llengües.

\relative c'' { ais1 aes aisis aeses }

[image of music]

Una nota natural s’introdueix com el nom de la nota, sense més; no cal cap sufix. S’imprimeix un símbol de becaire si cal per cancel·lar l’efecte d’una alteració o armadura anterior.

\relative c'' { a4 aes a2 }

[image of music]

Es poden escriure mig bemolls i els mig sostinguts; a continuació presentem una sèrie de DOs cada com més aguts:

\relative c'' { ceseh1 ces ceh c cih cis cisih }

[image of music]

Normalment les alteracions accidentals s’imprimeixen automàticament, però també pot imprimir-les manualment. Una alteració recordatòria es pot forçar afegint un signe de admiració ! després de l’altura de la nota. Es pot obtenir una alteració de precaució (o sigui, una alteració entre parèntesi) afegint el signe de interrogació ? després del nom de la nota.

\relative c'' { cis cis cis! cis? c c c! c? }

[image of music]

Les alteracions sobre notes unides per lligadura sols s’imprimeixen al començament d’un sistema:

\relative c'' {
  cis1~ 1~
  \break
  cis
}

[image of music]

Fragments de codi seleccionats

Hiding accidentals on tied notes at the start of a new system

This shows how to hide accidentals on tied notes at the start of a new system.

\relative c'' {
  \override Accidental.hide-tied-accidental-after-break = ##t
  cis1~ cis~
  \break
  cis
}

[image of music]

Preventing extra naturals from being automatically added

In accordance with traditional typesetting rules, a natural sign is printed before a sharp or flat if a previous double sharp or flat on the same note is canceled. To change this behavior to contemporary practice, set the extraNatural property to f in the Staff context.

\relative c'' {
  aeses4 aes ais a
  \set Staff.extraNatural = ##f
  aeses4 aes ais a
}

[image of music]

Vegeu també

Glossari musical: sharp, flat, double sharp, double flat, Pitch names, quarter tone.

Manual d’aprenentatge: Alteracions accidentals i armadures.

Referència de la notació: Alteracions accidentals automàtiques, Alteracions de anotació (musica ficta), Noms de les notes en altes llengües.

Fragments de codi: Pitches.

Referència de funcionament intern: Accidental_engraver, Accidental, AccidentalCautionary, accidental-interface.

Advertiments i problemes coneguts

No hi ha estàndards reconeguts àmpliament per denotar els bemolls de tres quarts, de manera que els símbols del LilyPond no s’ajusten a cap estàndard.


Noms de les notes en altes llengües

Hi ha conjunts predefinits de noms de notes i les seves alteracions per a algunes llengües a part de l’anglès. La selecció de la llengua dels noms de les notes se sol fer al principi del fitxer: l’exemple següent està escrit utilitzant els noms italians de les notes:

\language "italiano"

\relative {
  do' re mi sib
}

[image of music]

Les llengües disponibles i els noms de les notes que defineixen són els següents:

Llengua

Nom de les notes

nederlands

c d e f g a bes b

catalan

do re mi fa sol la sib si

deutsch

c d e f g a b h

english

c d e f g a bf b

espanol o español

do re mi fa sol la sib si

français

do ré/re mi fa sol la sib si

italiano

do re mi fa sol la sib si

norsk

c d e f g a b h

portugues

do re mi fa sol la sib si

suomi

c d e f g a b h

svenska

c d e f g a b h

vlaams

do re mi fa sol la sib si

A més dels noms de les notes, els sufixos de les alteracions poden també variar depenent de la llengua:

Llengua

sostingut

bemoll

doble sostingut

doble bemoll

nederlands

-is

-es

-isis

-eses

catalan

-d/-s

-b

-dd/-ss

-bb

deutsch

-is

-es

-isis

-eses

english

-s/--sharp

-f/--flat

-ss/-x/--sharpsharp

-ff/--flatflat

espanol or español

-s

-b

-ss/-x

-bb

français

-d

-b

-dd/-x

-bb

italiano

-d

-b

-dd

-bb

norsk

-iss/-is

-ess/-es

-ississ/-isis

-essess/-eses

portugues

-s

-b

-ss

-bb

suomi

-is

-es

-isis

-eses

svenska

-iss

-ess

-ississ

-essess

vlaams

-k

-b

-kk

-bb

A l’holandès, aes es contrau com as, però les dues formes s’accepten al LilyPond. De forma semblant, s’accepten tant es com ees. Això s’aplica també a aeses / ases i a eeses / eses. A vegades es defineixen sols aquest noms abreujats als fitxers de llengua corresponents.

\relative c'' { a2 as e es a ases e eses }

[image of music]

Algunes músiques utilitzen microtons les alteracions dels quals són fraccions d’un sostingut o bemoll ‘normals’. La taula següent relaciona els noms de les notes per a les alteracions d’un quart de to en diferents llengües; aquí, els prefixos semi- i sesqui- respectivament signifiquen ‘mig’ i ‘u i mig’. Les llengües que no apareixen a aquesta taula no aporten encaran noms especials per a les notes.

Llengua

semi-sostingut

semi-bemoll

sesqui-sostingut

sesqui-bemoll

nederlands

-ih

-eh

-isih

-eseh

deutsch

-ih

-eh

-isih

-eseh

english

-qs

-qf

-tqs

-tqf

espanol o español

-cs

-cb

-tcs

-tcb

français

-sd

-sb

-dsd

-bsb

italiano

-sd

-sb

-dsd

-bsb

portugues

-sqt

-bqt

-stqt

-btqt

Gairebé totes les llengües presentades aquí estan associades comunament amb la música clàssica occidental, també coneguda com Període de la pràctica comuna. Malgrat això, també estan contemplades les altures i els sistemes d’afinació alternatius: vegeu Notació comuna per a músiques no occidentals.

Vegeu també

Glossari musical: Pitch names, Common Practice Period.

Referència de la notació: Notació comuna per a músiques no occidentals.

Fitxers instal·lats: ‘scm/define-note-names.scm’.

Fragments de codi: Pitches.


1.1.2 Modificació de diverses notes a l’hora

Aquesta secció tracta de la manera de modificar les altures.


Comprovació d’octava

Al mode relatiu és fàcil oblidar una marca de canvi d’octava. Les comprovacions d’octava fan més fàcil trobar aquests errors, mitjançant la presentació d’un advertiment i corregint l’octava si la nota es troba a una octava diferent de l’esperat.

Per comprovar l’octava d’una nota, especifiqueu l’octava absoluta després del símbol =. Aquest exemple genera un missatge d’advertiment (i corregeix l’altura) perquè la segona nota és l’octava absoluta d'' en lloc de d' com indica la correcció d’octava.

\relative {
  c''2 d='4 d
  e2 f
}

[image of music]

L’octava de les notes es pot comprovar també amb l’ordre \octaveCheck altura_de_control. altura_de_control s’especifica en mode absolut. Això comprova que l’interval entre la nota anterior i la altura_de_control es troba dins d’una quarta (és a dir, el càlcul normal per al mode relatiu). Si aquesta comprovació fracassa, s’imprimeix un missatge d’advertiment. Tot i que la nota prèvia no es modifica, les notes posteriors estan en relació al valor corregit.

\relative {
  c''2 d
  \octaveCheck c'
  e2 f
}

[image of music]

Compareu els dos compassos següents. La primera i tercera comprovacions de \octaveCheck fracassen, però la segona és correcta.

\relative {
  c''4 f g f

  c4
  \octaveCheck c'
  f
  \octaveCheck c'
  g
  \octaveCheck c'
  f
}

[image of music]

Vegeu també

Fragments de codi: Pitches.

Referència de funcionament interno: RelativeOctaveCheck.


Transposició

Una expressió musical es pot transportar mitjançant \transpose. La sintaxi és

\transpose nota_origen nota_destí expressió_musical

Això significa que la expressió_musical es transporta l’interval que hi ha entre les notes nota_origen i nota_destí: qualsevol nota amb l’altura de nota_origen es canvia per nota_destí i qualsevol altra nota es transporta el mateix interval. Les dues notes s’introdueixen en mode absolut.

Nota: La música que està dins d’un bloc \transpose és absoluta, a no ser que s’inclogui una introducció \relative dins del bloc.

Per exemple, agafem una peça escrita en la tonalitat de Re major. Es pot transposar cap amunt a Mi major; observeu que també l’armadura de la tonalitat es transporta automàticament.

\transpose d e {
  \relative {
    \key d \major
    d'4 fis a d
  }
}

[image of music]

Si una particel·la escrita en Do (afinació de concert normal) es pot tocar amb un clarinet en La (per al qual un La s’escriu com un Do, i que sona una tercera menor per sota del que està escrit), la particel·la corresponent es produeix mitjançant:

\transpose a c' {
  \relative {
    \key c \major
    c'4 d e g
  }
}

[image of music]

Observeu que especifiquem \key c \major de forma explícita. Si no especifiquem cap tonalitat, les notes es transporten però no s’imprimeix l’armadura.

\transpose distingeix entre notes enarmòniques: tant \transpose c cis com \transpose c des transporten un semitó cap amunt. La primera versió imprimeix sostinguts i les notes no es mouen del seu lloc a l’escala, en canvi la segona imprimeix bemolls de la nota següent.

music = \relative { c' d e f }
\new Staff {
  \transpose c cis { \music }
  \transpose c des { \music }
}

[image of music]

\transpose també es pot usar per introduir notes escrites per a un instrument transpositor. Els exemples interiors mostren com escriure altures en Do (o en afinació de concert) i gravar-les per a un instrument transpositor, però també és possible el cas contrari si, per exemple, tenim un conjunt de parts instrumentals i voleu fer un guió en Do per al director. Per exemple, en introduir música per a trompeta en Si bemoll que comença per un Mi a la partitura (Re de concert), es pot escriure:

musicaEnSiBemol = { e4 … }
\transpose c bes, \musicaEnSiBemol

Per imprimir aquesta música en Fa (per exemple, en arreglar-la per a trompa) podeu envolta la música existent amb un altre \transpose:

musicaEnSiBemol = { e4 … }
\transpose f c' { \transpose c bes, \musicaEnSiBemol }

Per veure més informació sobre instruments transpositors, consulteu Transposició dels instruments.

Fragments de codi seleccionats

Transposing pitches with minimum accidentals ("Smart" transpose)

This example uses some Scheme code to enforce enharmonic modifications for notes in order to have the minimum number of accidentals. In this case, the following rules apply:

Double accidentals should be removed

B sharp -> C

E sharp -> F

C flat -> B

F flat -> E

In this manner, the most natural enharmonic notes are chosen.

#(define (naturalize-pitch p)
   (let ((o (ly:pitch-octave p))
         (a (* 4 (ly:pitch-alteration p)))
         ;; alteration, a, in quarter tone steps,
         ;; for historical reasons
         (n (ly:pitch-notename p)))
     (cond
      ((and (> a 1) (or (eqv? n 6) (eqv? n 2)))
       (set! a (- a 2))
       (set! n (+ n 1)))
      ((and (< a -1) (or (eqv? n 0) (eqv? n 3)))
       (set! a (+ a 2))
       (set! n (- n 1))))
     (cond
      ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
      ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
     (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
     (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
     (ly:make-pitch o n (/ a 4))))

#(define (naturalize music)
   (let ((es (ly:music-property music 'elements))
         (e (ly:music-property music 'element))
         (p (ly:music-property music 'pitch)))
     (if (pair? es)
         (ly:music-set-property!
          music 'elements
          (map naturalize es)))
     (if (ly:music? e)
         (ly:music-set-property!
          music 'element
          (naturalize e)))
     (if (ly:pitch? p)
         (begin
           (set! p (naturalize-pitch p))
           (ly:music-set-property! music 'pitch p)))
     music))

naturalizeMusic =
#(define-music-function (m)
   (ly:music?)
   (naturalize m))

music = \relative c' { c4 d e g }

\score {
  \new Staff {
    \transpose c ais { \music }
    \naturalizeMusic \transpose c ais { \music }
    \transpose c deses { \music }
    \naturalizeMusic \transpose c deses { \music }
  }
  \layout { }
}

[image of music]

Vegeu també

Referència de la notació: Transposició dels instruments, Inversió, Transformacions modals, Escriptura d’octava relativa, Retrogradació.

Fragments de codi: Pitches.

Referència de funcionament intern: TransposedMusic.

Advertiments i problemes coneguts

La conversió relativa no afecta a les seccions \transpose, \chordmode ni \relative dins del seu argument. Per usar el mode relatiu dins de música transportada, es pot col·locar un altre \relative dins de \transpose.

No s’imprimeixen alteracions accidentals triples quan s’usa \transpose. En lloc d’això, s’usarà una nota ‘equivalent enarmònicament’ (p.ex., Re bemoll en lloc de Mi triple bemoll).


Inversió

Una expressió musical es pot invertir i transportar en una sola operació amb:

\inversion nota_pivot nota_destí expressió_musical

La expressió_musical s’inverteix interval a interval al voltant de nota_pivot, i després es transport de manera que nota_pivot es fa correspondre amb nota_destí.

music = \relative { c' d e f }
\new Staff {
  \music
  \inversion d' d' \music
  \inversion d' ees' \music
}

[image of music]

Nota: Els motius a invertir haurien de venir expressats en mode absolut o convertir-se prèviament a la forma absoluta envoltant-los en un bloc relative.

Vegeu també

Referència de la notació: Transformacions modals, Retrogradació, Transposició.


Retrogradació

Es pot revertir una expressió musical per produir la seva retrogradació:

music = \relative { c'8. ees16( fis8. a16 b8.) gis16 f8. d16 }

\new Staff {
  \music
  \retrograde \music
}

[image of music]

Advertiments i problemes coneguts

Les lligadures d’unió manuals dins de \retrograde es trencaran i generaran advertiments. Es poden generar algunes lligadures automàticament activant Divisió automàtica de les notes.

Vegeu també

Referència de la notació: Inversió, Transformacions modals, Transposició.


Transformacions modals

En una composició musical que està basada en una escala amb freqüència es transformen els motius de diverses formes. Un motiu es pot transportar perquè comenci en diferents llocs de l’escala o pot invertir-se al voltant d’una nota pivot de l’escala. També es pot revertir per produir una retrogradació, vegeu Retrogradació.

Nota: Qualsevol nota que no entri a la escala donada, es deixarà sense transformar.

Transposició modal

Es pot transportar un motiu dins d’una escala donada amb:

\modalTranspose nota_origen nota_destí escala motiu

Les notes del motiu es desplacen dins de la escala el nombre de graus de l’escala donats per l’interval entre nota_destí y nota_origen:

diatonicScale = \relative { c' d e f g a b }
motif = \relative { c'8 d e f g a b c }

\new Staff {
  \motif
  \modalTranspose c f \diatonicScale \motif
  \modalTranspose c b, \diatonicScale \motif
}

[image of music]

Es poden especificar escales ascendents de qualsevol longitud i amb qualssevol intervals:

pentatonicScale = \relative { ges aes bes des ees }
motif = \relative { ees'8 des ges,4 <ges' bes,> <ges bes,> }

\new Staff {
  \motif
  \modalTranspose ges ees' \pentatonicScale \motif
}

[image of music]

Quan es fa servir amb una escola cromàtica, \modalTranspose té un efecte semblant a \transpose, però amb la possibilitat d’especificar els noms de les notes que es vulguin usar:

chromaticScale = \relative { c' cis d dis e f fis g gis a ais b }
motif = \relative { c'8 d e f g a b c }

\new Staff {
  \motif
  \transpose c f \motif
  \modalTranspose c f \chromaticScale \motif
}

[image of music]

Inversió modal

Es pot invertir un motiu dins d’una escala donada al voltant d’una nota pivot donada i transportada al mateix temps en una única operaćió, amb:

\modalInversion nota-pivote nota-destino escala motivo

Les notes del motiu col·loquen al mateix nombre de graus de distància de l’escala a partir de la nota_pivot dins de l’escala, però en la direcció oposada, i el resultat es desplaça després dins de l’escala el nombre de grados de l’escala donats per l’interval entre la nota_destí i la nota_pivot.

Així doncs, per invertir senzillament al voltant d’una nota de l’escala, utilitzeu el mateix valor per a nota_pivot i nota_destí:

octatonicScale = \relative { ees' f fis gis a b c d }
motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }

\new Staff {
  \motif
  \modalInversion fis' fis' \octatonicScale \motif
}

[image of music]

Per invertir al voltant d’una nota pivot entre dues notes de l’escala, invertiu al voltant d’una de les notes i després transporteu en un grau de l’escala. les dues notes especificades es poden interpretar com que fan una forquilla entre elles a la nota pivot:

scale = \relative { c' g' }
motive = \relative { c' c g' c, }

\new Staff {
  \motive
  \modalInversion c' g' \scale \motive
}

[image of music]

L’operació combinada d’inversió i retrogradació produeix la inversió retrògrada:

octatonicScale = \relative { ees' f fis gis a b c d }
motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }

\new Staff {
  \motif
  \retrograde \modalInversion c' c' \octatonicScale \motif
}

[image of music]

Vegeu també

Referència de la notació: Inversió, Retrogradació, Transposició.


1.1.3 Impressió de les altures

Aquesta secció tracta de com alterar la presentació de l’altura de les notes.


Clau

Sense cap ordre explícita, la clau predeterminada al LilyPond és la clau “treble” (o clau de Sol).

c'2 c'

[image of music]

Tanmateix, es pot canviar la clau usant l’ordre \clef i el nom de la clau corresponent. Als exemples següents es mostra la posició del Do central en diferents claus.

\clef treble
c'2 c'
\clef alto
c'2 c'
\clef tenor
c'2 c'
\clef bass
c'2 c'

[image of music]

Per veure el repertori complet dels possibles noms per a les claus, consulteu Estils de clau.

Les claus especials, com les utilitzades a la música antiga, es descriuen a Claus de la música mensural i a Claus del cant gregorià. La música que requereix claus de tabulatura s’estudia a Tabulatures predeterminades i a Tabulatures personalizadas.

Per fer servir claus a les notes guia, vegeu les ordres \cueClef i \cueDuringWithClef a Format de les notes guia.

En afegir _8 o ^8 al nom de la clau, la clau es transposa una octava cap avall o cap amunt, respectivament, i _15 i ^15 la transposa dos octaves. Si cal es poden usar altres nombres enters. L’argument nome_de_clau s’ha de envoltar entre cometes si conté caràcters no alfabètics:

\clef treble
c'2 c'
\clef "treble_8"
c'2 c'
\clef "bass^15"
c'2 c'
\clef "alto_2"
c'2 c'
\clef "G_8"
c'2 c'
\clef "F^5"
c'2 c'

[image of music]

Es pot obtenir una indicació d’octava opcional envoltant l’argument numèric entre parèntesis o claudàtors:

\clef "treble_(8)"
c'2 c'
\clef "bass^[15]"
c'2 c'

[image of music]

Les altures s’imprimeixen com si l’argument numèric no tingués els parèntesis o claudàtors.

De forma predeterminada, un canvi de clau que es produeix en un salt de línia provoca que el símbol de clau nou s’imprimeixi al final de la línia anterior, com una clau de cortesia, així com al principi del següent. Aquesta clau de cortesia es pot suprimir.

\clef treble { c'2 c' } \break
\clef bass { c'2 c' } \break
\clef alto
  \set Staff.explicitClefVisibility = #end-of-line-invisible
  { c'2 c' } \break
  \unset Staff.explicitClefVisibility
\clef bass { c'2 c' } \break

[image of music]

De forma predeterminada, una clau que s’ha imprès prèviament no es torna a imprimir si es fa servir un altre cop la mateixa ordre \clef, i s’ignora. La instrucció \set Staff.forceClef = ##t modifica aquest comportament.

  \clef treble
  c'1
  \clef treble
  c'1
  \set Staff.forceClef = ##t
  c'1
  \clef treble
  c'1

[image of music]

Quan hi ha un canvi de clau manual, el glif de la clau modificada és més petit del normal. Es pot sobreescriure aquest comportament.

  \clef "treble"
  c'1
  \clef "bass"
  c'1
  \clef "treble"
  c'1
  \override Staff.Clef.full-size-change = ##t
  \clef "bass"
  c'1
  \clef "treble"
  c'1
  \revert Staff.Clef.full-size-change
  \clef "bass"
  c'1
  \clef "treble"
  c'1

[image of music]

Fragments de codi seleccionats

Tweaking clef properties

Changing the Clef glyph, its position, or the ottavation does not change the position of subsequent notes on the staff. To get key signatures on their correct staff lines middleCClefPosition must also be specified, with positive or negative values moving middle C up or down respectively, relative to the staff’s center line.

For example, \clef "treble_8" is equivalent to setting the clefGlyph, clefPosition (the vertical position of the clef itself on the staff), middleCPosition and clefTransposition. Note that when any of these properties (except middleCPosition) are changed a new clef symbol is printed.

The following examples show the possibilities when setting these properties manually. On the first line, the manual changes preserve the standard relative positioning of clefs and notes, whereas on the second line, they do not.

{
  % The default treble clef
  \key f \major
  c'1
  % The standard bass clef
  \set Staff.clefGlyph = #"clefs.F"
  \set Staff.clefPosition = #2
  \set Staff.middleCPosition = #6
  \set Staff.middleCClefPosition = #6
  \key g \major
  c'1
  % The baritone clef
  \set Staff.clefGlyph = #"clefs.C"
  \set Staff.clefPosition = #4
  \set Staff.middleCPosition = #4
  \set Staff.middleCClefPosition = #4
  \key f \major
  c'1
  % The standard choral tenor clef
  \set Staff.clefGlyph = #"clefs.G"
  \set Staff.clefPosition = #-2
  \set Staff.clefTransposition = #-7
  \set Staff.middleCPosition = #1
  \set Staff.middleCClefPosition = #1
  \key f \major
  c'1
  % A non-standard clef
  \set Staff.clefPosition = #0
  \set Staff.clefTransposition = #0
  \set Staff.middleCPosition = #-4
  \set Staff.middleCClefPosition = #-4
  \key g \major
  c'1 \break

  % The following clef changes do not preserve
  % the normal relationship between notes, key signatures
  % and clefs:

  \set Staff.clefGlyph = #"clefs.F"
  \set Staff.clefPosition = #2
  c'1
  \set Staff.clefGlyph = #"clefs.G"
  c'1
  \set Staff.clefGlyph = #"clefs.C"
  c'1
  \set Staff.clefTransposition = #7
  c'1
  \set Staff.clefTransposition = #0
  \set Staff.clefPosition = #0
  c'1

  % Return to the normal clef:

  \set Staff.middleCPosition = #0
  c'1
}

[image of music]

Vegeu també

Referencia de la notación: Claus de la música mensural, Claus del cant gregorià, Tabulatures predeterminades Tabulatures personalizadas. Format de les notes guia.

Fitxers instal·lats: ‘scm/parser-clef.scm’.

Fragments de codi: Pitches.

Referència de funcionament intern: Clef_engraver, Clef, ClefModifier, clef-interface.

Advertiments i problemes coneguts

Els números d’octava adjunts a les claus es tracten com grobs diferents. Així doncs, qualsevol \override (sobreescriptura) efectuada a l’objecte Clef s’haurà d’aplicar també al grob ClefModifier com un \override diferent.

\new Staff \with {
  \override Clef.color = #blue
  \override ClefModifier.color = #red
}

\clef "treble_8" c'4

[image of music]


Armadura de la tonalitat

Nota: Les alteracions accidentals i les armadures són una causa freqüent de confusió per al nous usuaris. Al LilyPond, el noms de les notes són el codi d’entrada en brut; l’armadura i la clau determinen de quina forma es presenta aquest codi en brut. Una nota sense alteració com c significa ‘Do natural’, sense que l’afectin l’armadura o la clau. Per veure més informació, consulteu Alteracions accidentals i armadures.

L’armadura indica la tonalitat en la qual es toca una peça. Està denotada per un conjunt d’alteracions (bemolls o sostinguts) al començament del pentagrama. L’establiment o modificació de l’armadura es fa amb l’ordre \key:

\key nota modo

Aquí, mode ha de ser \major o \minor per obtenir la tonalitat nota major o noms estàndard de mode (també coneguts com modes eclesiàstics): \ionian (jònic), \dorian (dòric), \phrygian (frigi), \lydian (lidi), \mixolydian (mixolidi), \aeolian (eoli) i \locrian (locri).

\relative {
  \key g \major
  fis''1
  f
  fis
}

[image of music]

Es poden definir modes addicionals, escrivint una llista amb l’alteració que porta cada nota de l’escala quan el mode comença amb Do.

freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)
    (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))

\relative {
  \key c \freygish c'4 des e f
  \bar "||" \key d \freygish d es fis g
}

[image of music]

Les alteracions de l’armadura de la tonalitat es poden imprimir en una octava diferent que en les seves posicions tradicionals, o en més d’una octava, usat les propietats flat-positions i sharp-positions de KeySignature. Les entrades en aquestes propietats especifiquen el rang de posicions de pentagrama en el qual s’imprimiran les alteracions, les alteracions es col·loquen dins de l’octava que acaba en aquesta posició del pentagrama.

\override Staff.KeySignature.flat-positions = #'((-5 . 5))
\override Staff.KeyCancellation.flat-positions = #'((-5 . 5))
\clef bass \key es \major es g bes d'
\clef treble \bar "||" \key es \major es' g' bes' d''

\override Staff.KeySignature.sharp-positions = #'(2)
\bar "||" \key b \major b' fis' b'2

[image of music]

Fragments de codi seleccionats

Preventing natural signs from being printed when the key signature changes

When the key signature changes, natural signs are automatically printed to cancel any accidentals from previous key signatures. This may be prevented by setting to f the printKeyCancellation property in the Staff context.

\relative c' {
  \key d \major
  a4 b cis d
  \key g \minor
  a4 bes c d
  \set Staff.printKeyCancellation = ##f
  \key d \major
  a4 b cis d
  \key g \minor
  a4 bes c d
}

[image of music]

Non-traditional key signatures

The commonly used \key command sets the keyAlterations property, in the Staff context.

To create non-standard key signatures, set this property directly. The format of this command is a list:

\set Staff.keyAlterations = #`(((octave . step) . alter) ((octave . step) . alter) ...) where, for each element in the list, octave specifies the octave (0 being the octave from middle C to the B above), step specifies the note within the octave (0 means C and 6 means B), and alter is ,SHARP ,FLAT ,DOUBLE-SHARP etc. (Note the leading comma.)

Alternatively, for each item in the list, using the more concise format (step . alter) specifies that the same alteration should hold in all octaves.

For microtonal scales where a “sharp” is not 100 cents, alter refers to the alteration as a proportion of a 200-cent whole tone.

Here is an example of a possible key signature for generating a whole-tone scale:

\relative {
  \set Staff.keyAlterations = #`((6 . ,FLAT)
                                 (5 . ,FLAT)
                                 (3 . ,SHARP))
  c'4 d e fis
  aes4 bes c2
}

[image of music]

Vegeu també

Glossari musical: church mode, scordatura.

Manual de aprenentatge: Alteracions accidentals i armadures.

Fragments de codi: Pitches.

Referència de funcionament interno: KeyChangeEvent, Key_engraver, Key_performer, KeyCancellation, KeySignature, key-signature-interface.


Indicadors d’octava

Els indicadors d’octava introdueixen un transport addicional d’una octava per al pentagrama.

\relative a' {
  a2 b
  \ottava #-2
  a2 b
  \ottava #-1
  a2 b
  \ottava #0
  a2 b
  \ottava #1
  a2 b
  \ottava #2
  a2 b
}

[image of music]

Fragments de codi seleccionats

Ottava text

Internally, \ottava sets the properties ottavation (for example, to 8va or 8vb) and middleCPosition. To override the text of the bracket, set ottavation after invoking \ottava.

{
  \ottava #1
  \set Staff.ottavation = #"8"
  c''1
  \ottava #0
  c'1
  \ottava #1
  \set Staff.ottavation = #"Text"
  c''1
}

[image of music]

Adding an ottava marking to a single voice

If you have more than one voice on the staff, setting octavation in one voice will transpose the position of notes in all voices for the duration of the ottava bracket. If the ottavation is only intended to apply to one voice, the middleCPosition and ottava bracket may be set explicitly. In this snippet, the bass clef usually has middleCPosition set to 6, six positions above the center line, so in the 8va portion middleCPosition is 7 positions (one octave) higher still.

{
  \clef bass
  << { <g d'>1~ q2 <c' e'> }
  \\
    {
      r2.
      \set Staff.ottavation = #"8vb"
      \once \override Staff.OttavaBracket.direction = #DOWN
      \set Voice.middleCPosition = #(+ 6 7)
      <b,,, b,,>4 ~ |
      q2
      \unset Staff.ottavation
      \unset Voice.middleCPosition
      <c e>2
    }
  >>
}

[image of music]

Modifying the Ottava spanner slope

It is possible to change the slope of the Ottava spanner.

\relative c'' {
  \override Staff.OttavaBracket.stencil = #ly:line-spanner::print
  \override Staff.OttavaBracket.bound-details =
    #`((left . ((Y . 0) ; Change the integer here
                (attach-dir . ,LEFT)
                (padding . 0)
                (stencil-align-dir-y . ,CENTER)))
       (right . ((Y . 5) ; Change the integer here
                 (padding . 0)
                 (attach-dir . ,RIGHT)
                 (text . ,(make-draw-dashed-line-markup (cons 0 -1.2))))))
  \override Staff.OttavaBracket.left-bound-info =
     #ly:line-spanner::calc-left-bound-info-and-text
  \override Staff.OttavaBracket.right-bound-info =
     #ly:line-spanner::calc-right-bound-info
  \ottava #1
  c1
  c'''1
}

[image of music]

Vegeu també

Glossari musical: octavation.

Fragments de codi: Pitches.

Referència de funcionament interno: Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.


Transposició dels instruments

En gravar partitures on participen instruments transpositors, certes partes es poden gravar en un to diferent del to de concert. En aquests casos s’ha d’especificar la tonalitat del instrumento transpositor; si no es fa així, la sortida MIDI i les notes guia a altres parts produiran altures incorrectes. Per veure més informació sobre parts citades com a guia, consulteu Cites a altres veus.

\transposition pitch

El to usat per a \transposition s’ha de correspondre amb el so real que s’escolta quan l’instrument transpositor interpreta un Do central c' escrit al pentagrama. Aquesta nota s’escriu en altura absoluta, per tant un instrument que produeix un so real un to més agut que la música impresa (un instrument en Re) ha d’usar \transposition d'. L’ordre \transposition s’ha d’usar solament si les notes no s’escriuran en afinació de concert.

A continuació es poden veure algunes notes per a violí i per a clarinet en Si bemoll, on les parts s’han introduït usant les notes i l’armadura tal i com apareixen a la partitura del director. El que toquen els dos instruments està sonant a l’uníson.

\new GrandStaff <<
  \new Staff = "violin" {
    \relative c'' {
      \set Staff.instrumentName = #"Vln"
      \set Staff.midiInstrument = #"violin"
      % no estrictament necessari, però un bon recordatori
      \transposition c'

      \key c \major
      g4( c8) r c r c4
    }
  }
  \new Staff = "clarinet" {
    \relative c'' {
      \set Staff.instrumentName = \markup { Cl (B\flat) }
      \set Staff.midiInstrument = #"clarinet"
      \transposition bes

      \key d \major
      a4( d8) r d r d4
    }
  }
>>

[image of music]

L’ordre \transposition es pot canviar durant la peça. Per exemple, un clarinetista pot canviar del clarinet en La al clarinet en Si bemoll.

flute = \relative c'' {
  \key f \major
  \cueDuring #"clarinet" #DOWN {
    R1 _\markup\tiny "clarinet"
    c4 f e d
    R1 _\markup\tiny "clarinet"
  }
}
clarinet = \relative c'' {
  \key aes \major
  \transposition a
  aes4 bes c des
  R1^\markup { muta in B\flat }
  \key g \major
  \transposition bes
  d2 g,
}
\addQuote "clarinet" \clarinet
<<
  \new Staff \with { instrumentName = #"Flute" }
    \flute
  \new Staff \with { instrumentName = #"Cl (A)" }
    \clarinet
>>

[image of music]

Vegeu també

Glossari musical: concert pitch, transposing instrument.

Referència de la notació: Cites a altres veus, Transposició.

Fragments de codi: Pitches.


Alteracions accidentals automàtiques

Hi ha moltes convencions diferents sobre la forma de gravar les alteracions. El LilyPond proporciona una funció per especificar quin estil d’alteracions usar. Aquesta funció s’invoca de la manera següent:

\new Staff <<
  \accidentalStyle voice
  { … }
>>

L’estil d’alteracions s’aplica al Staff en curs de forma predeterminada (amb l’excepció dels estils piano i piano-cautionary, que s’expliquen més endavant). Opcionalment, la funció pot agafar un segon argument que determina en quin àmbit s’ha de canviar l’estil. Per exemple, per usar el mateix estil en tots els pentagrames del StaffGroup en curs, useu

\accidentalStyle StaffGroup.voice

Estan contemplats els següents estils d’alteració. Per donar una mostra de cada u dels estils, utilitzem l’exemple següent:

musicA = {
  <<
    \relative {
      cis''8 fis, bes4 <a cis>8 f bis4 |
      cis2. <c, g'>4 |
    }
    \\
    \relative {
      ais'2 cis, |
      fis8 b a4 cis2 |
    }
  >>
}

musicB = {
  \clef bass
  \new Voice {
    \voiceTwo \relative {
      <fis a cis>8[ <fis a cis>
      \change Staff = up
      cis' cis
      \change Staff = down
      <fis, a> <fis a>]
      \showStaffSwitch
      \change Staff = up
      dis'4 |
      \change Staff = down
      <fis, a cis>4 gis <f a d>2 |
    }
  }
}

\new PianoStaff {
  <<
    \context Staff = "up" {
      \accidentalStyle default
      \musicA
    }
    \context Staff = "down" {
      \accidentalStyle default
      \musicB
    }
  >>
}

[image of music]

Observeu que les últimes línies d’aquest exemple es poden substituir per les següents, sempre i quan vulguem usar el mateix estil als dos pentagrames.

\new PianoStaff {
  <<
    \context Staff = "up" {
      %%% canvieu la línia següent com desitgeu:
      \accidentalStyle Score.default
      \musicA
    }
    \context Staff = "down" {
      \musicB
    }
  >>
}
default (predeterminado)

Es el comportament de gravat predeterminat per a composició. Correspon a la pràctica comuna del segle XVIII: les alteracions accidentals es recorden fins al final del compàs en el qual apareixen i sols en la mateixa octava. Així, a l’exemple següent, no s’imprimeixen becaires abans del Si natural al segon compàs ni a l’últim Do:

[image of music]

voice (veu)

El comportament normal és recordar les alteracions accidentals al nivell de Staff. En aquest estil, tanmateix, es graven les alteracions individualment per a cada veu. A part d’això la regla és semblant a default.

Com a resultat, les alteracions d’una veu no es cancel·len a les altres veus, el que amb freqüència porta a un resultat no desitjat: a l’exemple següent és difícil determinar si el segon La s’ha de tocar natural o sostingut. Per tant, l’opció voice s’ha d’usar sols si les veus es llegiran individualment per músics diferents. Si el pentagrama s’utilitzarà per part d’un sols músic (per exemple un director, o a una partitura de piano), aleshores s’han d’usar en el seu lloc els estils modern o modern-cautionary.

[image of music]

modern

Aquesta regla correspon a la pràctica comuna del segle XX. Omet alguns becaires addicionals, que tradicionalment s’imprimien precedint a un sostingut que segueix a un doble sostingut, o a un bemoll que segueix a un doble bemoll. La regla modern imprimeix les mateix alteracions que l’estil default, amb dos addicions que serveixen per evitar la ambigüitat: després d’alteracions temporals s’imprimeixen indicacions de cancel·lació també al compàs següent (per a notes a la mateixa octava) i, al mateix compàs, per a notes a octaves diferents. D’aquí els becaires abans del Si natural i del Do al segon compàs del pentagrama superior:

[image of music]

modern-cautionary (modern de precaució)

Aquesta regla és semblant a modern, però les alteracions ‘afegides’ se imprimeixen como alteracions de precaució (entre parèntesis). També es poden imprimir en una mida diferent sobreescrivint la propietat font-size de l’objecte AccidentalCautionary.

[image of music]

modern-voice (modern, per a veus)

Aquesta regla s’usa perquè puguin llegir les alteracions a diverses veus, tant els músics que toquen una veu com els musics que toquen totes les veus. S’imprimeixen les alteracions per a cada veu, però es cancel·len entre veus dins del mateix Staff. Per tant, el La a l’últim compàs es cancel·la perquè la cancel·lació anterior estava a una veu diferent, i el Re al pentagrama inferior es cancel·la a causa de l’alteració a una altra veu al compàs previ:

[image of music]

modern-voice-cautionary (modern, veu, de precaució)

Aquesta regla és la mateixa que modern-voice, però amb les alteracions afegides (les que l’estilo voice no imprimeix) composades com de precaució. Fins i tot malgrat que totes les alteracions impreses per l’estil default són impreses amb aquesta regla, algunes d’elles es graven com de precaució.

[image of music]

piano

Aquesta regla reflexa la pràctica del segle XX per a la notació de piano. El seu comportament és molt semblan a l’estil modern, però aquí les alteracions també es cancel·len entre diferents pentagrames del mateix grup GrandStaff o PianoStaff, d’aquí totes les cancel·lacions de les últimes notes.

Aquest estil d’alteració s’aplica de manera predeterminada al grup GrandStaff o PianoStaff en curs.

[image of music]

piano-cautionary (piano, de precaución)

Igual que \accidentalStyle piano però amb les alteracions afegides composades com de precaució.

[image of music]

neo-modern

Aquesta regla reprodueix una pràctica comuna a la música contemporània: les alteracions accidentals s’imprimeixen com a modern, però es tornen a imprimir si apareix la mateixa nota una altra vegada al mateix compàs (excepte si la nota es repeteix immediatament).

[image of music]

neo-modern-cautionary

Aquesta regla és sembla a neo-modern, però les alteracions ‘addicionals’ s’imprimeixen com alteracions de precaució (amb parèntesis). També es poden imprimir a una mida diferent sobreescrivint la propietat font-size de l’objecte AccidentalCautionary.

[image of music]

neo-modern-voice

Aquesta regla s’usa per alteracions accidentals sobre diverses veus que s’han de llegir per part de músics que toquen una veu, així com per músics que toquen totes les veus. Les alteracions s’imprimeixen per a cada veu com amb neo-modern, però es cancel·len per a altres veus que estan al mateix pentagrama Staff.

[image of music]

neo-modern-voice-cautionary

Aquesta regla és semblant a neo-modern-voice, però les alteracions addicionals s’imprimeixen com alteracions de precaució.

[image of music]

dodecaphonic

Aquesta regla reflexa una pràctica introduïda pels compositors de principis del segle XX, en un intent d’abolir la jerarquia entre notes naturals i alterades. Amb aquest estil, todas les notes porten alteració, fins i tot becaires.

[image of music]

dodecaphonic-no-repeat

Com amb l’estil d’alteracions dodecafònic totes les notes porten una alteració de forma predeterminada, però les alteracions se suprimeixen quan hi ha notes repetides immediatament al mateix pentagrama.

[image of music]

dodecaphonic-first

Semblant a l’estil d’alteracions dodecafònic, totes les notes porten una alteració, però sols la primera vegada que es troben al compàs. Les alteracions es recorden sols per a l’octava actual però a través de les veus.

[image of music]

teaching (ensenyament)

Aquesta regla està pensada per a estudiants, i fa més senzill crear automàticament fulls d’escales amb alteracions de precaució. Les alteracions s’imprimeixen com a l’estil modern, però s’afegeixen alteracions de precaució per a totes les notes sostingudes o bemolls especificats per l’armadura, excepte si la nota es repeteix immediatament.

[image of music]

no-reset (sense restabliment)

És el mateix que default però amb alteracions que duren ‘per sempre’ i no sols dins del mateix compàs:

[image of music]

forget (oblit)

És l’oposat a sense restabliment: Les alteracions no es recorden en absolut: d’aquí que totes les alteracions es gravin en relació a l’armadura de la tonalitat, sense que es vegin afectades pel que hi ha abans.

[image of music]

Vegeu també

Fragments de codi: Pitches.

Referècia de funcionament interno: Accidental, Accidental_engraver, GrandStaff, PianoStaff, Staff, AccidentalSuggestion, AccidentalPlacement, accidental-suggestion-interface.

Advertiments i problemes coneguts

Les notes simultànies no es tenen en compte per a la determinació automàtica de les alteracions accidentals; sols es consideren les notes anteriors i l’armadura de la tonalitat. Pot ser necessari forçar les alteracions accidentals amb with !? quan la mateixa nota, amb al mateix nom, aparegui simultàniament amb diferents alteracions, com a ‘<f! fis!>’.

La cancel·lació de precaució d’alteracions es fa mirant el compàs previ. Malgrat això, al bloc \alternative que segueix a una secció de repetició de primera i segona vegada \repeat volta N, s’esperaria que la cancel·lació es calculés utilitzant el compàs previ que s’ha tocat, no el compàs previ que s’ha imprès. A l’exemple següent al Do natural de la casella de segona vegada no li cal becaire:

[image of music]

Es pot usar la següent solució del problema: definir una funció que canviï localment l’estil d’alteracions a forget:

forget = #(define-music-function (music) (ly:music?) #{
  \accidentalStyle forget
  #music
  \accidentalStyle modern
#})
{
  \accidentalStyle modern
  \time 2/4
  \repeat volta 2 {
    c'2
  }
  \alternative {
     cis'
     \forget c'
  }
}

[image of music]


Tessitura

El terme ambitus o àmbit denota el rang de notes que abasta una veu donada a una part musical. També pot denotar el marge de notes que és capaç de tocar un determinat instrument musical. Els àmbits s’imprimeixen a les parts vocals de tal manera que els intèrprets puguin determinar amb facilitat si compleixen amb les seves pròpies possibilitats.

Els àmbits es presenten al començament de la peça junt a la clau inicial. El rang s’especifica gràficament mitjançant dos caps de nota que representen a les notes inferior i superior. Sols s’imprimeixen alteracions si no formen part de l’armadura de la tonalitat.

\layout {
  \context {
    \Voice
    \consists "Ambitus_engraver"
  }
}

\relative {
  aes' c e2
  cis,1
}

[image of music]

Fragments de codi seleccionats

Adding ambitus per voice

Ambitus can be added per voice. In this case, the ambitus must be moved manually to prevent collisions.

\new Staff <<
  \new Voice \with {
    \consists "Ambitus_engraver"
  } \relative c'' {
    \override Ambitus.X-offset = #2.0
    \voiceOne
    c4 a d e
    f1
  }
  \new Voice \with {
    \consists "Ambitus_engraver"
  } \relative c' {
    \voiceTwo
    es4 f g as
    b1
  }
>>

[image of music]

Ambitus with multiple voices

Adding the Ambitus_engraver to the Staff context creates a single ambitus per staff, even in the case of staves with multiple voices.

\new Staff \with {
  \consists "Ambitus_engraver"
  }
<<
  \new Voice \relative c'' {
    \voiceOne
    c4 a d e
    f1
  }
  \new Voice \relative c' {
    \voiceTwo
    es4 f g as
    b1
  }
>>

[image of music]

Changing the ambitus gap

It is possible to change the default gap between the ambitus noteheads and the line joining them.

\layout {
  \context {
    \Voice
    \consists "Ambitus_engraver"
  }
}

\new Staff {
  \time 2/4
  % Default setting
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #0
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #1
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #1.5
  c'4 g''
}

[image of music]

Vegeu també

Glossri musical: ambitus.

Fragments de codi: Pitches.

Referència de funcionament interno: Ambitus_engraver, Voice, Staff, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ambitus-interface.

Advertiments i problemes coneguts

No s’efectua un tractament de les possibles col·lisions en cas de diverses indicacions d’àmbit simultànies a veus diferents.


1.1.4 Cap de les notes

Aquesta secció proposa formes d’alterar els caps de les figures.


Caps de nota especials

Es pot modificar l’aparença del cap de les notes:

\relative c'' {
  c4 b
  \override NoteHead.style = #'cross
  c4 b
  \revert NoteHead.style
  a b
  \override NoteHead.style = #'harmonic
  a b
  \revert NoteHead.style
  c4 d e f
}

[image of music]

Per veure totes els estils de caps de les notes, consulteu Estils de caps de nota.

L’estil cross (aspes) es fa servir per representar una àmplia varietat d’intencions musicals. Les següent ordres genèriques predefinides modifiquen la forma del cap de les figures tant al context del pentagrama normal com al de tabulatura, i es poden fer servir per representar qualsevol significat musical:

\relative {
  c''4 b
  \xNotesOn
   a b c4 b
  \xNotesOff
  c4 d
}

[image of music]

La forma de funció musical d’aquesta ordre predefinida es pot usar dins i fora dels acords per generar caps de nota en aspa, tant al context de pentagrama normal com al de tabulatura:

\relative {
  c''4 b
  \xNote { e f }
  c b < g \xNote c f > b
}

[image of music]

Como sinònims de \xNote, \xNotesOn i \xNotesOff, se poden usar \deadNote, \deadNotesOn i \deadNotesOff. El terme dead note (nota morta) s’utilitza habitualment per part dels guitarristes.

També hi ha una abreviatura semblant per a les formes en rombe:

\relative c'' {
  <c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic
}

[image of music]

Instruccions predefinides

\harmonic, \xNotesOn, \xNotesOff, \xNote.

Vegeu també

Fragments de codi: Pitches.

Referència de la notació: Estils de caps de nota, Notes en acord, Indicació d’harmònics y notes tapades.

Referència de funcionament interno: note-event, Note_heads_engraver, Ledger_line_engraver, NoteHead, LedgerLineSpanner, note-head-interface, ledger-line-spanner-interface.


Caps de notes de Notació Fàcil

Les notes amb cap de ‘notació facilitada’ tenen el nom de la nota (en angles) dins del cap. S’usen a la música per a principiants. Perquè que les lletres siguin llegibles, s’han d’imprimir en una mida gran de tipus de lletra. Per imprimir amb un tipus de lletra més gran, vegeu Establiment de la mida del pentagrama.

#(set-global-staff-size 26)
\relative c' {
  \easyHeadsOn
  c2 e4 f
  g1
  \easyHeadsOff
  c,1
}

[image of music]

Instruccions predefinides

\easyHeadsOn, \easyHeadsOff.

Fragments de codi seleccionats

Numbers as easy note heads

Easy notation note heads use the note-names property of the NoteHead object to determine what appears inside the note head. By overriding this property, it is possible to print numbers representing the scale-degree.

A simple engraver can be created to do this for every note head object it sees.

#(define Ez_numbers_engraver
   (make-engraver
    (acknowledgers
     ((note-head-interface engraver grob source-engraver)
      (let* ((context (ly:translator-context engraver))
	     (tonic-pitch (ly:context-property context 'tonic))
	     (tonic-name (ly:pitch-notename tonic-pitch))
	     (grob-pitch
	      (ly:event-property (event-cause grob) 'pitch))
	     (grob-name (ly:pitch-notename grob-pitch))
	     (delta (modulo (- grob-name tonic-name) 7))
	     (note-names
	      (make-vector 7 (number->string (1+ delta)))))
	(ly:grob-set-property! grob 'note-names note-names))))))

#(set-global-staff-size 26)

\layout {
  ragged-right = ##t
  \context {
    \Voice
    \consists \Ez_numbers_engraver
  }
}

\relative c' {
  \easyHeadsOn
  c4 d e f
  g4 a b c \break

  \key a \major
  a,4 b cis d
  e4 fis gis a \break

  \key d \dorian
  d,4 e f g
  a4 b c d
}

[image of music]

Vegeu també

Referència de la notació: Establiment de la mida del pentagrama.

Fragments de codi: Pitches.

Referència de funcionament interno: note-event, Note_heads_engraver, NoteHead, note-head-interface.


Caps de notes amb formes diverses

A la notació de caps amb forma, la forma del cap correspon a la funció harmònica d’una nota dins de l’escala. Aquesta notació es va fer popular als llibres americans de cançons durant el segle XIX. Els caps de nota amb formes es poden produir amb els estils ‘Arpa Sacra’, ‘Southern Harmony’, Funk (Harmonia Sacra), Walker i Aiken ‘(Christian Harmony)’:

\relative c'' {
  \aikenHeads
  c, d e f g2 a b1 c \break
  \sacredHarpHeads
  c,4 d e f g2 a b1 c \break
  \southernHarmonyHeads
  c,4 d e f g2 a b1 c \break
  \funkHeads
  c,4 d e f g2 a b1 c \break
  \walkerHeads
  c,4 d e f g2 a b1 c \break
}

[image of music]

Les formes es determinen en funció del grau de l’escala, on la tònica està determinada per l’ordre \key. Quan s’escriu en un to menor, la nota de l’escala es pot determinar a partir del relatiu major:

\relative c'' {
  \key a \minor
  \aikenHeads
  a b c d e2 f g1 a \break
  \aikenHeadsMinor
  a,4 b c d e2 f g1 a \break
  \sacredHarpHeadsMinor
  a,2 b c d \break
  \southernHarmonyHeadsMinor
  a2 b c d \break
  \funkHeadsMinor
  a2 b c d \break
  \walkerHeadsMinor
  a2 b c d \break
}

[image of music]

Instruccions predefinides

\aikenHeads, \aikenHeadsMinor, \funkHeads, \funkHeadsMinor, \sacredHarpHeads, \sacredHarpHeadsMinor, \southernHarmonyHeads, \southernHarmonyHeadsMinor, \walkerHeads, \walkerHeadsMinor.

Fragments de codi seleccionats

Applying note head styles depending on the step of the scale

The shapeNoteStyles property can be used to define various note head styles for each step of the scale (as set by the key signature or the tonic property). This property requires a set of symbols, which can be purely arbitrary (geometrical expressions such as triangle, cross, and xcircle are allowed) or based on old American engraving tradition (some latin note names are also allowed).

That said, to imitate old American song books, there are several predefined note head styles available through shortcut commands such as \aikenHeads or \sacredHarpHeads.

This example shows different ways to obtain shape note heads, and demonstrates the ability to transpose a melody without losing the correspondence between harmonic functions and note head styles.

fragment = {
  \key c \major
  c2 d
  e2 f
  g2 a
  b2 c
}

\new Staff {
  \transpose c d
  \relative c' {
    \set shapeNoteStyles = ##(do re mi fa
                               #f la ti)
    \fragment
  }

  \break

  \relative c' {
    \set shapeNoteStyles = ##(cross triangle fa #f
                               mensural xcircle diamond)
    \fragment
  }
}

[image of music]

Per veure tots els estils de formes de cap de nota, consulteu Estils de caps de nota,

Vegeu també

Fragments de codi: Pitches.

Referència de la notació: Estils de caps de nota,

Referencia de funcionament interno: note-event, Note_heads_engraver, NoteHead, note-head-interface.


Improvisació

La improvisació es denota a vegades mitjançant caps de nota en forma de barra inclinada, on l’executant pot escollir qualsevol nota però amb el ritme especificat. Aquests cap de nota es creen així:

\new Voice \with {
  \consists "Pitch_squash_engraver"
} \relative {
  e''8 e g a a16( bes) a8 g
  \improvisationOn
  e8 ~
  2 ~ 8 f4 f8 ~
  2
  \improvisationOff
  a16( bes) a8 g e
}

[image of music]

Instruccions predefinides

\improvisationOn, \improvisationOff.

Vegeu també

Fragments de codi: Pitches.

Referència de funcionament interno: Pitch_squash_engraver, Voice, RhythmicStaff.


1.2 Duracions

[image of music]

Aquesta secció tracta dels ritmes, els silencis, les duracions, les barres i els compassos.


1.2.1 Escriptura de les duracions (valors rítmics)


Duració de les notes

Les duracions es designen mitjançant nombres i punts. Les duracions s’introdueixen en relació als seus valores recíproc respecte de la rodona. Per exemple, una negra s’escriu usant un 4 (atès que és 1/4 de rodona), mentre que una blanca s’escriu amb un 2 (per ser 1/2 de rodona). Per a notes majors de la rodona s’han d’usar les instruccions \longa (que és una breu doble) i \breve. Es poden especificar duracions tan curtes com la garrapatea (amb el número 128). Es poden fer valors més curts, però sols com a notes unides per una barra.

\relative {
  \time 8/1
  c''\longa c\breve c1 c2
  c4 c8 c16 c32 c64 c128 c128
}

[image of music]

Aquí es poden veure les mateixes duracions amb el barrat automàtic desactivat.

\relative {
  \time 8/1
  \autoBeamOff
  c''\longa c\breve c1 c2
  c4 c8 c16 c32 c64 c128 c128
}

[image of music]

Es pot escriure una nota amb la duració d’una quàdruple breu mitjançant \maxima, però això es permet sols dins de la notació musical antiga. Per veure més detalls, consulteu Notació antiga.

Si la duració s’omet, el seu valor serà el de la duració de la nota anterior. Per omissió, el valor de la primera nota és el d’una negra.

\relative { a' a a2 a a4 a a1 a }

[image of music]

Les duracions aïllades a una seqüència musical agafen l’altura de la nota o acord anterior.

\relative {
  \time 8/1
  c'' \longa \breve 1 2
  4 8 16 32 64 128 128
}

[image of music]

Per obtenir duracions de notes amb puntet, escriviu un punt (.) després del numero. Les notes amb doble puntet s’especifiquen escrivint dos punts, i així successivament.

\relative { a'4 b c4. b8 a4. b4.. c8. }

[image of music]

Certes duracions no es poden representar sols amb duracions binaries i puntets; l’única forma de representar-les és lligat dos o més notes. Per veure més detalls, consulteu Lligadures d’unió.

Per veure de quina manera es poden especificar les duracions de les síl·labes de la lletra i com alinear la lletra a les notes, consulteu Música vocal.

De forma opcional es poden espaiar les notes de forma estrictament proporcional a les seves duracions. Per veure més detalls sobre aquest ajust i altres ajustos que controlen la notació proporciona, consulteu Notació proporcional.

Normalment els puntets es desplacen cap amunt per evitar les línies del pentagrama, excepte en situacions de polifonia. Es poden situar els puntets manualment a sobre o a sota de les línies de la pauta; vegeu Direcció i col·locació.

Instruccions predefinides

\autoBeamOn, \autoBeamOff, \dotsUp, \dotsDown, \dotsNeutral.

Fragments de codi seleccionats

Alternative breve notes

Breve notes are also available with two vertical lines on each side of the notehead instead of one line and in baroque style.

\relative c'' {
  \time 4/2
  c\breve |
  \override Staff.NoteHead.style = #'altdefault
  b\breve
  \override Staff.NoteHead.style = #'baroque
  b\breve
  \revert Staff.NoteHead.style
  a\breve
}

[image of music]

Changing the number of augmentation dots per note

The number of augmentation dots on a single note can be changed indepently of the dots placed after the note.

\relative c' {
  c4.. a16 r2 |
  \override Dots.dot-count = #4
  c4.. a16 r2 |
  \override Dots.dot-count = #0
  c4.. a16 r2 |
  \revert Dots.dot-count
  c4.. a16 r2 |
}

[image of music]

Vegeu també

Glossari musical: breve, longa, maxima, note value, Duration names notes and rests.

Referència de la notació: Barres automàtiques, Lligadures d’unió, Pliques, Escriptura de les duracions (valors rítmics), Escriptura dels silencis, Música vocal, Notació antiga, Notació proporcional.

Fragments de codi: Rhythms.

Referència de funcionament intern: Dots, DotColumn.

Advertiments i problemes coneguts

No hi ha un límit fonamental per a les duracions dels silencis (tant per al més llarg com per al més curt), però el nombre dels glifs és limitat; sols es poden imprimir des del silenci de garrapatea (128) fins el de màxima (8 rodones).


Grups especials

Els grups especials s’obtenen a partir d’una expressió musical amb la instrucció \tuplet, multiplicant la rapidesa de l’expressió musical per una fracció:

\tuplet fracció { música }

El numerador de la fracció s’imprimeix a sobre o a sota de les notes, opcionalment amb una clau. El grup especial més comú és el treset, en el qual 3 notes tenen el valor que normalment tenen 2:

\relative {
  a'2 \tuplet 3/2 { b4 4 4 }
  c4 c \tuplet 3/2 { b4 a g }
}

[image of music]

Si s’estan escrivint passatges amb molts grups de valoració especial, resulta fastigós haver d’escriure una ordre \tuplet diferent per a cada grup. És possible especificar la duració d’un conjunt de grups directament abans de la música perquè així s’agrupin automàticament:

\relative {
  g'2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e }
}

[image of music]

Es poden col·locar manualment les claus de treset a sobre o a sota de la pauta:

\relative {
  \tupletUp \tuplet 3/2 { c''8 d e }
  \tupletNeutral \tuplet 3/2 { c8 d e }
  \tupletDown \tuplet 3/2 { f,8 g a }
  \tupletNeutral \tuplet 3/2 { f8 g a }
}

[image of music]

Els grups poden niuar-se uns a dins dels altres:

\relative {
  \autoBeamOff
  c''4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4
}

[image of music]

La modificació dels grups especials niuats que comencen al mateix instant musical s’han de fer amb \tweak.

Per modificar la duració de les notes sense imprimir una de grup especial, vegeu

Instruccions predefinides

\tupletUp, \tupletDown, \tupletNeutral.

Fragments de codi seleccionats

Entering several tuplets using only one \tuplet command

The property tupletSpannerDuration sets how long each of the tuplets contained within the brackets after \tuplet should last. Many consecutive tuplets can then be placed within a single \tuplet expression, thus saving typing.

There are several ways to set tupletSpannerDuration. The command \tupletSpan sets it to a given duration, and clears it when instead of a duration \default is specified. Another way is to use an optional argument with \tuplet.

\relative c' {
  \time 2/4
  \tupletSpan 4
  \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c }
  \tupletSpan \default
  \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c }
  \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c }
}

[image of music]

Changing the tuplet number

By default, only the numerator of the tuplet number is printed over the tuplet bracket, i.e., the numerator of the argument to the \tuplet command.

Alternatively, num:den of the tuplet number may be printed, or the tuplet number may be suppressed altogether.

\relative c'' {
  \tuplet 3/2 { c8 c c }
  \tuplet 3/2 { c8 c c }
  \override TupletNumber.text = #tuplet-number::calc-fraction-text
  \tuplet 3/2 { c8 c c }
  \omit TupletNumber
  \tuplet 3/2 { c8 c c }
}

[image of music]

Non-default tuplet numbers

LilyPond also provides formatting functions to print tuplet numbers different than the actual fraction, as well as to append a note value to the tuplet number or tuplet fraction.

\relative c'' {
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-tuplet-denominator-text 7)
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-tuplet-fraction-text 12 7)
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      tuplet-number::calc-denominator-text "4")
  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      tuplet-number::calc-fraction-text "4")
  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
  \once \override TupletNumber.text =
    #(tuplet-number::fraction-with-notes "4." "8")
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
  \tuplet 3/2  { c4. c4. c4. c4. }
}

[image of music]

Controlling tuplet bracket visibility

The default behavior of tuplet-bracket visibility is to print a bracket unless there is a beam of the same length as the tuplet. To control the visibility of tuplet brackets, set the property 'bracket-visibility to either #t (always print a bracket), #f (never print a bracket) or #'if-no-beam (only print a bracket if there is no beam).

music = \relative c'' {
  \tuplet 3/2 { c16[ d e } f8]
  \tuplet 3/2 { c8 d e }
  \tuplet 3/2 { c4 d e }
}

\new Voice {
  \relative c' {
    << \music s4^"default" >>
    \override TupletBracket.bracket-visibility = #'if-no-beam
    << \music s4^"'if-no-beam" >>
    \override TupletBracket.bracket-visibility = ##t
    << \music s4^"#t" >>
    \override TupletBracket.bracket-visibility = ##f
    << \music s4^"#f" >>
    %% v2.18 :
    \omit TupletBracket
    << \music s4^"omit" >>
  }
}

[image of music]

Permitting line breaks within beamed tuplets

This artificial example shows how both manual and automatic line breaks may be permitted to within a beamed tuplet. Note that such off-beat tuplets have to be beamed manually.

\layout {
  \context {
    \Voice
    % Permit line breaks within tuplets
    \remove "Forbid_line_break_engraver"
    % Allow beams to be broken at line breaks
    \override Beam.breakable = ##t
  }
}
\relative c'' {
  a8
  \repeat unfold 5 { \tuplet 3/2 { c[ b a] } }
  % Insert a manual line break within a tuplet
  \tuplet 3/2 { c[ b \bar "" \break a] }
  \repeat unfold 5 { \tuplet 3/2 { c[ b a] } }
  c8
}

[image of music]

Vegeu també

Glossari musical: triplet, tuplet, polymetric.

Manual de aprenentatge: Mètodes d'ajustament.

Referència de la notació: Direcció i posició, Gestió del temps, Escalat de les duracions, L’ordre tweak, Notació polimètrica.

Fragments de codi: Rhythms.

Referència de funcionament intern: TupletBracket, TupletNumber, TimeScaledMusic.


Escalat de les duracions

La duració de les figures, silencis o acords es pot multiplicar per un factor N/M afegint *N/M (o *N si M és 1) a la duració. Aixo no afectarà a l’aparença de les notes o silencis que es produeixen, però la duració alterada s’usarà per calcular la posició dins del compàs i per establir la duració en la sortida MIDI. Els factors de multiplicació es poden combinar en la forma *L*M/N. Els factors són part de la duració: si no especifiquem una duració per a les notes següents, la duració per omissió que s’agafa de la nota anterior inclourà qualsevol factor d’escala que s’hagi aplicat.

Al següent exemple les tres primeres notes duren exactament dues parts, però no s’imprimeix cap clau de treset.

\relative {
  \time 2/4
  % Altera les duracions a tresets
  a'4*2/3 gis a
  % Duracions normals
  a4 a
  % Duplica la duració de l'acord
  <a d>4*2
  % Duració de negra, sembla de corxera
  b16*4 c4
}

[image of music]

La duració dels silencis espaiadors també es pot modificar mitjançant un multiplicador. Això és útil per saltar molts compassos, com per exemple s1*23.

De la mateixa forma, es poden comprimir per una fracció trossos de música més llargs, com si cada nota, acord o silenci tingués la fracció com a multiplicador.. Això deixarà intacte l’aparença de la música, però la duració interna de les notes es multiplicarà per la fracció numerador/denominador. Vet aquí un exemple que mostra com es pot comprimir i expandir la música:

\relative {
  \time 2/4
  % Duracions normals
  <c'' a>4 c8 a
  % Escala la música per *2/3
  \scaleDurations 2/3 {
    <c a f>4. c8 a f
  }
  % Escala la música per *2
  \scaleDurations 2/1 {
    <c' a>4 c8 b
  }
}

[image of music]

Una aplicació d’aquesta ordre es troba a la notació polimètrica, vegeu Notació polimètrica.

Vegeu també

Referència de la notació: Grups especials, Silencis invisibles, Notació polimètrica.

Fragments de codi: Rhythms.

Advertiments i problemes coneguts

El càlcul de la posició dins d’un compàs ha de tenir en compte tots els factors d’escalat que s’han aplicat a les notes dins d’aquest compàs, i qualsevol arrossegament fraccionat des dels compassos anteriors. Aquest càlcul s’efectua utilitzant nombres racionals. Si un numerador o denominador intermedi en aquest procés de càlcul sobrepassa la quantitat de 2^30, la execució i el gravat es detindran a aquest punt sense indicar cap error.


Lligadures d’unió

Un lligadura d’unió connecta dues notes adjacents de la mateixa altura. La lligadura de fet estén la longitud d’una nota.

Nota: No s’han de confondre’s les lligadures d’unió amb les lligadures d’expressió, que indiquen articulació, ni amb les lligadures de fraseig, que indiquen el fraseig musical. Una lligadura d’unió és tan sols na manera d’estendre la duració d’una nota, quelcom semblant al que fa el puntet.

S’introdueix una lligadura d’unió escrivint el símbol de la titlla corba (~) després de la primera de cada parella de notes que es volen unir. Això indica que la nota s’uneix a la següent, que ha de tenir la mateixa altura.

{ a'2~ 4~ 16 r r8 }

[image of music]

Les lligadures d’unió poden fer ús de la interpretació ‘última altura explícita’ per a les duracions aïllades:

{ a'2~ 4~ 16 r r8 }

[image of music]

Es fan servir lligadures d’unió o bé quan la nota travessa la barra de compàs o bé quan no es poden usar puntets per denotar el ritme. També s’han d’usar lligadures quan les notes travessen subdivisions del compàs de major duració:

\relative {
  r8^"sí" c'~ 2 r4 |
  r8^"no" c2~ 8 r4
}

[image of music]

Si ens calen lligar moltes notes a través de les línies divisòries, ens podria resultar més fàcil utilitzar la divisió automàtica de les notes, vegeu Divisió automàtica de les notes. Aquest mecanisme divideix automàticament les notes llargues i les lliga a través de les barres de compàs.

Quan s’aplica una lligadura d’unió a un acord, es connecten tots els caps de les notes les altures de les quals coincideixen. Si no coincideix cap parell de caps, no es crea cap lligadura. Els acords es poden lligar parcialment col·locant les lligadures dins de l’acord.

\relative c' {
  <c e g>2~ 2 |
  <c e g>4~ <c e g c>
    <c~ e g~ b> <c e g b> |
}

[image of music]

Quan la segona vegada d’una repetició comença amb una nota lligada, cal especificar la lligadura repetida com segueix:

\relative {
  \repeat volta 2 { c'' g <c e>2~ }
  \alternative {
    % Primera alternativa: la nota següent es lliga normalment
    { <c e>2. r4 }
    % Segona alternativa: la nota següent té una lligadura repetida
    { <c e>2\repeatTie d4 c }
  }
}

[image of music]

Les lligadures L.v. (laissez vibrer, deixar vibrar) indiquen que les notes no es poden apagar al final. S’usen en la notació per a piano, arpa i altres instruments de corda i percussió. Es poden introduir de la manera següent:

<c' f' g'>1\laissezVibrer

[image of music]

És possible fer manualment que les lligadures d’unió es corbin cap amunt o cap avall; vegeu placement Direcció i posició.

Es pot fer que les lligadures d’expressió siguin discontínues, puntejades o un combinació de contínues i discontínues.

\relative c' {
  \tieDotted
  c2~ 2
  \tieDashed
  c2~ 2
  \tieHalfDashed
  c2~ 2
  \tieHalfSolid
  c2~ 2
  \tieSolid
  c2~ 2
}

[image of music]

Es poden especific patrons de discontinuïtat personalitzats:

\relative c' {
  \tieDashPattern #0.3 #0.75
  c2~ 2
  \tieDashPattern #0.7 #1.5
  c2~ 2
  \tieSolid
  c2~ 2
}

[image of music]

Les definicions de patrons de discontinuïtat per a les lligadures d’unió tenen la mateixa estructura que les definicions de patrons de discontinuïtat per a les lligadures d’expressió. Per veure més informació sobre els patrons de discontinuïtat complexos, consulteu els fragments de codi sota Lligadures d’expressió.

Sobreescriviu les propietats de disposició whiteout i layer dels objectes que poden causar una discontinuïtat en les lligadures d’unió.

\relative {
  \override Tie.layer = #-2
  \override Staff.TimeSignature.layer = #-1
  \override Staff.KeySignature.layer = #-1
  \override Staff.TimeSignature.whiteout = ##t
  \override Staff.KeySignature.whiteout = ##t
  b'2 b~
  \time 3/4
  \key a \major
  b r4
}

[image of music]

Instruccions predefinides

\tieUp, \tieDown, \tieNeutral, \tieDotted, \tieDashed, \tieDashPattern, \tieHalfDashed, \tieHalfSolid, \tieSolid.

Fragments de codi seleccionats

Using ties with arpeggios

Ties are sometimes used to write out arpeggios. In this case, two tied notes need not be consecutive. This can be achieved by setting the tieWaitForNote property to #t. The same feature is also useful, for example, to tie a tremolo to a chord, but in principle, it can also be used for ordinary consecutive notes.

\relative c' {
  \set tieWaitForNote = ##t
  \grace { c16[ ~ e ~ g] ~ } <c, e g>2
  \repeat tremolo 8 { c32 ~ c' ~ } <c c,>1
  e8 ~ c ~ a ~ f ~ <e' c a f>2
  \tieUp
  c8 ~ a
  \tieDown
  \tieDotted
  g8 ~ c g2
}

[image of music]

Engraving ties manually

Ties may be engraved manually by changing the tie-configuration property of the TieColumn object. The first number indicates the distance from the center of the staff in half staff-spaces, and the second number indicates the direction (1 = up, -1 = down).

\relative c' {
  <c e g>2~ <c e g>
  \override TieColumn.tie-configuration =
    #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
  <c e g>2~ <c e g>
}

[image of music]

Vegeu també

Glossari musical: tie, laissez vibrer.

Referència de la notació: Lligadures d’expressió, Divisió automàtica de les notes.

Fragments de codi: slurs, Rhythms.

Referència de funcionament interno: LaissezVibrerTie, LaissezVibrerTieColumn, TieColumn, Tie.

Advertiments i problemes coneguts

Un canvi de pentagrama quan hi ha una lligadura activa no produirà una lligadura inclinada.

Els canvis de clau o d’octava durant una lligadura d’unió no estan ben definits realment. En aquests casos pot ser preferible una lligadura d’expressió.


1.2.2 Escriptura dels silencis

Els silencis s’escriuen com a part de la música dins de les expressions musicals.


Silencis

Els silencis s’introdueixen com a notes amb el nom r. Les duracions majors que la rodona utilitzen les instruccions predefinides que es mostren aquí:

\new Staff {
  % Aquestes dues línies sols son per embellir aquest exemple
  \time 16/1
  \omit Staff.TimeSignature
  % Imprimeix un silenci de maxima, igual a quatre breves
  r\maxima
  % Imprimeix un silenci de longa, igual a dos breves
  r\longa
  % Imprimeix un silenci de breve
  r\breve
  r1 r2 r4 r8 r16 r32 r64 r128
}

[image of music]

Els silencis d’un compàs, centrats en mig del compàs, s’han de fer amb silencis multicompàs. Es poden usar per un sol compàs així com per a molts compassos, i s’estudien a Silencis de compas complet.

Per especificar explícitament la posició vertical d’un silenci, escriviu una nota seguida de \rest. Es col·locarà un silenci en la posició en la qual hauria d’aparèixer la nota. Això possibilita l’aplicació manual precisa de format a la música polifònica, ja que el gravador automàtic de col·lisions de silencis no mou aquests silencis.

\relative { a'4\rest d4\rest }

[image of music]

Fragments de codi seleccionats

Rest styles

Rests may be used in various styles.

\new Staff \relative c {
  \omit Score.TimeSignature
  \cadenzaOn

  \override Staff.Rest.style = #'mensural
  r\maxima^\markup \typewriter { mensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'neomensural
  r\maxima^\markup \typewriter { neomensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'classical
  r\maxima^\markup \typewriter { classical }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'z
  r\maxima^\markup \typewriter { z-style }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'default
  r\maxima^\markup \typewriter { default }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
}

[image of music]

Vegeu també

Glossari musical: breve, longa, maxima.

Referència de la notació: Silencis de compas complet.

Fragments de codi: Rhythms.

Referencia de funcionament interno: Rest.

Advertiments i problemes coneguts

No hi ha un límit fonamental respecte de les duracions dels silencis (tant per al més curt com per al més llarg), però el nombre de glifs és limitat: hi ha silencis des de la garrapatea (128) fins la màxima (8 rodones).


Silencis invisibles

Un silenci invisible (també conegut com ‘skip’ o desplaçament) es pot introduir com una nota amb el nom s:

\relative c'' {
  c4 c s c |
  s2 c |
}

[image of music]

Els silencis de separació sols estan disponible en el mode de notes i en el mode d’acords. En altres situacions, per exemple, quan s’introdueix la lletra, s’usa l’ordre \skip per produir un desplaçament d’una certa magnitud temporal. \skip requereix una duració explícita, però s’ignora si les síl·labes de la lletra agafen les seves duracions de les notes d’una melodia associada, a través de \addlyrics o de \lyricsto.

<<
  {
    a'2 \skip2 a'2 a'2
  }
  \new Lyrics {
    \lyricmode {
      foo2 \skip 1 bla2
    }
  }
>>

[image of music]

Atès que \skip es una ordre, no afecta a les duracions per omissió de les notes següents, a diferència de s.

<<
  {
    \repeat unfold 8 { a'4 }
  }
  {
    a'4 \skip 2 a' |
    s2 a'
  }
>>

[image of music]

Un silenci de separació produeix implícitament contextos Staff i Voice si no hi ha cap, igual que les notes i els silencis normals:

{ s1 s s }

[image of music]

\skip tan sols desplaça un temps musical; no produeix cap sortida, de cap classe.

% Això és entrada valida, però no fa res
{ \skip 1 \skip1 \skip 1 }

[image of music]

Vegeu també

Manual de aprenentatge: Visibilitat i color dels objectes.

Referència de la notació: Notes ocultes, Visibilitat dels objectes.

Fragments de codi: Rhythms.

Referència de funcionament intern: SkipMusic.


Silencis de compas complet

Els silencis d’un o més compassos complets s’introdueixen com a notes amb el nom R en majúscula:

% Compassos de silencis contrets a un compàs únic
\compressMMRests {
  R1*4
  R1*24
  R1*4
  b'2^"Tutti" b'4 a'4
}

[image of music]

La duració dels silencis de compàs complet és idèntica a la notació de la duració que s’usa per a les notes. La duració d’un silenci multicompàs ha de ser sempre un nombre enter de compassos, per la qual cosa freqüentment s’han d’utilitzar puntets o fraccions:

\compressMMRests {
  \time 2/4
  R1 | R2 |
  \time 3/4
  R2. | R2.*2 |
  \time 13/8
  R1*13/8 | R1*13/8*12 |
  \time 10/8
  R4*5*4 |
}

[image of music]

Un silenci d’un compàs complet s’imprimeix com un silenci de rodona o de breve, centrat en el compàs, segons el tipus de compàs vigent.

\time 4/4
R1 |
\time 6/4
R1*3/2 |
\time 8/4
R1*2 |

[image of music]

De forma predeterminada un silenci multicompàs s’expandeix en la partitura impresa per mostrar explícitament tots els compassos de silenci. De forma alternativa, un silenci multicompàs es pot presentar com un sols compàs que conté un símbol de silenci multicompàs, amb el nombre de compassos imprès sobre el compàs:

% Default behavior
\time 3/4 r2. | R2.*2 |
\time 2/4 R2 |
\time 4/4
% Rest measures contracted to single measure
\compressMMRests {
  r1 | R1*17 | R1*4 |
}
% Rest measures expanded again
\time 3/4
R2.*2 |

[image of music]

Es poden afegir elements de marcatge als silencis multicompàs. Es proporciona l’ordre predefinida \fermataMarkup per afegir calderons.

\compressMMRests {
  \time 3/4
  R2.*10^\markup { \italic "ad lib." }
  R2.^\fermataMarkup
}

[image of music]

Nota: Els elements de marcatge que s’afegeixen a un silenci multicompàs són objectes del tipus MultiMeasureRestText, no TextScript. Les sobreescriptures de propietats han d’anar dirigides cap a l’objecte correcte, o s’ignoraran. Vegeu l’exemple següent:

% Això no funciona, atès que s'especifica el nom incorrecte d'objecte
\override TextScript.padding = #5
R1^"wrong"
% Aquest és el nom d'objecte correcte que s'ha d'especificar
\override MultiMeasureRestText.padding = #5
R1^"right"

[image of music]

Quan un silenci multicompàs segueix immediatament a l’establiment d’un compàs parcial amb \partial, és possible que no es mostrin els advertiments corresponents de comprovació de compàs.

Instruccions predefinides

\textLengthOn, \textLengthOff, \fermataMarkup, \compressMMRests.

Fragments de codi seleccionats

Changing form of multi-measure rests

If there are ten or fewer measures of rests, a series of longa and breve rests (called in German “Kirchenpausen” - church rests) is printed within the staff; otherwise a simple line is shown. This default number of ten may be changed by overriding the expand-limit property.

\relative c'' {
  \compressMMRests {
    R1*2 | R1*5 | R1*9
    \override MultiMeasureRest.expand-limit = #3
    R1*2 | R1*5 | R1*9
  }
}

[image of music]

Positioning multi-measure rests

Unlike ordinary rests, there is no predefined command to change the staff position of a multi-measure rest symbol of either form by attaching it to a note. However, in polyphonic music multi-measure rests in odd-numbered and even-numbered voices are vertically separated. The positioning of multi-measure rests can be controlled as follows:

\relative c'' {
  % Multi-measure rests by default are set under the fourth line
  R1
  % They can be moved using an override
  \override MultiMeasureRest.staff-position = #-2
  R1
  \override MultiMeasureRest.staff-position = #0
  R1
  \override MultiMeasureRest.staff-position = #2
  R1
  \override MultiMeasureRest.staff-position = #3
  R1
  \override MultiMeasureRest.staff-position = #6
  R1
  \revert MultiMeasureRest.staff-position
  \break

  % In two Voices, odd-numbered voices are under the top line
  << { R1 } \\ { a1 } >>
  % Even-numbered voices are under the bottom line
  << { a1 } \\ { R1 } >>
  % Multi-measure rests in both voices remain separate
  << { R1 } \\ { R1 } >>

  % Separating multi-measure rests in more than two voices
  % requires an override
  << { R1 } \\ { R1 } \\
     \once \override MultiMeasureRest.staff-position = #0
     { R1 }
  >>

  % Using compressed bars in multiple voices requires another override
  % in all voices to avoid multiple instances being printed
  \compressMMRests
  <<
   \revert MultiMeasureRest.direction
    { R1*3 }
    \\
   \revert MultiMeasureRest.direction
    { R1*3 }
  >>
}

[image of music]

Multi-measure rest markup

Markups attached to a multi-measure rest will be centered above or below it. Long markups attached to multi-measure rests do not cause the measure to expand. To expand a multi-measure rest to fit the markup, use an empty chord with an attached markup before the multi-measure rest.

Text attached to a spacer rest in this way is left-aligned to the position where the note would be placed in the measure, but if the measure length is determined by the length of the text, the text will appear to be centered.

\relative c' {
  \compressMMRests {
    \textLengthOn
    <>^\markup { [MAJOR GENERAL] }
    R1*19
    <>_\markup { \italic { Cue: ... it is yours } }
    <>^\markup { A }
    R1*30^\markup { [MABEL] }
    \textLengthOff
    c4^\markup { CHORUS } d f c
  }
}

[image of music]

Vegeu també

Glossari musical: multi-measure rest.

Referència de la notació: Duracions, Text, Donar format al text, Scripts de text.

Fragments de codi: Rhythms.

Referència de funcionament intern: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText.

Advertiments i problemes coneguts

En les digitacions a sobre silencis multicompàs (per exemple, R1*10-4), la xifra de la digitació pot xocar amb el número del compàs.

No hi ha cap manera de condensar automàticament molts silencis en un sols silenci multicompàs.

Els silencis multicompàs no estan involucrats en les col·lisiones de silencis.


1.2.3 Impressió de les duracions


Indicació de compàs

La indicació de compàs s’estableix como segueix:

\time 2/4 c''2
\time 3/4 c''2.

[image of music]

Se estudien els canvis d’indicació de compàs al mig d’un compàs a Anacrusis.

La indicació de compàs s’imprimeix al començament d’una peça i sempre que hi hagi un canvi de compàs. Si es produeix un canvi al final d’una línia, s’imprimeix una indicació d’advertiment a aquest lloc. Es pot modificar aquest comportament predeterminat, vegeu Visibilitat dels objectes

\relative c'' {
  \time 2/4
  c2 c
  \break
  c c
  \break
  \time 4/4
  c c c c
}

[image of music]

El símbol de compàs que s’usa 2/2 i 4/4 es pot canviar a un estil numèric:

\relative c'' {
  % Estil predeterminat
  \time 4/4 c1
  \time 2/2 c1
  % Canvia a estil numèric
  \numericTimeSignature
  \time 4/4 c1
  \time 2/2 c1
  % Torna al estil predeterminat
  \defaultTimeSignature
  \time 4/4 c1
  \time 2/2 c1
}

[image of music]

Les indicacions de compàs de la música mensural s’estudien a Indicacions de compàs de la música mensural.

A més d’ajustar la indicació de compàs que s’imprimeix, l’ordre \time estableix els valors de les propietats basades en el tipus de compàs baseMoment, beatStructure i beamExceptions. Els valors predefinits d’aquestes propietats estan a ‘scm/time-signature-settings.scm’.

El valor predeterminat de beatStructure pot sobreescriure’s dins de la pròpia ordre \time escrivint-lo com a primer argument opcional:

\score {
  \new Staff {
    \relative {
      \time 2,2,3 7/8
      \repeat unfold 7 { c'8 } |
      \time 3,2,2 7/8
      \repeat unfold 7 { c8 } |
    }
  }
}

[image of music]

De forma alternativa, els valors predeterminats de totes aquestes variables basades en la indicació de compàs, incloses baseMoment i beamExceptions, es poden establir totes a l’hora. Els valors es poden fixar independentment per a diversos tipus de compàs diferents. Els nous valors tenen efecte quan s’executa una ordre \time posterior amb el mateix valor del tipus de compàs:

\score {
  \new Staff {
    \relative c' {
      \overrideTimeSignatureSettings
        4/4        % timeSignatureFraction
        1/4        % baseMomentFraction
        3,1        % beatStructure
        #'()       % beamExceptions
      \time 4/4
      \repeat unfold 8 { c8 } |
    }
  }
}

[image of music]

\overrideTimeSignatureSettings pren quatre arguments:

  1. timeSignatureFraction, una fracció que descriu el tipus de compàs al que s’apliquen aquests valors.
  2. baseMomentFraction, una fracció que conté el numerador i denominador de la unitat de mesura bàsica d’aquest tipus de compàs.
  3. beatStructure, una llista d’Scheme que indica l’estructura de les pulsacions del compàs, en unitats del moment base.
  4. beamExceptions, una llista-A que conté qualssevol regles de barrat per al tipus de compàs que vagin més enllà d’acabar de cada pulsació, com es descriu a Establir el comportament de les barres automàtiques.

Els valors modificats de les propietats predeterminades del tipus de compàs es poden restaurar als valors originals:

\score{
  \relative {
    \repeat unfold 8 { c'8 } |
    \overrideTimeSignatureSettings
      4/4        % timeSignatureFraction
      1/4        % baseMomentFraction
      3,1        % beatStructure
      #'()       % beamExceptions
    \time 4/4
    \repeat unfold 8 { c8 } |
    \revertTimeSignatureSettings 4/4
    \time 4/4
    \repeat unfold 8 { c8 } |
  }
}

[image of music]

Es poden establir diferents valors de les propietats predeterminades del tipus de compàs per als diferents pentagrames movent el Timing_translator i el Default_bar_line_engraver del context Score al context Staff.

\score {
  \new StaffGroup <<
     \new Staff {
        \overrideTimeSignatureSettings
          4/4        % timeSignatureFraction
          1/4        % baseMomentFraction
          3,1        % beatStructure
          #'()       % beamExceptions
        \time 4/4
        \repeat unfold 8 {c''8}
     }
     \new Staff {
        \overrideTimeSignatureSettings
          4/4        % timeSignatureFraction
          1/4        % baseMomentFraction
          1,3        % beatStructure
          #'()       % beamExceptions
        \time 4/4
        \repeat unfold 8 {c''8}
     }
  >>
  \layout {
    \context {
      \Score
      \remove "Timing_translator"
      \remove "Default_bar_line_engraver"
    }
    \context {
      \Staff
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
    }
  }
}

[image of music]

Un altre mètode per a canviar aquestes variables relacionades amb el tipus de compàs, que impedeix la reimpressió de la indicació de compàs en el moment del canvi, es mostra a Establir el comportament de les barres automàtiques.

Instruccions predefinides

\numericTimeSignature, \defaultTimeSignature.

Fragments de codi seleccionats

Time signature printing only the numerator as a number (instead of the fraction)

Sometimes, a time signature should not print the whole fraction (e.g. 7/4), but only the numerator (7 in this case). This can be easily done by using \override Staff.TimeSignature.style = #'single-digit to change the style permanently. By using \revert Staff.TimeSignature.style, this setting can be reversed. To apply the single-digit style to only one time signature, use the \override command and prefix it with a \once.

\relative c'' {
  \time 3/4
  c4 c c
  % Change the style permanently
  \override Staff.TimeSignature.style = #'single-digit
  \time 2/4
  c4 c
  \time 3/4
  c4 c c
  % Revert to default style:
  \revert Staff.TimeSignature.style
  \time 2/4
  c4 c
  % single-digit style only for the next time signature
  \once \override Staff.TimeSignature.style = #'single-digit
  \time 5/4
  c4 c c c c
  \time 2/4
  c4 c
}

[image of music]

Vegeu també

Glossari musical: time signature

Referència de la notació: Indicacions de compàs de la música mensural, Establir el comportament de les barres automàtiques, Gestió del temps.

Fitxers instal·lats ‘scm/time-signature-settings.scm’.

Fragments de codi: Rhythms.

Referència de funcionament intern: TimeSignature, Timing_translator.


Indicacions metronòmiques

És molt senzill escriure una indicació metronòmica bàsica:

\relative {
  \tempo 4 = 120
  c'2 d
  e4. d8 c2
}

[image of music]

També es poden imprimir indicacions metronòmiques com un interval entre dos números:

\relative {
  \tempo 4 = 40 - 46
  c'4. e8 a4 g
  b,2 d4 r
}

[image of music]

Es poden usar indicacions de tempo amb text:

\relative {
  \tempo "Allegretto"
    c''4 e d c
    b4. a16 b c4 r4
}

[image of music]

La combinació d’una indicació metronòmica i un text fa que la marca de metrònom es tanqui entre parèntesis automàticament:

\relative {
  \tempo "Allegro" 4 = 160
  g'4 c d e
  d4 b g2
}

[image of music]

En general, el text pot ser qualsevol objecte de marcatge:

\relative {
  \tempo \markup { \italic Faster } 4 = 132
  a'8-. r8 b-. r gis-. r a-. r
}

[image of music]

Es pot escriure una indicació metronòmica entre parèntesis sens cap indicació textual, escrivint una cadena buida a l’entrada:

\relative {
  \tempo "" 8 = 96
  d''4 g e c
}

[image of music]

A una particel·la d’un instrument amb períodes de silenci llargs, en ocasions es succeeixen molt a prop diferents indicacions de tempo. L’ordre \markLengthOn aporta un espai horitzontal addicional per evitar que les indicacions de temps se superposin, i \markLengthOff restableix el comportament predeterminat d’ignorar les indicacions de tempo per a l’espaiat horitzontal.

\compressMMRests {
  \markLengthOn
  \tempo "Molto vivace"
  R1*12
  \tempo "Meno mosso"
  R1*16
  \markLengthOff
  \tempo "Tranquillo"
  R1*20
}

[image of music]

Fragments de codi seleccionats

Printing metronome and rehearsal marks below the staff

By default, metronome and rehearsal marks are printed above the staff. To place them below the staff simply set the direction property of MetronomeMark or RehearsalMark appropriately.

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

{
  % Metronome marks below the staff
  \override Score.MetronomeMark.direction = #DOWN
  \tempo 8. = 120
  c''1

  % Rehearsal marks below the staff
  \override Score.RehearsalMark.direction = #DOWN
  \mark \default
  c''1
}

[image of music]

Changing the tempo without a metronome mark

To change the tempo in MIDI output without printing anything, make the metronome mark invisible.

\score {
  \new Staff \relative c' {
    \tempo 4 = 160
    c4 e g b
    c4 b d c
    \set Score.tempoHideNote = ##t
    \tempo 4 = 96
    d,4 fis a cis
    d4 cis e d
  }
  \layout { }
  \midi { }
}

[image of music]

Creating metronome marks in markup mode

New metronome marks can be created in markup mode, but they will not change the tempo in MIDI output.

\relative c' {
  \tempo \markup {
    \concat {
      (
      \smaller \general-align #Y #DOWN \note #"16." #1
      " = "
      \smaller \general-align #Y #DOWN \note #"8" #1
      )
    }
  }
  c1
  c4 c' c,2
}

[image of music]

Para veure més detalls, consulteu Donar format al text.

Vegeu també

Glossari musical: metronome, metronomic indication, tempo indication, metronome mark.

Referència de la notació: Donar format al text, Creació de sortida MIDI.

Fragments de codi: Staff notation.

Referència de funcionament intern:: MetronomeMark.


Anacrusis

Els compassos parcials com les anacrusis o parts en començar s’escriuen usant l’ordre \partial:

\partial duración

Quan s’usa \partial al principi de la partitura, duració és el temps d’anacrusis, la longitud de la música que precedeix al primer compàs.

\relative {
  \time 3/4
  \partial 4.
  r4 e'8 | a4 c8 b c4 |
}

[image of music]

Quan s’usa \partial després del començament de la partitura, duració és la longitud restant del compàs actual. No crea un nou compàs amb numeració.

\relative {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  \override Score.BarNumber.break-visibility =
            #end-of-line-invisible
  \time 9/8
  d''4.~ 4 d8 d( c) b | c4.~ 4. \bar "||"
  \time 12/8
  \partial 4.
  c8( d) e | f2.~ 4 f8 a,( c) f |
}

[image of music]

L’ordre \partial és necessària quan canvia la indicació de compàs en mig d’un compàs, però també pot usar-se sol.

\relative {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  \override Score.BarNumber.break-visibility =
            #end-of-line-invisible
  \time 6/8
  \partial 8
  e'8 | a4 c8 b[ c b] |
  \partial 4
  r8 e,8 | a4 \bar "||"
  \partial 4
  r8 e8 | a4
  c8 b[ c b] |
}

[image of music]

L’ordre \partial fixa la propietat Timing.measurePosition, que és un nombre racional que indica quant temps ha transcorregut dins del compàs actual.

Vegeu també

Glossari musical: anacrusis.

Referència de la notació: Notes d’adorn.

Fragments de codi: Rhythms.

Referència de funcionament intern: Timing_translator.


Música sense compassos

En la música mesurada s’insereixen línies divisòries i es calculen els números de compàs automàticament. A la música sense metre (és a dir, cadències) això no és desitjable i es pot ‘desactivar’ usant l’ordre \cadenzaOn, per després ‘reactivar-lo’ en el lloc adequat usant \cadenzaOff.

\relative c'' {
  c4 d e d
  \cadenzaOn
  c4 c d8[ d d] f4 g4.
  \cadenzaOff
  \bar "|"
  d4 e d c
}

[image of music]

La numeració de compassos es continua al final de la cadència.

\relative c'' {
  % Mostra tots els números de barra
  \override Score.BarNumber.break-visibility = #all-visible
  c4 d e d
  \cadenzaOn
  c4 c d8[ d d] f4 g4.
  \cadenzaOff
  \bar "|"
  d4 e d c
}

[image of music]

En inserir una ordre \bar dins d’una cadència no s’inicia un compàs nou, fins i tot que s’imprimeixi una línia divisòria. Així doncs, les alteracions accidentals (l’efecte de les quals se suposa que roman fins al final del compàs) seran vàlides encara després de la línia divisòria que s’imprimeix per part de \bar. Si es volen imprimir alteracions accidentals posteriors tindran que inserir-se manualment alteracions forçades o de cortesia, vegeu Alteracions accidentals.

\relative c'' {
  c4 d e d
  \cadenzaOn
  cis4 d cis d
  \bar "|"
  % El primer cis s'imprimeix sense alteració fins i tot si està després de un \bar
  cis4 d cis! d
  \cadenzaOff
  \bar "|"
}

[image of music]

El barat automàtic es desactiva mitjançant \cadenzaOn. Per tant, tot el barrat en les cadències s’ha d’introduir manualment. Vegeu Barres manuals.

\relative {
  \repeat unfold 8 { c''8 }
  \cadenzaOn
  cis8 c c c c
  \bar"|"
  c8 c c
  \cadenzaOff
  \repeat unfold 8 { c8 }
}

[image of music]

Aquestes ordres predefinides afecten a totes les pautes de la partitura, tot i que apareguin en un sol context Voice. Per canviar això, traslladeu el Timing_translator del context Score al context Staff, Vegeu Notació polimètrica.

Instruccions predefinides

\cadenzaOn, \cadenzaOff.

Vegeu també

Glossari musical: cadenza.

Referència de la notació: Visibilitat dels objectes, Notació polimètrica, Barres manuals, Alteracions accidentals.

Fragments de codi: Rhythms.

Advertiments i problemes coneguts

Sols s’insereixen salts de línia i de pàgina automàticament en les línies divisòries, per la qual cosa cal inserir manualment línies divisòries ‘invisibles’ en fragments llargs de música sense mesurar per permetre els salts:

\bar ""

Notació polimètrica

Està contemplada la notació polimètrica, ja sigui explícitament o mitjançant la modificació manual de la indicació visible del compàs i/o l’escalat de la duració de les notes.

Pentagrames amb diferents indicacions de compàs i compassos d’igual longitud

Establiu una indicació de copàs comuna per a cada pentagrama, i fixeu timeSignatureFraction a la fracció desitjada. Després useu la funció \scaleDurations per escalar les duracions de les notes a cada pauta a la indicació de compàs comú.

Al següent exemple, s’usa en paral·lel música amb compassos de 3/4, 9/8 i 10/8. Al segon pentagrama, les duracions mostrades es multipliquen per 2/3 (atès que 2/3 * 9/8 = 3/4), i en el tercer pentagrama, les duracions que es mostren estan multiplicades per 3/5 (atès que 3/5 * 10/8 = 3/4). Amb freqüència haurà que inserir les barres de forma manual, atès que l’escalat de les duracions afecta a les regles de barrat automàtic.

\relative <<
  \new Staff {
    \time 3/4
    c'4 c c |
    c4 c c |
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = 9/8
    \scaleDurations 2/3
      \repeat unfold 6 { c8[ c c] }
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = 10/8
    \scaleDurations 3/5 {
      \repeat unfold 2 { c8[ c c] }
      \repeat unfold 2 { c8[ c] } |
      c4. c \tuplet 3/2 { c8[ c c] } c4
    }
  }
>>

[image of music]

Pentagrames amb diferents indicacions de compàs i longituds de compàs diferents

Es pot donar a cada pentagrama la seva pròpia indicació de compàs independent traslladant els gravadors Timing_translator i Default_bar_line_engraver al context de Staff.

\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
}

% Ara cada pentagrama té la seva pròpia indicació de temps

\relative <<
  \new Staff {
    \time 3/4
    c'4 c c |
    c4 c c |
  }
  \new Staff {
    \time 2/4
    c4 c |
    c4 c |
    c4 c |
  }
  \new Staff {
    \time 3/8
    c4. |
    c8 c c |
    c4. |
    c8 c c |
  }
>>

[image of music]

Indicacions de compàs compost

Es creen usant la funció \compoundMeter. La sintaxi és:

\compoundMeter #'(llista de llistes)

La construcció més simple és una llista única, en la qual l’últim número indica el denominador de la indicació de compàs i les anteriors són els numeradors.

\relative {
  \compoundMeter #'((2 2 2 8))
  \repeat unfold 6 c'8 \repeat unfold 12 c16
}

[image of music]

Es poden construir compassos més complexos utilitzant llistes addicionals. Així mateix, els ajustos de barrat s’ajustaran depenent dels valors.

\relative {
  \compoundMeter #'((1 4) (3 8))
  \repeat unfold 5 c'8 \repeat unfold 10 c16
}

\relative {
  \compoundMeter #'((1 2 3 8) (3 4))
  \repeat unfold 12 c'8
}

[image of music]

Vegeu també

Glossari musical: polymetric, polymetric time signature, meter.

Referència de la notació: Barres automàtiques, Barres manuals, Indicació de compàs, Escalat de les duracions.

Fragments de codi: Rhythms.

Referència de funcionament intern: TimeSignature, Timing_translator, Default_bar_line_engraver, Staff.

Advertiments i problemes coneguts

En usar diferents compassos en paral·lel, les notes que estiguin en el mateix instant de temps es col·loquen en la mateixa posició horitzontal. Tanmateix, les barres de compàs als diferents pentagrames faran que l’espaiat de notes sigui menys regular en cada pentagrama individual del que seria normal sense les diferents indicacions de compàs.


Divisió automàtica de les notes

Les notes llargues es poden convertir automàticament en notes lligades. Es fa mitjançant la substitució de Note_heads_engraver per Completion_heads_engraver. De forma semblant, els silencis llargs que sobrepassen línies de compàs es divideixen automàticament substituint el gravador Rest_engraver amb el gravador Completion_rest_engraver. A l’exemple següent, les notes i els silencis que travessen la barra de compàs es divideixen, i a més les notes s’uneixen mitjançant una lligadura.

\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
  \remove "Rest_engraver"
  \consists "Completion_rest_engraver"
}
\relative {
  c'2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2
}

[image of music]

Aquests gravadors divideixen totes les notes i silencis llargs en la barra de compàs, e insereix lligadures en les notes. Un dels seus usos és depurar partitures complexes: si els compassos no estan complets, les lligadures mostraran exactament quant li falta a cada compàs.

La propietat completionUnit fixa una duració preferida per a les notes dividides.

\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
} \relative {
  \time 9/8 g\breve. d''4. \bar "||"
  \set completionUnit = #(ly:make-moment 3 8)
  g\breve. d4.
}

[image of music]

Aquests gravadors divideixen les notes que tenen la duració escalada, com la dels tresets, en notes que tenen el mateix factor d’escala que la nota original de l’entrada.

\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
} \relative {
  \time 2/4 r4
  \tuplet 3/2 {g'4 a b}
  \scaleDurations 2/3 {g a b}
  g4*2/3 a b
  \tuplet 3/2 {g4 a b}
  r4
}

[image of music]

Vegeu també

Glossari musical: tie

Manual d’aprenentatge: Explicació dels gravadors, Afegir i eliminar gravadors

Fragments de codi: Rhythms.

Referència de funcionament intern: Note_heads_engraver, Completion_heads_engraver, Rest_engraver, Completion_rest_engraver, Forbid_line_break_engraver.

Advertiments i problemes coneguts

Per consistència amb el comportament anterior, les notes i silencis que tenen un duració major d’un compàs, com c1*2, es divideixen en notes sense cap factor d’escala, { c1 c1 }. La propietat completionFactor controla aquest comportament, i en donar-li el valor #f podem fer que les notes i silencis dividits tinguin el mateix factor d’escala que les duracions de les notes originals de l’entrada.


Mostrar els ritmes de la melodia

En algunes ocasiones volem mostrar solament el ritme d’una melodia. Això es pot fer amb un pentagrama de ritme. Totes les altures de les notes es converteixen en barres inclinades, i el pentagrama te una sola línia:

<<
  \new RhythmicStaff {
    \new Voice = "myRhythm" \relative {
      \time 4/4
      c'4 e8 f g2
      r4 g g f
      g1
    }
  }
  \new Lyrics {
    \lyricsto "myRhythm" {
      This is my song
      I like to sing
    }
  }
>>

[image of music]

Les taules d’acords de guitarra ofereixen sovint els ritmes d’acompanyament. Això es pot fer amb el gravador Pitch_squash_engraver i \improvisationOn.

<<
  \new ChordNames {
    \chordmode {
      c1 f g c
    }
  }
  \new Voice \with {
    \consists "Pitch_squash_engraver"
  } \relative c'' {
    \improvisationOn
    c4 c8 c c4 c8 c
    f4 f8 f f4 f8 f
    g4 g8 g g4 g8 g
    c4 c8 c c4 c8 c
  }
>>

[image of music]

Instruccions predefinides

\improvisationOn, \improvisationOff.

Fragments de codi seleccionats

Guitar strum rhythms

For guitar music, it is possible to show strum rhythms, along with melody notes, chord names and fret diagrams.

\include "predefined-guitar-fretboards.ly"
<<
  \new ChordNames {
    \chordmode {
      c1 | f | g | c
    }
  }
  \new FretBoards {
    \chordmode {
      c1 | f | g | c
    }
  }
  \new Voice \with {
    \consists "Pitch_squash_engraver"
  } {
    \relative c'' {
      \improvisationOn
      c4 c8 c c4 c8 c
      f4 f8 f f4 f8 f
      g4 g8 g g4 g8 g
      c4 c8 c c4 c8 c
    }
  }
  \new Voice = "melody" {
    \relative c'' {
      c2 e4 e4
      f2. r4
      g2. a4
      e4 c2.
    }
  }
  \new Lyrics {
    \lyricsto "melody" {
      This is my song.
      I like to sing.
    }
  }
>>

[image of music]

Vegeu també

Fragments de codi: Rhythms.

Referència de funcionament intern: RhythmicStaff, Pitch_squash_engraver.


1.2.4 Barres


Barres automàtiques

De manera predeterminada, las barres de corxera s’insereixen automàticament:

\relative c'' {
  \time 2/4 c8 c c c
  \time 6/8 c8 c c c8. c16 c8
}

[image of music]

Quan aquestes decisions automàtiques no són prou bones, es poden escriure els barrats de forma explícita; vegeu Barres manuals. Les barres s’han d’introduir manualment si es volen estendre per sobre els silencis.

Si no cal el barrat automàtic, es pot desactivar amb \autoBeamOff i activar-se amb \autoBeamOn:

\relative c' {
  c4 c8 c8. c16 c8. c16 c8
  \autoBeamOff
  c4 c8 c8. c16 c8.
  \autoBeamOn
  c16 c8
}

[image of music]

Nota: Si s’usen barres per indicar els melismes de les cançons, aleshores s’ha de desactivar el barrat automàtic amb \autoBeamOff i indicar les barres manualment. La utilització de \partcombine amb \autoBeamOff pot produir resultats no desitjats. Vegeu els fragments de codi per a més informació.

Es poden crear patrons de barrat que difereixin dels valors automàtics predeterminats; vegeu Establir el comportament de les barres automàtiques.

Instruccions predefinides

\autoBeamOff, \autoBeamOn.

Fragments de codi seleccionats

Beams across line breaks

Line breaks are normally forbidden when beams cross bar lines. This behavior can be changed as shown:

\relative c'' {
  \override Beam.breakable = ##t
  c8 c[ c] c[ c] c[ c] c[ \break
  c8] c[ c] c[ c] c[ c] c
}

[image of music]

Changing beam knee gap

Kneed beams are inserted automatically when a large gap is detected between the note heads. This behavior can be tuned through the auto-knee-gap property. A kneed beam is drawn if the gap is larger than the value of auto-knee-gap plus the width of the beam object (which depends on the duration of the notes and the slope of the beam). By default auto-knee-gap is set to 5.5 staff spaces.

{
  f8 f''8 f8 f''8
  \override Beam.auto-knee-gap = #6
  f8 f''8 f8 f''8
}

[image of music]

Partcombine and autoBeamOff

The function of \autoBeamOff when used with \partcombine can be difficult to understand.

It may be preferable to use

\set Staff.autoBeaming = ##f

instead, to ensure that autobeaming will be turned off for the entire staff.

\partcombine apparently works with 3 voices – stem up single, stem down single, stem up combined.

An \autoBeamOff call in the first argument to partcombine will apply to the voice that is active at the time the call is processed, either stem up single or stem up combined. An \autoBeamOff call in the second argument will apply to the voice that is stem down single.

In order to use \autoBeamOff to stop all autobeaming when used with \partcombine, it will be necessary to use three calls to \autoBeamOff.

{
  %\set Staff.autoBeaming = ##f % turns off all autobeaming
  \partcombine
  {
    \autoBeamOff % applies to split up stems
    \repeat unfold 4 a'16
    %\autoBeamOff % applies to combined up stems
    \repeat unfold 4 a'8
    \repeat unfold 4 a'16
  }
  {
    \autoBeamOff % applies to down stems
    \repeat unfold 4 f'8
    \repeat unfold 8 f'16 |
  }
}

[image of music]

Vegeu també

Referència de la notació: Barres manuals, Establir el comportament de les barres automàtiques.

Fitxers instal·lats: ‘scm/auto-beam.scm’.

Fragments de codi: Rhythms.

Referència de funcionament interno: Auto_beam_engraver, Beam_engraver, Beam, BeamEvent, BeamForbidEvent, beam-interface, unbreakable-spanner-interface.

Advertiments i problemes coneguts

Les propietats d’una barra venen determinades al començament de la seva construcció i qualsevol canvi addicional en les propietats de la barra que es produeixi abans que la barra s’hagi completat no tindrà efecte fins que inicieu la següent barra nova.


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: baseMoment, 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 baseMoment 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 baseMoment i beatStructure.

Barrat basat en baseMoment 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 baseMoment 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 baseMoment i beatStructure. beatStructure és una llista d’Scheme que defineix la longitud de cada pulsació dins del compàs en unitats de baseMoment. De forma predeterminada, cada unitat de longitud baseMoment és una única pulsació.

Observeu que hi ha valors de beatStructure i de baseMoment 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 |
}

[image of music]

\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.baseMoment = #(ly:make-moment 1/4)
  \set Timing.beatStructure = 1,1,1,1
  a8^"changed" a a a a a a a
}

[image of music]

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
      }
    }
  >>
}

[image of music]

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
% baseMoment (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} >>

[image of music]

El valor de baseMoment 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 baseMoment.

\time 5/8
% No cal desactivar beamExceptions
% atès que no està definit per al tempo 5/8
\set Timing.baseMoment = #(ly:make-moment 1/16)
\set Timing.beatStructure = 7,3
\repeat unfold 10 { a'16 }

[image of music]

baseMoment és un moment, una unitat de duració musical. Es crea una quantitat del tipus moment per mitjà de la funció d’Scheme ly:make-moment. Per veure més informació sobre aquest funció, consulteu Gestió del temps.

De forma predeterminada baseMoment 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 } |
}

[image of music]

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.baseMoment, 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 }
}

[image of music]

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.baseMoment = #(ly:make-moment 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}

[image of music]

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 baseMoment i beatStructure predeterminats
\set Timing.beamExceptions = #'()
\repeat unfold 6 {a'8}

[image of music]

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 |
}

[image of music]

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 baseMoment, beatStructure i beamExceptions.

Són d’aplicació les següents regles, en ordre de prioritat, quan es determina l’aspecte de les barres:

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

Subdividing beams

The beams of consecutive 16th (or shorter) notes are, by default, not subdivided. That is, the three (or more) beams stretch unbroken over entire groups of notes. This behavior can be modified to subdivide the beams into sub-groups by setting the property subdivideBeams. When set, multiple beams will be subdivided at intervals defined by the current value of baseMoment by reducing the multiple beams to the number of beams that indicates the metric value of the subdivision. If the group following the division is shorter than the current metric value (usually because the beam is incomplete) the number of beams reflects the longest possible subdivision group. However, if there is only one note left after the division this restriction isn’t applied. Note that baseMoment defaults to one over the denominator of the current time signature if not set explicitly. It must be set to a fraction giving the duration of the beam sub-group using the ly:make-moment function, as shown in this snippet. Also, when baseMoment is changed, beatStructure should also be changed to match the new baseMoment:

\relative c'' {
  c32[ c c c c c c c]
  \set subdivideBeams = ##t
  c32[ c c c c c c c]

  % Set beam sub-group length to an eighth note
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c c c c]

  % Set beam sub-group length to a sixteenth note
  \set baseMoment = #(ly:make-moment 1/16)
  \set beatStructure = 4,4,4,4
  c32[ c c c c c c c]

  % Shorten beam by 1/32
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c c c] r32

  % Shorten beam by 3/32
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c] r16.
  r2
}

[image of music]

Strict beat beaming

Beamlets can be set to point in the direction of the beat to which they belong. The first beam avoids sticking out flags (the default); the second beam strictly follows the beat.

\relative c'' {
  \time 6/8
  a8. a16 a a
  \set strictBeatBeaming = ##t
  a8. a16 a a
}

[image of music]

Conducting signs measure grouping signs

Beat grouping within a measure is controlled by the context property beatStructure. Values of beatStructure are established for many time signatures in scm/time-signature-settings.scm. Values of beatStructure can be changed or set with \set. Alternatively, \time can be used to both set the time signature and establish the beat structure. For this, you specify the internal grouping of beats in a measure as a list of numbers (in Scheme syntax) before the time signature.

\time applies to the Timing context, so it will not reset values of beatStructure or baseMoment that are set in other lower-level contexts, such as Voice.

If the Measure_grouping_engraver is included in one of the display contexts, measure grouping signs will be created. Such signs ease reading rhythmically complex modern music. In the example, the 9/8 measure is grouped in two different patterns using the two different methods, while the 5/8 measure is grouped according to the default setting in 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 |
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}

[image of music]

Beam endings in Score context

Beam-ending rules specified in the Score context apply to all staves, but can be modified at both Staff and Voice levels:

\relative c'' {
  \time 5/4
  % Set default beaming for all staves
  \set Score.baseMoment = #(ly:make-moment 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
        }
      >>
    }
  >>
}

[image of music]

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.baseMoment = #(ly:make-moment 1/8)
    \set Timing.beatStructure = 1,5
    \set Timing.beamExceptions = #'()
    \repeat unfold 6 { a'8 }
  }
  \new Staff {
    \repeat unfold 6 { a'8 }
  }
>>

[image of music]

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               % baseMomentFraction
      1,5               % beatStructure
      #'()		% beamExceptions
    \time 3/4
    \repeat unfold 6 { a'8 }
  }
  \new Staff {
    \time 3/4
    \repeat unfold 6 { a'8 }
  }
>>

[image of music]


Barres manuals

En certs casos pot ser precís sobreescriure l’algoritme de barrat automàtic. Per exemple, el mecanisme de barrat automàtic no escriu barres per sobre els silencis o les línies divisòries, i a les partitures corals el barrat s’ajusta amb freqüència perquè segueixi la mesura de la lletra en comptes de la de les notes. Aquestes barres s’especifiquen manualment marcant els punts de començament i final amb [ y ].

\relative { r4 r8[ g' a r] r g[ | a] r }

[image of music]

La direcció de les barres es pot establir manualment utilitzant indicadors de direcció:

\relative { c''8^[ d e] c,_[ d e f g] }

[image of music]

Es poden marcar notes individuals amb \noBeam per evitar que resultin unides per una barra:

\relative {
  \time 2/4
  c''8 c\noBeam c c
}

[image of music]

Es poden produir al mateix temps barres de notes d’adorn i barres normals. Les notes d’adorn sense barra no es col·loquen dins de les barres de notes normals.

\relative {
  c''4 d8[
  \grace { e32 d c d }
  e8] e[ e
  \grace { f16 }
  e8 e]
}

[image of music]

Es pot aconseguir un control fins i tot més estricte sobres les barres establint les propietats stemLeftBeamCount i stemRightBeamCount. Especifiquen el nombre de barres que es dibuixaran als costats esquerre i dret, respectivament, de la nota següent. Si qualsevol d’aquestes dues propietats s’ajusta a un valor, aquest valor s’usarà una sola vegada, i després s’esborrarà. En aquest exemple, l’últim Fa s’imprimeix amb sols una barra al costat esquerre, és a dir, la barra de corxera del grup com un tot.

\relative a' {
  a8[ r16 f g a]
  a8[ r16
  \set stemLeftBeamCount = #2
  \set stemRightBeamCount = #1
  f16
  \set stemLeftBeamCount = #1
  g16 a]
}

[image of music]

Instruccions predefinides

\noBeam.

Fragments de codi seleccionats

Flat flags and beam nibs

Flat flags on lone notes and beam nibs at the ends of beamed figures are both possible with a combination of stemLeftBeamCount, stemRightBeamCount and paired [] beam indicators.

For right-pointing flat flags on lone notes, use paired [] beam indicators and set stemLeftBeamCount to zero (see Example 1).

For left-pointing flat flags, set stemRightBeamCount instead (Example 2).

For right-pointing nibs at the end of a run of beamed notes, set stemRightBeamCount to a positive value. And for left-pointing nibs at the start of a run of beamed notes, set stemLeftBeamCount instead (Example 3).

Sometimes it may make sense for a lone note surrounded by rests to carry both a left- and right-pointing flat flag. Do this with paired [] beam indicators alone (Example 4).

(Note that \set stemLeftBeamCount is always equivalent to \once \set. In other words, the beam count settings are not “sticky”, so the pair of flat flags attached to the lone 16[] in the last example have nothing to do with the \set two notes prior.)

\score {
  <<
    % Example 1
    \new RhythmicStaff {
      \set stemLeftBeamCount = #0
      c16[]
      r8.
    }
    % Example 2
    \new RhythmicStaff {
      r8.
      \set stemRightBeamCount = #0
      16[]
    }
    % Example 3
    \new RhythmicStaff {
      16 16
      \set stemRightBeamCount = #2
      16 r r
      \set stemLeftBeamCount = #2
      16 16 16
    }
    % Example 4
    \new RhythmicStaff {
      16 16
      \set stemRightBeamCount = #2
      16 r16
      16[]
      r16
      \set stemLeftBeamCount = #2
      16 16
    }
  >>
}

[image of music]

Vegeu també

Referència de la notació: Direcció i posició, Notes d’adorn.

Fragments de codi: Rhythms.

Referència de funcionament intern: Beam, BeamEvent, Beam_engraver, beam-interface, Stem_engraver.


Barres progressives

Les barres progressives s’usen per indicar que un petit grup de notes s’ha de tocar a una velocitat creixent (o decreixent), sense canviar el temps general de la peça. L’àmbit de la barra progressiva s’ha d’indicar manualment usant [ i ], l‘efecte d’angle de la barra s’inicia especificant una direcció de la propietat grow-direction de l’objecte Beam.

Si volem que la col·locació de les notes i el so de la sortida MIDI reflecteixi el ritardando o accelerando indicat per la barra progressiva, les notes s’han d’agrupar com una expressió musical delimitada per claus i precedida d’una ordre featheredDurations que especifica la raó entre les duracions de la primera i l’última notes dins del grup.

Els claudàtors rectes mostren l’àmbit de la barra i les claus mostren quines notes han de modificar les seves duracions. Normalment delimitarien el mateix grup de notes, però no és un requisit: les dues ordres són independents.

A l’exemple següent les vuit semicorxeres ocupen exactament el mateix temps que una blanca, però la primera nota té la meitat de duració que l’última, amb les notes intermèdies allargant-se gradualment. Les quatre primeres fuses s’acceleren gradualment, mentre que les últimes quatre fuses estan a un temps constant.

\relative c' {
  \override Beam.grow-direction = #LEFT
  \featherDurations #(ly:make-moment 2/1)
  { c16[ c c c c c c c] }
  \override Beam.grow-direction = #RIGHT
  \featherDurations #(ly:make-moment 2/3)
  { c32[ d e f] }
  % retorna a barres sense ploma
  \override Beam.grow-direction = #'()
  { g32[ a b c] }
}

[image of music]

L’espaiat a la sortida impresa representa les duracions de les notes d’una forma sols aproximada, però la sortida MIDI és exacta.

Instruccions predefinides

\featherDurations.

Vegeu també

Fragments de codi: Rhythms.

Advertiments i problemes coneguts

L’ordre \featherDurations sols funciona amb fragments musicals molt breus, i quan els nombres de la fracció són petits.


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.


1.2.6 Temes especials de ritme


Notes d’adorn

Els mordents i les notes d’adorn són ornaments musicals, impresos a un tipus de lletra més petita i no ocupen cap temps lògic addicional al compàs.

\relative {
  c''4 \grace b16 a4(
  \grace { b16 c16 } a2)
}

[image of music]

Hi ha tres tipus possibles de notes d’adorn; la acciaccatura o mordent d’una nota (una nota d’adorn sense mesura que s’indica mitjançant una nota lligada i amb la clau ratllada) i la appoggiatura, que agafa una fracció fixa de la nota principal a la que s’adjunta, i que s’imprimeix sense ratllar. És possible escriure una nota d’adorn amb la plica ratllada, com la acciaccatura però sense la lligadura, com per col·locar-la entre notes que estan lligades entre sí, utilitzant la funció \slashedGrace.

\relative {
  \acciaccatura d''8 c4
  \appoggiatura e8 d4
  \acciaccatura { g16 f } e2
  \slashedGrace a,8 g4
  \slashedGrace b16 a4(
  \slashedGrace b8 a2)
}

[image of music]

La col·locació de notes d’adorn se sincronitza entres els diferents pentagrames. A l’exemple següent, hi ha dues semicorxeres d’adorn per a cada corxera d’adorn:

<<
  \new Staff \relative { e''2 \grace { c16 d e f } e2 }
  \new Staff \relative { c''2 \grace { g8 b } c2 }
>>

[image of music]

Si volem acabar una nota amb un adorn, usem l’ordre \afterGrace. Agafa dos argument: la nota principal, i les notes d’adorn que segueixen a la nota principal.

\relative { c''1 \afterGrace d1 { c16[ d] } c1 }

[image of music]

Això posa les notes d’adorn després d’un espai que dura 3/4 de la longitud de la nota principal. La fracció predeterminada de 3/4 es pot canviar establint afterGraceFraction. L’exemple següent mostra el resultat d’establir l’espai en el seu valor predeterminat, en 15/16, i per últim en 1/2 de la nota principal.

<<
  \new Staff \relative {
    c''1 \afterGrace d1 { c16[ d] } c1
  }
  \new Staff \relative {
    #(define afterGraceFraction (cons 15 16))
    c''1 \afterGrace d1 { c16[ d] } c1
  }
  \new Staff \relative {
    #(define afterGraceFraction (cons 1 2))
    c''1 \afterGrace d1 { c16[ d] } c1
  }
>>

[image of music]

L’espai entre la nota principal i la d’adorn també es pot especificar usant espaiadors. L’exemple següent situa la nota d’adorn després d’un espai que dura 7/8 de la nota principal.

\new Voice \relative {
  <<
    { d''1^\trill_( }
    { s2 s4. \grace { c16 d } }
  >>
  c1)
}

[image of music]

Una expressió musical \grace introdueix ajustos de tipus de lletra especials, per exemple per produir un tipus de lletra més petit i per fixes les direccions. Per això, quan s’introdueixen ajustaments per a la presentació, han d’anar dins de l’expressió d’adorn. Les sobreescriptures s’han de revertir també dins de l’expressió d’adorn. Aquí, la direcció predeterminada de la plica de la nota d’adorn se sobreescriu i després es reverteix.

\new Voice \relative {
  \acciaccatura {
    \stemDown
    f''16->
    \stemNeutral
  }
  g4 e c2
}

[image of music]

Fragments de codi seleccionats

Using grace note slashes with normal heads

The slash through the stem found in acciaccaturas can be applied in other situations.

\relative c'' {
  \override Flag.stroke-style = #"grace"
  c8( d2) e8( f4)
}

[image of music]

Tweaking grace layout within music

The layout of grace expressions can be changed throughout the music using the functions add-grace-property and remove-grace-property. The following example undefines the Stem direction for this grace, so that stems do not always point up, and changes the default note heads to crosses.

\relative c'' {
  \new Staff {
    $(remove-grace-property 'Voice 'Stem 'direction)
    $(add-grace-property 'Voice 'NoteHead 'style 'cross)
    \new Voice {
       \acciaccatura { f16 } g4
       \grace { d16 e } f4
       \appoggiatura { f,32 g a } e2
    }
  }
}

[image of music]

Redefining grace note global defaults

The global defaults for grace notes are stored in the identifiers startGraceMusic, stopGraceMusic, startAcciaccaturaMusic, stopAcciaccaturaMusic, startAppoggiaturaMusic and stopAppoggiaturaMusic, which are defined in the file ly/grace-init.ly. By redefining them other effects may be obtained.

startAcciaccaturaMusic = {
  <>(
  \override Flag.stroke-style = #"grace"
  \slurDashed
}

stopAcciaccaturaMusic = {
  \revert Flag.stroke-style
  \slurSolid
  <>)
}

\relative c'' {
  \acciaccatura d8 c1
}

[image of music]

Positioning grace notes with floating space

Setting the property 'strict-grace-spacing makes the musical columns for grace notes ’floating’, i.e., decoupled from the non-grace notes: first the normal notes are spaced, then the (musical columns of the) graces are put left of the musical columns for the main notes.

\relative c'' {
  <<
    \override Score.SpacingSpanner.strict-grace-spacing = ##t
    \new Staff \new Voice {
      \afterGrace c4 { c16[ c8 c16] }
      c8[ \grace { b16 d } c8]
      c4 r
    }
    \new Staff {
      c16 c c c c c c c c4 r
    }
  >>
}

[image of music]

Vegeu també

Glossari musical: grace notes, acciaccatura, appoggiatura.

Referència de la notació: Escalat de les duracions, Barres manuals.

Fitxers d’inici: ‘ly/grace-init.ly’.

Fragments de codi: Rhythms.

Referència de funcionament intern: GraceMusic, Grace_beam_engraver, Grace_auto_beam_engraver, Grace_engraver, Grace_spacing_engraver.

Advertiments i problemes coneguts

Una acciaccatura de diverses notes amb una barra s’imprimeix sense ratllar, i té exactament la mateixa aparença que una appoggiatura de diverses notes amb barra.

La sincronització de les notes d’adorn també pot portar sorpreses. La notació de pentagrames, com ara armadures, línies divisòries, etc., també se sincronitzen. Aneu amb cura quan barregeu pentagrames amb adorns i sense adorns, per exemple

<<
  \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. }
  \new Staff \relative { c''4 \bar ".|:" d2. }
>>

[image of music]

Això es pot remeiar inserint desplaçaments d’adorn de les duracions corresponents als altres pentagrames. Per a l’exemple anterior

<<
  \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. }
  \new Staff \relative { c''4 \bar ".|:" \grace s16 d2. }
>>

[image of music]

És obligatori usar l’ordre \grace per a la part dels desplaçaments, fins i tot si la part visual usa \acciaccatura o \appoggiatura perquè en cas contrari s’imprimeix una lligadura lletja que connecta a la nota d’adorn invisible amb la nota següent.

Les seccions d’adorn sols s’han d’usar dins d’expressions de música seqüencials. No estan contemplats ni el niuat ni la juxtaposició de seccions d’adorn, i podria produir fallades i altres errors.

Cada nota d’adorn a la sortida MIDI té una longitud que és 1/4 de la seva duració real. Si la duració combinada de les notes d’adorn és més gran que la longitud de la nota precedent, es genera un error “Retrocedint al temps MIDI”. Teniu dues opcions: en primer lloc, podeu fer més curta la duració de les notes d’adorn, per exemple:

c'8 \acciaccatura { c'8[ d' e' f' g'] }

es converteix a:

c'8 \acciaccatura { c'16[ d' e' f' g'] }

Una altra opció és canviar explícitament la duració musical:

c'8 \acciaccatura { \scaleDurations 1/2 { c'8[ d' e' f' g'] } }

Vegeu Escalat de les duracions.


Alinear amb una cadenza

A un context orquestral, les cadenzas presenten un problema espacial: en construir una partitura que te una cadenza, tots els altres instruments han de saltar tantes notes com la longitud de la cadenza, ja que en cas contrari començaran massa aviat o massa tard.

Una solució a aquest problema són les funcions mmrest-of-length i skip-of-length. Aquestes funcions de l’Scheme agafen un fragment de música com a argument i generen un \skip o silenci multicompàs de la longitud exacta del fragment.

MyCadenza = \relative {
  c'4 d8 e f g g4
  f2 g4 g
}

\new GrandStaff <<
  \new Staff {
    \MyCadenza c'1
    \MyCadenza c'1
  }
  \new Staff {
    #(mmrest-of-length MyCadenza)
    c'1
    #(skip-of-length MyCadenza)
    c'1
  }
>>

[image of music]

Vegeu també

Glossari musical: cadenza.

Fragments de codi: Rhythms.


Gestió del temps

El temps esta administrat per Timing_translator, que de forma predeterminada es troba al context de Score. S’afegeix un àlies, Timing, al context que en el qual es col·loca el Timing_translator. Per assegurar que està disponible l’àlies Timing, potser heu de crear explícitament una instància del context contenidor (com Voice o Staff).

S’usen les següents propietats de Timing per seguir la pista del temps dins de la partitura.

currentBarNumber

El número de compàs en curs. Per veure un exemple que mostra l’sú d’aquesta propietat, consulteu Numeració de compassos.

measureLength

La longitud dels compassos dins de la indicació actual de compàs. Per a un 4/4 això és 1, i per al 6/8 és 3/4. El seu valor determina quan s’insereixen les línies divisòries i com es generen les barres automàtiques.

measurePosition

El punt en el qual ens trobem dins del compàs. Aquesta quantitat es reinicia restant measureLength cada cop que s’assoleix o s’excedeix measureLength. Quan això passa, s’incrementa currentBarNumber.

timing

Si té un valor vertader, les variables anteriors s’actualitzen a cada pas del temps, quan té un valor fals, el gravador es queda al compàs actual indefinidament.

El compte del temps es pot canviar establint el valor de qualsevol d’aquestes variables explícitament. A l’exemple següent, s’imprimeix la indicació de compàs predeterminada 4/4, però measureLength s’ajusta a 5/4. Als 4/8 fins el tercer compàs, la posició measurePosition s’avança en 1/8 fins a 5/8, escurçant aquest compàs en 1/8. Aleshores, la següent línia divisòria cau en 9/8 en comptes de fer-ho en 5/4.

\new Voice \relative {
  \set Timing.measureLength = #(ly:make-moment 5/4)
  c'1 c4 |
  c1 c4 |
  c4 c
  \set Timing.measurePosition = #(ly:make-moment 5/8)
  b4 b b8 |
  c4 c1 |
}

[image of music]

Com s’il·lustra a l’exemple, ly:make-moment n m construeix una duració de la fracció d’una rodona. Per exemple, ly:make-moment 1 8 és una duració d’una corxera i ly:make-moment 7 16 és la duració de set semicorxeres.

Vegeu també

Referència de la notació: Numeració de compassos, Música sense compassos.

Fragments de codi: Rhythms.

Referència de funcionament interno: Timing_translator, Score.


1.3 Expressions

[image of music]

Aquesta secció relaciona diverses marques d’expressió que es poden crear a una partitura.


1.3.1 Expressions annexades a les notes

Aquesta secció explica com crear marques expressives que estan aplicades a notes: articulacions, ornaments i matisos. També es tracten els mètodes per crear les marques dinàmiques.


Articulacions i ornaments

Es poden annexar a les notes un ample ventall de símbols per denotar articulacions, adorns i altres indicacions d’execució, utilitzant la sintaxi següent:

nota\nom

La llista de possibles valors de nom està a Llista d’articulacions. Per exemple

\relative {
  c''4\staccato c\mordent b2\turn
  c1\fermata
}

[image of music]

Algunes d’aquestes articulacions tenen abreviatures que faciliten la seva escriptura. Les abreviatures s’escriuen a darrere del nom de la nota, i la seva sintaxi consisteix en un guió - seguit d’un símbol que especifica l’articulació. Existeixen abreviatures prededefinides per al marcato, stopped (nota apagada), tenuto, staccatissimo, accent (acent), staccato (picat), i portato. La sortida corresponent a aquestes articulacions apareix de la manera següent:

\relative {
  c''4-^ c-+ c-- c-!
  c4-> c-. c2-_
}

[image of music]

Les regles per a la col·locació predeterminada de les articulacions es troben definides al fitxer ‘scm/script.scm’. Les articulacions i ornaments es poden col·locar manualment per sobre o per sota del pentagrama; vegeu Direcció i posició.

Les articulacions són objectes Script. Les seves propietats es descriuen de forma més completa a Script.

Les articulacions es poden adjuntar als silencis així com a les notes, pero no es poden ajuntar a silencis multicompàs. Hi ha disponible una ordre predefinida especial, \fermataMarkup, per annexar un calderó a un silenci multicompàs (i sols a un silenci multicompàs). L’ordre crea un objecte MultiMeasureRestText.

\override Script.color = #red
\override MultiMeasureRestText.color = #blue
a'2\fermata r\fermata
R1\fermataMarkup

[image of music]

A més d’articulacions, es poden adjuntar textos i elements de marcatge de les notes. Vegeu Scripts de text.

Per veure més informació quant a l’ordenació dels elements Script i TextScript que s’annexen a les notes, consulteu Col·locació dels objectes.

Fragments de codi seleccionats

Modifying default values for articulation shorthand notation

The shorthands are defined in ‘ly/script-init.ly’, where the variables dashHat, dashPlus, dashDash, dashBar, dashLarger, dashDot, and dashUnderscore are assigned default values. The default values for the shorthands can be modified. For example, to associate the -+ (dashPlus) shorthand with the trill symbol instead of the default + symbol, assign the value trill to the variable dashPlus:

\relative c'' { c1-+ }

dashPlus = "trill"

\relative c'' { c1-+ }

[image of music]

Controlling the vertical ordering of scripts

The vertical ordering of scripts is controlled with the 'script-priority property. The lower this number, the closer it will be put to the note. In this example, the TextScript (the sharp symbol) first has the lowest priority, so it is put lowest in the first example. In the second, the prall trill (the Script) has the lowest, so it is on the inside. When two objects have the same priority, the order in which they are entered determines which one comes first.

\relative c''' {
  \once \override TextScript.script-priority = #-100
  a2^\prall^\markup { \sharp }

  \once \override Script.script-priority = #-100
  a2^\prall^\markup { \sharp }
}

[image of music]

Creating a delayed turn

Creating a delayed turn, where the lower note of the turn uses the accidental, requires several overrides. The outside-staff-priority property must be set to #f, as otherwise this would take precedence over the avoid-slur property. Changing the fractions 2/3 and 1/3 adjusts the horizontal position.

\relative c'' {
  c2*2/3 ( s2*1/3\turn d4) r
  <<
    { c4.( d8) }
    { s4 s\turn }
  >>
  \transpose c d \relative c'' <<
    { c4.( d8) }
    {
      s4
      \once \set suggestAccidentals = ##t
      \once \override AccidentalSuggestion.outside-staff-priority = ##f
      \once \override AccidentalSuggestion.avoid-slur = #'inside
      \once \override AccidentalSuggestion.font-size = -3
      \once \override AccidentalSuggestion.script-priority = -1
      \single \hideNotes
      b8-\turn \noBeam
      s8
    }
  >>
}

[image of music]

Vegeu també

Glossari musical: tenuto, accent, staccato, portato.

Manual d’aprenentatge: Col·locació dels objectes.

Referència de la notació: Scripts de text, Direcció i posició, Llista d’articulacions, Refilets.

Fitxers instal·lats: ‘scm/script.scm’.

Fragments de codi: Expressive marks.

Referència de funcionament intern: Script, TextScript.


Matisos dinàmics

Les marques dinàmiques de matís absolut s’especifiquen usant una ordre després d’una nota: c4\ff. Les marques dinàmiques disponibles són \ppppp, \pppp, \ppp, \pp, \p, \mp, \mf, \f, \ff, \fff, \ffff, \fffff, \fp, \sf, \sff, \sp, \spp, \sfz i \rfz. Les indicaciones dinàmiques es poden col·locar manulament per sobre o per sota del pentagrama; per veure més detalls, consulteu Direcció i posició.

\relative c'' {
  c2\ppp c\mp
  c2\rfz c^\mf
  c2_\spp c^\ff
}

[image of music]

Una indicació de crescendo s’inicia amb \< i s’acaba amb \!, amb un matís absolut o amb una altra indicació de crescendo o de descrescendo. Una indicació de decrescendo comença amb \> i acaba també amb \!, amb un matís dinàmic absolut o amb una altra indicació de crescendo o de decrescendo. Es poden usar \cr i \decr en lloc de \< i \>. De forma predeterminada, es graven reguladors en angle quan es fa servir aquesta notació.

\relative c'' {
  c2\< c\!
  d2\< d\f
  e2\< e\>
  f2\> f\!
  e2\> e\mp
  d2\> d\>
  c1\!
}

[image of music]

Un regulador acabat mitjançant \! finalitza a la vora dreta de la nota que porta el \! annexat. En el cas en el qual estigui acabat amb el començament d’una altra indicació crescendo o decrescendo, acabarà al centre de la nota que té annexada la següent indicació \< o \>. El regulador següent començarà aleshores a la vora dreta de la mateixa nota en comptes de la vora esquerra, com seria normal si hagués acabaat amb \! prèviament.

\relative {
  c''1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\!
}

[image of music]

Els reguladors que acaben amb indicacions dinàmiques absolutes en lloc d’amb \! també es graven de manera semblant. Tanmateix, la longitud de la pròpia indicació dinàmica pot alterar el punt en el qual finalitza el regulador anterior.

\relative {
  c''1\< | c4 a c\mf a | c1\< | c4 a c\ffff a
}

[image of music]

Es requereixen silencis espaiadors per tipografiar diverses indicacions dinàmiques sobre una sola nota. Això és útil especialment per afegir un crescendo i un decrescendo a la mateixa nota:

\relative {
  c''4\< c\! d\> e\!
  << f1 { s4 s4\< s4\> s4\! } >>
}

[image of music]

Es pot fer servir l’ordre \espressivo per indicar un crescendo o un decrescendo sobra la mateixa nota. Tanmateix, noteu que aquesta indicació està implementada com una articulació, no com una expressió dinàmica.

\relative {
  c''2 b4 a
  g1\espressivo
}

[image of music]

Les indicacions de crescendo textuals s’inicien amb \cresc. Els decrescendos textuals s’inicien amb \decresc o amb \dim. Es tracen líniies extensores quan cal.

\relative {
  g'8\cresc a b c b c d e\mf |
  f8\decresc e d c e\> d c b |
  a1\dim ~ |
  a2. r4\! |
}

[image of music]

També poden substituir-se els reguladors gràfics per canvis de dinàmica textuals:

\relative c'' {
  \crescTextCresc
  c4\< d e f\! |
  \dimTextDecresc
  g4\> e d c\! |
  \dimTextDecr
  e4\> d c b\! |
  \dimTextDim
  d4\> c b a\! |
  \crescHairpin
  \dimHairpin
  c4\< d\! e\> d\! |
}

[image of music]

Per crear noves indicacions de matís absolut o de text que s’han d’alinear amb els matisos; vegeu Indicacions dinàmiques contemporànies.

La col·locació vertical de les indicacions de dinàmica es gestiona per part de DynamicLineSpanner.

Hi ha disponible un context Dynamics per gravar les indicacions de matís dinàmic en la seva pròpia línia horitzontal. Useu silencis de separació per indicar els temps (les notes que estan dins d’un context Dynamics també ocupen temps musical, però no s’imprimeixen). El context Dynamics pot contenir altres elements com inscripcions textuals, objectes extensors de text i indicacions de pedal de piano.

<<
  \new Staff \relative {
    c'2 d4 e |
    c4 e e,2 |
    g'4 a g a |
    c1 |
  }
  \new Dynamics {
    s1\< |
    s1\f |
    s2\dim s2-"rit." |
    s1\p |
  }
>>

[image of music]

Instruccions predefinides

\dynamicUp, \dynamicDown, \dynamicNeutral, \crescTextCresc, \dimTextDim, \dimTextDecr, \dimTextDecresc, \crescHairpin, \dimHairpin.

Fragments de codi seleccionats

Setting hairpin behavior at bar lines

If the note which ends a hairpin falls on a downbeat, the hairpin stops at the bar line immediately preceding. This behavior can be controlled by overriding the 'to-barline property.

\relative c'' {
  e4\< e2.
  e1\!
  \override Hairpin.to-barline = ##f
  e4\< e2.
  e1\!
}

[image of music]

Setting the minimum length of hairpins

If hairpins are too short, they can be lengthened by modifying the minimum-length property of the Hairpin object.

\relative c'' {
  c4\< c\! d\> e\!
  << f1 { s4 s\< s\> s\! } >>
  \override Hairpin.minimum-length = #5
  << f1 { s4 s\< s\> s\! } >>
}

[image of music]

Printing hairpins using al niente notation

Hairpin dynamics may be printed with a circled tip (“al niente” notation) by setting the circled-tip property of the Hairpin object to #t.

\relative c'' {
  \override Hairpin.circled-tip = ##t
  c2\< c\!
  c4\> c\< c2\!
}

[image of music]

Printing hairpins in various styles

Hairpin dynamics may be created in a variety of styles.

\relative c'' {
  \override Hairpin.stencil = #flared-hairpin
  a4\< a a a\f
  a4\p\< a a a\ff
  a4\sfz\< a a a\!
  \override Hairpin.stencil = #constante-hairpin
  a4\< a a a\f
  a4\p\< a a a\ff
  a4\sfz\< a a a\!
  \override Hairpin.stencil = #flared-hairpin
  a4\> a a a\f
  a4\p\> a a a\ff
  a4\sfz\> a a a\!
  \override Hairpin.stencil = #constante-hairpin
  a4\> a a a\f
  a4\p\> a a a\ff
  a4\sfz\> a a a\!
}

[image of music]

Vertically aligned dynamics and textscripts

All DynamicLineSpanner objects (hairpins and dynamic texts) are placed with their reference line at least 'staff-padding from the staff, unless other notation forces them to be farther. Setting 'staff-padding to a sufficiently large value aligns the dynamics.

The same idea, together with \textLengthOn, is used to align the text scripts along their baseline.

music = \relative c' {
  a'2\p b\f
  e4\p f\f\> g, b\p
  c2^\markup { \huge gorgeous } c^\markup { \huge fantastic }
}

{
  \music
  \break
  \override DynamicLineSpanner.staff-padding = #3
  \textLengthOn
  \override TextScript.staff-padding = #1
  \music
}

[image of music]

Hiding the extender line for text dynamics

Text style dynamic changes (such as cresc. and dim.) are printed with a dashed line showing their extent. This line can be suppressed in the following way:

\relative c'' {
  \override DynamicTextSpanner.style = #'none
  \crescTextCresc
  c1\< | d | b | c\!
}

[image of music]

Changing text and spanner styles for text dynamics

The text used for crescendos and decrescendos can be changed by modifying the context properties crescendoText and decrescendoText.

The style of the spanner line can be changed by modifying the 'style property of DynamicTextSpanner. The default value is 'dashed-line, and other possible values include 'line, 'dotted-line and 'none.

\relative c'' {
  \set crescendoText = \markup { \italic { cresc. poco } }
  \set crescendoSpanner = #'text
  \override DynamicTextSpanner.style = #'dotted-line
  a2\< a
  a2 a
  a2 a
  a2 a\mf
}

[image of music]

Vegeu també

Glossari musical: al niente, crescendo, decrescendo, hairpin.

Manual d’aprenentatge: Articulacions i matisos dinàmics.

Referència de la notació: Direcció i posició, Indicacions dinàmiques contemporànies, Enriquiment de la sortida MIDI, Control de las dinàmiques del MIDI.

Fragments de codi: Expressive marks.

Referència de funcionament intern: DynamicText, Hairpin, DynamicLineSpanner, Dynamics.


Indicacions dinàmiques contemporànies

La menara més fàcil de crear indicacions dinàmiques és usar objectes de marcatge (\markup).

moltoF = \markup { molto \dynamic f }

\relative {
  <d' e>16_\moltoF <d e>
  <d e>2..
}

[image of music]

En el mode de marcatge es poden crear indicacions dinàmiques editorials (entre parèntesis o claus). La sintaxi del mode de marcatge es descriu a Donar format al text.

roundF = \markup {
    \center-align \concat { \bold { \italic ( }
           \dynamic f \bold { \italic ) } } }
boxF = \markup { \bracket { \dynamic f } }
\relative {
  c'1_\roundF
  c1_\boxF
}

[image of music]

Les indicacions dinàmiques senzilles i centrades es creen fàcilment amb la funció make-dynamic-script.

sfzp = #(make-dynamic-script "sfzp")
\relative {
  c'4 c c\sfzp c
}

[image of music]

En general make-dynamic-script agafa qualsevol objecte de marcatge com a argument. El tipus de lletra de matisos sols conté els caràcters f, m, p, r, s y z, per la qual cosa si desitgeu obtenir una indicació dinàmica que inclogui text normal o signes de puntuació, cal fer servir ordres de marcatge que retornin els ajustaments de la família de tipus de lletra i la seva codificació a las del text normal, per exemple \normal-text. L’interès de la utilització de make-dynamic-script en lloc d’un element de marcatge corrent radica en assegurar l’alineació vertical dels objectes de marcatge i reguladors que s’apliquen al mateix cap de nota.

roundF = \markup { \center-align \concat {
           \normal-text { \bold { \italic ( } }
           \dynamic f
           \normal-text { \bold { \italic ) } } } }
boxF = \markup { \bracket { \dynamic f } }
mfEspress = \markup { \center-align \line {
              \hspace #3.7 mf \normal-text \italic espress. } }
roundFdynamic = #(make-dynamic-script roundF)
boxFdynamic = #(make-dynamic-script boxF)
mfEspressDynamic = #(make-dynamic-script mfEspress)
\relative {
  c'4_\roundFdynamic\< d e f
  g,1~_\boxFdynamic\>
  g1
  g'1~\mfEspressDynamic
  g1
}

[image of music]

Es pot utilitzar en el seu lloc la forma Scheme del mode de marcatge. La seva sintaxi s’explica a

Se puede utilizar en su lugar la forma Scheme del modo de marcado. Su sintaxis se explica en Construcció de marcatge en Scheme.

moltoF = #(make-dynamic-script
            (markup #:normal-text "molto"
                    #:dynamic "f"))
\relative {
  <d' e>16 <d e>
  <d e>2..\moltoF
}

[image of music]

Per alinear el text del matís dinàmic a l’esquerra en lloc de centrar-lo sobre una nota, utilitzeu un \tweak:

moltoF = \tweak DynamicText.self-alignment-X #LEFT
         #(make-dynamic-script
            (markup #:normal-text "molto"
                    #:dynamic "f"))
\relative {
  <d' e>16 <d e>
  <d e>2..\moltoF <d e>1
}

[image of music]

Els ajustos per als tipus de lletra en mode de marcatge es descriuen a Selecció del tipus de lletra i la seva mida.

Vegeu també

Referència de la notació: Donar format al text, Selecció del tipus de lletra i la seva mida, Enriquiment de la sortida MIDI, Control de las dinàmiques del MIDI.

Extensió del LilyPond: Construcció de marcatge en Scheme.

Fragments de codi: Expressive marks.


1.3.2 Marques expressives en forma corba

Aquesta secció explica com crear diverses marques expressives amb forma corba: lligagures d’expressió i de fraseig, respiracions, caigudes i elevacions de to.


Lligadures d’expressió

Les lligadures d’expressió s’introdueixen utilitzant parèntesis:

Nota: A la música polifònica, les lligadures d’expressió han d’acabar a la mateixa veu en la qual comencen.

\relative {
  f''4( g a) a8 b(
  a4 g2 f4)
  <c e>2( <b d>2)
}

[image of music]

Les lligadures d’expressió es poden col·locar manualment per sobre o per sota de les notes; vegeu Direcció i posició.

S’ha de tenir cura amb les lligadures d’expressió simultànies o superposades. En gairebé tots els casos, les lligadures d’expressió externes indiquen, certament, fraseig, i les lligadures de fraseig poden superposar-se amb les lligadures d’expressió normals, vegeu Lligadures de fraseig. Quan calen diverses lligadures d’expressió normals dins d’una sola veu, els començament i els finals corresponents de les lligadures s’han d’etiquetar precedint-los per \= seguit d’un número o cadena de caràcters que la identifiqui.

\fixed c' {
  <c~ f\=1( g\=2( >2 <c e\=1) a\=2) >
}

[image of music]

Les lligadures d’expressió poden ser contínues, discontínues o de punts. L’estil predeterminat de les lligadures d’expressió és el continu:

\relative {
  c'4( e g2)
  \slurDashed
  g4( e c2)
  \slurDotted
  c4( e g2)
  \slurSolid
  g4( e c2)
}

[image of music]

També es pot fer que les lligadures d’expressió siguin semi-discontínues (la primera meitat discontínua i la segona meitat contínua) o semi-contínues (la primera meitat contínua i la segona discontínua):

\relative {
  c'4( e g2)
  \slurHalfDashed
  g4( e c2)
  \slurHalfSolid
  c4( e g2)
  \slurSolid
  g4( e c2)
}

[image of music]

Es poden definir patrons de discontinuïtat per a les lligadures d’expressió:

\relative {
  c'4( e g2)
  \slurDashPattern #0.7 #0.75
  g4( e c2)
  \slurDashPattern #0.5 #2.0
  c4( e g2)
  \slurSolid
  g4( e c2)
}

[image of music]

Instruccions predefinides

\slurUp, \slurDown, \slurNeutral, \slurDashed, \slurDotted, \slurHalfDashed, \slurHalfSolid, \slurDashPattern, \slurSolid.

Fragments de codi seleccionats

Using double slurs for legato chords

Some composers write two slurs when they want legato chords. This can be achieved by setting doubleSlurs.

\relative c' {
  \set doubleSlurs = ##t
  <c e>4( <d f> <c e> <d f>)
}

[image of music]

Positioning text markups inside slurs

Text markups need to have the outside-staff-priority property set to false in order to be printed inside slurs.

\relative c'' {
  \override TextScript.avoid-slur = #'inside
  \override TextScript.outside-staff-priority = ##f
  c2(^\markup { \halign #-10 \natural } d4.) c8
}

[image of music]

Making slurs with complex dash structure

Slurs can be made with complex dash patterns by defining the dash-definition property. dash-definition is a list of dash-elements. A dash-element is a list of parameters defining the dash behavior for a segment of the slur.

The slur is defined in terms of the bezier parameter t which ranges from 0 at the left end of the slur to 1 at the right end of the slur. dash-element is a list (start-t stop-t dash-fraction dash-period). The region of the slur from start-t to stop-t will have a fraction dash-fraction of each dash-period black. dash-period is defined in terms of staff spaces. dash-fraction is set to 1 for a solid slur.

\relative c' {
  \once \override
    Slur.dash-definition = #'((0 0.3 0.1 0.75)
                                (0.3 0.6 1 1)
                                (0.65 1.0 0.4 0.75))
  c4( d e f)
  \once \override
    Slur.dash-definition = #'((0 0.25 1 1)
                                (0.3 0.7 0.4 0.75)
                                (0.75 1.0 1 1))
  c4( d e f)
}

[image of music]

Vegeu també

Glossari musical: slur.

Manual d’aprenentatge: Quant a la impossibilitat de niuar claus i lligadures

Referència de la notació: Direcció i posició, Lligadures de fraseig.

Fragments de codi: Expressive marks.

Referència de funcionament interno: Slur.


Lligadures de fraseig

Les lligadures de fraseig (o marques de fraseig) que indiquen una frase musical s’escriuen usant les ordres \( i \) respectivament:

\relative {
  c''4\( d( e) f(
  e2) d\)
}

[image of music]

Tipogràficament, la lligadura de fraseig es comporta gairebé exactament igual que una lligadura d’expressió normal. Tanmateix, es tracten com a objectes diferents. Una \slurUp no tindrà cap efecte sobre una lligadura de fraseig. El fraseig es pot col·locar manualment per sobre o per sota de les notes; vegeu Direcció i posició.

Les lligadures de fraseig simultànies o superposades s’introdueixen usant \= igual que es fa amb les lligadures d’expressió normals, vegeu Lligadures d’expressió.

Les lligadures de fraseig poden ser contínues, de punts o de ratlles. L’estil predeterminat per a les lligadures de fraseig és el continu:

\relative {
  c'4\( e g2\)
  \phrasingSlurDashed
  g4\( e c2\)
  \phrasingSlurDotted
  c4\( e g2\)
  \phrasingSlurSolid
  g4\( e c2\)
}

[image of music]

Es pot fer també que les lligadures de fraseig siguin semi-dicontínues (la primera meitat discontínua i la segona meitat contínua) o semi-continues (la primera meitat contínua i la segona meitat discontínua):

\relative {
  c'4\( e g2\)
  \phrasingSlurHalfDashed
  g4\( e c2\)
  \phrasingSlurHalfSolid
  c4\( e g2\)
  \phrasingSlurSolid
  g4\( e c2\)
}

[image of music]

Es poden definir patrons de discontinuïtat per a les lligadures de fraseig:

\relative {
  c'4\( e g2\)
  \phrasingSlurDashPattern #0.7 #0.75
  g4\( e c2\)
  \phrasingSlurDashPattern #0.5 #2.0
  c4\( e g2\)
  \phrasingSlurSolid
  g4\( e c2\)
}

[image of music]

Les definicions de patrons de discontinuïtat tenen la mateixa estructura que les definicions de patrons de discontinuïtat de les lligadures d’expressió. Per veure més informació sobre els patrons de discontinuïtat complexos, consulteu els fragments de codi sota Lligadures d’expressió.

Instruccions predefinides

\phrasingSlurUp, \phrasingSlurDown, \phrasingSlurNeutral, \phrasingSlurDashed, \phrasingSlurDotted, \phrasingSlurHalfDashed, \phrasingSlurHalfSolid, \phrasingSlurDashPattern, \phrasingSlurSolid.

Vegeu també

Manual de aprenentatge: Quant a la impossibilitat de niuar claus i lligadures

Referència de la notació: Direcció i posició, Lligadures d’expressió.

Fragments de codi: Expressive marks.

Referència de funcionament intern: PhrasingSlur.


Marques de respiració

Les respiracions s’introdueixen utilitzant \breathe:

{ c''2. \breathe d''4 }

[image of music]

A diferència d’altres marques d’expressió, els símbols de respiració no estan associats amb la nota anterior, sinó que són esdeveniments independents. Per això, totes les marques d’expressió que estan annexades a la nota anterior, qualsevol claudàtor que indiqui barrat manual i qualsevol parèntesi que indiqui lligadures d’expressió i de fraseig, s’han d’escriure abans de \breathe.

Les marques de respiració donen per acabades les barres automàtiques; per anul·lar aquest comportament, consulteu Barres manuals.

\relative { c''8 \breathe d e f g2 }

[image of music]

A la notació antiga, es contemplen els indicadors musicals per a les marques de respiració, o divisiones. Per veure més detalls, consulteu Divisiones.

Fragments de codi seleccionats

Changing the breath mark symbol

The glyph of the breath mark can be tuned by overriding the text property of the BreathingSign layout object with any markup text.

\relative c'' {
  c2
  \override BreathingSign.text =
    \markup { \musicglyph "scripts.rvarcomma" }
  \breathe
  d2
}

[image of music]

Using a tick as the breath mark symbol

Vocal and wind music frequently uses a tick mark as a breathing sign. This indicates a breath that subtracts a little time from the previous note rather than causing a short pause, which is indicated by the comma breath mark. The mark can be moved up a little to take it away from the stave.

\relative c'' {
  c2
  \breathe
  d2
  \override BreathingSign.Y-offset = #2.6
  \override BreathingSign.text =
    \markup { \musicglyph "scripts.tickmark" }
  c2
  \breathe
  d2
}

[image of music]

Inserting a caesura

Caesura marks can be created by overriding the 'text property of the BreathingSign object. A curved caesura mark is also available.

\relative c'' {
  \override BreathingSign.text = \markup {
    \musicglyph "scripts.caesura.straight"
  }
  c8 e4. \breathe g8. e16 c4

  \override BreathingSign.text = \markup {
    \musicglyph "scripts.caesura.curved"
  }
  g8 e'4. \breathe g8. e16 c4
}

[image of music]

Vegeu també

Glossari musical: caesura.

Referència de la notació: Divisiones.

Fragments de codi: Expressive marks.

Referència de funcionament intern: BreathingEvent, BreathingSign, Breathing_sign_engraver.


Caigudes i elevacions

Es poden expressar caigudes y elevacions de to (falls i doits) afegides a les notes mitjançant l’ordre \bendAfter. La direcció de la caiguda i elevació s’indica amb un signe de més o menys (a dalt o a sota). El número indica l’interval d’alçades sobre el qual s’estén la caiguda o elevació partint de la nota principal.

\relative c'' {
  c2\bendAfter #+4
  c2\bendAfter #-4
  c2\bendAfter #+6.5
  c2\bendAfter #-6.5
  c2\bendAfter #+8
  c2\bendAfter #-8
}

[image of music]

Fragments de codi seleccionats

Adjusting the shape of falls and doits

The shortest-duration-space property may be tweaked to adjust the shape of falls and doits.

\relative c'' {
  \override Score.SpacingSpanner.shortest-duration-space = #4.0
  c2-\bendAfter #5
  c2-\bendAfter #-4.75
  c2-\bendAfter #8.5
  c2-\bendAfter #-6
}

[image of music]

Vegeu també

Glossari musical: fall, doit.

Fragments de codi Expressive marks.


1.3.3 Marques expressives en forma de línies

Aquesta secció explica com crear diverses marques d’expressió que segueixen un camí lineal: glissandi, arpegis i refilets.


Glissando

Es crea un glissando afegint \glissando després de la nota:

\relative {
  g'2\glissando g'
  c2\glissando c,
  \afterGrace f,1\glissando f'16
}

[image of music]

Un glissando pot connectar notes d’un pentagrama a un altre:

\new PianoStaff <<
  \new Staff = "right" {
    e'''2\glissando
    \change Staff = "left"
    a,,4\glissando
    \change Staff = "right"
    b''8 r |
  }
  \new Staff = "left" {
    \clef bass
    s1
  }
>>

[image of music]

Un glissando pot connectar les notes dins d’un acord. Si cal fer quelcom que no sigui una connexió d’una nota amb una altra entre els dos acords, les connexions entre les notes venen definides per mitjà de \glissandoMap, on les notes d’un acord se suposen numerades, començant de zero, en l’ordre en el qual apareixen en el codi d’entrada del fitxer ‘.ly’.

\relative {
  <c' e>1\glissando g' |
  <c, e>1\glissando |
  <g' b> |
  \break
  \set glissandoMap = #'((0 . 1) (1 . 0))
  <c, g'>1\glissando |
  <d a'> |
  \set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))
  c1\glissando |
  <d f a> |
  \set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))
  <f d a'>1\glissando |
  <c c'> |
}

[image of music]

Es poden crear diversos tipus de glissando. Per veure més detalls, consulteu Estils de línia.

Fragments de codi seleccionats

Contemporary glissando

A contemporary glissando without a final note can be typeset using a hidden note and cadenza timing.

\relative c'' {
  \time 3/4
  \override Glissando.style = #'zigzag
  c4 c
  \cadenzaOn
  c4\glissando
  \hideNotes
  c,,4
  \unHideNotes
  \cadenzaOff
  \bar "|"
}

[image of music]

Adding timing marks to long glissandi

Skipped beats in very long glissandi are sometimes indicated by timing marks, often consisting of stems without noteheads. Such stems can also be used to carry intermediate expression markings.

If the stems do not align well with the glissando, they may need to be repositioned slightly.

glissandoSkipOn = {
  \override NoteColumn.glissando-skip = ##t
  \hide NoteHead
  \override NoteHead.no-ledgers = ##t
}

glissandoSkipOff = {
  \revert NoteColumn.glissando-skip
  \undo \hide NoteHead
  \revert NoteHead.no-ledgers
}

\relative c'' {
  r8 f8\glissando
  \glissandoSkipOn
  f4 g a a8\noBeam
  \glissandoSkipOff
  a8

  r8 f8\glissando
  \glissandoSkipOn
  g4 a8
  \glissandoSkipOff
  a8 |

  r4 f\glissando \<
  \glissandoSkipOn
  a4\f \>
  \glissandoSkipOff
  b8\! r |
}

[image of music]

Making glissandi breakable

Setting the breakable property to #t in combination with after-line-breaking allows a glissando to break if it occurs at a line break:

glissandoSkipOn = {
  \override NoteColumn.glissando-skip = ##t
  \hide NoteHead
  \override NoteHead.no-ledgers = ##t
}

\relative c'' {
  \override Glissando.breakable = ##t
  \override Glissando.after-line-breaking = ##t
  f1\glissando |
  \break
  a4 r2. |
  f1\glissando
  \once \glissandoSkipOn
  \break
  a2 a4 r4 |
}

[image of music]

Extending glissandi across repeats

A glissando which extends into several \alternative blocks can be simulated by adding a hidden grace note with a glissando at the start of each \alternative block. The grace note should be at the same pitch as the note which starts the initial glissando. This is implemented here with a music function which takes the pitch of the grace note as its argument.

Note that in polyphonic music the grace note must be matched with corresponding grace notes in all other voices.

repeatGliss = #(define-music-function (grace)
  (ly:pitch?)
  #{
    % the next two lines ensure the glissando is long enough
    % to be visible
    \once \override Glissando.springs-and-rods
      = #ly:spanner::set-spacing-rods
    \once \override Glissando.minimum-length = #3.5
    \once \hideNotes
    \grace $grace \glissando
  #})

\score {
  \relative c'' {
    \repeat volta 3 { c4 d e f\glissando }
    \alternative {
      { g2 d }
      { \repeatGliss f g2 e }
      { \repeatGliss f e2 d }
    }
  }
}

music =  \relative c' {
  \voiceOne
  \repeat volta 2 {
    g a b c\glissando
  }
  \alternative {
    { d1 }
    { \repeatGliss c \once \omit StringNumber e1\2 }
  }
}

\score {
  \new StaffGroup <<
    \new Staff <<
      \context Voice { \clef "G_8" \music }
    >>
    \new TabStaff  <<
      \context TabVoice { \clef "moderntab" \music }
    >>
  >>
}

[image of music]

Vegeu també

Glossari musical: glissando.

Referència de la notació: Estils de línia.

Fragments de codi: Expressive marks.

Referència de funcionament interno: Glissando.

Advertiments i problemes coneguts

La impressió de text sobre la línia (com a gliss.), no està contemplada.


Arpegi

Un signe de acord arpegiat (conegut també com acord trencat) sobre un acord, es denota annexant \arpeggio a l’acord:

\relative { <c' e g c>1\arpeggio }

[image of music]

Es poden escriure diversos tipus d’acords arpegiats. \arpeggioNormal produeix la volta a l’arpegi normal:

\relative {
  <c' e g c>2\arpeggio

  \arpeggioArrowUp
  <c e g c>2\arpeggio

  \arpeggioArrowDown
  <c e g c>2\arpeggio

  \arpeggioNormal
  <c e g c>2\arpeggio
}

[image of music]

Es poden crear símbols especials d’arpegi amb parèntesis:

\relative {
  <c' e g c>2

  \arpeggioBracket
  <c e g c>2\arpeggio

  \arpeggioParenthesis
  <c e g c>2\arpeggio

  \arpeggioParenthesisDashed
  <c e g c>2\arpeggio

  \arpeggioNormal
  <c e g c>2\arpeggio
}

[image of music]

Les propietats de discontinuïtat del parèntesi de l’arpegi es controlen mitjançant la propietat 'dash-definition, que es descriu a Lligadures d’expressió.

Els acords arpegiats es poden desenvolupar explícitament utilitzant lligadures d’unió. Vegeu Lligadures d’unió.

Instruccions predefinides

\arpeggio, \arpeggioArrowUp, \arpeggioArrowDown, \arpeggioNormal, \arpeggioBracket, \arpeggioParenthesis \arpeggioParenthesisDashed.

Fragments de codi seleccionats

Creating cross-staff arpeggios in a piano staff

In a PianoStaff, it is possible to let an arpeggio cross between the staves by setting the property PianoStaff.connectArpeggios.

\new PianoStaff \relative c'' <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff {
    <c e g c>4\arpeggio
    <g c e g>4\arpeggio
    <e g c e>4\arpeggio
    <c e g c>4\arpeggio
  }
  \new Staff {
    \clef bass
    \repeat unfold 4 {
      <c,, e g c>4\arpeggio
    }
  }
>>

[image of music]

Creating cross-staff arpeggios in other contexts

Cross-staff arpeggios can be created in contexts other than GrandStaff, PianoStaff and StaffGroup if the Span_arpeggio_engraver is included in the Score context.

\score {
  \new ChoirStaff {
    \set Score.connectArpeggios = ##t
    <<
      \new Voice \relative c' {
        <c e>2\arpeggio
        <d f>2\arpeggio
        <c e>1\arpeggio
      }
      \new Voice \relative c {
        \clef bass
        <c g'>2\arpeggio
        <b g'>2\arpeggio
        <c g'>1\arpeggio
      }
    >>
  }
  \layout {
    \context {
      \Score
      \consists "Span_arpeggio_engraver"
    }
  }
}

[image of music]

Creating arpeggios across notes in different voices

An arpeggio can be drawn across notes in different voices on the same staff if the Span_arpeggio_engraver is added to the Staff context:

\new Staff \with {
  \consists "Span_arpeggio_engraver"
}
\relative c' {
  \set Staff.connectArpeggios = ##t
  <<
    { <e' g>4\arpeggio <d f> <d f>2 }
    \\
    { <d, f>2\arpeggio <g b>2 }
  >>
}

[image of music]

Vegeu també

Glossari musical: arpeggio.

Referència de la notació: Lligadures d’expressió, Lligadures d’unió.

Fragments de codi: Expressive marks.

Referència de funcionament intern: Arpeggio, Slur, PianoStaff.

Advertiments i problemes coneguts

No és possible barrejat arpegis connectats i no connectat a un PianoStaff al mateix moment de temps.

La forma senzilla d’especificar el parèntesis als arpegis de parèntesis no funciona per als arpegis de pentagrama creuat; vegeu Pliques de pentagrama creuat.


Refilets

Els refilets curts sense línia extensora es graven amb \trill; vegeu Articulacions i ornaments.

Els refilets llargs mantinguts, amb línia d’extensió, es fan amb \startTrillSpan i \stopTrillSpan:

\relative {
  d''1\startTrillSpan
  d1
  c2\stopTrillSpan
  r2
}

[image of music]

Un refilet estès que travessa un salt de línia recomença exactament a sobre de la primera nota de la línia nova.

\relative {
  d''1\startTrillSpan
  \break
  d1
  c2\stopTrillSpan
  r2
}

[image of music]

Els refilets estesos consecutius funcionen sense necessitat d’ordres \stopTrillSpan explícites, perquè cada refilet es convertirà automàticament a la vora dreta del refilet anterior.

\relative {
  d''1\startTrillSpan
  d1
  b1\startTrillSpan
  d2\stopTrillSpan
  r2
}

[image of music]

També es poden combinar els refilets amb notes d’adorn. La sintaxi d’aquesta construcció i el mètode per col·locar les notes d’adorn amb precisió es descriuien a Notes d’adorn.

\relative {
  d''1~\afterGrace
  d1\startTrillSpan { c32[ d]\stopTrillSpan }
  c2 r2
}

[image of music]

Els refilets que s’han d’executar sobre notes auxiliars explícites es poden gravar amb l’ordre pitchedTrill. El primer argument és la nota principal, i el segon és la nota refilada, que es grava com un cap de nota, sense plica i entre parèntesis.

\relative {
  \pitchedTrill
  d''2\startTrillSpan fis
  d2
  c2\stopTrillSpan
  r2
}

[image of music]

Cal afegir manualment les alteracions subsegüents de la mateixa nota dins del mateix compàs. Sols s’imprimeix l’alteració del primer refilet amb nota, dins d’un compàs.

\relative {
  \pitchedTrill
  eis''4\startTrillSpan fis
  eis4\stopTrillSpan
  \pitchedTrill
  eis4\startTrillSpan cis
  eis4\stopTrillSpan
  \pitchedTrill
  eis4\startTrillSpan fis
  eis4\stopTrillSpan
  \pitchedTrill
  eis4\startTrillSpan fis!
  eis4\stopTrillSpan
}

[image of music]

Instruccions predefinides

\startTrillSpan, \stopTrillSpan.

Vegeu també

Glossari musical: trill.

Referècia de la notació: Articulacions i ornaments, Notes d’adorn.

Fragments de codi: Expressive marks.

Referència de funcionament intern: TrillSpanner.


1.4 Repeticions

[image of music]

La repetició és un concepte fonamental a la música, i hi ha diversos tipus de notació per a les repeticions. El LilyPond dóna suport als següents tipus de repetició:

volta (primera i segona vegada)

La repetició de la músic no s’imprimeix de forma desenvolupada, sinó que s’indica envoltant-la entre barres de repetició. Si el salt de la repetició es troba al començament de la peça, la barra de repetició sols s’imprimeix al final del fragment. S’imprimeixen una sèrie de finals alternatius (volta) d’esquerra a dreta indicats mitjançant claus. Aquesta és la notació estàndard per a les repeticions amb finals alternatius.

unfold (desplegada)

La música repetida s’escriu i s’interpreta completament tantes vegades com especifiqueu el valor nombre_de_repeticions. És útil quan s’està escrivint música repetitiva.

percent (percentatge)

Fer repeticions de compassos o part d’ells. Tenen un aspecte semblant a un signe de percentatge. Les repeticions de percentatge s’han de declarar dins d’un context Voice.

tremolo (trèmol)

Fer barres de trèmol.


1.4.1 Repeticions llargues

Aquesta secció tracta sobre la forma d’introduir repeticions llargues, normalment de diversos compassos. Les repeticions adopten dues formes: repeticions envoltades entre signes de repetició, o repeticions explícites, que s’usen per escriure música repetitiva. També es poden controlar manualment els signes de repetició.


Repeticions normals

La sintaxi d’una repetició normal és

\repeat volta nombre_de_repeticions expressió_musical

on expressió_musical és una expressió musical.

Una repetició simple sense finals alternatius:

\relative {
  \repeat volta 2 { c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

De forma predeterminada no s’imprimeixen les dobles barres d’obertura de repetició al primer compàs complet. Malgrat això és possible imprimir-les usant \bar ".|:" abans de la primera nota.

\relative {
  \repeat volta 2 { \bar ".|:" c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

Els finals alternatius (celes de primera i segona vegada) es poden generar utilitzant \alternative. Cada grup d’alternatives ha d’estar envoltat pel seu compte entre claus.

\repeat volta nombre_de_repeticions expressió_musical
\alternative {
  { expressió_musical }
}

on expressió_musical és una expressió musical.

Si hi ha més repeticions que finals alternatius, s’assigna el primer final alternatiu a les repeticions més antigues.

Repetició única amb primera i segona vegada:

\relative {
  \repeat volta 2 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

Diverses repeticions amb primera i segona vegada:

\relative {
  \repeat volta 4 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

Més d’una repetició amb més d’un final alternatiu:

\relative {
  \repeat volta 3 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
    { a2 g | }
  }
  c1
}

[image of music]

Nota: Si hi ha dos o més alternatives, no ha d’aparèixer res entre la clau de tancament d’una i la d’obertura de l’altra dins d’un bloc \alternative, atès que en cas contrari no obtindrem el nombre de finals esperat.

Nota: Si incloem \relative dins d’un \repeat sense instancia el context Voice explícitament, apareixeran pentagrames addicionals no desitjats. Vegeu Apareix un pentagrama de més.

Si una repetició sense celes de primera i segona vegada comença en mig d’un compàs, normalment acaba en el lloc corresponent a meitat d’un altre compàs posterior (de tal forma que els dos sumen un compàs complet). En aquest cas, els símbols de repetició no són ‘veritables’ línies divisòries, per la qual cosa no s’han d’escriure en aquest lloc comprovacions de compàs ni ordres \partial:

c'4 e g
\repeat volta 4 {
  e4 |
  c2 e |
  g4 g g
}
  g4 |
  a2 a |
  g1 |

[image of music]

Si una repetició que no té celes de primera i segona vegada comença amb un compàs parcial, aleshores s’aplica el mateix principi, excepte que es requereix una ordre \partial al començament del compàs:

\partial 4
\repeat volta 4 {
  e'4 |
  c2 e |
  g4 g g
}
  g4 |
  a2 a |
  g1 |

[image of music]

Es poden afegir lligadures d’unió al segon final:

\relative {
  c''1
  \repeat volta 2 { c4 d e f~ }
  \alternative {
    { f2 d }
    { f2\repeatTie f, }
  }
}

[image of music]

L’ordre \inStaffSegno es pot utilitzar per generar una barra de compàs combinada que incorpora el símbol del segno junt amb la barra de repetició, quan s’usa amb la instrucció \repeat volta. Se selecciona automàticament el tipus correcte de línia divisòria de repetició, ja sigui de començament o fi de repetició, o de doble repetició. Observeu que la indicació “D.S.” corresponent s’ha d’afegir manualment.

Sortida d’una repetició:

\relative {
  e'1
  \inStaffSegno
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

Al començament d’una repetició:

\relative {
  e'1
  \repeat volta 2 {
    \inStaffSegno  % inicia repetició
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

Al final de una repetición:

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \inStaffSegno  % finalitza repetició
  }
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

Entre dues repeticions:

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
  }
  \inStaffSegno  % doble repetició
  \repeat volta 2 {
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

Es poden obtenir símbols de línia divisòria alternatius mitjançant l’establiment (en el context Score) de les propietats segnoType, startRepeatSegnoType, endRepeatSegnoType o doubleRepeatSegnoType al tipus de línia requerit. Els tipus de línia divisòria alternatius s’han de seleccionar a partir dels tipus predefinits o de tipus definits anteriorment amb la instrucció \defineBarLine (vegeu Barres de compàs).

\defineBarLine ":|.S[" #'(":|." "S[" "")
\defineBarLine "]" #'("]" "" "")
\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \once \set Score.endRepeatSegnoType = ":|.S["
    \inStaffSegno
  }
  f2 g \bar "]" a b
  c1_"D.S." \bar "|."
}

[image of music]

Fragments de codi seleccionats

Shortening volta brackets

By default, the volta brackets will be drawn over all of the alternative music, but it is possible to shorten them by setting voltaSpannerDuration. In the next example, the bracket only lasts one measure, which is a duration of 3/4.

\relative c'' {
  \time 3/4
  c4 c c
  \set Score.voltaSpannerDuration = #(ly:make-moment 3/4)
  \repeat volta 5 { d4 d d }
  \alternative {
    {
      e4 e e
      f4 f f
    }
    { g4 g g }
  }
}

[image of music]

Adding volta brackets to additional staves

The Volta_engraver by default resides in the Score context, and brackets for the repeat are thus normally only printed over the topmost staff. This can be adjusted by adding the Volta_engraver to the Staff context where the brackets should appear; see also the “Volta multi staff” snippet.

<<
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
>>

[image of music]

Setting the double repeat default for volte

There are three different styles of double repeats for volte, that can be set using doubleRepeatType.

\relative c'' {
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":..:"
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":|.|:"
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":|.:"
  \repeat volta 1 { c1 }
}

[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]

Vegeu també

Glossari musical: repeat, volta.

Referència de la notació: Barres de compàs, Modificació dels complements (plug-ins) de context, Modificació de lligadures d’unió i d’expressió, Gestió del temps.

Fitxers instal·lats: ‘ly/engraver-init.ly’.

Fragments de codi: Repeats.

Referència de funcionament intern: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic.

Advertiments i problemes coneguts

Les lligadures d’expressió que abasten des d’un bloc \repeat fins un bloc \alternative sols funcionen per a la cela de primera vegada. L’aparença visual d’una lligadura d’expressió que es continua introduint a d’altres celes de repetició pot simular-se amb \repeatTie si la lligadura s’estén fins una sola nota dins de la cela de repetició, tot i que aquest mètode no funciona a TabStaff. D’altres mètodes que poden servir per indicar lligadures que es continuen per sobre de diverses notes a les celes de repetició, i que també funcionen en contextos de tabulatura TabStaff, s’expliquen a Modificació de lligadures d’unió i d’expressió.

Així mateix, no és possible fer que les lligadures d’expressió es repleguin des del final d’una alternativa fins el començament de la repetició.

Els glissandos que s’estenen des d’un bloc \repeat fins un bloc \alternative sols funcionen per a la cela de primera vegada. Es pot indicar l’aparença visual d’un glissando que es continua fin l’interior d’altres celes de repetició mitjançant la codificació d’un glissando que comença a una nota d’adorn oculta. Per veure un exemple, consulteu “Extensió dels glissandos sobre les repeticions” sota l’epígraf Fragments de codi seleccionats, a Glissando.

Si una repetició que comença amb un compàs incomplet té un bloc \alternative que conté modificacions a la propietat measureLength, la utilització de \unfoldRepeats donarà lloc a línies divisòries erròniament col·locades i advertiments de comprovació de compàs.

Una repetició niuada com

\repeat …
\repeat …
\alternative

és ambigua perquè no està clar a quin \repeat pertany la \alternative. Aquesta ambigüitat es resol fent que la \alternative pertanyi sempre a la \repeat més interna. Per més claredat, es recomana usar claus en aquestes situacions.


Marques de repetició manual

Nota: Aquests mètodes sols s’utilitzen per realitzar construccions de repetició poc usuals. A gairebé totes les situacions s’han de crear les repeticions utilitzant l’ordre estàndard \repeat o imprimint les barres de compàs corresponents. Per veure més informació, consulteu Barres de compàs.

Es pot usar la propietat repeatCommands per controlar la disposició de les repeticions. El seu valor és una llista de l’Scheme d’ordres de repetició.

start-repeat

Impressió d’una barra de compàs .|:

\relative {
  c''1
  \set Score.repeatCommands = #'(start-repeat)
  d4 e f g
  c1
}

[image of music]

A la pràctica habitual del gravat no s’imprimeixen signes de repetició al principi de la peça.

end-repeat

Impressió d’una barra de compàs :|.

\relative {
  c''1
  d4 e f g
  \set Score.repeatCommands = #'(end-repeat)
  c1
}

[image of music]

(volta number) … (volta #f)

Creació d’una nova cela de repetició amb el número que s’especifica. El parèntesi de vegada s’ha de finalitzar de forma explícita, en cas contrari no s’imprimeix.

\relative {
  f''4 g a b
  \set Score.repeatCommands = #'((volta "2"))
  g4 a g a
  \set Score.repeatCommands = #'((volta #f))
  c1
}

[image of music]

Es poden produir diverses ordres de repetició amb el mateix punt:

\relative {
  f''4 g a b
  \set Score.repeatCommands = #'((volta "2, 5") end-repeat)
  g4 a g a
  c1
  \set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat)
  b1
  \set Score.repeatCommands = #'((volta #f))
}

[image of music]

Es pot incloure text dins de la cela de primera i segona vegada. El text pot ser un número o números, o un element de marcatge, vegeu Donar format al text. La forma més fàcil d’usar text de marcatge és definir el marcatge prèviament, i després incloure’l dins d’una llista de l’Scheme.

voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
\relative {
  c''1
  \set Score.repeatCommands =
    #(list(list 'volta voltaAdLib) 'start-repeat)
  c4 b d e
  \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat)
  f1
  \set Score.repeatCommands = #'((volta #f))
}

[image of music]

Vegeu també

Referència de la notació: Barres de compàs, Donar format al text.

Fragments de codi: Repeats.

Referència de funcionament intern: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic.


Repeticions explícites

Mitjançant la utilització de l’ordre unfold es poden usar les repeticions per simplificar l’escriptura desplegada de música repetitiva. La sintaxi és:

\repeat unfold número_de_repeticions expressió_musical

donde expressió_musical és una musical i nombre_de_repeticions és el nombre de vegades que expressió_musical es repeteix.

\relative {
  \repeat unfold 2 { c''4 d e f }
  c1
}

[image of music]

En certs casos, especialment dins d’un context \relative, la funció \repeat unfold no és exactament igual que escriure l’expressió musical diverses vegades. Per exemple:

\repeat unfold 2 { a'4 b c }

no equival a

a'4 b c | a'4 b c

Es poden fer repeticions desplegades amb finals alternatius.

\relative {
  \repeat unfold 2 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
  }
  c1
}

[image of music]

Si hi ha repeticions amb finals alternatius, el primer final alternatiu s’aplica les vegades que calguin fins que les alternatives restants completen el nombre total de repeticions.

\relative {
  \repeat unfold 4 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
    { e2 d }
   }
  c1
}

[image of music]

Si hi ha més finals alternatius que repeticions, s’apliquen sols els primers finals alternatius. Les alternatives restants s’ignoren i no s’imprimeixen.

\relative {
  \repeat unfold 2 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
    { e2 d }
  }
  c1
}

[image of music]

És possible també niuar diverses funcions unfold (amb finals alternatius o sense ells).

\relative {
  \repeat unfold 2 {
    \repeat unfold 2 { c''4 d e f }
    \alternative {
      { c2 g' }
      { c,2 b }
    }
  }
  c1
}

[image of music]

Les construccions d’acord es poden repetir mitjançant el símbol de repetició d’acords q. Vegeu Repetició d’acords.

Nota: Si poseu \relative dins d’un bloc \repeat sense instanciar explícitament el context Voice, apareixeran pentagrames no desitjats. Vegeu Apareix un pentagrama de més.

Vegeu també

Referència de la notació: Repetició d’acords.

Fragments de codi: Repeats.

Referència de funcionament intern: RepeatedMusic, UnfoldedRepeatedMusic.


1.4.2 Repeticions curtes

Aquesta secció tracta de com introduir repeticions curtes. Les repeticions curtes poden adoptar dues formes: barres inclinades o signes de percentatge si estem representant repeticions d’una sola nota, un compàs o dos compassos, i trèmols en cas contrari.


Repeticions de compàs o part d’ells

Els patrons curts que es repeteixen s’imprimeixen d’un sol cop, i el patró repetit se substitueix per un símbol especial.

La sintaxi és:

\repeat percent número expressió_musical

on expressió_musical és una expressió musical.

Els patrons més curts que un compàs se substitueixen per barres inclinades.

\relative c'' {
  \repeat percent 4 { c128 d e f }
  \repeat percent 4 { c64 d e f }
  \repeat percent 5 { c32 d e f }
  \repeat percent 4 { c16 d e f }
  \repeat percent 4 { c8 d }
  \repeat percent 4 { c4 }
  \repeat percent 2 { c2 }
}

[image of music]

Els patrons de repetició d’un o dos compassos se substitueixen per signes semblants al símbol de percentatge.

\relative c'' {
  \repeat percent 2 { c4 d e f }
  \repeat percent 2 { c2 d }
  \repeat percent 2 { c1 }
}

[image of music]

\relative {
  \repeat percent 3 { c''4 d e f | c2 g' }
}

[image of music]

Els patrons més curts que un compàs però que contenen duracions barrejades utilitzen un símbol de percentatge doble.

\relative {
  \repeat percent 4 { c''8. <d f>16 }
  \repeat percent 2 { \tuplet 3/2 { r8 c d } e4 }
}

[image of music]

Fragments de codi seleccionats

Percent repeat counter

Measure repeats of more than two repeats can get a counter when the convenient property is switched, as shown in this example:

\relative c'' {
  \set countPercentRepeats = ##t
  \repeat percent 4 { c1 }
}

[image of music]

Percent repeat count visibility

Percent repeat counters can be shown at regular intervals by setting the context property repeatCountVisibility.

\relative c'' {
  \set countPercentRepeats = ##t
  \set repeatCountVisibility = #(every-nth-repeat-count-visible 5)
  \repeat percent 10 { c1 } \break
  \set repeatCountVisibility = #(every-nth-repeat-count-visible 2)
  \repeat percent 6 { c1 d1 }
}

[image of music]

Isolated percent repeats

Isolated percents can also be printed.

makePercent =
#(define-music-function (note) (ly:music?)
   "Make a percent repeat the same length as NOTE."
   (make-music 'PercentEvent
               'length (ly:music-length note)))

\relative c'' {
  \makePercent s1
}

[image of music]

Vegeu també

Glossari musical: percent repeat, simile.

Fragments de codi: Repeats.

Referència de funcionament intern: RepeatSlash, RepeatSlashEvent, DoubleRepeatSlash, PercentRepeat, PercentRepeatCounter, PercentRepeatedMusic, Percent_repeat_engraver, DoublePercentEvent, DoublePercentRepeat, DoublePercentRepeatCounter, Double_percent_repeat_engraver, Slash_repeat_engraver.

Advertiments i problemes coneguts

Les repeticions de percentatge no contenen res més a part del propi signe de percentatge; especialment, els canvis d’indicació de compàs no es repeteixen.

\repeat percent 3 { \time 5/4 c2. 2 \time 4/4 2 2 }

[image of music]

Qualsevol canvi de compàs o ordre \partial s’ha de produir en passatges paral·lels fora de la repetició de percentatge, per exemple en una pista especial per a la gestió del compàs.

<<
  \repeat percent 3 { c2. 2 2 2 }
  \repeat unfold 3 { \time 5/4 s4*5 \time 4/4 s1 }
>>

[image of music]


Repeticions de trèmol

Els trèmols poden adoptar dues formes: alternança entre dos acords o dues notes, i repetició ràpida d’una sola nota o acord. Els trèmols que consisteixen en una alternança s’indiquen per mitjà de l’addició de barres entres les notes o acords que s’alternen, mentre que els trèmols que consisteixen en la repetició ràpida d’una sola nota s’indiquen mitjançant l’addició de barres creuades a una nota única.

Per col·locar marques de trèmol entre les notes, useu \repeat amb l’estil tremolo (trèmol):

\relative c'' {
  \repeat tremolo 8 { c16 d }
  \repeat tremolo 6 { c16 d }
  \repeat tremolo 2 { c16 d }
}

[image of music]

La sintaxi de \repeat tremolo espera que s’escriguin exactament dues notes dins de les claus, i el nombre de repeticions s’ha de correspondre amb un valor que es pugui expressar amb figures normals o amb puntet. Així, \repeat tremolo 7 és vàlida i produeix una nota amb doble puntet, però \repeat tremolo 9 no és vàlid.

La duració del trèmol és igual a la duració de l’expressió entre claus, multiplicada pel número de repeticions: \repeat tremolo 8 { c16 d16 } dóna com a resultat un trèmol de rodona, escrit com dues rodones unides per barres de trèmol.

Hi ha dues maneres de col·locar marques de trèmol sobre una única nota. Fins i tot aquí es pot utilitzar la sintaxi \repeat tremolo, i en aquest cas la nota no ha d’anar envoltada entre claus:

\repeat tremolo 4 c'16

[image of music]

El mateix resultat es pot obtenir escrivint :N després d’una nota, on N indica la duració de la subdivisió (ha de ser 8 com a mínim). Si N és 8, s’afegeix una barra de corxera a la plica de la nota. Si N s’omet, s’utilitza l’últim valor:

\relative {
  c''2:8 c:32
  c: c:
}

[image of music]

Fragments de codi seleccionats

Cross-staff tremolos

Since \repeat tremolo expects exactly two musical arguments for chord tremolos, the note or chord which changes staff within a cross-staff tremolo should be placed inside curly braces together with its \change Staff command.

\new PianoStaff <<
  \new Staff = "up" \relative c'' {
    \key a \major
    \time 3/8
    s4.
  }
  \new Staff = "down" \relative c'' {
    \key a \major
    \time 3/8
    \voiceOne
    \repeat tremolo 6 {
      <a e'>32
      {
        \change Staff = "up"
        \voiceTwo
        <cis a' dis>32
      }
    }
  }
>>

[image of music]

Vegeu també

Fragments de codi: Repeats.


1.5 Notes simultànies

[image of music]

La paraula ‘polifonia’ en música fa referència a tenir més d’una veu en una peça qualsevol de música. Al LilyPond la polifonia fa referència a tenir més d’una veu al mateix pentagrama.


1.5.1 Una veu única

Aquesta secció tracta de les notes simultànies dins de la mateixa veu.


Notes a un acord

Un acord es forma envoltant un conjunt de notes entre < i >. Un acord pot anar seguit d’una duració, com si fos una nota simple.

\relative {
  <a' c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16
}

[image of music]

Els acords també poden anar seguit d’articulacions, com si fos una nota simple.

\relative {
  <a' c e>1\fermata <a c e>2-> <f a c e>4\prall <a c>8.^! <g c e>16-.
}

[image of music]

Les notes dins del propi acord amb poden anar seguides d’articulacions i ornaments.

\relative {
  <a' c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4
  <a-+ c-->8. <g\fermata c e\turn>16
}

[image of music]

Tanmateix alguns elements de notació com ara les expressions de matisos dinàmics i els reguladors han d’annexar-se a l’acord i no a les notes que l’integren, atès que en cas contrari no s’imprimiran. Altres elements de notació com les digitacions i les lligadures d’expressió es posicionen de forma molt diferent quan s’adjunten a les notes d’un acord en lloc de fer-lo a rodones i notes aïllades.

\relative {
  <a'\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>)
  <a c e>\< <a c e> <a c e>\!
}

[image of music]

Un acord funciona com un simple contenidor per a les notes que ho composen, a més de les seves articulacions i altres elements adjunts. Com a conseqüència, un acord sense cap nota al seu interior no té realment cap duració. Qualsevol articulació annexa es produirà en el mateix moment musical que la nota o acord següent i es pot combinar amb ells (per veure possibilitats més complexes de combinacions d’aquests elements, consulteu Expressions simultànies):

\relative {
  \grace { g'8( a b }
  <> ) \p \< -. -\markup \italic "sempre staccato"
  \repeat unfold 4 { c4 e }  c1\f
}

[image of music]

Es pot usar el mode relatiu per a l’alçada de les notes dels acords. La primera nota de l’acord sempre és relativa a la primera nota de l’acord anterior, o en cas que l’element precedent no sigui un acord, l’alçada de l’última nota que va vindre abans de l’acord. La resta de les notes de l’acord són relatives a la nota anterior dins del mateix acord.

\relative {
  <a' c e>1 <f a c> <a c e> <f' a c> <b, e b,>
}

[image of music]

Per veure més informació sobre els acords, consulteu Notació d’acords.

Vegeu també

Glossari musical: chord.

Manual d’aprenentatge: Combinar notes per formar acords.

Referència de la notació: Notació d’acords, Articulacions i ornaments, Escriptura d’octava relativa, Veus múltiples.

Fragments de codi: Simultaneous notes.

Advertiments i problemes coneguts

Els acords que contenen més de dues alçades al mateix espai de pentagrama, com ara ‘<e f! fis!>’, creen notes els caps de les quals se superposen. Depenent de la situació, un representació millor pot requerir:


Repetició d’acords

Per reduir l’entrada d’acords, es pot usar una abreviatura de repetició de l’acord anterior. El símbol de repetició d’acords és q:

\relative {
  <a' c e>1 q <f a c>2 q
}

[image of music]

Com als acords normals, el símbol de repetició d’acords pot usar-se amb duracions, articulacions, elements de marcatge, lligadures d’expressió, barres, etc., atès que sols es dupliquen les notes de l’acord precedent.

\relative {
  <a' c e>1\p^"text" q2\<( q8)[-! q8.]\! q16-1-2-3 q8\prall
}

[image of music]

El símbol de repetició d’acords sempre recorda l’última aparició d’un acord, per la qual cosa és possible repetir l’acord més recent fins i tot si s’han escrit en mig d’altres notes que no estiguin a l’acord, o silencis.

\relative {
  <a' c e>1 c'4 q2 r8 q8 |
  q2 c, |
}

[image of music]

Tanmateix, el símbol de repetició d’acords no reté els matisos dinàmics, les articulacions ni els ornaments que conté o que estan annexats a l’acord anterior.

\relative {
  <a'-. c\prall e>1\sfz c'4 q2 r8 q8 |
  q2 c, |
}

[image of music]

Per poder retenir alguns d’ells, es poden cridar explícitament a la funció \chordRepeats amb un argument addicional que especifiqui una llista de tipus d’esdeveniment a conservar, a no ser que els esdeveniments d’aquest tipus ja estiguin presents al propi acord q.

\relative {
  \chordRepeats #'(articulation-event)
  { <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } |
  q2 c, |
}

[image of music]

Aquí, l’ús de \chordRepeats dins d’una construcció \relative produeix un resultat inesperat: un cop s’han expandit els esdeveniments d’acord, no poden distingir-se dels que es van introduir com acords normals, fent que \relative assigni una octava basada en el context original.

Atès que les instàncies niuades de \relative no s’afecten mútuament, es pot usar una altra ordre \relative dins de \chordRepeats per establir les relacions d’octava abans d’expandir els acords repetits. En aquest cas, tot el contingut de l’ordre \relative interior no afecta a l’exterior; d’aquí l’escriptura diferent d’octava a l’última nota d’aquest exemple.

\relative {
  \chordRepeats #'(articulation-event)
  \relative
  { <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } |
  q2 c'' |
}

[image of music]

Les interaccions amb \relative es produeixen sols amb les crides explícites de \chordRepeats: l’expansió implícita al començament del procés de gravat es fa en un moment en el qual totes les instàncies de \relative ja s’han processat.

Vegeu també

Referència de la notació: Notació d’acords, Articulacions i ornaments.

Fitxers d’inici: ‘ly/chord-repetition-init.ly’.


Expressions simultànies

Una o més expressions musicals envoltades entre angles dobles s’entenen com a simultànies. Si la primera expressió comença amb una sola nota o si tota l’expressió simultània apareix explícitament dins d’una sola veu, l’expressió completa se situa sobre un sol pentagrama; en cas contrari els elements de l’expressió simultània se situen en pentagrames diferents.

Els exemples següents mostren expressions simultànies sobre un sol pentagrama:

\new Voice {  % veu única explícita
  << \relative { a'4 b g2 }
     \relative { d'4 g c,2 } >>
}

[image of music]

\relative {
  % single first note
  a' << \relative { a'4 b g }
       \relative { d'4 g c, } >>
}

[image of music]

Això pot ser d’utilitat si les seccions simultànies tenen duracions idèntiques, però es produiran errors si s’intenten posar notes de diferent duració sobre la mateixa plica. Les notes, articulacions i canvis de propietats que esta dins de un sol context ‘Voice’ es recol·lecten i representen a l’ordre musical:

\relative {
  <a' c>4-.  <>-. << c a >>  << { c-. <c a> } { a s-. } >>
}

[image of music]

Intentar posar més d’una pica o barra de corxera, o diferents duracions o propietats al mateix moment musical, requereix l’ús de més d’una veu.

L’exemple següent mostra com les expressions simultànies poden generar diversos pentagrames de forma implícita:

% no single first note
<< \relative { a'4 b g2 }
   \relative { d'4 g2 c,4 } >>

[image of music]

Aquí no hi ha problema en tenir tenir diferents duracions perquè s’interpreten en veus diferents.

Advertiments i problemes coneguts

Si hi ha notes que procedeixen de dues o més veus, sense especificar cap desplaçament horitzontal, i tenen les pliques en la mateixa direcció, apareix el missatge

Advertiment: aquesta veu requereix un ajust de \voiceXx o \shiftXx

durant la compilació. Aquest missatge es pot suprimir mitjançant

\override NoteColumn.ignore-collision = ##t

Tanmateix, això no sols suprimeix l’advertiment sinó que pot evitar qualsevol resolució de col·lisions i pot tenir altres efectes no desitjats (consulteu també Problemes coneguts a Resolució de les col·lisions).


Clústers

Un «clúster» indica que s’han de tocar simultàniament un conjunt de notes consecutives. S’escriuen aplicant la funció \makeClusters a una seqüència d’acords, per exemple:

\relative \makeClusters { <g' b>2 <c g'> }

[image of music]

Es poden barrejar al mateix pentagrama notes normals i clústers, fins i tot al mateix temps. En aquest cas, no es fa cap intent d’evitar automàticament les col·lisions entre clústers i notes normals.

Vegeu també

Glossari musical: cluster.

Fragments de codi: Simultaneous notes.

Referència de funcionament intern: ClusterSpanner, ClusterSpannerBeacon, Cluster_spanner_engraver.

Advertiments i problemes coneguts

Els clústers sols tenen un bon aspecte quan abasten un mínim de dos acords. En cas contrari apareixeran excessivament prims.

Els clústers no porten plica i per si mateixos no poden indicar les duracions, però la longitud del clúster que s’imprimeix ve determinada per la duració dels acords que el defineixen. Als clústers separats els calen silencis de separació entre ells.

Els clústers no produeixen cap sortida MIDI.


1.5.2 Veus múltiples

Aquesta secció tracta de les notes simultànies en diverses veus o diversos pentagrames.


Polifonia en un sol pentagrama

Instanciar les veus explícitament

L’estructura bàsica necessària per obtenir diverses veus independents a un mateix pentagrama s’il·lustra a l’exemple següent:

\new Staff <<
  \new Voice = "primera"
    \relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d }
  \new Voice= "segona"
    \relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>

[image of music]

Aquí es creen explícitament instàncies de veus, cadascuna de les quals rep un nom. Les instruccions \voiceOne\voiceFour (veu una fins a veu quatre) preparen les veus de manera que la primera i la segona veus porten les pliques cap amunt, les veus segona i quarta porten les pliques cap avall, els caps de les notes en les veus tercera i quarta es desplacen horitzontalment, i els silencis de les veus respectives es desplacen també automàticament per evitar les col·lisions. L’ordre \oneVoice (una veu) retorna tots els ajustaments de les veus a l’estat neutre predeterminat.

Passatges polifònics temporals

Es pot crear un passatge polifònic temporal amb la construcció següent:

<< { \voiceOne … }
  \new Voice { \voiceTwo … }
>> \oneVoice

Aquí, la primera expressió dins d’un passatge polifònic temporal es col·loca al context Voice que estava en ús immediatament abans del passatge polifònic, i aquest mateix context Voice continua després de la secció temporal. Altres expressions dins dels angles s’assignen a diferents veus temporals. Això permet assignar la lletra de forma contínua a una veu abans, durant i després de la secció polifònica:

\relative <<
  \new Voice = "melodia" {
    a'4
    <<
      {
        \voiceOne
        g f
      }
      \new Voice {
        \voiceTwo
        d2
      }
    >>
    \oneVoice
    e4
  }
  \new Lyrics \lyricsto "melodia" {
  This is my song.
  }
>>

[image of music]

Aquí, les instruccions \voiceOne i \voiceTwo calen per definir els ajustaments de cada veu.

La construcció de la doble barra invertida

La construcció << {…} \\ {…} >>, en la qual dues expressions (o més) estan separades per doble barra invertida, es comporta de manera diferent a la construcció semblant sense les doble barres invertides: totes les expressions dins d’aquesta construcció s’assignen a contextos Voice nous. Aquests contextos Voice nous es creen implícitament i reben els noms fixos "1", "2", etc.

El primer exemple podria haver-se escrit de la manera següent:

<<
  \relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d }
  \\
  \relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>

[image of music]

Aquesta sintaxi es pot usar sempre que no ens importi que es creïn noves veus temporals que després seran descartades. Aquestes veus creades implícitament reben ajustos equivalents a l’efecte de les ordres \voiceOne\voiceFour, a l’ordre que apareixen al codi.

Al següent exemple, la veu intermèdia porta les pliques cap amunt, de manera que la introduïm en tercer lloc perquè passi a ser la veu tres, que té les pliques cap amunt tal i com volem. S’usen silencis de separació per evitar l’aparició de silencis duplicats.

<<
  \relative { r8 g'' g  g g f16 ees f8 d }
  \\
  \relative { ees'8 r ees r d r d r }
  \\
  \relative { d''8 s c s bes s a s }
>>

[image of music]

A totes les partitures excepte les més simples, es recomana crear contextos Voice explícits com apareix explicat a Contextos i gravadors i a Veus explícites.

Ordre de les veus

En escriure diverses veus al fitxer d’entrada, useu l’ordre següent:

Veu 1: la més aguda
Veu 2: la més greu
Veu 3: la segona més aguda
Veu 4: la segona més greu
Veu 5: la tercera més aguda
Veu 6: la tercera més greu
etc.

Malgrat que això pot semblar contrari a la intuïció, simplifica el procés de disposició automàtica de les figures. Observeu que les veus de numeració imparell reben pliques cap amunt, i les de numeració parell reben pliques cap avall:

\new Staff <<
  \time 2/4
  { f''2 }  % 1: més alta
  \\
  { c'2  }  % 2: més baixa
  \\
  { d''2 }  % 3: segona més alta
  \\
  { e'2  }  % 4: segona més baixa
  \\
  { b'2  }  % 5: tercera més alta
  \\
  { g'2  }  % 6: tercera més baixa
>>

[image of music]

Nota: No es poden crear lletres ni elements d’extensió (com lligadures, reguladors, etc.) que es creuen d’una veu a una altra.

Duracions idèntiques

Al cas especial en el qual volem gravar fragments de música que s’executa en paral·lel i amb les mateixes duracions, es poden combinar en un sol context de veu, formant d’aquesta manera acords. Per aconseguir-lo, les incorporem dins d’una construcció de música simultània, dins d’una veu creada explícitament.

\new Voice <<
  \relative { e''4 f8 d e16 f g8 d4 }
  \relative { c''4 d8 b c16 d e8 b4 }
>>

[image of music]

Aquest mètode condueix a barrats estranys i advertiments si els fragments de música no tenen les mateixes duracions exactes.

Instruccions predefinides

\voiceOne, \voiceTwo, \voiceThree, \voiceFour, \oneVoice.

Vegeu també

Manual d’aprenentatge: Les veus contenen música, Veus explícites.

Referència de la notació: Pautes de percussió, Silencis invisibles, Pliques.

Fragments de codi: Simultaneous notes.


Estils de veu

Es poden aplicar colors i formes diferents a les veus per permetre identificar-les fàcilment:

<<
  \relative { \voiceOneStyle d''4 c2 b4 }
  \\
  \relative { \voiceTwoStyle e'2 e }
  \\
  \relative { \voiceThreeStyle b2. c4 }
  \\
  \relative { \voiceFourStyle g'2 g }
>>

[image of music]

Per recuperar la presentació normal s’utilitza l’ordre \voiceNeutralStyle.

Instruccions predefinides

\voiceOneStyle, \voiceTwoStyle, \voiceThreeStyle, \voiceFourStyle, \voiceNeutralStyle.

Vegeu també

Manual d’aprenentatge Sento veus, Altres fonts d'informació

Fragments de codi: Simultaneous notes.


Resolució de les col·lisions

Els caps de notes que estan a diferents veus i tenen la mateixa alçada, la mateixa forma de cap, i direcció oposada a la plica, es combinen automàticament, però els que tenen caps diferents o la mateixa direcció de plica no es combinen. Els silencis que es troben al costat oposat d’una plica a una altra veu es desplacen verticalment. L’exemple següent mostra tres circumstàncies diferents, sobre la pulsació 1 i 3 al primer compàs i sobre la pulsació 1 del segon compàs, on la combinació automàtica falla.

<<
  \relative {
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

Els caps de notes diferents es poden com binar com es mostra més a sota. A aquest exemple els caps de la pulsació 1 del primer compàs sí que es combinen:

<<
  \relative {
    \mergeDifferentlyHeadedOn
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

Les figures negres i blanques no es combinen d’aquesta manera, atès que fora difícil distingir-les.

També es poden combinar caps amb puntets diferents, com es mostra a la tercera pulsació del primer compàs:

<<
  \relative {
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

La blanca i la corxera al començament del segon compàs no estan correctament combinades perquè la combinació automàtica no és capaç de completar-se satisfactòriament quan es troben tres o més notes alineades a la mateixa columna de notes, i en aquest cas el cap combinat és incorrecte. Per aconseguir que la combinació seleccioni el cap correcte, s’ha d’aplicar un \shift o desplaçament a la nota que no es pot combinar. Aquí s’aplica \shiftOn per moure el sol agut fora de la columna, i aleshores \mergeDifferentlyHeadedOn fa el seu treball correctament.

<<
  \relative {
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    c''8 d e d c d c4
    \shiftOn
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

L’ordre \shiftOn permet (tot i que obliga a) que les notes d’una veu es puguin desplaçar. Quan \shiftOn s’aplica a una veu, una nota o acord d’aquesta veu es desplaça solament si la seva plica xoqués en cas contrari amb una plica d’una altra veu, i sols si les pliques que xoquen apunten cap a la mateixa direcció. L’ordre \shiftOff evita la possibilitat d’aquest tipus de desplaçament.

De forma predeterminada, les veus externes (normalment les veus u i dos) tenen \shiftOff especificat (desplaçament desactivat), mentre que les veus interiors (tres i següents) tenen especificat \shiftOn (desplaçament activat). Quan s’aplica un desplaçament, les veus amb pliques cap amunt (veus de numeració imparell) es desplacen cap a la dreta, i les veus amb les pliques cap avall (veus amb numeració parell) es desplacen cap a l’esquerra.

Aquí es pot veure un exemple que us ajudarà a visualitzar la forma en la qual s’expandirà internament una expressió polifònica.

Nota: Observeu que amb tres o més veus, l’ordre vertical de les veus dins del seu fitxer d’entrada no seria el mateix que l’ordre vertical de les veus al pentagrama.

\new Staff \relative {
  %% abbreviated entry
  <<
    { f''2  }  % 1: highest
    \\
    { g,2 }  % 2: lowest
    \\
    { d'2 }  % 3: upper middle
    \\
    { b2  }  % 4: lower middle
  >>
  %% internal expansion of the above
  <<
    \new Voice = "1" { \voiceOne   \shiftOff f'2 }
    \new Voice = "2" { \voiceTwo   \shiftOff g,2 }
    \new Voice = "3" { \voiceThree \shiftOn  d'2 } % shifts right
    \new Voice = "4" { \voiceFour  \shiftOn  b2  } % shifts left
  >>
}

[image of music]

Dues ordres addicionals, \shiftOnn i \shiftOnnn, ofereixen nivells de desplaçament majors que es poden especificar temporalment per resoldre col·lisions en situacions complexes; vegeu Exemple real de música.

Sols es combinen les notes si tenen les pliques en direccions oposades (com la tenen, per exemple, a les veus u i dos de forma predeterminada o quan les pliques s’estableixen explícitament en direccions oposades).

Instruccions predefinides

\mergeDifferentlyDottedOn, \mergeDifferentlyDottedOff, \mergeDifferentlyHeadedOn, \mergeDifferentlyHeadedOff.

\shiftOn, \shiftOnn, \shiftOnnn, \shiftOff.

Fragments de codi seleccionats

Additional voices to avoid collisions

In some instances of complex polyphonic music, additional voices are necessary to prevent collisions between notes. If more than four parallel voices are needed, additional voices can be added by defining a variable using the Scheme function context-spec-music.

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

\relative c'' {
  \time 3/4
  \key d \minor
  \partial 2
  <<
    \new Voice  {
      \voiceOne
      a4. a8
      e'4 e4. e8
      f4 d4. c8
    }
    \new Voice {
      \voiceTwo
      d,2
      d4 cis2
      d4 bes2
    }
    \new Voice {
      \voiceThree
      f'2
      bes4 a2
      a4 s2
    }
    \new Voice {
      \voiceFive
      s2
      g4 g2
      f4 f2
    }
  >>
}

[image of music]

Forcing horizontal shift of notes

When the typesetting engine cannot cope, the following syntax can be used to override typesetting decisions. The units of measure used here are staff spaces.

\relative c' <<
  {
    <d g>2 <d g>
  }
  \\
  {
    <b f'>2
    \once \override NoteColumn.force-hshift = #1.7
    <b f'>2
  }
>>

[image of music]

Vegeu també

Glossari musical: polyphony.

Manual d’aprenentatge: Diverses notes a l'hora, Les veus contenen música. Exemple real de música.

Fragments de codi: Simultaneous notes.

Referència de funcionament intern: NoteColumn, NoteCollision, RestCollision.

Advertiments i problemes coneguts

L’ús de \override NoteColumn.ignore-collision = ##t fa que les notes de cap diferent a veus diferents es barregin incorrectament.

\mergeDifferentlyHeadedOn
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>
\override NoteColumn.ignore-collision = ##t
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>

[image of music]


Combinació automàtica de les parts

La combinació automàtica de particel·les s’usa per barrejar dues parts musicals diferents sobre un pentagrama. Això pot ser de gran ajuda especialment en gravar partitures orquestrals. S’imprimeix una sola veu quan la música de les dues veus és la mateixa, però en aquells llocs on difereixen, s’imprimeix una segona veu. Les direccions de les pliques s’estableixen cap amunt o cap avall segons procedeixi, a l’hora que s’identifiquen i queden marcades les parts de solista i de duo.

La sintaxi per a la combinació automàtica de les parts és:

\partcombine expressió_musical_1 expressió_musical_2

L’exemple següent exemplifica la funcionalitat bàsica, posant les parts en un sol pentagrama en forma polifònica, i establint les direccions de les pliques de forma adequada. S’utilitzen les mateixes variables per a les parts independents i el pentagrama combinat.

instrumentOne = \relative {
  c'4 d e f |
  R1 |
  d'4 c b a |
  b4 g2 f4 |
  e1 |
}

instrumentTwo = \relative {
  R1 |
  g'4 a b c |
  d4 c b a |
  g4 f( e) d |
  e1 |
}

<<
  \new Staff \instrumentOne
  \new Staff \instrumentTwo
  \new Staff \partcombine \instrumentOne \instrumentTwo
>>

[image of music]

Les dues parts tenen notes idèntiques al tercer compàs, per la qual cosa apareixen sols un cop. Les direccions de les pliques i lligadures s’estableixen de forma automàtica, segons es tracti d’un sol o d’un uníson. Quan cal en situacions de polifonia, la primera part (que rep el nom de context one) rep les pliques cap amunt, mentre que la segona part (anomenada two) sempre rep les pliques cap avall. Als fragments de solo, les parts es marquen amb “Solo” i “Solo II”, respectivament. Les parts en uníson (a due) es marquen amb el text “a2”.

De forma predeterminada, el combinador de parts barreja dues notes de la mateixa alçada com una nota a due, combina les notes que tinguin la mateixa duració i estiguin a menys d’una novena distància com acords, i disposa en veus separades les notes que estiguin a més d’una novena de distància (o quan hi ha creuament de veus). Aquest comportament es pot sobreescriure amb un argument opcional que consisteix en una parella de números després de l’ordre \partcombine: el primer especifica l’interval on les notes comencen a estar combinades (el valor predeterminat és zero) i el segon on les notes es divideixen en veus distintes. L’ajust del segon argument al valor zero significa que el combinador de parts separa les notes que estiguin dins d’un interval de segona o més, establir-lo al valor u separa les notes d’una tercera o més, i així successivament.

instrumentOne = \relative {
  a4 b c d |
  e f g a |
  b c d e |
}

instrumentTwo = \relative {
  c'4 c c c |
  c c c c |
  c c c c |
}

<<
  \new Staff \partcombine \instrumentOne \instrumentTwo
  \new Staff \partcombine #'(2 . 3) \instrumentOne \instrumentTwo
>>

[image of music]

Els dos arguments de \partcombine s’interpreten com contextos de Voice separats, per la qual cosa si la música està escrita en mode relatiu, aleshores las dues parts han d’incloure la funció \relative, és a dir:

\partcombine
  \relative … expresión_musical_1
  \relative … expresión_musical_2

Una secció \relative que es troba fora de \partcombine no té cap efecte sobre les notes de expresión_musical_1 i expresión_musical_2.

A les partitures professionals, sovint les veus es mantenen separades entre sí durant passatges llargs fins i tot si algunes notes coincideixen entre ambdues, i podrien escriure’s fàcilment com un uníson. Per això, la combinació de les notes en un acord, o la visualització d’una veu com un solo, no són solucions ideals perquè la funció \partcombine considera cada nota de forma individual. En aquest cas, el resultat de la funció \partcombine es pot alterar o corregir amb una de les ordres següents. Totes les ordres es poden antecedir per \once perquè s’apliquin sols a la nota següent dins de l’expressió musical.

instrumentOne = \relative c' {
  \partcombineApart c2^"apart" e |
  \partcombineAutomatic e2^"auto" e |
  \partcombineChords e'2^"chord" e |
  \partcombineAutomatic c2^"auto" c |
  \partcombineApart c2^"apart" \once \partcombineChords e^"chord once" |
  c2 c |
}
instrumentTwo = \relative {
  c'2 c |
  e2 e |
  a,2 c |
  c2 c' |
  c2 c |
  c2 c |
}

<<
  \new Staff { \instrumentOne }
  \new Staff { \instrumentTwo }
  \new Staff { \partcombine \instrumentOne \instrumentTwo }
>>

[image of music]

Ús de \partcombine amb lletra

L’ordre \partcombine no està dissenyada per funcionar amb la lletra de les cançons; si una de les veus rep un nom explícit per poder adjuntar una lletra, el combinador de parts no funciona. Tanmateix, es pot aconseguir aquest efecte usant un context NullVoice. Vegeu Polifonia amb lletres compartides.

Fragments de codi seleccionats

Combining two parts on the same staff

The part combiner tool ( \partcombine command ) allows the combination of several different parts on the same staff. Text directions such as “solo” or “a2” are added by default; to remove them, simply set the property printPartCombineTexts to f. For vocal scores (hymns), there is no need to add “solo/a2” texts, so they should be switched off. However, it might be better not to use it if there are any solos, as they won’t be indicated. In such cases, standard polyphonic notation may be preferable.

This snippet presents the three ways two parts can be printed on a same staff: standard polyphony, \partcombine without texts, and \partcombine with texts.

musicDown = \relative c'' {
  g4 e4.( d8) c4 |
  r2 g'4( f8 e) |
  d2 \stemDown a
}

\score {
    <<
    \new Staff \with { instrumentName = #"Standard polyphony" }

      << \musicUp \\ \musicDown >>

    \new Staff \with {
      instrumentName = #"PartCombine without text"
      printPartCombineTexts = ##f
    }

    \partcombine \musicUp \musicDown

    \new Staff \with { instrumentName = #"PartCombine with text" }
      \partcombine \musicUp \musicDown
    >>
  \layout {
    indent = 6.0\cm
    \context {
      \Score
      \override SystemStartBar.collapse-height = #30
    }
  }
}

[image of music]

Changing partcombine texts

When using the automatic part combining feature, the printed text for the solo and unison sections may be changed:

\new Staff <<
  \set Staff.soloText = #"girl"
  \set Staff.soloIIText = #"boy"
  \set Staff.aDueText = #"together"
  \partcombine
    \relative c'' {
      g4 g r r
      a2 g
    }
    \relative c'' {
      r4 r a( b)
      a2 g
    }
>>

[image of music]

Vegeu també

Glossari musical: a due, part.

Referència de la notació: Escriptura de les particel·les.

Fragments de codi: Simultaneous notes.

Referència de funcionament intern: PartCombineMusic, Voice.

Advertiments i problemes coneguts

Totes les funcions \partcombine… admeten exclusivament dues veus.

Les funcions \partcombine… no es poden escriure dins dels blocs \tuplet ni \relative.

Si printPartCombineTexts està establert i les dues veus executen i acaben les mateixes notes al mateix compàs, el combinador de parts pot gravar a2 més d’un cop en aquest compàs.

\partcombine sols té en compte el moment d’inici de les notes dins d’una veu Voice; per exemple, no pot recordar si una nota dins d’una veu ja ha començat quan les notes que es combinen s’han iniciat just ara a l’altra veu. Això pot conduir a cert nombre de problemes inesperats entre els que s’inclou la impressió incorrecta de marques de “Solo” o de “Unison”.

\partcombine conserva tots els elements extensos (lligadures, reguladors, etc.) dins del mateix context Voice de forma que si qualsevol d’aquests elements extensos inicia o acaba a un context Voice diferent, pot no imprimir-se o fer-lo incorrectament.

Si la funció \partcombine no pot combinar les dues expressions musicals (és a dir, quan les dues veus tenen duracions diferents), atorgarà internament els seus propis noms a les veus: one i two respectivament. Això significa que si es produeix un canvi a un context Voice que tingui un nom diferent, s’ignoraran els esdeveniments dins del context Voice que té el nom diferent.

Consulteu també l’apartat Advertiments i problemes coneguts a la sessió Tabulatures predeterminades en utilitzar\partcombine amb tabulatures, i la Nota de Barres automàtiques en utilitzar el barrat automàtic.


Escriptura de música en paral·lel

La música per diverses parts es pot intercalar dins del codi d’entrada. La funció \parallelMusic admet una llista que conté els noms de les variables que es crearan, i una expressió musical. El contingut dels compassos alternatius estrets de l’expressió es converteixen en el valor de les variables respectives, de manera que podem utilitzar-les més tard per imprimir la música.

Nota: És obligatori utilitzar comprovacions de compàs |, y els compassos han de tenir la mateixa longitud.

\parallelMusic #'(voiceA voiceB voiceC) {
  % Bar 1
  r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
  r16 e'8.~   4              r16 e'8.~   4              |
  c'2                        c'2                        |

  % Bar 2
  r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
  r16 d'8.~   4              r16 d'8.~   4              |
  c'2                        c'2                        |

}
\new StaffGroup <<
  \new Staff << \voiceA \\ \voiceB >>
  \new Staff { \clef bass \voiceC }
>>

[image of music]

Es pot fer servir el mode relatiu. Observeu que l’ordre \relative no s’utilitza dins del propi bloc \parallelMusic. Les notes mantenen la relació amb la nota anterior de la mateixa veu, no amb la nota anterior dins del codi d’entrada (dit d’una altra manera, les notes relatives de voiceA ignoren les notes que hi ha a voiceB.

\parallelMusic #'(voiceA voiceB voiceC) {
  % Bar 1
  r8 g16 c e g, c e r8 g,16 c e g, c e  |
  r16 e8.~ 4        r16 e8.~  4         |
  c2                c                   |

  % Bar 2
  r8 a,16 d f a, d f r8 a,16 d f a, d f |
  r16 d8.~  4        r16 d8.~  4        |
  c2                 c                  |

 }
\new StaffGroup <<
  \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
  \new Staff \relative c' { \clef bass \voiceC }
>>

[image of music]

Això funciona acceptablement bé per a música de piano. L’exemple següent assigna cada quatre compassos consecutius a quatre variables:

global = {
  \key g \major
  \time 2/4
}

\parallelMusic #'(voiceA voiceB voiceC voiceD) {
  % Compàs 1
  a8    b     c   d     |
  d4          e         |
  c16 d e fis d e fis g |
  a4          a         |

  % Compàs 2
  e8      fis  g     a   |
  fis4         g         |
  e16 fis g  a fis g a b |
  a4           a         |

  % Compàs 3 ...
}

\score {
  \new PianoStaff <<
     \new Staff {
       \global
       <<
         \relative c'' \voiceA
         \\
         \relative c'  \voiceB
       >>
     }
     \new Staff {
       \global \clef bass
       <<
         \relative c \voiceC
         \\
         \relative c \voiceD
       >>
     }
  >>
}

[image of music]

Vegeu també

Manual d’aprenentatge: Organitzar les peces mitjançant variables

Fragments de codi: Simultaneous notes.


1.6 Notació dels pentagrames

[image of music]

Aquesta secció explica com infliur sobre l’aparença dels pentagrames, com imprimir partitures amb més d’un pentagrama i com afegir indicacions de temps i notes guia als pentagrames.


1.6.1 Visualització dels pentagrames

Aquesta secció descriu els diferents mètodes de creació de pentagrames i grups de pentagrames.


Creació d’instàncies de pentagrames nous

Les pautes i els pentagrames o pautes de cinc línies es creen amb les ordres \new o \context. Per veure més detalls, consulteu Creació i referència de contextos.

El context bàsic de pentagrama és Staff:

\new Staff \relative { c''4 d e f }

[image of music]

El context DrumStaff crea una pauta de cinc línies preparada per a un conjunt de bateria típic. Cada instrument es presenta amb un símbol diferent. Els instruments s’escriuen en el mode de percussió que segueix a una ordre \drummode, amb cada instrument identificat per un nom. Per veure més detalls, consulteu Pautes de percussió.

\new DrumStaff {
  \drummode { cymc hh ss tomh }
}

[image of music]

RhythmicStaff crea una pauta d’una sola línia que sols mostra les duracions de l’entrada. Es preserven les duracions reals. Per veure més detalls, consulteu Mostrar els ritmes de la melodia.

\new RhythmicStaff { c4 d e f }

[image of music]

TabStaff crea una tabulatura amb sis cordes en l’afinació estàndard de la guitarra. Per veure més detalls, consulteu Tabulatures predeterminades.

\new TabStaff \relative { c''4 d e f }

[image of music]

Hi ha dos contextos de pauta específics per a la notació de música antiga: MensuralStaff i VaticanaStaff. es descriuen a Contextos predefinits.

GregorianTranscriptionStaff crea una pauta per a la notació moderna de cant gregorià. No mostra línies divisòries.

\new GregorianTranscriptionStaff \relative { c''4 d e f e d }

[image of music]

Es poden definir contextos nous de pentagrama únic. Per veure més detalls, consulteu Definició de nous contextos.

Vegeu també

Glossari musical: staff, staves.

Referència de la notació: Creació i referència de contextos, Pautes de percussió, Mostrar els ritmes de la melodia, Tabulatures predeterminades, Contextos predefinits, El símbol del pentagrama, Contextos del cant gregorià, Contextos de la música mensural, Definició de nous contextos.

Fragments de codi: Staff notation.

Referència de funcionament intern: Staff, DrumStaff, GregorianTranscriptionStaff, RhythmicStaff, TabStaff, MensuralStaff, VaticanaStaff, StaffSymbol.


Agrupament de pentagrames

Hi ha diversos contextos per agrupar pentagrames individuals formant sistemes. Cada context d’agrupament estableix l’estil del delimitador de començament del sistema i el comportament de les barres de compàs.

Si no s’especifica cap context, s’usen les propietats predeterminades: el grup comença amb una línia vertical i les barres de compàs no estan connectades.

<<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>

[image of music]

Al context StaffGroup, el grup s’inicia amb una clau i les barres de compàs es dibuixen travessant tots els pentagrames.

\new StaffGroup <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>

[image of music]

A un ChoirStaff (sistema de cor), el grup s’inicia amb una clau, però les barres de compàs no estan connectades.

\new ChoirStaff <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>

[image of music]

A un GrandStaff (sistema de piano), el grup s’inicia amb una clau i les barres de compàs es connecten entre els pentagrames.

\new GrandStaff <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>

[image of music]

El PianoStaff (sistema de piano) es idèntic a GrandStaff, excepte que contempla directament la impressió del nom de l’instrument. Per veure més detalls, consulteu Noms d’instruments.

\new PianoStaff <<
  \set PianoStaff.instrumentName = #"Piano"
  \new Staff \relative { c''1 c }
  \new Staff \relative { \clef bass c1 c }
>>

[image of music]

Cada context de grup de pentagrames fixa la propietat del delimitador d’inici systemStartDelimiter a un dels valors següents: SystemStartBar (línia), SystemStartBrace (clau) o SystemStartBracket (claudàtor). També està disponible un quart delimitador, SystemStartSquare (clau amb angles rectes), però s’ha d’especificar explícitament.

Es poden definir contextos nous de grup de pentagrames. Per veure més detalls, consulteu Definició de nous contextos.

Fragments de codi seleccionats

Use square bracket at the start of a staff group

The system start delimiter SystemStartSquare can be used by setting it explicitly in a StaffGroup or ChoirStaff context.

\score {
  \new StaffGroup { <<
  \set StaffGroup.systemStartDelimiter = #'SystemStartSquare
    \new Staff { c'4 d' e' f' }
    \new Staff { c'4 d' e' f' }
  >> }
}

[image of music]

Display bracket with only one staff in a system

If there is only one staff in one of the staff types ChoirStaff or StaffGroup, by default the bracket and the starting bar line will not be displayed. This can be changed by overriding collapse-height to set its value to be less than the number of staff lines in the staff.

Note that in contexts such as PianoStaff and GrandStaff where the systems begin with a brace instead of a bracket, another property has to be set, as shown on the second system in the example.

\score {
  \new StaffGroup <<
    % Must be lower than the actual number of staff lines
    \override StaffGroup.SystemStartBracket.collapse-height = #4
    \override Score.SystemStartBar.collapse-height = #4
    \new Staff {
      c'1
    }
  >>
}
\score {
  \new PianoStaff <<
    \override PianoStaff.SystemStartBrace.collapse-height = #4
    \override Score.SystemStartBar.collapse-height = #4
    \new Staff {
      c'1
    }
  >>
}

[image of music]

Mensurstriche layout (bar lines between the staves)

The mensurstriche-layout where the bar lines do not show on the staves but between staves can be achieved with a StaffGroup instead of a ChoirStaff. The bar line on staves is blanked out using \hide.

global = {
  \hide Staff.BarLine
  s1 s
  % the final bar line is not interrupted
  \undo \hide Staff.BarLine
  \bar "|."
}

\new StaffGroup \relative c'' {
  <<
    \new Staff { << \global { c1 c } >> }
    \new Staff { << \global { c c } >> }
  >>
}

[image of music]

Vegeu també

Glossari musical: brace, bracket, grand staff.

Referència de la notació: Noms d’instruments, Definició de nous contextos.

Fragments de codi: Staff notation.

Referència de funcionament intern: Staff, StaffGroup, ChoirStaff, GrandStaff, PianoStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.


Grups de pentagrames niuats

Els contextos de grups de pentagrames es poden niuar fins a una profunditat arbitrària. En aquest cas, cada contest descendent crea una clau nova adjacent a la clau del seu grup pare.

\new StaffGroup <<
  \new Staff \relative { c''2 c | c2 c }
  \new StaffGroup <<
    \new Staff \relative { g'2 g | g2 g }
    \new StaffGroup \with {
      systemStartDelimiter = #'SystemStartSquare
    }
    <<
      \new Staff \relative { e'2 e | e2 e }
      \new Staff \relative { c'2 c | c2 c }
    >>
  >>
>>

[image of music]

Es poden definir nous contextos de grups de pentagrames niuats. Per veure més detalls, consulteu Definició de nous contextos.

Fragments de codi seleccionats

Nesting staves

The property systemStartDelimiterHierarchy can be used to make more complex nested staff groups. The command \set StaffGroup.systemStartDelimiterHierarchy takes an alphabetical list of the number of staves produced. Before each staff a system start delimiter can be given. It has to be enclosed in brackets and takes as much staves as the brackets enclose. Elements in the list can be omitted, but the first bracket takes always the complete number of staves. The possibilities are SystemStartBar, SystemStartBracket, SystemStartBrace, and SystemStartSquare.

\new StaffGroup
\relative c'' <<
  \set StaffGroup.systemStartDelimiterHierarchy
    = #'(SystemStartSquare (SystemStartBrace (SystemStartBracket a
                             (SystemStartSquare b)  ) c ) d)
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
>>

[image of music]

Vegeu també

Referència de la notació: Agrupament de pentagrames, Noms d’instruments, Definició de nous contextos.

Fragmentos de código: Staff notation.

Referència de funcionament intern: StaffGroup, ChoirStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.


Separació de sistemes

Si el nombre de sistemes per pàgina varia d’una pàgina a una altra, s’acostuma a separar els sistemes col·locant una marca separadora entre ells. De forma predeterminada, el separador de sistemes està inhabilitat, però es pot activar amb una opció de \paper.

\book {
  \score {
    \new StaffGroup <<
      \new Staff {
        \relative {
          c''4 c c c
          \break
          c4 c c c
        }
      }
      \new Staff {
        \relative {
          c''4 c c c
          \break
          c4 c c c
        }
      }
    >>
  }
  \paper {
    system-separator-markup = \slashSeparator
    % les ordres següents sols calen per al format d'aquesta documentació
    paper-width = 100\mm
    paper-height = 100\mm
    tagline = ##f
  }
}

[image of music]

Vegeu també

Referència de la notació: Disposició de la pàgina.

Fragments de codi: Staff notation.


1.6.2 Modificació de pentagrames separats

Aquesta secció explica com canviar els atributs específics d’un pentagrama: per exemple, canviar el nombre de línies o la mida de la pauta. També es descriuen els mètodes per començar i acabar els pentagrames, i establir seccions d’ossia.


El símbol del pentagrama

Es poden usar les ordres \stopStaff i \startStaff per aturar i (re)iniciar, respectivament, la impressió de les línies de la pauta a qualsevol punt de la partitura.

\relative {
  \stopStaff f''4 d \startStaff g, e
  f'4 d \stopStaff g, e
  f'4 d \startStaff g, e
}

[image of music]

Instruccions predefinides

\startStaff, \stopStaff.

Les línies de la pauta pertanyen al grob StaffSymbol (incloses les línies addicionals) i es poden modificar usant es propietats de StaffSymbol, però aquestes modificacions s’han de fer abans que el pentagrama es (re)iniciï.

Es pot canviar el nombre línies de la pauta:

\relative {
  f''4 d \stopStaff
  \override Staff.StaffSymbol.line-count = #2
  \startStaff g, e |

  f'4 d \stopStaff
  \revert Staff.StaffSymbol.line-count
  \startStaff g, e |
}

[image of music]

La posició de cada una de les línies de la pauta també poden canviar-se. Una llista de números fixa la posició de cada línia. 0 correspon a la línia central normal, i les posicions normals de les línies són (-4 -2 0 2 4). S’imprimeix una sola línia de pauta per cada valor que s’introdueix, de manera que el nombre de línies així com la seva posició a la pauta poden canviar-se amb una sola operació de sobreescriptura.

\relative {
  f''4 d \stopStaff
  \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3)
  \startStaff g, e |
  f'4 d \stopStaff
  \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5)
  \startStaff g, e |
}

[image of music]

Per preservar les direccions típiques de les pliques (cap amunt per a la meitat inferior del pentagrama i cap avall per a la meitat superior), ham d’alinear la línia (o espai) central de la pauta personalitzada amb la posició de la línia central normal (0). Pot caldre un ajust de la posició de la clau i del Do central perquè es corresponguin a les línies noves. Vegeu Clau.

Pot canviar-se el gruix de les línies de la pauta. També resulten afectades, de forma predeterminada, les línies addicionals i no la plica de les figures.

\new Staff \with {
  \override StaffSymbol.thickness = #3
} \relative {
  f''4 d g, e
}

[image of music]

També és possible fixar el gruix de les línies addicionals de forma independent del de les línies de la pauta.

\new Staff \with {
  \override StaffSymbol.thickness = #2
  \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4)
} \relative {
  f'''4 a, a,, f
}

[image of music]

El primer valor es multiplica pel gruix de les línies del pentagrama, el segon per l’amplada d’un espai del pentagrama, i després els dos valors se sumen per obtenir el gruix de les línies addicionals.

Es poden alterar les posicions de les línies addicionals:

\new Staff \with {
  \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6)
} \relative {
  f'''4 a, a,, f
}

[image of music]

Pot aconseguir-se que les línies addicionals afegides apareguin per sobre o per sota del cap de les figures, depenent de la posició actual relativa a d’altres caps de figura que tenen també les seves pròpies línies addicionals.

\new Staff \with {
  \override StaffSymbol.ledger-extra = #4
} \relative {
  f'''4 a, d, f,
}

[image of music]

També es pot fer que les línies addicionals apareguin dins del pentagrama al lloc on es requereixin línies de pauta personalitzades. L’exemple mostra la posició predeterminada de les línies addicionals quan el valor de posició explícit ledger-position se ha fixat o no. L’ordre \stopStaff cal a l’exemple per revertir l’ordre de sobreescriptura \override per a tot el StaffSymbol (el símbol de pauta).

\relative d' {
  \override Staff.StaffSymbol.line-positions = #'(-8 0 2 4)
  d4 e f g
  \stopStaff
  \startStaff
  \override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0)
  d4 e f g
}

[image of music]

Pot alterar-se la distància entre línies de pauta. Això afecta també l’espaiat de les línies addicionals.

\new Staff \with {
  \override StaffSymbol.staff-space = #1.5
} \relative {
  f'''4 d, g, e,
}

[image of music]

Fragments de codi seleccionats

Making some staff lines thicker than the others

For educational purposes, a staff line can be thickened (e.g., the middle line, or to emphasize the line of the G clef). This can be achieved by adding extra lines very close to the line that should be emphasized, using the line-positions property of the StaffSymbol object.

{
  \override Staff.StaffSymbol.line-positions =
    #'(-4 -2 -0.2 0 0.2 2 4)
  d'4 e' f' g'
}

[image of music]

Vegeu també

Glossari musical: line, ledger line, staff.

Referència de la notació: Clau.

Fragments de codi: Staff notation.

Referència de funcionament intern: StaffSymbol, staff-symbol-interface.


Pentagrames d’Ossia

Els pentagrames Ossia es poden preparar mitjançant la creació d’un pentagrama simultani nou a la posició adequada:

\new Staff \relative {
  c''4 b d c
  <<
    { c4 b d c }
    \new Staff { e4 d f e }
  >>
  c4 b c2
}

[image of music]

Tanmateix, l’exemple anterior no es el que normalment es desitja. Per crear pentagrames d’ossia que estiguin per sobre el pentagrama original, que no tinguin ni compàs ni clau, i que tinguin una mida menor de tipus de lletra, es poden fer servir diversos ajustaments. El Manual d’Aprenentatge descriu una tècnica específica per assolir aquest objectiu, començant per Niuat d'expressions musicals.

L’exemple següent fa servir la propietat alignAboveContext per alinear el pentagrama d’ossia. Aquest mètode és molt convenient quan calen sols alguns pentagrames d’ossia.

\new Staff = "main" \relative {
  c''4 b d c
  <<
    { c4 b d c }

    \new Staff \with {
      \remove "Time_signature_engraver"
      alignAboveContext = #"main"
      \magnifyStaff #2/3
      firstClef = ##f
    }
    { e4 d f e }
  >>
  c4 b c2
}

[image of music]

Si es requereixen molts pentagrames d’ossia aïllats, pot ser més convenient la creació d’un context Staff buit amb un identificador de context específic; després es poden crear els pentagrames d’ossia cridant a aquest context i usant \startStaff i \stopStaff als punts desitjats. Els avantatges d’aquest mètode són més patents si la peça és més llarga com a l’exemple següent.

<<
  \new Staff = "ossia" \with {
    \remove "Time_signature_engraver"
    \hide Clef
    \magnifyStaff #2/3
  }
  { \stopStaff s1*6 }

  \new Staff \relative {
    c'4 b c2
    <<
      { e4 f e2 }
      \context Staff = "ossia" {
        \startStaff e4 g8 f e2 \stopStaff
      }
    >>
    g4 a g2 \break
    c4 b c2
    <<
      { g4 a g2 }
      \context Staff = "ossia" {
        \startStaff g4 e8 f g2 \stopStaff
      }
    >>
    e4 d c2
  }
>>

[image of music]

Com a alternativa, es pot usar l’ordre \RemoveAllEmptyStaves per crear pentagrames d’ossia. Aquest mètode és molt convenient quan els pentagrames d’ossia apareixen immediatament després d’un salt de línia. Per veure més informació sobre \RemoveAllEmptyStaves, consulteu Ocultament de pentagrames.

<<
  \new Staff = "ossia" \with {
    \remove "Time_signature_engraver"
    \hide Clef
    \magnifyStaff #2/3
    \RemoveAllEmptyStaves
  } \relative {
    R1*3
    c''4 e8 d c2
  }
  \new Staff \relative {
    c'4 b c2
    e4 f e2
    g4 a g2 \break
    c4 b c2
    g4 a g2
    e4 d c2
  }
>>

[image of music]

Fragments de codi seleccionats

Vertically aligning ossias and lyrics

This snippet demonstrates the use of the context properties alignBelowContext and alignAboveContext to control the positioning of lyrics and ossias.

\paper {
  ragged-right = ##t
}

\relative c' <<
  \new Staff = "1" { c4 c s2 }
  \new Staff = "2" { c4 c s2 }
  \new Staff = "3" { c4 c s2 }
  { \skip 2
    <<
      \lyrics {
        \set alignBelowContext = #"1"
        lyrics4 below
      }
      \new Staff \with {
        alignAboveContext = #"3"
        fontSize = #-2
        \override StaffSymbol.staff-space = #(magstep -2)
        \remove "Time_signature_engraver"
      } {
        \tuplet 6/4 {
          \override TextScript.padding = #3
          c8[^"ossia above" d e d e f]
        }
      }
    >>
  }
>>

[image of music]

Vegeu també

Glossari musical: ossia, staff, Frenched staff.

Manual d’aprenentatge: Niuat d'expressions musicals, Mida dels objectes, Longitud i gruix dels objectes.

Referència de la notació: Ocultament de pentagrames.

Fragments de codi: Staff notation.

Referència de funcionament intern: StaffSymbol.


Ocultament de pentagrames

Es poden ocultar les línies del pentagrama traient el gravador Staff_symbol_engraver del context de Staff. Com a alternativa es pot utilitzar l’ordre \stopStaff.

\new Staff \with {
  \remove "Staff_symbol_engraver"
}
\relative { a''8 f e16 d c b a2 }

[image of music]

Es poden ocultar els pentagrames buits (per fer el que es coneix com a ‘partitura a la francesa’) aplicant l’ordre \RemoveEmptyStaves sobre un context, cosa que es pot fer globalment (dins del bloc \layout) així com per a pautes específiques sols (dins d’un bloc \with). Aquest ordre elimina totes les pautes buides de la partitura excepte les del primer sistema. Si volem ocultar també les del primer sistema, usem \RemoveAllEmptyStaves. Els contextos que estan contemplats són Staff, RhythmicStaff i VaticanaStaff.

Nota: Un pentagrama es considera buit quan conté sols silencis, silencis multicompàs, desplaçaments, silencis de separació o una combinació d’aquests elements.

\layout {
  \context {
    \Staff
    \RemoveEmptyStaves
  }
}

\relative <<
  \new Staff {
    e'4 f g a \break
    b1 \break
    a4 b c2
  }
  \new Staff {
    c,4 d e f \break
    R1 \break
    f4 g c,2
  }
>>

[image of music]

També es pot fer ser servir \RemoveAllEmptyStaves per crear seccions d’ossia per a un pentagrama. Per veure més detalls, consulteu Pentagrames d’Ossia.

Instruccions predefinides

\RemoveEmptyStaves, \RemoveAllEmptyStaves.

Vegeu també

Glossari musical: Frenched staff.

Manual d’aprenentatge: Visibilitat i color dels objectes.

Referència de la notació: Canvi dels valores per defecte dels contextos, El símbol del pentagrama, Pentagrames d’Ossia, Notes ocultes, Silencis invisibles, Visibilitat dels objectes.

Fragments de codi: Staff notation.

Referència de funcionament intern: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_engraver.

Advertiments i problemes coneguts

L’eliminació del gravador Staff_symbol_engraver també oculta les barres de compàs. Si es força la visibilitat de la barra de compàs, poden ocórrer errors de format visual. En aquest cas, utilitzeu les següents sobreescriptures de valors en comptes de treure el gravador:

\omit StaffSymbol
\override NoteHead.no-ledgers = ##t

Per veure els errors i problemes coneguts, així com els advertiments associats amb \RemoveEmptyStaves, consulteu Canvi dels valores per defecte dels contextos.


1.6.3 Escriptura de les particel·les

Aquesta secció explica com inserir indicacions de temps i noms d’instruments a una partitura. També es descriuen mètodes per citar altres veus i donar format a les notes guia.


Noms d’instruments

Es poden imprimir els noms dels instruments al costat esquerre dels pentagrames dins dels contextos Staff, PianoStaff, StaffGroup, GrandStaff i ChoirStaff. El valor de instrumentName s’usa per al primer pentagrama, i el valor de shortInstrumentName s’usa per a tots los pentagrames següents..

\new Staff \with {
  instrumentName = #"Violin "
  shortInstrumentName = #"Vln. "
} \relative {
  c'4.. g'16 c4.. g'16 \break | c1 |
}

[image of music]

També podem fer servir \markup per construir noms d’instrument més complicats:

\new Staff \with {
  instrumentName = \markup {
    \column { "Clarinetti"
      \line { "in B" \smaller \flat }
    }
  }
} \relative {
  c''4 c,16 d e f g2
}

[image of music]

Quan s’agrupen dos o més contextos de pentagrama, els noms d’instrument i els noms curts apareixen centrats de forma predeterminada. Per centrar noms d’instrument de diverses línies, s’ha d’utilitzar \center-column:

<<
  \new Staff \with {
    instrumentName = #"Flute"
  } \relative {
    f''2 g4 f
}
  \new Staff \with {
    instrumentName = \markup {
      \center-column { "Clarinet"
        \line { "in B" \smaller \flat }
      }
    }
  } \relative { c''4 b c2 }
>>

[image of music]

Malgrat això, si els noms d’instrument són més llargs, no se centren per a un grup de pentagrames a no ser que s’augmentin els valors del sagnat, indent, i del sagnat curt, short-indent. Per veure més detalls sobre aquests ajustaments, consulteu Variables de paper per a desplaçaments i sagnats.

<<
  \new Staff \with {
    instrumentName = #"Alto Flute in G"
    shortInstrumentName = #"Flt."
  } \relative {
    f''2 g4 f \break
    g4 f g2
  }
  \new Staff \with {
    instrumentName = #"Clarinet"
    shortInstrumentName = #"Clar."
  } \relative {
    c''4 b c2 \break
    c2 b4 c
  }
>>

\layout {
  indent = 3.0\cm
  short-indent = 1.5\cm
}

[image of music]

Per afegir noms d’instrument a d’altres contextos (com ara ChordNames o FiguredBass), hem d’afegir el gravador Instrument_name_engraver a aquest context. Per veure més detalls, consulteu Modificació dels connectors de context.

El nom d’instrument curt shortInstrumentName es pot canviar a la meitat d’una peça, igual que d’altres ajustaments que poden caldre per al nou instrument; tanmateix, sols el primer instrumentName s’imprimeix i la resta d’ells s’ignoren:

prepPiccolo = <>^\markup \italic { muta in Piccolo }

setPiccolo = {
  \set Staff.instrumentName = #"Piccolo"
  \set Staff.shortInstrumentName = #"Picc."
  \set Staff.midiInstrument = #"piccolo"
  <>^\markup \bold { Piccolo }
  \transposition c''
}

prepFlute = <>^\markup \italic { muta in Flauto }

setFlute = {
  \set Staff.instrumentName = #"Flute"
  \set Staff.shortInstrumentName = #"Flt."
  \set Staff.midiInstrument = #"flute"
  <>^\markup \bold { Flute }
  \transposition c'
}

\new Staff \with {
  instrumentName = #"Flute"
  shortInstrumentName = #"Flt."
  midiInstrument = #"flute"
}
\relative {
  g'1 g g g \break
  g1 g \prepPiccolo R R \break
  \setPiccolo
  g1 g g g \break
  g1 g \prepFlute R R \break
  \setFlute
  g1 g g g
}

[image of music]

Vegeu també

Referència de la notació: Variables de paper per a desplaçaments i sagnats, Modificació dels connectors de context.

Fragments de codi: Staff notation.

Referència de funcionament intern: InstrumentName, PianoStaff, Staff.


Cites a altres veus

És molt freqüent que una veu usi les mateixes notes que una altra veu. Per exemple, els violins primer i segon tocant la mateixa frase durant un determinat passatge musical. Això es fa deixant que una veuciti a l’altra, sense que s’hagi de tornar a introduir la música per segon cop.

L’ordre \addQuote, utilitzada a l’àmbit del nivell sintàctic superior, defineix un flux de música des del qual és possible citar fragments.

L’ordre \quoteDuring s’usa per indicar el punt en el qual comença la cita. Va seguida per dos arguments: el nom de la veu citada, tal i com es va definir amb \addQuote, i una expressió musical que indica la duració de la cita.

fluteNotes = \relative {
  a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring #"flute" { s1 }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

Si l’expressió musical que s’usa per \quoteDuring conté qualsevol cosa que no sigui un silenci de separació o un silenci multicompàs, es produeix una situació de polifonia, cosa que no és habitualment desitjable:

fluteNotes = \relative {
  a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring #"flute" { e4 r8 ais b4 a }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

Si cal imprimir una ordre \unfoldRepeat dins d’una expressió musical en usar \quoteDuring, aleshores ha de contenir també la seva pròpia ordre \unfoldRepeat:

fluteNotes = \relative {
  \repeat volta 2 { a'4 gis g gis }
}

oboeNotesDW = \relative {
  \repeat volta 2 \quoteDuring #"incorrecte" { s1 }
}

oboeNotesW = \relative {
  \repeat volta 2 \quoteDuring #"correcte" { s1 }
}


\addQuote "incorrecte" { \fluteNotes }

\addQuote "correcte" { \unfoldRepeats \fluteNotes }

\score {
  \unfoldRepeats
  <<
    \new Staff \with { instrumentName = "Flute" }
    \fluteNotes
    \new Staff \with { instrumentName = "Oboe (incorrecte)" }
    \oboeNotesDW
    \new Staff \with { instrumentName = "Oboe (correcte)" }
    \oboeNotesW
  >>
}

[image of music]

L’ordre \quoteDuring usa els ajustament de \transposition tant de la part citada com de la que cita, per produir notes que tenen la mateixa alçada de so a la part que cita i en les de la part citada.

clarinetNotes = \relative c'' {
  \transposition bes
  \key d \major
  b4 ais a ais | cis4^"citat" r8 bis\p b4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring #"clarinet" { s1 }
}

\addQuote "clarinet" { \clarinetNotes }


\score {
  <<
    \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

De forma predeterminada, la música citada inclou totes les articulacions, matisos dinàmics, elements de marcatge, etc., de l’expressió citada. És possible escollir quins d’aquests objectes de la música que se cita s’imprimeixen, mitjançant la propietat de context quotedEventTypes.

fluteNotes = \relative {
  a'2 g2 |
  b4\<^"quoted" r8 ais a4\f( c->)
 }

oboeNotes = \relative {
  c''2. b4 |
  \quoteDuring #"flute" { s1 }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \set Score.quotedEventTypes = #'(note-event articulation-event
                                     crescendo-event rest-event
                                     slur-event dynamic-event)
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
 }

[image of music]

Las cites també es poden etiquetar, vegeu Us de etiquetes.

Vegeu també

Referència de la notació: Transposició dels instruments, Ús de etiquetes.

Fitxers d’inici: ‘scm/define-event-classes.scm’.

Fragments de codio: Staff notation.

Referència de funcionament intern: Music classes, QuoteMusic, Voice.

Advertiments i problemes coneguts

Sols el contingut de la primera veu d’una ordre \addQuote s’ha de tenir en compte per a la cita, de manera que si l’expressió musical conté enunciats \new o \context Voice, els seus continguts no seran citats. La cita de notes d’adorn no està contemplada i pot fer que el LilyPond acabi de forma abrupta; la cita d’uns tresets dins d’uns altres pot donar com a resultat una notació de qualitat pobre.


Format de les notes guia

La manera més senzilla de donar format a les notes guia és crear explícitament un context CueVoice dins de la part.

\relative {
  R1
  <<
    { e'2\rest r4. e8 }
    \new CueVoice {
      \stemUp d'8^"flute" c d e fis2
    }
  >>
  d,4 r a r
}

[image of music]

L’ordre \cueClef pot usar-se també amb un context CueVoice explícit si es requereix un canvi de clau, i imprimeix una clau de la mida adequada per a les notes guia. Després pot utilitzar-se l’ordre \cueClefUnset per tornar a la clau original, de nou amb un signe de clau de la mida adequada.

\relative {
  \clef "bass"
  R1
  <<
    { e'2\rest r4. \cueClefUnset e,8 }
    \new CueVoice {
      \cueClef "treble" \stemUp d''8^"flute" c d e fis2
    }
  >>
  d,,4 r a r
}

[image of music]

Les instruccions \cueClef i \cueClefUnset es poden usar també sense un CueVoice si cal.

\relative {
  \clef "bass"
  R1
  \cueClef "treble"
  d''8^"flute" c d e fis2
  \cueClefUnset
  d,,4 r a r
}

[image of music]

En casos de col·locació més complexa de notes guia, per exemple amb transposició o inserint notes guia, per més d’una font, poden usar-se les ordres \cueDuring o \cueDuringWithClef. Són una forma més especialitzada de \quoteDuring, vegeu Cites a altres veus a la secció anterior.

La sintaxi és:

\cueDuring #nom_de_la_cita #direcció #música

i

\cueDuringWithClef #nom_de_la_cita #direcció #clau #música

La música procedent dels compassos corresponents de l’element nom_de_la_cita s’ afegeix com un context CueVoice y apareix simultàniament amb la música, cosa que produeix una situació polifònica. La direcció agafa un argument UP (amunt) o DOWN (avall), i correspon amb les veus primera i segona, respectivament, determinant com s’imprimeixen les notes guia en relació a l’altra veu.

fluteNotes = \relative {
  r2. c''4 | d8 c d e fis2 | g2 d |
}

oboeNotes = \relative c'' {
  R1
  <>^\markup \tiny { flute }
  \cueDuring #"flute" #UP { R1 }
  g2 c,
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \oboeNotes
}

[image of music]

És possible ajustar quins aspectes de la música se citen amb \cueDuring establint el valor de la propietat quotedCueEventTypes. El seu valor per defecte és '(note-event rest-event tie-event beam-event tuplet-span-event), cosa que significa que sols les notes, silencis, lligadures d’unió, barres i grups especials se citen, però no les articulacions, maques dinàmiques, elements de marcatge, etc.

Nota: Quan un context Voice comença amb cueDuring, com a l’exemple següent, el context Voice s’ha de declarar explícitament, ja que en cas contrari tota l’expressió musical pertanyeria al context CueVoice.

oboeNotes = \relative {
  r2 r8 d''16(\f f e g f a)
  g8 g16 g g2.
}
\addQuote "oboe" { \oboeNotes }

\new Voice \relative c'' {
  \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
                                      beam-event tuplet-span-event
                                      dynamic-event slur-event)
  \cueDuring #"oboe" #UP { R1 }
  g2 c,
}

[image of music]

Es poden usar elements de marcatge per mostrar el nom de l’instrument citat. Si les notes guia requereixen un canvi de clau, pot fer-se manualment però la clau original s’ha de restaurar al final de les notes guia.

fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \clef treble
  <>^\markup \tiny { flute }
  \cueDuring #"flute" #UP { R1 }
  \clef bass
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

[image of music]

De forma alternativa, pot usar-se la funció \cueDuringWithClef en el seu lloc. Aquesta ordre admet un argument addicional per especificar el canvi de clau que cal imprimir per a les notes guia, però després imprimeix automàticament la clau original un cop que ha finalitzat la sèrie de notes guia.

fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  <>^\markup { \tiny "flute" }
  \cueDuringWithClef #"flute" #UP #"treble" { R1 }
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

[image of music]

Com \quoteDuring, \cueDuring té en compte les transposicions instrumentals. Les notes guia es produeixen en les alçades en les quals s’escriurien per a l’instrument que rep la cita, per produir així les alçades de so de l’instrument original.

Per transportar les notes guia de forma diferent, useu \transposedCueDuring. Aquesta ordre accepta un argument addicional per especificar el so d’un Do central de concert. Això és útil per agafar cites d’un instrument que està a un registre completament diferent.

piccoloNotes = \relative {
  \clef "treble^8"
  R1
  c'''8 c c e g2
  c4 g g2
}

bassClarinetNotes = \relative c' {
  \key d \major
  \transposition bes,
  d4 r a r
  \transposedCueDuring #"piccolo" #UP d { R1 }
  d4 r a r
}

\addQuote "piccolo" { \piccoloNotes }

<<
  \new Staff \piccoloNotes
  \new Staff \bassClarinetNotes
>>

[image of music]

L’ordre \killCues elimina les notes guia d’una expressió musical, de forma que la mateixa expressió musical pugui utilitzar-se per produir la particel·la instrumental (amb notes guia) i la partitura de conjunt. L’ordre \killCues elimina solament les notes i esdeveniments que s’han citat mitjançant \cueDuring. Altres elements de marcatge associats amb les guies, com els canvis de clau o una etiqueta identificativa de l’instrument font, poden marcar-se per a la seva inclusió selectiva dins de la partitura, vegeu Ús de etiquetes.

fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \tag #'part {
    \clef treble
    <>^\markup \tiny { flute }
  }
  \cueDuring #"flute" #UP { R1 }
  \tag #'part \clef bass
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

\new StaffGroup <<
  \new Staff {
    \fluteNotes
  }
  \new Staff {
    \removeWithTag #'part { \killCues { \bassoonNotes } }
  }
>>

[image of music]

Com a alternativa, els canvis de clau i les etiquetes d’instrument es poden recol·lectar dins d’una definició d’instrument per al seu ús repetit, utilitzant \addInstrumentDefinition que es descriu a Noms d’instruments.

Vegeu també

Referència de la notació: Cites a altres veus, Transposició dels instruments, Noms d’instruments, Clau, Guies musicals, Ús de etiquetes.

Fragments de codi: Staff notation.

Referència de funcionament intern: CueVoice, Voice.

Advertiments i problemes coneguts

Poden ocórrer col·lisions amb els silencis si s’usa \cueDuring, entre els contextos de Voice i de CueVoice. En usar \cueDuringWithClef o \transposedCueDuring l’argument addicional requerit per a cada cas ha d’anar després de la cita i de la direcció.


1.7 Anotacions editorials

[image of music]

Aquesta secció tracta de les diverses maneres de modificar l’aspecte de les notes i d’aplicar èmfasi analític o educatiu.


1.7.1 Dins del pentagrama

Aquesta secció tracta sobre com aplicar èmfasi als elements situats dins del pentagrama.


Selecció del la mida del tipus de lletra per a la notació

Nota:
Per a la mida del tipus de lletra del text consulteu Selecció del tipus de lletra i la seva mida.
Per a la mida del pentagrama, consulteu Establiment de la mida del pentagrama.
Per a les notes guia, consulteu Format de les notes guia.
Per als pentagrames d’Ossia, consulteu Pentagrames d’Ossia.

Per modificar la mida de la notació sense canviar la mida del pentagrama, especifiqueu un factor d’ampliació amb l’ordre \magnifyMusic:

\new Staff <<
  \new Voice \relative {
    \voiceOne
    <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
  }
  \new Voice \relative {
    \voiceTwo
    \magnifyMusic 0.63 {
      \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
      r32 c'' a c a c a c r c a c a c a c
      r c a c a c a c a c a c a c a c
    }
  }
>>

[image of music]

L’\override de l’exemple anterior és una solució provisional per solucionar un error del programa. Consulteu l’apartat de “Problemes i advertiments coneguts” al final d’aquesta secció.

Si una figura amb una mida normal de cap es barreja amb una altra més petita, la mida de la menor podria de necessitar de canviar-se (amb ‘\once \normalsize’) perquè les pliques i les alteracions accidentals mantinguin una bona alineació:

\new Staff <<
  \key fis \minor
  \mergeDifferentlyDottedOn
  \new Voice \relative {
    \voiceOne
    \magnifyMusic 0.63 {
      \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
      \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d'
      \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis'
      \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis'
      \once \normalsize a, a' bis, d cis b \once \normalsize gis gis')
    }
  }
  \new Voice \relative {
    \voiceTwo
    cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16
  }
>>

[image of music]

L’ordre \magnifyMusic no està pensada per a les notes guia, d’adorn, o per als pentagrames d’Ossia; hi ha mètodes més apropiats per a la introducció de cada un d’aquests elements. En comptes d’això, és útil quan la mida de la notació canvia dins d’una sola part instrumental sobre un pentagrama, i quan les notes d’adorn no són adequades, com a passatges de cadència o en casos com els dels exemples anteriors. Establir el valor de \magnifyMusic a 0.63 duplica les dimensions del context CueVoice.

Nota: L’ordre \magnifyMusic no ha d’utilitzar-se si s’està canviant la mida del pentagrama al mateix temps. Consulteu Establir la mida del pentagrama.

Canviar la mida dels objectes individuals

Es pot canviar de mida un objecte de presentació individual usant les ordres \tweak o \override per ajustar la seva propietat font-size:

\relative {
  % resize a note head
  <f' \tweak font-size -4 b e>-5
  % resize a fingering
  bes-\tweak font-size 0 -3
  % resize an accidental
  \once \override Accidental.font-size = -4 bes!-^
  % resize an articulation
  \once \override Script.font-size = 4 bes!-^
}

[image of music]

El valor predeterminat de font-size per a cada objecte de presentació està explicat al Manual de Referència de Funcionament Intern. La propietat font-size sols es pot fixar per als objectes de presentació que respecten la interfície de presentació font-interface. Si no està especificada font-size a la llista de ‘Ajustos estàndard’ de l’objecte, el seu valor és 0. Vegeu All layout objects.

Comprensió de la propietat fontSize

La propietat de context fontSize ajusta la mida relativa de tots els elements de notació basats en glifs dins d’un context:

\relative {
  \time 3/4
  d''4---5 c8( b a g) |
  \set fontSize = -6
  e'4-- c!8-4( b a g) |
  \set fontSize = 0
  fis4---3 e8( d) fis4 |
  g2.
}

[image of music]

El valor fontSize és un número que indica la mida relativa a la mida estàndard per a l’alçada actual del pentagrama. El valor predeterminat de fontSize es 0; la addició de 6 a qualsevol valor de fontSize duplica la mida impresa dels glifs, i la substracció de 6 redueix la mida a la meitat. Cada pas augmenta la mida en un 12% aproximadament.

La funció del Scheme magnification->font-size es proveeix per conveniència, atès que les unitats logarítmiques de la propietat font-size no són totalment intuïtives. Per exemple, per ajustar la notació musical al 75% de la mida predeterminada, usem:

\set fontSize = #(magnification->font-size 0.75)

La funció de l’Scheme magstep té l’efecte oposat: converteix un valor de font-size a un factor d’ampliació.

La propietat fontSize no afecta sols als elements de notació que es dibuixen amb glifs, com el cap de les figures, les alteracions accidentals, les inscripcions textuals, etc. No afecta la mida de la pròpia pauta, ni canvia l’escala de les pliques, barres, o espaiat horitzontal. Per canviar l’escala de les pliques, barres i l’espaiat horitzontal junt amb la mida de la notació (sense canviar la mida de la pauta), useu l’ordre \magnifyMusic que s’ha explicat anteriorment. Per canviar l’escala de la mida de tot, fins i tot la pauta, vegeu Establiment de la mida del pentagrama.

Sempre que s’estableix el valor de la propietat de context fontSize, el seu valor s’afegeix al valor de la propietat d’objecte gràfic font-size per als objectes de presentació individuals, abans que s’imprimeixi qualsevol dels glifs. Això pot confondre quan s’estableix el valor de les propietats font-size individuals mentre fontSize ja està establert:

% the default font-size for NoteHead is 0
% the default font-size for Fingering is -5
c''4-3

\set fontSize = -3
% the effective font size for NoteHead is now -3
% the effective font size for Fingering is now -8
c''4-3

\override Fingering.font-size = 0
% the effective font size for Fingering is now -3
c''4-3

[image of music]

També hi ha les següents ordres de drecera:

OrdreEquivalent aMida relativa
\teeny\set fontSize = -371%
\tiny\set fontSize = -279%
\small\set fontSize = -189%
\normalsize\set fontSize = 0100%
\large\set fontSize = 1112%
\huge\set fontSize = 2126%
\relative c'' {
  \teeny
  c4.-> d8---3
  \tiny
  c4.-> d8---3
  \small
  c4.-> d8---3
  \normalsize
  c4.-> d8---3
  \large
  c4.-> d8---3
  \huge
  c4.-> d8---3
}

[image of music]

Els canvis a la mida del tipus de lletra s’obtenen per mitjà de l’escalat de la mida del disseny que es troba més a prop de la mida desitjada. La mida estàndard per al tipus de lletra (per a font-size = 0) depèn de l’alçada estàndard del pentagrama. Per a un pentagrama de 20 punts, se selecciona un tipus de lletra de 11 punts.

Instruccions predefinides

\magnifyMusic, \teeny (ínfim), \tiny (molt petit), \small (petit), \normalsize (normal), \large (gran), \huge (enorme).

Vegeu també

Referència de la notació: Selecció del tipus de lletra i la seva mida Establiment de la mida del pentagrama. Format de les notes guia, Pentagrames d’Ossia.

Fitxers instal·lats: ‘ly/music-functions-init.ly’, ‘ly/property-init.ly’.

Fragments de codi: Editorial annotations.

Referència de funcionament intern: font-interface.

Advertiments i problemes coneguts

Actualment hi ha dos errors del programa que impedeixen un espaiat horitzontal correcte en usar \magnifyMusic. Solament hi ha una forma rodejar l’error, i el seu funcionament correcte no està garantit en tots els casos. A l’exemple que apareix a continuació, substituïu la variable mag amb el vostre valor preferit. També podeu intentar treure una o ambdues ordres \newSpacingSection, i/o les ordres \override i \revert:

\magnifyMusic mag {
  \newSpacingSection
  \override Score.SpacingSpanner.spacing-increment = #(* 1.2 mag)
  [music]
  \newSpacingSection
  \revert Score.SpacingSpanner.spacing-increment
}

Indicacions de digitació

Les instruccions de digitació es poden introduir usant ‘nota-dígito’:

\relative { c''4-1 d-2 f-4 e-3 }

[image of music]

Per als canvis de dit es poden usar elements de marcatge de text o de cadenes de caràcters.

\relative {
  c''4-1 d-2 f\finger \markup \tied-lyric "4~3" c\finger "2 - 3"
}

[image of music]

Podeu usar l’articulació de polze per indicar que una nota s’ha de tocar amb el polze (per exemple a música de violoncel).

\relative { <a'_\thumb a'-3>2 <b_\thumb b'-3> }

[image of music]

Les digitacions per als acords també es poden afegir a les notes individuals escrivint-les després de les altures.

\relative {
  <c''-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
}

[image of music]

Les indicacions de digitació es poden situar manualment a sobre o a sota del pentagrama, vegeu Direcció i posició.

Fragments de codi seleccionats

Controlling the placement of chord fingerings

The placement of fingering numbers can be controlled precisely. For fingering orientation to apply, you must use a chord construct <> even if it is a single note.

\relative c' {
  \set fingeringOrientations = #'(left)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down right up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(left)
  <c-1>2
  \set fingeringOrientations = #'(down)
  <e-3>2
}

[image of music]

Allowing fingerings to be printed inside the staff

By default, vertically oriented fingerings are positioned outside the staff. However, this behavior can be canceled. Note: you must use a chord construct <>, even if it is only a single note.

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \override Fingering.staff-padding = #'()
  <c-1 e-2 g-3 b-5>4 <g'-0>
}

[image of music]

Avoiding collisions with chord fingerings

Fingerings and string numbers applied to individual notes will automatically avoid beams and stems, but this is not true by default for fingerings and string numbers applied to the individual notes of chords. The following example shows how this default behavior can be overridden.

\relative c' {
  \set fingeringOrientations = #'(up)
  \set stringNumberOrientations = #'(up)
  \set strokeFingerOrientations = #'(up)

  % Default behavior
  r8
  <f c'-5>8
  <f c'\5>8
  <f c'-\rightHandFinger #2 >8

  % No tweak needed
  r8
  <f c'-5>8
  <f c'\5>8
   % Corrected to avoid collisions
  \override StrokeFinger.add-stem-support = ##t
  <f c'-\rightHandFinger #2 >8
}

[image of music]

Vegeu també

Referència de la notació: Direcció i posició.

Fragments de codi: Editorial annotations.

Referència de funcionament intern: FingeringEvent, fingering-event, Fingering_engraver, New_fingering_engraver, Fingering.


Notes ocultes

Las notes ocultes (o invisibles, o transparents) poden ser d’utilitat en la preparació d’exercicis de teoria o de composició.

\relative {
  c''4 d
  \hideNotes
  e4 f
  \unHideNotes
  g a
  \hideNotes
  b
  \unHideNotes
  c
}

[image of music]

El cap, la plica i la barra de les figures, així com els silencis, són invisibles. Les barres són invisibles si comencen en una nota oculta. Els objectes de notació que estan ancorats a notes invisibles, són, malgrat això, visibles.

\relative c'' {
  e8(\p f g a)--
  \hideNotes
  e8(\p f g a)--
}

[image of music]

Instruccions predefinides

\hideNotes, \unHideNotes.

Vegeu també

Manual d’aprenentatge: Visibilitat i color dels objectes

Referència de la notació: Silencis invisibles, Visibilitat dels objectes, Ocultament de pentagrames.

Fragments de codi: Editorial annotations.

Referència de funcionament intern: Note_spacing_engraver, NoteSpacing.


Acoloriment d’objectes

Es poden assignar colors als objectes individuals. Els noms de color vàlids es relacionen a la Llista de colors.

\override NoteHead.color = #red
c''4 c''
\override NoteHead.color = #(x11-color 'LimeGreen)
d''
\override Stem.color = #blue
e''

[image of music]

Es pot accedir a l’espectre complet de colors definit per a X11 usant la funció de l’Scheme x11-color. Aquesta funció accepta un únic argument; pot ser un símbol de la forma 'PauPereBerenguera o una cadena de la forma "PauPereBerenguera". La primera forma és més ràpida d’escriure i també més eficient. Tanmateix, en usar la segona forma és possible accedir als colors d’X11 per mitjà de la forma del nom que té diverses paraules.

Si x11-color no entén el paràmetre, el color predeterminat que retorna és el negre.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinet"
    }
  }
  \relative c'' {
  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
  gis8 a
  \override Beam.color = #(x11-color "medium turquoise")
  gis a
  \override Accidental.color = #(x11-color 'DarkRed)
  gis a
  \override NoteHead.color = #(x11-color "LimeGreen")
  gis a
  % això és un absurd deliberadament; noteu que les barres romanen negres
  \override Stem.color = #(x11-color 'Boggle)
  b2 cis
}

[image of music]

Es poden especificar colors RGB exactes utilitzant la funció de l’Scheme rgb-color.

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinet"
    }
  }
\relative c'' {
  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
  \override Stem.color = #(rgb-color 0 0 0)
  gis8 a
  \override Stem.color = #(rgb-color 1 1 1)
  gis8 a
  \override Stem.color = #(rgb-color 0 0 0.5)
  gis4 a
}

[image of music]

Vegeu també

Referència de la notació: Llista de colors. L’ordre tweak.

Fragments de codi: Editorial annotations.

Advertiments i problemes coneguts

Un color d’X11 no és necessàriament de la mateixa tonalitat exacta que un color normal de nom semblant.

No tots els colors d’X11 es distingeixen entre ells a un navegador web, és a dir, un navegador web podria no mostrar cap diferència entre LimeGreen (verd llima) i ForestGreen (verd bosc). Per a la web es recomanen els colors normals (o sigui: blue, blau, green, verd, i red, vermell).

Les notes d’un acord no es poden acolorir individualment amb \override; en el seu lloc useu \tweak o el seu equivalent \single\override abans de la nota respectiva. Consulteu L’ordre tweak per veure més detalls.


Parèntesis

Es poden tancar els objectes entre parèntesis anteposant \parenthesize a l’esdeveniment musical. Si s’aplica a un acord, envolta cada nota dins d’un parell de parèntesis. També es poden posar entre parèntesis les notes individuals d’un acord.

\relative {
  c''2 \parenthesize d
  c2 \parenthesize <c e g>
  c2 <c \parenthesize e g>
}

[image of music]

Els objectes que no són notes també es poden posar entre parèntesis. Per a les articulacions cal un guió abans de l’ordre \parenthesize.

\relative {
  c''2-\parenthesize -. d
  c2 \parenthesize r
}

[image of music]

Vegeu també

Fragments de codi: Editorial annotations.

Referència de funcionament intern: Parenthesis_engraver, ParenthesesItem, parentheses-interface.

Advertiments i problemes coneguts

En posar un acord entre parèntesis, s’envolta cada una de les notes individuals entre parèntesis, en comptes d’un sols parèntesis gran envoltant l’acord complet.


Pliques

Quan es troba amb una nota, es crea automàticament un objecte Stem (plica). Per a les rodones i els silencis, també es creen però es fan invisibles.

Es pot fer manualment que les pliques apuntin cap amunt o cap avall; vegeu Direcció i posició.

Instruccions predefinides

\stemUp, \stemDown, \stemNeutral.

Fragments de codi seleccionats

Default direction of stems on the center line of the staff

The default direction of stems on the center line of the staff is set by the Stem property neutral-direction.

\relative c'' {
  a4 b c b
  \override Stem.neutral-direction = #up
  a4 b c b
  \override Stem.neutral-direction = #down
  a4 b c b
}

[image of music]

Automatically changing the stem direction of the middle note based on the melody

LilyPond can alter the stem direction of the middle note on a staff so that it follows the melody, by adding the Melody_engraver to the Voice context and overriding the neutral-direction of Stem.

\relative c'' {
  \time 3/4
  a8 b g f b g |
  c  b d c b c |
}

\layout {
  \context {
    \Voice
    \consists "Melody_engraver"
    \autoBeamOff
    \override Stem.neutral-direction = #'()
  }
}

[image of music]

Vegeu també

Referència de la notació: Direcció i posició.

Fragments de codi: Editorial annotations.

Referència de funcionament intern: Stem_engraver, Stem, stem-interface.


1.7.2 Fora del pentagrama

Aquest secció tracta sobre com emfatitzar element que estan dins del pentagrama, des de fora del pentagrama.


Globus d’ajuda

Els elements de notació es poden marcar i anomenar amb l’ajuda d’un cartell o globus d’ajuda rectangular. El propòsit principal d’aquesta funcionalitat és l’explicació de la notació.

\new Voice \with { \consists "Balloon_engraver" }
\relative c'' {
  \balloonGrobText #'Stem #'(3 . 4) \markup { "Sóc una plica" }
  a8
  \balloonGrobText #'Rest #'(-4 . -4) \markup { "Sóc un silenci" }
  r
  <c, g'-\balloonText #'(-2 . -2) \markup { "Sóc un cap" } c>2.
}

[image of music]

Hi ha dues funcions musicals, balloonGrobText i balloonText; el primer s’usa com \once\override per adjuntar un text a qualsevol objecte gràfic, i l’últim s’usa com \tweak, normalment dins d’acords, per adjuntar un text a una nota individual.

Els textos de globus no influeixen a l’espaiat de les notes, però això es pot canviar:

\new Voice \with { \consists "Balloon_engraver" }
\relative c'' {
  \balloonGrobText #'Stem #'(3 . 4) \markup { "Sóc una plica" }
  a8
  \balloonGrobText #'Rest #'(-4 . -4) \markup { "Sóc un silenci" }
  r
  \balloonLengthOn
  <c, g'-\balloonText #'(-2 . -2) \markup { "Sóc un cap" } c>2.
}

[image of music]

Instruccions predefinides

\balloonLengthOn, \balloonLengthOff.

Vegeu també

Fragments de codi: Editorial annotations.

Referència de funcionament intern: Balloon_engraver, BalloonTextItem, balloon-interface.


Línies de reixeta

Es poden dibuixar línies verticals entre els pentagrames sincronitzades amb les notes.

S’ha d’usar el gravador Grid_point_engraver per crear els punts extrems de les línies, mentre que el gravador Grid_line_span_engraver es pot utilitzar per traçar efectivament les línies. De forma predeterminada, això centra les línies de reixeta horitzontalment a sota i al costat esquerre del cap de les notes. Les línies de reixeta s’estenen a partir de la línia mitjana dels pentagrames. L’interval gridInterval ha d’especificar la duració entre les línies de reixeta.

\layout {
  \context {
    \Staff
    \consists "Grid_point_engraver"
    gridInterval = #(ly:make-moment 1/4)
  }
  \context {
    \Score
    \consists "Grid_line_span_engraver"
  }
}

\score {
  \new ChoirStaff <<
    \new Staff \relative {
      \stemUp
      c''4. d8 e8 f g4
    }
    \new Staff \relative {
      \clef bass
      \stemDown
      c4 g' f e
    }
  >>
}

[image of music]

Fragments de codi seleccionats

Grid lines: changing their appearance

The appearance of grid lines can be changed by overriding some of their properties.

\score {
  \new ChoirStaff <<
    \new Staff {
      \relative c'' {
        \stemUp
        c'4. d8 e8 f g4
      }
    }
    \new Staff {
      \relative c {
        % this moves them up one staff space from the default position
        \override Score.GridLine.extra-offset = #'(0.0 . 1.0)
        \stemDown
        \clef bass
        \once \override Score.GridLine.thickness = #5.0
        c4
        \once \override Score.GridLine.thickness = #1.0
        g'4
        \once \override Score.GridLine.thickness = #3.0
        f4
        \once \override Score.GridLine.thickness = #5.0
        e4
      }
    }
  >>
  \layout {
    \context {
      \Staff
      % set up grids
      \consists "Grid_point_engraver"
      % set the grid interval to one quarter note
      gridInterval = #(ly:make-moment 1/4)
    }
    \context {
      \Score
      \consists "Grid_line_span_engraver"
      % this moves them to the right half a staff space
      \override NoteColumn.X-offset = #-0.5
    }
  }
}

[image of music]

Vegeu també

Fragment de codi: Editorial annotations.

Referència de funcionament interno: Grid_line_span_engraver, Grid_point_engraver, GridLine, GridPoint, grid-line-interface, grid-point-interface.


Claus d’anàlisi

Les claus s’usen en anàlisi musical per indicar l’estructura de les peces musicals. Es permeten les claus horitzontals simples.

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}
\relative {
  c''2\startGroup
  d\stopGroup
}

[image of music]

Les claus d’anàlisi es poden niuar.

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}
\relative {
  c''4\startGroup\startGroup
  d4\stopGroup
  e4\startGroup
  d4\stopGroup\stopGroup
}

[image of music]

Fragments de codi seleccionats

Analysis brackets above the staff

Simple horizontal analysis brackets are added below the staff by default. The following example shows a way to place them above the staff instead.

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}

\relative c'' {
  \once \override HorizontalBracket.direction = #UP
  c2\startGroup
  d2\stopGroup
}

[image of music]

Analysis brackets with labels

Text may be added to analysis brackets through the text property of the HorizontalBracketText grob. Adding different texts to brackets beginning at the same time requires the \tweak command. Bracket text will be parenthesized after a line break.

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
    \override HorizontalBracket.direction = #UP
  }
}

{
  \once\override HorizontalBracketText.text = "a"
  c''\startGroup d''\stopGroup
  \once\override HorizontalBracketText.text = "a'"
  e''\startGroup d''\stopGroup
  c''
  -\tweak HorizontalBracketText.text \markup \bold \huge "b" \startGroup
  -\tweak HorizontalBracketText.text "a" \startGroup
  d''\stopGroup
  e''-\tweak HorizontalBracketText.text "a'" \startGroup
  d''\stopGroup\stopGroup
  c''-\tweak HorizontalBracketText.text foo \startGroup d'' e'' f''
  \break
  g'' a'' b'' c'''\stopGroup
}

[image of music]

Vegeu també

Referència de funcionament intern: Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, HorizontalBracketText, horizontal-bracket-text-interface, Staff.


1.8 Text

[image of music]

Aquesta secció explica com incloure text (amb diversos estils de format) a les partitures.

Certs elements de text dels que no ens ocupem aquí es presenten a d’altres secciones específiques: Música vocal, Títols i encapçalaments.


1.8.1 Escriptura del text

Aquesta secció presenta les diferents formes d’afegir text a una partitura.

Nota: Per escriure text amb caràcters accentuats i especials (com a les llengües diferents a l’anglès), senzillament inseriu els caràcters directament al fitxer del LilyPond. El fitxer s’ha de desar com a UTF-8. Per veure més informació, consulteu Codificació del text.


Scripts de text

És possible afegir indicacions de “text entre cometes” a una partitura, com es mostra a l’exemple següent. Aquestes indicacions es poden col·locar manualment per sobre o per sota del pentagrama, utilitzant la sintaxi que es descriu a Direcció i posició.

\relative { a'8^"pizz." g f e a4-"scherz." f }

[image of music]

Aquesta sintaxi és en realitat una abreviatura; es pot afegir explícitament a una nota un format de text més complex utilitzant un bloc \markup, como es descriu a Donar format al text.

\relative {
  a'8^\markup { \italic pizz. } g f e
  a4_\markup { \tiny scherz. \bold molto } f }

[image of music]

De format predeterminada, les indicacions de text no afecten a l’espaiat de les notes. Malgrat això, la seva amplada es podria tenir en compte: a l’exemple següent, la primera cadena de text no afecta l’espaiat, però la segon sí afecta.

\relative {
  a'8^"pizz." g f e
  \textLengthOn
  a4_"scherzando" f
}

[image of music]

Es poden adjuntar articulacions a les notes, a més d’inscripcions de text. Per veure més informació, consulteu Articulacions i ornaments.

Per veure més informació sobre l’ordre relatiu de les inscripcions de text i les articulacions, consulteu Col·locació dels objectes.

Instruccions predefinides

\textLengthOn, \textLengthOff.

Vegeu també

Manual de aprenentatge: Col·locació dels objectes.

Referència de la notació: Donar format al text, Direcció i posició, Articulacions i ornaments.

Fragments de codi: Text.

Referència de funcionament intern: TextScript.

Advertiments i problemes coneguts

La comprovació necessària per assegurar que les inscripcions de text i la lletra de les cançons es mantenen dins dels marges, requereix de càlculs addicionals. En cas que desitgeu un procés lleugerament més ràpid, podeu utilitzar

\override Score.PaperColumn.keep-inside-line = ##f

Extensions de text

Certes indicacions d’execució, per exemple rallentando o accelerando, s’escriuen com a text i s’estenen sobre molts compassos mitjançant línies de punts. Aquests objectes, que reben el nom de ‘spanners’ o objectes d’extensió, es poden crear des d’una nota fins una altra usant la sintaxi següent:

\relative {
  \override TextSpanner.bound-details.left.text = "rit."
  b'1\startTextSpan
  e,\stopTextSpan
}

[image of music]

La cadena de text que imprimeix s’estableix a través de propietats d’objecte. De forma predeterminada s’imprimeix en estil cursiva, però es poden aconseguir diferents efectes de format utilitzant blocs \markup, com es descriue a Donar format al text.

\relative {
  \override TextSpanner.bound-details.left.text =
    \markup { \upright "rit." }
  b'1\startTextSpan c
  e,\stopTextSpan
}

[image of music]

L’estil de la línia, així com la cadena de text, es definir com una propietat d’objecte. Aquest sintaxi es descriu a Estils de línia.

Instruccions predefinides

\textSpannerUp, \textSpannerDown, \textSpannerNeutral.

Advertiments i problemes coneguts

El LilyPond sols pot utilitzar un objecte d’extensió de text per cada veu.

Fragments de codi seleccionats

Dynamics text spanner postfix

Custom text spanners can be defined and used with hairpin and text crescendos. \< and \> produce hairpins by default, \cresc etc. produce text spanners by default.

% Some sample text dynamic spanners, to be used as postfix operators
crpoco =
#(make-music 'CrescendoEvent
             'span-direction START
             'span-type 'text
             'span-text "cresc. poco a poco")

\relative c' {
  c4\cresc d4 e4 f4 |
  g4 a4\! b4\crpoco c4 |
  c4 d4 e4 f4 |
  g4 a4\! b4\< c4 |
  g4\dim a4 b4\decresc c4\!
}

[image of music]

Dynamics custom text spanner postfix

Postfix functions for custom crescendo text spanners. The spanners should start on the first note of the measure. One has to use -\mycresc, otherwise the spanner start will rather be assigned to the next note.

% Two functions for (de)crescendo spanners where you can explicitly give the
% spanner text.
mycresc =
#(define-music-function (mymarkup) (markup?)
   (make-music 'CrescendoEvent
               'span-direction START
               'span-type 'text
               'span-text mymarkup))
mydecresc =
#(define-music-function (mymarkup) (markup?)
   (make-music 'DecrescendoEvent
               'span-direction START
               'span-type 'text
               'span-text mymarkup))

\relative c' {
  c4-\mycresc "custom cresc" c4 c4 c4 |
  c4 c4 c4 c4 |
  c4-\mydecresc "custom decresc" c4 c4 c4 |
  c4 c4\! c4 c4
}

[image of music]

Vegeu també

Referència de la notació: Estils de línia, Matisos dinàmics, Donar format al text.

Fragments de codi: Text, Expressive marks.

Referència de funcionament interno: TextSpanner.


Indicacions de text

Es poden afegir a la partitura diversos elements de text amb la sintaxi que es descriue a Marques d’assaig.

\relative {
  \mark "Verse"
  c'2 g'
  \bar "||"
  \mark "Chorus"
  g2 c,
  \bar "|."
}

[image of music]

Aquesta sintaxi possibilitat col·locar qualsevol text sobre la línia divisòria; es poden incorporar formats complexos per al text usant un bloc \markup, como està explicat a Donar format al text:

\relative {
  <c' e>1
  \mark \markup { \italic { colla parte } }
  <d f>2 <e g>
  <c f aes>1
}

[image of music]

Aquest sintaxi també permet imprimir símbols especials com crides, segno o calderons, especificant el nom del símbol corresponent com s’explica a Notació musical dins d’elements de marcatge:

\relative {
  <bes' f>2 <aes d>
  \mark \markup { \musicglyph "scripts.ufermata" }
  <e g>1
}

[image of music]

Aquests objectes es graven sols sobre el pentagrama superior de la partitura; depenent de si estan especificats al final o al mig d’un compàs, es col·locaran sobre la línia divisòria o entre les notes. Si s’especifiquen a un salt de línia, les crides s’imprimeixen al principi de la línia següent.

\relative c'' {
  \mark "Allegro"
  c1 c
  \mark "assai" \break
  c  c
}

[image of music]

Instruccions predefinides

\markLengthOn, \markLengthOff.

Fragments de codi seleccionats

Printing marks at the end of a line

Marks can be printed at the end of the current line, instead of the beginning of the following line. In such cases, it might be preferable to align the right end of the mark with the bar line.

\relative c'' {
  g2 c
  d,2 a'
  \once \override Score.RehearsalMark.break-visibility = #end-of-line-visible
  \once \override Score.RehearsalMark.self-alignment-X = #RIGHT
  \mark "D.C. al Fine"
  \break
  g2 b,
  c1 \bar "||"
}

[image of music]

Printing marks on every staff

Although text marks are normally only printed above the topmost staff, they may also be printed on every staff.

\score {
  <<
    \new Staff { c''1 \mark "molto" c'' }
    \new Staff { c'1 \mark "molto" c' }
  >>
  \layout {
    \context {
      \Score
      \remove "Mark_engraver"
      \remove "Staff_collecting_engraver"
    }
    \context {
      \Staff
      \consists "Mark_engraver"
      \consists "Staff_collecting_engraver"
    }
  }
}

[image of music]

Vegeu també

Referència de la notació: Marques d’assaig, Donar format al text, Notació musical dins d’elements de marcatge, El tipus de lletra Emmentaler.

Fragments de codi: Text.

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


Text separat

Un bloc \markup pot existir de forma independent, fora de qualsevol bloc \score, como una “expressió de nivell superior”. Aquesta sintaxi es descriu a Estructura del fitxer.

\markup {
  Tomorrow, and tomorrow, and tomorrow...
}

[image of music]

Això fa possible imprimir text separat de la música, cosa que és especialment útil quan el fitxer d’entrada conté diverses peces, tal i com es descriu a Diverses partitures en un llibre.

\score {
  c'1
}
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}
\score {
  c'1
}

[image of music]

Els blocs de text independent poden abastar diverses pàgines, possibilitat la impressió de document o text o llibres íntegrament des del LilyPond. Aquesta funcionalitat i la sintaxi que requereix es descriuen a Elements de marcatge de diverses pàgines.

Instruccions predefinides

\markup, \markuplist.

Fragments de codi seleccionats

Stand-alone two-column markup

Stand-alone text may be arranged in several columns using \markup commands:

\markup {
  \fill-line {
    \hspace #1
    \column {
      \line { O sacrum convivium }
      \line { in quo Christus sumitur, }
      \line { recolitur memoria passionis ejus, }
      \line { mens impletur gratia, }
      \line { futurae gloriae nobis pignus datur. }
      \line { Amen. }
    }
    \hspace #2
    \column \italic {
      \line { O sacred feast }
      \line { in which Christ is received, }
      \line { the memory of His Passion is renewed, }
      \line { the mind is filled with grace, }
      \line { and a pledge of future glory is given to us. }
      \line { Amen. }
    }
    \hspace #1
  }
}

[image of music]

Vegeu també

Referència de la notació: Donar format al text, Estructura del fitxer, Diverses partitures en un llibre, Elements de marcatge de diverses pàgines.

Fragments de codi: Text.

Referència de funcionament intern: TextScript.


1.8.2 Donar format al text

Aquesta secció presenta els formats bàsics i avançats de text, usant la sintaxi específica del modo de \markup.


Introducció al marcatge de text

S’usa un bloc \markup per gravar text amb una sintaxi ampliable que es denomina “modo de marcatge”.

La sintaxi del marcatge és semblant a la sintaxi usual del LilyPond: una expressió \markup s’envolta entre claus { … }. Una sola paraula es considera com una expressió mínima, i per tant no li cal estar envoltada entre claus.

A diferència de les indicacions de “text entre cometes” simples, els blocs \markup poden contenir expressions niuades o ordres de marcatge, que s’introdueixen utilitzant el caràcter de barra invertida \ . Aquestes ordres sols afecten a l’expressió que segueix immediatament.

\relative {
  a'1-\markup intenso
  a2^\markup { poco \italic più forte  }
  c e1
  d2_\markup { \italic "string. assai" }
  e
  b1^\markup { \bold { molto \italic  agitato } }
  c
}

[image of music]

Un bloc \markup pot contenir també cadenes de text entre cometes. Aquestes cadenes es tracten com a expressions de text mínimes, i per tant qualsevol ordre de marcatge o caràcter especial (com \#) s’imprimeixen literalment sense afectar el fomat del text. Es poden fer que s’imprimeixin les pròpies cometes si se les anteposa una barra invertida.

\relative {
  a'1^"\italic markup..."
  a_\markup { \italic "... imprimeix lletres \"cursives\" !" }
  a a
}

[image of music]

Perquè es tractin com a una expressió diferent, cal que les llistes de paraules estiguin envoltades entre cometes o precedides d’una ordre. La forma en la qual estan definides les expressions de marcatge afecta com es sobreposen, se centren i s’alineen aquestes expressions; a l’exemple següent, la segona expressió \markup es tracta igual que la primera:

\relative c'' {
  c1^\markup { \center-column { a bbb c } }
  c1^\markup { \center-column { a { bbb c } } }
  c1^\markup { \center-column { a \line { bbb c } } }
  c1^\markup { \center-column { a "bbb c" } }
}

[image of music]

Els marcatges es poden emmagatzemar dins de variables. Aquests variables es poden adjuntar directament a les notes:

allegro = \markup { \bold \large Allegro }

{
  d''8.^\allegro
  d'16 d'4 r2
}

[image of music]

Es pot trobar una llista exhaustiva de les ordres específiques \markup a Ordres de marcatge de text.

Vegeu també

Referència de la notació: Ordres de marcatge de text.

Fragments de codi: Text.

Fitxers d’inici: ‘scm/markup.scm’.

Advertiments i problemes coneguts

Els missatges d’error de sintaxi per al mode de marcatge sovint produeixen confusió.


Selecció del tipus de lletra i la seva mida

Es pot canviar de forma bàsica el tipus de lletra al mode de marcatge:

\relative {
  d''1^\markup {
    \bold { Più mosso }
    \italic { non troppo \underline Vivo }
  }
  r2 r4 r8
  d,_\markup { \italic quasi \smallCaps Tromba }
  f1 d2 r
}

[image of music]

La mida del tipus de lletra es pot alterar en relació a la mida global del pentagrama de diverses maneres, com es veu a continuació.

Es pot fixar a una mida predefinida:

\relative b' {
  b1_\markup { \huge Sinfonia }
  b1^\markup { \teeny da }
  b1-\markup { \normalsize camera }
}

[image of music]

Es pot establir a un amida relativa a la mida anterior:

\relative b' {
  b1_\markup { \larger Sinfonia }
  b1^\markup { \smaller da }
  b1-\markup { \magnify #0.6  camera }
}

[image of music]

Es pot augmentar o disminuir de forma relativa al valor fixat per la mida global del pentagrama:

\relative b' {
  b1_\markup { \fontsize #-2 Sinfonia }
  b1^\markup { \fontsize #1 da }
  b1-\markup { \fontsize #3 camera }
}

[image of music]

També es pot establir a una mida de punts fix, independentment de la mida global del pentagrama:

\relative b' {
  b1_\markup { \abs-fontsize #20 Sinfonia }
  b1^\markup { \abs-fontsize #8 da }
  b1-\markup { \abs-fontsize #14 camera }
}

[image of music]

Si el text inclou espais, és millor escriure tot entre cometes, de forma que la mida de cada espai sigui correcte per a la mida dels altres caràcters.

\markup \fontsize #6 \bold { Sinfonia da camera }
\markup \fontsize #6 \bold { "Sinfonia da camera" }

[image of music]

El text es pot imprimir com subíndex o com superíndex. De forma predeterminada s’imprimeix en una mida menor, però també es pot usar una mida normal:

\markup {
  \column {
    \line { 1 \super st movement }
    \line { 1 \normal-size-super st movement
      \sub { (part two) }  }
  }
}

[image of music]

El mode de marcatge ofereix una manera fàcil d’escollir famílies de tipus de lletra alternatives. A no ser que s’especifiqui d’un altre mode, se selecciona automàticament el tipus de lletra predeterminada amb serifa, de tipus romà: en l’última línia de l’exemple següent, no hi ha diferència entre la primera i la segona paraula.

\markup {
  \column {
    \line { Act \number 1 }
    \line { \sans { Scene I. } }
    \line { \typewriter { Verona. An open place. } }
    \line { Enter \roman Valentine and Proteus. }
  }
}

[image of music]

Algunes d’aquestes famílies, usades per elements específics com números o matisos, no ofereixen tots els caràcters, com s’explica a Indicacions dinàmiques contemporànies i Marques de repetició manual.

Si s’usen dins d’una paraula, algunes instruccions de canvi de tipus de lletra o de format poden produir un espai buit no desitjat. Això es pot solucionar concatenant a un de sol els diferents elements de text:

\markup {
  \column {
    \line {
      \concat { 1 \super st }
      movement
    }
    \line {
      \concat { \dynamic p , }
      \italic { con dolce espressione }
    }
  }
}

[image of music]

Es pot trobar una llista exhaustiva d’ordres de canvi i utilització personalitzada dels tipus de lletres a Tipus de lletra.

També es possible definir conjunts personalitzats de tipus de lletra, tal i com s’explica a Explicació dels tipus de lletra.

Instruccions predefinides

\teeny, \tiny, \small, \normalsize, \large, \huge, \smaller, \larger.

Vegeu també

Referència de la notació: Tipus de lletra, Indicacions dinàmiques contemporànies, Marques de repetició manual, Tipus de lletra.

Fitxers d’inici: ‘scm/define-markup-commands.scm’.

Fragments de codi: Text.

Referència de funcionament intern: TextScript.

Advertiments i problemes coneguts

La utilització de les ordres de mida de text \teeny, \tiny, \small, \normalsize, \large i \huge condueixen a un espaiat de les línies inconsistent comparat amb l’ús de \fontsize.


Alineació de text

Aquesta subsecció tracta sobre com col·locar text al mode de marcatge. Els objecte de marcatge també es poden moure com un tot, usant la sintaxi que es descriu a Moviment d'objectes.

Els objectes de marcatge es poden alinear de diferents maneres. De forma predeterminada, una indicació de text s’alinea sobre la vora esquerra: a l’exemple següent, no hi ha diferència entre els marcatges primer i segon.

\relative {
  d''1-\markup { poco }
  f
  d-\markup { \left-align poco }
  f
  d-\markup { \center-align { poco } }
  f
  d-\markup { \right-align poco }
}

[image of music]

Es pot realitzar un ajust fi de l’alineació horitzontal usant un valor numèric:

\relative {
  a'1-\markup { \halign #-1 poco }
  e'
  a,-\markup { \halign #0 poco }
  e'
  a,-\markup { \halign #0.5 poco }
  e'
  a,-\markup { \halign #2 poco }
}

[image of music]

Certs objectes poden posseir els seus propis procediments d’alineació, i per tant no resulten afectats per aquestes ordres. És possible moure aquests objectes de marcatge com un tot, com es mostra per exemple a Indicacions de text.

L’alineació vertical és una mica més complexa. Com s’ha dit més a dalt, els objectes de marcatge es poden moure com un tot; tanmateix, també és possible moure element específics dins d’un bloc de marcatge. En aquest cas, l’element a moure s’ha de precedir d’un punt d’ancoratge, que pot ser un altre element de marcatge o un objecte invisible. L’exemple següent exemplifica aquestes dues possibilitats; l’últim marcatge en aquest exemple no té punt d’ancoratge i per això no resulta mogut.

\relative {
  d'2^\markup {
    Acte I
    \raise #2 { Scène 1 }
  }
  a'
  g_\markup {
    \null
    \lower #4 \bold { Très modéré }
  }
  a
  d,^\markup {
    \raise #4 \italic { Une forêt. }
  }
  a'4 a g2 a
}

[image of music]

Algunes ordres poden afectar tant a l’alineació horitzontal com a la vertical dels objectes de text en el mode de marcatge. Qualsevol objecte afectat per aquestes instruccions s’han de precedir d’un punt d’ancoratge:

\relative {
  d'2^\markup {
    Acte I
    \translate #'(-1 . 2) "Scène 1"
  }
  a'
  g_\markup {
    \null
    \general-align #Y #3.2 \bold "Très modéré"
  }
  a
  d,^\markup {
    \null
    \translate-scaled #'(-1 . 2) \teeny "Une forêt."
  }
  a'4 a g2 a
}

[image of music]

Un objecte de marcatge pot incloure diverses línies de text. A l’exemple següent, cada element o expressió se situa a la seva pròpia línia, ja sigui alineada per l’esquerra o centrada:

\markup {
  \column {
    a
    "b c"
    \line { d e f }
  }
  \hspace #10
  \center-column {
    a
    "b c"
    \line { d e f }
  }
}

[image of music]

De forma semblant, una llesta d’elements o expressions es pot repartir de forma que ompli per complet l’amplada de la línia horitzontal (si hi ha un sol element, se centra al paper). Al seu cop, aquestes expressions poden incloure text de diverses línies o qualsevol altre expressió de marcatge:

\markup {
  \fill-line {
    \line { William S. Gilbert }
    \center-column {
      \huge \smallCaps "The Mikado"
      or
      \smallCaps "The Town of Titipu"
    }
    \line { Sir Arthur Sullivan }
  }
}
\markup {
  \fill-line { 1885 }
}

[image of music]

Les indicacions de text llargues es poden també ajustar automàticament segons una amplada de línia donada. Estaran alineades per l’esquerra o justificades, com es mostra a l’exemple següent:

\markup {
  \column {
    \line  \smallCaps { La vida breve }
    \line \bold { Acto I }
    \wordwrap \italic {
      (La escena representa el corral de una casa de
      gitanos en el Albaicín de Granada.  Al fondo una
      puerta por la que se ve el negro interior de
      una Fragua, iluminado por los rojos resplandores
      del fuego.)
    }
    \hspace #0

    \line \bold { Acto II }
    \override #'(line-width . 50)
    \justify \italic {
      (Calle de Granada.  Fachada de la casa de Carmela
      y su hermano Manuel con grandes ventanas abiertas
      a través de las que se ve el patio
      donde se celebra una alegre fiesta)
    }
  }
}

[image of music]

Hi ha una llista exhaustiva d’ordres d’alineació de text a Align.

Vegeu també

Manual d’aprenentage: Moviment d'objectes.

Referència de la notació: Align, Indicacions de text.

Fitxers d’inici: ‘scm/define-markup-commands.scm’.

Fragments de codi: Text.

Referència de funcionament intern: TextScript.


Notació gràfica dins d’elements de marcatge

Es poden afegir diversos objectes gràfics a una partitura, utilitzant ordres de marcatge.

Certes ordres de marcatge permeten la decoració d’elements de text amb gràfics, com es mostra a l’exemple següent.

\markup \fill-line {
  \center-column {
    \circle Jack
    \box "in the box"
    \null
    \line {
      Erik Satie
      \hspace #3
      \bracket "1866 - 1925"
    }
    \null
    \rounded-box \bold Prelude
  }
}

[image of music]

Algunes poden requerir un augment del farciment al voltant del text: això es pot aconseguir amb algunes instruccions de marcatge descrites exhaustivament a Align.

\markup \fill-line {
  \center-column {
    \box "Charles Ives (1874 - 1954)"
    \null
    \box \pad-markup #2 "THE UNANSWERED QUESTION"
    \box \pad-x #8 "A Cosmic Landscape"
    \null
  }
}
\markup \column {
  \line {
    \hspace #10
    \box \pad-to-box #'(-5 . 20) #'(0 . 5)
      \bold "Largo to Presto"
  }
  \pad-around #3
      "String quartet keeps very even time,
Flute quartet keeps very uneven time."
}

[image of music]

Es poden imprimir altres símbols o elements gràfics sense que es requereixi cap altre text. De igual manera que al cas de les expressions de marcatge, aquests objectes es poden combinar:

\markup {
  \combine
    \draw-circle #4 #0.4 ##f
    \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1
  \hspace #5

  \center-column {
    \triangle ##t
    \combine
      \draw-line #'(0 . 4)
      \arrow-head #Y #DOWN ##f
  }
}

[image of music]

Entre les funcionalitats gràfiques avançades es troben la possibilitat d’incloure fitxers d’imatge externs convertits als format PosScript Encapsulat (eps), i la inclusió directa de gràfics dins del fitxer d’entrada, usant codi PostScript nadiu. En tal cas pot ser d’utilitat l’especificació explícita de la mida del dibuix, com s’exemplifica a continuació:

c'1^\markup {
  \combine
    \epsfile #X #10 #"./context-example.eps"
    \with-dimensions #'(0 . 6) #'(0 . 10)
    \postscript "
      -2 3 translate
      2.7 2 scale
      newpath
      2 -1 moveto
      4 -2 4 1 1 arct
      4 2 3 3 1 arct
      0 4 0 3 1 arct
      0 0 1 -1 1 arct
      closepath
      stroke"
  }
c'

[image of music]

Hi una llista exhaustiva d’ordres específiques de gràfics a Graphic.

Vegeu també

Referència de la notació: Align, Dimensions, Anotacions editorials, Graphic.

Fitxers d’inici: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm’.

Fragments de codi: Text.

Referència de funcionament intern: TextScript.


Notació musical dins d’elements de marcatge

Es poden afegir a la partitura diversos elements de notació musical, dins d’una objecte de marcatge.

Les notes i les alteracions es poden escriure utilitzant ordres de marcatge:

a'2 a'^\markup {
  \note #"4" #1
  =
  \note-by-number #1 #1 #1.5
}
b'1_\markup {
  \natural \semiflat \flat
  \sesquiflat \doubleflat
}
\glissando
a'1_\markup {
  \natural \semisharp \sharp
  \sesquisharp \doublesharp
}
\glissando b'

[image of music]

Altres objectes de notació es poden també imprimir al mode de marcatge:

\relative {
  g1 bes
  ees\finger \markup \tied-lyric "4~1"
  fis_\markup { \dynamic rf }
  bes^\markup {
    \beam #8 #0.1 #0.5
  }
  cis
  d-\markup {
    \markalphabet #8
    \markletter #8
  }
}

[image of music]

De forma més general, qualsevol símbol musical disponible es pot incloure per separat dins d’un objecte de marcatge, com s’exemplifica a continuació; hi ha una llista exhaustiva d’aquests símbols i els seus noms a El tipus de lletra Emmentaler.

\relative {
  c''2
  c'^\markup { \musicglyph "eight" }
  c,4
  c,8._\markup { \musicglyph "clefs.G_change" }
  c16
  c2^\markup { \musicglyph "timesig.neomensural94" }
}

[image of music]

Una altra forma d’imprimir glifs que no són de text es troba descrita a Explicació dels tipus de lletra. Serveix per imprimir claus de diferents mides.

El mode de marcatge també contempla diagrames per a instruments específics:

\relative {
  c''1^\markup {
    \fret-diagram-terse "x;x;o;2;3;2;"
  }
  c^\markup {
    \harp-pedal "^-v|--ov^"
  }
  c
  c^\markup {
    \combine
      \musicglyph "accordion.discant"
      \combine
	\raise #0.5 \musicglyph "accordion.dot"
	\raise #1.5 \musicglyph "accordion.dot"
  }
}

[image of music]

Aquests diagrames es troben documentats a Instrument Specific Markup.

Es pot incloure fins i tot una partitura completa dins d’un objecte de marcatge. En tal cas, el bloc niuat \score ha de contenir un bloc \layout, com es mostra aquí:

\relative {
  c'4 d^\markup {
    \score {
      \relative { c'4 d e f }
      \layout { }
    }
  }
  e f |
  c d e f
}

[image of music]

Hi ha una llista exhaustiva d’ordres relacionades amb la notació musical a Music.

Vegeu també

Referència de la notació: Music, El tipus de lletra Emmentaler, Explicació dels tipus de lletra.

Fitxers d’inici: ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm’.

Fragments de codi: Text.

Referència de funcionament intern: TextScript.


Elements de marcatge de diverses pàgines

Tot i que els objectes de marcatge estàndard no es poden dividir, una sintaxi específica fa possible la introducció de línies de text que poden abastar diverses pàgines:

\markuplist {
  \justified-lines {
    Un text molt llarg de línies justificades.
    ...
  }
  \wordwrap-lines {
    Un altre paràgraf molt llarg.
    ...
  }
  ...
}

[image of music]

Aquesta sintaxi accepta una llista d’elements de marcatge, que poden ser

Hi una llista exhaustiva de les ordres de llista de marcage a Ordres de llistes de marcatge de text.

Vegeu també

Referència de la notació: Ordres de llistes de marcatge de text.

Fitxers d’inici: ‘scm/define-markup-commands.scm’.

Manual de extensió: Definició de noves ordres de llista de marcatge.

Fragments de codi: Text.

Referència de funcionament intern: TextScript.

Instruccions predefinides

\markuplist.


1.8.3 Tipus de lletra

Aquesta secció presenta la forma en la qual es gestionen els tipus de lletra, i com es poden canviar a les partitures.


Explicació dels tipus de lletra

Els tipus de lletra es gestionen mitjançant diverses biblioteques. FontConfig s’utilitza per detectar els tipus de lletra disponibles al sistema; els tipus de lletra seleccionats es dibuixen fent servir Pango.

Els tipus de lletra de notació musical es poden descriure com un conjunt de glifs específics, ordenats en diverses famílies. La sintaxi següent permet usar directament diversos glifs del tipus de lletra Feta del LilyPond diferents a les de text en el mode de marcatge:

a'1^\markup {
  \vcenter {
    \override #'(font-encoding . fetaBraces)
    \lookup "brace120"
    \override #'(font-encoding . fetaText)
    \column { 1 3 sf }
    \override #'(font-encoding . fetaMusic)
    \lookup "noteheads.s0petrucci"
  }
}

[image of music]

Tanmateix, tots aquests glifs excepte les claus de diverses mides que estan contingudes al tipus de lletra fetaBraces estan disponibles utilitzant la sintaxi més senzilla que es descriu a Notació musical dins d’elements de marcatge.

Quan s’usen els glifs del tipus de lletra de claus fetaBraces, la mida de la clau s’especifica per la part numèrica del nom del glif, en unitats arbitràries. Es pot especificar qualsevol enter de 0 a 575 inclusiu, sent 0 el que produeix la clau més petita. El valor òptim s’ha de determinar per prova i error. Tots aquests glifs són claus esquerra; les claus dreta es poden obtenir mitjançant rotació, vegeu Rotació d’objectes.

Estan disponibles tres famílies de tipus de lletra per al text:

Cada família pot incloure diferents formes i sèries. El següent exemple mostra la possibilitat de seleccionar famílies, formes, sèries i mides alternatius. El valor que es dóna a font-size és el canvi requerit a partir de la mida predeterminada.

\override Score.RehearsalMark.font-family = #'typewriter
\mark \markup "Ouverture"
\override Voice.TextScript.font-shape = #'italic
\override Voice.TextScript.font-series = #'bold
d''2.^\markup "Allegro"
\override Voice.TextScript.font-size = #-3
c''4^smaller

[image of music]

Es pot usar una sintaxi semblant el mode de marcatge, tot i que en aquest cas és preferible usar la sintaxi senzilla que s’explica a Selecció del tipus de lletra i la seva mida.

\markup {
  \column {
    \line {
      \override #'(font-shape . italic)
      \override #'(font-size . 4)
      Idomeneo,
    }
    \line {
      \override #'(font-family . typewriter)
      {
        \override #'(font-series . bold)
        re
        di
      }
      \override #'(font-family . sans)
      Creta
    }
  }
}

[image of music]

Tot i que és fàcil canviar entre els tipus de lletra preconfigurats, també és possible usar altres tipus de lletra, com s’explica a les seccions següents: Tipus de lletra d’un sol element i Tipus de lletra del document complet.

Vegeu també

Referència de la notació: El tipus de lletra Emmentaler, Notació musical dins d’elements de marcatge, Rotació d’objectes, Selecció del tipus de lletra i la seva mida, Font.


Tipus de lletra d’un sol element

Es pot usar a una partitura qualsevol tipus de lletra que estigui instal·lada al sistema operatiu i reconeguda per part de FontConfig, usant la sintaxi següent:

\override Staff.TimeSignature.font-name = #"Bitstream Charter"
\override Staff.TimeSignature.font-size = #2
\time 3/4

a'1_\markup {
  \override #'(font-name . "Bitstream Vera Sans,sans-serif, Oblique Bold")
    { Vera Oblique Bold }
}

[image of music]

Es pot descriure font-name usant una llista de ‘tipus de lletra’ separats per comes i una llista de ‘estils’ separats per espais. Sempre que el ‘tipus de lletra’ de la llista estigui instal·lat i contingui el glif sol·licitat, s’usarà. En cas contrari, s’usarà com a substitució el tipus de lletra següent de la llista.

L’execució del LilyPond amb l’opció següent presenta una llista de tots els tipus de lletra disponibles al sistema operatiu:

lilypond -dshow-available-fonts x

Vegeu també

Referència de la notació: Explicació dels tipus de lletra, Tipus de lletra del document complet.

Fragments de codi: Text.


Tipus de lletra del document complet

Es poden canviar els tipus de lletra que s’usen com tipus de lletra predeterminats a les famílies romana, sans-serif i monoespaiada, especificant-los en aquest ordre com es veu a l’exemple de sota, que escala els tipus de lletra automàticament amb el valor fixat per a la mida global del pentagrama. De forma semblant a Tipus de lletra d’un sol element, Es pot descriure usant una llista de ‘Tipus de lletra’ separats per comes. Tanmateix, els ‘estils’ de tipus de lletra no es poden descriure. Per llegir més explicacions sobre els tipus de lletra, consulteu Explicació dels tipus de lletra.

\paper  {
  #(define fonts
    (make-pango-font-tree "Times New Roman"
                          "Nimbus Sans,Nimbus Sans L"
                          "Luxi Mono"
                          (/ staff-height pt 20)))
}

\relative c'{
  c1-\markup {
    roman,
    \sans sans,
    \typewriter typewriter. }
}

[image of music]

Vegeu també

Referència de la notació: Explicació dels tipus de lletra, Tipus de lletra d’un sol element, Selecció del tipus de lletra i la seva mida, Font.


2. Notació especialitzada

Aquest capítol explica com crear notació musical per instruments d’un tipus específic o dins d’estils específics.


2.1 Música vocal

[image of music]

Aquesta secció explica com gravar música vocal, i com assegurar-se que la lletra s’alinea amb les notes de la seva melodia corresponent.


2.1.1 Notació comuna per a música vocal

Aquesta secció s’ocupa de les qüestions comunes a la major part dels tipus de música vocal.


Referències per a música vocal

Aquesta secció indica on trobar els detalls de les qüestions de notació que poden sorgir a qualsevol tipus de música vocal.

Vegeu també

Glossario musical: ambitus.

Manual de aprenentatge: Elaborar cançons senzilles.

Referència de la notació: Introducció al marcatge de text, Tessitura, Disposicions de la partitura per a música coral.

Fragments de codi: Vocal music.


Introducció de la lletra

La lletra de les cançons s’introdueix en un mode d’entrada especial que s’inicia mitjançant la paraula clau \lyricmode, o bé mitjançant \addlyrics \lyricsto. En aquest mode especial d’entrada, el caràcter d no s’analitza com una nota, sinó més bé com una síl·laba d’una sola lletra. Dit d’una altra forma, les síl·labes s’introdueixen com les notes, però l’altura de les notes se substitueix per text.

Per exemple:

\lyricmode { Three4 blind mice,2 three4 blind mice2 }

Hi ha dos mètodes principals per especificar la col·locació horitzontal de les síl·labes: mitjançant la indicació de la duració de cada síl·laba explícitament, com a l’exemple anterior, o deixant que la lletra s’alinee automàticament amb una melodia o una altra veu de música, utilitzant \addlyrics o \lyricsto. El primer mètode es descriu a continuació sota l’epígraf Duració manual de les síl·labes. El segon mètode es descriu a Duració automàtica de les síl·labes.

Una paraula o síl·laba de la lletra comença amb un caràcter alfabètic (i alguns altres caràcters, vegeu a sota) i acaba amb un espai o dígit. La resta dels caràcters dins de la síl·laba poden ser qualssevol caràcters que no siguin dígit o espais.

A causa que qualsevol caràcter que no és un dígit o un espai es considera part de la síl·laba, una paraula és vàlida fins i tot si acaba amb }, cosa que sovint porta a l’error següent:

\lyricmode { la la la}

A aquest exemple, el símbol } està inclòs dins de la síl·laba final, per tant la clau d’obertura no es compensa amb la corresponent clau de tancament i el fitxer d’entrada probablement no es podrà processar. En comptes d’allò, les claus sempre han d’anar rodejades per espais:

\lyricmode { la la la }

Els signes de puntuació, les lletres amb caràcters accentuats o de qualsevol llengua diferent de l’anglès, o els caràcters especials (com el símbol de cor o les cometes inclinades), es poden inserir directament al fitxer d’entrada, sempre que es desi amb la codificació UTF-8. Per a més informació, consulteu Caràcters especials.

Els signes de puntuació, les lletres amb caràcters accentuats o de qualsevol llengua diferent de l’anglès, o els caràcters especials (com el símbol de cor, o les cometes inclinades), es poden inserir directament al fitxer d’entrada, sempre que es gravi amb la codificació UTF-8. Per a més informació, consulteu Caràcters especials.

\relative { d''8 c16 a bes8 f ees' d c4 }
\addlyrics { „Schad’ um das schö -- ne grü -- ne Band, }

[image of music]

Es poden usar les cometes normals dins de la lletra, però han d’anar precedides pel caràcter de barra invertida i la síl·laba en el seu conjunt s’ha d’envoltar en un altre parell de cometes. Per exemple,

\relative { \time 3/4 e'4 e4. e8 d4 e d c2. }
\addlyrics { "\"I" am so lone -- "ly,\"" said she }

[image of music]

La definició completa del començament d’una paraula al mode lyrics (lletra) és quelcom més complexa. Una paraula al mode lyrics comença per: un caràcter alfabètic, _, ?, !, :, ', els caràcters de control des de ^A fins a ^F, des de ^Q fins a ^W, ^Y, ^^, qualsevol caràcter de 8 bits amb codi consistent amb la combinació d’una barra invertida seguida per `, ', " o ^.

L’ús d’elements de marcatge \markup dins de la pròpia lletra dóna un enorme control sobre l’aparença de la lletra. Per veure una explicació de moltes de les opcions, vegeu Donar format al text.

Fragments de codi seleccionats

Formatting lyrics syllables

Markup mode may be used to format individual syllables in lyrics.

mel = \relative c'' { c4 c c c }
lyr = \lyricmode {
  Lyrics \markup { \italic can } \markup { \with-color #red contain }
  \markup { \fontsize #8 \bold Markup! }
}

<<
  \new Voice = melody \mel
  \new Lyrics \lyricsto melody \lyr
>>

[image of music]

Vegeu també

Manual d’aprenentatge; Cançons.

Referència de la notació: Duració automàtica de les síl·labes, Tipus de lletra, Donar format al text, Modes d’entrada, Duració manual de les síl·labes, Caràcters especials.

Referència de funcionament intern: LyricText.

Fragments de codi: Text.


Alineació de la lletra a una melodia

La lletra s’interpreta al mode \lyricmode y s’imprimeix dins del context anomenat Lyrics,

\new Lyrics \lyricmode { … }

Dues variants de \lyricmode a més disposen d’un context associat que s’usa per sincronitzar les síl·labes de la lletra amb la música. \addlyrics, que és més convenient, segueix immediatament al contingut musical del context de Voice amb el que s’ha de sincronitzar, creant implícitament un context Lyrics complet, \lyricsto és més versàtil i requereix tant que s’especifiqui el context Voice associat pel seu nom, com que es creï explícitament un context contenidor Lyrics. Per veure més detalls, consulteu Duració automàtica de les síl·labes.

La lletra es pot alinear amb la melodia de dues maneres principals:

Vegeu també

Manual de aprenentatge: Alineació de la lletra a una melodia.

Referència de la notació: Explicació sobre els contextos, Duració automàtica de les síl·labes. Versos, Duració manual de les síl·labes, Diàlegs a sobre de la música. Duració manual de les síl·labes.

Referència de funcionament interno: Lyrics.


Duració automàtica de les síl·labes

Les síl·labes de la lletra es poden alinear automàticament amb les notes d’una melodia de tres formes:

Als tres mètodes es poden traçar guions de separació entre les síl·labes d’una paraula i línies extensores després del final d’una paraula. Per veure més detalls, vegeu Línies d’extensió i guions.

El context Voice que conté la melodia amb la qual s’està alineant la lletra, no ha d’haver “mort”, o es perdrà la lletra a partir d’aquest punt. Això pot passar si hi ha períodes en els quals aquesta veu no té res a fer. Per veure mètodes per mantenir vius els contextos, consulteu Mantenir vius els contextos.

Ús de \lyricsto

Les síl·labes de la lletra es poden alinear automàticament sota les notes d’una melodia especificant pel seu nom el context de veu que conté la melodia, amb \lyricsto:

<<
  \new Voice = "melodia" \relative {
    a'1 a4. a8 a2
  }
  \new Lyrics \lyricsto "melodia" {
    These are the words
  }
>>

[image of music]

Això alinea les síl·labes amb les notes del context Voice anomenat, que ha d’existir prèviament. Per tant, normalment s’especifica primer el context Voice seguit del context Lyrics. La lletra en sí segueix a l’ordre \lyricsto. L’ordre \lyricsto invoca automàticament el mode de lletra. De forma predeterminada, la lletra es col·loca per sota de les notes. Per a d’altres col·locacions, consulteu Posicionament vertical de la lletra.

Ús de \addlyrics

L’ordre \addlyrics és realment tans sols una forma còmoda d’escriure una estructura del LilyPond més complicada si cal per la lletra.

{ MÚSICA }
\addlyrics { LLETRA }

és el mateix que

\new Voice = "blabla" { MÚSICA }
\new Lyrics \lyricsto "blabla" { LLETRA }

Heus ací un exemple:

{
  \time 3/4
  \relative { c'2 e4 g2. }
  \addlyrics { play the game }
}

[image of music]

Es poden afegir més versos posant més seccions \addlyrics:

{
  \time 3/4
  \relative { c'2 e4 g2. }
  \addlyrics { play the game }
  \addlyrics { speel het spel }
  \addlyrics { joue le jeu }
}

[image of music]

L’ordre \addlyrics no pot manegar situacions de polifonia. A més a més, no pot usar-se per associar lletra a un context de tabulatura TabVoice. Per a aquests casos s’hauria d’usar \lyricsto.

Ús de associatedVoice

Es pot canviar la melodia a la qual s’alinea la lletra mitjançant l’establiment de la propietat associatedVoice,

\set associatedVoice = #"lala"

El valor de la propietat (aquí: "lala") ha de ser el nom d’un context Voice. Per raons tècniques, l’ordre \set s’ha d’escriure una síl·laba abans de la qual es vol aplicar el canvi de veu.

Heus ací un exemple que mostra el seu ús:

<<
  \new Staff <<
    \time 2/4
    \new Voice = "una" \relative {
      \voiceOne
      c''4 b8. a16 g4. r8 a4 ( b ) c2
    }
    \new Voice = "dos" \relative {
      \voiceTwo
       s2 s4. f'8 e8 d4. c2
    }
  >>
% agafa les duracions i l'alineació de les notes de «una» inicialment
% després canvia a «dos»
  \new Lyrics \lyricsto "una" {
    No more let
    \set associatedVoice = "dos"  % s'ha d'establir una síl·laba prèviament
    sins and sor -- rows grow.
  }
>>

[image of music]

Vegeu també

Referència de la notació: Línies d’extensió i guions, Mantenir vius els contextos, Posicionament vertical de la lletra.


Duració manual de les síl·labes

A certes músiques vocals complexes pot ser desitjable col·locar la lletra de forma completament independent de les notes. En aquest cas, no heu d’usar \lyricsto ni \addlyrics i no heu d’establir un valor per a associatedVoice. Les síl·labes s’escriuen com a notes – però substituint els noms de les notes per text – i la duració de cada síl·laba s’escriu explícitament després de la síl·laba.

Es poden traçar línies separadores entre les síl·labes, com és usual, però no es poden traçar línies extensores quan no hi ha una veu associada.

Heus ací dos exemples:

<<
  \new Voice = "melodia" \relative {
    c''2 a f f e e
  }
  \new Lyrics \lyricmode {
    c4. -- a -- f -- f -- e2. -- e
  }
>>

[image of music]

<<
  \new Staff {
    \relative {
      c''2 c2
      d1
    }
  }
  \new Lyrics {
    \lyricmode {
      I2 like4. my8 cat!1
    }
  }
  \new Staff {
    \relative {
      c'8 c c c c c c c
      c8 c c c c c c c
    }
  }
>>

[image of music]

Aquesta tècnica és molt útil quan s’escriuen diàlegs a sobre a la música, vegeu Diàlegs a sobre de la música.

Per canviar l’alineació de les síl·labes, simplement sobreescriviu la propietat self-alignment-X:

<<
  \new Voice = "melodia" \relative {
    \time 3/4
    c'2 e4 g2 f
  }
  \new Lyrics \lyricmode {
    \override LyricText.self-alignment-X = #LEFT
    play1 a4 game4
  }
>>

[image of music]

Vegeu també

Referència de la notació: Mantenir vius els contextos,

Referència de funcionament intern: Lyrics, Voice.


Diverses síl·labes sobre una nota

Per assignar més d’una síl·laba a una única nota amb espais entre les síl·labes, podem envoltar la frase entre cometes o utilitzar un caràcter de guió sota _. De forma alternativa, podem usar el símbol de titlla corba (~) per obtenir una lligadura de text.

{
  \relative {
    \autoBeamOff
    r8 b' c fis, fis c' b e,
  }
  \addlyrics
  {
    \override LyricHyphen.minimum-distance = #1.0 % Assegura que els guionets són visibles
    Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da
  }
  \addlyrics { "Che in" ques -- "ta e in" quel -- l'al -- tr'on -- da }
  \addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da }
}

[image of music]

Vegeu també

Referència de funcionament intern: LyricCombineMusic.


Diverses notes sobre una síl·laba

A vegades, i sobretot a la música medieval i del barroc, diverses notes es canten sobre una síl·laba única; aquestes vocalitzacions reben el nom de melismes, o melismata (vegeu melisma). La síl·laba d’un melisma se sol alinear per l’esquerra amb la primera nota del melisma.

Quan es produeix un melisma sobre una síl·laba diferent de l’última d’una paraula, aquesta síl·laba se sol unir a la següent amb un guió separador. Això s’indica al codi d’entrada escrivint un doble guió, --, immediatament després de la síl·laba.

De forma alternativa, quan es produeix un melisma sobre l’última o sobre l’única síl·laba d’una paraula, se sol traçar una línia extensora des del final de la síl·laba fins l’última nota del melisma. Aixo s’indica en el codi d’entrada escrivint una doble barra baixa o caràcter de subrrallat, __, immediatament després de la paraula.

Hi ha cinc formes d’indicar els melismes:

És possible tenir lligadures d’unió o d’expressió i barres manuals a la melodia sense que indiquin melisma. Per fer-lo, ajusteu el valor de melismaBusyProperties:

<<
  \new Voice = "melodia" \relative {
    \time 3/4
    \set melismaBusyProperties = #'()
    c'4 d ( e )
    g8 [ f ] f4 ~ 4
  }
  \new Lyrics \lyricsto "melodia" {
    Ky -- ri -- e e -- le -- i -- son
  }
>>

[image of music]

Es poden usar d’altres valors per a melismaBusyProperties si volem incloure o excloure selectivament les lligadures d’unió, lligadures d’expressió o barres de la detecció automàtica dels melismes; vegeu melismaBusyProperties a l’apartat Tunable context properties.

Como a alternativa, si totes les indicacions de melisma s’ignoraran, es pot establir ignoreMelismata al valor vertader; vegeu Versos amb ritmes diferents.

Si es requereix un melisma al transcurs d’un passatge en el qual melismaBusyProperties està actiu, pot indicar-se col·locant una sola barra baixa a la lletra per cada nota que s’ha d’incloure dins del melisma:

<<
  \new Voice = "melodia" \relative {
    \time 3/4
    \set melismaBusyProperties = #'()
    c'4 d ( e )
    g8 [ f ] ~ 4 ~ f
  }
  \new Lyrics \lyricsto "melodia" {
    Ky -- ri -- _ e __ _ _ _
  }
>>

[image of music]

Instruccions predefinides

\autoBeamOff, \autoBeamOn, \melisma, \melismaEnd.

Vegeu també

Glossari musical: melisma.

Manual d’aprenentatge: Alineació de la lletra a una melodia.

Referència de la notació: Alineació de la lletra a una melodia, Duració automàtica de les síl·labes, Establir el comportament de les barres automàtiques, Versos amb ritmes diferents.

Referència de funcionament intern: Tunable context properties.

Advertiments i problemes coneguts

No es creen automàticament línies extensores sota els melismes; s’han d’inserir manualment amb un doble guió baix.


Línies d’extensió i guions

Els melismes s’indiquen mitjançant una línia horitzontal centrada entre una síl·laba i la següent. Aquesta línia rep el nom de línia d’extensió, i s’escriu com ‘ __ ’ (fixeu-vos en els espais abans i després dels guions baixos).

Nota: Els melismes s’indiquen a la partitura amb línies extensores, que s’escriuen amb un doble guió baix; però també es poden introduir melismes curts mitjançant salts de notes individuals, que s’escriuen com caràcters aïllats de guió baix; de forma predeterminada aquests caràcters no produeixen la impressió d’una línia d’extensió.

Els guions centrats s’escriuen com ‘ -- ’ entre síl·labes d’una mateixa paraula (fixeu-vos en els espais abans i després del dos guionets). El guionet quedarà centrat entres les síl·labes, i la seva longitud s’ajustarà en funció de l’espai que existeix entre elles.

En la música gravada de manera molt atapeïda, es poden treure els guionets. Es pot controlar si passa això o no, mitjançant les propietats minimum-distance (distància mínima entre les dues síl·labes) i la minimum-length (umbral per sota del qual se suprimeixen els guionets) de LyricHyphen.

Vegeu també

Referència de funcionament intern: LyricExtender, LyricHyphen.


2.1.2 Tècniques específiques per a les lletres


Treball amb lletra i variables

Es poden crear variables que contenen lletra, però la lletra s’ha d’introduir en el mode lletra:

musicOne = \relative {
  c''4 b8. a16 g4. f8 e4 d c2
}
verseOne = \lyricmode {
  Joy to the world, the Lord is come.
}
\score {
  <<
    \new Voice = "one" {
      \time 2/4
      \musicOne
    }
    \new Lyrics \lyricsto "one" {
      \verseOne
    }
  >>
}

[image of music]

No cal escriure les duraciones si la variable s’invocarà amb \addlyrics o amb \lyricsto.

Per a disposicions diferents o més complexes, la millor forma és definir en primer lloc les variables de la música i de la lletra, després preparar una jerarquia de pentagrames i lletres, ometent la lletra en sí, i després posar la lletra utilitzant \context per sota. Això assegura que les veus referenciades per \lyricsto siempre han estat definides prèviament. Per exemple:

sopranoMusic = \relative { c''4 c c c }
contraltoMusic = \relative { a'4 a a a }
sopranoWords = \lyricmode { Sop -- ra -- no words }
contraltoWords = \lyricmode { Con -- tral -- to words }

\score {
  \new ChoirStaff <<
    \new Staff {
      \new Voice = "sopranos" {
        \sopranoMusic
      }
    }
    \new Lyrics = "sopranos"
    \new Lyrics = "contraltos"
    \new Staff {
      \new Voice = "contraltos" {
        \contraltoMusic
      }
    }
    \context Lyrics = "sopranos" {
      \lyricsto "sopranos" {
        \sopranoWords
      }
    }
    \context Lyrics = "contraltos" {
      \lyricsto "contraltos" {
        \contraltoWords
      }
    }
  >>
}

[image of music]

Vegeu també

Referència de la notació: Posicionament vertical de la lletra.

Referència de funcionament intern: LyricCombineMusic, Lyrics.


Posicionament vertical de la lletra

Depenent del tipus de música, la lletra pot col·locar-se sobre el pentagrama, a sota del pentagrama o entre dos pentagrames. El més fàcil és situar la lletra a sota de la pauta associada, i es pot aconseguir simplement definint el context Lyrics per sota del context Staff:

\score {
  <<
    \new Staff {
      \new Voice = "melodia" {
        \relative { c''4 c c c }
      }
    }
    \new Lyrics {
      \lyricsto "melodia" {
        Here are the words
      }
    }
  >>
}

[image of music]

Es pot col·locar la lletra sobre el pentagrama usat un dels dos mètodes disponibles: el més senzill (i preferible) és usar la mateixa sintaxi que s’ha vist més a dalt i especificar explícitament la posició de la lletra:

\score {
  <<
    \new Staff = "staff" {
      \new Voice = "melody" {
        \relative { c''4 c c c }
      }
    }
    \new Lyrics \with { alignAboveContext = "staff" } {
      \lyricsto "melody" {
        Here are the words
      }
    }
  >>
}

[image of music]

Com a alternativa, es pot usar un procés en dos passos. En primer lloc es declara el context Lyrics (sense cap contingut), abans dels contextos Staff i Voice, i després s’escriu l’ordre \lyricsto després de la declaració de Voice a què fa referència, usant \context, com es veu a continuació:

\score {
  <<
    \new Lyrics = "lyrics" \with {
      % lyrics above a staff should have this override
      \override VerticalAxisGroup.staff-affinity = #DOWN
    }
    \new Staff {
      \new Voice = "melody" {
        \relative { c''4 c c c }
      }
    }
    \context Lyrics = "lyrics" {
      \lyricsto "melody" {
        Here are the words
      }
    }
  >>
}

[image of music]

Quan hi ha dues veus sobre pentagrames separats, la lletra es pot col·locar sobre ells usant qualsevol d’aquests mètodes. Heus ací un exemple del segon mètode:

\score {
  \new ChoirStaff <<
    \new Staff {
      \new Voice = "sopranos" {
        \relative { c''4 c c c }
      }
    }
    \new Lyrics = "sopranos"
    \new Lyrics = "contraltos" \with {
      % lyrics above a staff should have this override
      \override VerticalAxisGroup.staff-affinity = #DOWN
    }
    \new Staff {
      \new Voice = "contraltos" {
        \relative { a'4 a a a }
      }
    }
    \context Lyrics = "sopranos" {
      \lyricsto "sopranos" {
        Sop -- ra -- no words
      }
    }
    \context Lyrics = "contraltos" {
      \lyricsto "contraltos" {
        Con -- tral -- to words
      }
    }
  >>
}

[image of music]

És possible generar d’altres combinacions de lletra i pautes mitjançant l’elaboració dels exemples anteriors, o examinant les plantilles del Manual d’Aprenentatge, vegeu Plantilles de conjunts vocals.

Fragments de codi seleccionats

Obtaining 2.12 lyrics spacing in newer versions

The vertical spacing engine changed since version 2.14. This can cause lyrics to be spaced differently.

It is possible to set properties for Lyric and Staff contexts to get the spacing engine to behave as it did in version 2.12.

global = {
  \key d \major
  \time 3/4
}

sopMusic = \relative c' {
  % VERSE ONE
  fis4 fis fis | \break
  fis4. e8 e4
}

altoMusic = \relative c' {
  % VERSE ONE
  d4 d d |
  d4. b8 b4 |
}

tenorMusic = \relative c' {
  a4 a a |
  b4. g8 g4 |
}

bassMusic = \relative c {
  d4 d d |
  g,4. g8 g4 |
}

words = \lyricmode {
  Great is Thy faith -- ful -- ness,
}

\score {
  \new ChoirStaff <<
    \new Lyrics = sopranos
    \new Staff = women <<
      \new Voice = "sopranos" {
        \voiceOne
        \global \sopMusic
      }
      \new Voice = "altos" {
        \voiceTwo
        \global \altoMusic
      }
    >>
    \new Lyrics = "altos"
    \new Lyrics = "tenors"
    \new Staff = men <<
      \clef bass
      \new Voice = "tenors" {
        \voiceOne
        \global \tenorMusic
      }
      \new Voice = "basses" {
        \voiceTwo  \global \bassMusic
      }
    >>
    \new Lyrics = basses
    \context Lyrics = sopranos \lyricsto sopranos \words
    \context Lyrics = altos \lyricsto altos \words
    \context Lyrics = tenors \lyricsto tenors \words
    \context Lyrics = basses \lyricsto basses \words
  >>
  \layout {
    \context {
      \Lyrics
      \override VerticalAxisGroup.staff-affinity = ##f
      \override VerticalAxisGroup.staff-staff-spacing =
        #'((basic-distance . 0)
	   (minimum-distance . 2)
	   (padding . 2))
    }
    \context {
      \Staff
      \override VerticalAxisGroup.staff-staff-spacing =
        #'((basic-distance . 0)
	   (minimum-distance . 2)
	   (padding . 2))
    }
  }
}

[image of music]

Vegeu també

Manual d’ aprenentatge: Plantilles de conjunts vocals.

Referència de la notació: Ordre de disposició dels contextos, Creació i referenciació de contextos.


Col·locació horitzontal de les síl·labes

Per augmentar la separació entre les línies de text, establiu la propietat minimum-distance de LyricSpace.

\relative c' {
  c c c c
  \override Lyrics.LyricSpace.minimum-distance = #1.0
  c c c c
}
\addlyrics {
  longtext longtext longtext longtext
  longtext longtext longtext longtext
}

[image of music]

Per aplicar aquest canvi a totes les lletres de la partitura, ajusteu la propietat dins del bloc \layout.

\score {
  \relative {
  c' c c c
  c c c c
  }
  \addlyrics {
  longtext longtext longtext longtext
  longtext longtext longtext longtext
  }
  \layout {
    \context {
      \Lyrics
      \override LyricSpace.minimum-distance = #1.0
    }
  }
}

[image of music]

Fragments de codi seleccionats

Lyrics alignment

Horizontal alignment for lyrics can be set by overriding the self-alignment-X property of the LyricText object. #-1 is left, #0 is center and #1 is right; however, you can use #LEFT, #CENTER and #RIGHT as well.

\layout { ragged-right = ##f }
\relative c'' {
  c1
  c1
  c1
}
\addlyrics {
  \once \override LyricText.self-alignment-X = #LEFT
  "This is left-aligned"
  \once \override LyricText.self-alignment-X = #CENTER
  "This is centered"
  \once \override LyricText.self-alignment-X = #1
  "This is right-aligned"
}

[image of music]

La comprovació necessària per assegurar que les inscripcions de text estiguin dins dels marges, requereix càlculs addicionals. Per accelerar lleugerament el processat, es pot desactivar aquesta funcionalitat:

\override Score.PaperColumn.keep-inside-line = ##f

Per fer que el text eviti també les línies divisòries, useu

\layout {
  \context {
    \Lyrics
      \consists "Bar_engraver"
      \consists "Separating_line_group_engraver"
      \hide BarLine
  }
}

Lletra i repeticions

Repeticions senzilles

Les repeticions en la música es descriuen extensament a alguna altra part d’aquest maual; vegeu Repeticions. Aquesta secció explica com afegir lletra a seccions de música que es repeteixen.

La lletra que va amb una secció de música que es repeteix, hauria d’estar envoltada en la mateixa construcció de repeticions exacta que la música, si el text no canvia.

\score {
  <<
    \new Staff {
      \new Voice = "melody" {
        \relative {
          a'4 a a a
          \repeat volta 2 { b4 b b b }
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Not re -- peat -- ed.
        \repeat volta 2 { Re -- peat -- ed twice. }
      }
    }
  >>
}

[image of music]

El text s’expandirà correctament d’aquesta manera si es despleguen les repeticions.

\score {
  \unfoldRepeats {
    <<
      \new Staff {
        \new Voice = "melody" {
          \relative {
            a'4 a a a
            \repeat volta 2 { b4 b b b }
          }
        }
      }
      \new Lyrics {
        \lyricsto "melody" {
          Not re -- peat -- ed.
          \repeat volta 2 { Re -- peat -- ed twice. }
        }
      }
    >>
  }
}

[image of music]

Si la secció repetida ha de desplegar-se i té una lletra diferent, escriviu simplement tot el text:

\score {
  <<
    \new Staff {
      \new Voice = "melody" {
        \relative {
          a'4 a a a
          \repeat unfold 2 { b4 b b b }
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Not re -- peat -- ed.
        The first time words.
        Sec -- ond time words.
      }
    }
  >>
}

[image of music]

Quan el text de les seccions de primera o segona vegada es diferent, la lletra de cada repetició s’ha d’escriure dins de contextos Lyrics diferents, niuats correctament a seccions paral·leles:

\score {
  <<
    \new Staff {
      \new Voice = "melody" {
        \relative {
          a'4 a a a
          \repeat volta 2 { b4 b b b }
        }
      }
    }
    \new Lyrics \lyricsto "melody" {
      Not re -- peat -- ed.
      <<
	{ The first time words. }
	\new Lyrics {
	  \set associatedVoice = "melody"
	  Sec -- ond time words.
	}
      >>
    }
  >>
}

[image of music]

Es poden afegir més estrofes d’una manera semblant:

\score {
  <<
    \new Staff {
      \new Voice = "singleVoice" {
        \relative {
	  a'4 a a a
	  \repeat volta 3 { b4 b b b }
          c4 c c c
	}
      }
    }
    \new Lyrics \lyricsto "singleVoice" {
      Not re -- peat -- ed.
      <<
        { The first time words.	}
	\new Lyrics {
	  \set associatedVoice = "singleVoice"
	  Sec -- ond time words.
	}
	\new Lyrics {
	  \set associatedVoice = "singleVoice"
	  The third time words.
	}
      >>
      The end sec -- tion.
    }
  >>
}

[image of music]

Malgrat això, si aquesta construcció s’insereix dins d’un context de diversos pentagrames tal com un ChoirStaff, la lletra dels versos segon i tercer apareixerà a sota del pentagrama inferior.

Per posicionar-los correctament utilitzeu alignBelowContext:

\score {
  <<
    \new Staff {
      \new Voice = "melody" {
        \relative {
	  a'4 a a a
	  \repeat volta 3 { b4 b b b }
          c4 c c c
	}
      }
    }
    \new Lyrics = "firstVerse" \lyricsto "melody" {
      Not re -- peat -- ed.
      <<
        { The first time words.	}
	\new Lyrics = "secondVerse"
        \with { alignBelowContext = #"firstVerse" } {
	  \set associatedVoice = "melody"
	  Sec -- ond time words.
	}
	\new Lyrics = "thirdVerse"
        \with { alignBelowContext = #"secondVerse" } {
	  \set associatedVoice = "melody"
	  The third time words.
	}
      >>
      The end sec -- tion.
    }
    \new Voice = "harmony" {
      \relative {
        f'4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2
      }
    }
  >>
}

[image of music]

Repeticions amb finals alternatius (primera i segona vegada)

Si el text de la secció repetida és el mateix, i cap dels blocs \alternative comença amb un silenci, es pot usar exactament la mateixa estructura tant per a la lletra com per a la música. Això té l’avantatge que \unfoldRepeats expandeix correctament tant la música com la lletra.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative {
          a'4 a a a
          \repeat volta 2 { b4 b }
          \alternative { { b b } { b c } }
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Not re -- peat -- ed.
        \repeat volta 2 { Re -- peat -- }
        \alternative { { ed twice. } { ed twice. } }
      }
    }
  >>
}

[image of music]

Però quan la secció repetida té un text diferent, o quan un dels blocs \alternative comença amb un silenci, no es pot usar una construcció de repetició per al text i cal inserir manualment ordres \skip per saltar sobre les notes a les seccions alternatives que no correponguin.

Nota: no utilitzeu un guió baix, _, per saltar notes: el guió baix indica un melisma, i fa que la síl·laba anterior quedi alineada per l’esquerra.

Nota: L’ordre \skip ha d’anar seguida per un número, però aquest número s’ignora dins de la lletra, que deriva les duracions de les notes d’una melodia associada a través de addlyrics o lyricsto. Cada \skip salta una sola nota de qualsevol valor, independentment del valor del nombre que s’escriu a continuació.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative {
          \repeat volta 2 { b'4 b }
          \alternative { { b b } { b c } }
          c4 c
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        The first time words.
        \repeat unfold 2 { \skip 1 }
        End here.
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Sec -- ond
        \repeat unfold 2 { \skip 1 }
        time words.
      }
    }
  >>
}

[image of music]

Quan una nota està lligada sobre dos o més finals alternatius (sobre la primera nota d’una casella de primera i segona vegada), s’usa una lligadura d’unió per arrossegar la nota dins del primer final alternatiu i s’usa una ordre \repeatTie de lligadura de repetició a les caselles de repetició següents. Aquesta estructura produeix problemes d’alineació difícils quan hi ha lletra pel mig; augmentar la longitud de les seccions alternatives de forma que les notes lligades quedin contingudes completament dins d’elles, pot oferir un resultat acceptable.

La lligadura d’unió crea un melisma dins de la casella de primera vegada però no en la segona vegada i següent; per tant, per alinear la lletra correctament cal desactivar la creació automàtica de melismes sobre la secció de finals alternatius i inserir salts manuals.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative {
          \set melismaBusyProperties = #'()
          \repeat volta 2 { b'4 b ~}
          \alternative { { b b } { b \repeatTie c } }
          \unset melismaBusyProperties
          c4 c
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        \repeat volta 2 { Here's a __ }
        \alternative {
          { \skip 1 verse }
          { \skip 1 sec }
        }
        ond one.
      }
    }
  >>
}

[image of music]

Observeu que si s’usa \unfoldRepeats sobre una secció que contingui alguna \repeatTie, la \repeatTie s’ha d’eliminar per evitar que s’imprimeixin al mateix temps els dos tipus de lligadures.

Quan la secció repetida té textos diferent, no es pot usar \repeat per a la lletra i s’han d’inserir ordres \skip, com es va veure abans.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative {
          \repeat volta 2 { b'4 b ~}
          \alternative { { b b } { b \repeatTie c } }
          c4 c
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here's a __ verse.
        \repeat unfold 2 { \skip 1 }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here's one
        \repeat unfold 2 { \skip 1 }
        more to sing.
      }
    }
  >>
}

[image of music]

Si volem imprimir línies extensores i guions que entren o surten de les caselles de primera i segona vegada, hem d’inserir-los manualment.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative {
          \repeat volta 2 { b'4 b ~}
          \alternative { { b b } { b \repeatTie c } }
          c4 c
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here's a __ verse.
        \repeat unfold 2 { \skip 1 }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here's "a_"
        \skip 1
        "_" sec -- ond one.
      }
    }
  >>
}

[image of music]

Vegeu també

Referència de la notació: Mantenir vius els contextos, Repeticions.


Lletres en divisi

Quan solament difereixen les paraules i les duracions de les dues parts mentre que l’alçada de les notes és la mateixa, el mètode adequat pot ser la desactivació temporal de la detecció automàtica dels melismes i indicar el melisma dins de la lletra:

\score {
  <<
    \new Voice = "melody" {
      \relative c' {
        \set melismaBusyProperties = #'()
        \slurDown
        \slurDashed
        e4 e8 ( e ) c4 c |
        \unset melismaBusyProperties
        c
      }
    }
    \new Lyrics \lyricsto "melody" {
      They shall not o -- ver -- come
    }
    \new Lyrics \lyricsto "melody" {
      We will _
    }
  >>
}

[image of music]

Quan difereixen tant la música com les paraules, pot ser millor imprimir la música i la lletra que difereixen mitjançant l’anomenat de contextos de veu i adjuntant la lletra a aquests contextos específics:

\score {
  <<
    \new Voice = "melody" {
      \relative {
        <<
          {
            \voiceOne
            e'4 e8 e
          }
          \new Voice = "splitpart" {
            \voiceTwo
            c4 c
          }
        >>
        \oneVoice
        c4 c |
        c
      }
    }
    \new Lyrics \lyricsto "melody" {
      They shall not o -- ver -- come
    }
    \new Lyrics \lyricsto "splitpart" {
      We will
    }
  >>
}

[image of music]

En la música coral és freqüent que una part vocal es divideixi en dues durant diversos compassos. La construcció << {…} \\ {…} >>, en la qual dues (o més) expressions musicals estan separades per dues barres invertides, pot en principi semblar la forma més adequada de realitzar les veus dividides. Tanmateix, aquesta construcció assigna totes les expressions que estan dins d’ella a contextos de veu NOUS, cosa que fa que no s’assigni a elles cap lletra perquè la lletra s’assigna al context de veu original, que no és el que pretenem, en general. La construcció correcta que hem d’usar és el passatge polifònic temporal, vegeu la secció Passatges polifònics temporals dins de Polifonia en un sol pentagrama.


Polifonia amb lletres compartides

Quan dues veus les notes de les quals tenen diferents duracions comparteixen la mateixa lletra, l’alineació de la lletra a una de les veus pot generar problemes a l’altra veu. Per exemple, la segona línia extensora que es veu a sota és massa curta, perquè la lletra està alineada sols amb la veu superior:

soprano = \relative { b'8( c d c) d2 }
alto = \relative { g'2 b8( a g a) }
words = \lyricmode { la __ la __ }

\new Staff <<
  \new Voice = "sopranoVoice" { \voiceOne \soprano }
  \new Voice { \voiceTwo \alto }
  \new Lyrics \lyricsto "sopranoVoice" \words
>>

[image of music]

Per obtenir el resultat desitjat, alineeu la lletra amb un context NullVoice (‘Veu Nul·la’) nou que contingui una combinació adequada de les dues veus. Les notes del context NullVoice no apareixen a la pàgina impresa, però poden utilitzar-se per alinear la lletra adequadament:

soprano = \relative { b'8( c d c) d2 }
alto = \relative { g'2 b8( a g a) }
aligner = \relative { b'8( c d c) b( a g a) }
words = \lyricmode { la __ la __ }

\new Staff <<
  \new Voice { \voiceOne \soprano }
  \new Voice { \voiceTwo \alto }
  \new NullVoice = "aligner" \aligner
  \new Lyrics \lyricsto "aligner" \words
>>

[image of music]

Aquest mètode es pot usar també amb la funció \partcombine, que per sí mateixa no permet incloure lletra:

soprano = \relative { b'8( c d c) d2 }
alto = \relative { g'2 b8( a g a) }
aligner = \relative { b'8( c d c) b( a g a) }
words = \lyricmode { la __ la __ }

\new Staff <<
  \new Voice \partcombine \soprano \alto
  \new NullVoice = "aligner" \aligner
  \new Lyrics \lyricsto "aligner" \words
>>

[image of music]

Advertiments i problemes coneguts

La funció \addLyrics sols funciona amb lletra de Voice, per la qual cosa no pot utilitzar-se amb NullVoice.

La funció \partcombine es descriu a Combinació automàtica de les parts.

Por últim, aquest mètode es pot usar fins i tot si les veus estan a diferents pentagrames, i no es limita únicament a dues veus:

soprano = \relative { b'8( c d c) d2 }
altoOne = \relative { g'2 b8( a b4) }
altoTwo = \relative { d'2 g4( fis8 g) }
aligner = \relative { b'8( c d c) d( d d d) }
words = \lyricmode { la __ la __ }

\new ChoirStaff \with {\accepts NullVoice } <<
  \new Staff \soprano
  \new NullVoice = "aligner" \aligner
  \new Lyrics \lyricsto "aligner" \words
  \new Staff \partcombine \altoOne \altoTwo
>>

[image of music]


2.1.3 Versos


Afegir números de vers

Els números de versos es poden afegir establint stanza, per exemple,

\new Voice \relative {
  \time 3/4 g'2 e4 a2 f4 g2.
} \addlyrics {
  \set stanza = #"1. "
  Hi, my name is Bert.
} \addlyrics {
  \set stanza = #"2. "
  Oh, ché -- ri, je t'aime
}

[image of music]

Aquests números apareixeran immediatament abans de la primera síl·laba.


Afegir expressions dinàmiques als versos

Els versos que difereixen en la seva sonoritat es poden especificar escrivint una indicació dinàmica abans de cada vers. Al LilyPond, tot el que apareix endavant d’un vers està dins de l’objecte StanzaNumber; les indicacions dinàmiques no són diferents. Per raons tècniques, haureu d’establir el valor de la secció stanza (vers) fora de de \lyricmode:

text = {
  \set stanza = \markup { \dynamic "ff" "1. " }
  \lyricmode {
    Big bang
  }
}

<<
  \new Voice = "tune" {
    \time 3/4
    g'4 c'2
  }
\new Lyrics \lyricsto "tune" \text
>>

[image of music]


Afegir el nom dels cantants als versos

També es poden posar els noms dels cantants. S’imprimeixen al començament de la línia, igual que els noms d’instrument. Es creen establint un valor per a vocalName. Es pot definir una versió abreujada com shortVocalName.

\new Voice \relative {
  \time 3/4 g'2 e4 a2 f4 g2.
} \addlyrics {
  \set vocalName = #"Bert "
  Hi, my name is Bert.
} \addlyrics {
  \set vocalName = #"Ernie "
  Oh, ché -- ri, je t'aime
}

[image of music]


Versos amb ritmes diferents

Amb freqüència els diferents versos d’una cançó encaixen de formes lleugerament diferents amb la mateixa melodia. Aquestes variacions es poden capturar amb l’ús de \lyricsto.

Ignorar els melismes

Hi ha la possibilitat que el text tingui un melisma en un vers, però diverses síl·labes en un altre. Una solució és fer que la veu més ràpida ignori el melisma. Això s’aconsegueix establint ignoreMelismata al context Lyrics.

<<
  \relative \new Voice = "lahlah" {
    \set Staff.autoBeaming = ##f
    c'4
    \slurDotted
    f8.[( g16])
    a4
  }
  \new Lyrics \lyricsto "lahlah" {
    more slow -- ly
  }
  \new Lyrics \lyricsto "lahlah" {
    go
    \set ignoreMelismata = ##t
    fas -- ter
    \unset ignoreMelismata
    still
  }
>>

[image of music]

Advertiments i problemes coneguts

A diferència de gairebé totes les ordres \set, \set ignoreMelismata no funciona si va precedida de \once. Cal utilitzar \set y \unset per delimitar la lletra a la qual es volen ignorar els melismes.

Aplicació de síl·labes a notes d’adorn

De forma predeterminada, a les notes d’adorn (per exemple inserides per mitjà de \grace) no se’ls pot assignar síl·labes si es fa servir \lyricsto, però aquest comportament pot canviar-se:

<<
  \new Voice = melody \relative {
    f'4 \appoggiatura a32 b4
    \grace { f16 a16 } b2
    \afterGrace b2 { f16[ a16] }
    \appoggiatura a32 b4
    \acciaccatura a8 b4
  }
  \new Lyrics
  \lyricsto melody {
    normal
    \set includeGraceNotes = ##t
    case,
    gra -- ce case,
    after -- grace case,
    \set ignoreMelismata = ##t
    app. case,
    acc. case.
  }
>>

[image of music]

Advertiments i problemes coneguts

Com succeeix amb associatedVoice, includeGraceNotes s’ha d’establir almenys una síl·laba abans de la qual s’anirà a col·locar sota una nota d’adorn. Per al cas d’una nota d’adorn al començament mateix d’una peça, considereu la possibilitat d’usar un bloc \with o \context:

<<
  \new Voice = melody \relative c' {
    \grace { c16( d e f }
    g1) f
  }
  \new Lyrics \with { includeGraceNotes = ##t }
  \lyricsto melody {
    Ah __ fa
  }
>>

[image of music]

Canvi a una melodia alternativa

Es poden fer variacions més complexes en la coordinació de la lletra i la música. La melodia a la qual s’està alineant la lletra pot canviar-se des de dins de la lletra mitjançant l’establiment de la propietat associatedVoice:

<<
  \relative \new Voice = "lahlah" {
    \set Staff.autoBeaming = ##f
    c'4
    <<
      \new Voice = "alternative" {
        \voiceOne
        \tuplet 3/2 {
          % mostra clarament les associacions
          \override NoteColumn.force-hshift = #-3
          f8 f g
        }
      }
      {
        \voiceTwo
        f8.[ g16]
        \oneVoice
      } >>
    a8( b) c
  }
  \new Lyrics \lyricsto "lahlah" {
    Ju -- ras -- sic Park
  }
  \new Lyrics \lyricsto "lahlah" {
    % Complicat: cal establir associatedVoice
    % one syllable too soon!
    \set associatedVoice = "alternative" % s'aplica a «ran»
    Ty --
    ran --
    no --
    \set associatedVoice = "lahlah" % s'aplica a «rus»
    sau -- rus Rex
  } >>

[image of music]

El text del primer vers es fixa a la melodia nomenada ‘lahlah’ de la manera usual, però el segon vers es fixa inicialment al context lahlah i després es canvia a la melodia alternative per a les síl·labes des de ‘ran’ fins a ‘sau’ mitjançant les línies:

\set associatedVoice = "alternative" % s'aplica a "ran"
Ty --
ran --
no --
\set associatedVoice = "lahlah" % s'aplica a "rus"
sau -- rus Rex

Aquí, alternative és el nom del context Voice que conté el treset.

Observeu la posició de l’ordre \set associatedVoice: sembla estar situada una síl·laba abans del normal, però és correcte.

Nota: L’ordre set associatedVoice s’ha d’escriure una síl·laba abans de la síl·laba en la qual volem que es produeixi el canvi a la veu nova. Dit d’una altra forma, el canvi de la veu associada es produeix una síl·laba més tard de l’esperat. Això es fa així per raons tècniques, i no és un error.


Impressió dels versos al final

A vegades és convenient tenir un vers ajustat a la música, i la resta afegit en forma d’estrofa al final de la peça. Això es pot aconseguir escrivint els versos addicionals dins d’una secció \markup fora del bloc Score principal de la partitura. Heu de tenir en compte que hi ha dues formes diferents de forçar els salts de línia en utilitzar \markup.

melody = \relative {
e' d c d | e e e e |
d d e d | c1 |
}

text = \lyricmode {
\set stanza = #"1." Ma- ry had a lit- tle lamb,
its fleece was white as snow.
}

\score{ <<
  \new Voice = "one" { \melody }
  \new Lyrics \lyricsto "one" \text
>>
  \layout { }
}
\markup { \column{
  \line{ Verse 2. }
  \line{ All the children laughed and played }
  \line{ To see a lamb at school. }
  }
}
\markup{
  \wordwrap-string #"
  Verse 3.

  Mary took it home again,

  It was against the rule."
}

[image of music]


Impressió dels versos al final en diverses columnes

Quan una peça té molts versos, sovint s’imprimeixen en diverses columnes al llarg de tota la pàgina. Freqüentment, un número de ver fora del marge precedeix cada vers. L’exemple següent mostra com produir aquesta sortida al LilyPond.

melody = \relative {
  c'4 c c c | d d d d
}

text = \lyricmode {
  \set stanza = #"1." Aquest és el vers u.
  Té dues línies.
}

\score {
  <<
    \new Voice = "one" { \melody }
    \new Lyrics \lyricsto "one" \text
  >>
  \layout { }
}

\markup {
  \fill-line {
    \hspace #0.1 % mou la columna a fora del marge esquerra;
     % es pot eliminar si l'espai a la pàgina és escàs
     \column {
      \line { \bold "2."
        \column {
          "Aquest és el vers dos."
          "Té dues línies."
        }
      }
      \combine \null \vspace #0.1 % afegeix espai vertical entre els versos
      \line { \bold "3."
        \column {
          "Aquest és el vers tres."
          "Té dues línies."
        }
      }
    }
    \hspace #0.1 % afegeix espai horitzontal entre les columnes;
    \column {
      \line { \bold "4."
        \column {
          "Aquest és el vers quatre."
          "Té dues línies."
        }
      }
      \combine \null \vspace #0.1 % afegeix espai vertical entre els versos
      \line { \bold "5."
        \column {
          "Aquest és el vers cinc."
          "Té dues línies."
        }
      }
    }
  \hspace #0.1 % dóna algun espai extra al marge dret;
  % es pot eliminar si l'espai de la pàgina és escàs
  }
}

[image of music]

Vegeu també

Referència de funcionament intern: LyricText, StanzaNumber.


2.1.4 Cançons


Referències per a cançons

En general les cançons s’escriuen sobre tres pentagrames amb la melodia del cantant al pentagrama superior i dos pentagrames d’acompanyament de piano a la part inferior. La lletra del primer vers s’imprimeix immediatament a sota del pentagrama superior. Si hi ha sols una petita quantitat de versos addicionals, poden imprimir-se immediatament a sota del primer, però si hi ha més versos del que caben còmodament en aquest lloc, el segon vers i següents s’imprimeixen després de la música, com a text independent.

Tots els elements de notació necessaris per escriure cançons es descriuen completament a d’altres seccions de la documentació:

Vegeu també

Manual d’aprenentatge: Cançons.

Referència de la notació: Notació comuna per a música vocal, Visualització d’acords. Visualització dels pentagrames. Teclats i altres instruments de diversos pentagrames. Posicionament vertical de la lletra, Versos.

Fragments de codi: Vocal music.


Fulls guia d’acords

Es poden imprimir fulls guia d’acords combinant parts vocals i el ‘mode d’acords’; aquesta sintaxi s’explica a Notació d’acords.

Fragments de codi seleccionats

Simple lead sheet

When put together, chord names, a melody, and lyrics form a lead sheet:

<<
  \chords { c2 g:sus4 f e }
  \relative c'' {
    a4 e c8 e r4
    b2 c4( d)
  }
  \addlyrics { One day this shall be free __ }
>>

[image of music]

Vegeu també

Referència de la notació: Notació d’acords.


2.1.5 Música coral

Aquesta secció tracta els temes de notació més directament relacionats amb la música coral. Això inclou els himnes, les cançons per parts, els oratoris, etc.


Referències per a música coral

La notació musical coral es realitza normalment sobre dos, tres o quatre pentagrames dins d’un grup de pautes ChoirStaff. Si cal un acompanyament, se situa a sota dins d’un grup PianoStaff, que se sol reduir de mida, per assajar les obres corals a cappella. Les notes de cada part vocal se situen dins d’un context Voice, i cada pentagrama rep o una sola part vocal (és a dir, una Voice) o un par de parts vocals (és a dir, dos Voices).

Els textos es disposen en contextos Lyrics, o bé a sota de cada pauta de música corresponent, o bé una a sobre i una altra a sota de la pauta de música, si aquesta última pauta conté la música de les dues parts.

A altres parts del manual es descriuen completament alguns altres temes de la música coral:

Instruccions predefinides

\oneVoice, \voiceOne, \voiceTwo.

Vegeu també

Manual d’aprenentatge: Partitura vocal a quatre veus SATB, Plantilles de conjunts vocals.

Referència de la notació: Ordre de disposició dels contextos, Agrupament de pentagrames, Caps de notes amb formes diverses, Polifonia en un sol pentagrama.

Fragments de codi: Vocal music.

Referència de funcionament intern: ChoirStaff, Lyrics, PianoStaff.


Disposicions de la partitura per a música coral

La música coral que conté quatre pentagrames, amb o sense acompanyament de piano, es pot disposar amb dos sistemes per pàgina. Depenent de la mida de la pàgina, aconseguir-lo pot requerir canvis a certs ajustaments predeterminats. S’han de tenir compte els comptes següents:

Les indicacions dinàmiques es col·loquen per omissió a sota del pentagrama, però a la música coral se solen situar a sobre del pentagrama per evitar les col·lisions amb el text. L’ordre predefinida \dynamicUp fa aquesta tasca per a les indicacions dinàmiques en un únic context Voice. Si hi ha molts contextos de veu, aquesta ordre predefinida hauria de col·locar-se en cada u d’ells. Com a alternativa, es pot usar la seva forma expandida per posar les indicacions dinàmiques de tota la partitura a sobre de les seves pautes respectives, com es mostra aquí:

\score {
  \new ChoirStaff <<
    \new Staff {
      \new Voice {
        \relative { g'4\f g g g }
      }
    }
    \new Staff {
      \new Voice {
        \relative { d'4 d d\p d }
      }
    }
  >>
  \layout {
    \context {
      \Score
      \override DynamicText.direction = #UP
      \override DynamicLineSpanner.direction = #UP
    }
  }
}

[image of music]

Instruccions predefinides

\dynamicUp, \dynamicDown, \dynamicNeutral.

Vegeu també

Referencia de la notació: Canviar l’espaiat, Visualització de l’espaiat, Encaix de la música en menys pàgines, Disposició de la pàgina, Disposició de la partitura, Separació de sistemes, Establiment de la mida del pentagrama, Salts, Espaiat vertical.

Referència de funcionament interno: VerticalAxisGroup, StaffGrouper.


Veus dividides

Using arpeggioBracket to make divisi more visible

The arpeggioBracket can be used to indicate the division of voices where there are no stems to provide the information. This is often seen in choral music.

\include "english.ly"

\score {
  \relative c'' {
    \key a \major
    \time 2/2
    <<
      \new Voice = "upper"
      <<
        { \voiceOne \arpeggioBracket
          a2( b2
          <b d>1\arpeggio)
          <cs e>\arpeggio ~
          <cs e>4
        }
        \addlyrics { \lyricmode { A -- men. } }
      >>
      \new Voice = "lower"
      { \voiceTwo
        a1 ~
        a
        a ~
        a4 \bar "|."
      }
    >>
  }
  \layout { ragged-right = ##t }
}

[image of music]

Vegeu també

Referència de la notació: Marques expressives en forma de línies.


2.1.6 Òpera i musicals

La música, lletra i diàlegs de les òperes i musicals es disposen normalment d’una o més de les formes següents:

En la secció de referències que apareix a continuació estan relacionades les seccions de la documentació del LilyPond que s’ocupen dels temes necessaris per crear partitures en els estils habituals de l’òpera i els musicals. Després apareixen seccions que tracten de les tècniques peculiars de la gravació musical de les partitures d’òpera i de musicals.


Referències per a òpera i musicals

Vegeu també

Glossari musical: Frenched score, Frenched staves, transposing instrument.

Referència de la notació: Creació de notes a peu de pàgina, Agrupament de pentagrames, Ocultament de pentagrames, Transposició dels instruments, Grups de pentagrames niuats, Disposició de la pàgina, Separació de sistemes, Transposició, Escriptura de les particel·les, Escriptura del text.

Fragments de codi: Vocal music.


Noms dels personatges

Se solen mostrar els noms dels personatges a l’esquerra del pentagrama quan aquest marge està dedicat únicament a aquest personatge solament:

\score {
  <<
    \new Staff {
      \set Staff.vocalName = \markup \smallCaps Kaspar
      \set Staff.shortVocalName = \markup \smallCaps Kas.
      \relative {
        \clef "G_8"
        c'4 c c c
        \break
        c4 c c c
      }
    }
    \new Staff {
      \set Staff.vocalName = \markup \smallCaps Melchior
      \set Staff.shortVocalName = \markup \smallCaps Mel
      \clef "bass"
      \relative {
        a4 a a a
        a4 a a a
      }
    }
  >>
}

[image of music]

Quan dos o més personatges comparteixen un pentagrama, el nom del personatge se sol imprimir a sobre del pentagrama al principi de cada secció corresponent a aquest personatge. Això es pot fer amb element de marcatge. Amb freqüència s’usa un tipus de lletra especial per a aquest propòsit.

\relative c' {
  \clef "G_8"
  c4^\markup \fontsize #1 \smallCaps Kaspar
  c c c
  \clef "bass"
  a4^\markup \fontsize #1 \smallCaps Melchior
  a a a
  \clef "G_8"
  c4^\markup \fontsize #1 \smallCaps Kaspar
  c c c
}

[image of music]

Com a alternativa, si hi ha molts canvis de personatges, pot ser més fàcil establir variables que continguin les definicions de cada personatge, per així poder indicar el canvi de personatge de manera fàcil i concisa.

kaspar = {
  \clef "G_8"
  \set Staff.shortVocalName = "Kas."
  \set Staff.midiInstrument = "voice oohs"
  <>^\markup \smallCaps "Kaspar"
}

melchior = {
  \clef "bass"
  \set Staff.shortVocalName = "Mel."
  \set Staff.midiInstrument = "choir aahs"
  <>^\markup \smallCaps "Melchior"
}

\relative c' {
  \kaspar
  c4 c c c
  \melchior
  a4 a a a
  \kaspar
  c4 c c c
}

[image of music]

Vegeu també

Manual d’aprenentatge: Organitzar les peces mitjançant variables.

Referència de la notació: Text, Ordres de marcatge de text.


Guies musicals

Es poden inserir guies musicals a les partitures vocals, als llibres vocals i a las parts orquestrals per indicar quina música d’altra part precedeix immediatament a una entrada. A més a més, les guies se solen inserir a la reducció de piano de les partitures vocals per indicar el que està tocant cada part orquestral. Això serveix d’ajuda al director quan no està disponible una partitura del director.

El mecanisme bàsic per inserir guies s’explica de forma exhaustiva al text principal, vegeu Cites a altres veus i Format de les notes guia. Però quan s’han d’inserir moltes guies, per exemple, com ajuda per al director a una partitura vocal, el nom de l’instrument s’ha de col·locar amb cura just abans del començament de les notes guia, i a prop d’elles. El següent exemple mostra com es fa això.

flute = \relative {
  s4 s4 e'' g
}
\addQuote "flute" { \flute }

pianoRH = \relative {
  c''4. g8
  % poseu el nom de l'instrument que es vol guiar just abans
  % de les notes guia i a sobre el pentagrama
  <>^\markup { \right-align { \tiny "Flute" } }
  \cueDuring "flute" #UP { g4 bes4 }
}
pianoLH = \relative { c4 <c' e> e, <g c> }

\score {
  \new PianoStaff <<
    \new Staff {
      \pianoRH
    }
    \new Staff {
      \clef "bass"
      \pianoLH
    }
  >>
}

[image of music]

Si s’està citant un instrument transpositor, la part instrumental ha d’especificar la tonalitat de manera que la conversió de les notes citades es faci automàticament. L’exemple de sota mostra aquesta transposició per a un clarinet en Si bemoll. Les notes d’aquest exemple són baixes al pentagrama, per la qual cosa s’especifica DOWN a \cueDuring (perquè les pliques s’orientin cap avall) i el nom de l’instrument es col·loca a sota del pentagrama.

clarinet = \relative c' {
  \transposition bes
  fis4 d d c
}
\addQuote "clarinet" { \clarinet }

pianoRH = \relative c'' {
  \transposition c'
  % posició del nom de l'instrument citat a sota del pentagrama
  <>_\markup { \right-align { \tiny "Clar." } }
  \cueDuring "clarinet" #DOWN { c4. g8 }
  g4 bes4
}
pianoLH = \relative { c4 <c' e> e, <g c> }

\score {
  <<
    \new PianoStaff <<
      \new Staff {
        \new Voice {
          \pianoRH
        }
      }
      \new Staff {
        \clef "bass"
        \pianoLH
      }
    >>
  >>
}

[image of music]

A partir d’aquests dos exemple hauria de quedar clar que inserir moltes notes guia a una partitura vocal pot ser tediós, i la visió de les notes de la part de piano quedaria amagada. Tanmateix, com mostra el següent fragment de codi, és possible definir una funció musical per reduir la quantitat de text que s’entra i per fer que les notes del piano estiguin més clares.

Fragments de codi seleccionats

Adding orchestral cues to a vocal score

This shows one approach to simplify adding many orchestral cues to the piano reduction in a vocal score. The music function \cueWhile takes four arguments: the music from which the cue is to be taken, as defined by \addQuote, the name to be inserted before the cue notes, then either #UP or #DOWN to specify either \voiceOne with the name above the staff or \voiceTwo with the name below the staff, and finally the piano music in parallel with which the cue notes are to appear. The name of the cued instrument is positioned to the left of the cued notes. Many passages can be cued, but they cannot overlap each other in time.

cueWhile =
#(define-music-function
   (instrument name dir music)
   (string? string? ly:dir? ly:music?)
   #{
     \cueDuring $instrument #dir {
       \once \override TextScript.self-alignment-X = #RIGHT
       \once \override TextScript.direction = $dir
       <>-\markup { \tiny #name }
       $music
     }
   #})

flute = \relative c'' {
  \transposition c'
  s4 s4 e g
}
\addQuote "flute" { \flute }

clarinet = \relative c' {
  \transposition bes
  fis4 d d c
}
\addQuote "clarinet" { \clarinet }

singer = \relative c'' { c4. g8 g4 bes4 }
words = \lyricmode { here's the lyr -- ics }

pianoRH = \relative c'' {
  \transposition c'
  \cueWhile "clarinet" "Clar." #DOWN { c4. g8 }
  \cueWhile "flute" "Flute" #UP { g4 bes4 }
}
pianoLH = \relative c { c4 <c' e> e, <g c> }

\score {
  <<
    \new Staff {
      \new Voice = "singer" {
        \singer
      }
    }
    \new Lyrics {
      \lyricsto "singer"
      \words
    }
    \new PianoStaff <<
      \new Staff {
        \new Voice {
          \pianoRH
        }
      }
      \new Staff {
        \clef "bass"
        \pianoLH
      }
    >>
  >>
}

[image of music]

Vegeu també

Glossari musical: cue-notes.

Referència de la notació: Alineació d’objectes, Direcció i posició, Format de les notes guia, Cites a altres veus, Ús de les funcions musicals.

Fragments de codi: Vocal music.

Referència de funcionament intern: CueVoice.

Advertiments i problemes coneguts

\cueDuring insereix automàticament un context CueVoice i totes les notes guia es col·loquen dins d’aquest context. Això significa que no és possible tenir dues seqüències de notes guia superposades mitjançant aquesta tècnica. Les seqüències superposades es podrien introduir declarant explícitament contextos CueVoice separats i usant \quoteDuring per extraure i inserir les notes citades.


Música parlada

Efectes com ara el ‘parlato’ o el ‘Sprechgesang’ requereixen que els intèrprets parlin sense una alçada definida però amb el ritme adequat; la notació d’aquests estils es realitza mitjançant figures amb el cap en forma de creu, com es mostra en Caps de nota especials.


Diàlegs a sobre de la música

Els diàlegs a sobre de la música es graven normalment per sobre dels pentagrames en un estil inclinat, amb el començament de cada frase lligat a un moment particular.

Per a interjeccions curtes, hi ha prou amb un simple element de marcatge.

\relative {
  a'4^\markup { \smallCaps { Alex - } \italic { He's gone } } a a a
  a4 a a^\markup { \smallCaps { Bethan - } \italic Where? } a
  a4 a a a
}

[image of music]

Per a frases més llargues pot caldre expandir la música de forma que les paraules càpiguen folgadament. No està previst al LilyPond fer això de manera completament automàtica, i pot caldre alguna intervenció manual sobre la disposició.

Per a frases llargues o passatges amb un diàleg en disposició apretada, pot donar millors resultats la utilització d’un context de lletra. El context Lyrics no s’ha d’associar amb una veu musical; en comptes d’això, cada secció del diàleg rep una duració explícita. Si hi ha una pausa en mig del diàleg, s’ha de separar la paraula final de la resta i dividir-se la duració entre elles de forma que la música subjacent rebi un espaiat continu i adequat.

Si el diàleg s’estén a més d’una línia, caldrà inserir \breaks manualment i ajustar la col·locació del diàleg per evitar que s’estengui més enllà del marge dret. L’última paraula de l’últim compàs d’una línia ha de separar-se també, com s’ha vist abans.

Heus ací un exemple que il·lustra com es pot fer.

music = \relative {
  \repeat unfold 3 { a'4 a a a }
}

dialogue = \lyricmode {
  \markup {
    \fontsize #1 \upright \smallCaps Abe:
    "Say this over measures one and"
  }4*7
  "two"4 |
  \break
  "and this over measure"4*3
  "three"4 |
}

\score {
  <<
    \new Lyrics \with {
      \override LyricText.font-shape = #'italic
      \override LyricText.self-alignment-X = #LEFT
    }
    { \dialogue }
    \new Staff {
      \new Voice { \music }
    }
  >>
}

[image of music]

Vegeu també

Referència de la notació: Duració manual de les síl·labes, Text.

Referència de funcionament intern: LyricText.


2.1.7 Càntics salms i himnes

La música i la lletra dels càntics, salms i himnes solen seguir un format ben establert dins de qualsevol església en particular. Tot i que els formats poden diferir d’una església a una altra, els problemes de gravat que sorgeixen són força semblants, i s’estudien a aquesta secció.


Referències per a càntics i salms

El gravat del cant gregorià en diferents estils de notació es descriuen a Notació antiga.

Vegeu també

Referencia de la notación: Notació antiga.

Snippets: Vocal music.


Preparació d’un càntic

La preparació moderna dels càntics utilitza notació moderna amb un nombre variable d’elements agafats de la notació antiga. Algunes dels elements i mètodes a considerar es presenten aquí.

Els càntics fan servir amb freqüència figures negres sense plica per indicar l’alçada, agafant les duracions del ritme parlar del text.

stemOff = { \hide Staff.Stem }

\relative c' {
  \stemOff
  a'4 b c2 |
}

[image of music]

Els càntics sovint ometen les línies divisòries o utilitzen barres de compàs retallades o discontínues per indica pauses a la música. Per ometre totes les barres de compàs de tots els pentagrames, suprimiu completament el gravador de barres:

\score {
  \new StaffGroup <<
    \new Staff {
      \relative {
        a'4 b c2 |
        a4 b c2 |
        a4 b c2 |
      }
    }
    \new Staff {
      \relative {
        a'4 b c2 |
        a4 b c2 |
        a4 b c2 |
      }
    }
  >>
  \layout {
    \context {
      \Staff
      \remove "Bar_engraver"
    }
  }
}

[image of music]

Les línies divisòries també es poden treure pentagrama a pentagrama:

\score {
  \new ChoirStaff <<
    \new Staff
    \with { \remove "Bar_engraver" } {
      \relative {
        a'4 b c2 |
        a4 b c2 |
        a4 b c2 |
      }
    }
    \new Staff {
      \relative {
        a'4 b c2 |
        a4 b c2 |
        a4 b c2 |
      }
    }
  >>
}

[image of music]

Per suprimir les línies divisòries sols d’una secció de música, tracteu-la com si fos una cadència. Si la secció és llarga, us podria caldre inserir línies divisòries “mudas” amb \bar "" per indicar on es pot produir el salt de línia.

\relative a' {
  a4 b c2 |
  \cadenzaOn
  a4 b c2
  a4 b c2
  \bar ""
  a4 b c2
  a4 b c2
  \cadenzaOff
  a4 b c2 |
  a4 b c2 |
}

[image of music]

Els silencis o pauses als càntics poden indicar-se mitjançant barres de compàs modificades.

\relative a' {
  a4
  \cadenzaOn
  b c2
  a4 b c2
  \bar "'"
  a4 b c2
  a4 b c2
  \bar ";"
  a4 b c2
  \bar "!"
  a4 b c2
  \bar "||"
}

[image of music]

Com a alternativa, s’usa a vegades la notació del cant gregorià per a les pauses o silencis, tot i que la resta de la notació sigui moderna. Aquest exemple fa servir una marca \breathe modificada:

divisioMinima = {
  \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-minima
  \once \override BreathingSign.Y-offset = #0
  \breathe
}
divisioMaior = {
  \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maior
  \once \override BreathingSign.Y-offset = #0
  \breathe
}
divisioMaxima = {
  \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maxima
  \once \override BreathingSign.Y-offset = #0
  \breathe
}
finalis = {
  \once \override BreathingSign.stencil = #ly:breathing-sign::finalis
  \once \override BreathingSign.Y-offset = #0
  \breathe
}

\score {
  \relative {
    g'2 a4 g
    \divisioMinima
    g2 a4 g
    \divisioMaior
    g2 a4 g
    \divisioMaxima
    g2 a4 g
    \finalis
  }
  \layout {
    \context {
      \Staff
      \remove "Bar_engraver"
    }
  }
}

[image of music]

Els càntics solen ometre la indicació de compàs i sovint també ometen la clau.

\score {
  \new Staff {
    \relative {
      a'4 b c2 |
      a4 b c2 |
      a4 b c2 |
    }
  }
  \layout {
    \context {
      \Staff
      \remove "Bar_engraver"
      \remove "Time_signature_engraver"
      \remove "Clef_engraver"
    }
  }
}

[image of music]

Els càntics de salms en la tradició anglicana solen ser senzills, amb set compassos de música, o dobles, amb dos períodes de set compassos. Cada grup de set compassos es divideix en dues meitats, que corresponen a les dues meitats de cada vers, normalment separats mitjançant una doble línia divisòria. Sols s’utilitzen rodones i blanques. El primer compàs de cada meitat sempre conté un únic acord en rodones. Aquest és la “nota de recitat”. Els càntics se solen centrar sobre la pàgina.

SopranoMusic = \relative {
  g'1 | c2 b | a1 | \bar "||"
  a1 | d2 c | c b | c1 | \bar "||"
}

AltoMusic = \relative {
  e'1 | g2 g | f1 |
  f1 | f2 e | d d | e1 |
}

TenorMusic = \relative {
  c'1 | c2 c | c1 |
  d1 | g,2 g | g g | g1 |
}

BassMusic =  \relative {
  c1 | e2 e | f1 |
  d1 | b2 c | g' g | c,1 |
}

global = {
  \time 2/2
}

% Useu marcatge per centrar el cant sobre la pàgina
\markup {
  \fill-line {
    \score {  % centrat
      <<
        \new ChoirStaff <<
          \new Staff <<
            \global
            \clef "treble"
            \new Voice = "Soprano" <<
              \voiceOne
              \SopranoMusic
            >>
            \new Voice = "Alto" <<
              \voiceTwo
              \AltoMusic
            >>
          >>
          \new Staff <<
            \clef "bass"
            \global
            \new Voice = "Tenor" <<
              \voiceOne
              \TenorMusic
            >>
            \new Voice = "Bass" <<
              \voiceTwo
              \BassMusic
            >>
          >>
        >>
      >>
      \layout {
        \context {
          \Score
          \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2)
        }
        \context {
          \Staff
          \remove "Time_signature_engraver"
        }
      }
    }  % Final de la partitura
  }
}  % Final del marcatge

[image of music]

Altres enfocaments per a la preparació d’aquest càntic es mostren al primer dels següents fragments de codi.

Fragments de codi seleccionats

Chant or psalms notation

This form of notation is used for Psalm chant, where verses aren’t always the same length.

stemOff = \hide Staff.Stem
stemOn  = \undo \stemOff

\score {
  \new Staff \with { \remove "Time_signature_engraver" }
  {
    \key g \minor
    \cadenzaOn
    \stemOff a'\breve bes'4 g'4
    \stemOn a'2 \bar "||"
    \stemOff a'\breve g'4 a'4
    \stemOn f'2 \bar "||"
    \stemOff a'\breve^\markup { \italic flexe }
    \stemOn g'2 \bar "||"
  }
}

[image of music]

Els càntics i altres textos litúrgics poden disposar-se d’una forma més lliure, i possiblement usin elements de notació agafats de la música antiga. Sovint la lletra s’imprimeix per sota i alineada amb les notes. En aquest cas, les notes es disposen espaiades d’acord amb les síl·labes en comptes de fer-lo amb les duracions de les notes.

Ancient notation template – modern transcription of gregorian music

This example demonstrates how to do modern transcription of Gregorian music. Gregorian music has no measure, no stems; it uses only half and quarter note heads, and special marks, indicating rests of different length.

\include "gregorian.ly"

chant = \relative c' {
  \set Score.timing = ##f
  f4 a2 \divisioMinima
  g4 b a2 f2 \divisioMaior
  g4( f) f( g) a2 \finalis
}

verba = \lyricmode {
  Lo -- rem ip -- sum do -- lor sit a -- met
}

\score {
  \new Staff <<
    \new Voice = "melody" \chant
    \new Lyrics = "one" \lyricsto melody \verba
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \remove "Bar_engraver"
      \hide Stem
    }
    \context {
      \Voice
      \override Stem.length = #0
    }
    \context {
      \Score
      barAlways = ##t
    }
  }
}

[image of music]

Vegeu també

Manual d’aprenentatge: Visibilitat i color dels objectes, Plantilles de conjunts vocals.

Referència de la notació: Notació antiga, Barres de compàs, Modificació dels complements de context, Gravat del cant gregorià, Música sense compassos, Visibilitat dels objectes.


Puntuació d’un salm

El text d’un salm anglicà se sol imprimir en versos separats a sota del cant.

Els cants senzills (amb set compassos) es repeteixen per a cada vers. Els cants dobles (amb 14 compassos) es repeteixen per a cada parell de versos. S’insereixen marques dins del text per indicar la forma en la qual encaixen amb el cant. Cada vers es divideix en dues meitats. Se sol utilitzar un signe de dos punts per indicar aquesta divisió. Això correspon a la doble línia divisòria de la música. El text abans dels dos punts es canta amb els tres primers compassos de la música; el text després dels dos punts es canta amb els últims quatre compassos.

S’insereixen línies de compàs simples (o en alguns casos una coma invertida o un altre símbol semblant) entre el text per indicar on cauen les línies divisòries de la música. Al mode de marcatge, es pot introduir una línia de compàs simple amb el símbol de comprovació de compàs, la barra vertical, |.

\markup {
  \fill-line {
    \column {
      \left-align {
        \line { O come let us sing | unto the | Lord : let }
        \line { us heartily rejoice in the | strength of | our }
        \line { sal- | -vation. }
      }
    }
  }
}

[image of music]

Altres símbols poden requerir glifs dels tipus de lletra fetaMusic. Per veure més detells, consulteu Tipus de lletra.

tick = \markup {
  \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma"
}
\markup {
  \fill-line {
    \column {
      \left-align {
        \line { O come let us sing \tick unto the \tick Lord : let }
        \line {
          us heartily rejoice in the \tick strength of \tick our
        }
        \line { sal \tick vation. }
      }
    }
  }
}

[image of music]

On hi ha una rodona a un compàs, tot el text que correspon a aquest compàs es recita sobre aquesta nota al ritme de la paraula. On hi ha dues notes en un compàs, sol haver-hi sols una o dues síl·labes corresponents. Si hi ha més de dues síl·labes, se sol inserir un punt per indicar on es produeix el canvi de nota.

dot = \markup {
  \raise #0.7 \musicglyph #"dots.dot"
}
tick = \markup {
  \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma"
}
\markup {
  \fill-line {
    \column {
      \left-align {
        \line {
          O come let us sing \tick unto \dot the \tick Lord : let
        }
        \line {
          us heartily rejoice in the \tick strength of \tick our
        }
        \line { sal \tick vation. }
      }
    }
  }
}

[image of music]

A alguns salteris (llibres de salms) s’usa un asterisc per indicar un tall a una secció recitada en lloc d’una coma i les síl·labes accentuades o lleugerament allargades s’indiquen en estil negreta.

dot = \markup {
  \raise #0.7 \musicglyph #"dots.dot"
}
tick = \markup {
  \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma"
}
\markup {
  \fill-line {
    \column {
      \left-align {
        \line { Today if ye will hear his voice * }
        \line {
          \concat { \bold hard en }
          | not your | hearts : as in the pro-
        }
        \line { vocation * and as in the \bold day of tempt- | }
        \line { -ation | in the | wilderness. }
      }
    }
  }
}

[image of music]

A altres salteris es col·loca un accent sobre la síl·laba per indicar l’èmfasi.

tick = \markup {
  \raise #2 \fontsize #-5 \musicglyph #"scripts.rvarcomma"
}
\markup {
  \fill-line {
    \column {
      \left-align {
        \line {
          O come let us \concat {
            si \combine \tick ng
          }
          | unto the | Lord : let
        }
        \line {
          us heartily \concat {
            rejo \combine \tick ice
          }
          in the | strength of | our
        }
        \line { sal- | -vation. }
      }
    }
  }
}

[image of music]

L’us del marcatge per centrar text i per disposar les línies en columnes es descriuue a Donar format al text.

Vegeu també

Manual d’aprenentatge Salms, Plantilles de conjunts vocals.

Referència de la notació: Tipus de lletra, Donar format al text.


Compassos parcials a melodies d’himne

Freqüentment, les melodies d’himne comencen i acaben cada línia de música amb compassos parcials de forma que cada línia de música correspon exactament amb una línia de text. Això requereix una ordre \partial al principi de la música i ordres \bar "|" o \bar "||" al final de cada línia.

Hymn template

This code shows one way of setting out a hymn tune when each line starts and ends with a partial measure. It also shows how to add the verses as stand-alone text under the music.

Timeline = {
  \time 4/4
  \tempo 4=96
  \partial 2
  s2 | s1 | s2 \breathe s2 | s1 | s2 \bar "||" \break
  s2 | s1 | s2 \breathe s2 | s1 | s2 \bar "||"
}

SopranoMusic = \relative g' {
  g4 g | g g g g | g g g g | g g g g | g2
  g4 g | g g g g | g g g g | g g g g | g2
}

AltoMusic = \relative c' {
  d4 d | d d d d | d d d d | d d d d | d2
  d4 d | d d d d | d d d d | d d d d | d2
}

TenorMusic = \relative a {
  b4 b | b b b b | b b b b | b b b b | b2
  b4 b | b b b b | b b b b | b b b b | b2
}

BassMusic =  \relative g {
  g4 g | g g g g | g g g g | g g g g | g2
  g4 g | g g g g | g g g g | g g g g | g2
}

global = {
 \key g \major
}

\score {  % Start score
  <<
    \new PianoStaff <<  % Start pianostaff
      \new Staff <<  % Start Staff = RH
        \global
        \clef "treble"
        \new Voice = "Soprano" <<  % Start Voice = "Soprano"
          \Timeline
          \voiceOne
          \SopranoMusic
        >>  % End Voice = "Soprano"
        \new Voice = "Alto" <<  % Start Voice = "Alto"
          \Timeline
          \voiceTwo
          \AltoMusic
        >>  % End Voice = "Alto"
      >>  % End Staff = RH
      \new Staff <<  % Start Staff = LH
        \global
        \clef "bass"
        \new Voice = "Tenor" <<  % Start Voice = "Tenor"
          \Timeline
          \voiceOne
          \TenorMusic
        >>  % End Voice = "Tenor"
        \new Voice = "Bass" <<  % Start Voice = "Bass"
          \Timeline
          \voiceTwo
          \BassMusic
        >>  % End Voice = "Bass"
      >>  % End Staff = LH
    >>  % End pianostaff
  >>
}  % End score

\markup {
  \fill-line {
    ""
    {
      \column {
        \left-align {
          "This is line one of the first verse"
          "This is line two of the same"
          "And here's line three of the first verse"
          "And the last line of the same"
        }
      }
    }
    ""
  }
}

\paper {  % Start paper block
  indent = 0     % don't indent first system
  line-width = 130   % shorten line length to suit music
}  % End paper block

[image of music]


2.1.8 Música vocal antiga

Es pot gravar la música vocal en estil de tipografia antiga, com s’explica a Notació antiga.

Vegeu també

Referència de la notació: Notació antiga.


2.2 Teclats i altres instruments de pentagrames múltiples

[image of music]

Aquesta secció s’ocupa de diversos aspectes de la notació musical que són exclusius dels instruments de teclat i d’altres instruments la notació dels quals es realitza sobre diversos pentagrames, como l’arpa o el vibràfon. A efectes de nomenclatura, en aquesta secció s’anomenen abreujadament “teclats” a tot aquest grup d’instruments de diversos pentagrames, tot i que alguns no tenen teclat.


2.2.1 Notació comuna per a instruments de teclat

Aquesta secció tracta aspectes de notació que poden aparèixer a gairebé tots els instruments de teclat.


Referències per a teclats

La notació dels instruments de teclat se sol realitzar amb sistemes de piano. Aquesta notació consisteix de dos pentagrames normals agrupats mitjançant una clau. També s’utilitza aquesta notació per a d’altres instruments de teclat. La música d’orgue s’escriu normalment amb dos pentagrames dins d’un grup PianoStaff i un tercer pentagrama normal per als pedals.

Els pentagrames són fins a un cert punt independents, però a vegades les veus poden creuar-se entres els dos pentagrames. Aquesta secció tracta sobre tècniques de notació que són particulars de la música de teclat.

A d’altres llocs es tracten diversos problemes comuns de la música de teclat:

Vegeu també

Manual d’aprenentatge: Exemple real de música, Altres aplicacions dels ajustaments.

Referència de la notació: Noms d’instruments, Resolució de les col·lisions, Escriptura de música en paral·lel, Indicacions de digitació, Llista d’articulacions, Línies de reixeta, Lligadures d’unió, Arpegi, Repeticions de trèmol.

Referència de funcionament intern: PianoStaff.

Fragments de codi: Keyboards.


Canvi manual de pentagrama

Les veus es poden canviar de pentagrama manualment usant l’ordre

\change Staff = nom_del_pentagrama

La cadena nom_del_pentagrama és el nom del pentagrama. Canvia la veu actual del seu pentagrama en curs al pentagrama de nom nom_del_pentagrama. Els valors més corrents per a nom_del_pentagrama són "dalt" i "sota", o bé "MD" i "MI".

El pentagrama al qual salta la veu ha d’existir en el moment del salt. Si cal, els pentagrames s’han de “mantenir amb vida”, vegeu Mantenir vius els contextos.

Les notes de pentagrama creuat reben la barra automàticament:

\new PianoStaff <<
  \new Staff = "dalt" {
    <e' c'>8
    \change Staff = "down"
    g8 fis g
    \change Staff = "dalt"
    <g'' c''>8
    \change Staff = "sota"
    e8 dis e
    \change Staff = "dalt"
  }
  \new Staff = "sota" {
    \clef bass
    % manté viu el pentagrama
    s1
  }
>>

[image of music]

Si li cal algun ajustament al barrat, feu en primer lloc els canvis en les adreces de les pliques. Les posicions de les barres es mesuren posteriorment a partir del centre del pentagrama que està més a prop de la barra. Per veure un exemple senzill d’ajustament de les barres, consulteu Ajustament de la notació amb superposicions.

Es pot produir una superposició de la notació quan les veus es creuen d’un pentagrama a un altre:

\new PianoStaff <<
  \new Staff = "up" {
    \voiceOne
    % Fes espai per a la digitació a la veu de pentagrama creuat
    \once\override DynamicLineSpanner.staff-padding = #4
    e''2\p\< d''\>
    c''1\!
  }
  \new Staff = "down" <<
    {
      \clef bass
      s4. e,8\rest g,2\rest
      c1
    } \\ {
      c8\( g c'
      \change Staff = "up"
      e' g' b'-3 a' g'\)
      f'1
    }
  >>
>>

[image of music]

La plica i la lligadura se superposen a la línia del símbol de dinàmica perquè la resolució automàtica de col·lisions se suspèn per a les barres, lligadures i altres objectes d’extensió que connecten notes ubicades en diferents pentagrames, així com per a les pliques i articulacions si la seva col·locació està afectada per un objecte d’extensió de pentagrama creuat. Les col·lisions resultants es poden resoldre manualment on calgui, utilitzant els mètodes descrits a la secció Ajustament de la notació amb superposicions.

Vegeu també

Manual de aprenentatge: Ajustament de la notació amb superposicions.

Referència de la notació: Pliques, Barres automàtiques, Mantenir vius els contextos.

Fragments de codi: Keyboards.

Referència de funcionament intern: Beam, ContextChange.

Advertiments i problemes coneguts

El mecanismes per evitar les col·lisions de barres de corxera no funciona per a les barres automàtiques que finalitzen just abans d’un canvi de pauta. En aquest cas, feu servir barres manuals.


Canvi automàtic de pentagrama

Es pot fer que les veus canviïn automàticament entre els pentagrames inferior i superior. La sintaxi per aconseguir això és

\autochange …música

Això crearà dos pentagrames del grup actual de pentagrames (normalment un PianoStaff), anomenats "up" (a dalt) i "down" (a sota). El pentagrama inferior estarà en clau de Fa de forma predeterminada. El canviador automàtic fa el canvi basant-se en l’alçada (el Do central és el punt d’inflexió), i s’avança saltant sobre els silencis per fer canvis per avançat.

\new PianoStaff {
  \autochange {
    g4 a b c'
    d'4 r a g
  }
}

[image of music]

Es pot especificar altres notes per al punt de tall. Si els pentagrames no han estat instanciats de forma explícita, es poden usar altre claus.

music = {
  g8 b a c' b8 d' c'8 e'
  d'8 r f' g' a'2
}

\autochange d' \music
\autochange b \with { \clef soprano } \music
\autochange d' \with { \clef alto } \with { \clef tenor } \music

[image of music]

Una secció marcada \relative que es troba fora de \autochange no té efecte sobre les notes de la música: per tant, en cas necessari escriviu \relative dins de \autochange.

Si cal més control sobre els pentagrames individuals, es poden crear manualment amb els noms "up" i "down". Aleshores, l’ordre \autochange alternarà la veu entre els pentagrames existents.

Nota: Si es creen els pentagrames manualment, s’han d’anomenar "up" i "down" (en anglès).

Per exemple, el que segueix cal per col·locar una armadura de tonalitat al pentagrama inferior:

\new PianoStaff <<
  \new Staff = "up" {
    \new Voice = "melodiaU" {
      \key g \major
      \autochange \relative {
        g8 b a c b d c e
        d8 r fis, g a2
      }
    }
  }
  \new Staff = "down" {
    \key g \major
    \clef bass
  }
>>

[image of music]

Vegeu també

Referència de la notació: Canvi manual de pentagrama.

Fragments de codi: Keyboards.

Referència de funcionament intern: AutoChangeMusic.

Advertiments i problemes coneguts

Els canvis de pentagrama poden no acabar en llocs òptims. Per aconseguir una sortida d’alta qualitat és millor especificar manualment els canvis de pentagrama.

Els acords no es divideixen entre els pentagrames; s’assignen a un pentagrama en funció de la primera nota anomenada dins de la construcció de l’acord.


Línies de canvi de pentagrama

Quan una veu canvia a un altre pentagrama, es pot imprimir automàticament una línia que connecti les notes:

\new PianoStaff <<
  \new Staff = "one" {
    \showStaffSwitch
    c'1
    \change Staff = "two"
    b2 a
  }
  \new Staff = "two" {
    \clef bass
    s1*2
  }
>>

[image of music]

Instruccions predefinides

\showStaffSwitch, \hideStaffSwitch.

Vegeu també

Fragments de codi: Keyboards.

Referència de funcionament intern: Note_head_line_engraver, VoiceFollower.


Pliques de pentagrama creuat

Es poden fer acords que creuen els pentagrames usant el gravador Span_stem_engraver. S’ha d’anar en compte de tenir seguretat que les barres automàtiques no uneixen les notes d’una pauta quan no cal que estiguin unides a l’altra pauta.

\layout {
  \context {
    \PianoStaff
    \consists #Span_stem_engraver
  }
}

{
  \new PianoStaff <<
    \new Staff {
      <b d'>4 r d'16\> e'8. g8 r\!
      e'8 f' g'4 e'2
    }
    \new Staff {
      \clef bass
      \voiceOne
      \autoBeamOff
      \crossStaff { <e g>4 e, g16 a8. c8} d
      \autoBeamOn
      g8 f g4 c2
    }
  >>
}

[image of music]

De moment no es pot especificar aquest gravador pel seu nom entre cometes, sinó prefixant el nom amb un símbol de coixinet #, a causa de com està implementat.

Fragments de codi seleccionats

Indicating cross-staff chords with arpeggio bracket

An arpeggio bracket can indicate that notes on two different staves are to be played with the same hand. In order to do this, the PianoStaff must be set to accept cross-staff arpeggios and the arpeggios must be set to the bracket shape in the PianoStaff context.

(Debussy, Les collines d’Anacapri, m. 65)

\new PianoStaff <<
  \set PianoStaff.connectArpeggios = ##t
  \override PianoStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
  \new Staff {
    \relative c' {
      \key b \major
      \time 6/8
      b8-.(\arpeggio fis'-.\> cis-. e-. gis-. b-.)\!\fermata^\laissezVibrer
      \bar "||"
    }
  }
  \new Staff {
    \relative c' {
      \clef bass
      \key b \major
      <<
        {
          <a e cis>2.\arpeggio
        }
        \\
        {
          <a, e a,>2.
        }
      >>
    }
  }
>>

[image of music]

Vegeu també

Fragments de codi: Keyboards.

Referencia de funcionament intern: Stem.


2.2.2 Piano

Aquesta secció tracta d’aspectes de la notació directament relacionats amb el piano.


Pedals de piano

En general, els pianos tenen tres pedals que alteren la forma de produir el so: el pedal de manteniment (pedal dret o pedal forte), el pedal sostenuto (sos., pedal central) i el pedal una corda (U.C., pedal esquerre). Els pedals de manteniment com el pedal dret del piano es troben també al vibràfon i a la celesta.

\relative {
  c''4\sustainOn d e g
  <c, f a>1\sustainOff
  c4\sostenutoOn e g c,
  <bes d f>1\sostenutoOff
  c4\unaCorda d e g
  <d fis a>1\treCorde
}

[image of music]

Hi ha tres estils d’indicacions de pedal: textual, clau i mixta. El pedal dret i el pedal d’una corda utilitzen l’estil textual de forma predeterminada, mentre que el pedal sostenuto utilitza el mètode mixt de forma predeterminada.

\relative {
  c''4\sustainOn g c2\sustainOff
  \set Staff.pedalSustainStyle = #'mixed
  c4\sustainOn g c d
  d\sustainOff\sustainOn g, c2\sustainOff
  \set Staff.pedalSustainStyle = #'bracket
  c4\sustainOn g c d
  d\sustainOff\sustainOn g, c2
  \bar "|."
}

[image of music]

La col·locació de les ordres de pedal es corresponen amb el moviment físic del pedal dret al transcurs de l’execució. L’ús del pedal fins la barra final de compàs s’indica mitjançant l’omissió de l’ordre final d’aixecar el pedal.

Les indicacions de pedal es poden posar dins d’un context Dynamics, que els alinea sobr una línia horitzontal.

Vegeu també

Referència de la notació: Lligadures d’unió.

Fragments de codi: Keyboards.

Referència de funcionament intern: SustainPedal, SustainPedalLineSpanner, SustainEvent, SostenutoPedal, SostenutoPedalLineSpanner, SostenutoEvent, UnaCordaPedal, UnaCordaPedalLineSpanner, UnaCordaEvent, PianoPedalBracket, Piano_pedal_engraver.


2.2.3 Acordió

Aquesta secció s’ocupa de la notació que és exclusiva de l’acordió.


Símbols de Discant

Els acordions se solen construir amb més d’un conjunt de llengüetes que poden estar a l’uníson, una octava per sobre o una octava per sota de l’alçada escrita. Cada fabricant d’acordions utilitza diferents nom per als canvis que seleccionen les diferents combinacions de llengüetes, com oboè, musette o bandoneó, de manera que s’ha començat a usar un sistema de signes per simplificar les ordres d’execució.

Fragments de codi seleccionats

Accordion register symbols

Accordion register symbols are available as \markup as well as as standalone music events (as register changes tend to occur between actual music events. Bass registers are not overly standardized. The available commands can be found in ’Accordion Registers’ in the Notation Reference.

#(use-modules (scm accreg))

\new PianoStaff
<<
  \new Staff \relative {
    \clef treble \discant "10" r8 s32 f'[ bes f] s e[ a e] s d[ g d] s16 e32[ a]
    <<
      { r16 <f bes> r <e a> r <d g> }
      \\
      { d r a r bes r }
    >> |
    <cis e a>1
  }
  \new Staff \relative {
    \clef treble \freeBass "1" r8 d'32 s16. c32 s16. bes32 s16. a32[ cis] s16
    \clef bass \stdBass "Master"
    <<
      { r16 <f, bes d>^"b" r <e a c>^"am" r <d g bes>^"gm" |
      <e a cis>1^"a" }
      \\
      { d8_"D" c_"C" bes_"B" | a1_"A" }
    >>
  }
>>

[image of music]

Vegeu també

Fragments de codi: Keyboards.


2.2.4 Arpa

Aquesta secció tracta sobre temes de notació específics de l’arpa.


Referències per a notació d’arpa

Certes característiques comunes de la música d’arpa s’estudien a altres parts de la documentació:

Vegeu també

Referència de la notació: Repeticions de trèmol, Glissando, Arpegi, Harmònics.


Pedals d’arpa

Les arpes tenen set cordes per octava que poden sonar a l’alçada natural, bemoll o sostingut. A l’arpa de palanques o arpa celta, cada corda s’ajusta individualment, però a les arpes de pedals totes les cordes amb igual nom de nota es controlen amb un únic pedal. Vist d’esquerra a dreta des de la posició de l’executant, els pedals son Re, Do, Si a l’esquerra i Mi, Fa, Sol i La a la dreta. La posició dels pedals es pot indicar amb indicacions textuals:

\textLengthOn
cis''1_\markup \concat \vcenter {
  [D \flat C \sharp B|E \sharp F \sharp G A \flat] }
c''!1_\markup \concat \vcenter {
  [ C \natural ] }

[image of music]

o mitjançant diagrames de pedal:

\textLengthOn
cis''1_\markup { \harp-pedal "^v-|vv-^" }
c''!1_\markup { \harp-pedal "^o--|vv-^" }

[image of music]

L’ordre \harp-pedal accepta una cadena de caràcters en la qual ^ és la posició alta del pedal (alçada bemoll), - és la posició intermèdia (alçada natural), v és la posició bixa (alçada sostingut), i | és la línia vertical separadora. Si s’anteposa o, el següent símbol de pedal es rodeja per una el·lipsi.

Vegeu també

Referència de la notació: Scripts de text, Instrument Specific Markup.


2.3 Unfretted string instruments

[image of music]

This section provides information and references which are helpful when writing for unfretted string instruments, principally orchestral strings.


2.3.1 Common notation for unfretted strings

There is little specialist notation for unfretted string instruments. The music is notated on a single staff, and usually only a single voice is required. Two voices might be required for some double-stopped or divisi passages.


References for unfretted strings

Most of the notation which is useful for orchestral strings and other bowed instruments is covered elsewhere:

Vegeu també

Learning Manual: String quartet templates.

Notation Reference: Scripts de text, Indicacions de digitació, Notes a un acord, Arpegi.

Snippets: Unfretted strings.


Bowing indications

Bowing indications are created as articulations, which are described in Articulacions i ornaments.

The bowing commands, \upbow and \downbow, are used with slurs as follows:

\relative { c''4(\downbow d) e(\upbow f) }

[image of music]

Roman numerals can be added as strings numbers (rather than the default circled Arabic numbers), as explained in String number indications.

Alternatively, string indications may be printed using markup commands; articulation scripts may also indicate open strings.

a'4 \open
\romanStringNumbers
a'\2
a'2^\markup { \small "sul A" }

[image of music]

Instruccions predefinides

\downbow, \upbow, \open, \romanStringNumbers.

Vegeu també

Notation Reference: Articulacions i ornaments, String number indications, Lligadures d’expressió.


Harmonics

Natural harmonics

Natural harmonics can be notated in several ways. A diamond-shaped note head generally means to touch the string where you would stop the note if it were not a diamond.

\relative d'' {
  d4 e4.
  \harmonicsOn
  d8 e e
  d4 e4.
  \harmonicsOff
  d8 e e
}

[image of music]

Alternatively a normal note head is shown at the pitch to be sounded together with a small circle to indicate it should be played as a harmonic:

d''2^\flageolet d''_\flageolet

[image of music]

A smaller circle may be created, see the snippet list in References for unfretted strings.

Artificial harmonics

Artificial harmonics are notated with two notes, one with a normal note head indicating the stopped position and one with an open diamond note head to indicate the harmonic position.

Artificial harmonics indicated with \harmonic do not show the dots. The context property harmonicDots should be set if dots are required.

\relative e' {
  <e a\harmonic>2.  <c g'\harmonic>4
  \set harmonicDots = ##t
  <e a\harmonic>2.  <c g'\harmonic>4
}

[image of music]

Vegeu també

Music Glossary: harmonics.

Notation Reference: Caps de nota especials, References for unfretted strings.


Snap (Bartók) pizzicato

A snap pizzicato (also known as “Bartok pizz”) is a type of pizzicato where the string is deliberately plucked upwards (rather than sideways) such that it hits the fingerboard.

\relative {
  c'4\snappizzicato
  <c' e g>4\snappizzicato
  <c' e g>4^\snappizzicato
  <c, e g>4_\snappizzicato
}

[image of music]


2.4 Fretted string instruments

[image of music]

This section discusses several aspects of music notation that are unique to fretted string instruments.


2.4.1 Common notation for fretted strings

This section discusses common notation that is unique to fretted string instruments.


References for fretted strings

Music for fretted string instruments is normally notated on a single staff, either in traditional music notation or in tablature. Sometimes the two types are combined, and it is especially common in popular music to use chord diagrams above a staff of traditional notation. The guitar and the banjo are transposing instruments, sounding an octave lower than written. Scores for these instruments should use the "treble_8" clef (or \transposition c to get correct MIDI output). Some other elements pertinent to fretted string instruments are covered elsewhere:

Vegeu també

Notation Reference: Indicacions de digitació, Lligadures d’unió, Resolució de les col·lisions, Noms d’instruments, Escriptura de música en paral·lel, Arpegi, List of articulations, Clau, Transposició dels instruments.


String number indications

The string on which a note should be played may be indicated by appending \number to a note.

\clef "treble_8"
c4\5 e\4 g2\3
<c\5 e\4 g\3>1

[image of music]

When fingerings and string indications are used together, their placement can be controlled by the order in which the two items appear in the code only if they appear inside of an explicit chord: applied to whole chords or single notes outside of chords, fingerings are placed using a different mechanism.

\clef "treble_8"
g4\3-0
g-0\3
<g\3-0>
<g-0\3>

[image of music]

String numbers may also, as is customary with unfretted strings, be printed in Roman numerals and placed below the staff rather than above.

\clef "treble_8"
c'2\2
a\3
\romanStringNumbers
c'\2
\set stringNumberOrientations = #'(down)
a\3
\arabicStringNumbers
g1\4

[image of music]

Fragments de codi seleccionats

Controlling the placement of chord fingerings

The placement of fingering numbers can be controlled precisely. For fingering orientation to apply, you must use a chord construct <> even if it is a single note.

\relative c' {
  \set fingeringOrientations = #'(left)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down right up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(left)
  <c-1>2
  \set fingeringOrientations = #'(down)
  <e-3>2
}

[image of music]

Allowing fingerings to be printed inside the staff

By default, vertically oriented fingerings are positioned outside the staff. However, this behavior can be canceled. Note: you must use a chord construct <>, even if it is only a single note.

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \override Fingering.staff-padding = #'()
  <c-1 e-2 g-3 b-5>4 <g'-0>
}

[image of music]

Instruccions predefinides

\arabicStringNumbers, \romanStringNumbers.

Vegeu també

Notation Reference: Indicacions de digitació.

Snippets: Fretted strings.

Internals Reference: StringNumber, Fingering.


Default tablatures

Music for plucked string instruments is frequently notated using a finger/touch notation or tablature. In contrast to traditional notation pitches are not denoted with note heads, but by numbers (or letter-like symbols in historical intavolatura). The staff lines in tablature indicate the string on which the note is to be played, and a number placed on a staff line indicated the fret at which the corresponding string is to be pressed. Notes that are to be played simultaneously are vertically aligned.

By default, string 1 is the highest string, and corresponds to the top line on the TabStaff. The tuning of the TabStaff strings defaults to the standard guitar tuning (with 6 strings). The notes are printed as tablature, by using TabStaff and TabVoice contexts. A calligraphic tablature clef is added automatically.

\new TabStaff \relative {
  a,8 a' <c e> a
  d,8 a' <d f> a
}

[image of music]

Default tablatures do not contain any symbols for tone duration nor any other musical symbols such as expressive marks, for example.

symbols = {
  \time 3/4
  c4-.^"Allegro" d( e)
  f4-.\f g a^\fermata
  \mark \default
  c8_.\<\( c16 c~ 2\!
  c'2.\prall\)
}

\score {
  <<
    \new Staff { \clef "G_8" \symbols }
    \new TabStaff { \symbols }
  >>
}

[image of music]

If all musical symbols used in traditional notation should also show up in tablature one has to apply the command \tabFullNotation in a TabStaff-context. Please bear in mind that half notes are double-stemmed in tablature in order to distinguish them from quarter notes.

symbols = {
  \time 3/4
  c4-.^"Allegro" d( e)
  f4-.\f g a^\fermata
  \mark \default
  c8_.\<\( c16 c~ 2\!
  c'2.\prall\)
}

\score {
  \new TabStaff {
    \tabFullNotation
    \symbols
  }
}

[image of music]

By default pitches are assigned to the lowest playing position on the fret-board (first position). Open strings are automatically preferred. If you would like a certain pitch to be played on a specific string you can add a string number indication to the pitch name. If you don’t want to have string number indications appear in traditional notation, you can override the respective stencil. Usually it will be more comfortable to define the playing position by using the value of minimumFret. The default value for minimumFret is 0.

Even when minimumFret is set, open strings are used whenever possible. This behaviour can be changed by setting restrainOpenStrings to #t.

\layout { \omit Voice.StringNumber }
\new StaffGroup <<
   \new Staff \relative {
     \clef "treble_8"
     \time 2/4
     c16 d e f g4
     c,16\5 d\5 e\4 f\4 g4\4
     c,16 d e f g4
   }
   \new TabStaff \relative {
     c16 d e f g4
     c,16\5 d\5 e\4 f\4 g4\4
     \set TabStaff.minimumFret = #5
     \set TabStaff.restrainOpenStrings = ##t
     c,16 d e f g4
   }
>>

[image of music]

Chord constructs can be repeated by the chord repetition symbol q. In combination with tabulatures, its behavior of removing string and finger numbers alongside with other events is cumbersome, so you’ll want to run

\chordRepeats #'(string-number-event fingering-event)

explicitly on music expressions in tabulature using Repetició d’acords. This particular command is so common that it is available as \tabChordRepeats.

guitar = \relative {
  r8 <gis-2 cis-3 b-0>~ q4 q8~ 8 q4
}

\new StaffGroup <<
  \new Staff {
    \clef "treble_8"
    \guitar
  }
  \new TabStaff {
    \tabChordRepeats \guitar
  }
>>

[image of music]

Ties over a line break are parenthesized by default. The same holds for the second alternative of a repeat.

ties = \relative {
  \repeat volta 2 {
    e'2. f4~
    2 g2~
  }
  \alternative {
     { g4 f2. }
     { g4\repeatTie c,2. }
  }
  b1~
  \break
  b1
  \bar "|."
}

\score {
  <<
    \new StaffGroup  <<
      \new Staff {
        \clef "treble_8"
        \ties
      }
      \new TabStaff {
        \ties
      }
    >>
  >>
  \layout {
  indent = #0
  ragged-right = ##t
  }
}

[image of music]

The command \hideSplitTiedTabNotes cancels the behavior of engraving fret numbers in parentheses:

ties = \relative {
  \repeat volta 2 {
    e'2. f4~
    2 g2~ }
  \alternative {
    { g4 f2. }
    { g4\repeatTie c,2. }
  }
  b1~
  \break
  b1
  \bar "|."
}

\score {
  <<
    \new StaffGroup  <<
      \new Staff {
        \clef "treble_8"
        \ties
      }
      \new TabStaff {
      \hideSplitTiedTabNotes
        \ties
      }
    >>
  >>
  \layout {
  indent = #0
  ragged-right = ##t
  }
}

[image of music]

Harmonic indications can be added to tablature notation as sounding pitches:

\layout { \omit Voice.StringNumber }
firstHarmonic = {
  d'4\4\harmonic
  g'4\3\harmonic
  b'2\2\harmonic
}
\score {
  <<
    \new Staff {
      \clef "treble_8"
      \firstHarmonic
    }
    \new TabStaff { \firstHarmonic }
  >>
}

[image of music]

Note that the command \harmonic must always be attached to single notes (possibly inside of a chord) instead of whole chords. It only makes sense for open-string harmonics in the 12th fret. All other harmonics should be calculated by LilyPond. This can be achieved by indicating the fret where a finger of the fretting hand should touch a string.

fretHarmonics = {
  \harmonicByFret #5 d16\4
  \harmonicByFret #4 d16\4
  \harmonicByFret #3 d8\4
  \harmonicByFret #5 <g\3 b\2>2.
}
\score {
  <<
    \new Staff {
      \clef "treble_8"
      \fretHarmonics
    }
    \new TabStaff { \fretHarmonics }
  >>
}

[image of music]

Alternatively, harmonics can be computed by defining the ratio of string lengths above and below the harmonic fingering.

ratioHarmonics = {
  \harmonicByRatio #1/2 <g\3 b\2 e'\1>4
  \harmonicByRatio #1/3 <g\3 b\2 e'\1>4
  \harmonicByRatio #1/4 { g8\3 b8\2 e'4\1 }
}
\score {
  <<
    \new Staff {
      \clef "treble_8"
      \ratioHarmonics
    }
    \new TabStaff { \ratioHarmonics }
  >>
}

[image of music]

Fragments de codi seleccionats

Stem and beam behavior in tablature

The direction of stems is controlled the same way in tablature as in traditional notation. Beams can be made horizontal, as shown in this example.

\new TabStaff {
  \relative c {
    \tabFullNotation
    g16 b d g b d g b
    \stemDown
    \override Beam.concaveness = #10000
    g,,16 b d g b d g b
  }
}

[image of music]

Polyphony in tablature

Polyphony is created the same way in a TabStaff as in a regular staff.

upper = \relative c' {
  \time 12/8
  \key e \minor
  \voiceOne
  r4. r8 e, fis g16 b g e e' b c b a g fis e
}

lower = \relative c {
  \key e \minor
  \voiceTwo
  r16 e d c b a g4 fis8 e fis g a b c
}

\score {
  <<
    \new StaffGroup = "tab with traditional" <<
      \new Staff = "guitar traditional" <<
        \clef "treble_8"
        \context Voice = "upper" \upper
        \context Voice = "lower" \lower
      >>
      \new TabStaff = "guitar tab" <<
        \context TabVoice = "upper" \upper
        \context TabVoice = "lower" \lower
      >>
    >>
  >>
}

[image of music]

Open string harmonics in tablature

This snippet demonstrates open-string harmonics

openStringHarmonics = {
  \textSpannerDown
  \override TextSpanner.staff-padding = #3
  \override TextSpanner.dash-fraction = #0.3
  \override TextSpanner.dash-period = #1

  %first harmonic
  \override TextSpanner.bound-details.left.text = \markup\small "1st harm. "
  \harmonicByFret #12 e,2\6\startTextSpan
  \harmonicByRatio #1/2 e,\6\stopTextSpan

  %second harmonic
  \override TextSpanner.bound-details.left.text = \markup\small "2nd harm. "
  \harmonicByFret #7 e,\6\startTextSpan
  \harmonicByRatio #1/3 e,\6
  \harmonicByFret #19 e,\6
  \harmonicByRatio #2/3 e,\6\stopTextSpan
  %\harmonicByFret #19 < e,\6 a,\5 d\4 >
  %\harmonicByRatio #2/3 < e,\6 a,\5 d\4 >

  %third harmonic
  \override TextSpanner.bound-details.left.text = \markup\small "3rd harm. "
  \harmonicByFret #5 e,\6\startTextSpan
  \harmonicByRatio #1/4 e,\6
  \harmonicByFret #24 e,\6
  \harmonicByRatio #3/4 e,\6\stopTextSpan
  \break

  %fourth harmonic
  \override TextSpanner.bound-details.left.text = \markup\small "4th harm. "
  \harmonicByFret #4 e,\6\startTextSpan
  \harmonicByRatio #1/5 e,\6
  \harmonicByFret #9 e,\6
  \harmonicByRatio #2/5 e,\6
  \harmonicByFret #16 e,\6
  \harmonicByRatio #3/5 e,\6\stopTextSpan

  %fifth harmonic
  \override TextSpanner.bound-details.left.text = \markup\small "5th harm. "
  \harmonicByFret #3 e,\6\startTextSpan
  \harmonicByRatio #1/6 e,\6\stopTextSpan
  \break

  %sixth harmonic
  \override TextSpanner.bound-details.left.text = \markup\small "6th harm. "
  \harmonicByFret #2.7 e,\6\startTextSpan
  \harmonicByRatio #1/7 e,\6\stopTextSpan

  %seventh harmonic
  \override TextSpanner.bound-details.left.text = \markup\small "7th harm. "
  \harmonicByFret #2.3 e,\6\startTextSpan
  \harmonicByRatio #1/8 e,\6\stopTextSpan

  %eighth harmonic
  \override TextSpanner.bound-details.left.text = \markup\small "8th harm. "
  \harmonicByFret #2 e,\6\startTextSpan
  \harmonicByRatio #1/9 e,\6\stopTextSpan
}

\score {
  <<
    \new Staff
    \with { \omit StringNumber } {
      \new Voice {
        \clef "treble_8"
        \openStringHarmonics
      }
    }
    \new TabStaff {
      \new TabVoice {
        \openStringHarmonics
      }
    }
  >>
}

[image of music]

Fretted-string harmonics in tablature

Demonstrates fretted-string harmonics in tablature

pinchedHarmonics = {
   \textSpannerDown
   \override TextSpanner.bound-details.left.text =
      \markup {\halign #-0.5 \teeny "PH" }
      \override TextSpanner.style =
         #'dashed-line
   \override TextSpanner.dash-period = #0.6
   \override TextSpanner.bound-details.right.attach-dir = #1
   \override TextSpanner.bound-details.right.text =
      \markup { \draw-line #'(0 . 1) }
   \override TextSpanner.bound-details.right.padding = #-0.5
}

harmonics = {
  %artificial harmonics (AH)
  \textLengthOn
  <\parenthesize b b'\harmonic>4_\markup{ \teeny "AH 16" }
  <\parenthesize g g'\harmonic>4_\markup{ \teeny "AH 17" }
  <\parenthesize d' d''\harmonic>2_\markup{ \teeny "AH 19" }
  %pinched harmonics (PH)
  \pinchedHarmonics
  <a'\harmonic>2\startTextSpan
  <d''\harmonic>4
  <e'\harmonic>4\stopTextSpan
  %tapped harmonics (TH)
  <\parenthesize g\4 g'\harmonic>4_\markup{ \teeny "TH 17" }
  <\parenthesize a\4 a'\harmonic>4_\markup{ \teeny "TH 19" }
  <\parenthesize c'\3 c''\harmonic>2_\markup{ \teeny "TH 17" }
  %touch harmonics (TCH)
  a4( <e''\harmonic>2. )_\markup{ \teeny "TCH" }
}

frettedStrings = {
  %artificial harmonics (AH)
  \harmonicByFret #4 g4\3
  \harmonicByFret #5 d4\4
  \harmonicByFret #7 g2\3
  %pinched harmonics (PH)
  \harmonicByFret #7 d2\4
  \harmonicByFret #5 d4\4
  \harmonicByFret #7 a4\5
  %tapped harmonics (TH)
  \harmonicByFret #5 d4\4
  \harmonicByFret #7 d4\4
  \harmonicByFret #5 g2\3
  %touch harmonics (TCH)
  a4 \harmonicByFret #9 g2.\3
}

\score {
  <<
    \new Staff
    \with { \omit StringNumber } {
      \new Voice {
        \clef "treble_8"
        \harmonics
      }
    }
    \new TabStaff {
      \new TabVoice {
        \frettedStrings
      }
    }
  >>
}

[image of music]

Slides in tablature

Slides can be typeset in both Staff and TabStaff contexts:

slides = {
  c'8\3(\glissando d'8\3)
  c'8\3\glissando d'8\3
  \hideNotes
  \grace { g16\glissando }
  \unHideNotes
  c'4\3
  \afterGrace d'4\3\glissando {
  \stemDown \hideNotes
  g16 }
  \unHideNotes
}

\score {
  <<
    \new Staff { \clef "treble_8" \slides }
    \new TabStaff { \slides }
  >>
  \layout {
    \context {
      \Score
      \override Glissando.minimum-length = #4
      \override Glissando.springs-and-rods =
                          #ly:spanner::set-spacing-rods
      \override Glissando.thickness = #2
      \omit StringNumber
      % or:
      %\override StringNumber.stencil = ##f
    }
  }
}

[image of music]

Chord glissando in tablature

Slides for chords are indicated by default in both Staff and TabStaff. String numbers are necessary for TabStaff because automatic string calculations are different for chords and for single notes.

myMusic = \relative c' {
  <c e g>1 \glissando <f a c>
}

\score {
  <<
    \new Staff {
      \clef "treble_8"
      \myMusic
    }
    \new TabStaff \myMusic
  >>
}

\score {
  <<
    \new Staff {
      \clef "treble_8"
      \myMusic
    }
    \new TabStaff \with { \override Glissando.style = #'none } {
      \myMusic
    }
  >>
}

[image of music]

Hammer on and pull off

Hammer-on and pull-off can be obtained using slurs.

\new TabStaff {
  \relative c' {
    d4( e\2)
    a( g)
  }
}

[image of music]

Hammer on and pull off using voices

The arc of hammer-on and pull-off is upwards in voices one and three and downwards in voices two and four:

\new TabStaff {
  \relative c' {
    << { \voiceOne g2( a) }
    \\ { \voiceTwo a,( b) }
    >> \oneVoice
  }
}

[image of music]

Hammer on and pull off using chords

When using hammer-on or pull-off with chorded notes, only a single arc is drawn. However “double arcs” are possible by setting the doubleSlurs property to #t.

\new TabStaff {
  \relative c' {
    % chord hammer-on and pull-off
    \set doubleSlurs = ##t
    <g' b>8( <a c> <g b>)
  }
}

[image of music]

Vegeu també

Notation Reference: Repetició d’acords, Glissando, Harmonics, Pliques, Repeticions explícites.

Snippets: Fretted strings.

Internals Reference: TabNoteHead, TabStaff, TabVoice, Beam.

Advertiments i problemes coneguts

Chords are not handled in a special way, and hence the automatic string selector may easily select the same string for two notes in a chord.

In order to handle \partcombine, a TabStaff must use specially-created voices:

melodia = \partcombine { e4 g g g } { e4 e e e }
<<
  \new TabStaff <<
    \new TabVoice = "one" s1
    \new TabVoice = "two" s1
    \new TabVoice = "shared" s1
    \new TabVoice = "solo" s1
    { \melodia }
  >>
>>

[image of music]

Guitar special effects are limited to harmonics and slides.


Custom tablatures

LilyPond tablature automatically calculates the fret for a note based on the string to which the note is assigned. In order to do this, the tuning of the strings must be specified. The tuning of the strings is given in the stringTunings property.

LilyPond comes with predefined string tunings for banjo, mandolin, guitar, bass guitar, ukulele, violin, viola, cello, and double bass. LilyPond automatically sets the correct transposition for predefined tunings. The following example is for bass guitar, which sounds an octave lower than written.

<<
  \new Voice \with {
    \omit StringNumber
  } {
    \clef "bass_8"
    \relative {
      c,4 d e f
    }
  }
  \new TabStaff \with {
    stringTunings = #bass-tuning
  } {
    \relative {
      c,4 d e f
    }
  }
>>

[image of music]

The default string tuning is guitar-tuning, which is the standard EADGBE tuning. Some other predefined tunings are guitar-open-g-tuning, mandolin-tuning and banjo-open-g-tuning. The predefined string tunings are found in ‘ly/string-tunings-init.ly’.

Any desired string tuning can be created. The \stringTuning function can be used to define a string tuning which can be used to set stringTunings for the current context.

Its argument is a chord construct defining the pitches of each string in the tuning. The chord construct must be in absolute octave mode, see Escriptura d’octava absoluta. The string with the highest number (generally the lowest string) must come first in the chord. For example, we can define a string tuning for a four-string instrument with pitches of a'', d'', g', and c':

mynotes = {
  c'4 e' g' c'' |
  e''4 g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \set Staff.stringTunings = \stringTuning <c' g' d'' a''>
    \mynotes
  }
>>

[image of music]

The stringTunings property is also used by FretBoards to calculate automatic fret diagrams.

String tunings are used as part of the hash key for predefined fret diagrams (see Predefined fret diagrams).

The previous example could also be written as follows:

custom-tuning = \stringTuning <c' g' d'' a''>

mynotes = {
  c'4 e' g' c'' |
  e''4 g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \set TabStaff.stringTunings = #custom-tuning
    \mynotes
  }
>>

[image of music]

Internally, a string tuning is a Scheme list of string pitches, one for each string, ordered by string number from 1 to N, where string 1 is at the top of the tablature staff and string N is at the bottom. This ordinarily results in ordering from highest pitch to lowest pitch, but some instruments (e.g., ukulele) do not have strings ordered by pitch.

A string pitch in a string tuning list is a LilyPond pitch object. Pitch objects are created with the Scheme function ly:make-pitch (see Scheme functions).

\stringTuning creates such an object from chord input.

LilyPond automatically calculates the number of lines in the TabStaff and the number of strings in an automatically calculated FretBoard as the number of elements in stringTunings.

To let all TabStaff contexts use the same custom tuning by default, you can use

\layout {
  \context {
    \TabStaff
    stringTunings = \stringTuning <c' g' d'' a''>
  }
}

A modern tab clef can also be used.

\new TabStaff {
  \clef moderntab
  <a, e a>1
  \break
  \clef tab
  <a, e a>1
}

[image of music]

The modern tab clef supports tablatures from 4 to 7 strings.

TabStaff may support micro-tones like quarter-tones, which can be played using bendings. supportNonIntegerFret = ##t needs to be set in Score-context. However, micro-tones are not supported in FretBoards.

\layout {
  \context {
    \Score
    supportNonIntegerFret = ##t
  }
}

custom-tuning = \stringTuning <e, a, d ges beh eeh'>

mus = \relative {
  eeses'4
  eeseh
  ees
  eeh
  e
  eih
  eis
  eisih
  eisis
}

<<
  \new Staff << \clef "G_8" \mus >>
  \new TabStaff \with { stringTunings = \custom-tuning } \mus
>>

[image of music]

Vegeu també

Notation Reference: Escriptura d’octava absoluta, Predefined fret diagrams, Scheme functions.

Installed Files: ‘ly/string-tunings-init.ly’, ‘scm/tablature.scm’.

Snippets: Fretted strings.

Internals Reference: Tab_note_heads_engraver.

Advertiments i problemes coneguts

Automatic tablature calculations do not work properly in most cases for instruments where string pitches do not vary monotonically with string number, such as ukuleles.


Fret diagram markups

Fret diagrams can be added to music as a markup to the desired note. The markup contains information about the desired fret diagram. There are three different fret-diagram markup interfaces: standard, terse, and verbose. The three interfaces produce equivalent markups, but have varying amounts of information in the markup string. Details about the syntax of the different markup strings used to define fret diagrams are found at Instrument Specific Markup.

The standard fret diagram markup string indicates the string number and the fret number for each dot to be placed on the string. In addition, open and unplayed (muted) strings can be indicated.

<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram "6-x;5-3;4-2;3-o;2-1;1-o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram "6-x;5-x;4-o;3-2;2-3;1-1;"
    }
  }
>>

[image of music]

Barre indications can be added to the diagram from the fret-diagram markup string.

<<
  \new ChordNames {
     \chordmode {
       f1 g
     }
  }
  \new Staff {
    \clef "treble_8"
    <f, c f a c' f'>1^\markup {
      \fret-diagram "c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
    }
    <g, d g b d' g'>1^\markup {
      \fret-diagram "c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
    }
  }
>>

[image of music]

The size of the fret diagram, and the number of frets in the diagram can be changed in the fret-diagram markup string.

<<
  \new ChordNames {
     \chordmode {
       f1 g
     }
  }
  \new Staff {
    \clef "treble_8"
    <f, c f a c' f'>1^\markup {
      \fret-diagram "s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
    }
    <g, b, d g b g'>1^\markup {
      \fret-diagram "h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
    }
  }
>>

[image of music]

The number of strings in a fret diagram can be changed to accommodate different instruments such as banjos and ukuleles with the fret-diagram markup string.

<<
  \new ChordNames {
    \chordmode {
      a1
    }
  }
  \new Staff {
    % An 'A' chord for ukulele
    a'1^\markup {
      \fret-diagram "w:4;4-2-2;3-1-1;2-o;1-o;"
    }
  }
>>

[image of music]

Fingering indications can be added, and the location of fingering labels can be controlled by the fret-diagram markup string.

<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram "f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram "f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
    }
  }
>>

[image of music]

Dot radius and dot position can be controlled with the fret-diagram markup string.

<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram "d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram "p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
    }
  }
>>

[image of music]

The fret-diagram-terse markup string omits string numbers; the string number is implied by the presence of semicolons. There is one semicolon for each string in the diagram. The first semicolon corresponds to the highest string number and the last semicolon corresponds to the first string. Mute strings, open strings, and fret numbers can be indicated.

<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram-terse "x;3;2;o;1;o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram-terse "x;x;o;2;3;1;"
    }
  }
>>

[image of music]

Barre indicators can be included in the fret-diagram-terse markup string.

<<
  \new ChordNames {
    \chordmode {
      f1 g
    }
  }
  \new Staff {
    \clef "treble_8"
    <f, c f a c' f'>1^\markup {
      \fret-diagram-terse "1-(;3;3;2;1;1-);"
    }
    <g, d g b d' g'>1^\markup {
      \fret-diagram-terse "3-(;5;5;4;3;3-);"
    }
  }
>>

[image of music]

Fingering indications can be included in the fret-diagram-terse markup string.

<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new Staff {
    \override Voice.TextScript.fret-diagram-details.finger-code = #'below-string
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram-terse "x;3-3;2-2;o;1-1;o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram-terse "x;x;o;2-2;3-3;1-1;"
    }
  }
>>

[image of music]

Other fret diagram properties must be adjusted using \override when using the fret-diagram-terse markup.

The fret-diagram-verbose markup string is in the format of a Scheme list. Each element of the list indicates an item to be placed on the fret diagram.

<<
    \new ChordNames {
      \chordmode {
        c1 d:m
      }
    }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram-verbose #'(
        (mute 6)
        (place-fret 5 3)
        (place-fret 4 2)
        (open 3)
        (place-fret 2 1)
        (open 1)
      )
    }
    <d a d' f'>1^\markup {
      \fret-diagram-verbose #'(
        (mute 6)
        (mute 5)
        (open 4)
        (place-fret 3 2)
        (place-fret 2 3)
        (place-fret 1 1)
      )
    }
  }
>>

[image of music]

Fingering indications and barres can be included in a fret-diagram-verbose markup string. Unique to the fret-diagram-verbose interface is a capo indication that can be placed on the fret diagram. The capo indication is a thick bar that covers all strings. The fret with the capo will be the lowest fret in the fret diagram.

Fingering indication dots can be colored as well as parenthesized; the parenthesis’s color can also be altered independently.

Markups can be placed into the dots as well.

<<
    \new ChordNames {
      \chordmode {
        f1 g c c b
      }
    }
  \new Staff {
    \clef "treble_8"
    \override Voice.TextScript.fret-diagram-details.finger-code = #'below-string
    <f, c f a c' f'>1^\markup {
      \fret-diagram-verbose #'(
        (place-fret 6 1)
        (place-fret 5 3)
        (place-fret 4 3)
        (place-fret 3 2)
        (place-fret 2 1)
        (place-fret 1 1)
        (barre 6 1 1)
      )
    }
    <g, b, d g b g'>1^\markup {
      \fret-diagram-verbose #'(
        (place-fret 6 3 2)
        (place-fret 5 2 1)
        (open 4)
        (open 3)
        (open 2)
        (place-fret 1 3 3)
      )
    }
    <c g c' e' g'>1^\markup {
      \fret-diagram-verbose #'(
        (capo 3)
        (mute 6)
        (place-fret 4 5 1)
        (place-fret 3 5 2)
        (place-fret 2 5 3)
      )
    }
    \override Voice.TextScript.size = 1.4
    <c g c' e' g'>1^\markup {
      \fret-diagram-verbose #'(
        (place-fret 6 3 1 red parenthesized default-paren-color)
        (place-fret 5 3 1 inverted)
        (place-fret 4 5 2 blue parenthesized)
        (place-fret 3 5 3 blue)
        (place-fret 2 5 4 blue)
        (place-fret 1 3 1 inverted)
      )
    }
    \override Voice.TextScript.size = 1.5
    <b, fis b dis' fis'>1^\markup {
      \override #'(fret-diagram-details . ((finger-code . in-dot)))
      \fret-diagram-verbose #`(
        (place-fret 5 2 1)
        (place-fret 4 4 "fis" red)
        (place-fret 3 4 "b" red)
        (place-fret
          2 4
          ,#{ \markup
                \concat {
                  \vcenter "d"
                  \fontsize #-5
                  \musicglyph "accidentals.sharp"} #}
          red)
        (place-fret 1 2 1)
      )
    }
  }
>>

[image of music]

All other fret diagram properties must be adjusted using \override when using the fret-diagram-verbose markup.

The graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a fret diagram markup, the interface properties belong to Voice.TextScript.

Fragments de codi seleccionats

Changing fret orientations

Fret diagrams can be oriented in three ways. By default the top string or fret in the different orientations will be aligned.

\include "predefined-guitar-fretboards.ly"

<<
  \chords {
    c1
    c1
    c1
  }
  \new FretBoards {
    \chordmode {
      c1
      \override FretBoard.fret-diagram-details.orientation =
        #'landscape
      c1
      \override FretBoard.fret-diagram-details.orientation =
        #'opposing-landscape
      c1
    }
  }
  \new Voice {
    c'1
    c'1
    c'
  }
>>

[image of music]

Customizing markup fret diagrams

Fret diagram properties can be set through 'fret-diagram-details. For markup fret diagrams, overrides can be applied to the Voice.TextScript object or directly to the markup.

<<
  \chords { c1 | c | c | d }

  \new Voice = "mel" {
    \textLengthOn
    % Set global properties of fret diagram
    \override TextScript.size = #'1.2
    \override TextScript.fret-diagram-details.finger-code = #'in-dot
    \override TextScript.fret-diagram-details.dot-color = #'white

    %% C major for guitar, no barre, using defaults
       % terse style
    c'1^\markup { \fret-diagram-terse "x;3-3;2-2;o;1-1;o;" }

    %% C major for guitar, barred on third fret
       % verbose style
       % size 1.0
       % roman fret label, finger labels below string, straight barre
    c'1^\markup {
      % standard size
      \override #'(size . 1.0) {
        \override #'(fret-diagram-details . (
                     (number-type . roman-lower)
                     (finger-code . in-dot)
                     (barre-type . straight))) {
          \fret-diagram-verbose #'((mute 6)
                                   (place-fret 5 3 1)
                                   (place-fret 4 5 2)
                                   (place-fret 3 5 3)
                                   (place-fret 2 5 4)
                                   (place-fret 1 3 1)
                                   (barre 5 1 3))
        }
      }
    }

    %% C major for guitar, barred on third fret
       % verbose style
       % landscape orientation, arabic numbers, M for mute string
       % no barre, fret label down or left, small mute label font
    c'1^\markup {
      \override #'(fret-diagram-details . (
                   (finger-code . below-string)
                   (number-type . arabic)
                   (label-dir . -1)
                   (mute-string . "M")
                   (orientation . landscape)
                   (barre-type . none)
                   (xo-font-magnification . 0.4)
                   (xo-padding . 0.3))) {
        \fret-diagram-verbose #'((mute 6)
                                 (place-fret 5 3 1)
                                 (place-fret 4 5 2)
                                 (place-fret 3 5 3)
                                 (place-fret 2 5 4)
                                 (place-fret 1 3 1)
                                 (barre 5 1 3))
      }
    }

    %% simple D chord
       % terse style
       % larger dots, centered dots, fewer frets
       % label below string
    d'1^\markup {
      \override #'(fret-diagram-details . (
                   (finger-code . below-string)
                   (dot-radius . 0.35)
                   (dot-position . 0.5)
                   (fret-count . 3))) {
        \fret-diagram-terse "x;x;o;2-1;3-2;2-3;"
      }
    }
  }
>>

[image of music]

Vegeu també

Notation Reference: Instrument Specific Markup.

Snippets: Fretted strings.

Internals Reference: fret-diagram-interface.


Predefined fret diagrams

Fret diagrams can be displayed using the FretBoards context. By default, the FretBoards context will display fret diagrams that are stored in a lookup table:

\include "predefined-guitar-fretboards.ly"
\new FretBoards {
  \chordmode {
    c1 d
  }
}

[image of music]

The default predefined fret diagrams are contained in the file ‘predefined-guitar-fretboards.ly’. Fret diagrams are stored based on the pitches of a chord and the value of stringTunings that is currently in use. ‘predefined-guitar-fretboards.ly’ contains predefined fret diagrams only for guitar-tuning. Predefined fret diagrams can be added for other instruments or other tunings by following the examples found in ‘predefined-guitar-fretboards.ly’.

Fret diagrams for the ukulele are contained in the file
predefined-ukulele-fretboards.ly’.

\include "predefined-ukulele-fretboards.ly"

myChords = \chordmode { a1 a:m a:aug }

\new ChordNames {
  \myChords
}

\new FretBoards {
  \set Staff.stringTunings = #ukulele-tuning
  \myChords
}

[image of music]

Fret diagrams for the mandolin are contained in the file
predefined-mandolin-fretboards.ly’.

\include "predefined-mandolin-fretboards.ly"

myChords = \chordmode { c1 c:m7.5- c:aug }

\new ChordNames {
  \myChords
}

\new FretBoards {
  \set Staff.stringTunings = #mandolin-tuning
  \myChords
}

[image of music]

Chord pitches can be entered either as simultaneous music or using chord mode (see Panoràmica del mode d’acords).

\include "predefined-guitar-fretboards.ly"
\new FretBoards {
  \chordmode { c1 }
  <c' e' g'>1
}

[image of music]

It is common that both chord names and fret diagrams are displayed together. This is achieved by putting a ChordNames context in parallel with a FretBoards context and giving both contexts the same music.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 f g
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

Predefined fret diagrams are transposable, as long as a diagram for the transposed chord is stored in the fret diagram table.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 f g
}

mychordlist = {
  \mychords
  \transpose c e { \mychords }
}
<<
  \new ChordNames {
    \mychordlist
  }
  \new FretBoards {
    \mychordlist
  }
>>

[image of music]

The predefined fret diagram table for guitar contains eight chords (major, minor, augmented, diminished, dominant seventh, major seventh, minor seventh, dominant ninth) for each of 17 keys. The predefined fret diagram table for ukulele contains these chords plus an additional three chords (major sixth, suspended second, and suspended fourth). A complete list of the predefined fret diagrams is shown in Predefined fretboard diagrams. If there is no entry in the table for a chord, the FretBoards engraver will calculate a fret-diagram using the automatic fret diagram functionality described in Automatic fret diagrams.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 c:maj9
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

Fret diagrams can be added to the fret diagram table. To add a diagram, you must specify the hash table for the diagram, the chord for the diagram, the tuning to be used, and a definition for the diagram. Normally, the hash table will be default-fret-table. The diagram definition can be either a fret-diagram-terse definition string or a fret-diagram-verbose marking list.

\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram #default-fret-table
                        \chordmode { c:maj9 }
                        #guitar-tuning
                        #"x;3-2;o;o;o;o;"

mychords = \chordmode {
  c1 c:maj9
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

Different fret diagrams for the same chord name can be stored using different octaves of pitches. The different octave should be at least two octaves above or below the default octave, because the octaves above and below the default octave are used for transposing fretboards.

\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram #default-fret-table
                        \chordmode { c'' }
                        #guitar-tuning
                        #(offset-fret 2 (chord-shape 'bes guitar-tuning))

mychords = \chordmode {
  c1 c''
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

In addition to fret diagrams, LilyPond stores an internal list of chord shapes. The chord shapes are fret diagrams that can be shifted along the neck to different positions to provide different chords. Chord shapes can be added to the internal list and then used to define predefined fret diagrams. Because they can be moved to various positions on the neck, chord shapes will normally not contain any open strings. Like fret diagrams, chord shapes can be entered as either fret-diagram-terse strings or fret-diagram-verbose marking lists.

\include "predefined-guitar-fretboards.ly"

% Add a new chord shape

\addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"

% add some new chords based on the power chord shape

\storePredefinedDiagram #default-fret-table
                        \chordmode { f'' }
                        #guitar-tuning
                        #(chord-shape 'powerf guitar-tuning)
\storePredefinedDiagram #default-fret-table
                        \chordmode { g'' }
                        #guitar-tuning
                        #(offset-fret 2 (chord-shape 'powerf guitar-tuning))

mychords = \chordmode{
  f1 f'' g g''
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

The graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a predefined fret diagram, the interface properties belong to FretBoards.FretBoard.

Fragments de codi seleccionats

Customizing fretboard fret diagrams

Fret diagram properties can be set through 'fret-diagram-details. For FretBoard fret diagrams, overrides are applied to the FretBoards.FretBoard object. Like Voice, FretBoards is a bottom level context, therefore can be omitted in property overrides.

\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram #default-fret-table \chordmode { c' }
                        #guitar-tuning
                        #"x;1-1-(;3-2;3-3;3-4;1-1-);"
<<
  \new ChordNames {
    \chordmode { c1 | c | c | d }
  }
  \new FretBoards {
    % Set global properties of fret diagram
    \override FretBoards.FretBoard.size = #'1.2
    \override FretBoard.fret-diagram-details.finger-code = #'in-dot
    \override FretBoard.fret-diagram-details.dot-color = #'white
    \chordmode {
      c
      \once \override FretBoard.size = #'1.0
      \once \override FretBoard.fret-diagram-details.barre-type = #'straight
      \once \override FretBoard.fret-diagram-details.dot-color = #'black
      \once \override FretBoard.fret-diagram-details.finger-code = #'below-string
      c'
      \once \override FretBoard.fret-diagram-details.barre-type = #'none
      \once \override FretBoard.fret-diagram-details.number-type = #'arabic
      \once \override FretBoard.fret-diagram-details.orientation = #'landscape
      \once \override FretBoard.fret-diagram-details.mute-string = #"M"
      \once \override FretBoard.fret-diagram-details.label-dir = #LEFT
      \once \override FretBoard.fret-diagram-details.dot-color = #'black
      c'
      \once \override FretBoard.fret-diagram-details.finger-code = #'below-string
      \once \override FretBoard.fret-diagram-details.dot-radius = #0.35
      \once \override FretBoard.fret-diagram-details.dot-position = #0.5
      \once \override FretBoard.fret-diagram-details.fret-count = #3
      d
    }
  }
  \new Voice {
    c'1 | c' | c' | d'
  }
>>

[image of music]

Defining predefined fretboards for other instruments

Predefined fret diagrams can be added for new instruments in addition to the standards used for guitar. This file shows how this is done by defining a new string-tuning and a few predefined fretboards for the Venezuelan cuatro.

This file also shows how fingerings can be included in the chords used as reference points for the chord lookup, and displayed in the fret diagram and the TabStaff, but not the music.

These fretboards are not transposable because they contain string information. This is planned to be corrected in the future.

% add FretBoards for the Cuatro
%   Note: This section could be put into a separate file
%      predefined-cuatro-fretboards.ly
%      and \included into each of your compositions

cuatroTuning = #`(,(ly:make-pitch 0 6 0)
                  ,(ly:make-pitch 1 3 SHARP)
		  ,(ly:make-pitch 1 1 0)
		  ,(ly:make-pitch 0 5 0))

dSix = { <a\4 b\1 d\3 fis\2> }
dMajor = { <a\4 d\1 d\3 fis \2> }
aMajSeven = { <a\4 cis\1 e\3 g\2> }
dMajSeven = { <a\4 c\1 d\3 fis\2> }
gMajor = { <b\4 b\1 d\3 g\2> }

\storePredefinedDiagram #default-fret-table \dSix
                        #cuatroTuning
                        #"o;o;o;o;"
\storePredefinedDiagram #default-fret-table \dMajor
                        #cuatroTuning
                        #"o;o;o;3-3;"
\storePredefinedDiagram #default-fret-table \aMajSeven
                        #cuatroTuning
                        #"o;2-2;1-1;2-3;"
\storePredefinedDiagram #default-fret-table \dMajSeven
                        #cuatroTuning
                        #"o;o;o;1-1;"
\storePredefinedDiagram #default-fret-table \gMajor
                        #cuatroTuning
                        #"2-2;o;1-1;o;"

% end of potential include file /predefined-cuatro-fretboards.ly


#(set-global-staff-size 16)

primerosNames = \chordmode {
  d:6 d a:maj7 d:maj7
  g
}
primeros = {
  \dSix \dMajor \aMajSeven \dMajSeven
  \gMajor
}

\score {
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \primerosNames
    }

    \new Staff {
      \new Voice \with {
        \remove "New_fingering_engraver"
      }
      \relative c'' {
        \primeros
      }
    }

    \new FretBoards {
      \set Staff.stringTunings = #cuatroTuning
%      \override FretBoard
%        #'(fret-diagram-details string-count) = #'4
      \override FretBoard.fret-diagram-details.finger-code = #'in-dot
      \primeros
    }

    \new TabStaff \relative c'' {
      \set TabStaff.stringTunings = #cuatroTuning
      \primeros
    }

  >>

  \layout {
    \context {
      \Score
      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16)
    }
  }
  \midi { }
}

[image of music]

ChordChanges for FretBoards

FretBoards can be set to display only when the chord changes or at the beginning of a new line.

\include "predefined-guitar-fretboards.ly"

myChords = \chordmode {
  c1 c1 \break
  \set chordChanges = ##t
  c1 c1 \break
  c1 c1
}

<<
  \new ChordNames { \myChords }
  \new FretBoards { \myChords }
  \new Staff { \myChords }
>>

[image of music]

Fretboards alternate tables

Alternate fretboard tables can be created. These would be used in order to have alternate fretboards for a given chord.

In order to use an alternate fretboard table, the table must first be created. Fretboards are then added to the table.

The created fretboard table can be blank, or it can be copied from an existing table.

The table to be used in displaying predefined fretboards is selected by the property \predefinedDiagramTable.

\include "predefined-guitar-fretboards.ly"

% Make a blank new fretboard table
#(define custom-fretboard-table-one (make-fretboard-table))

% Make a new fretboard table as a copy of default-fret-table
#(define custom-fretboard-table-two (make-fretboard-table default-fret-table))

% Add a chord to custom-fretboard-table-one
\storePredefinedDiagram #custom-fretboard-table-one
                        \chordmode{c}
                        #guitar-tuning
                        "3-(;3;5;5;5;3-);"

% Add a chord to custom-fretboard-table-two
\storePredefinedDiagram #custom-fretboard-table-two
                        \chordmode{c}
                        #guitar-tuning
                        "x;3;5;5;5;o;"

<<
  \chords {
    c1 | d1 |
    c1 | d1 |
    c1 | d1 |
  }
  \new FretBoards {
    \chordmode {
      \set predefinedDiagramTable = #default-fret-table
      c1 | d1 |
      \set predefinedDiagramTable = #custom-fretboard-table-one
      c1 | d1 |
      \set predefinedDiagramTable = #custom-fretboard-table-two
      c1 | d1 |
    }
  }
  \new Staff {
    \clef "treble_8"
    <<
      \chordmode {
        c1 | d1 |
        c1 | d1 |
        c1 | d1 |
      }
      {
        s1_\markup "Default table" | s1 |
        s1_\markup \column {"New table" "from empty"} | s1 |
        s1_\markup \column {"New table" "from default"} | s1 |
      }
    >>
  }
>>

[image of music]

Vegeu també

Notation Reference: Custom tablatures, Automatic fret diagrams, Panoràmica del mode d’acords, Predefined fretboard diagrams.

Installed Files: ‘ly/predefined-guitar-fretboards.ly’,
ly/predefined-guitar-ninth-fretboards.ly’,
ly/predefined-ukulele-fretboards.ly’,
ly/predefined-mandolin-fretboards.ly’.

Snippets: Fretted strings.

Internals Reference: fret-diagram-interface.


Automatic fret diagrams

Fret diagrams can be automatically created from entered notes using the FretBoards context. If no predefined diagram is available for the entered notes in the active stringTunings, this context calculates strings and frets that can be used to play the notes.

<<
  \new ChordNames {
    \chordmode {
      f1 g
    }
  }
  \new FretBoards {
    <f, c f a c' f'>1
    <g,\6 b, d g b g'>1
  }
  \new Staff {
    \clef "treble_8"
    <f, c f a c' f'>1
    <g, b, d g b' g'>1
  }
>>

[image of music]

As no predefined diagrams are loaded by default, automatic calculation of fret diagrams is the default behavior. Once default diagrams are loaded, automatic calculation can be enabled and disabled with predefined commands:

\storePredefinedDiagram #default-fret-table
                        <c e g c' e'>
                        #guitar-tuning
                        #"x;3-1-(;5-2;5-3;5-4;3-1-1-);"
<<
  \new ChordNames {
    \chordmode {
      c1 c c
    }
  }
  \new FretBoards {
    <c e g c' e'>1
    \predefinedFretboardsOff
    <c e g c' e'>1
    \predefinedFretboardsOn
    <c e g c' e'>1
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <c e g c' e'>1
    <c e g c' e'>1
  }
>>

[image of music]

Sometimes the fretboard calculator will be unable to find an acceptable diagram. This can often be remedied by manually assigning a note to a string. In many cases, only one note need be manually placed on a string; the rest of the notes will then be placed appropriately by the FretBoards context.

Fingerings can be added to FretBoard fret diagrams.

<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new FretBoards {
    <c-3 e-2 g c'-1 e'>1
    <d a-2 d'-3 f'-1>1
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <d a d' f'>1
  }
>>

[image of music]

The minimum fret to be used in calculating strings and frets for the FretBoard context can be set with the minimumFret property.

<<
  \new ChordNames {
    \chordmode {
      d1:m d:m
    }
  }
  \new FretBoards {
    <d a d' f'>1
    \set FretBoards.minimumFret = #5
    <d a d' f'>1
  }
  \new Staff {
    \clef "treble_8"
    <d a d' f'>1
    <d a d' f'>1
  }
>>

[image of music]

The strings and frets for the FretBoards context depend on the stringTunings property, which has the same meaning as in the TabStaff context. See Custom tablatures for information on the stringTunings property.

The graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a FretBoards fret diagram, the interface properties belong to FretBoards.FretBoard.

Instruccions predefinides

\predefinedFretboardsOff, \predefinedFretboardsOn.

Vegeu també

Notation Reference: Custom tablatures.

Snippets: Fretted strings.

Internals Reference: fret-diagram-interface.

Advertiments i problemes coneguts

Automatic fretboard calculations do not work properly for instruments with non-monotonic tunings.


Right-hand fingerings

Right-hand fingerings p-i-m-a must be entered using \rightHandFinger followed by a number.

Nota: If the number is entered in Scheme notation, remember to append a space before following it with a closing > or similar.

\clef "treble_8"
c4\rightHandFinger #1
e\rightHandFinger #2
g\rightHandFinger #3
c'\rightHandFinger #4
<c\rightHandFinger #1 e\rightHandFinger #2
 g\rightHandFinger #3 c'\rightHandFinger #4 >1

[image of music]

For convenience, you can abbreviate \rightHandFinger to something short, for example RH,

RH=#rightHandFinger

Fragments de codi seleccionats

Placement of right-hand fingerings

It is possible to exercise greater control over the placement of right-hand fingerings by setting a specific property, as demonstrated in the following example. Note: you must use a chord construct

#(define RH rightHandFinger)

\relative c {
  \clef "treble_8"

  \set strokeFingerOrientations = #'(up down)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4

  \set strokeFingerOrientations = #'(up right down)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4

  \set strokeFingerOrientations = #'(left)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >2
}

[image of music]

Fingerings string indications and right-hand fingerings

This example combines left-hand fingering, string indications, and right-hand fingering.

#(define RH rightHandFinger)

\relative c {
  \clef "treble_8"
  <c-3\5-\RH #1 >4
  <e-2\4-\RH #2 >4
  <g-0\3-\RH #3 >4
  <c-1\2-\RH #4 >4
}

[image of music]

Vegeu també

Snippets: Fretted strings.

Internals Reference: StrokeFinger.


2.4.2 Guitar

Most of the notational issues associated with guitar music are covered sufficiently in the general fretted strings section, but there are a few more worth covering here. Occasionally users want to create songbook-type documents having only lyrics with chord indications above them. Since LilyPond is a music typesetter, it is not recommended for documents that have no music notation in them. A better alternative is a word processor, text editor, or, for experienced users, a typesetter like GuitarTeX.


Indicating position and barring

This example demonstrates how to include guitar position and barring indications.

\relative {
  \clef "treble_8"
  b,16 d g b e
  \textSpannerDown
  \override TextSpanner.bound-details.left.text = #"XII "
  g16\startTextSpan
  b16 e g e b g\stopTextSpan
  e16 b g d
}

[image of music]

Vegeu també

Notation Reference: Extensions de text.

Snippets: Fretted strings, Expressive marks.


Indicating harmonics and dampened notes

Special note heads can be used to indicate dampened notes or harmonics. Harmonics are normally further explained with a text markup.

\relative {
  \clef "treble_8"
  \override Staff.NoteHead.style = #'harmonic-mixed
  d'^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
}

[image of music]

Dampened notes (also called dead notes) are supported within normal and tablature staves:

music = \relative {
  < a\3 \deadNote c\2 a'\1 >4
  < b\3 \deadNote d\2 b'\1 >
  < c\3 \deadNote e\2 c'\1 >
  \deadNotesOn
  \tuplet 3/2 { g8 b e }
  \deadNotesOff
  < a,\3 c\2 e\1 >1
}
\new StaffGroup <<
  \new Staff {
    \clef "treble_8"
    \music
  }
  \new TabStaff {
    \music
  }
>>

[image of music]

Another playing technique (especially used on electric guitars) is called palm mute. The string is hereby partly muted by the palm of the striking hand (hence the name). LilyPond supports the notation of palm mute-style notes by changing the note head to a triangle shape.

\new Voice { % Warning: explicit Voice instantiation is
             %    required to have palmMuteOff work properly
             %    when palmMuteOn comes at the beginning of
             %    the piece.
  \relative c, {
    \clef "G_8"
    \palmMuteOn
    e8^\markup { \musicglyph "noteheads.u2do"  = palm mute }
    < e b' e > e
    \palmMuteOff
    e e  \palmMute e e e |
    e8 \palmMute { e e e } e e e e |
    < \palmMute e b' e >8 \palmMute { e e e } < \palmMute e b' e >2
  }
}

[image of music]

Vegeu també

Snippets: Fretted strings.

Notation Reference: Caps de nota especials, Note head styles.


Indicating power chords

Power chords and their symbols can be engraved in chord mode or as chord constructs:

ChordsAndSymbols = {
  \chordmode {
    \powerChords
    e,,1:5
    a,,1:5.8
    \set minimumFret = #8
    c,1:5
    f,1:5.8
  }
  \set minimumFret = #5
  <a, e>1
  <g d' g'>1
}
\score {
  <<
    \new ChordNames {
    \ChordsAndSymbols
    }
    \new Staff {
      \clef "treble_8"
      \ChordsAndSymbols
    }
    \new TabStaff {
      \ChordsAndSymbols
    }
  >>
}

[image of music]

Power chord symbols are automatically switched off as soon as one of the other common chord modifier is used:

mixedChords = \chordmode {
  c,1
  \powerChords
  b,,1:5
  fis,,1:5.8
  g,,1:m
}
\score {
  <<
    \new ChordNames {
      \mixedChords
    }
    \new Staff {
      \clef "treble_8"
      \mixedChords
    }
    \new TabStaff {
      \mixedChords
    }
  >>
}

[image of music]

Vegeu també

Music Glossary: power chord.

Notation Reference: Acords estesos i alterats, Impressió dels noms d’acord.

Snippets: Fretted strings.


2.4.3 Banjo


Banjo tablatures

LilyPond has basic support for the five-string banjo. When making tablatures for five-string banjo, use the banjo tablature format function to get correct fret numbers for the fifth string:

music = {
  g8 d' g'\5 a b g e d' |
  g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
  g4
}

<<
  \new Staff \with { \omit StringNumber }
  { \clef "treble_8"  \music }
  \new TabStaff \with {
    tablatureFormat = #fret-number-tablature-format-banjo
    stringTunings = #banjo-open-g-tuning
  }
  { \music }
>>

[image of music]

A number of common tunings for the five-string banjo are predefined: banjo-c-tuning (gCGBD), banjo-modal-tuning (gDGCD), banjo-open-d-tuning (aDF#AD) and banjo-open-dm-tuning (aDFAD).

These may be converted to four-string tunings using the four-string-banjo function:

\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)

Vegeu també

Installed Files: ‘ly/string-tunings-init.ly’.

Snippets: Fretted strings.


2.4.4 Lute


Lute tablatures

LilyPond supports tablature for lute.

To get additional bass strings use additionalBassStrings, where the pitches of those strings are set. They will be printed below lowest line as: a, /a, //a, ///a, 4, 5, etc.

fret-letter-tablature-format for tablatureFormat should be used, probably fretLabels for further customizing.

m = { f'4 d' a f d a, g, fis, e, d, c,  \bar "|." }

\score {
  <<
    \new Staff { \clef bass \cadenzaOn  \m }
    \new TabStaff \m
  >>
  \layout {
    \context {
      \Score
      tablatureFormat = #fret-letter-tablature-format
    }
    \context {
      \TabStaff
      stringTunings = \stringTuning <a, d f a d' f'>
      additionalBassStrings = \stringTuning <c, d, e, fis, g,>
      fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k")
    }
  }
}

[image of music]

Advertiments i problemes coneguts

Using FretBoards with additionalBassStrings is not supported and will yield unsatisfying results.


2.5 Percussió


2.5.1 Notació comuna per a percussió

La notació rítmica es fa servir principalment per a la percussió i la bateria, però també es pot utilitzar per mostrar els valors rítmics d’una melodia.


Referències per a percussió

Vegeu també

Referència de la notació: Mostrar els ritmes de la melodia, Creació d’instàncies de pentagrames nous, Instruments MIDI.

Fragments de codi: Percussion.


Notació bàsica de percussió

Les notes de percussió es poden escriure al mode \drummode, que és semblant al mode estàndard per introduir notes. La manera més fàcil d’escriure notes de percussió és utilitzar l’ordre \drums, que crea el context i el mode d’entrada apropiats per a percussió:

\drums {
  hihat4 hh bassdrum bd
}

[image of music]

Això és una abreviatura de

\new DrumStaff \drummode {
  hihat4 hh bassdrum bd
}

[image of music]

Cada element d’un conjunt de percussió porta un nom complet i un nom abreujat, i les dues es poden usar a l’entrada. La llista completa de noms d’instruments de percussió es troben a Notes de percussió.

Observeu que la notació normal de les notes amb alçada determinada (com cis4) en un context DrumStaff produeixen un missatge d’error. Les claus de percussió s’afegeixen automàticament al context DrumStaff però també es poden establir explícitament o utilitzar altres claus.

\drums {
  \clef percussion
  bd4 4 4 4
  \clef treble
  hh4 4 4 4
}

[image of music]

Hi ha certs detalls respecte a com s’incorpora el MIDI per als instruments de percussió; per veure els detalls, consulteu Instruments MIDI.

Vegeu també

Referència de la notació: Instruments MIDI, Notes de percussió.

Fitxers d’inici: ‘ly/drumpitch-init.ly’.

Fragments de codi: Percussion.


Redoblaments

Els redoblaments s’indiquen mitjançant tres barres creuades a la plica. Per a les negres o notes més llargues, les tres barres es mostren explícitament, les corxeres es presenten amb dues barres creuades (sent la barra de corxera la tercera), i els redoblament més breus que les corxeres tenen una barra creuada per complementar les barres normals. Això s’aconsegueix mitjançant la notació de trèmol, vegeu Repeticions de trèmol.

\drums {
  \time 2/4
  sn16 8 16 8 8:32 ~
  8 8 4:32 ~
  4 8 16 16
  4 r4
}

[image of music]

Els cops de baqueta es poden indicar mitjançant la col·locació dels elements de marcatge "R" o "L" a sobre o a sota de les notes, com s’estudia a Direcció i col·locació. La propietat staff-padding es pot sobreescriure, per aconseguir una línia de base satisfactòria.

\drums {
  \repeat unfold 2 {
    sn16^"L" 16^"R" 16^"L" 16^"L" 16^"R" 16^"L" 16^"R" 16^"R"
    \stemUp
    sn16_"L" 16_"R" 16_"L" 16_"L" 16_"R" 16_"L" 16_"R" 16_"R"
  }
}

[image of music]

Vegeu també

Referència de la notació: Repeticions de trèmol.

Fragments de codi: Percussion.


Percussió afinada

Certs instruments de percussió d’alçada determinada (per exemple: el xilòfon, el vibràfon i els timbals) s’escriuen usant pentagrames normals. Això s’estudia a d’altres seccions del manual.

Vegeu també

Referència de la notació: Instruments MIDI.

Fragments de codi: Percussion.


Pautes de percussió

Una part de percussió per mes d’un instrument, normalment utilitza una pauta de diverses línies on cada posició dins de la pauta es refereix a un element de percussió. Per a gravar la música, s’han d’interpretar les notes dels contextos DrumStaff i DrumVoice.

up = \drummode {
  crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat
}
down = \drummode {
  bassdrum4 snare8 bd r bd sn4
}
\new DrumStaff <<
  \new DrumVoice { \voiceOne \up }
  \new DrumVoice { \voiceTwo \down }
>>

[image of music]

L’exemple anterior mostra una notació polifònica completa. La notació polifònica abreujada, descrita a Sento veus, també es pot fer servir. Per exemple,

\new DrumStaff <<
  \drummode {
    bd4 sn4 bd4 sn4
    << {
      \repeat unfold 16 hh16
    } \\ {
      bd4 sn4 bd4 sn4
    } >>
  }
>>

[image of music]

També hi ha altres possibilitats pel que fa a la disposició. Per usar-les, establiu la propietat drumStyleTable all context DrumVoice. S’han predefinit les variables següents:

drums-style

És l’opció per defecte. S’usa per gravar una bateria típica sobre pentagrama:

[image of music]

L’esquema de percussió permet sis tambors greus (toms) diferents. Quan calguin menys toms, senzillament seleccioneu els que produeixen el resultat desitjat, és a dir, per tenir toms a les tres línies centrals s’utilitzarà tommh, tomml i tomfh.

agostini-drums-style

Inventat pel percussionista francès Dante Agostini el 1965, aquesta notació es fa servir a França però també a molts altres llocs.

[image of music]

timbales-style

S’usa per gravar timbals en una pauta de dues línies:

[image of music]

congas-style

S’usa per gravar congues en una pauta de dues línies:

[image of music]

bongos-style

S’usa per a bongos sobre una pauta de dues línies:

[image of music]

percussion-style

Per gravar molts tipus de percussions simples sobre pautes d’una línia:

[image of music]


Pautes de percussió personalitzades

Si no us agrada cap de les llistes predefinides, podeu definir la vostra pròpia llista al principi del vostre fitxer.

#(define mydrums '(
         (bassdrum        default   #f           -1)
         (snare           default   #f           0)
         (hihat           cross     #f           1)
         (halfopenhihat   cross     "halfopen"   1)
         (pedalhihat      xcircle   "stopped"    2)
         (lowtom          diamond   #f           3)))
up = \drummode { hh8 hh hhho hhho hhp4 hhp }
down = \drummode { bd4 sn bd toml8 toml }

\new DrumStaff <<
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
  \new DrumVoice { \voiceOne \up }
  \new DrumVoice { \voiceTwo \down }
>>

[image of music]

Fragments de codi seleccionats

Vegeu aquí alguns exemples addicionals:

Dos blocs de fusta, escrits amb wbh (woodblock-high, bloc alt) i wbl (woodblock-low bloc baix.)

% Aquestes línies defineixen la posició dels blocs de fusta al pentagrama;
% si ho voleu, podeu canviar-lo o podeu usar caps de nota especials
% per als blocs de fusta.
#(define mydrums '((hiwoodblock default #t  3)
                   (lowoodblock default #t -2)))

woodstaff = {
  % Això defineix un pentagrama amb sols dues línies.
  % També defineix les posicions de les dues línies.
  \override Staff.StaffSymbol.line-positions = #'(-2 3)

  % Això és necessari; si no s'entra, la barra de compàs seria massa curta!
  \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
}

\new DrumStaff {
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)

  % Amb això carregueu la vostra nova taula d'estil de percussió
  \woodstaff

  \drummode {
    \time 2/4
    wbl8 16 16 8-> 8 |
    wbl8 16 16-> ~ 16 16 r8 |
  }
}

[image of music]

Observeu que en aquest cas especial es pot alterar la longitud de la línia divisòria amb \override Staff.BarLine.bar-extent #'(de . a). En cas contrari resulta massa curta. També heu de definir les posicions de les dues línies del pentagrama. Per a més informació sobre aquests temes delicats, consulteu El símbol del pentagrama.

Una pandereta, escrita mitjaç+ant ‘tamb’ (tambourine):

#(define mydrums '((tambourine default #t 0)))

\new DrumStaff \with { instrumentName = #"Tambourine" }

\drummode {
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
  \override Staff.StaffSymbol.line-positions = #'( 0 )
  \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)

  \time 6/8
  tamb8. 16 8 8 8 8 |
  tamb4. 8 8 8 |
  % Cal l'ajustament per a la duració escalada i el silenci més curt
  % per a la finalització correcta de l'extensor de tri.
  tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
}

[image of music]

Música per a gong, introduïda amb ‘tt’ (tam-tam):

#(define mydrums '((tamtam default #t 0)))

\new DrumStaff \with { instrumentName = #"Tamtam" }

\drummode {
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\override Staff.StaffSymbol.line-positions = #'( 0 )
\override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)

  tt 1 \pp \laissezVibrer
}

[image of music]

Dues campanes, introduïdes amb ‘cb’ (cowbell, esquella) i ‘rb’ (ridebell, campana normal)

#(define mydrums '((ridebell default #t  3)
                   (cowbell  default #t -2)))

\new DrumStaff \with { instrumentName = #"Different Bells" }

\drummode {
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
  \override DrumStaff.StaffSymbol.line-positions = #'(-2 3)
  \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)

  \time 2/4
  rb8 8 cb8 16 rb16-> ~ |
  16 8 16 cb8 8 |
}

[image of music]

Aquí hi ha un exemple breu procedent de la ‘Història del soldat’ de Stravinsky:

#(define mydrums '((bassdrum   default #t  4)
                   (snare      default #t -4)
                   (tambourine default #t  0)))

global = {
  \time 3/8 s4.
  \time 2/4 s2*2
  \time 3/8 s4.
  \time 2/4 s2
}

drumsA = {
  \context DrumVoice <<
    { \global }
    { \drummode {
        \autoBeamOff
        \stemDown sn8 \stemUp tamb s8 |
        sn4 \stemDown sn4 |
        \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 |
        \stemDown sn8 \stemUp tamb s8 |
        \stemUp sn4 s8 \stemUp tamb
      }
    }
  >>
}

drumsB = {
  \drummode {
    s4 bd8 s2*2 s4 bd8 s4 bd8 s8
  }
}

\layout {
  indent = #40
}

\score {
  \new StaffGroup <<
    \new DrumStaff \with {
      instrumentName = \markup {
        \column {
          "Tambourine"
          "et"
          "caisse claire s. timbre"
        }
      }
    drumStyleTable = #(alist->hash-table mydrums)
  }
  \drumsA
  \new DrumStaff \with {
    instrumentName = #"Grosse Caisse"
    drumStyleTable = #(alist->hash-table mydrums)
  }
  \drumsB
  >>
}

[image of music]

Vegeu també

Fragments de codi: Percussion.

Referència de funcionament intern: DrumStaff, DrumVoice.


Notes fantasma

Les notes fantasma per a la bateria i instruments de percussió es poden crear utilitzant l’ordre \parenthesize detallada a Parèntesis.

\new DrumStaff
<<
  \context DrumVoice  = "1" { s1 }
  \context DrumVoice  = "2" { s1 }
  \drummode {
    <<
      {
        hh8[ 8] <hh sn> hh16
        \parenthesize sn  hh
        \parenthesize sn  hh8 <hh sn> hh
      } \\
      {
        bd4 r4 bd8 8 r8 bd
      }
    >>
  }
>>

[image of music]

Vegeu també

Fragments de codi: Percussion.


2.6 Wind instruments

[image of music]

This section includes elements of music notation that arise when writing specifically for wind instruments.


2.6.1 Common notation for wind instruments

This section discusses notation common to most wind instruments.


References for wind instruments

Many notation issues for wind instruments pertain to breathing and tonguing:

Other aspects of musical notation that can apply to wind instruments:

Fragments de codi seleccionats

Changing \flageolet mark size

To make the \flageolet circle smaller use the following Scheme function.

smallFlageolet =
#(let ((m (make-articulation "flageolet")))
   (set! (ly:music-property m 'tweaks)
         (acons 'font-size -3
                (ly:music-property m 'tweaks)))
   m)

\layout { ragged-right = ##f }

\relative c'' {
  d4^\flageolet_\markup { default size } d_\flageolet
  c4^\smallFlageolet_\markup { smaller } c_\smallFlageolet
}

[image of music]

Vegeu també

Notation Reference: Marques de respiració, Lligadures d’expressió, Articulacions i ornaments, List of articulations, Repeticions de trèmol, Transposició dels instruments, Glissando, Notes d’adorn, Caigudes i elevacions, Caps de nota especials,

Snippets: Winds.


Fingerings

All wind instruments other than the trombone require the use of several fingers to produce each pitch. Some fingering examples are shown in the snippets below.

Woodwind diagrams can be produced and are described in Woodwind diagrams.

Fragments de codi seleccionats

Fingering symbols for wind instruments

Special symbols can be achieved by combining existing glyphs, which is useful for wind instruments.

centermarkup = {
  \once \override TextScript.self-alignment-X = #CENTER
  \once \override TextScript.X-offset =#(lambda (g)
  (+ (ly:self-alignment-interface::centered-on-x-parent g)
     (ly:self-alignment-interface::x-aligned-on-self g)))
}

\score {
  \relative c'{
    g\open
    \once \override TextScript.staff-padding = #-1.0
    \centermarkup
    g^\markup {
      \combine
        \musicglyph "scripts.open"
        \musicglyph "scripts.tenuto"
    }
    \centermarkup
    g^\markup {
      \combine
        \musicglyph "scripts.open"
        \musicglyph "scripts.stopped"
    }
    g\stopped
  }
}

[image of music]

Recorder fingering chart

The following example demonstrates how fingering charts for wind instruments can be realized.

% range chart for paetzold contrabass recorder

centermarkup = {
  \once \override TextScript.self-alignment-X = #CENTER
  \once \override TextScript.X-offset =#(lambda (g)
  (+ (ly:self-alignment-interface::centered-on-x-parent g)
     (ly:self-alignment-interface::x-aligned-on-self g)))
}

\score {
  \new Staff \with {
    \remove "Time_signature_engraver"
    \omit Stem
    \omit Flag
    \consists "Horizontal_bracket_engraver"
  }
  {
    \clef bass
    \set Score.timing = ##f
    f,1*1/4 \glissando
    \clef violin
    gis'1*1/4
    \stemDown a'4^\markup{1)}
    \centermarkup
    \once \override TextScript.padding = #2
    bes'1*1/4_\markup{\override #'(baseline-skip . 1.7) \column
      { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2 \finger 3 \finger 4
    \finger 5 \finger 6 \finger 7} }
    b'1*1/4
    c''4^\markup{1)}
    \centermarkup
    \once \override TextScript.padding = #2
    cis''1*1/4
    deh''1*1/4
    \centermarkup
    \once \override TextScript.padding = #2
    \once \override Staff.HorizontalBracket.direction = #UP
    e''1*1/4_\markup{\override #'(baseline-skip . 1.7) \column
      { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2 \finger 4
    \finger 5} }\startGroup
    f''1*1/4^\markup{2)}\stopGroup
  }
}

[image of music]

Vegeu també

Notation Reference: Woodwind diagrams.

Snippets: Winds.


2.6.2 Bagpipes

This section discusses notation common bagpipes.


Bagpipe definitions

LilyPond contains special definitions for Scottish, Highland Bagpipe music; to use them, add

\include "bagpipe.ly"

to the top of your input file. This lets you add the special grace notes common to bagpipe music with short commands. For example, you could write \taor instead of

\grace { \small G32[ d G e] }

bagpipe.ly’ also contains pitch definitions for the bagpipe notes in the appropriate octaves, so you do not need to worry about \relative or \transpose.

\include "bagpipe.ly"
{ \grg G4 \grg a \grg b \grg c \grg d \grg e \grg f \grA g A }

[image of music]

Bagpipe music nominally uses the key of D Major (even though that isn’t really true). However, since that is the only key that can be used, the key signature is normally not written out. To set this up correctly, always start your music with \hideKeySignature. If you for some reason want to show the key signature, you can use \showKeySignature instead.

Some modern music use cross fingering on c and f to flatten those notes. This can be indicated by c-flat or f-flat. Similarly, the piobaireachd high g can be written g-flat when it occurs in light music.

Vegeu també

Snippets: Winds.


Bagpipe example

This is what the well known tune Amazing Grace looks like in bagpipe notation.

\include "bagpipe.ly"
\layout {
  indent = 0.0\cm
  \context { \Score \remove "Bar_number_engraver" }
}

\header {
  title = "Amazing Grace"
  meter = "Hymn"
  arranger = "Trad. arr."
}

{
  \hideKeySignature
  \time 3/4
  \grg \partial 4 a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 \grg f8 e
  \thrwd d2 \grg b4
  \grG a2 \grg a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 \grg e8. f16
  \dblA A2 \grg A4
  \grg A2 f8. A16
  \grg A2 \hdblf f8[ e32 d16.]
  \grg f2 \grg f8 e
  \thrwd d2 \grg b4
  \grG a2 \grg a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 e4
  \thrwd d2.
  \slurd d2
  \bar "|."
}

[image of music]

Vegeu també

Snippets: Winds.


2.6.3 Woodwinds

This section discusses notation specifically for woodwind instruments.


2.6.3.1 Woodwind diagrams

Woodwind diagrams can be used to indicate the fingering to be used for specific notes and are available for the following instruments:

Woodwind diagrams are created as markups:

c''1^\markup {
  \woodwind-diagram #'piccolo #'((lh . (gis))
                                 (cc . (one three))
                                 (rh . (ees)))
}

[image of music]

Keys can be open, partially-covered, ring-depressed, or fully covered:

\textLengthOn
c''1^\markup {
  \center-column {
    "one quarter"
    \woodwind-diagram #'flute #'((cc . (one1q))
                                 (lh . ())
                                 (rh . ()))
  }
}

c''1^\markup {
  \center-column {
    "one half"
    \woodwind-diagram #'flute #'((cc . (one1h))
                                 (lh . ())
                                 (rh . ()))
  }
}

c''1^\markup {
  \center-column {
    "three quarter"
    \woodwind-diagram #'flute #'((cc . (one3q))
                                 (lh . ())
                                 (rh . ()))
  }
}

c''1^\markup {
  \center-column {
    "ring"
    \woodwind-diagram #'flute #'((cc . (oneR))
                                 (lh . ())
                                 (rh . ()))
  }
}

c''1^\markup {
  \center-column {
    "full"
    \woodwind-diagram #'flute #'((cc . (oneF two))
                                 (lh . ())
                                 (rh . ()))
  }
}

[image of music]

Trills are indicated as shaded keys:

c''1^\markup {
  \woodwind-diagram #'bass-clarinet
                    #'((cc . (threeT four))
                       (lh . ())
                       (rh . (b fis)))
}

[image of music]

A variety of trills can be displayed:

\textLengthOn
c''1^\markup {
  \center-column {
    "one quarter to ring"
    \woodwind-diagram #'flute #'((cc . (one1qTR))
                                 (lh . ())
                                 (rh . ()))
  }
}

c''1^\markup {
  \center-column {
    "ring to shut"
    \woodwind-diagram #'flute #'((cc . (oneTR))
                                 (lh . ())
                                 (rh . ()))
  }
}

c''1^\markup {
  \center-column {
    "ring to open"
    \woodwind-diagram #'flute #'((cc . (oneRT))
                                 (lh . ())
                                 (rh . ()))
  }
}

c''1^\markup {
  \center-column {
    "open to shut"
    \woodwind-diagram #'flute #'((cc . (oneT))
                                 (lh . ())
                                 (rh . ()))
  }
}

c''1^\markup {
  \center-column {
    "one quarter to three quarters"
    \woodwind-diagram #'flute #'((cc . (one1qT3q))
                                 (lh . ())
                                 (rh . ()))
  }
}

[image of music]

The list of all possible keys and settings for a given instrument can be displayed on the console using #(print-keys-verbose 'flute) or in the log file using #(print-keys-verbose 'flute (current-error-port)), although they will not show up in the music output.

Creating new diagrams is possible, although this will require Scheme ability and may not be accessible to all users. The patterns for the diagrams are in ‘scm/define-woodwind-diagrams.scm’ and ‘scm/display-woodwind-diagrams.scm’.

Instruccions predefinides

Fragments de codi seleccionats

Woodwind diagrams listing

The following music shows all of the woodwind diagrams currently defined in LilyPond.

\layout {
  indent = 0
}

\relative c' {
  \textLengthOn
  c1^
  \markup {
    \center-column {
      'tin-whistle
      " "
       \woodwind-diagram
                  #'tin-whistle
                  #'()
    }
  }

  c1^
  \markup {
    \center-column {
      'piccolo
      " "
       \woodwind-diagram
                  #'piccolo
                  #'()
    }
  }

  c1^
  \markup {
    \center-column {
       'flute
       " "
       \woodwind-diagram
          #'flute
          #'()
    }
  }
  c1^\markup {
    \center-column {
      'oboe
      " "
      \woodwind-diagram
        #'oboe
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'clarinet
      " "
      \woodwind-diagram
        #'clarinet
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'bass-clarinet
      " "
      \woodwind-diagram
        #'bass-clarinet
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'saxophone
      " "
      \woodwind-diagram
        #'saxophone
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'bassoon
      " "
      \woodwind-diagram
        #'bassoon
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'contrabassoon
      " "
      \woodwind-diagram
        #'contrabassoon
        #'()
    }
  }
}

[image of music]

Graphical and text woodwind diagrams

In many cases, the keys other than the central column can be displayed by key name as well as by graphical means.

\relative c'' {
  \textLengthOn
  c1^\markup
    \woodwind-diagram
      #'piccolo
      #'((cc . (one three))
         (lh . (gis))
         (rh . (ees)))

  c^\markup
    \override #'(graphical . #f) {
      \woodwind-diagram
        #'piccolo
        #'((cc . (one three))
           (lh . (gis))
           (rh . (ees)))
    }
}

[image of music]

Changing the size of woodwind diagrams

The size and thickness of woodwind diagrams can be changed.

\relative c'' {
  \textLengthOn
  c1^\markup
    \woodwind-diagram
      #'piccolo
      #'()

  c^\markup
    \override #'(size . 1.5) {
      \woodwind-diagram
        #'piccolo
        #'()
    }
  c^\markup
    \override #'(thickness . 0.15) {
      \woodwind-diagram
        #'piccolo
        #'()
    }
}

[image of music]

Woodwind diagrams key lists

The snippet below produces a list of all possible keys and key settings for woodwind diagrams as defined in scm/define-woodwind-diagrams.scm. The list will be displayed in the log file, but not in the music. If output to the console is wanted, omit the (current-error-port) from the commands.

#(print-keys-verbose 'piccolo (current-error-port))
#(print-keys-verbose 'flute (current-error-port))
#(print-keys-verbose 'flute-b-extension (current-error-port))
#(print-keys-verbose 'tin-whistle (current-error-port))
#(print-keys-verbose 'oboe (current-error-port))
#(print-keys-verbose 'clarinet (current-error-port))
#(print-keys-verbose 'bass-clarinet (current-error-port))
#(print-keys-verbose 'low-bass-clarinet (current-error-port))
#(print-keys-verbose 'saxophone (current-error-port))
#(print-keys-verbose 'soprano-saxophone (current-error-port))
#(print-keys-verbose 'alto-saxophone (current-error-port))
#(print-keys-verbose 'tenor-saxophone (current-error-port))
#(print-keys-verbose 'baritone-saxophone (current-error-port))
#(print-keys-verbose 'bassoon (current-error-port))
#(print-keys-verbose 'contrabassoon (current-error-port))

\score {c''1}

[image of music]

Vegeu també

Installed Files: ‘scm/define-woodwind-diagrams.scm’,
scm/display-woodwind-diagrams.scm’.

Snippets: Winds.

Internals Reference: TextScript, instrument-specific-markup-interface.


2.7 Notació d’acords

[image of music]

Els acords es poden escriure al mode d’acords, que reconeix algunes convencions europees tradicionals de nomenclatura d’acords. També es poden imprimir els noms dels acords. A més a més es pot imprimir notació de baix xifrat.


2.7.1 Mode d’acords

Per introduir acords s’utilitza el mode d’acords. S’usa un indicador de l’estructura de l’acord enlloc de l’alçada de les seves notes.


Panoràmica del mode d’acords

Els acords es poden escriure com a música simultània, com s’explica a Notes a un acord.

També es poden escriure els acords al “mode d’acords”, que és un mode d’entrada que se centra en les estructures dels acords dins de la música europea tradicional (on es coneix com «xifrat americà») més que en les notes concretes. Això és molt pràctic per als que estan familiaritzats amb la utilització de noms per descriure els acords. Hi ha més informació sobre els diferents modes d’entrada a Modes d’entrada.

\chordmode { c1 g a g c }

[image of music]

Els acords escrits amb el mode d’acords són elements musicals, i es poden transposar igual que els acords escrits mitjançant construccions de música simultània. El \chordmode és absolut, \relativa no té cap efecte sobre els blocs \chordmode. Tanmateix, dins de \chordmode les alçades absolutes són una octava més agudes que al mode de notes.

Es poden barrejar els modes d’acord i de nota a la música seqüencial:

\relative {
  <c' e g>2 <g b d>
  \chordmode { c2 f }
  <c e g>2 <g' b d>
  \chordmode { f2 g }
}

[image of music]

Vegeu també

Glossari musical: chord.

Referència de la notació: Notes a un acord, Modes d’entrada.

Fragments de codi: Chords.

Advertiments i problemes coneguts

No es poden usar les abreviatures predefinides d’articulacions i adorns sobre notes dins del mode d’acords; vegeu Articulacions i ornaments.


Acords més usuals

Les triades majors s’introdueixen escrivint la fonamental i una duració opcional:

\chordmode { c2 f4 g }

[image of music]

Las tríades menors augmentades i disminuïdes s’escriuen posant : i una cadena modificadora de variant després de la duració:

\chordmode { c2:m f4:aug g:dim }

[image of music]

Es poden crear acords de sèptima:

\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }

[image of music]

La taula que es veu més avall mostra l’efecte dels modificadors de variant sobre els acords de tríada i de sèptima. La sèptima afegida de forma predeterminada als acords és menor, cosa que fa de l’acord de sèptima dominant l’acord bàsic de sèptima. Totes les alteracions es consideren en relació amb la sèptima dominant. Hi ha una taula més completa on apareixen els usos dels modificadors a Modificadors d’acord més usuals.

ModificadorAccióExemple
CapAcció predeterminada; produeix una triada major.

[image of music]

m, m7Acord menor. Aquest modificador baixa la tercera.

[image of music]

dim, dim7Acorde disminuït. Aquest modificador baixa la tercera, la quinta i, si existeix, la sèptima.

[image of music]

augAcord augmentat. Aquest modificador puja la quinta.

[image of music]

maj, maj7Acord de sèptima major. Aquest modificador afegeix una sèptima elevada. El 7 que segueix a maj és opcional. NO utilitzeu aquest modificador per crear una triada major.

[image of music]

Vegeu també

Referència de la notació: Modificadors d’acord més usuals, Acords estesos i alterats.

Fragments de codi: Chords.

Advertiments i problemes coneguts

Sols es pot usar un modificador per a cada acord, normalment sobre la nota més aguda de l’acord. Els acords amb més d’un modificador es processen sense produir errors ni advertiments, però el resultat és imprescindible. Els acords que no es poden aconseguir amb un sols modificador s’han d’alterar en les seves notes individuals com es descriu a Acords estesos i alterats.


Acords estesos i alterats

Es poden crear estructures d’acord de complexitat arbitrària dins del mode d’acords. Es pot usar la cadena modificadora per estendre un acord, afegir o treure notes, pujar o baixar notes de l’acord i afegir un baix diferent o crear una inversió.

El primer número que segueix al : es considera que és l’àmbit de l’acord. L’acord es construeix seqüencialment afegint terceres a la fonamental fins que s’assoleix el nombre especificat. Observeu que la sèptima afegida com a part d’un acord estès és la sèptima menor, no major. Si l’àmbit no és una tercera (per exemple 6), s’afegeixen terceres fina la tercera més alta inferior a l’àmbit, i després s’afegeix la nota de l’àmbit. El valor més gran possible per a l’àmbit és 13. Qualsevol valor més gran s’interpreta com a 13.

\chordmode {
  c1:2 c:3 c:4 c:5
  c1:6 c:7 c:8 c:9
  c1:10 c:11 c:12 c:13
  c1:14
}

[image of music]

Com a excepció especial, c:5 produeix un ‘power chord’, que té sols la fonamental i la quinta.

Atès que una onzena sense alteració no sona bé quan es combina a una tresena sense alteració, s’elimina l’onzena dels acords de :13 (a no ser que s’afegeixi explícitament).

\chordmode {
  c1:13 c:13.11 c:m13
}

[image of music]

Es poden afegir notes individuals a un acord. Les addicions segueixen l’àmbit i van prefixades per un punt (.). La sèptima normal que s’afegeix a un acord és la sèptima menor, no major.

\chordmode {
  c1:3.5.6 c:3.7.8 c:3.6.13
}

[image of music]

Les notes afegides poden set tan agudes com desitgeu.

\chordmode {
  c4:3.5.15 c:3.5.20 c:3.5.25 c:3.5.30
}

[image of music]

Les notes afegides als acords es poden alterar mitjançant l’edició dels sufixos - o + al número. Per alterar una nota que s’ha inclòs automàticament com a part de l’estructura bàsica de l’acord, afegiu-la com una nota alterada.

\chordmode {
  c1:7+ c:5+.3- c:3-.5-.7-
}

[image of music]

Una nota que es vol suprimir d’un acord indica dins de la cadena modificadora prefixant-la amb un accent circumflex ^. Sols es permet una supressió amb ^ dentro d’una cadena modificadora.

\chordmode {
  c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
}

[image of music]

Es pot afegir el modificador sus a la cadena modificadora per crear acords suspensos. Això elimina la tercera de l’acord. Escriviu o bé 2 o bé 4 per afegir la segona o la quarta a l’acord, respectivament. Quan sus va seguit d’una segona a una quarta, és equivalemtn a ^3, i en cas contrari a sus4, és a dir, 5.4.

\chordmode {
  c1:sus c:sus2 c:sus4 c:5.4
}

[image of music]

Es poden modificar les inversions (col·locar al baix una nota diferent de la fonamental de l’acord) i notes de baix afegides mitjançant l’addició de /nota a l’acord.

\chordmode {
  c'1 c'/e c'/f
}

[image of music]

Es pot afegir una nota del baix que forma part de l’acord, enlloc moure-la per efecte d’una inversió, mitjançant l’ús de /+nota.

\chordmode {
  c'1 c'/g c'/+e
}

[image of music]

Els modificadors d’acord que es poden fer servir per produir una àmplia varietat d’acords estàndard es mostren a Modificadors d’acord més usuals,

Vegeu també

Referencia de la notación: Modificadors d’acord més usuals,

Fragments de codi: Chords.

Advertiments i problemes coneguts

Cada not sols pot estar present a l’acord un sol cop. El que segueix produeix simplement l’acord augmentat, perquè 5+ s’interpreta en últim lloc.

\chordmode { c1:3.5.5-.5+ }

[image of music]


2.7.2 Impressió dels acords

Els acords es poden imprimir pel seu nom, a més de la impressió estàndard com a notes sobre un pentagrama.


Impressió dels noms d’acord

El noms d’acord s’imprimeixen dins del context ChordNames:

\new ChordNames {
  \chordmode {
    c2 f4. g8
  }
}

[image of music]

Els acords es poden escriure com a notes simultànies o a través de l’ús del mode d’acords. El nom d’acord que s’imprimeix és el mateix independentment del mode d’entrada, a no ser que hi hagi inversions o baixos afegits:

chordmusic = \relative {
  <c' e g>2 <f bes c>
  <f c' e g>1
  \chordmode {
    c2 f:sus4 c1:/f
  }
}
<<
  \new ChordNames {
    \chordmusic
  }
  {
    \chordmusic
  }
>>

[image of music]

Els silencis passats a un context ChordNames fan que s’imprimeixi l’element de marcatge noChordSymbol (símbol de N.C., Sense Acord).

<<
  \new ChordNames \chordmode {
    c1
    r1
    g1
    c1
  }
  \chordmode {
    c1
    r1
    g1
    c1
  }
>>

[image of music]

\chords { … } és una forma abreujada d’escriure \new ChordNames \chordmode { … }.

\chords {
  c2 f4.:m g8:maj7
}

[image of music]

\new ChordNames {
  \chordmode {
    c2 f4.:m g8:maj7
  }
}

[image of music]

Fragments de codi seleccionats

Showing chords at changes

Chord names can be displayed only at the start of lines and when the chord changes.

harmonies = \chordmode {
  c1:m c:m \break c:m c:m d
}

<<
  \new ChordNames {
    \set chordChanges = ##t
    \harmonies
  }
  \new Staff {
    \relative c' { \harmonies }
  }
>>

[image of music]

Simple lead sheet

When put together, chord names, a melody, and lyrics form a lead sheet:

<<
  \chords { c2 g:sus4 f e }
  \relative c'' {
    a4 e c8 e r4
    b2 c4( d)
  }
  \addlyrics { One day this shall be free __ }
>>

[image of music]

Vegeu també

Glossari musical: chord.

Referència de la notació: Escriptura de música en paral·lel.

Fragments de codi: Chords.

Referència de funcionament intern: ChordNames, ChordName, Chord_name_engraver, Volta_engraver, Bar_engraver.

Advertiments i problemes coneguts

Els acords que contenen inversions o baixos alterats no reben un nom adequat si s’escriuen usant música simultània.


Noms d’acord personalitzats

No hi ha un sistema únic per anomenar els acords. Les diferents tradicions musicals usen diferents noms per al mateix conjunt d’acords. A més hi ha diferents símbols impresos per a un nom d’acord donat. Els noms i símbols que s’imprimeixen per als noms d’acord donats es poden personalitzar.

L’esquema de nomenclatura d’acords predeterminat és un sistema per a música de Jazz, proposat per Klaus Ignatzek (vegeu Llista de referències bibligràfiques). També funcionen d’altres dos esquemes de nomenclatura d’acords: una notació d’acords de Jazz alternativa i un esquema sistemàtic anomenat Acords de Banter. La notació de Jazz alternativa també es pot veure al Taula de noms d’acords.

A més dels diferents sistemes de nomenclatura, s’usen diferents noms de nota per a la fonamental segons la llengua. Les variables predefinides \germanChords, \semiGermanChords, \italianChords i \frenchChords estableixen el valor d’aquestes variables. L’efecte es mostra aquí:

[image of music]

Alguns cançoners alemanys indiquen els acords menors com a lletres minúscules, sense el sufix m. Això es pot aconseguir establint la propietat chordNameLowercaseMinor:

\chords {
  \set chordNameLowercaseMinor = ##t
  c2 d:m e:m f
}

[image of music]

Si caps dels ajustos predeterminats proporciona el resultat desitjat, es pot afinar la presentació dels noms d’acord a través de les propietats següents:

chordRootNamer

El nom d’acord s’imprimeix normalment com una lletra per a la fonamental amb una alteració opcional. La transformació de la nota en la lletra es realitza per part d’aquesta funció. Els noms de nota especials (per exemple la ‘H’ alemanya per a un acord de Si) es poden produir emmagatzemant una funció nova en aquesta propietat.

majorSevenSymbol

Aquesta propietat conté l’objecte de marcatge que s’usa per fer el seguiment de la sortida de chordRootNamer per identificar un acord de sèptima major. Les opcions predefinides són whiteTriangleMarkup (triangle blanc) i blackTriangleMarkup (triangle negre).

additionalPitchPrefix

Quan l’acord conté notes afegides, es poden prefixar opcionalment per un text. Per defecte no hi ha cap prefix, per evitar la sobrecàrrega visual, però per petites quantitats de notes afegides pot ser visualment efectiu.

\new ChordNames {
  <c e g d'>    % add9
  \set additionalPitchPrefix = #"add"
  <c e g d'>    % add9
}

[image of music]

chordNoteNamer

Quan el nom de l’acord conté notes addicionals a part de la fonamental (per exemple un baix afegit) s’utilitza aquesta funció per imprimir la nota addicional. De forma predeterminada s’imprimeix la nota usant chordRootNamer. La propietat chordNoteNamer es pot establir a una funció especialitzada per canviar aquest comportament. Per exemple, el baix es por imprimir en minúscula.

chordNameSeparator

Les diferents parts del nom d’un acord se separen normalment mitjançant un petit espai en blanc. Mitjançant l’ajust de chordNameSeparator, podem usar qualsevol marcatge que desitgem com a separador. Això no afecta el separador entre un acord i la nota del baix: per personalitzar això, utilitzeu slashChordSeparator.

\chords {
  c4:7.9- c:7.9-/g
  \set chordNameSeparator = \markup { "/" }
  \break
  c4:7.9- c:7.9-/g
}

[image of music]

slashChordSeparator

Els acords es poden tocar sobre una nota del baix diferent a la fonamental. S’anomenen «inversions» o «acords de barra inclinada» atès que la manera predeterminada d’efectuar la seva notació és amb una barra inclinada entre l’acord i la nota del baix. Per tant, el valor de slashChordSeparator és, per defecte, una barra inclinada, però podem canviar-lo a qualsevol element de marcatge que volem.

\chords {
  c4:7.9- c:7.9-/g
  \set slashChordSeparator = \markup { " over " }
  \break
  c4:7.9- c:7.9-/g
}

[image of music]

chordNameExceptions

Aquesta propietat és una llista de parelles. El primer element de cada parella és un conjunt de notes utilitzades per identificar els elements presents a l’acord. El segon element és un element de marcatge que segueix a la sortida de chordRootNamer per crear el nom de l’acord.

minorChordModifier

La notació dels acords menors se sol fer mitjançant el sufix ‘m’ a la dreta de la lletra que indica la fonamental de l’acord. Tanmateix, altres convencions donen preferència a sufixos diferents, com un signe menys.

\chords {
  c4:min f:min7
  \set minorChordModifier = \markup { "-" }
  \break
  c4:min f:min7
}

[image of music]

chordPrefixSpacer

El modificador dels acords menors tal i com ve determinat per minorChordModifier s’imprimeix en general immediatament a la dreta de la fonamental. Es pot inserir un símbol separador entre la fonamental i el modificador establint chordPrefixSpacer. El símbol separador no s’usa quan l’acord està alterat.

Instruccions predefinides

\whiteTriangleMarkup, \blackTriangleMarkup, \germanChords, \semiGermanChords, \italianChords, \frenchChords.

Fragments de codi seleccionats

Chord name exceptions

The property chordNameExceptions can be used to store a list of special notations for specific chords.

% modify maj9 and 6(add9)
% Exception music is chords with markups
chExceptionMusic = {
  <c e g b d'>1-\markup { \super "maj9" }
  <c e g a d'>1-\markup { \super "6(add9)" }
}

% Convert music to list and prepend to existing exceptions.
chExceptions = #( append
  ( sequential-music-to-chord-exceptions chExceptionMusic #t)
  ignatzekExceptions)

theMusic = \chordmode {
  g1:maj9 g1:6.9
  \set chordNameExceptions = #chExceptions
  g1:maj9 g1:6.9
}

\layout {
  ragged-right = ##t
}

<< \context ChordNames \theMusic
   \context Voice \theMusic
>>

[image of music]

chord name major7

The layout of the major 7 can be tuned with majorSevenSymbol.

\chords {
  c:7+
  \set majorSevenSymbol = \markup { j7 }
  c:7+
}

[image of music]

Adding bar lines to ChordNames context

To add bar line indications in the ChordNames context, add the Bar_engraver.

\new ChordNames \with {
  \override BarLine.bar-extent = #'(-2 . 2)
  \consists "Bar_engraver"
}

\chordmode {
  f1:maj7 f:7 bes:7
}

[image of music]

Volta below chords

By adding the Volta_engraver to the relevant staff, volte can be put under chords.

\score {
  <<
    \chords {
      c1
      c1
    }
    \new Staff \with {
      \consists "Volta_engraver"
    }
    {
      \repeat volta 2 { c'1 }
      \alternative { c' }
    }
  >>
  \layout {
    \context {
      \Score
      \remove "Volta_engraver"
    }
  }
}

[image of music]

Changing chord separator

The separator between different parts of a chord name can be set to any markup.

\chords {
  c:7sus4
  \set chordNameSeparator
    = \markup { \typewriter | }
  c:7sus4
}

[image of music]

Vegeu també

Referència de la notació: Taula de noms d’acords, Modificadors d’acord més usuals.

L’assaig sobre gravat musical automatitzat: Llista de referències bibligràfiques.

Fitxers instal·lats: ‘scm/chords-ignatzek.scm’, ‘scm/chord-entry.scm’, ‘ly/chord-modifier-init.ly’.

Fragments de codi: Chords.

Advertiments i problemes coneguts

Els noms d’acord es determinen a partir de les notes que estan presents a l’acord i de la informació sobre l’estructura de l’acord que s’ha pogut introduir a \chordmode. Si s’usa el mètode de les notes simultànies per introduir els acords, es poden produir noms no desitjats a partir de les inversions o de les notes del baix.

myChords = \relative c' {
  \chordmode { c1 c/g c/f }
  <c e g>1 <g c e> <f c' e g>
}
<<
  \new ChordNames { \myChords }
  \new Staff { \myChords }
>>

[image of music]


2.7.3 Baix xifrat

[image of music]

Es pot imprimir notació de baix xifrat.


Introducció al baix xifrat

El LilyPond permet el baix xifrat, també conegut com a basso continu:

<<
  \new Voice { \clef bass dis4 c d ais g fis}
  \new FiguredBass {
    \figuremode {
      < 6 >4 < 7\+ >8 < 6+ [_!] >
      < 6 >4 <6 5 [3+] >
      < _ >4 < 6 5/>4
    }
  }
>>

[image of music]

El suport per a baix xifrat es composa de dues parts: hi ha un mode d’entrada, presentat per \figuremode, que admet l’entrada de les xifres del baix, i hi ha un context anomenat FiguredBass que s’ocupa de la impressió dels objectes del tipus BassFigure. El baix xifrat també es pot imprimir dins de contextos de Staff.

\figures{ … } és una notació abreujada de \new FiguredBass \figuremode { … }.

Tot i que el suport per a baix xifrat pot semblar-se superficialment als dels acords, en realitat és molt més simple. El mode \figuremode simplement emmagatzema les xifres i el context FiguredBass les imprimeix tal i com s’han introduït. No hi ha cap conversió a notes.

Vegeu també

Glossari musical: figured bass.

Fragments de codi: Chords.


Introduir el baix xifrat

S’usa \figuremode per canviar el mode d’entrada al mode de xifres. Hi ha més informació sobre els diferents modes d’entrada a Modes d’entrada.

En el mode de xifres, un grup de xifres del baix està delimitat mitjançant angles simples, < y >. La duració s’escriu després del >.

\new FiguredBass {
  \figuremode {
    <6 4>2
  }
}

[image of music]

Es poden fer servir alteracions accidentals (fins i tot becaires) per modificar graus de l’escala. S’escriuen afegint + (per als sostinguts), - (per als becaires) o o ! (per als becaires) després del número. Per obtenir alteracions dobles, s’aplica el modificador dues vegades seguides. Amb freqüència, per a la modificació del tercer grau s’omet el número, cosa que es pot fer utilitzant _ en coptes d’un número.

\figures {
  <7! 6+ 4-> <5++> <3--> < _+ > < 7 _!>
}

[image of music]

Es poden indicar elements de l’acord augmentats i disminuïts:

\figures {
  <6\+ 5/> <7/>
}

[image of music]

Es pot crear una barra invertida creuant una xifra (usada normalment per sextes elevades):

\figures {
  <6> <6\\>
}

[image of music]

Es poden incloure claus a les xifres:

\figures {
  <[12] 8 [6  4]>
}

[image of music]

Es pot inserir qualsevol element de marcatge de text com una xifra:

\figures {
  <\markup { \tiny \number 6 \super (1) } 5>
}

[image of music]

Es poden usar línies de continuació per indicar xifres que es repeteixen:

<<
  {
    \clef bass
    e4 d c b,
    e4 d c b,
  }
  \figures {
    \bassFigureExtendersOn
    <6 4>4 <6 3> <7 3> <7 3>
    \bassFigureExtendersOff
    <6 4>4 <6 3> <7 3> <7 3>
  }
>>

[image of music]

En aquest cas, les línies d’extensió substitueixen a les xifres existents, a no ser que les línies de continuació s’hagin finalitzat explícitament.

<<
  \figures {
    \bassFigureExtendersOn
    <6 4>4 <6 4> <6\! 4\!> <6 4>
  }
  {
    \clef bass
    d4 d c c
  }
>>

[image of music]

La taula següent resumeix els modificadors de xifrat disponibles.

ModificadorPropòsitEexmple
+, -, !Alteracions

[image of music]

\+, /Augmentacions i disminucions

[image of music]

\\Sexta elevada

[image of music]

\!Fin de línia de continuació

[image of music]

Instruccions predefinides

\bassFigureExtendersOn, \bassFigureExtendersOff.

Fragments de codi seleccionats

Changing the positions of figured bass alterations

Accidentals and plus signs can appear before or after the numbers, depending on the figuredBassAlterationDirection and figuredBassPlusDirection properties.

\figures {
  <6\+> <5+> <6 4-> r
  \set figuredBassAlterationDirection = #RIGHT
  <6\+> <5+> <6 4-> r
  \set figuredBassPlusDirection = #RIGHT
  <6\+> <5+> <6 4-> r
  \set figuredBassAlterationDirection = #LEFT
  <6\+> <5+> <6 4-> r
}

[image of music]

Vegeu també

Fragments de codi: Chords.

Referència de funcionament intern: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.


Impressió del baix xifrat

El baix xifrat es pot imprimir usant el context FiguredBass, o dins de la majoria dels contextos de pentagrama.

Quan es presenta dins d’un context de FiguredBass, la ubicació vertical de les xifres és independent de les notes que estan al pentagrama.

<<
  \relative {
    c''4 c'8 r8 c,4 c'
  }
  \new FiguredBass {
    \figuremode {
      <4>4 <10 6>8 s8
      <6 4>4 <6 4>
    }
  }
>>

[image of music]

A l’exemple de dalt, el context FiguredBass s’ha d’instanciar explícitament per evitar crear un segon pentagrama buit.

El baix xifrat es pot afegir també a contextos de Staff directament. En aquest cas la posició vertical de les xifres s’ajusta automàticament.

<<
  \new Staff = "myStaff"
  \figuremode {
    <4>4 <10 6>8 s8
    <6 4>4 <6 4>
  }
  %% Posa les notes al mateix Staff que les figures
  \context Staff = "myStaff"
  {
    \clef bass
    c4 c'8 r8 c4 c'
  }
>>

[image of music]

Quan s’escriu dins d’un context de pentagrama, el baix xifrat es pot presentar a sobre o a sota del pentagrama.

<<
  \new Staff = "elmeuPentagrama"
  \figuremode {
    <4>4 <10 6>8 s8
    \bassFigureStaffAlignmentDown
    <6 4>4 <6 4>
  }
  %% Posa les notes al mateix Staff que les figures
  \context Staff = "elmeuPentagrama"
  {
    \clef bass
    c4 c'8 r8 c4 c'
  }
>>

[image of music]

Instruccions predefinides

\bassFigureStaffAlignmentDown, \bassFigureStaffAlignmentUp, \bassFigureStaffAlignmentNeutral.

Vegeu també

Fragments de codi: Chords.

Referència de funcionament intern: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.

Advertiments i problemes coneguts

Per assegurar que les línies extensores funcionen adequadament, el més segur és utilitzar les mateixes duracions a la línia de xifres i a la línia del baix.

<<
  {
    \clef bass
    \repeat unfold 4 { f16. g32 } f8. es16 d8 es
  }
  \figures {
    \bassFigureExtendersOn
    % Els extensors són correctes aquí, amb el mateix ritme que el bas
    \repeat unfold 4 { <6 4->16. <6 4->32 }
    <5>8. r16 <6>8 <6\! 5->
  }
>>
<<
  {
    \clef bass
    \repeat unfold 4 { f16. g32 } f8. es16 d8 es
  }
  \figures {
    \bassFigureExtendersOn
    % Els extensors són incorrectes aquí, tot i que la temporalització és la mateixa
    <6 4->4 <6 4->4
    <5>8. r16 <6>8 <6\! 5->
  }
>>

[image of music]


2.8 Contemporary music

From the beginning of the 20th Century there has been a massive expansion of compositional style and technique. New harmonic and rhythmic developments, an expansion of the pitch spectrum and the development of a wide range of new instrumental techniques have been accompanied by a parallel evolution and expansion of musical notation. The purpose of this section is to provide references and information relevant to working with these new notational techniques.


2.8.1 Pitch and harmony in contemporary music

This section highlights issues that are relevant to notating pitch and harmony in contemporary music.


References for pitch and harmony in contemporary music


Microtonal notation


Contemporary key signatures and harmony


2.8.2 Contemporary approaches to rhythm

This section highlights issues that are relevant to the notation of rhythm in contemporary music.


References for contemporary approaches to rhythm


Tuplets in contemporary music


Contemporary time signatures


Extended polymetric notation


Beams in contemporary music


Bar lines in contemporary music


2.8.3 Graphical notation


2.8.4 Contemporary scoring techniques


2.8.5 New instrumental techniques


2.8.6 Further reading and scores of interest

This section suggests books, musical examples and other resources useful in studying contemporary musical notation.


Books and articles on contemporary musical notation


Scores and musical examples


2.9 Ancient notation

[image of music]

Support for ancient notation includes features for mensural notation, Gregorian chant notation, and Kievan square notation. These features can be accessed either by modifying style properties of graphical objects such as note heads and rests, or by using one of the pre-defined contexts for these styles.

Many graphical objects, such as note heads and flags, accidentals, time signatures, and rests, provide a style property, which can be changed to emulate several different styles of ancient notation. See

Some notational concepts are introduced specifically for ancient notation,

Vegeu també

Music Glossary: custos, ligature, mensural notation.

Notation Reference: Mensural note heads, Mensural accidentals and key signatures, Mensural rests, Gregorian clefs, Mensural flags, Mensural time signatures, Custodes, Divisiones, Ligatures.


2.9.1 Overview of the supported styles

Three styles are available for typesetting Gregorian chant:

Three styles emulate the appearance of late-medieval and renaissance manuscripts and prints of mensural music:

Baroque and Classical are not complete styles but differ from the default style only in some details: certain note heads (Baroque) and the quarter rest (Classical).

Only the mensural style has alternatives for all aspects of the notation. Thus, there are no rests or flags in the Gregorian styles, since these signs are not used in plainchant notation, and the Petrucci style has no flags or accidentals of its own.

Each element of the notation can be changed independently of the others, so that one can use mensural flags, petrucci note heads, classical rests and vaticana clefs in the same piece, if one wishes.

Vegeu també

Music Glossary: mensural notation, flag.


2.9.2 Ancient notation—common features


Pre-defined contexts

For Gregorian chant and mensural notation, there are pre-defined voice and staff contexts available, which set all the various notation signs to values suitable for these styles. If one is satisfied with these defaults, one can proceed directly with note entry without worrying about the details on how to customize a context. See one of the pre-defined contexts VaticanaVoice, VaticanaStaff, MensuralVoice, and MensuralStaff. See further

Vegeu també

Music Glossary: mensural notation.

Notation Reference: Gregorian chant contexts, Mensural contexts.


Ligatures

A ligature is a graphical symbol that represents at least two distinct notes. Ligatures originally appeared in the manuscripts of Gregorian chant notation to denote ascending or descending sequences of notes on the same syllable. They are also used in mensural notation.

Ligatures are entered by enclosing them in \[ and \]. Some ligature styles may need additional input syntax specific for this particular type of ligature. By default, the LigatureBracket engraver just puts a square bracket above the ligature.

\relative {
  \[ g' c, a' f d' \]
  a g f
  \[ e f a g \]
}

[image of music]

Two other ligature styles are available: the Vaticana for Gregorian chant, and the Mensural for mensural music (only white mensural ligatures are supported for mensural music, and with certain limitations). To use any of these styles, the default Ligature_bracket_engraver has to be replaced with one of the specialized ligature engravers in the Voice context, as explained in White mensural ligatures and Gregorian square neume ligatures.

Vegeu també

Music Glossary: ligature.

Notation Reference: White mensural ligatures, Gregorian square neume ligatures.

Advertiments i problemes coneguts

Ligatures need special spacing that has not yet been implemented. As a result, there is too much space between ligatures most of the time, and line breaking often is unsatisfactory. Also, lyrics do not correctly align with ligatures.

Accidentals must not be printed within a ligature, but instead need to be collected and printed in front of it.

The syntax still uses the deprecated infix style \[ music expr \]. For consistency reasons, it will eventually be changed to postfix style note\[ … note\].


Custodes

A custos (plural: custodes; Latin word for “guard”) is a symbol that appears at the end of a staff. It anticipates the pitch of the first note of the following line, thus helping the performer to manage line breaks during performance.

Custodes were frequently used in music notation until the seventeenth century. Nowadays, they have survived only in a few particular forms of musical notation such as contemporary editions of Gregorian chant like the Editio Vaticana. There are different custos glyphs used in different flavors of notational style.

For typesetting custodes, just put a Custos_engraver into the Staff context when declaring the \layout block, and change the style of the custos with an \override if desired, as shown in the following example:

[image of music]

The custos glyph is selected by the style property. The styles supported are vaticana, medicaea, hufnagel, and mensural. They are demonstrated in the following fragment.

[image of music]

Vegeu també

Music Glossary: custos.

Snippets: Ancient notation.

Internals Reference: Custos.


2.9.3 Typesetting mensural music


Mensural contexts

The predefined MensuralVoice and MensuralStaff contexts can be used to engrave a piece in mensural style. These contexts initialize all relevant context properties and grob properties to proper values, so you can immediately go ahead entering the chant, as the following excerpt demonstrates:

\score {
  <<
    \new MensuralVoice = "discantus" \relative {
      \hide Score.BarNumber {
        c''1\melisma bes a g\melismaEnd
        f\breve
        \[ f1\melisma a c\breve d\melismaEnd \]
        c\longa
        c\breve\melisma a1 g1\melismaEnd
        fis\longa^\signumcongruentiae
      }
    }
    \new Lyrics \lyricsto "discantus" {
      San -- ctus, San -- ctus, San -- ctus
    }
  >>
}

[image of music]

Vegeu també

Music Glossary: mensural notation.


Mensural clefs

Mensural clefs are supported using the \clef command. Some of the clefs use the same glyph, but differ only with respect to the line they are printed on. In such cases, a trailing number in the name is used to enumerate these clefs, numbered from the lowest to the highest line.

\override NoteHead.style = #'vaticana.punctum
\clef "vaticana-do1"
c'1

[image of music]

\override NoteHead.style = #'medicaea.punctum
\clef "medicaea-do3"
c'1

[image of music]

\override NoteHead.style = #'hufnagel.punctum
\clef "hufnagel-fa2"
c'1

[image of music]

\override NoteHead.style = #'neomensural
\clef "neomensural-c4"
c'1

[image of music]

It is possible to manually force a clef glyph to be typeset on an arbitrary line, as described in Clau. For the complete range of possible clefs see Clef styles.

Vegeu també

Music Glossary: mensural notation, clef.

Notation Reference: Gregorian clefs, Clau.

Installed Files: ‘scm/parser-clef.scm’.

Snippets: Pitches.

Internals Reference: Clef_engraver, Clef, ClefModifier, clef-interface.

Advertiments i problemes coneguts

The Mensural g clef is mapped to the Petrucci g clef.


Mensural time signatures

There is limited support for mensuration signs (which are similar to, but not exactly the same as time signatures). The glyphs are hard-wired to particular time fractions. In other words, to get a particular mensuration sign with the \time n/m command, n and m have to be chosen according to the following table

[image of music]

Use the style property of grob TimeSignature to select ancient time signatures. Supported styles are neomensural and mensural. The above table uses the neomensural style. The following examples show the differences in style:

[image of music]

Indicació de compàs, gives a general introduction to the use of time signatures.

Vegeu també

Music Glossary: mensural notation.

Notation Reference: Indicació de compàs.

Advertiments i problemes coneguts

Ratios of note durations cannot change with the time signature, as those are not constant. For example, the ratio of 1 breve = 3 semibreves (tempus perfectum) can be made by hand, by setting

breveTP = #(ly:make-duration -1 0 3/2)
…
{ c\breveTP f1 }

This sets breveTP to 3/2 times 2 = 3 times a whole note.

The mensural68alt and neomensural68alt symbols (alternate symbols for 6/8) are not addressable with \time. Use \markup {\musicglyph "timesig.mensural68alt" } instead.


Mensural note heads

For ancient notation, a note head style other than the default style may be chosen. This is accomplished by setting the style property of the NoteHead object to baroque, neomensural, mensural, petrucci, blackpetrucci or semipetrucci.

The baroque style differs from the default style by:

The neomensural, mensural, and petrucci styles differ from the baroque style by:

The blackpetrucci style produces note heads usable in black mensural notation or coloratio sections in white mensural notation. Because note head style does not influence flag count, in this style a semiminima should be notated as a8*2, not a4, otherwise it will look like a minima. The multiplier can be different if coloratio is used, e.g., to notate triplets.

Use semipetrucci style to draw half-colored note heads (breves, longas and maximas).

The following example demonstrates the petrucci style:

\set Score.skipBars = ##t
\autoBeamOff
\override NoteHead.style = #'petrucci
a'\maxima a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 a'
\override NoteHead.style = #'semipetrucci
a'\breve*5/6
\override NoteHead.style = #'blackpetrucci
a'8*4/3 a'
\override NoteHead.style = #'petrucci
a'\longa

[image of music]

Note head styles, gives an overview of all available note head styles.

Vegeu també

Music Glossary: mensural notation, note head.

Notation Reference: Note head styles.


Mensural flags

Use the flag-style property of grob Stem to select ancient flags. Besides the default flag style, only the mensural style is supported.

\relative c' {
  \override Flag.style = #'mensural
  \override Stem.thickness = #1.0
  \override NoteHead.style = #'mensural
  \autoBeamOff
  c8 d e f c16 d e f c32 d e f s8
  c'8 d e f c16 d e f c32 d e f
}

[image of music]

Note that the innermost flare of each mensural flag is vertically aligned with a staff line.

There is no particular flag style for neo-mensural or Petrucci notation. There are no flags in Gregorian chant notation.

Vegeu també

Music Glossary: mensural notation, flag.

Advertiments i problemes coneguts

Vertically aligning each flag with a staff line assumes that stems always end either exactly on or exactly in the middle of two staff lines. This may not always be true when using advanced layout features of classical notation (which however are typically out of scope for mensural notation).


Mensural rests

Use the style property of grob Rest to select ancient rests. Supported ancient styles are neomensural, and mensural.

The following example demonstrates these styles:

\set Score.skipBars = ##t
\override Rest.style = #'mensural
r\longa^"mensural" r\breve r1 r2 r4 r8 r16 s \break
\override Rest.style = #'neomensural
r\longa^"neomensural" r\breve r1 r2 r4 r8 r16

[image of music]

There are no 32nd and 64th rests specifically for the mensural or neo-mensural styles. Rests from the default style are used.

Vegeu també

Music Glossary: mensural notation.

Notation Reference: Silencis.

Snippets: Ancient notation.

Advertiments i problemes coneguts

The glyph for the maxima rest in mensural style is actually a perfect longa rest; use two (or three) longa rests to print a maxima rest. Longa rests are not grouped automatically, so have to be done manually by using pitched rests.


Mensural accidentals and key signatures

The mensural style provides a sharp and a flat sign different from the default style. Mensural notation rarely used a natural sign: instead the appropriate sharp or flat is used. For example, a B natural in the key of F major would be indicated with a sharp. However, if specifically called for, the natural sign is taken from the vaticana style.

[image of music]

The style for accidentals and key signatures is controlled by the glyph-name-alist property of the grobs Accidental and KeySignature, respectively; e.g.:

\override Staff.Accidental.glyph-name-alist =
  #alteration-mensural-glyph-name-alist

Vegeu també

Music Glossary: mensural notation, Pitch names, accidental, key signature.

Notation Reference: Altures, Alteracions accidentals, Alteracions accidentals automàtiques, Armadura de la tonalitat.

Internals Reference: KeySignature.


Annotational accidentals (musica ficta)

In European music from before about 1600, singers were expected to chromatically alter notes at their own initiative according to certain rules. This is called musica ficta. In modern transcriptions, these accidentals are usually printed over the note.

Support for such suggested accidentals is included, and can be switched on by setting suggestAccidentals to true.

\relative {
  fis' gis
  \set suggestAccidentals = ##t
  ais bis
}

[image of music]

This will treat every subsequent accidental as musica ficta until it is unset with \set suggestAccidentals = ##f. A more practical way is to use \once \set suggestAccidentals = ##t, which can even be defined as a convenient shorthand:

ficta = { \once \set suggestAccidentals = ##t }
\score { \relative
  \new MensuralVoice  {
    \once \set suggestAccidentals = ##t
    bes'4 a2 g2 \ficta fis8 \ficta e! fis2 g1
  }
}

[image of music]

Vegeu també

Internals Reference: Accidental_engraver, AccidentalSuggestion.


White mensural ligatures

There is limited support for white mensural ligatures.

To engrave white mensural ligatures, in the layout block, replace the Ligature_bracket_engraver with the Mensural_ligature_engraver in the Voice context:

\layout {
  \context {
    \Voice
    \remove "Ligature_bracket_engraver"
    \consists "Mensural_ligature_engraver"
  }
}

There is no additional input language to describe the shape of a white mensural ligature. The shape is rather determined solely from the pitch and duration of the enclosed notes. While this approach may take a new user a while to get accustomed to, it has the great advantage that the full musical information of the ligature is known internally. This is not only required for correct MIDI output, but also allows for automatic transcription of the ligatures.

At certain places two consecutive notes can be represented either as two squares or as an oblique parallelogram (flexa shape). In such cases the default is the two squares, but a flexa can be required by setting the ligature-flexa property of the second note head. The length of a flexa can be set by the note head property flexa-width.

For example,

\score {
  \relative {
    \set Score.timing = ##f
    \set Score.defaultBarType = "-"
    \override NoteHead.style = #'petrucci
    \override Staff.TimeSignature.style = #'mensural
    \clef "petrucci-g"
    \[ c''\maxima g \]
    \[ d'\longa
       \override NoteHead.ligature-flexa = ##t
       \once \override NoteHead.flexa-width = #3.2
       c\breve f e d \]
    \[ c\maxima d\longa \]
    \[ e1 a, g\breve \]
  }
  \layout {
    \context {
      \Voice
      \remove "Ligature_bracket_engraver"
      \consists "Mensural_ligature_engraver"
    }
  }
}

[image of music]

Without replacing Ligature_bracket_engraver with Mensural_ligature_engraver, the same music looks as follows:

[image of music]

Vegeu també

Music Glossary: ligature.

Notation Reference: Gregorian square neume ligatures, Ligatures.

Advertiments i problemes coneguts

Horizontal spacing of ligatures may be poor. Accidentals may collide with previous notes.


2.9.4 Typesetting Gregorian chant

When typesetting a piece in Gregorian chant notation, the Vaticana_ligature_engraver automatically selects the proper note heads, so there is no need to explicitly set the note head style. Still, the note head style can be set, e.g., to vaticana_punctum to produce punctum neumes. Similarly, the Mensural_ligature_engraver automatically assembles mensural ligatures.

Vegeu també

Music Glossary: ligature.

Notation Reference: White mensural ligatures, Ligatures.


Gregorian chant contexts

The predefined VaticanaVoice and VaticanaStaff can be used to engrave a piece of Gregorian chant in the style of the Editio Vaticana. These contexts initialize all relevant context properties and grob properties to proper values, so you can immediately go ahead entering the chant, as the following excerpt demonstrates:

\include "gregorian.ly"
\score {
  <<
    \new VaticanaVoice = "cantus" {
      \[ c'\melisma c' \flexa a \]
      \[ a \flexa \deminutum g\melismaEnd \]
      f \divisioMinima
      \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
      c' \divisioMinima \break
      \[ c'\melisma c' \flexa a \]
      \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
    }
    \new Lyrics \lyricsto "cantus" {
      San- ctus, San- ctus, San- ctus
    }
  >>
}

[image of music]


Gregorian clefs

The following table shows all Gregorian clefs that are supported via the \clef command. Some of the clefs use the same glyph, but differ only with respect to the line they are printed on. In such cases, a trailing number in the name is used to enumerate these clefs, numbered from the lowest to the highest line. Still, you can manually force a clef glyph to be typeset on an arbitrary line, as described in Clau. The note printed to the right side of each clef in the example column denotes the c' with respect to that clef.

DescriptionSupported ClefsExample
Editio Vaticana style do clefvaticana-do1, vaticana-do2,
vaticana-do3

[image of music]

Editio Vaticana style fa clefvaticana-fa1, vaticana-fa2

[image of music]

Editio Medicaea style do clefmedicaea-do1, medicaea-do2,
medicaea-do3

[image of music]

Editio Medicaea style fa clefmedicaea-fa1, medicaea-fa2

[image of music]

hufnagel style do clefhufnagel-do1, hufnagel-do2,
hufnagel-do3

[image of music]

hufnagel style fa clefhufnagel-fa1, hufnagel-fa2

[image of music]

hufnagel style combined do/fa clefhufnagel-do-fa

[image of music]

Vegeu també

Music Glossary: clef.

Notation Reference: Clau.


Gregorian accidentals and key signatures

Accidentals for the three different Gregorian styles are available:

[image of music]

As shown, not all accidentals are supported by each style. When trying to access an unsupported accidental, LilyPond will switch to a different style.

The style for accidentals and key signatures is controlled by the glyph-name-alist property of the grobs Accidental and KeySignature, respectively; e.g.:

\override Staff.Accidental.glyph-name-alist =
  #alteration-mensural-glyph-name-alist

Vegeu també

Music Glossary: accidental, key signature.

Notation Reference: Altures, Alteracions accidentals, Alteracions accidentals automàtiques, Armadura de la tonalitat.

Internals Reference: KeySignature.


Divisiones

There are no rests in Gregorian chant notation; instead, it uses Divisiones.

A divisio (plural: divisiones; Latin word for ‘division’) is a staff context symbol that is used to indicate the phrase and section structure of Gregorian music. The musical meaning of divisio minima, divisio maior, and divisio maxima can be characterized as short, medium, and long pause, somewhat like the breath marks from Marques de respiració. The finalis sign not only marks the end of a chant, but is also frequently used within a single antiphonal/responsorial chant to mark the end of each section.

To use divisiones, include the file ‘gregorian.ly’. It contains definitions that you can apply by just inserting \divisioMinima, \divisioMaior, \divisioMaxima, and \finalis at proper places in the input. Some editions use virgula or caesura instead of divisio minima. Therefore, ‘gregorian.ly’ also defines \virgula and \caesura

[image of music]

Instruccions predefinides

\virgula, \caesura, \divisioMinima, \divisioMaior, \divisioMaxima, \finalis.

Vegeu també

Music Glossary: caesura, divisio.

Notation Reference: Marques de respiració.

Installed Files: ‘ly/gregorian.ly’.


Gregorian articulation signs

In addition to the standard articulation signs described in section Articulacions i ornaments, articulation signs specifically designed for use with notation in Editio Vaticana style are provided.

\include "gregorian.ly"
\score {
  \new VaticanaVoice {
    \override TextScript.font-family = #'typewriter
    \override TextScript.font-shape = #'upright
    \override Script.padding = #-0.1
    a\ictus_"ictus " \bar "" \break
    a\circulus_"circulus " \bar "" \break
    a\semicirculus_"semicirculus " \bar "" \break
    a\accentus_"accentus " \bar "" \break
    \[ a_"episema" \episemInitium \pes b \flexa a b \episemFinis \flexa a \]
  }
}

[image of music]

Vegeu també

Notation Reference: Articulacions i ornaments.

Snippets: Ancient notation.

Internals Reference: Episema, EpisemaEvent, Episema_engraver, Script, ScriptEvent, Script_engraver.

Advertiments i problemes coneguts

Some articulations are vertically placed too closely to the corresponding note heads.


Augmentum dots (morae)

Augmentum dots, also called morae, are added with the music function \augmentum. Note that \augmentum is implemented as a unary music function rather than as head prefix. It applies to the immediately following music expression only. That is, \augmentum \virga c will have no visible effect. Instead, say \virga \augmentum c or \augmentum {\virga c}. Also note that you can say \augmentum {a g} as a shortcut for \augmentum a \augmentum g.

\include "gregorian.ly"
\score {
  \new VaticanaVoice {
    \[ \augmentum a \flexa \augmentum g \]
    \augmentum g
  }
}

[image of music]

Vegeu també

Notation Reference: Marques de respiració.

Internals Reference: BreathingSign.

Snippets: Ancient notation.


Gregorian square neume ligatures

There is limited support for Gregorian square neumes notation (following the style of the Editio Vaticana). Core ligatures can already be typeset, but essential issues for serious typesetting are still lacking, such as (among others) horizontal alignment of multiple ligatures, lyrics alignment, and proper handling of accidentals.

The support for Gregorian neumes is enabled by \includeing ‘gregorian.ly’ at the beginning of the file. This makes available a number of extra commands to produce the neume symbols used in plainchant notation.

Note heads can be modified and/or joined.

A note name without any qualifiers will produce a punctum. All other neumes, including the single-note neumes with a different shape such as the virga, are in principle considered as ligatures and should therefore be placed between \[…\].

Single-note neumes:

Ligatures

Unlike most other neumes notation systems, the typographical appearance of ligatures is not directly dictated by the input commands, but follows certain conventions dependent on musical meaning. For example, a three-note ligature with the musical shape low-high-low, such as \[ a \pes b \flexa g \], produces a Torculus consisting of three Punctum heads, while the shape high-low-high, such as \[ a \flexa g \pes b \], produces a Porrectus with a curved flexa shape and only a single Punctum head. There is no command to explicitly typeset the curved flexa shape; the decision of when to typeset a curved flexa shape is based on the musical input. The idea of this approach is to separate the musical aspects of the input from the notation style of the output. This way, the same input can be reused to typeset the same music in a different style of Gregorian chant notation.

Liquescent neumes

Another main category of notes in Gregorian chant is the so-called liquescent neumes. They are used under certain circumstances at the end of a syllable which ends in a ‘liquescent’ letter, i.e., the sounding consonants that can hold a tone (the nasals, l, r, v, j, and their diphthong equivalents). Thus, the liquescent neumes are never used alone (although some of them can be produced), and they always fall at the end of a ligature.

Liquescent neumes are represented graphically in two different, more or less interchangeable ways: with a smaller note or by ‘twisting’ the main note upwards or downwards. The first is produced by making a regular pes or flexa and modifying the shape of the second note: \[ a \pes \deminutum b \] , the second by modifying the shape of a single-note neume with \auctum and one of the direction markers \descendens or \ascendens, e.g., \[ \auctum \descendens a \] .

Special signs

A third category of signs is made up of a small number of signs with a special meaning (which, incidentally, in most cases is only vaguely known): the quilisma, the oriscus, and the strophicus. These are all produced by prefixing a note name with the corresponding modifier, \quilisma, \oriscus, or \stropha.

Virtually, within the ligature delimiters \[ and \], any number of heads may be accumulated to form a single ligature, and head prefixes like \pes, \flexa, \virga, \inclinatum, etc., may be mixed in as desired. The use of the set of rules that underlies the construction of the ligatures in the above table is accordingly extrapolated. This way, infinitely many different ligatures can be created.

Note that the use of these signs in the music itself follows certain rules, which are not checked by LilyPond. E.g., the quilisma is always the middle note of an ascending ligature, and usually falls on a half-tone step, but it is perfectly possible, although incorrect, to make a single-note quilisma.

In addition to the note signs, ‘gregorian.ly’ also defines the commands \versus, \responsum, \ij, \iij, \IJ, and \IIJ, that will produce the corresponding characters, e.g., for use in lyrics, as section markers, etc. These commands use special Unicode characters and will only work if a font is used which supports them.

The following table shows a limited, but still representative pool of Gregorian ligatures, together with the code fragments that produce the ligatures. The table is based on the extended neumes table of the 2nd volume of the Antiphonale Romanum (Liber Hymnarius), published 1983 by the monks of Solesmes. The first column gives the name of the ligature, with the main form in boldface and the liquescent forms in italics. The third column shows the code fragment that produces this ligature, using g, a, and b as example pitches.

Single-note neums

Basic and Liquescent formsOutputLilyPond
code
Punctum

[image of music]

\[ b \]

[image of music]

\[ \cavum b \]

[image of music]

\[ \linea b \]
Punctum Auctum Ascendens

[image of music]

\[ \auctum \ascendens b \]
Punctum Auctum Descendens

[image of music]

\[ \auctum \descendens b \]
Punctum inclinatum

[image of music]

\[ \inclinatum b \]
Punctum Inclinatum Auctum

[image of music]

\[ \inclinatum \auctum b \]
Punctum Inclinatum Parvum

[image of music]

\[ \inclinatum \deminutum b \]
Virga

[image of music]

Two-note ligatures

Clivis vel Flexa

[image of music]

\[ b \flexa g \]
Clivis Aucta Descendens

[image of music]

\[ b \flexa \auctum \descendens g \]
Clivis Aucta Ascendens

[image of music]

\[ b \flexa \auctum \ascendens g \]
Cephalicus

[image of music]

\[ b \flexa \deminutum g \]
Podatus/Pes

[image of music]

\[ g \pes b \]
Pes Auctus Descendens

[image of music]

\[ g \pes \auctum \descendens b \]
Pes Auctus Ascendens

[image of music]

\[ g \pes \auctum \ascendens b \]
Epiphonus

[image of music]

\[ g \pes \deminutum b \]
Pes Initio Debilis

[image of music]

\[ \deminutum g \pes b \]
Pes Auctus Descendens Initio Debilis

[image of music]

\[ \deminutum g \pes \auctum \descendens b \]

Multi-note ligatures

Torculus

[image of music]

\[ a \pes b \flexa g \]
Torculus Auctus Descendens

[image of music]

\[ a \pes b \flexa \auctum \descendens g \]
Torculus Deminutus

[image of music]

\[ a \pes b \flexa \deminutum g \]
Torculus Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa g \]
Torculus Auctus Descendens Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa \auctum \descendens g \]
Torculus Deminutus Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa \deminutum g \]
Porrectus

[image of music]

\[ a \flexa g \pes b \]
Porrectus Auctus Descendens

[image of music]

\[ a \flexa g \pes \auctum \descendens b \]
Porrectus Deminutus

[image of music]

\[ a \flexa g \pes \deminutum b \]
Climacus

[image of music]

\[ \virga b \inclinatum a \inclinatum g \]
Climacus Auctus

[image of music]

\[ \virga b \inclinatum a \inclinatum \auctum g \]
Climacus Deminutus

[image of music]

\[ \virga b \inclinatum a \inclinatum \deminutum g \]
Scandicus

[image of music]

\[ g \pes a \virga b \]
Scandicus Auctus Descendens

[image of music]

\[ g \pes a \pes \auctum \descendens b \]
Scandicus Deminutus

[image of music]

\[ g \pes a \pes \deminutum b \]

Special Signs

Quilisma

[image of music]

\[ g \pes \quilisma a \pes b \]
Quilisma Pes Auctus Descendens

[image of music]

\[ \quilisma g \pes \auctum \descendens b \]
Oriscus

[image of music]

\[ \oriscus b \]
Pes Quassus

[image of music]

\[ \oriscus g \pes \virga b \]
Pes Quassus Auctus Descendens

[image of music]

\[ \oriscus g \pes \auctum \descendens b \]
Salicus

[image of music]

\[ g \oriscus a \pes \virga b \]
Salicus Auctus Descendens

[image of music]

\[ g \oriscus a \pes \auctum \descendens b \]
(Apo)stropha

[image of music]

\[ \stropha b \]
Stropha Aucta

[image of music]

\[ \stropha \auctum b \]
Bistropha

[image of music]

\[ \stropha b \stropha b \]
Tristropha

[image of music]

\[ \stropha b \stropha b \stropha b \]
Trigonus

[image of music]

\[ \stropha b \stropha b \stropha a \]

Instruccions predefinides

The following head prefixes are supported: \virga, \stropha, \inclinatum, \auctum, \descendens, \ascendens, \oriscus, \quilisma, \deminutum, \cavum, \linea.

Head prefixes can be accumulated, though restrictions apply. For example, either \descendens or \ascendens can be applied to a head, but not both to the same head.

Two adjacent heads can be tied together with the \pes and \flexa infix commands for a rising and falling line of melody, respectively.

Use the unary music function \augmentum to add augmentum dots.

Vegeu també

Music Glossary: ligature.

Notation Reference: Gregorian square neume ligatures, White mensural ligatures, Ligatures.

Advertiments i problemes coneguts

When an \augmentum dot appears at the end of the last staff within a ligature, it is sometimes vertically placed wrong. As a workaround, add an additional skip note (e.g., s8) as last note of the staff.

\augmentum should be implemented as a head prefix rather than a unary music function, such that \augmentum can be intermixed with head prefixes in arbitrary order.


2.9.5 Typesetting Kievan square notation


Kievan contexts

As with Mensural and Gregorian notation, the predefined KievanVoice and KievanStaff contexts can be used to engrave a piece in square notation. These contexts initialize all relevant context properties and grob properties to proper values, so you can immediately go ahead entering the chant:

% Font settings for Cyrillic
\paper {
  #(define fonts
    (set-global-fonts
     #:roman "Linux Libertine O,serif"
   ))
}

\score {
  <<
    \new KievanVoice = "melody" \relative c' {
      \cadenzaOn
        c4 c c c c2 b\longa
        \bar "k"
    }
    \new Lyrics \lyricsto "melody" {
      Го -- спо -- ди по -- ми -- луй.
    }
  >>
}

[image of music]

Vegeu també

Music Glossary: kievan notation.

Advertiments i problemes coneguts

LilyPond supports Kievan notation of the Synodal style, as used in the corpus of chantbooks printed by the Russian Holy Synod in the 1910’s and recently reprinted by the Moscow Patriarchate Publishing House. LilyPond does not support the older (less common) forms of Kievan notation that were used in Galicia to notate Rusyn plainchant.


Kievan clefs

There is only one clef used in Kievan notation (the Tse-fa-ut Clef). It is used to indicate the position of c:

  \clef "kievan-do"
  \kievanOn
  c'

[image of music]

Vegeu també

Music Glossary: kievan notation, clef.

Notation Reference: Clau.


Kievan notes

For Kievan square notation, the appropriate note head style needs to be chosen and the flags and stems need to be turned off. This is accomplished by calling the \kievanOn function, which sets the appropriate properties of the note head, stems, and flags. Once Kievan note heads are not needed, these properties can be reverted by calling the \kievanOff function.

The Kievan final note, which usually comes at the end of a piece of music, may be selected by setting the duration to \longa. The Kievan recitative mark, used to indicate the chanting of several syllables on one note, may be selected by setting the duration to \breve. The following example demonstrates the various Kievan note heads:

\autoBeamOff
\cadenzaOn
\kievanOn
b'1 b'2 b'4 b'8 b'\breve b'\longa
\kievanOff
b'2

[image of music]

Vegeu també

Music Glossary: kievan notation, note head.

Notation Reference: Note head styles.

Advertiments i problemes coneguts

LilyPond automatically determines if the stem up or stem down form of a note is drawn. When setting chant in square notation, however, it is customary to have the stems point in the same direction within a single melisma. This can be done manually by setting the direction property of the Stem object.


Kievan accidentals

The kievan style for accidentals is selected with the glyph-name-alist property of the grob Accidental. The kievan style provides a sharp and a flat sign different from the default style. There is no natural sign in Kievan notation. The sharp sign is not used in Synodal music but may occur in earlier manuscripts. It has been included primarily for the sake of compatibility.

\clef "kievan-do"
\override Accidental.glyph-name-alist =
 #alteration-kievan-glyph-name-alist
bes' dis'

[image of music]

Vegeu també

Music Glossary: kievan notation, accidental.

Notation Reference: Alteracions accidentals, Alteracions accidentals automàtiques, The Emmentaler font


Kievan bar line

A decorative figure is commonly placed at the end of a piece of Kievan notation, which may be called the Kievan final bar line. It can be invoked as \bar "k".

  \kievanOn
  \clef "kievan-do"
  c' \bar "k"

[image of music]

Vegeu també

Notation Reference: Compassos, The Emmentaler font


Kievan melismata

Notes within a Kievan melisma are usually placed close to each other and the melismata separated by whitespace. This is done to allow the chanter to quickly identify the melodic structures of Znamenny chant. In LilyPond, melismata are treated as ligatures and the spacing is implemented by the Kievan_ligature_engraver.

When the KievanVoice and KievanStaff contexts are used, the Kievan_ligature_engraver is enabled by default. In other contexts, it can be invoked by replacing the Ligature_bracket_engraver with the Kievan_ligature_engraver in the layout block:

\layout {
  \context {
    \Voice
    \remove "Ligature_bracket_engraver"
    \consists "Kievan_ligature_engraver"
  }
}

The spacing between the notes within a Kievan ligature can be controlled by setting the padding property of the KievanLigature.

The following example demonstrates the use of Kievan ligatures:

% Font settings for Cyrillic
\paper {
  #(define fonts
    (set-global-fonts
     #:roman "Linux Libertine O,serif"
   ))
}

\score {
  <<
    \new KievanVoice = "melody" \relative c' {
      \cadenzaOn
        e2 \[ e4( d4 ) \] \[ c4( d e  d ) \] e1 \bar "k"
    }
    \new Lyrics \lyricsto "melody" {
      Га -- врі -- и -- лу
    }
  >>
}

[image of music]

Vegeu també

Music Glossary: ligature.

Notation Reference: White mensural ligatures, Gregorian square neume ligatures, Ligatures.

Advertiments i problemes coneguts

Horizontal spacing of ligatures is poor.


2.9.6 Working with ancient music—scenarios and solutions

Working with ancient music frequently involves particular tasks which differ considerably from the modern notation for which LilyPond is designed. In the rest of this section, a number of typical scenarios are outlined, with suggestions of solutions. These involve:


Incipits

It is customary when transcribing mensural music into modern notation to place an indication of how the initial rests and note or notes of the original version appeared - including the original clefs. This is called an incipit. The \incipit command uses the indent of the main staff to set the width occupied by the incipit, and incipit-width to set the width of the incipit staff.

\score {
  \new Staff <<
    \new Voice = Tenor {
      \set Staff.instrumentName = #"Tenor"
      \override Staff.InstrumentName.self-alignment-X = #RIGHT
      \incipit { \clef "mensural-c4" \key f \major r\breve r1 c'1 }
      \clef "treble_8"
      \key f \major
      R1 r2 c'2 |
      a4. c'8
    }
    \new Lyrics \lyricsto Tenor { Cyn -- thia your }
  >>
  \layout
  {
    indent = 5\cm
    incipit-width = 3\cm
  }
}

[image of music]

Advertiments i problemes coneguts

Note that instrumentName must be set in the music for the incipit to be produced. If no instrument name is required then use \set Staff.instrumentName = #"".


Mensurstriche layout

Mensurstriche (‘mensuration lines’) is the accepted term for bar lines that are drawn between the staves of a system but not through the staves themselves. It is a common way to preserve the rhythmic appearance of the original, i.e., not having to break syncopated notes at bar lines, while still providing the orientation aids that bar lines give.

The mensurstriche-layout where the bar lines do not show on the staves but between staves can be achieved with a StaffGroup instead of a ChoirStaff. The bar line on staves is blanked out using \hide.

global = {
  \hide Staff.BarLine
  s1 s
  % the final bar line is not interrupted
  \undo \hide Staff.BarLine
  \bar "|."
}

\new StaffGroup \relative c'' {
  <<
    \new Staff { << \global { c1 c } >> }
    \new Staff { << \global { c c } >> }
  >>
}

[image of music]


Transcribing Gregorian chant

Gregorian chant can be transcribed into modern notation with a number of simple tweaks.

Stems. Stems can be left out altogether by \remove-ing the Stem_engraver from the Voice context:

\layout {
  …
  \context {
    \Voice
      \remove "Stem_engraver"
  }
}

Timing. For unmetered chant, there are several alternatives.

The Time_signature_engraver can be removed from the Staff context without any negative side effects. The alternative, to make it transparent, will leave an empty space in the score, since the invisible signature will still take up space.

In many cases, \set Score.timing = ##f will give good results. Another alternative is to use \cadenzaOn and \cadenzaOff.

To remove the bar lines, the radical approach is to \remove the Bar_engraver from the Staff context. Again, one may want to use \hide BarLine instead, if an occasional barline is wanted.

A common type of transcription is recitativic chant where the repeated notes are indicated with a single breve. The text to the recitation tone can be dealt with in two different ways: either set as a single, left-aligned syllable:

\include "gregorian.ly"
chant = \relative {
  \clef "G_8"
  c'\breve c4 b4 a c2 c4  \divisioMaior
  c\breve c4 c f, f \finalis
}

verba = \lyricmode {
  \once \override LyricText.self-alignment-X = #-1
  "Noctem quietam et" fi -- nem per -- fec -- tum
  \once \override LyricText.self-alignment-X = #-1
  "concedat nobis Dominus" om -- ni -- po -- tens.
}
\score {
  \new Staff <<
  \new Voice = "melody" \chant
  \new Lyrics = "one" \lyricsto melody \verba
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \remove "Bar_engraver"
    }
    \context {
      \Voice
      \remove "Stem_engraver"
    }
  }
}

[image of music]

This works fine, as long as the text doesn’t span a line break. If that is the case, an alternative is to add hidden notes to the score, as below.

In some transcription styles, stems are used occasionally, for example to indicate the transition from a single-tone recitative to a fixed melodic gesture. In these cases, one can use either \hide Stem or \override Stem.length = #0 instead of \remove-ing the Stem_engraver and restore the stem when needed with the corresponding \undo \hide Stem.

\include "gregorian.ly"
chant = \relative {
  \clef "G_8"
  \set Score.timing = ##f
  \hide Stem
  c'\breve \hide NoteHead  c c c c c
  \undo \hide NoteHead
  \undo \hide Stem \stemUp c4 b4 a
  \hide Stem c2 c4  \divisioMaior
  c\breve \hide NoteHead c c c c c c c
  \undo \hide NoteHead c4 c f, f \finalis
}

verba = \lyricmode {
  No -- ctem qui -- e -- tam et fi -- nem per -- fec -- tum
  con -- ce -- dat no -- bis Do -- mi -- nus om -- ni -- po -- tens.
}

\score {
  \new Staff <<
    \new Voice = "melody" \chant
    \new Lyrics \lyricsto "melody" \verba
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \hide BarLine
    }
  }
}

[image of music]

Another common situation is transcription of neumatic or melismatic chants, i.e., chants with a varying number of notes to each syllable. In this case, one would want to set the syllable groups clearly apart, usually also the subdivisions of a longer melisma. One way to achieve this is to use a fixed \time, e.g., 1/4, and let each syllable or note group fill one of these measures, with the help of tuplets or shorter durations. If the bar lines and all other rhythmical indications are made transparent, and the space around the bar lines is increased, this will give a fairly good representation in modern notation of the original.

To avoid that syllables of different width (such as “-ri” and “-rum”) spread the syllable note groups unevenly apart, the 'X-extent property of the LyricText object may be set to a fixed value. Another, more cumbersome way would be to add the syllables as \markup elements. If further adjustments are necessary, this can be easily done with s ‘notes’.

spiritus = \relative {
  \time 1/4
  \override Lyrics.LyricText.X-extent  = #'(0 . 3)
  d'4 \tuplet 3/2 { f8 a g } g a a4 g f8 e
  d4 f8 g g8 d f g a g f4 g8 a a4  s
  \tuplet 3/2 { g8 f d } e f g a g4
}

spirLyr = \lyricmode {
  Spi -- ri -- _ _ tus  _ Do -- mi -- ni  _ re -- ple -- _ vit _
  or -- _ bem _  ter -- ra -- _ rum, al -- _ _ le -- _ lu
  -- _ ia.
}
\score {
  \new Staff <<
    \new Voice = "chant" \spiritus
    \new Lyrics = "one" \lyricsto "chant" \spirLyr
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \override BarLine.X-extent = #'(-1 . 1)
      \hide Stem
      \hide Beam
      \hide BarLine
      \hide TupletNumber
    }
  }
}

[image of music]


Ancient and modern from one source

Using tags to produce mensural and modern music from the same source

By using tags, it’s possible to use the same music to produce both mensural and modern music. In this snippet, a function menrest is introduced, allowing mensural rests to be pitched as in the original, but with modern rests in the standard staff position. Tags are used to produce different types of bar line at the end of the music, but tags can also be used where other differences are needed: for example using “whole measure rests” (R1, R\breve etc.) in modern music, but normal rests (r1, r\breve, etc.) in the mensural version. Note that converting mensural music to its modern equivalent is usually referred to as transcription.

menrest = #(define-music-function (note)
  (ly:music?)
#{
    \tag #'mens $(make-music 'RestEvent note)
    \tag #'mod $(make-music 'RestEvent note 'pitch '())
#})

MensStyle = {
  \autoBeamOff
  \override NoteHead.style = #'petrucci
  \override Score.BarNumber.transparent = ##t
  \override Stem.neutral-direction = #up
}

finalis = {
  \once \override BreathingSign.stencil = #ly:breathing-sign::finalis
  \once \override BreathingSign.Y-offset = #0
  \once \override BreathingSign.minimum-X-extent = #'(-1.0 . 0.0)
  \once \override BreathingSign.minimum-Y-extent = #'(-2.5 . 2.5)

  \breathe
}

Music = \relative c'' {
  \set Score.tempoHideNote = ##t
  \key f \major
  \time 4/4
  g1 d'2 \menrest bes4 bes2 a2 r4 g4 fis2.
  \tag #'mens { \finalis }
  \tag #'mod { \bar "||" }
}

MenLyr = \lyricmode { So farre, deere life, deare life }
ModLyr = \lyricmode { So far, dear life, dear life }

\score {
  \keepWithTag #'mens {
    <<
      \new MensuralStaff
      {
        \new MensuralVoice = Cantus \clef "mensural-c1" \MensStyle \Music
      }
      \new Lyrics \lyricsto Cantus \MenLyr
    >>
  }
}

\score {
  \keepWithTag #'mod {
    \new ChoirStaff <<
      \new Staff
      {
        \new Voice = Sop \with {
          \remove "Note_heads_engraver"
          \consists "Completion_heads_engraver"
          \remove "Rest_engraver"
          \consists "Completion_rest_engraver" }
        {
          \shiftDurations #1 #0 { \autoBeamOff \Music }
        }
      }
      \new Lyrics \lyricsto Sop \ModLyr
    >>
  }
}

[image of music]


Editorial markings


2.10 World music

The purpose of this section is to highlight musical notation issues that are relevant to traditions outside the Western tradition.


2.10.1 Common notation for non-Western music

This section discusses how to enter and print music scores that do not belong to the Western classical tradition, also referred to as Common Practice Period.


Extending notation and tuning systems

Standard classical notation (also known as Common Practice Period notation) is commonly used in all sorts of music, not limited to ‘classical’ Western music. This notation is discussed in Escriptura de notes, and the various note names that may be used are explained in Noms de les notes en altes llengües.

However, many types of non-Western music (and some types of Western folk and traditional music) employ alternative or extended tuning systems that do not fit readily into standard classical notation.

In some cases standard notation is still used, with the pitch differences being implicit. For example, Arabic music is notated with standard semitone and quarter-tone accidentals, with the precise pitch alterations being determined by context. Italian note names are typically used, while the init file ‘arabic.ly’ provides a suitable set of macros and definitions extending the standard notation. For more details, see Arabic music.

Other types of music require extended or unique notations. Turkish classical music or Ottoman music, for example, employs melodic forms known as makamlar, whose intervals are based on 1/9 divisions of the whole tone. Standard Western staff notes are still used, but with special accidentals unique to Turkish music, that are defined in the file ‘makam.ly’. For further information on Turkish classical music and makamlar, see Turkish classical music.

To locate init files such as ‘arabic.ly’ or ‘makam.ly’ on your system, see Other sources of information.

Fragments de codi seleccionats

Makam example

Makam is a type of melody from Turkey using 1/9th-tone microtonal alterations. Consult the initialization file ‘ly/makam.ly’ for details of pitch names and alterations.

% Initialize makam settings
\include "makam.ly"

\relative c' {
  \set Staff.keyAlterations = #`((6 . ,(- KOMA)) (3 . ,BAKIYE))
  c4 cc db fk
  gbm4 gfc gfb efk
  fk4 db cc c
}

[image of music]

Vegeu també

Music Glossary: Common Practice Period, makamlar.

Learning Manual: Other sources of information.

Notation Reference: Escriptura de notes, Noms de les notes en altes llengües, Arabic music, Turkish classical music.


2.10.2 Arabic music

This section highlights issues that are relevant to notating Arabic music.


References for Arabic music

Arabic music so far has been mainly an oral tradition. When music is transcribed, it is usually in a sketch format, on which performers are expected to improvise significantly. Increasingly, Western notation, with a few variations, is adopted in order to communicate and preserve Arabic music.

Some elements of Western musical notation such as the transcription of chords or independent parts, are not required to typeset the more traditional Arabic pieces. There are however some different issues, such as the need to indicate medium intervals that are somewhere between a semi-tone and a tone, in addition to the minor and major intervals that are used in Western music. There is also the need to group and indicate a large number of different maqams (modes) that are part of Arabic music.

In general, Arabic music notation does not attempt to precisely indicate microtonal elements that are present in musical practice.

Several issues that are relevant to Arabic music are covered elsewhere:

Vegeu també

Notation Reference: Common notation for non-Western music, Armadura de la tonalitat, Barres manuals.

Snippets: World music.


Arabic note names

The more traditional Arabic note names can be quite long and are not suitable for the purpose of music writing, so they are not used. English note names are not very familiar in Arabic music education, so Italian or Solfege note names (do, re, mi, fa, sol, la, si) are used instead; modifiers (accidentals) can also be used. Italian note names and accidentals are explained in Noms de les notes en altes llengües; the use of standard Western notation to notate non-Western music is discussed in Common notation for non-Western music.

For example, this is how the Arabic rast scale can be notated:

\include "arabic.ly"
\relative {
  do' re misb fa sol la sisb do sisb la sol fa misb re do
}

[image of music]

The symbol for semi-flat does not match the symbol which is used in Arabic notation. The \dwn symbol defined in ‘arabic.ly’ may be used preceding a flat symbol as a work around if it is important to use the specific Arabic semi-flat symbol. The appearance of the semi-flat symbol in the key signature cannot be altered by using this method.

\include "arabic.ly"
\relative {
  \set Staff.extraNatural = ##f
  dod' dob dosd \dwn dob dobsb dodsd do do
}

[image of music]

Vegeu també

Notation Reference: Noms de les notes en altes llengües, Common notation for non-Western music.

Snippets: World music.


Arabic key signatures

In addition to the minor and major key signatures, the following key signatures are defined in ‘arabic.ly’: bayati, rast, sikah, iraq, and kurd. These key signatures define a small number of maqam groups rather than the large number of maqams that are in common use.

In general, a maqam uses the key signature of its group, or a neighbouring group, and varying accidentals are marked throughout the music.

For example to indicate the key signature of a maqam muhayer piece:

\key re \bayati

Here re is the default pitch of the muhayer maqam, and bayati is the name of the base maqam in the group.

While the key signature indicates the group, it is common for the title to indicate the more specific maqam, so in this example, the name of maqam muhayer should appear in the title.

Other maqams in the same bayati group, as shown in the table below: (bayati, hussaini, saba, and ushaq) can be indicated in the same way. These are all variations of the base and most common maqam in the group, which is bayati. They usually differ from the base maqam in their upper tetrachords, or certain flow details that don’t change their fundamental nature, as siblings.

The other maqam in the same group (Nawa) is related to bayati by modulation which is indicated in the table in parenthesis for those maqams that are modulations of their base maqam. Arabic maqams admit of only limited modulations, due to the nature of Arabic musical instruments. Nawa can be indicated as follows:

\key sol \bayati

In Arabic music, the same term such as bayati that is used to indicate a maqam group, is also a maqam which is usually the most important in the group, and can also be thought of as a base maqam.

Here is one suggested grouping that maps the more common maqams to key signatures:

maqam groupkeyfinalisOther maqmas in group (finalis)
ajammajorsibjaharka (fa)
bayatibayatirehussaini, muhayer, saba, ushaq, nawa (sol)
hijazkurdreshahnaz, shad arban (sol), hijazkar (do)
iraqiraqsisb-
kurdkurdrehijazkar kurd (do)
nahawandminordobusalik (re), farah faza (sol)
nakrizminordonawa athar, hisar (re)
rastrastdomahur, yakah (sol)
sikahsikahmisbhuzam

Fragments de codi seleccionats

Non-traditional key signatures

The commonly used \key command sets the keyAlterations property, in the Staff context.

To create non-standard key signatures, set this property directly. The format of this command is a list:

\set Staff.keyAlterations = #`(((octave . step) . alter) ((octave . step) . alter) ...) where, for each element in the list, octave specifies the octave (0 being the octave from middle C to the B above), step specifies the note within the octave (0 means C and 6 means B), and alter is ,SHARP ,FLAT ,DOUBLE-SHARP etc. (Note the leading comma.)

Alternatively, for each item in the list, using the more concise format (step . alter) specifies that the same alteration should hold in all octaves.

For microtonal scales where a “sharp” is not 100 cents, alter refers to the alteration as a proportion of a 200-cent whole tone.

Here is an example of a possible key signature for generating a whole-tone scale:

\relative {
  \set Staff.keyAlterations = #`((6 . ,FLAT)
                                 (5 . ,FLAT)
                                 (3 . ,SHARP))
  c'4 d e fis
  aes4 bes c2
}

[image of music]

Vegeu també

Music Glossary: maqam, bayati, rast, sikah, iraq, kurd.

Notation Reference: Armadura de la tonalitat.

Learning Manual: Pitches and key signatures.

Internals Reference: KeySignature.

Snippets: World music, Pitches.


Arabic time signatures

Some Arabic and Turkish music classical forms such as Semai use unusual time signatures such as 10/8. This may lead to an automatic grouping of notes that is quite different from existing typeset music, where notes may not be grouped on the beat, but in a manner that is difficult to match by adjusting automatic beaming. The alternative is to switch off automatic beaming and beam the notes manually. Even if a match to existing typeset music is not required, it may still be desirable to adjust the automatic beaming behaviour and/or use compound time signatures.

Fragments de codi seleccionats

Arabic improvisation

For improvisations or taqasim which are temporarily free, the time signature can be omitted and \cadenzaOn can be used. Adjusting the accidental style might be required, since the absence of bar lines will cause the accidental to be marked only once. Here is an example of what could be the start of a hijaz improvisation:

\include "arabic.ly"

\relative sol' {
  \key re \kurd
  \accidentalStyle forget
  \cadenzaOn
  sol4 sol sol sol fad mib sol1 fad8 mib re4. r8 mib1 fad sol
}

[image of music]

Vegeu també

Music Glossary: semai, taqasim.

Notation Reference: Barres manuals, Barres automàtiques, Música sense compassos, Alteracions accidentals automàtiques, Establir el comportament de les barres automàtiques, Indicació de compàs.

Snippets: World music.


Arabic music example

Here is a template that also uses the start of a Turkish Semai that is familiar in Arabic music education in order to illustrate some of the peculiarities of Arabic music notation, such as medium intervals and unusual modes that are discussed in this section.

\include "arabic.ly"
\score {
  \relative {
    \set Staff.extraNatural = ##f
    \set Staff.autoBeaming = ##f
    \key re \bayati
    \time 10/8

    re'4 re'8 re16 [misb re do] sisb [la sisb do] re4 r8
    re16 [misb do re] sisb [do] la [sisb sol8] la [sisb] do [re] misb
    fa4 fa16 [misb] misb8. [re16] re8 [misb] re  [do] sisb
    do4 sisb8 misb16 [re do sisb] la [do sisb la] la4 r8
  }
  \header {
    title = "Semai Muhayer"
    composer = "Jamil Bek"
  }
}

[image of music]

Vegeu també

Snippets: World music.


Further reading for Arabic music

  1. The music of the Arabs by Habib Hassan Touma [Amadeus Press, 1996], contains a discussion of maqams and their method of groupings.

    There are also various web sites that explain maqams and some provide audio examples such as :

    There are some variations in the details of how maqams are grouped, despite agreement on the criteria of grouping maqams that are related through common lower tetra chords, or through modulation.

  2. There is not a complete consistency, sometimes even in the same text on how key signatures for particular maqams should be specified. It is common, however, to use a key signature per group, rather than a different key signature for each different maqam.

    Method books by the following authors for the Oud, the Arabic lute, contain examples of mainly Turkish and Arabic compositions.

    • Charbel Rouhana
    • George Farah
    • Ibrahim Ali Darwish Al-masri

2.10.3 Turkish classical music

This section highlights issues that are relevant to notating Turkish classical music.


References for Turkish classical music

Turkish classical music developed in the Ottoman Empire in a period roughly contemporaneous with classical music in Europe, and has continued on into the 20th and 21st centuries as a vibrant and distinct tradition with its own compositional forms, theory and performance styles. Among its striking features is the use of microtonal intervals based on ‘commas’ of 1/9 of a tone, from which are constructed the melodic forms known as makam (plural makamlar).

Some issues relevant to Turkish classical music are covered elsewhere:


Turkish note names

Pitches in Turkish classical music traditionally have unique names, and the basis of pitch on 1/9-tone divisions means makamlar employ a completely different set of intervals from Western scales and modes: koma (1/9 of a tone), eksik bakiye (3/9), bakiye (4/9), kücük mücenneb (5/9), büyük mücenneb (8/9), tanîni (a whole tone) and artık ikili (12/9 or 13/9 of a tone).

From a modern notational point of view it is convenient to use the standard Western staff notes (c, d, e, …) with special accidentals that raise or lower notes by intervals of 1/9, 4/9, 5/9 and 8/9 of a tone. These accidentals are defined in the file ‘makam.ly’.

The following table lists:

Accidental name

suffix

pitch alteration

büyük mücenneb (sharp)

-bm

+8/9

kücük mücenneb (sharp)

-k

+5/9

bakiye (sharp)

-b

+4/9

koma (sharp)

-c

+1/9

koma (flat)

-fc

-1/9

bakiye (flat)

-fb

-4/9

kücük mücenneb (flat)

-fk

-5/9

büyük mücenneb (flat)

-fbm

-8/9

For a more general explanation of non-Western music notation, see Common notation for non-Western music.

Vegeu també

Music Glossary: makam, makamlar.

Notation Reference: Common notation for non-Western music.


3. General input and output

This section deals with general LilyPond input and output issues, rather than specific notation.


3.1 Input structure

The main format of input for LilyPond are text files. By convention, these files end with ‘.ly’.


3.1.1 Structure of a score

A \score block must contain a single music expression delimited by curly brackets:

\score {
  …
}

Nota: There must be only one outer music expression in a score block, and it must be surrounded by curly brackets.

This single music expression may be of any size, and may contain other music expressions to any complexity. All of these examples are music expressions:

{ c'4 c' c' c' }
{
  { c'4 c' c' c' }
  { d'4 d' d' d' }
}

[image of music]

<<
  \new Staff { c'4 c' c' c' }
  \new Staff { d'4 d' d' d' }
>>

[image of music]

{
  \new GrandStaff <<
    \new StaffGroup <<
      \new Staff { \flute }
      \new Staff { \oboe }
    >>
    \new StaffGroup <<
      \new Staff { \violinI }
      \new Staff { \violinII }
    >>
  >>
}

Comments are one exception to this general rule. (For others see File structure.) Both single-line comments and comments delimited by %{ … %} may be placed anywhere within an input file. They may be placed inside or outside a \score block, and inside or outside the single music expression within a \score block.

Remember that even in a file containing only a \score block, it is implicitly enclosed in a \book block. A \book block in a source file produces at least one output file, and by default the name of the output file produced is derived from the name of the input file, so ‘fandangoforelephants.ly’ will produce ‘fandangoforelephants.pdf’.

(For more details about \book blocks, see Multiple scores in a book, Multiple output files from one input file File structure.)

Vegeu també

Learning Manual: Working on input files, Music expressions explained, Score is a (single) compound musical expression.


3.1.2 Multiple scores in a book

A document may contain multiple pieces of music and text. Examples of these are an etude book, or an orchestral part with multiple movements. Each movement is entered with a \score block,

\score {
  …music…
}

and texts are entered with a \markup block,

\markup {
  …text…
}

All the movements and texts which appear in the same ‘.ly’ file will normally be typeset in the form of a single output file.

\score {
  
}
\markup {
  
}
\score {
  
}

One important exception is within lilypond-book documents, where you explicitly have to add a \book block, otherwise only the first \score or \markup will appear in the output.

The header for each piece of music can be put inside the \score block. The piece name from the header will be printed before each movement. The title for the entire book can be put inside the \book, but if it is not present, the \header which is at the top of the file is inserted.

\header {
  title = "Eight miniatures"
  composer = "Igor Stravinsky"
}
\score {
  …
  \header { piece = "Romanze" }
}
\markup {
   …text of second verse…
}
\markup {
   …text of third verse…
}
\score {
  …
  \header { piece = "Menuetto" }
}

Pieces of music may be grouped into book parts using \bookpart blocks. Book parts are separated by a page break, and can start with a title, like the book itself, by specifying a \header block.

\bookpart {
  \header {
    title = "Book title"
    subtitle = "First part"
  }
  \score { … }
  …
}
\bookpart {
  \header {
    subtitle = "Second part"
  }
  \score { … }
  …
}

3.1.3 Multiple output files from one input file

If you want multiple output files from the same ‘.ly’ file, then you can add multiple \book blocks, where each such \book block will result in a separate output file. If you do not specify any \book block in the input file, LilyPond will implicitly treat the whole file as a single \book block, see File structure.

When producing multiple files from a single source file, LilyPond ensures that none of the output files from any \book block overwrites the output file produced by a preceding \book from the same input file.

It does this by adding a suffix to the output name for each \book which uses the default output file name derived from the input source file.

The default behaviour is to append a version-number suffix for each name which may clash, so

\book {
  \score { … }
  \paper { … }
}
\book {
  \score { … }
  \paper { … }
}
\book {
  \score { … }
  \paper { … }
}

in source file ‘eightminiatures.ly’ will produce


3.1.4 Output file names

LilyPond provides facilities to allow you to control what file names are used by the various back-ends when producing output files.

In the previous section, we saw how LilyPond prevents name-clashes when producing several outputs from a single source file. You also have the ability to specify your own suffixes for each \book block, so for example you can produce files called ‘eightminiatures-Romanze.pdf’, ‘eightminiatures-Menuetto.pdf’ and ‘eightminiatures-Nocturne.pdf’ by adding a \bookOutputSuffix declaration inside each \book block.

\book {
  \bookOutputSuffix "Romanze"
  \score { … }
  \paper { … }
}
\book {
  \bookOutputSuffix "Menuetto"
  \score { … }
  \paper { … }
}
\book {
  \bookOutputSuffix "Nocturne"
  \score { … }
  \paper { … }
}

You can also specify a different output filename for book block, by using \bookOutputName declarations

\book {
  \bookOutputName "Romanze"
  \score { … }
  \paper { … }
}
\book {
  \bookOutputName "Menuetto"
  \score { … }
  \paper { … }
}
\book {
  \bookOutputName "Nocturne"
  \score { … }
  \paper { … }
}

The file above will produce these output files:


3.1.5 File structure

A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:

The following example shows three things that may be entered at toplevel

\layout {
  % Don't justify the output
  ragged-right = ##t
}

\header {
   title = "Do-re-mi"
}

{ c'4 d' e2 }

At any point in a file, any of the following lexical instructions can be entered:

Whitespace between items in the input stream is generally ignored, and may be freely omitted or extended to enhance readability. However, whitespace should always be used in the following circumstances to avoid errors:

Vegeu també

Learning Manual: How LilyPond input files work.

Notation Reference: Titles explained, The \layout block.


3.2 Titles and headers

Almost all printed music includes a title and the composer’s name; some pieces include a lot more information.


3.2.1 Creating titles headers and footers


Titles explained

Each \book block in a single input file produces a separate output file, see File structure. Within each output file three types of titling areas are provided: Book Titles at the beginning of each book, Bookpart Titles at the beginning of each bookpart and Score Titles at the beginning of each score.

Values of titling fields such as title and composer are set in \header blocks. (For the syntax of \header blocks and a complete list of the fields available by default see Default layout of bookpart and score titles). Book Titles, Bookpart Titles and Score Titles can all contain the same fields, although by default the fields in Score Titles are limited to piece and opus.

\header blocks may be placed in four different places to form a descending hierarchy of \header blocks:

The values of the fields filter down this hierarchy, with the values set higher in the hierarchy persisting unless they are over-ridden by a value set lower in the hierarchy, so:

Nota: Remember when placing a \header block inside a \score block, that the music expression must come before the \header block.

It is not necessary to provide \header blocks in all four places: any or even all of them may be omitted. Similarly, simple input files may omit the \book and \bookpart blocks, leaving them to be created implicitly.

If the book has only a single score, the \header block should normally be placed at the top of the file so that just a Bookpart Title is produced, making all the titling fields available for use.

If the book has multiple scores a number of different arrangements of \header blocks are possible, corresponding to the various types of musical publications. For example, if the publication contains several pieces by the same composer a \header block placed at the top of the file specifying the book title and the composer with \header blocks in each \score block specifying the piece and/or opus would be most suitable, as here:

\header {
  title = "SUITE I."
  composer = "J. S. Bach."
}

\score {
  \new Staff \relative {
    \clef bass
    \key g \major
    \repeat unfold 2 { g,16( d' b') a b d, b' d, } |
    \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
  }
  \header {
    piece = "Prélude."
  }
}

\score {
  \new Staff \relative {
    \clef bass
    \key g \major
    \partial 16 b16 |
    <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
    d16( b g fis) g( e d c) b(c d e) fis( g a b) |
  }
  \header {
    piece = "Allemande."
  }
}

[image of music]

More complicated arrangements are possible. For example, text fields from the \header block in a book can be displayed in all Score Titles, with some fields over-ridden and some manually suppressed:

\book {
  \paper {
    print-all-headers = ##t
  }
  \header {
    title = "DAS WOHLTEMPERIRTE CLAVIER"
    subtitle = "TEIL I"
    % Do not display the default LilyPond footer for this book
    tagline = ##f
  }
  \markup { \vspace #1 }
  \score {
    \new PianoStaff <<
      \new Staff { s1 }
      \new Staff { \clef "bass" s1 }
    >>
    \header {
      title = "PRAELUDIUM I"
      opus = "BWV 846"
      % Do not display the subtitle for this score
      subtitle = ##f
    }
  }
  \score {
    \new PianoStaff <<
      \new Staff { s1 }
      \new Staff { \clef "bass" s1 }
    >>
    \header {
      title = "FUGA I"
      subsubtitle = "A 4 VOCI"
      opus = "BWV 846"
      % Do not display the subtitle for this score
      subtitle = ##f
    }
  }
}

[image of music]

Vegeu també

Notation Reference: File structure, Default layout of bookpart and score titles, Custom layout for titles.


Default layout of bookpart and score titles

This example demonstrates all printed \header variables:

\book {
  \header {
      % The following fields are centered
    dedication = "Dedication"
    title = "Title"
    subtitle = "Subtitle"
    subsubtitle = "Subsubtitle"
      % The following fields are evenly spread on one line
      % the field "instrument" also appears on following pages
    instrument = \markup \with-color #green "Instrument"
    poet = "Poet"
    composer = "Composer"
      % The following fields are placed at opposite ends of the same line
    meter = "Meter"
    arranger = "Arranger"
      % The following fields are centered at the bottom
    tagline = "The tagline goes at the bottom of the last page"
    copyright = "The copyright goes at the bottom of the first page"
  }
  \score {
    { s1 }
    \header {
        % The following fields are placed at opposite ends of the same line
      piece = "Piece 1"
      opus = "Opus 1"
    }
  }
  \score {
    { s1 }
    \header {
        % The following fields are placed at opposite ends of the same line
      piece = "Piece 2 on the same page"
      opus = "Opus 2"
    }
  }
  \pageBreak
  \score {
    { s1 }
    \header {
        % The following fields are placed at opposite ends of the same line
      piece = "Piece 3 on a new page"
      opus = "Opus 3"
    }
  }
}

[image of music]

Note that

To change the default layout see Custom layout for titles.

If a \book block starts immediately with a \bookpart block, no Book Title will be printed, as there is no page on which to print it. If a Book Title is required, begin the \book block with some markup material or a \pageBreak command.

Use the breakbefore variable inside a \header block that is itself in a \score block, to make the higher-level \header block titles appear on the first page on their own, with the music (defined in the \score block) starting on the next.

\book {
  \header {
    title = "This is my Title"
    subtitle = "This is my Subtitle"
    copyright = "This is the bottom of the first page"
  }
  \score {
    \repeat unfold 4 { e'' e'' e'' e'' }
    \header {
      piece = "This is the Music"
      breakbefore = ##t
    }
  }
}

[image of music]

Vegeu també

Learning Manual: How LilyPond input files work,

Notation Reference: Custom layout for titles, File structure.

Installed Files: ‘ly/titling-init.ly’.


Default layout of headers and footers

Headers and footers are lines of text appearing at the top and bottom of pages, separate from the main text of a book. They are controlled by the following \paper variables:

These markup variables can only access text fields from top-level \header blocks (which apply to all scores in the book) and are defined in ‘ly/titling-init.ly’. By default:

The default LilyPond footer text can be changed by adding a tagline in the top-level \header block.

\book {
  \header {
    tagline = "... music notation for Everyone"
  }
  \score {
    \relative {
      c'4 d e f
    }
  }
}

[image of music]

To remove the default LilyPond footer text, the tagline can be set to ##f.


3.2.2 Custom titles headers and footers


Custom text formatting for titles

Standard \markup commands can be used to customize any header, footer and title text within the \header block.

\score {
  { s1 }
  \header {
    piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
    opus = \markup { \italic "BWV 846" }
  }
}

[image of music]

Vegeu també

Notation Reference: Donar format al text.


Custom layout for titles

\markup commands in the \header block are useful for simple text formatting, but they do not allow precise control over the placement of titles. To customize the placement of the text fields, change either or both of the following \paper variables:

The placement of titles when using the default values of these \markup variables is shown in the examples in Default layout of bookpart and score titles.

The default settings for scoreTitleMarkup as defined in ‘ly/titling-init.ly’ are:

scoreTitleMarkup = \markup { \column {
  \on-the-fly \print-all-headers { \bookTitleMarkup \hspace #1 }
  \fill-line {
    \fromproperty #'header:piece
    \fromproperty #'header:opus
  }
}
}

This places the piece and opus text fields at opposite ends of the same line:

\score {
  { s1 }
  \header {
    piece = "PRAELUDIUM I"
    opus = "BWV 846"
  }
}

[image of music]

This example redefines scoreTitleMarkup so that the piece text field is centered and in a large, bold font.

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \fontsize #4 \bold \fromproperty #'header:piece
        \fromproperty #'header:opus
      }
    }
  }
  \header { tagline = ##f }
  \score {
    { s1 }
    \header {
      piece = "PRAELUDIUM I"
      opus = "BWV 846"
    }
  }
}

[image of music]

Text fields not normally effective in score \header blocks can be printed in the Score Title area if print-all-headers is placed inside the \paper block. A disadvantage of using this method is that text fields that are intended specifically for the Bookpart Title area need to be manually suppressed in every \score block. See Titles explained.

To avoid this, add the desired text field to the scoreTitleMarkup definition. In the following example, the composer text field (normally associated with bookTitleMarkup) is added to scoreTitleMarkup, allowing each score to list a different composer:

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \fontsize #4 \bold \fromproperty #'header:piece
        \fromproperty #'header:composer
      }
    }
  }
  \header { tagline = ##f }
  \score {
    { s1 }
    \header {
      piece = "MENUET"
      composer = "Christian Petzold"
    }
  }
  \score {
    { s1 }
    \header {
      piece = "RONDEAU"
      composer = "François Couperin"
    }
  }
}

[image of music]

It is also possible to create your own custom text fields, and refer to them in the markup definition.

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \override #`(direction . ,UP) {
          \dir-column {
            \center-align \fontsize #-1 \bold
              \fromproperty #'header:mycustomtext %% User-defined field
            \center-align \fontsize #4 \bold
              \fromproperty #'header:piece
          }
        }
        \fromproperty #'header:opus
      }
    }
  }
  \header { tagline = ##f }
  \score {
    { s1 }
    \header {
      piece = "FUGA I"
      mycustomtext = "A 4 VOCI" %% User-defined field
      opus = "BWV 846"
    }
  }
}

[image of music]

Vegeu també

Notation Reference: Titles explained.


Custom layout for headers and footers

\markup commands in the \header block are useful for simple text formatting, but they do not allow precise control over the placement of headers and footers. To customize the placement of the text fields, use either or both of the following \paper variables:

The \markup command \on-the-fly can be used to add markup conditionally to header and footer text defined within the \paper block, using the following syntax:

variable = \markup {
  …
  \on-the-fly  \procedure  markup
  …
}

The procedure is called each time the \markup command in which it appears is evaluated. The procedure should test for a particular condition and interpret (i.e., print) the markup argument if and only if the condition is true.

A number of ready-made procedures for testing various conditions are provided:

Procedure name

Condition tested

print-page-number-check-first

should this page number be printed?

create-page-number-stencil

print-page-numbers true?

print-all-headers

print-all-headers true?

first-page

first page in the book?

not-first-page

not first page in the book?

(on-page nmbr)

page number = nmbr?

last-page

last page in the book?

part-first-page

first page in the book part?

not-part-first-page

not first page in the book part?

part-last-page

last page in the book part?

not-single-page

pages in book part > 1?

The following example centers page numbers at the bottom of every page. First, the default settings for oddHeaderMarkup and evenHeaderMarkup are removed by defining each as a null markup. Then, oddFooterMarkup is redefined with the page number centered. Finally, evenFooterMarkup is given the same layout by defining it as \oddFooterMarkup:

\book {
  \paper {
    print-page-number = ##t
    print-first-page-number = ##t
    oddHeaderMarkup = \markup \null
    evenHeaderMarkup = \markup \null
    oddFooterMarkup = \markup {
      \fill-line {
        \on-the-fly \print-page-number-check-first
        \fromproperty #'page:page-number-string
      }
    }
    evenFooterMarkup = \oddFooterMarkup
  }
  \score {
    \new Staff { s1 \break s1 \break s1 }
  }
}

[image of music]

Several \on-the-fly conditions can be combined with an ‘and’ operation, for example,

  \on-the-fly \first-page
  \on-the-fly \last-page
  { \markup … \fromproperty #'header: … }

determines if the output is a single page.

Vegeu també

Notation Reference: Titles explained, Default layout of bookpart and score titles.

Installed Files: ‘../ly/titling-init.ly’.


3.2.3 Creating output file metadata

In addition to being shown in the printed output, \header variables are also used to set metadata for output files. For example, with PDF files, this metadata could be displayed by PDF readers as the properties of the PDF file. For each type of output file, only the \header definitions of blocks that define separate files of that type, and blocks higher in the block hierarchy, will be consulted. Therefore, for PDF files, only the \book level and the top level \header definitions affect the document-wide PDF metadata, whereas for MIDI files, all headers above or at the \score level are used.

For example, setting the title property of the header block to ‘Symphony I’ will also give this title to the PDF document, and use it as the sequence name of the MIDI file.

\header{
  title = "Symphony I"
}

If you want to set the title of the printed output to one value, but have the title property of the PDF to have a different value, you can use pdftitle, as below.

\header{
  title = "Symphony I"
  pdftitle = "Symphony I by Beethoven"
}

The variables title, subject, keywords, subtitle, composer, arranger, poet, author and copyright all set PDF properties and can all be prefixed with ‘pdf’ to set a PDF property to a value different from the printed output.

The PDF property Creator is automatically set to ‘LilyPond’ plus the current LilyPond version, and CreationDate and ModDate are both set to the current date and time. ModDate can be overridden by setting the header variable moddate (or pdfmoddate) to a valid PDF date string.

The title variable sets also the sequence name for MIDI. The midititle variable can be used to set the sequence name independently of the value used for typeset output.


3.2.4 Creating footnotes

Footnotes may be used in many different situations. In all cases, a ‘footnote mark’ is placed as a reference in text or music, and the corresponding ‘footnote text’ appears at the bottom of the same page.

Footnotes within music expressions and footnotes in stand-alone text outside music expressions are created in different ways.


Footnotes in music expressions

Music footnotes overview

Footnotes in music expressions fall into two categories:

Event-based footnotes

are attached to a particular event. Examples for such events are single notes, articulations (like fingering indications, accents, dynamics), and post-events (like slurs and manual beams). The general form for event-based footnotes is as follows:

[direction] \footnote [mark] offset footnote music
Time-based footnotes

are bound to a particular point of time in a musical context. Some commands like \time and \clef don’t actually use events for creating objects like time signatures and clefs. Neither does a chord create an event of its own: its stem or flag is created at the end of a time step (nominally through one of the note events inside). Exactly which of a chord’s multiple note events will be deemed the root cause of a stem or flag is undefined. So for annotating those, time-based footnotes are preferable as well.

A time-based footnote allows such layout objects to be annotated without referring to an event. The general form for Time-based footnotes is:

\footnote [mark] offset footnote [Context].GrobName

The elements for both forms are:

direction

If (and only if) the \footnote is being applied to a post-event or articulation, it must be preceded with a direction indicator (-, _, ^) in order to attach music (with a footnote mark) to the preceding note or rest.

mark

is a markup or string specifying the footnote mark which is used for marking both the reference point and the footnote itself at the bottom of the page. It may be omitted (or equivalently replaced with \default) in which case a number in sequence will be generated automatically. Such numerical sequences restart on each page containing a footnote.

offset

is a number pair such as ‘#(2 . 1)’ specifying the X and Y offsets in units of staff-spaces from the boundary of the object where the mark should be placed. Positive values of the offsets are taken from the right/top edge, negative values from the left/bottom edge and zero implies the mark is centered on the edge.

Context

is the context in which the grob being footnoted is created. It may be omitted if the grob is in a bottom context, e.g., a Voice context.

GrobName

specifies a type of grob to mark (like ‘Flag’). If it is specified, the footnote is not attached to a music expression in particular, but rather to all grobs of the type specified which occur at that moment of musical time.

footnote

is the markup or string specifying the footnote text to use at the bottom of the page.

music

is the music event or post-event or articulation that is being annotated.

Event-based footnotes

A footnote may be attached to a layout object directly caused by the event corresponding to music with the syntax:

\footnote [mark] offset footnote music
\book {
  \header { tagline = ##f }
  \relative c'' {
    \footnote #'(-1 . 3) "A note" a4
    a4
    \footnote #'(2 . 2) "A rest" r4
    a4
  }
}

[image of music]

Marking a whole chord with an event-based footnote is not possible: a chord, even one containing just a single note, does not produce an actual event of its own. However, individual notes inside of the chord can be marked:

\book {
  \header { tagline = ##f }
  \relative c'' {
    \footnote #'(2 . 3) "Does not work" <a-3>2
    <\footnote #'(-2 . -3) "Does work" a-3>4
    <a-3 \footnote #'(3 . 1/2) "Also works" c-5>4
  }
}

[image of music]

If the footnote is to be attached to a post-event or articulation the \footnote command must be preceded by a direction indicator, -, _, ^, and followed by the post-event or articulation to be annotated as the music argument. In this form the \footnote can be considered to be simply a copy of its last argument with a footnote mark attached to it. The syntax is:

direction \footnote [mark] offset footnote music
\book {
  \header { tagline = ##f }
  \relative {
    a'4_\footnote #'(0 . -1) "A slur forced down" (
    b8^\footnote #'(1 . 0.5) "A manual beam forced up" [
    b8 ]
    c4 )
    c-\footnote #'(1 . 1) "Tenuto" --
  }
}

[image of music]

Time-based footnotes

If the layout object being footmarked is indirectly caused by an event (like an Accidental or Stem caused by a NoteHead event), the GrobName of the layout object is required after the footnote text instead of music:

\book {
  \header { tagline = ##f }
  \relative c'' {
    \footnote #'(-1 . -3) "A flat" Accidental
    aes4 c
    \footnote #'(-1 . 0.5) "Another flat" Accidental
    ees
    \footnote #'(1 . -2) "A stem" Stem
    aes
  }
}

[image of music]

Note, however, that when a GrobName is specified, a footnote will be attached to all grobs of that type at the current time step:

\book {
  \header { tagline = ##f }
  \relative c' {
    \footnote #'(-1 . 3) "A flat" Accidental
    <ees ges bes>4
    \footnote #'(2 . 0.5) "Articulation" Script
    c'->-.
  }
}

[image of music]

A note inside of a chord can be given an individual (event-based) footnote. A ‘NoteHead’ is the only grob directly caused from a chord note, so an event-based footnote command is only suitable for adding a footnote to the ‘NoteHead’ within a chord. All other chord note grobs are indirectly caused. The \footnote command itself offers no syntax for specifying both a particular grob type as well as a particular event to attach to. However, one can use a time-based \footnote command for specifying the grob type, and then prefix this command with \single in order to have it applied to just the following event:

\book {
  \header { tagline = ##f }
  \relative c'' {
    < \footnote #'(1 . -2) "An A" a
      \single \footnote #'(-1 . -1) "A sharp" Accidental
      cis
      \single \footnote #'(0.5 . 0.5) "A flat" Accidental
      ees fis
    >2
  }
}

[image of music]

Nota: When footnotes are attached to several musical elements at the same musical moment, as they are in the example above, the footnotes are numbered from the higher to the lower elements as they appear in the printed output, not in the order in which they are written in the input stream.

Layout objects like clefs and key-change signatures are mostly caused as a consequence of changed properties rather than actual events. Others, like bar lines and bar numbers, are a direct consequence of timing. For this reason, footnotes on such objects have to be based on their musical timing. Time-based footnotes are also preferable when marking features like stems and beams on chords: while such per-chord features are nominally assigned to one event inside the chord, relying on a particular choice would be imprudent.

The layout object in question must always be explicitly specified for time-based footnotes, and the appropriate context must be specified if the grob is created in a context other than the bottom context.

\book {
  \header { tagline = ##f }
  \relative c'' {
    r1 |
    \footnote #'(-0.5 . -1) "Meter change" Staff.TimeSignature
    \time 3/4
    \footnote #'(1 . -1) "Chord stem" Stem
    <c e g>4 q q
    \footnote #'(-0.5 . 1) "Bar line" Staff.BarLine
    q q
    \footnote #'(0.5 . -1) "Key change" Staff.KeySignature
    \key c \minor
    q
  }
}

[image of music]

Custom marks can be used as alternatives to numerical marks, and the annotation line joining the marked object to the mark can be suppressed:

\book {
  \header { tagline = ##f }
  \relative c' {
    \footnote "*" #'(0.5 . -2) \markup { \italic "* The first note" } a'4
    b8
    \footnote \markup { \super "$" } #'(0.5 . 1)
      \markup { \super "$" \italic " The second note" } e
    c4
    \once \override Score.FootnoteItem.annotation-line = ##f
    b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
      \markup { \super "+" \italic " Editorial" } \p
  }
}

[image of music]

More examples of custom marks are shown in Footnotes in stand-alone text.


Footnotes in stand-alone text

These are for use in markup outside of music expressions. They do not have a line drawn to their point of reference: their marks simply follow the referenced markup. Marks can be inserted automatically, in which case they are numerical. Alternatively, custom marks can be provided manually.

Footnotes to stand-alone text with automatic and custom marks are created in different ways.

Footnotes in stand-alone text with automatic marks

The syntax of a footnote in stand-alone text with automatic marks is

\markup { … \auto-footnote text footnote … }

The elements are:

text

is the markup or string to be marked.

footnote

is the markup or string specifying the footnote text to use at the bottom of the page.

For example:

\book {
  \header { tagline = ##f }
  \markup {
    "A simple"
    \auto-footnote "tune" \italic " By me"
    "is shown below.  It is a"
    \auto-footnote "recent" \italic " Aug 2012"
    "composition."
  }
  \relative {
    a'4 b8 e c4 d
  }
}

[image of music]

Footnotes in stand-alone text with custom marks

The syntax of a footnote in stand-alone text with custom marks is

\markup { … \footnote mark footnote … }

The elements are:

mark

is a markup or string specifying the footnote mark which is used for marking the reference point. Note that this mark is not inserted automatically before the footnote itself.

footnote

is the markup or string specifying the footnote text to use at the bottom of the page, preceded by the mark.

Any easy-to-type character such as * or + may be used as a mark, as shown in Footnotes in music expressions. Alteratively, ASCII aliases may be used (see ASCII aliases):

\book {
  \paper { #(include-special-characters) }
  \header { tagline = ##f }
  \markup {
    "A simple tune"
    \footnote "*" \italic "* By me"
    "is shown below.  It is a recent"
    \footnote \super &dagger; \concat {
      \super &dagger; \italic " Aug 2012"
    }
    "composition."
  }
  \relative {
    a'4 b8 e c4 d
  }
}

[image of music]

Unicode character codes may also be used to specify marks (see Unicode):

\book {
  \header { tagline = ##f }
  \markup {
    "A simple tune"
    \footnote \super \char##x00a7 \concat {
      \super \char##x00a7 \italic " By me"
    }
    "is shown below.  It is a recent"
    \footnote \super \char##x00b6 \concat {
      \super \char##x00b6 \italic " Aug 2012"
    }
    "composition."
  }
  \relative {
    a'4 b8 e c4 d
  }
}

[image of music]

Vegeu també

Learning Manual: Objects and interfaces.

Notation Reference: ASCII aliases, Globus d’ajuda, List of special characters, Indicacions de text, Scripts de text, Unicode.

Internals Reference: FootnoteEvent, FootnoteItem, FootnoteSpanner, Footnote_engraver.

Advertiments i problemes coneguts

Multiple footnotes for the same page can only be stacked, one above the other; they cannot be printed on the same line.

Footnotes cannot be attached to MultiMeasureRests or automatic beams or lyrics.

Footnote marks may collide with staves, \markup objects, other footnote marks and annotation lines.


3.2.5 Reference to page numbers

A particular place of a score can be marked using the \label command, either at top-level or inside music. This label can then be referred to in a markup, to get the number of the page where the marked point is placed, using the \page-ref markup command.

\header { tagline = ##f }
\book {
  \label #'firstScore
  \score {
    {
      c'1
      \pageBreak \mark A \label #'markA
      c'1
    }
  }
  \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
  \markup { Mark A is on page \page-ref #'markA "0" "?" }
}

[image of music]

The \page-ref markup command takes three arguments:

  1. the label, a scheme symbol, eg. #'firstScore;
  2. a markup that will be used as a gauge to estimate the dimensions of the markup;
  3. a markup that will be used in place of the page number if the label is not known;

The reason why a gauge is needed is that, at the time markups are interpreted, the page breaking has not yet occurred, so the page numbers are not yet known. To work around this issue, the actual markup interpretation is delayed to a later time; however, the dimensions of the markup have to be known before, so a gauge is used to decide these dimensions. If the book has between 10 and 99 pages, it may be "00", ie. a two digit number.

Instruccions predefinides

\label, \page-ref.


3.2.6 Table of contents

A table of contents is included using the \markuplist \table-of-contents command. The elements which should appear in the table of contents are entered with the \tocItem command, which may be used either at top-level, or inside a music expression.

\markuplist \table-of-contents
\pageBreak

\tocItem \markup "First score"
\score {
  {
    c'4  % ...
    \tocItem \markup "Some particular point in the first score"
    d'4  % ...
  }
}

\tocItem \markup "Second score"
\score {
  {
    e'4 % ...
  }
}

Markups used for formatting the table of contents are defined in the \paper block. There are two ‘pre-defined’ markups already available;

Both of these variables can be changed.

Here is an example changing the table of contents’ title into French;

\paper {
  tocTitleMarkup = \markup \huge \column {
    \fill-line { \null "Table des matières" \null }
    \hspace #1
  }

Here is an example changing the font-size of the elements in the table of contents;

tocItemMarkup = \markup \large \fill-line {
  \fromproperty #'toc:text \fromproperty #'toc:page
}

Note how the element text and page numbers are referred to in the tocItemMarkup definition.

The \tocItemWithDotsMarkup command can be included within the tocItemMarkup to fill the line, between a table of contents item and its corresponding page number, with dots;

\header { tagline = ##f }
\paper {
  tocItemMarkup = \tocItemWithDotsMarkup
}

\book {
  \markuplist \table-of-contents
  \tocItem \markup { Allegro }
  \tocItem \markup { Largo }
  \markup \null
}

[image of music]

Custom commands with their own markups can also be defined to build a more complex table of contents. In the following example, a new style is defined for entering act names in a table of contents of an opera;

A new markup variable (called tocActMarkup) is defined in the \paper block;

\paper {
  tocActMarkup = \markup \large \column {
    \hspace #1
    \fill-line { \null \italic \fromproperty #'toc:text \null }
    \hspace #1
  }
}

A custom music function (tocAct) is then created – which uses the new tocActMarkup markup definition.

tocAct =
  #(define-music-function (text) (markup?)
     (add-toc-item! 'tocActMarkup text))

A LilyPond input file, using these customer definitions, could look something like this;

[image of music]

Here is an example of the \fill-with-pattern command used within the context of a table of contents;

\paper {
  tocItemMarkup = \markup { \fill-line {
    \override #'(line-width . 70)
    \fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
    }
  }
}

Vegeu també

Installed Files: ‘ly/toc-init.ly’.

Instruccions predefinides

\table-of-contents, \tocItem.


3.3 Working with input files


3.3.1 Including LilyPond files

A large project may be split up into separate files. To refer to another file, use

\include "otherfile.ly"

The line \include "otherfile.ly" is equivalent to pasting the contents of ‘otherfile.ly’ into the current file at the place where the \include appears. For example, in a large project you might write separate files for each instrument part and create a “full score” file which brings together the individual instrument files. Normally the included file will define a number of variables which then become available for use in the full score file. Tagged sections can be marked in included files to assist in making them usable in different places in a score, see Different editions from one source.

Files in the current working directory may be referenced by specifying just the file name after the \include command. Files in other locations may be included by giving either a full path reference or a relative path reference (but use the UNIX forward slash, /, rather than the DOS/Windows back slash, \, as the directory separator.) For example, if ‘stuff.ly’ is located one directory higher than the current working directory, use

\include "../stuff.ly"

or if the included orchestral parts files are all located in a subdirectory called ‘parts’ within the current directory, use

\include "parts/VI.ly"
\include "parts/VII.ly"
… etc

Files which are to be included can also contain \include statements of their own. By default, these second-level \include statements are not interpreted until they have been brought into the main file, so the file names they specify must all be relative to the directory containing the main file, not the directory containing the included file. However, this behavior can be changed globally by passing the option ‘-drelative-includes’ option at the command line (or by adding #(ly:set-option 'relative-includes #t) at the top of the main input file).

When relative-includes is set to #t, the path for each \include command will be taken relative to the file containing that command. This behavior is recommended and it will become the default behavior in a future version of lilypond.

Files relative to the main directory and files relative to some other directory may both be \included by setting relative-includes to #t or #f at appropriate places in the files. For example, if a general library, libA, has been created which itself uses sub-files which are \included by the entry file of that library, those \include statements will need to be preceded by #(ly:set-option #relative-includes #t) so they are interpreted correctly when brought into the main .ly file, like this:

libA/
  libA.ly
  A1.ly
  A2.ly
  …

then the entry file, libA.ly, will contain

#(ly:set-option 'relative-includes #t)
\include "A1.ly"
\include "A2.ly"
…
% return to default setting
#(ly:set-option 'relative-includes #f)

Any ‘.ly’ file can then include the entire library simply with

\include "~/libA/libA.ly"

More complex file structures may be devised by switching at appropriate places.

Files can also be included from a directory in a search path specified as an option when invoking LilyPond from the command line. The included files are then specified using just their file name. For example, to compile ‘main.ly’ which includes files located in a subdirectory called ‘parts’ by this method, cd to the directory containing ‘main.ly’ and enter

lilypond --include=parts main.ly

and in main.ly write

\include "VI.ly"
\include "VII.ly"
… etc

Files which are to be included in many scores may be placed in the LilyPond directory ‘../ly’. (The location of this directory is installation-dependent - see Other sources of information). These files can then be included simply by naming them on an \include statement. This is how the language-dependent files like ‘english.ly’ are included.

LilyPond includes a number of files by default when you start the program. These includes are not apparent to the user, but the files may be identified by running lilypond --verbose from the command line. This will display a list of paths and files that LilyPond uses, along with much other information. Alternatively, the more important of these files are discussed in Other sources of information. These files may be edited, but changes to them will be lost on installing a new version of LilyPond.

Some simple examples of using \include are shown in Scores and parts.

Vegeu també

Learning Manual: Other sources of information, Scores and parts.

Advertiments i problemes coneguts

If an included file is given a name which is the same as one in LilyPond’s installation files, LilyPond’s file from the installation files takes precedence.


3.3.2 Different editions from one source

Several methods can be used to generate different versions of a score from the same music source. Variables are perhaps the most useful for combining lengthy sections of music and/or annotation. Tags are more useful for selecting one section from several alternative shorter sections of music, and can also be used for splicing pieces of music together at different points.

Whichever method is used, separating the notation from the structure of the score will make it easier to change the structure while leaving the notation untouched.


Using variables

If sections of the music are defined in variables they can be reused in different parts of the score, see pieces with variables Organizing pieces with variables. For example, an a cappella vocal score frequently includes a piano reduction of the parts for rehearsal purposes which is identical to the vocal music, so the music need be entered only once. Music from two variables may be combined on one staff, see Combinació automàtica de les parts. Here is an example:

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
    }
  >>
>>

[image of music]

Separate scores showing just the vocal parts or just the piano part can be produced by changing just the structural statements, leaving the musical notation unchanged.

For lengthy scores, the variable definitions may be placed in separate files which are then included, see Including LilyPond files.


Using tags

The \tag #'partA command marks a music expression with the name partA. Expressions tagged in this way can be selected or filtered out by name later, using either \keepWithTag #'name or \removeWithTag #'name. The result of applying these filters to tagged music is as follows:

FilterResult
Tagged music preceded by \keepWithTag #'name or \keepWithTag #'(name1 name2…)Untagged music and music tagged with any of the given tag names is included; music tagged with any other tag name is excluded.
Tagged music preceded by \removeWithTag #'name or \removeWithTag #'(name1 name2…)Untagged music and music not tagged with any of the given tag names is included; music tagged with any of the given tag names is excluded.
Tagged music not preceded by either \keepWithTag or \removeWithTagAll tagged and untagged music is included.

The arguments of the \tag, \keepWithTag and \removeWithTag commands should be a symbol or list of symbols (such as #'score or #'(violinI violinII), followed by a music expression. If and only if the symbols are valid LilyPond identifiers (alphabetic characters only, no numbers, underscores, or dashes) which cannot be confused with notes, the #' may be omitted and, as a shorthand, a list of symbols can use the dot separator: i.e., \tag #'(violinI violinII) can be written \tag violinI.violinII. The same applies to \keepWithTag and \removeWithTag.

In the following example, we see two versions of a piece of music, one showing trills with the usual notation, and one with trills explicitly expanded:

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
}

[image of music]

Alternatively, it is sometimes easier to exclude sections of music:

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
}

[image of music]

Tagged filtering can be applied to articulations, texts, etc., by prepending

-\tag #'your-tag

to an articulation. For example, this would define a note with a conditional fingering indication and a note with a conditional annotation:

c1-\tag #'finger ^4
c1-\tag #'warn ^"Watch!"

Multiple tags may be placed on expressions with multiple \tag entries, or by combining multiple tags into one symbol list:

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
>>

[image of music]

Multiple \removeWithTag filters may be applied to a single music expression to remove several differently named tagged sections. Alternatively, you can use a single \removeWithTag with a list of tags.

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
}

[image of music]

Using two or more \keepWithTag filters on a single music expression will cause all of the tagged sections to be removed. The first filter will remove all except the one named and any subsequent filters will remove the rest. Using one \keepWithTag command with a list of multiple tags will only remove tagged sections that are not specified in that list.

music = \relative c'' {
  \tag #'violinI { a4 a a a }
  \tag #'violinII { b4 b b b }
  \tag #'viola { c4 c c c }
  \tag #'cello { d4 d d d }
}

\new Staff {
  \keepWithTag #'(violinI violinII)
  \music
}

[image of music]

will print \tags violinI and violinII but not viola or cello.

While \keepWithTag is convenient when dealing with one set of alternatives, the removal of music tagged with unrelated tags is problematic when using them for more than one purpose. In that case ‘groups’ of tags can be declared:

\tagGroup #'(violinI violinII viola cello)

Now all the different tags belong to a single ‘tag group’. Note that individual tags cannot be members of more than one tag group.

\keepWithTag #'violinI …

will now only show music tagged from violinI’s tag group and any music tagged with one of the other tags will removed.

music = \relative {
  \tagGroup #'(violinI violinII viola cello)
  \tag #'violinI { c''4^"violinI" c c c }
  \tag #'violinII { a2 a }
  \tag #'viola { e8 e e2. }
  \tag #'cello { d'2 d4 d }
  R1^"untagged"
}

\new Voice {
  \keepWithTag #'violinI
  \music
}

[image of music]

When using the \keepWithTag command, only tags from the tag groups of the tags given in the command are visible.

Sometimes you want to splice some music at a particular place in an existing music expression. You can use \pushToTag and \appendToTag for adding material at the front or end of the elements of an existing music construct. Not every music construct has elements, but sequential and simultaneous music are safe bets:

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
}

[image of music]

Both commands get a tag, the material to splice in at every occurence of the tag, and the tagged expression.

Vegeu també

Learning Manual: Organizing pieces with variables.

Notation Reference: Combinació automàtica de les parts, Including LilyPond files.

Advertiments i problemes coneguts

Calling \relative on a music expression obtained by filtering music through \keepWithTag or \removeWithTag might cause the octave relations to change, as only the pitches actually remaining in the filtered expression will be considered. Applying \relative first, before \keepWithTag or \removeWithTag, avoids this danger as \relative then acts on all the pitches as-input.


Using global settings

Global settings can be included from a separate file:

lilypond -dinclude-settings=MY_SETTINGS.ly MY_SCORE.ly

Groups of settings such as page size, font or type face can be stored in separate files. This allows different editions from the same score as well as standard settings to be applied to many scores, simply by specifying the proper settings file.

This technique also works well with the use of style sheets, as discussed in Style sheets.

Vegeu també

Learning Manual: Organizing pieces with variables, Style sheets.

Notation Reference: Including LilyPond files.


3.3.3 Special characters


Text encoding

LilyPond uses the character repertoire defined by the Unicode consortium and ISO/IEC 10646. This defines a unique name and code point for the character sets used in virtually all modern languages and many others too. Unicode can be implemented using several different encodings. LilyPond uses the UTF-8 encoding (UTF stands for Unicode Transformation Format) which represents all common Latin characters in one byte, and represents other characters using a variable length format of up to four bytes.

The actual appearance of the characters is determined by the glyphs defined in the particular fonts available - a font defines the mapping of a subset of the Unicode code points to glyphs. LilyPond uses the Pango library to layout and render multi-lingual texts.

LilyPond does not perform any input-encoding conversions. This means that any text, be it title, lyric text, or musical instruction containing non-ASCII characters, must be encoded in UTF-8. The easiest way to enter such text is by using a Unicode-aware editor and saving the file with UTF-8 encoding. Most popular modern editors have UTF-8 support, for example, vim, Emacs, jEdit, and Gedit do. All MS Windows systems later than NT use Unicode as their native character encoding, so even Notepad can edit and save a file in UTF-8 format. A more functional alternative for Windows is BabelPad.

If a LilyPond input file containing a non-ASCII character is not saved in UTF-8 format the error message

FT_Get_Glyph_Name () error: invalid argument

will be generated.

Here is an example showing Cyrillic, Hebrew and Portuguese text:

[image of music]


Unicode

To enter a single character for which the Unicode code point is known but which is not available in the editor being used, use either \char ##xhhhh or \char #dddd within a \markup block, where hhhh is the hexadecimal code for the character required and dddd is the corresponding decimal value. Leading zeroes may be omitted, but it is usual to specify all four characters in the hexadecimal representation. (Note that the UTF-8 encoding of the code point should not be used after \char, as UTF-8 encodings contain extra bits indicating the number of octets.) Unicode code charts and a character name index giving the code point in hexadecimal for any character can be found on the Unicode Consortium website, http://www.unicode.org/.

For example, \char ##x03BE and \char #958 would both enter the Unicode U+03BE character, which has the Unicode name “Greek Small Letter Xi”.

Any Unicode code point may be entered in this way and if all special characters are entered in this format it is not necessary to save the input file in UTF-8 format. Of course, a font containing all such encoded characters must be installed and available to LilyPond.

The following example shows Unicode hexadecimal values being entered in four places – in a rehearsal mark, as articulation text, in lyrics and as stand-alone text below the score:

\score {
  \relative {
    c''1 \mark \markup { \char ##x03EE }
    c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
  }
  \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
}
\markup { "Copyright 2008--2015" \char ##x00A9 }

[image of music]

To enter the copyright sign in the copyright notice use:

\header {
  copyright = \markup { \char ##x00A9 "2008" }
}

ASCII aliases

A list of ASCII aliases for special characters can be included:

\paper {
  #(include-special-characters)
}

\markup "&flqq; &ndash; &OE;uvre incomplète&hellip; &frqq;"

\score {
  \new Staff { \repeat unfold 9 a'4 }
  \addlyrics {
    This is al -- so wor -- kin'~in ly -- rics: &ndash;_&OE;&hellip;
  }
}

\markup \column {
  "The replacement can be disabled:"
  "&ndash; &OE; &hellip;"
  \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
}

[image of music]

You can also make your own aliases, either globally:

\paper {
  #(add-text-replacements!
    '(("100" . "hundred")
      ("dpi" . "dots per inch")))
}
\markup "A 100 dpi."

[image of music]

or locally:

\markup \replace #'(("100" . "hundred")
                    ("dpi" . "dots per inch")) "A 100 dpi."

[image of music]

Vegeu també

Notation Reference: List of special characters.

Installed Files: ‘ly/text-replacements.ly’.


3.4 Controlling output


3.4.1 Extracting fragments of music

It is possible to output one or more fragments of a score by defining the explicit location of the music to be extracted within the \layout block of the input file using the clip-regions function, and then running LilyPond with the ‘-dclip-systems’ option;

\layout {
  clip-regions
  = #(list
      (cons
       (make-rhythmic-location 5 1 2)
       (make-rhythmic-location 7 3 4)))
}

This example will extract a single fragment of the input file starting after a half-note duration in fifth measure (5 1 2) and ending after the third quarter-note in the seventh measure (7 3 4).

Additional fragments can be extracted by adding more pairs of make-rhythmic-location entries to the clip-regions list in the \layout block.

By default, each music fragment will be output as a separate EPS file, but other formats such as PDF or PNG can also be created if required. The extracted music is output as if had been literally ‘cut’ from the original printed score so if a fragment runs over one or more lines, a separate output file for each line will be generated.

Vegeu també

Notation Reference: The \layout block.

Application Usage: Command-line usage.


3.4.2 Skipping corrected music

When entering or copying music, usually only the music near the end (where you are adding notes) is interesting to view and correct. To speed up this correction process, it is possible to skip typesetting of all but the last few measures. This is achieved by putting

showLastLength = R1*5
\score { … }

in your source file. This will render only the last 5 measures (assuming 4/4 time signature) of every \score in the input file. For longer pieces, rendering only a small part is often an order of magnitude quicker than rendering it completely. When working on the beginning of a score you have already typeset (e.g., to add a new part), the showFirstLength property may be useful as well.

Skipping parts of a score can be controlled in a more fine-grained fashion with the property Score.skipTypesetting. When it is set, no typesetting is performed at all.

This property is also used to control output to the MIDI file. Note that it skips all events, including tempo and instrument changes. You have been warned.

\relative c' {
  c1
  \set Score.skipTypesetting = ##t
  \tempo 4 = 80
  c4 c c c
  \set Score.skipTypesetting = ##f
  d4 d d d
}

[image of music]

In polyphonic music, Score.skipTypesetting will affect all voices and staves, saving even more time.


3.4.3 Alternative output formats

The default output formats for the printed score are Portable Document Format (PDF) and PostScript (PS). Portable Network Graphics (PNG), Scalable Vector Graphics (SVG) and Encapsulated PostScript (EPS) output is available through the command line option, see Basic command line options for LilyPond.


3.4.4 Replacing the notation font

Gonville is an alternative set of glyphs to Feta – part of the Emmentaler font – and used in LilyPond. They can be downloaded from:

http://www.chiark.greenend.org.uk/~sgtatham/gonville/

Here are a few sample bars of music set in Gonville:

pictures/Gonville_after

Here are a few sample bars of music set in LilyPond’s Feta glyphs:

pictures/Gonville_before

Installation Instructions

Download and extract the font files. Copy the ‘gonville-11.otf’, ‘gonville-13.otf’, ‘gonville-14.otf’, ‘gonville-16.otf’, ‘gonville-18.otf’, ‘gonville-20.otf’, ‘gonville-23.otf’, ‘gonville-26.otf’, and ‘gonville-brace.otf’ files to ‘…/share/lilypond/current/fonts/otf’ or ‘…/share/lilypond/X.Y.Z/fonts/otf’. If you have ‘gonville-*.svg’ and ‘gonville-*.woff’ files, copy them to ‘…/share/lilypond/current/fonts/svg’ or ‘…/share/lilypond/X.Y.Z/fonts/svg’. For more information, see Other sources of information.

Note: ‘gonville-*.otf’ files are for ps and eps backend (for PDF and PostScript outputs). ‘gonville-*.svg’ files are for svg backend without svg-woff option. ‘gonville-*.woff’ files are for svg backend with svg-woff option. For more information, see Advanced command line options for LilyPond.

The following syntax changes the notation font (general and brace) to the Gonville font.

\paper {
  #(define fonts
    (set-global-fonts
     #:music "gonville"
     #:brace "gonville"
   ))
}

Note: Each call to set-global-fonts completely resets both the main notation and text fonts. If any category is left unspecified, then the default font will be used for that category. Each call to set-global-fonts changes the fonts for each \book that follows it, whether created explicitly or implicitly. This means that each \book can have its own set of main fonts by calling set-global-fonts before it. For more information, see Tipus de lletra del document complet.

Vegeu també

Learning Manual: Other sources of information.

Notation Reference: The Emmentaler font, Tipus de lletra del document complet.

Advertiments i problemes coneguts

Gonville cannot be used to typeset ‘Ancient Music’ notation and it is likely newer glyphs in later releases of LilyPond may not exist in the Gonville font family. Please refer to the author’s website for more information on these and other specifics, including licensing of Gonville.

Other notation fonts

If you have other notation fonts like ‘fontname-*.otf’, ‘fontname-*.svg’, and ‘fontname-*.woff’, you can use them in the same way as Gonville.

That is, copy the ‘fontname-*.otf’ files to ‘…/share/lilypond/current/fonts/otf’ or ‘…/share/lilypond/X.Y.Z/fonts/otf’. If you have ‘fontname-*.svg’ and ‘fontname-*.woff’ files, copy them to ‘…/share/lilypond/current/fonts/svg’ or ‘…/share/lilypond/X.Y.Z/fonts/svg’.

Note: At the moment, LilyPond expects the font file names to have the following suffixes, all of which must be present in the above installation folder(s) to work properly: ‘-11’, ‘-13’, ‘-14’, ‘-16’, ‘-18’, ‘-20’, ‘-23’, ‘-26’, ‘-brace’. For example, ‘emmentaler-11.otf’, ‘emmentaler-20.svg’, and ‘emmentaler-brace.woff’ etc.

The following syntax changes the notation font (general and brace) to the fontname font.

\paper {
  #(define fonts
    (set-global-fonts
     #:music "fontname" ; font filename without suffix and extension
     #:brace "fontname" ; font filename without suffix and extension
   ))
}

Note: For music and brace categories, specify the font filename without the suffix and extension.


3.5 Creating MIDI output

LilyPond can produce files that conform to the MIDI (Musical Instrument Digital Interface) standard and so allow for the checking of the music output aurally (with the help of an application or device that understands MIDI). Listening to MIDI output may also help in spotting errors such as notes that have been entered incorrectly or are missing accidentals and so on.

MIDI files do not contain sound (like AAC, MP3 or Vorbis files) but require additional software to produce sound from them.


3.5.1 Supported notation for MIDI

The following musical notation can be used with LilyPond’s default capabilities to produce MIDI output;

Panning, balance, expression, reverb and chorus effects can also be controlled by setting context properties, see Context properties for MIDI effects.

When combined with the ‘articulate’ script the following, additional musical notation can be output to MIDI;

See Enhancing MIDI output.


3.5.2 Unsupported notation for MIDI

The following items of musical notation cannot be output to MIDI;


3.5.3 The MIDI block

To create a MIDI output file from a LilyPond input file, insert a \midi block, which can be empty, within the \score block;

\score {
  … music …
  \layout { }
  \midi { }
}

Nota: A \score block that, as well as the music, contains only a \midi block (i.e., without the \layout block), will only produce MIDI output files. No notation will be printed.

The default output file extension (.midi) can be changed by using the -dmidi-extension option with the lilypond command:

lilypond -dmidi-extension=mid MyFile.ly

Alternatively, add the following Scheme expression before the start of either the \book, \bookpart or \score blocks. See File structure.

#(ly:set-option 'midi-extension "mid")

Vegeu també

Notation Reference: File structure, Creating output file metadata.

Installed Files: ‘scm/midi.scm’.

Advertiments i problemes coneguts

There are fifteen MIDI channels available and one additional channel (#10) for drums. Staves are assigned to channels in sequence, so a score that contains more than fifteen staves will result in the extra staves sharing (but not overwriting) the same MIDI channel. This may be a problem if the sharing staves have conflicting, channel-based, MIDI properties – such as different MIDI instruments – set.


3.5.4 Controlling MIDI dynamics

It is possible to control the overall MIDI volume, the relative volume of dynamic markings and the relative volume of different instruments.

Dynamic marks translate automatically into volume levels in the available MIDI volume range whereas crescendi and decrescendi vary the volume linearly between their two extremes. It is possible to control the relative volume of dynamic markings, and the overall volume levels of different instruments.


Dynamic marks in MIDI

Only the dynamic markings from ppppp to fffff, including mp, mf and sf have values assigned to them. This value is then applied to the value of the overall MIDI volume range to obtain the final volume included in the MIDI output for that particular dynamic marking. The default fractions range from 0.25 for ppppp to 0.95 for fffff. The complete set of dynamic marks and their associated fractions can be found in ‘scm/midi.scm’.

Fragments de codi seleccionats

Creating custom dynamics in MIDI output

The following example shows how to create a dynamic marking, not included in the default list, and assign it a specific value so that it can be used to affect MIDI output.

The dynamic mark \rfz is assigned a value of 0.9.

#(define (myDynamics dynamic)
    (if (equal? dynamic "rfz")
      0.9
      (default-dynamic-absolute-volume dynamic)))

\score {
  \new Staff {
    \set Staff.midiInstrument = #"cello"
    \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
    \new Voice {
      \relative {
        a'4\pp b c-\rfz
      }
    }
  }
  \layout {}
  \midi {}
}

[image of music]

Installed Files: ‘ly/script-init.ly’ ‘scm/midi.scm’.

Snippets: MIDI.

Internals Reference: Dynamic_performer.


Setting MIDI volume

The minimum and maximum overall volume of MIDI dynamic markings is controlled by setting the properties midiMinimumVolume and midiMaximumVolume at the Score level. These properties have an effect only at the start of a voice and on dynamic marks. The fraction corresponding to each dynamic mark is modified with this formula

midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction

In the following example the dynamic range of the overall MIDI volume is limited to the range 0.2 - 0.5.

\score {
  <<
    \new Staff {
      \set Staff.midiInstrument = #"flute"
      … music …
    }
    \new Staff {
      \set Staff.midiInstrument = #"clarinet"
      … music …
    }
  >>
  \midi {
    \context {
      \Score
      midiMinimumVolume = #0.2
      midiMaximumVolume = #0.5
    }
  }
}

Simple MIDI instrument equalization can be achieved by setting midiMinimumVolume and midiMaximumVolume properties within the Staff context.

\score {
  \new Staff {
    \set Staff.midiInstrument = #"flute"
    \set Staff.midiMinimumVolume = #0.7
    \set Staff.midiMaximumVolume = #0.9
    … music …
  }
  \midi { }
}

For scores with multiple staves and multiple MIDI instruments, the relative volumes of each instrument can be set individually;

\score {
  <<
    \new Staff {
      \set Staff.midiInstrument = #"flute"
      \set Staff.midiMinimumVolume = #0.7
      \set Staff.midiMaximumVolume = #0.9
      … music …
    }
    \new Staff {
      \set Staff.midiInstrument = #"clarinet"
      \set Staff.midiMinimumVolume = #0.3
      \set Staff.midiMaximumVolume = #0.6
      … music …
    }
  >>
  \midi { }
}

In this example the volume of the clarinet is reduced relative to the volume of the flute.

If these volumes properties are not set then LilyPond still applies a ‘small degree’ of equalization to certain instruments. See ‘scm/midi.scm’.

Installed Files: ‘scm/midi.scm’.

Vegeu també

Notation Reference: Score layout.

Internals Reference: Dynamic_performer.

Fragments de codi seleccionats

Replacing default MIDI instrument equalization

The default MIDI instrument equalizer can be replaced by setting the instrumentEqualizer property in the Score context to a user-defined Scheme procedure that uses a MIDI instrument name as its argument along with a pair of fractions indicating the minimum and maximum volumes respectively to be applied to that specific instrument.

The following example sets the minimum and maximum volumes for flute and clarinet respectively.

#(define my-instrument-equalizer-alist '())

#(set! my-instrument-equalizer-alist
  (append
    '(
      ("flute" . (0.7 . 0.9))
      ("clarinet" . (0.3 . 0.6)))
    my-instrument-equalizer-alist))

#(define (my-instrument-equalizer s)
  (let ((entry (assoc s my-instrument-equalizer-alist)))
    (if entry
      (cdr entry))))

\score {
  <<
    \new Staff {
      \key g \major
      \time 2/2
      \set Score.instrumentEqualizer = #my-instrument-equalizer
      \set Staff.midiInstrument = #"flute"
      \new Voice \relative {
        r2 g''\mp g fis~
        4 g8 fis e2~
        4 d8 cis d2
      }
    }
    \new Staff {
      \key g \major
      \set Staff.midiInstrument = #"clarinet"
      \new Voice \relative {
        b'1\p a2. b8 a
        g2. fis8 e
        fis2 r
      }
    }
  >>
  \layout { }
  \midi {  }
}

[image of music]

Advertiments i problemes coneguts

Changes in the MIDI volume take place only on starting a note, so crescendi and decrescendi cannot affect the volume of a single note.


Setting MIDI block properties

The \midi block can contain context rearrangements, new context definitions or code that sets the values of certain properties.

\score {
  … music …
  \midi {
    \tempo 4 = 72
  }
}

Here the tempo is set to 72 quarter-note beats per minute. The tempo mark in the \midi block will not appear in the printed score. Although any other \tempo indications specified within the \score block will also be reflected in the MIDI output.

In a \midi block the \tempo command is setting properties during the interpretation of the music and in the context of output definitions; so it is interpreted as if it were a context modification.

Context definitions follow the same syntax as those in a \layout block;

\score {
  … music …
  \midi {
    \context {
      \Voice
      \remove "Dynamic_performer"
    }
  }
}

This example removes the effect of dynamics from the MIDI output. Note: LilyPond’s translation modules used for sound are called ‘performers’.

Vegeu també

Learning Manual: Other sources of information.

Notation Reference: Expressions, Score layout.

Installed Files: ‘ly/performer-init.ly’.

Snippets: MIDI.

Internals Reference: Dynamic_performer.

Advertiments i problemes coneguts

Some MIDI players do not always correctly handle tempo changes in the midi output.

Changes to the midiInstrument, as well as some MIDI options, at the beginning of a staff may appear twice in the MIDI output.


3.5.5 Using MIDI instruments

MIDI instruments are set using the midiInstrument property within a Staff context.

\score {
  \new Staff {
    \set Staff.midiInstrument = #"glockenspiel"
    … music …
  }
  \midi { }
}

or

\score {
  \new Staff \with {midiInstrument = #"cello"} {
    … music …
  }
  \midi { }
}

If the instrument name does not match any of the instruments listed in the ‘MIDI instruments’ section, the acoustic grand instrument will be used instead. See MIDI instruments.

Vegeu també

Learning Manual: Other sources of information.

Notation Reference: MIDI instruments, Score layout.

Installed Files: ‘scm/midi.scm’.

Advertiments i problemes coneguts

Percussion instruments that are notated in a DrumStaff context will be output, correctly, to MIDI channel 10 but some pitched, percussion instruments like the xylophone, marimba, vibraphone or timpani, are treated as “normal” instruments so the music for these should be entered in a Staff (not DrumStaff) context to obtain correct MIDI output. A full list of channel 10 drum-kits entries can be found in ‘scm/midi.scm’. See Other sources of information.


3.5.6 Using repeats with MIDI

Repeats can be represented in the MIDI output by applying the \unfoldRepeats command.

\score {
  \unfoldRepeats {
    \repeat tremolo 8 { c'32 e' }
    \repeat percent 2 { c''8 d'' }
    \repeat volta 2 { c'4 d' e' f' }
    \alternative {
      { g' a' a' g' }
      { f' e' d' c' }
    }
  }
  \midi { }
}

In order to restrict the effect of \unfoldRepeats to the MIDI output only, while also generating printable scores, it is necessary to make two \score blocks; one for MIDI (with unfolded repeats) and one for the notation (with volta, tremolo, and percent repeats);

\score {
  … music …
  \layout { }
}
\score {
  \unfoldRepeats {
    … music …
  }
  \midi { }
}

When using multiple voices, each of the voices must contain completely unfolded repeats for correct MIDI output.

Vegeu també

Notation Reference: Repeticions.


3.5.7 MIDI channel mapping

When generating a MIDI file from a score, LilyPond will automatically assign every note in the score to a MIDI channel, the one on which it should be played when it is sent to a MIDI device. A MIDI channel has a number of controls available to select, for example, the instrument to be used to play the notes on that channel, or to request the MIDI device to apply various effects to the sound produced on the channel. At all times, every control on a MIDI channel can have only a single value assigned to it (which can be modified, however, for example, to switch to another instrument in the middle of a score).

The MIDI standard supports only 16 channels per MIDI device. This limit on the number of channels also limits the number of different instruments which can be played at the same time.

LilyPond creates separate MIDI tracks for each staff, (or discrete instrument or voice, depending on the value of Score.midiChannelMapping), and also for each lyrics context. There is no limit to the number of tracks.

To work around the limited number of MIDI channels, LilyPond supports a number of different modes for MIDI channel allocation, selected using the Score.midiChannelMapping context property. In each case, if more MIDI channels than the limit are required, the allocated channel numbers wrap around back to 0, possibly causing the incorrect assignment of instruments to some notes. This context property can be set to one of the following values:

'staff

Allocate a separate MIDI channel to each staff in the score (this is the default). All notes in all voices contained within each staff will share the MIDI channel of their enclosing staff, and all are encoded in the same MIDI track.

The limit of 16 channels is applied to the total number of staff and lyrics contexts, even though MIDI lyrics do not take up a MIDI channel.

'instrument

Allocate a separate MIDI channel to each distinct MIDI instrument specified in the score. This means that all the notes played with the same MIDI instrument will share the same MIDI channel (and track), even if the notes come from different voices or staves.

In this case the lyrics contexts do not count towards the MIDI channel limit of 16 (as they will not be assigned to a MIDI instrument), so this setting may allow a better allocation of MIDI channels when the number of staves and lyrics contexts in a score exceeds 16.

'voice

Allocate a separate MIDI channel to each voice in the score that has a unique name among the voices in its enclosing staff. Voices in different staves are always assigned separate MIDI channels, but any two voices contained within the same staff will share the same MIDI channel if they have the same name. Because midiInstrument and the several MIDI controls for effects are properties of the staff context, they cannot be set separately for each voice. The first voice will be played with the instrument and effects specified for the staff, and voices with a different name from the first will be assigned the default instrument and effects.

Note: different instruments and/or effects can be assigned to several voices on the same staff by moving the Staff_performer from the Staff to the Voice context, and leaving midiChannelMapping to default to 'staff or set to 'instrument; see the snippet below.

For example, the default MIDI channel mapping of a score can be changed to the 'instrument setting as shown:

\score {
  ...music...
  \midi {
    \context {
      \Score
      midiChannelMapping = #'instrument
    }
  }
}

Fragments de codi seleccionats

Changing MIDI output to one channel per voice

When outputting MIDI, the default behavior is for each staff to represent one MIDI channel, with all the voices on a staff amalgamated. This minimizes the risk of running out of MIDI channels, since there are only 16 available per track.

However, by moving the Staff_performer to the Voice context, each voice on a staff can have its own MIDI channel, as is demonstrated by the following example: despite being on the same staff, two MIDI channels are created, each with a different midiInstrument.

\score {
  \new Staff <<
    \new Voice \relative c''' {
      \set midiInstrument = #"flute"
      \voiceOne
      \key g \major
      \time 2/2
      r2 g-"Flute" ~
      g fis ~
      fis4 g8 fis e2 ~
      e4 d8 cis d2
    }
    \new Voice \relative c'' {
      \set midiInstrument = #"clarinet"
      \voiceTwo
      b1-"Clarinet"
      a2. b8 a
      g2. fis8 e
      fis2 r
    }
  >>
  \layout { }
  \midi {
    \context {
      \Staff
      \remove "Staff_performer"
    }
    \context {
      \Voice
      \consists "Staff_performer"
    }
    \tempo 2 = 72
  }
}

[image of music]


3.5.8 Context properties for MIDI effects

The following context properties can be used to apply various MIDI effects to notes played on the MIDI channel associated with the current staff, MIDI instrument or voice (depending on the value of the Score.midiChannelMapping context property and the context in which the Staff_performer is located; see MIDI channel mapping).

Changing these context properties will affect all notes played on the channel after the change, however some of the effects may even apply also to notes which are already playing (depending on the implementation of the MIDI output device).

The following context properties are supported:

Staff.midiPanPosition

The pan position controls how the sound on a MIDI channel is distributed between left and right stereo outputs. The context property accepts a number between -1.0 (#LEFT) and 1.0 (#RIGHT); the value -1.0 will put all sound power to the left stereo output (keeping the right output silent), the value 0.0 (#CENTER) will distribute the sound evenly between the left and right stereo outputs, and the value 1.0 will move all sound to the right stereo output. Values between -1.0 and 1.0 can be used to obtain mixed distributions between left and right stereo outputs.

Staff.midiBalance

The stereo balance of a MIDI channel. Similarly to the pan position, this context property accepts a number between -1.0 (#LEFT) and 1.0 (#RIGHT). It varies the relative volume sent to the two stereo speakers without affecting the distribution of the stereo signals.

Staff.midiExpression

Expression level (as a fraction of the maximum available level) to apply to a MIDI channel. A MIDI device combines the MIDI channel’s expression level with a voice’s current dynamic level (controlled using constructs such as \p or \ff) to obtain the total volume of each note within the voice. The expression control could be used, for example, to implement crescendo or decrescendo effects over single sustained notes (not supported automatically by LilyPond).

The expression level ranges from 0.0 (no expression, meaning zero volume) to 1.0 (full expression).

Staff.midiReverbLevel

Reverb level (as a fraction of the maximum available level) to apply to a MIDI channel. This property accepts numbers between 0.0 (no reverb) and 1.0 (full effect).

Staff.midiChorusLevel

Chorus level (as a fraction of the maximum available level) to apply to a MIDI channel. This property accepts numbers between 0.0 (no chorus effect) and 1.0 (full effect).

Advertiments i problemes coneguts

As MIDI files do not contain any actual audio data, changes in these context properties translate only to requests for changing MIDI channel controls in the outputted MIDI files. Whether a particular MIDI device (such as a software MIDI player) can actually handle any of these requests in a MIDI file is entirely up to the implementation of the device: a device may choose to ignore some or all of these requests. Also, how a MIDI device will interpret different values for these controls (generally, the MIDI standard fixes the behavior only at the endpoints of the value range available for each control), and whether a change in the value of a control will affect notes already playing on that MIDI channel or not, is also specific to the MIDI device implementation.

When generating MIDI files, LilyPond will simply transform the fractional values within each range linearly into values in a corresponding (7-bit, or 14-bit for MIDI channel controls which support fine resolution) integer range (0-127 or 0-32767, respectively), rounding fractional values towards the nearest integer away from zero. The converted integer values are stored as-is in the generated MIDI file. Please consult the documentation of your MIDI device for information about how the device interprets these values.


3.5.9 Enhancing MIDI output

The default MIDI output is basic but can be improved by setting MIDI instruments, \midi block properties and/or using the ‘articulate’ script.


The ‘articulate’ script

To use the ‘articulate’ script add the appropriate \include command at the top of the input file;

\include "articulate.ly"

The script creates MIDI output into appropriately ‘time-scaled’ notes to match many articulation and tempo indications. Engraved output however, will also be altered to literally match the MIDI output.

\score {
  \articulate <<
    … music …
  >>
  \midi { }
}

The \articulate command enables abbreviatures (such as trills and turns) to be processed. A full list of supported items can be found in the script itself. See ‘ly/articulate.ly’.

Vegeu també

Learning Manual: Other sources of information.

Notation Reference: Score layout.

Installed Files: ‘ly/articulate.ly’.

Nota: The ‘articulate’ script may shorten chords, which might not be appropriate for some types of instrument, such as organ music. Notes that do not have any articulations attached to them may also be shortened; so to allow for this, restrict the use of the articulate function to shorter segments of music, or modify the values of the variables defined in the ‘articulate’ script to compensate for the note-shortening behavior.


3.6 Extracting musical information

In addition to creating graphical output and MIDI, LilyPond can display musical information as text.


3.6.1 Displaying LilyPond notation

Displaying a music expression in LilyPond notation can be done with the music function \displayLilyMusic. To see the output, you will typically want to call LilyPond using the command line. For example,

{
  \displayLilyMusic \transpose c a, { c4 e g a bes }
}

will display

{ a,4 cis4 e4 fis4 g4 }

By default, LilyPond will print these messages to the console along with all the other LilyPond compilation messages. To split up these messages and save the results of \displayLilyMusic, redirect the output to a file.

lilypond file.ly >display.txt

Note that LilyPond does not just display the music expression, but also interprets it (since \displayLilyMusic returns it in addition to displaying it). Just insert \displayLilyMusic into the existing music in order to get information about it.

To interpret and display a music section in the console but, at the same time, remove it from the output file use the \void command.

{
  \void \displayLilyMusic \transpose c a, { c4 e g a bes }
  c1
}

3.6.2 Displaying scheme music expressions

See Displaying music expressions.


3.6.3 Saving music events to a file

Music events can be saved to a file on a per-staff basis by including a file in your main score.

\include "event-listener.ly"

This will create file(s) called ‘FILENAME-STAFFNAME.notes’ or ‘FILENAME-unnamed-staff.notes’ for each staff. Note that if you have multiple unnamed staves, the events for all staves will be mixed together in the same file. The output looks like this:

0.000   note     57       4   p-c 2 12
0.000   dynamic  f
0.250   note     62       4   p-c 7 12
0.500   note     66       8   p-c 9 12
0.625   note     69       8   p-c 14 12
0.750   rest     4
0.750   breathe

The syntax is a tab-delimited line, with two fixed fields on each line followed by optional parameters.

time  type  …params…

This information can easily be read into other programs such as python scripts, and can be very useful for researchers wishing to perform musical analysis or playback experiments with LilyPond.

Advertiments i problemes coneguts

Not all lilypond music events are supported by ‘event-listener.ly’. It is intended to be a well-crafted “proof of concept”. If some events that you want to see are not included, copy ‘event-listener.ly’ into your lilypond directory and modify the file so that it outputs the information you want.


4. Spacing issues

The global paper layout is determined by three factors: the page layout, the line breaks, and the spacing. These all influence each other. The choice of spacing determines how densely each system of music is set. This influences where line breaks are chosen, and thus ultimately, how many pages a piece of music takes.

Globally speaking, this procedure happens in four steps: first, flexible distances (‘springs’) are chosen, based on durations. All possible line breaking combinations are tried, and a ‘badness’ score is calculated for each. Then the height of each possible system is estimated. Finally, a page breaking and line breaking combination is chosen so that neither the horizontal nor the vertical spacing is too cramped or stretched.

Two types of blocks can contain layout settings: \paper {…} and \layout {…}. The \paper block contains page layout settings that are expected to be the same for all scores in a book or bookpart, such as the paper height, or whether to print page numbers, etc. See Page layout. The \layout block contains score layout settings, such as the number of systems to use, or the space between staff-groups, etc. See Score layout.


4.1 Page layout

This section discusses page layout options for the \paper block.


4.1.1 The \paper block

\paper blocks may be placed in three different places to form a descending hierarchy of \paper blocks:

A \paper block cannot be placed within a \score block.

The values of the fields filter down this hierarchy, with the values set higher in the hierarchy persisting unless they are over-ridden by a value set lower in the hierarchy.

Several \paper blocks can appear at each of the levels, for example as parts of several \included files. If so, the fields at each level are merged, with values encountered last taking precedence if duplicated fields appear.

Settings that can appear in a \paper block include:

The set-paper-size function is discussed in the next section, Paper size and automatic scaling. The \paper variables that deal with page layout are discussed in later sections. The markup definitions that deal with headers, footers, and titles are discussed in Custom titles headers and footers.

Most \paper variables will only work in a \paper block. The few that will also work in a \layout block are listed in The \layout block.

Except when specified otherwise, all \paper variables that correspond to distances on the page are measured in millimeters, unless a different unit is specified by the user. For example, the following declaration sets top-margin to ten millimeters:

\paper {
  top-margin = 10
}

To set it to 0.5 inches, use the \in unit suffix:

\paper {
  top-margin = 0.5\in
}

The available unit suffixes are \mm, \cm, \in, and \pt. These units are simple values for converting from millimeters; they are defined in ‘ly/paper-defaults-init.ly’. For the sake of clarity, when using millimeters, the \mm is typically included in the code, even though it is not technically necessary.

It is also possible to define \paper values using Scheme. The Scheme equivalent of the above example is:

\paper {
  #(define top-margin (* 0.5 in))
}

Vegeu també

Notation Reference: Paper size and automatic scaling, Custom titles headers and footers, The \layout block.

Installed Files: ‘ly/paper-defaults-init.ly’.


4.1.2 Paper size and automatic scaling


Setting the paper size

‘A4’ is the default value when no explicit paper size is set. However, there are two functions that can be used to change it:

set-default-paper-size
#(set-default-paper-size "quarto")

which must always be placed at the toplevel scope, and

set-paper-size
\paper {
  #(set-paper-size "tabloid")
}

which must always be placed in a \paper block.

If the set-default-paper-size function is used in the toplevel scope, it must come before any \paper block. set-default-paper-size sets the paper size for all pages, whereas set-paper-size only sets the paper size for the pages that the \paper block applies to. For example, if the \paper block is at the top of the file, then it will apply the paper size to all pages. If the \paper block is inside a \book, then the paper size will only apply to that book.

When the set-paper-size function is used, it must be placed before any other functions used within the same \paper block. See Automatic scaling to paper size.

Paper sizes are defined in ‘scm/paper.scm’, and while it is possible to add custom sizes, they will be overwritten on subsequent software updates. The available paper sizes are listed in Predefined paper sizes.

The following command can be used in the file to add a custom paper size which can then be used with set-default-paper-size or set-paper-size as appropriate,

#(set! paper-alist (cons '("my size" . (cons (* 15 in) (* 3 in))) paper-alist))

\paper {
  #(set-paper-size "my size")
}

The units in (inches), cm (centimeters) and mm (millimeters) can all be used.

If the symbol 'landscape is added to the paper size function, pages will be rotated by 90 degrees, and wider line widths will be set accordingly.

#(set-default-paper-size "a6" 'landscape)

Swapping the paper dimensions without having the print rotated (like when printing to postcard size, or creating graphics for inclusion rather than a standalone document) can be achieved by appending ‘landscape’ to the name of the paper size itself:

#(set-default-paper-size "a6landscape")

When the paper size ends with an explicit ‘landscape’ or ‘portrait’, the presence of a 'landscape symbol only affects print orientation, not the paper dimensions used for layout.

Vegeu també

Notation Reference: Automatic scaling to paper size, Predefined paper sizes.

Installed Files: ‘scm/paper.scm’.


Automatic scaling to paper size

If the paper size is changed with one of the scheme functions (set-default-paper-size or set-paper-size), the values of several \paper variables are automatically scaled to the new size. To bypass the automatic scaling for a particular variable, set the variable after setting the paper size. Note that the automatic scaling is not triggered by setting the paper-height or paper-width variables, even though paper-width can influence other values (this is separate from scaling and is discussed below). The set-default-paper-size and set-paper-size functions are described in Setting the paper size.

The vertical dimensions affected by automatic scaling are top-margin and bottom-margin (see Fixed vertical spacing \paper variables). The horizontal dimensions affected by automatic scaling are left-margin, right-margin, inner-margin, outer-margin, binding-offset, indent, and short-indent (see Horizontal spacing \paper variables).

The default values for these dimensions are set in ‘ly/paper-defaults-init.ly’, using internal variables named top-margin-default, bottom-margin-default, etc. These are the values that result at the default paper size a4. For reference, with a4 paper the paper-height is 297\mm and the paper-width is 210\mm.

Vegeu també

Notation Reference: Fixed vertical spacing \paper variables, Horizontal spacing \paper variables.

Installed Files: ‘ly/paper-defaults-init.ly’, ‘scm/paper.scm’.


4.1.3 Fixed vertical spacing \paper variables

Nota: Some \paper dimensions are automatically scaled to the paper size, which may lead to unexpected behavior. See Automatic scaling to paper size.

Default values (before scaling) are defined in ‘ly/paper-defaults-init.ly’.

paper-height

The height of the page, unset by default. Note that the automatic scaling of some vertical dimensions is not affected by this.

top-margin

The margin between the top of the page and the top of the printable area. If the paper size is modified, this dimension’s default value is scaled accordingly.

bottom-margin

The margin between the bottom of the printable area and the bottom of the page. If the paper size is modified, this dimension’s default value is scaled accordingly.

ragged-bottom

If this is set to true, systems will be set at their natural spacing, neither compressed nor stretched vertically to fit the page.

ragged-last-bottom

If this is set to false, then the last page, and the last page in each section created with a \bookpart block, will be vertically justified in the same way as the earlier pages.

Vegeu també

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘ly/paper-defaults-init.ly’.

Snippets: Spacing.

Advertiments i problemes coneguts

The titles (from the \header block) are treated as a system, so ragged-bottom and ragged-last-bottom will add space between the titles and the first system of the score.

Explicitly defined paper-sizes will override any user-defined top or bottom margin settings.


4.1.4 Flexible vertical spacing \paper variables

In most cases, it is preferable for the vertical distances between certain items (such as margins, titles, systems, and separate scores) to be flexible, so that they stretch and compress nicely according to each situation. A number of \paper variables (listed below) are available to fine-tune the stretching behavior of these dimensions.

Note that the \paper variables discussed in this section do not control the spacing of staves within individual systems. Within-system spacing is controlled by grob properties, with settings typically entered inside a \score or \layout block, and not inside a \paper block. See Flexible vertical spacing within systems.


Structure of flexible vertical spacing alists

Each of the flexible vertical spacing \paper variables is an alist (association list) containing four keys:

If a page has a ragged bottom, the resulting distance is the largest of:

For multi-page scores with a ragged bottom on the last page, the last page uses the same spacing as the preceding page, provided there is enough space for that.

Specific methods for modifying alists are discussed in Modifying alists. The following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely redefines the variable:

\paper {
  system-system-spacing.basic-distance = #8
  score-system-spacing =
    #'((basic-distance . 12)
       (minimum-distance . 6)
       (padding . 1)
       (stretchability . 12))
}

List of flexible vertical spacing \paper variables

The names of these variables follow the format upper-lower-spacing, where upper and lower are the items to be spaced. Each distance is measured between the reference points of the two items (see the description of the alist structure above). Note that in these variable names, the term ‘markup’ refers to both title markups (bookTitleMarkup or scoreTitleMarkup) and top-level markups (see File structure). All distances are measured in staff-spaces.

Default settings are defined in ‘ly/paper-defaults-init.ly’.

markup-system-spacing

the distance between a (title or top-level) markup and the system that follows it.

score-markup-spacing

the distance between the last system of a score and the (title or top-level) markup that follows it.

score-system-spacing

the distance between the last system of a score and the first system of the score that follows it, when no (title or top-level) markup exists between them.

system-system-spacing

the distance between two systems in the same score.

markup-markup-spacing

the distance between two (title or top-level) markups.

last-bottom-spacing

the distance from the last system or top-level markup on a page to the bottom of the printable area (i.e., the top of the bottom margin).

top-system-spacing

the distance from the top of the printable area (i.e., the bottom of the top margin) to the first system on a page, when there is no (title or top-level) markup between the two.

top-markup-spacing

the distance from the top of the printable area (i.e., the bottom of the top margin) to the first (title or top-level) markup on a page, when there is no system between the two.

Vegeu també

Notation Reference: Flexible vertical spacing within systems.

Installed Files: ‘ly/paper-defaults-init.ly’.

Snippets: Spacing.


4.1.5 Horizontal spacing \paper variables

Nota: Some \paper dimensions are automatically scaled to the paper size, which may lead to unexpected behavior. See Automatic scaling to paper size.


\paper variables for widths and margins

Default values (before scaling) that are not listed here are defined in ‘ly/paper-defaults-init.ly’.

paper-width

The width of the page, unset by default. While paper-width has no effect on the automatic scaling of some horizontal dimensions, it does influence the line-width variable. If both paper-width and line-width are set, then left-margin and right-margin will also be updated. Also see check-consistency.

line-width

When specified in a \paper block this defines the horizontal extent available for the staff lines in un-indented systems. If left unspecified, the paper’s line-width is determined from (paper-width - left-margin - right-margin). If the paper’s line-width is specified, and both left-margin and right-margin are not, then the margins will be updated to center the systems on the page automatically. Also see check-consistency.

line-widths for individual scores can be specified in the scores’ \layout blocks. These values control the width of the lines produced on a score-by-score basis. If line-width is not specified for a score, it defaults to the paper’s line-width. Setting a score’s line-width has no effect on the paper margins. Staff lines, of a length determined by the score’s line-width, are left-aligned within the paper area defined by the paper’s line-width. If the score and paper line-widths are equal, the staff lines will extend exactly from the left margin to the right margin, but if the score’s line-width is greater than the paper’s line-width the staff lines will run over into the right margin.

left-margin

The margin between the left edge of the page and the start of the staff lines in unindented systems. If the paper size is modified, this dimension’s default value is scaled accordingly. If left-margin is unset, and both line-width and right-margin are set, then left-margin is set to (paper-width - line-width - right-margin). If only line-width is set, then both margins are set to ((paper-width - line-width) / 2), and the systems are consequently centered on the page. Also see check-consistency.

right-margin

The margin between the right edge of the page and the end of the staff lines in non-ragged systems. If the paper size is modified, this dimension’s default value is scaled accordingly. If right-margin is unset, and both line-width and left-margin are set, then right-margin is set to (paper-width - line-width - left-margin). If only line-width is set, then both margins are set to ((paper-width - line-width) / 2), and the systems are consequently centered on the page. Also see check-consistency.

check-consistency

If this is true (the default value), print a warning if left-margin, line-width, and right-margin do not exactly add up to paper-width, and replace each of these (except paper-width) with their default values (scaled to the paper size if necessary). If set to false, ignore any inconsistencies and allow systems to run off the edge of the page.

ragged-right

If set to true, systems will not fill the line width. Instead, systems end at their natural horizontal length. Default: #t for scores with only one system, and #f for scores with two or more systems. This variable can also be set in a \layout block.

ragged-last

If set to true, the last system in the score will not fill the line width. Instead the last system ends at its natural horizontal length. Default: #f. This variable can also be set in a \layout block.

Vegeu també

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘ly/paper-defaults-init.ly’.

Advertiments i problemes coneguts

Explicitly defined paper-sizes will override any user-defined left or right margin settings.


\paper variables for two-sided mode

Default values (before scaling) are defined in ‘ly/paper-defaults-init.ly’.

two-sided

If set to true, use inner-margin, outer-margin and binding-offset to determine margins depending on whether the page number is odd or even. This overrides left-margin and right-margin.

inner-margin

The margin all pages have at the inner side if they are part of a book. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true.

outer-margin

The margin all pages have at the outer side if they are part of a book. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true.

binding-offset

The amount inner-margin is increased to make sure nothing will be hidden by the binding. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true.

Vegeu també

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘ly/paper-defaults-init.ly’.


\paper variables for shifts and indents

Default values (before scaling) that are not listed here are defined in ‘ly/paper-defaults-init.ly’.

horizontal-shift

The amount that all systems (including titles and system separators) are shifted to the right. Default: 0.0\mm.

indent

The level of indentation for the first system in a score. If the paper size is modified, this dimension’s default value is scaled accordingly. The space within line-width available for the first system is reduced by this amount. indent may also be specified in \layout blocks to set indents on a score-by-score basis.

short-indent

The level of indentation for all systems in a score besides the first system. If the paper size is modified, this dimension’s default value is scaled accordingly. The space within line-width available for systems other than the first is reduced by this amount. short-indent may also be specified in \layout blocks to set short indents on a score-by-score basis.

Vegeu també

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘ly/paper-defaults-init.ly’.

Snippets: Spacing.


4.1.6 Other \paper variables


\paper variables for line breaking

max-systems-per-page

The maximum number of systems that will be placed on a page. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset.

min-systems-per-page

The minimum number of systems that will be placed on a page. This may cause pages to be overfilled if it is made too large. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset.

systems-per-page

The number of systems that should be placed on each page. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset.

system-count

The number of systems to be used for a score. Default: unset. This variable can also be set in a \layout block.

Vegeu també

Notation Reference: Line breaking.


\paper variables for page breaking

Default values not listed here are defined in ‘ly/paper-defaults-init.ly

page-breaking

The page-breaking algorithm to use. Choices are ly:minimal-breaking, ly:page-turn-breaking, ly:one-page-breaking, ly:one-line-breaking, ly:one-line-auto-height-breaking, and ly:optimal-breaking (the default).

page-breaking-system-system-spacing

Tricks the page breaker into thinking that system-system-spacing is set to something different than it really is. For example, if page-breaking-system-system-spacing #'padding is set to something substantially larger than system-system-spacing #'padding, then the page-breaker will put fewer systems on each page. Default: unset.

page-count

The number of pages to be used for a score, unset by default.

The following variables are effective only when page-breaking is set to ly:page-turn-breaking. Page breaks are then chosen to minimize the number of page turns. Since page turns are required on moving from an odd-numbered page to an even-numbered one, a layout in which the last page is odd-numbered will usually be favoured. Places where page turns are preferred can be indicated manually by inserting \allowPageTurn or automatically by including the Page_turn_engraver (see Optimal page turning).

If there are insufficient choices available for making suitable page turns, LilyPond may insert a blank page either within a score, between scores (if there are two or more scores), or by ending a score on an even-numbered page. The values of the following three variables may be increased to make these actions less likely.

The values are penalties, i.e., the higher the value the less likely will be the associated action relative to other choices.

blank-page-penalty

The penalty for having a blank page in the middle of a score. If blank-page-penalty is large and ly:page-turn-breaking is selected, then LilyPond will be less likely to insert a page in the middle of a score. Instead, it will space out the music further to fill the blank page and the following one. Default: 5.

blank-last-page-penalty

The penalty for ending the score on an even-numbered page. If blank-last-page-penalty is large and ly:page-turn-breaking is selected, then LilyPond will be less likely to produce a score in which the last page is even-numbered. Instead, it will adjust the spacing in order to use one page more or one page less. Default: 0.

blank-after-score-page-penalty

The penalty for having a blank page after the end of one score and before the next. By default, this is smaller than blank-page-penalty, so that blank pages after scores are inserted in preference to blank pages within a score. Default: 2.

Vegeu també

Notation Reference: Page breaking, Optimal page breaking, Optimal page turning, Minimal page breaking, One-page page breaking, One-line page breaking, One-line-auto-height page breaking.

Installed Files: ‘ly/paper-defaults-init.ly’.


\paper variables for page numbering

Default values not listed here are defined in ‘ly/paper-defaults-init.ly

auto-first-page-number

The page breaking algorithm is affected by the first page number being odd or even. If set to true, the page breaking algorithm will decide whether to start with an odd or even number. This will result in the first page number remaining as is or being increased by one. Default: #f.

first-page-number

The value of the page number on the first page.

print-first-page-number

If set to true, a page number is printed on the first page.

print-page-number

If set to false, page numbers are not printed.

page-number-type

The type of numerals used for page numbers. Choices include roman-lower, roman-upper and arabic. Default: 'arabic.

Vegeu també

Installed Files: ‘ly/paper-defaults-init.ly’.

Advertiments i problemes coneguts

Odd page numbers are always on the right. If you want the music to start on page 1 there must be a blank page on the back of the cover page so that page 1 is on the right hand side.


Miscellaneous \paper variables

page-spacing-weight

The relative importance of page (vertical) spacing and line (horizontal) spacing. High values will make page spacing more important. Default: 10.

print-all-headers

If set to true, this will print all headers for each \score in the output. Normally only the piece and opus header variables are printed. Default: #f.

system-separator-markup

A markup object that is inserted between systems, often used for orchestral scores. Default: unset. The \slashSeparator markup, defined in ‘ly/titling-init.ly’, is provided as a sensible default, for example:

#(set-default-paper-size "a8")

\book {
  \paper {
    system-separator-markup = \slashSeparator
  }
  \header {
    tagline = ##f
  }
  \score {
    \relative { c''1 \break c1 \break c1 }
  }
}

[image of music]

Vegeu també

Installed Files: ‘ly/titling-init.ly’.

Snippets: Spacing.

Advertiments i problemes coneguts

The default page header puts the page number and the instrument field from the \header block on a line.


4.2 Score layout

This section discusses score layout options for the \layout block.


4.2.1 The \layout block

While the \paper block contains settings that relate to the page formatting of the whole document, the \layout block contains settings for score-specific layout. To set score layout options globally, enter them in a toplevel \layout block. To set layout options for an individual score, enter them in a \layout block inside the \score block, after the music. Settings that can appear in a \layout block include:

The layout-set-staff-size function is discussed in the next section, Setting the staff size. Context modifications are discussed in a separate chapter; see Modifying context plug-ins and Changing context default settings.

The \paper variables that can appear in a \layout block, with default values taken from the \paper block are:

Here is an example \layout block:

\layout {
  indent = 2\cm
  \context {
    \StaffGroup
    \override StaffGrouper.staff-staff-spacing.basic-distance = #8
  }
  \context {
    \Voice
    \override TextScript.padding = #1
    \override Glissando.thickness = #3
  }
}

Multiple \layout blocks can be entered as toplevel expressions. This can, for example, be useful if different settings are stored in separate files and included optionally. Internally, when a \layout block is evaluated, a copy of the current \layout configuration is made, then any changes defined within the block are applied and the result is saved as the new current configuration. From the user’s perspective the \layout blocks are combined, but in conflicting situations (when the same property is changed in different blocks) the later definitions take precedence.

For example, if this block:

\layout {
  \context {
    \Voice
    \override TextScript.color = #magenta
    \override Glissando.thickness = #1.5
  }
}

is placed after the one from the preceding example the 'padding and 'color overrides for TextScript are combined, but the later 'thickness override for Glissando replaces (or hides) the earlier one.

\layout blocks may be assigned to variables for reuse later, but the way this works is slightly but significantly different from writing them literally.

If a variable is defined like this:

layoutVariable = \layout {
  \context {
    \Voice
    \override NoteHead.font-size = #4
  }
}

it will hold the current \layout configuration with the NoteHead.font-size override added, but this combination is not saved as the new current configuration. Be aware that the ‘current configuration’ is read when the variable is defined and not when it is used, so the content of the variable is dependent on its position in the source.

The variable can then be used inside another \layout block, for example:

\layout {
  \layoutVariable
  \context {
    \Voice
    \override NoteHead.color = #red
  }
}

A \layout block containing a variable, as in the example above, does not copy the current configuration but instead uses the content of \layoutVariable as the base configuration for the further additions. This means that any changes defined between the definition and the use of the variable are lost.

If layoutVariable is defined (or \included) immediately before being used, its content is just the current configuration plus the overrides defined within it. So in the example above showing the use of \layoutVariable the final \layout block would consist of:

  TextScript.padding = #1
  TextScript.color = #magenta
  Glissando.thickness = #1.5
  NoteHead.font-size = #4
  NoteHead.color = #red

plus the indent and the StaffGrouper overrides.

But if the variable had already been defined before the first \layout block the current configuration would now contain only

  NoteHead.font-size = #4 % (written in the variable definition)
  NoteHead.color = #red % (added after the use of the variable)

If carefully planned, \layout variables can be a valuable tool to structure the layout design of sources, and also to reset the \layout configuration to a known state.

Vegeu també

Notation Reference: Changing context default settings.

Snippets: Spacing.


4.2.2 Setting the staff size

The default staff size is 20 points, which corresponds to a staff height of 7.03mm (one point is equal to 100/7227 of an inch, or 2540/7227 mm). The staff size may be changed in three ways:

  1. To set the staff size globally for all scores in a file (or in a \book block, to be precise), use set-global-staff-size:
    #(set-global-staff-size 14)
    

    The above example sets the global default staff size to 14pt (4.92mm) and scales all fonts accordingly.

  2. To set the staff size for a single score within a book, use layout-set-staff-size inside that score’s \layout block:
    \score {
      …
      \layout {
        #(layout-set-staff-size 14)
      }
    }
    
  3. To set the staff size for a single staff within a system, use the \magnifyStaff command. For example, traditionally engraved chamber music scores with piano often used 7mm piano staves while the other staves were typically between 3/5 and 5/7 as large (between 60% and 71%). To achieve the 5/7 proportion, use:
    \score {
      <<
        \new Staff \with {
          \magnifyStaff #5/7
        } { … }
        \new PianoStaff { … }
      >>
    }
    

    If you happen to know which fontSize you wish to use, you could use the following form:

    \score {
      <<
        \new Staff \with {
          \magnifyStaff #(magstep -3)
        } { … }
        \new PianoStaff { … }
      >>
    }
    

    To emulate the look of traditional engraving, it is best to avoid reducing the thickness of the staff lines.

Automatic font weight at different sizes

The Emmentaler font provides the set of Feta musical glyphs in eight different sizes; each one tuned for a different staff size. The smaller the glyph size, the “heavier” it becomes, so as to match the relatively thicker staff lines. Recommended glyphs sizes are listed in the following table:

font namestaff height (pt)staff height (mm)use
feta1111.223.9pocket scores
feta1312.604.4
feta1414.145.0
feta1615.875.6
feta1817.826.3song books
feta20207.0standard parts
feta2322.457.9
feta2625.28.9

Vegeu també

Notation Reference: Selecció del la mida del tipus de lletra per a la notació, The Emmentaler font.

Snippets: Spacing.

Advertiments i problemes coneguts

layout-set-staff-size does not change the distance between the staff lines.


4.3 Breaks


4.3.1 Line breaking

Line breaks are normally determined automatically. They are chosen so that lines look neither cramped nor loose, and consecutive lines have similar density.

To manually force a line break at a bar line, use the \break command:

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

[image of music]

By default, a \break command inserted in the ‘middle’ of a measure will be ignored (and a warning message will be output during the compilation of the LilyPond file). Adding an invisible bar line – ‘\bar ""’ – before the \break command will force the issue:

\relative c'' {
  c4 c c
  \bar ""
  \break
  c |
  c4 c c c |
}

[image of music]

A \break command that occurrs at a bar line will also ignored if the previous measure ends in the middle of a note (e.g., when a tuplet begins in one measure and ends in another). In this case remove the Forbid_line_break_engraver from the Voice context and, use a simultaneous music construction inserting the \break at the appropriate place in the second ‘voice’:

\new Voice \with {
  \remove "Forbid_line_break_engraver"
} \relative {
  <<
    { c''2. \tuplet 3/2 { c4 c c } c2. | }
    { s1 | \break s1 | }
  >>
}

[image of music]

Similarly, by default, line breaks are ignored when beams cross bar lines. Use the \override Beam.breakable = ##t command to force this:

\relative c'' {
  \override Beam.breakable = ##t
  c2. c8[ c | \break
  c8 c] c2. |
}

[image of music]

The \noBreak command will prevent a line break at the bar line where it is inserted.

Within a score, automatic line breaking is prevented within music lying between \autoLineBreaksOff and \autoLineBreaksOn commands. If automatic page breaks should also be prevented, the commands \autoBreaksOff and \autoBreaksOn should be used. Manual breaks are unaffected by these commands. Note that inhibiting automatic line breaks may cause music to run over the right margin if it cannot all be contained within one line.

Automatic line breaks (but not page breaks) may be enabled at single bar lines by using \once \autoLineBreaksOn at a bar line. This identifies a permitted rather than a forced line break.

The most basic settings influencing line spacing are indent and line-width. They are set in the \layout block. They control the indentation of the first line of music, and the lengths of the lines.

If ragged-right is set to true in the \layout block, then systems end at their natural horizontal length, instead of being spread horizontally to fill the whole line. This is useful for short fragments, and for checking how tight the natural spacing is.

The option ragged-last is similar to ragged-right, but affects only the last line of the piece.

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

For line breaks at regular intervals use \break separated by skips and repeated with \repeat. For example, this would cause the following 28 measures (assuming 4/4 time) to be broken every 4 measures, and only there:

<<
  \repeat unfold 7 {
    s1 \noBreak s1 \noBreak
    s1 \noBreak s1 \break
  }
  { the actual music… }
>>

Instruccions predefinides

\break, \noBreak, \autoBreaksOff, \autoBreaksOn, \autoLineBreaksOff, \autoLineBreaksOn.

Fragments de codi seleccionats

Using an extra voice for breaks

Often it is easier to manage line and page-breaking information by keeping it separate from the music by introducing an extra voice containing only skips along with the \break, pageBreak and other layout information.

This pattern becomes especially helpful when overriding line-break-system-details and the other useful but long properties of NonMusicalPaperColumnGrob.

music = \relative c'' { c4 c c c }

\score {
  \new Staff <<
    \new Voice {
      s1 * 2 \break
      s1 * 3 \break
      s1 * 6 \break
      s1 * 5 \break
    }
    \new Voice {
      \repeat unfold 2 { \music }
      \repeat unfold 3 { \music }
      \repeat unfold 6 { \music }
      \repeat unfold 5 { \music }
    }
  >>
}

[image of music]

Vegeu també

Notation Reference: \paper variables for line breaking The \layout block.

Snippets: Spacing.

Internals Reference: LineBreakEvent.

Advertiments i problemes coneguts

Placing \autoLineBreaksOff or \autoBreaksOff before any music will cause error messages to appear. Always place these commands after some music.


4.3.2 Page breaking

This section describes the different page breaking methods, and how to modify them.


Manual page breaking

The default page breaking may be overridden by inserting \pageBreak or \noPageBreak commands. These commands are analogous to \break and \noBreak. They should be inserted at a bar line. These commands force and forbid a page-break from happening at that bar line. Of course, the \pageBreak command also forces a line break.

The \pageBreak and \noPageBreak commands may also be inserted at top-level, between scores and top-level markups.

Within a score, automatic page breaks are prevented within music lying between \autoPageBreaksOff and \autoPageBreaksOn commands. Manual page breaks are unaffected by these commands.

There are also analogous settings to ragged-right and ragged-last which have the same effect on vertical spacing. If ragged-bottom is set to #t the systems will not be justified vertically. When ragged-last-bottom is set to #t, as it is by default, empty space is allowed at the bottom of the final page (or the final page in each \bookpart). See Fixed vertical spacing \paper variables.

Page breaks are computed by the page-breaking function. LilyPond provides several algorithms for computing page breaks, including ly:optimal-breaking, ly:page-turn-breaking and ly:minimal-breaking. The default is ly:optimal-breaking, but the value can be changed in the \paper block:

\paper {
  page-breaking = #ly:page-turn-breaking
}

When a book has many scores and pages, the page breaking problem may be difficult to solve, requiring large processing time and memory. To ease the page breaking process, \bookpart blocks are used to divide the book into several parts: the page breaking occurs separately on each part. Different page breaking functions may also be used in different book parts.

\bookpart {
  \header {
    subtitle = "Preface"
  }
  \paper {
     %% In a part consisting mostly of text,
     %% ly:minimal-breaking may be preferred
     page-breaking = #ly:minimal-breaking
  }
  \markup { … }
  …
}
\bookpart {
  %% In this part, consisting of music, the default optimal
  %% page breaking function is used.
  \header {
    subtitle = "First movement"
  }
  \score { … }
  …
}

Instruccions predefinides

\pageBreak, \noPageBreak, \autoPageBreaksOn, \autoPageBreaksOff.

Vegeu també

Notation Reference: \paper variables for page breaking.

Snippets: Spacing.

Advertiments i problemes coneguts

The \once prefix is ineffective with \autoPageBreaksOn and \autoPageBreaksOff. If auto page breaking is off and is then turned on to permit a page break, it must remain on for a few bars (the precise number of bars depends on the score) before being turned off, else the opportunity to break the page will not be taken.


Optimal page breaking

The ly:optimal-breaking function is LilyPond’s default method of determining page breaks. It attempts to find a page breaking that minimizes cramping and stretching, both horizontally and vertically. Unlike ly:page-turn-breaking, it has no concept of page turns.

Vegeu també

Snippets: Spacing.


Minimal page breaking

The ly:minimal-breaking function performs minimal computations to calculate the page breaking: it fills a page with as many systems as possible before moving to the next one. Thus, it may be preferred for scores with many pages, where the other page breaking functions could be too slow or memory demanding, or a lot of texts. It is enabled using:

\paper {
  page-breaking = #ly:minimal-breaking
}

Vegeu també

Snippets: Spacing.


One-page page breaking

The ly:one-page-breaking function is a special-purpose page breaking algorithm that automatically adjusts the page height to fit the music, so that everything fits on a single page. The paper-height variable in the paper block is ignored, but other settings work as usual. In particular, the spacing between the last system (or top level markup) and the footer can be customized with last-bottom-spacing in the paper block. The width of the page is left unmodified by default but can be set with paper-width in the paper block.

Advertiments i problemes coneguts

ly:one-page-breaking is not currently compatible with \bookpart.


One-line page breaking

The ly:one-line-breaking function is a special-purpose page breaking algorithm that puts each score on its own page, and on a single line. No titles or margins are typeset; only the score is displayed.

The page width is adjusted so that the longest score fits on one line. In particular, paper-width, line-width and indent variables in the \paper block are ignored, although left-margin and right-margin are still honored. The height of the page is left unmodified.


One-line-auto-height page breaking

The ly:one-line-auto-height-breaking function works just like ly:one-line-breaking except the page height is automatically modified to fit the height of the music. Specifically, the paper-height variable in the \paper block is set so that it spans the height of the tallest score plus the top-margin and bottom-margin.

Note that the top-system-spacing setting will affect the vertical position of the music. Set it to ##f in a paper block to simply place the music between the top and bottom margins.


Optimal page turning

Often it is necessary to find a page breaking configuration so that there is a rest at the end of every second page. This way, the musician can turn the page without having to miss notes. The ly:page-turn-breaking function attempts to find a page breaking minimizing cramping and stretching, but with the additional restriction that it is only allowed to introduce page turns in specified places.

There are two steps to using this page breaking function. First, you must enable it in the \paper block, as explained in Page breaking. Then you must tell the function where you would like to allow page breaks.

There are two ways to achieve the second step. First, you can specify each potential page turn manually, by inserting \allowPageTurn into your input file at the appropriate places.

If this is too tedious, you can add a Page_turn_engraver to a Staff or Voice context. The Page_turn_engraver will scan the context for sections without notes (note that it does not scan for rests; it scans for the absence of notes. This is so that single-staff polyphony with rests in one of the parts does not throw off the Page_turn_engraver). When it finds a sufficiently long section without notes, the Page_turn_engraver will insert an \allowPageTurn at the final bar line in that section, unless there is a ‘special’ bar line (such as a double bar), in which case the \allowPageTurn will be inserted at the final ‘special’ bar line in the section.

The Page_turn_engraver reads the context property minimumPageTurnLength to determine how long a note-free section must be before a page turn is considered. The default value for minimumPageTurnLength is (ly:make-moment 1/1). If you want to disable page turns, set it to something ‘very large’.

\new Staff \with { \consists "Page_turn_engraver" }
{
  a4 b c d |
  R1 | % a page turn will be allowed here
  a4 b c d |
  \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)
  R1 | % a page turn will not be allowed here
  a4 b r2 |
  R1*2 | % a page turn will be allowed here
  a1
}

When using volta repeats, the Page_turn_engraver will only allow a page turn during the repeat if there is enough time at the beginning and end of the repeat to turn the page back. If the repeat is too short then the Page_turn_engraver can be used to disable page turns by setting an appropriate value for the context property minimumRepeatLengthForPageTurn. In this case the Page_turn_engraver will only allows turns in repeats whose duration is longer than the value specified.

The page turning commands, \pageTurn, \noPageTurn and \allowPageTurn, may also be used at top-level, in top-level markups and between scores.

Instruccions predefinides

\pageTurn, \noPageTurn, \allowPageTurn.

Vegeu també

Notation Reference: \paper variables for line breaking.

Snippets: Spacing.

Advertiments i problemes coneguts

Use only one Page_turn_engraver per score. If there are more, they will interfere with each other.

Vegeu també

Notation Reference: Vertical spacing.

Snippets: Spacing.


4.4 Vertical spacing

Vertical spacing is controlled by three things: the amount of space available (i.e., paper size and margins), the amount of space between systems, and the amount of space between staves inside a system.


4.4.1 Flexible vertical spacing within systems

Three separate mechanisms control the flexible vertical spacing within systems, one for each of the following categories:

The height of each system is determined in two steps. First, all of the staves are spaced according to the amount of space available. Then, the non-staff lines are distributed between the staves.

Note that the spacing mechanisms discussed in this section only control the vertical spacing of staves and non-staff lines within individual systems. The vertical spacing between separate systems, scores, markups, and margins is controlled by \paper variables, which are discussed in Flexible vertical spacing \paper variables.


Within-system spacing properties

The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.

The names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.

Each distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e., the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:

Non-staff lineReference point
ChordNamesbaseline
NoteNamesbaseline
Lyricsbaseline
Dynamicsmid-height of ‘m’
FiguredBasshighest point
FretBoardstop line

In the following image, horizontal lines indicate the positions of these reference points:

[image of music]

Each of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \paper spacing variables discussed in Flexible vertical spacing \paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \override inside a \score or \layout block, and not inside a \paper block.

The following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:

\new Staff \with {
  \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
} { … }

\new Staff \with {
  \override VerticalAxisGroup.default-staff-staff-spacing =
    #'((basic-distance . 10)
       (minimum-distance . 9)
       (padding . 1)
       (stretchability . 10))
} { … }

To change any spacing settings globally, put them in the \layout block:

\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
  }
}

Standard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts.

Properties of the VerticalAxisGroup grob

VerticalAxisGroup properties are typically adjusted with an \override at the Staff level (or equivalent).

staff-staff-spacing

Used to determine the distance between the current staff and the staff just below it in the same system, even if one or more non-staff lines (such as Lyrics) are placed between the two staves. Does not apply to the bottom staff of a system.

Initially, the staff-staff-spacing of a VerticalAxisGroup is a Scheme function that applies the properties of the StaffGrouper if the staff is part of a group, or the default-staff-staff-spacing of the staff otherwise. This allows staves to be spaced differently when they are grouped. For uniform spacing regardless of grouping, this function may be replaced by a flexible-spacing alist, using the complete-redefinition form of override shown above.

default-staff-staff-spacing

A flexible-spacing alist defining the staff-staff-spacing used for ungrouped staves, unless staff-staff-spacing has been explicitly set with an \override.

staff-affinity

The direction of the staff to use for spacing the current non-staff line. Choices are UP, DOWN, and CENTER. If CENTER, the non-staff line will be placed equidistant between the two nearest staves on either side, unless collisions or other spacing constraints prevent this. Adjacent non-staff lines should have non-increasing staff-affinity from top to bottom, e.g., a non-staff line set to UP should not immediately follow one that is set to DOWN. Non-staff lines at the top of a system should use DOWN; those at the bottom should use UP. Setting staff-affinity for a staff causes it to be treated as a non-staff line. Setting staff-affinity to #f causes a non-staff line to be treated as a staff. Setting staff-affinity to UP, CENTER, or DOWN causes a staff to be spaced as a non-staff line.

nonstaff-relatedstaff-spacing

The distance between the current non-staff line and the nearest staff in the direction of staff-affinity, if there are no non-staff lines between the two, and staff-affinity is either UP or DOWN. If staff-affinity is CENTER, then nonstaff-relatedstaff-spacing is used for the nearest staves on both sides, even if other non-staff lines appear between the current one and either of the staves. This means that the placement of a non-staff line depends on both the surrounding staves and the surrounding non-staff lines. Setting the stretchability of one of these types of spacing to a small value will make that spacing dominate. Setting the stretchability to a large value will make that spacing have little effect.

nonstaff-nonstaff-spacing

The distance between the current non-staff line and the next non-staff line in the direction of staff-affinity, if both are on the same side of the related staff, and staff-affinity is either UP or DOWN.

nonstaff-unrelatedstaff-spacing

The distance between the current non-staff line and the staff in the opposite direction from staff-affinity, if there are no other non-staff lines between the two, and staff-affinity is either UP or DOWN. This can be used, for example, to require a minimum amount of padding between a Lyrics line and the staff to which it does not belong.

Properties of the StaffGrouper grob

StaffGrouper properties are typically adjusted with an \override at the StaffGroup level (or equivalent).

staff-staff-spacing

The distance between consecutive staves within the current staff-group. The staff-staff-spacing property of an individual staff’s VerticalAxisGroup grob can be overriden with different spacing settings for that staff.

staffgroup-staff-spacing

The distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines (such as Lyrics) exist between the two staves. Does not apply to the bottom staff of a system. The staff-staff-spacing property of an individual staff’s VerticalAxisGroup grob can be overriden with different spacing settings for that staff.

Vegeu també

Notation Reference: Flexible vertical spacing \paper variables, Modifying alists.

Installed Files: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’.

Internals Reference: Contexts, VerticalAxisGroup, StaffGrouper.


Spacing of ungrouped staves

Staves (such as Staff, DrumStaff, TabStaff, etc.) are contexts that can contain one or more voice contexts, but cannot contain any other staves.

The following properties affect the spacing of ungrouped staves:

These grob properties are described individually above; see Within-system spacing properties.

Additional properties are involved for staves that are part of a staff-group; see Spacing of grouped staves.

The following example shows how the default-staff-staff-spacing property can affect the spacing of ungrouped staves. The same overrides applied to staff-staff-spacing would have the same effect, but would also apply in cases where the staves are combined in a group or groups.

\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.default-staff-staff-spacing =
      #'((basic-distance . 8)
         (minimum-distance . 7)
         (padding . 1))
  }
}

<<
  % The very low note here needs more room than 'basic-distance
  % can provide, so the distance between this staff and the next
  % is determined by 'padding.
  \new Staff { b,2 r | }

  % Here, 'basic-distance provides enough room, and there is no
  % need to compress the space (towards 'minimum-distance) to make
  % room for anything else on the page, so the distance between
  % this staff and the next is determined by 'basic-distance.
  \new Staff { \clef bass g2 r | }

  % By setting 'padding to a negative value, staves can be made to
  % collide.  The lowest acceptable value for 'basic-distance is 0.
  \new Staff \with {
    \override VerticalAxisGroup.default-staff-staff-spacing =
      #'((basic-distance . 3.5)
         (padding . -10))
  } { \clef bass g2 r | }
  \new Staff { \clef bass g2 r | }
>>

[image of music]

Vegeu també

Installed Files: ‘scm/define-grobs.scm’.

Snippets: Spacing.

Internals Reference: VerticalAxisGroup.


Spacing of grouped staves

In orchestral and other large scores, it is common to place staves in groups. The space between groups is typically larger than the space between staves of the same group.

Staff-groups (such as StaffGroup, ChoirStaff, etc.) are contexts that can contain one or more staves simultaneously.

The following properties affect the spacing of staves inside staff-groups:

These grob properties are described individually above; see Within-system spacing properties.

The following example shows how properties of the StaffGrouper grob can affect the spacing of grouped staves:

\layout {
  \context {
    \Score
    \override StaffGrouper.staff-staff-spacing.padding = #0
    \override StaffGrouper.staff-staff-spacing.basic-distance = #1
  }
}

<<
  \new PianoStaff \with {
    \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20
  } <<
    \new Staff { c'1 }
    \new Staff { c'1 }
  >>

  \new StaffGroup <<
    \new Staff { c'1 }
    \new Staff { c'1 }
  >>
>>

[image of music]

Vegeu també

Installed Files: ‘scm/define-grobs.scm’.

Snippets: Spacing.

Internals Reference: VerticalAxisGroup, StaffGrouper.


Spacing of non-staff lines

Non-staff lines (such as Lyrics, ChordNames, etc.) are contexts whose layout objects are engraved like staves (i.e., in horizontal lines within systems). Specifically, non-staff lines are non-staff contexts that contain the Axis_group_engraver.

The following properties affect the spacing of non-staff lines:

These grob properties are described individually above; see Within-system spacing properties.

The following example shows how the nonstaff-nonstaff-spacing property can affect the spacing of consecutive non-staff lines. Here, by setting the stretchability key to a very high value, the lyrics are able to stretch much more than usual:

\layout {
  \context {
    \Lyrics
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000
  }
}

\new StaffGroup
<<
  \new Staff \with {
    \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30))
  } { c'1 }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #UP
  } \lyricmode { up }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #CENTER
  } \lyricmode { center }
  \new Lyrics \with {
    \override VerticalAxisGroup.staff-affinity = #DOWN
  } \lyricmode { down }
  \new Staff { c'1 }
>>

[image of music]

Vegeu també

Installed Files: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’.

Snippets: Spacing.

Internals Reference: Contexts, VerticalAxisGroup.


4.4.2 Explicit staff and system positioning

One way to understand the flexible vertical spacing mechanisms explained above is as a collection of settings that control the amount of vertical padding between staves and systems.

It is possible to approach vertical spacing in a different way using NonMusicalPaperColumn.line-break-system-details. While the flexible vertical spacing mechanisms specify vertical padding, NonMusicalPaperColumn.line-break-system-details can specify exact vertical positions on the page.

NonMusicalPaperColumn.line-break-system-details accepts an associative list of four different settings:

Grob overrides, including the overrides for NonMusicalPaperColumn below, can occur in any of three different places in an input file:

When we override NonMusicalPaperColumn, we use the usual \override command in \context blocks and in the \with block. On the other hand, when we override NonMusicalPaperColumn in the middle of note entry, use the special \overrideProperty command. Here are some example NonMusicalPaperColumn overrides with the special \overrideProperty command:

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((Y-offset . 40))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20)
     (Y-offset . 40))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((alignment-distances . (15)))

\overrideProperty NonMusicalPaperColumn.line-break-system-details
  #'((X-offset . 20)
     (Y-offset . 40)
     (alignment-distances . (15)))

To understand how each of these different settings work, we begin by looking at an example that includes no overrides at all.

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          s1*5 \break
          s1*5 \break
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

This score isolates both line-breaking and page-breaking information in a dedicated voice. This technique of creating a breaks voice will help keep layout separate from music entry as our example becomes more complicated. Also see Breaks.

By using explicit \break commands, the music is divided into five measures per line. Vertical spacing is from LilyPond’s own defaults but the vertical startpoint of each system is set explicitly using the Y-offset pair in the line-break-system-details attribute of the NonMusicalPaperColumn grob:

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 0))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 40))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Note that line-break-system-details takes an associative list of potentially many values, but that we set only one value here. Note, too, that the Y-offset property here determines the exact vertical position on the page at which each new system will render.

In contrast to the absolute positioning available through Y-offset and X-offset, relative positioning is possible with the extra-offset property of line-break-system-details. Placement is relative to the default layout or to the absolute positioning created by setting X-offset and Y-offset. The property extra-offset accepts a pair consisting of displacements along the X-axis and Y-axis.

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((extra-offset . (0 . 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((extra-offset . (0 . 10)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Now that we have set the vertical startpoint of each system explicitly, we can also set the vertical distances between staves within each system manually. We do this using the alignment-distances subproperty of line-break-system-details.

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 20)
               (alignment-distances . (10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60)
               (alignment-distances . (15)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
          #'((Y-offset . 85)
             (alignment-distances . (20)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Note that here we assign two different values to the line-break-system-details attribute of the NonMusicalPaperColumn grob. Though the line-break-system-details attribute alist accepts many additional spacing parameters (including, for example, a corresponding X-offset pair), we need only set the Y-offset and alignment-distances pairs to control the vertical startpoint of every system and every staff. Finally, note that alignment-distances specifies the vertical positioning of staves but not of staff groups.

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 0)
               (alignment-distances . (30 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 60)
               (alignment-distances . (10 10)))
          s1*5 \break
          \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
            #'((Y-offset . 100)
               (alignment-distances . (10 30)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new StaffGroup <<
        \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
        \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
      >>
    >>
  }
}

[image of music]

Some points to consider:

Vegeu també

Snippets: Spacing.


4.4.3 Vertical collision avoidance

Intuitively, there are some objects in musical notation that belong to the staff and there are other objects that should be placed outside the staff. Objects belonging outside the staff include things such as rehearsal marks, text and dynamic markings (from now on, these will be called outside-staff objects). LilyPond’s rule for the vertical placement of outside-staff objects is to place them as close to the staff as possible but not so close that they collide with another object.

LilyPond uses the outside-staff-priority property to determine whether a grob is an outside-staff object: if outside-staff-priority is a number, the grob is an outside-staff object. In addition, outside-staff-priority tells LilyPond in which order the objects should be placed.

First, LilyPond places all the objects that do not belong outside the staff. Then it sorts the outside-staff objects according to their outside-staff-priority (in increasing order). One by one, LilyPond takes the outside-staff objects and places them so that they do not collide with any objects that have already been placed. That is, if two outside-staff grobs are competing for the same space, the one with the lower outside-staff-priority will be placed closer to the staff.

A listing of outside-staff-priorities may be found in The outside-staff-priority property.

\relative c'' {
  c4_"Text"\pp
  r2.
  \once \override TextScript.outside-staff-priority = #1
  c4_"Text"\pp % this time the text will be closer to the staff
  r2.
  % by setting outside-staff-priority to a non-number,
  % we disable the automatic collision avoidance
  \once \override TextScript.outside-staff-priority = ##f
  \once \override DynamicLineSpanner.outside-staff-priority = ##f
  c4_"Text"\pp % now they will collide
}

[image of music]

The vertical padding around outside-staff objects can be controlled with outside-staff-padding.

\relative {
  \once \override TextScript.outside-staff-padding = #0
  a'4-"outside-staff-padding = #0"
  \once \override TextScript.outside-staff-padding = #3
  d-"outside-staff-padding = #3"
  c-"default outside-staff-padding"
  b-"default outside-staff-padding"
  R1
}

[image of music]

By default, outside-staff objects are placed so they avoid a horizontal collision with previously-positioned grobs. This can lead to situations in which objects are placed close to each other horizontally. As shown in the example below, setting outside-staff-horizontal-padding increases the horizontal spacing required, and in this case moves the text up to prevent it from getting too close to the ledger lines.

\relative {
  c''4^"Word" c c''2
  R1
  \once \override TextScript.outside-staff-horizontal-padding = #1
  c,,4^"Word" c c''2
}

[image of music]

Vegeu també

Snippets: Spacing.


4.5 Horizontal spacing


4.5.1 Horizontal spacing overview

The spacing engine translates differences in durations into stretchable distances (‘springs’) of differing lengths. Longer durations get more space, shorter durations get less. The shortest durations get a fixed amount of space (which is controlled by shortest-duration-space in the SpacingSpanner object). The longer the duration, the more space it gets: doubling a duration adds spacing-increment of space to the note.

For example, the following piece contains lots of half, quarter, and 8th notes; the eighth note is followed by 1 note head width (NHW). The quarter note is followed by 2 NHW, the half by 3 NHW, etc.

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

[image of music]

Normally, spacing-increment is set to 1.2 staff space, which is approximately the width of a note head, and shortest-duration-space is set to 2.0, meaning that the shortest note gets 2.4 staff space (2.0 times the spacing-increment) of horizontal space. This space is counted from the left edge of the symbol, so the shortest notes are generally followed by one NHW of space.

If one would follow the above procedure exactly, then adding a single 32nd note to a score that uses 8th and 16th notes, would widen up the entire score a lot. The shortest note is no longer a 16th, but a 32nd, thus adding 1 NHW to every note. To prevent this, the shortest duration for spacing is not the shortest note in the score, but rather the one which occurs most frequently.

The most common shortest duration is determined as follows: in every measure, the shortest duration is determined. The most common shortest duration is taken as the basis for the spacing, with the stipulation that this shortest duration should always be equal to or shorter than an 8th note.

These durations may also be customized. If you set the common-shortest-duration in SpacingSpanner, then this sets the base duration for spacing. The maximum duration for this base (normally an 8th), is set through base-shortest-duration.

Notes that are even shorter than the common shortest note are followed by a space that is proportional to their duration relative to the common shortest note. So if we were to add only a few 16th notes to the example above, they would be followed by half a NHW:

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

[image of music]

As explained in the Essay on automated music engraving, stem directions will influence spacing (see Optical spacing) and can be adjusted using the stem-spacing-correction property of the NoteSpacing object (which are generated for every Voice context).

The StaffSpacing object (generated in Staff context) contains the same property for controlling the stem/bar line spacing.

The following example shows this; once with the default settings and once with an exaggerated adjustment:

[image of music]

Proportional notation is supported; see Proportional notation.

Vegeu també

Essay on automated music engraving: Optical spacing.

Snippets: Spacing.

Internals Reference: SpacingSpanner, NoteSpacing, StaffSpacing, NonMusicalPaperColumn.

Advertiments i problemes coneguts

There is no convenient mechanism to manually override spacing. The following work-around may be used to insert extra space into a score, adjusting the padding value as necessary.

 \override Score.NonMusicalPaperColumn.padding = #10

No work-around exists for decreasing the amount of space.


4.5.2 New spacing section

New sections with different spacing parameters can be started with the newSpacingSection command. This is useful for sections with different notions of ‘long’ and ‘short’ notes. The \newSpacingSection command creates a new SpacingSpanner object at that musical moment.

In the following example the time signature change introduces a new section, and the 16ths notes are automatically spaced slightly wider apart.

\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]

If the automatic spacing adjustments do not give the required spacing, manual \overrides may be applied to its properties. These must be applied at the same musical moment as the \newSpacingSection command itself and will then affect the spacing of all the following music until the properties are changed in a new spacing section, for example:

\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é

Snippets: Spacing.

Internals Reference: SpacingSpanner.


4.5.3 Changing horizontal spacing

Horizontal spacing may be altered with the base-shortest-duration property. Here we compare the same music; once without altering the property, and then altered. Larger values of ly:make-moment will produce smaller music. Note that ly:make-moment constructs a duration, so 1 4 is a longer duration than 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

By default, spacing in tuplets depends on various non-duration factors (such as accidentals, clef changes, etc). To disregard such symbols and force uniform equal-duration spacing, use Score.SpacingSpanner.uniform-stretching. This property can only be changed at the beginning of a score,

\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]

When strict-note-spacing is set, notes are spaced without regard for clefs, bar lines, and grace notes,

\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é

Snippets: Spacing.


4.5.4 Line width

The most basic settings influencing the spacing are indent and line-width. They are set in the \layout block. They control the indentation of the first line of music, and the lengths of the lines.

If ragged-right is set to true in the \layout block, then systems ends at their natural horizontal length, instead of being spread horizontally to fill the whole line. This is useful for short fragments, and for checking how tight the natural spacing is. The normal default setting is false, but if the score has only one system the default value is true.

The option ragged-last is similar to ragged-right, but only affects the last line of the piece. No restrictions are put on that line. The result is similar to formatting text paragraphs. In a paragraph, the last line simply takes its natural horizontal length.

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

Vegeu també

Snippets: Spacing.


4.5.5 Proportional notation

LilyPond supports proportional notation, a type of horizontal spacing in which each note consumes an amount of horizontal space exactly equivalent to its rhythmic duration. This type of proportional spacing is comparable to horizontal spacing on top of graph paper. Some late 20th- and early 21st-century scores use proportional notation to clarify complex rhythmic relationships or to facilitate the placement of timelines or other graphics directly in the score.

LilyPond supports five different settings for proportional notation, which may be used together or alone:

In the examples that follow, we explore these five different proportional notation settings and examine how these settings interact.

We start with the following one-measure example, which uses classical spacing with ragged-right turned on.

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

[image of music]

Notice that the half note which begins the measure takes up far less than half of the horizontal space of the measure. Likewise, the sixteenth notes and sixteenth-note quintuplets (or twentieth notes) which end the measure together take up far more than half the horizontal space of the measure.

In classical engraving, this spacing may be exactly what we want because we can borrow horizontal space from the half note and conserve horizontal space across the measure as a whole.

On the other hand, if we want to insert a measured timeline or other graphic above or below our score, we need proportional notation. We turn proportional notation on with the proportionalNotationDuration setting.

\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]

The half note at the beginning of the measure and the faster notes in the second half of the measure now occupy equal amounts of horizontal space. We could place a measured timeline or graphic above or below this example.

The proportionalNotationDuration setting is a context setting that lives in Score. Remember that context settings can appear in one of three locations within our input file – in a \with block, in a \context block, or directly in music entry preceded by the \set command. As with all context settings, users can pick which of the three different locations they would like to set proportionalNotationDuration in to.

The proportionalNotationDuration setting takes a single argument, which is the reference duration against that all music will be spaced. The LilyPond Scheme function make-moment takes two arguments – a numerator and denominator which together express some fraction of a whole note. The call (ly:make-moment 1/20) therefore produces a reference duration of a twentieth note. Values such as (ly:make-moment 1/16), (ly:make-moment 1/8), and (ly:make-moment 3/97) are all possible as well.

How do we select the right reference duration to pass to proportionalNotationDuration? Usually by a process of trial and error, beginning with a duration close to the fastest (or smallest) duration in the piece. Smaller reference durations space music loosely; larger reference durations space music tightly.

\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]

Note that too large a reference duration – such as the eighth note, above – spaces music too tightly and can cause note head collisions. Also that proportional notation in general takes up more horizontal space than classical spacing. Proportional spacing provides rhythmic clarity at the expense of horizontal space.

Next we examine how to optimally space overlapping tuplets.

We start by examining what happens to our original example, with classical spacing, when we add a second staff with a different type of tuplet.

\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]

The spacing is bad because the evenly spaced notes of the bottom staff do not stretch uniformly. Classical engravings include very few complex triplets and so classical engraving rules can generate this type of result. Setting proportionalNotationDuration fixes this.

\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]

But if we look very carefully we can see that notes of the second half of the 9-tuplet space ever so slightly more widely than the notes of the first half of the 9-tuplet. To ensure uniform stretching, we turn on uniform-stretching, which is a property of 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]

Our two-staff example now spaces exactly, our rhythmic relationships are visually clear, and we can include a measured timeline or graphic if we want.

Note that the LilyPond’s proportional notation package expects that all proportional scores set the SpacingSpanner’s ’uniform-stretching attribute to ##t. Setting proportionalNotationDuration without also setting the SpacingSpanner’s ’uniform-stretching attribute to ##t will, for example, cause Skips to consume an incorrect amount of horizontal space.

The SpacingSpanner is an abstract grob that lives in the Score context. As with our settings of proportionalNotationDuration, overrides to the SpacingSpanner can occur in any of three different places in our input file – in the Score \with block, in a Score \context block, or in note entry directly.

There is by default only one SpacingSpanner per Score. This means that, by default, uniform-stretching is either turned on for the entire score or turned off for the entire score. We can, however, override this behavior and turn on different spacing features at different places in the score. We do this with the command \newSpacingSection. See New spacing section, for more info.

Next we examine the effects of the Separating_line_group_engraver and see why proportional scores frequently remove this engraver. The following example shows that there is a small amount of “prefatory” space just before the first note in each system.

\paper {
  indent = #0
}

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

[image of music]

The amount of this prefatory space is the same whether after a time signature, a key signature or a clef. Separating_line_group_engraver is responsible for this space. Removing Separating_line_group_engraver reduces this space to zero.

\paper {
  indent = #0
}

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

[image of music]

non-musical elements like time signatures, key signatures, clefs and accidentals are problematic in proportional notation. None of these elements has rhythmic duration. But all of these elements consume horizontal space. Different proportional scores approach these problems differently.

It may be possible to avoid spacing problems with key signatures simply by not having any. This is a valid option since most proportional scores are contemporary music. The same may be true of time signatures, especially for those scores that include a measured timeline or other graphic. But these scores are exceptional and most proportional scores include at least some time signatures. Clefs and accidentals are even more essential.

So what strategies exist for spacing non-musical elements in a proportional context? One good option is the strict-note-spacing property of SpacingSpanner. Compare the two scores below:

\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]

Both scores are proportional, but the spacing in the first score is too loose because of the clef change. The spacing of the second score remains strict, however, because strict-note-spacing is turned on. Turning on strict-note-spacing causes the width of time signatures, key signatures, clefs and accidentals to play no part in the spacing algorithm.

In addition to the settings given here, there are other settings that frequently appear in proportional scores. These include:

These settings space grace notes strictly, extend tuplet brackets to mark both rhythmic start- and stop-points, and allow spanning elements to break across systems and pages. See the respective parts of the manual for these related settings.

Vegeu també

Notation Reference: New spacing section.

Snippets: Spacing.


4.6 Fitting music onto fewer pages

Sometimes you can end up with one or two staves on a second (or third, or fourth…) page. This is annoying, especially if you look at previous pages and it looks like there is plenty of room left on those.

When investigating layout issues, annotate-spacing is an invaluable tool. This command prints the values of various layout spacing variables; for more details see the following section, Displaying spacing.


4.6.1 Displaying spacing

To graphically display the dimensions of vertical layout variables that may be altered for page formatting, set annotate-spacing in the \paper block:

\book {
  \score { { c4 } }
  \paper { annotate-spacing = ##t }
}

[image of music]

All layout dimensions are displayed in staff-spaces, regardless of the units specified in the \paper or \layout block. In the above example, paper-height has a value of 59.75 staff-spaces, and the staff-size is 20 points (the default value). Note that:

1 point= (25.4/72.27) mm
1 staff-space= (staff-size)/4 pts
= (staff-size)/4 * (25.4/72.27) mm

In this case, one staff-space is approximately equal to 1.757mm. Thus the paper-height measurement of 59.75 staff-spaces is equivalent to 105 millimeters, the height of a6 paper in landscape orientation. The pairs (a,b) are intervals, where a is the lower edge and b the upper edge of the interval.

Vegeu també

Notation Reference: Setting the staff size.

Snippets: Spacing.


4.6.2 Changing spacing

The output of annotate-spacing reveals vertical dimensions in great detail. For details about modifying margins and other layout variables, see Page layout.

Other than margins, there are a few other options to save space:

Vegeu també

Notation Reference: Page layout, Changing horizontal spacing.

Snippets: Spacing.


5. Changing defaults

The purpose of LilyPond’s design is to provide the finest quality output by default. Nevertheless, it may happen that you need to change this default layout. The layout is controlled through a large number of ‘knobs and switches’ collectively called ‘properties’. A tutorial introduction to accessing and modifying these properties can be found in the Learning Manual, see Tweaking output. This should be read first. This chapter covers similar ground, but in a style more appropriate to a reference manual.

The definitive description of the controls available for tuning can be found in a separate document: the Internals Reference. That manual lists all the variables, functions and options available in LilyPond. It is written as a HTML document, which is available on-line, and is also included with the LilyPond documentation package.

Internally, LilyPond uses Scheme (a LISP dialect) to provide infrastructure. Overriding layout decisions in effect accesses the program internals, which requires Scheme input. Scheme elements are introduced in a ‘.ly’ file with the hash mark #.1


5.1 Interpretation contexts

This section describes what contexts are, and how to modify them.

Vegeu també

Learning Manual: Contexts and engravers.

Installed Files: ‘ly/engraver-init.ly’, ‘ly/performer-init.ly’.

Snippets: Contexts and engravers.

Internals Reference: Contexts, Engravers and Performers.


5.1.1 Contexts explained

Contexts are arranged hierarchically:


Output definitions - blueprints for contexts

This section explains the relevance of output definitions when working with contexts. Examples for actual output definitions are given later (see Changing all contexts of the same type).

While music written in a file may refer to context types and names, contexts are created only when the music is actually being interpreted. LilyPond interprets music under control of an ‘output definition’ and may do so for several different output definitions, resulting in different output. The output definition relevant for printing music is specified using \layout.

A much simpler output definition used for producing Midi output is specified using \midi. Several other output definitions are used by LilyPond internally, like when using the part combiner (Combinació automàtica de les parts) or creating music quotes (Cites a altres veus).

Output definitions define the relation between contexts as well as their respective default settings. While most changes will usually be made inside of a \layout block, Midi-related settings will only have an effect when made within a \midi block.

Some settings affect several outputs: for example, if autoBeaming is turned off in some context, beams count as melismata for the purpose of matching music to lyrics as described in Duració automàtica de les síl·labes. This matching is done both for printed output as well as for Midi. If changes made to autoBeaming within a context definition of a \layout block are not repeated in the corresponding \midi block, lyrics and music will get out of sync in Midi.

Vegeu també

Installed Files: ‘ly/engraver-init.ly’. ‘ly/performer-init.ly’.


Score - the master of all contexts

This is the top level notation context. No other context can contain a Score context. By default the Score context handles the administration of time signatures and makes sure that items such as clefs, time signatures, and key-signatures are aligned across staves.

A Score context is instantiated implicitly when a \score {…} block is processed.


Top-level contexts - staff containers

StaffGroup

Groups staves while adding a bracket on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically. StaffGroup only consists of a collection of staves, with a bracket in front and spanning bar lines.

ChoirStaff

Identical to StaffGroup except that the bar lines of the contained staves are not connected vertically.

GrandStaff

A group of staves, with a brace on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically.

PianoStaff

Just like GrandStaff, but with support for instrument names to the left of each system.


Intermediate-level contexts - staves

Staff

Handles clefs, bar lines, keys, accidentals. It can contain Voice contexts.

RhythmicStaff

Like Staff but for printing rhythms. Pitches are ignored when engraving; the notes are printed on one line. The MIDI rendition retains pitches unchanged.

TabStaff

Context for generating tablature. By default lays the music expression out as a guitar tablature, printed on six lines.

DrumStaff

Handles typesetting for percussion. Can contain DrumVoice.

VaticanaStaff

Same as Staff, except that it is designed for typesetting a piece in gregorian style.

MensuralStaff

Same as Staff, except that it is designed for typesetting a piece in mensural style.


Bottom-level contexts - voices

Voice-level contexts initialise certain properties and start appropriate engravers. A bottom-level context is one without defaultchild. While it is possible to let it accept/contain subcontexts, they can only be created and entered explicitly.

Voice

Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and sub-scripts, slurs, ties, and rests. You have to instantiate this explicitly if you require multiple voices on the same staff.

VaticanaVoice

Same as Voice, except that it is designed for typesetting a piece in gregorian style.

MensuralVoice

Same as Voice, with modifications for typesetting a piece in mensural style.

Lyrics

Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics.

DrumVoice

The voice context used in a percussion staff.

FiguredBass

The context in which BassFigure objects are created from input entered in \figuremode mode.

TabVoice

The voice context used within a TabStaff context. Usually left to be created implicitly.

CueVoice

A voice context used to render notes of a reduced size, intended primarily for adding cue notes to a staff, see Format de les notes guia. Usually left to be created implicitly.

ChordNames

Typesets chord names.


5.1.2 Creating and referencing contexts

LilyPond will create lower-level contexts automatically if a music expression is encountered before a suitable context exists, but this is usually successful only for simple scores or music fragments like the ones in the documentation. For more complex scores it is advisable to specify all contexts explicitly with either the \new or \context command. The syntax of these two commands is very similar:

[\new | \context] Context [ = name] [music-expression]

where either \new or \context may be specified. Context is the type of context which is to be created, name is an optional name to be given to the particular context being created and music-expression is a single music expression that is to be interpreted by the engravers and performers in this context.

The \new prefix without a name is commonly used to create scores with many staves:

<<
  \new Staff \relative {
    % leave the Voice context to be created implicitly
    c''4 c
  }
  \new Staff \relative {
    d''4 d
  }
>>

[image of music]

and to place several voices into one staff:

\new Staff <<
  \new Voice \relative {
    \voiceOne
    c''8 c c4 c c
  }
  \new Voice \relative {
    \voiceTwo
    g'4 g g g
  }
>>

[image of music]

\new should always be used to specify unnamed contexts.

The difference between \new and \context is in the action taken:

A context must be named if it is to be referenced later, for example when lyrics are associated with music:

\new Voice = "tenor" music
…
\new Lyrics \lyricsto "tenor" lyrics

For details of associating lyrics with music see Duració automàtica de les síl·labes.

The properties of all contexts of a particular type can be modified in a \layout block (with a different syntax), see Changing all contexts of the same type. This construct also provides a means of keeping layout instructions separate from the musical content. If a single context is to be modified, a \with block must be used, see Changing just one specific context.

Vegeu també

Learning Manual: Organizing pieces with variables.

Notation Reference: Changing just one specific context, Duració automàtica de les síl·labes.


5.1.3 Keeping contexts alive

Contexts are usually terminated at the first musical moment in which they have nothing to do. So Voice contexts die as soon as they contain no events, Staff contexts die as soon as all the Voice contexts within them contain no events, etc. This can cause difficulties if earlier contexts which have died have to be referenced, for example, when changing staves with \change commands, associating lyrics with a voice with \lyricsto commands, or when adding further musical events to an earlier context.

There is an exception to this general rule: inside of an {…} construct (sequential music), the construct’s notion of the “current context” will descend whenever an element of the sequence ends in a subcontext of the previous current context. This avoids spurious creation of implicit contexts in a number of situations but means that the first context descended into will be kept alive until the end of the expression.

In contrast, the contexts of a <<…>> construct’s (simultaneous music) expression are not carried forth, so enclosing a context creating command in an extra pair of <<…>> will keep the context from persisting through all of the enclosing {…} sequence.

Any context can be kept alive by ensuring it has something to do at every musical moment. Staff contexts are kept alive by ensuring one of their voices is kept alive. One way of doing this is to add spacer rests to a voice in parallel with the real music. These need to be added to every Voice context which needs to be kept alive. If several voices are to be used sporadically it is safest to keep them all alive rather than attempting to rely on the exceptions mentioned above.

In the following example, both voice A and voice B are kept alive in this way for the duration of the piece:

musicA = \relative { d''4 d d d }
musicB = \relative { g'4 g g g }
keepVoicesAlive = {
  <<
    \new Voice = "A" { s1*5 }  % Keep Voice "A" alive for 5 bars
    \new Voice = "B" { s1*5 }  % Keep Voice "B" alive for 5 bars
  >>
}

music = {
  \context Voice = "A" {
    \voiceOneStyle
    \musicA
  }
  \context Voice = "B" {
    \voiceTwoStyle
    \musicB
  }
  \context Voice = "A" { \musicA }
  \context Voice = "B" { \musicB }
  \context Voice = "A" { \musicA }
}

\score {
  \new Staff <<
    \keepVoicesAlive
    \music
  >>
}

[image of music]

The following example shows how a sporadic melody line with lyrics might be written using this approach. In a real situation the melody and accompaniment would consist of several different sections, of course.

melody = \relative { a'4 a a a }
accompaniment = \relative { d'4 d d d }
words = \lyricmode { These words fol -- low the mel -- o -- dy }
\score {
  <<
    \new Staff = "music" {
      <<
        \new Voice = "melody" {
          \voiceOne
          s1*4  % Keep Voice "melody" alive for 4 bars
        }
        {
          \new Voice = "accompaniment" {
            \voiceTwo
            \accompaniment
          }
          <<
            \context Voice = "melody" { \melody }
            \context Voice = "accompaniment" { \accompaniment }
          >>
          \context Voice = "accompaniment" { \accompaniment }
          <<
            \context Voice = "melody" { \melody }
            \context Voice = "accompaniment" { \accompaniment }
          >>
        }
      >>
    }
    \new Lyrics \with { alignAboveContext = #"music" }
    \lyricsto "melody" { \words }
  >>
}

[image of music]

An alternative way, which may be better in many circumstances, is to keep the melody line alive by simply including spacer notes to line it up correctly with the accompaniment:

melody = \relative {
  s1  % skip a bar
  a'4 a a a
  s1  % skip a bar
  a4 a a a
}
accompaniment = \relative {
  d'4 d d d
  d4 d d d
  d4 d d d
  d4 d d d
}
words = \lyricmode { These words fol -- low the mel -- o -- dy }

\score {
  <<
    \new Staff = "music" {
      <<
        \new Voice = "melody" {
          \voiceOne
          \melody
        }
        \new Voice = "accompaniment" {
          \voiceTwo
          \accompaniment
        }
      >>
    }
    \new Lyrics \with { alignAboveContext = #"music" }
    \lyricsto "melody" { \words }
  >>
}

[image of music]


5.1.4 Modifying context plug-ins

Notation contexts (like Score and Staff) not only store properties, they also contain plug-ins called ‘engravers’ that create notation elements. For example, the Voice context contains a Note_heads_engraver and the Staff context contains a Key_engraver.

For a full a description of each plug-in, see Engravers and Performers. Every context described in Contexts lists the engravers used for that context.

It can be useful to shuffle around these plug-ins. This is done by starting a new context with \new or \context, and modifying it,

\new context \with {
  \consists …
  \consists …
  \remove …
  \remove …
  etc.
}
{
  …music…
}

where the … should be the name of an engraver. Here is a simple example which removes Time_signature_engraver and Clef_engraver from a Staff context,

<<
  \new Staff \relative {
    f'2 g
  }
  \new Staff \with {
     \remove "Time_signature_engraver"
     \remove "Clef_engraver"
  } \relative {
    f'2 g2
  }
>>

[image of music]

In the second staff there are no time signature or clef symbols. This is a rather crude method of making objects disappear since it will affect the entire staff. This method also influences the spacing, which may or may not be desirable. More sophisticated methods of blanking objects are shown in Visibility and color of objects.

The next example shows a practical application. Bar lines and time signatures are normally synchronized across the score. This is done by the Timing_translator and Default_bar_line_engraver. This plug-in keeps an administration of time signature, location within the measure, etc. By moving these engraver from Score to Staff context, we can have a score where each staff has its own time signature.

\score {
  <<
    \new Staff \with {
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
    }
    \relative {
        \time 3/4
        c''4 c c c c c
    }
  \new Staff \with {
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
  \relative {
      \time 2/4
      c''4 c c c c c
  }
>>
\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
    }
  }
}

[image of music]

Advertiments i problemes coneguts

The order in which the engravers are specified is the order in which they are called to carry out their processing. Usually the order in which the engravers are specified does not matter, but in a few special cases the order is important, for example where one engraver writes a property and another reads it, or where one engraver creates a grob and another must process it.

The following orderings are important:

Vegeu també

Installed Files: ‘ly/engraver-init.ly’.


5.1.5 Changing context default settings

Context and grob properties can be changed with \set and \override commands, as described in Modifying properties. These commands create music events, making the changes take effect at the point in time the music is being processed.

In contrast, this section explains how to change the default values of context and grob properties at the time the context is created. There are two ways of doing this. One modifies the default values in all contexts of a particular type, the other modifies the default values in just one particular instance of a context.


Changing all contexts of the same type

The default context settings which are to be used for typesetting in Score, Staff, Voice and other contexts may be specified in a \context block within any \layout block.

Settings for Midi output as opposed to typesetting will have to be separately specified in \midi blocks (see Output definitions - blueprints for contexts).

The \layout block should be placed within the \score block to which it is to apply, after the music.

\layout {
  \context {
    \Voice
    [context settings for all Voice contexts]
  }
  \context {
    \Staff
    [context settings for all Staff contexts]
  }
}

The following types of settings may be specified:

Property-setting commands can be placed in a \layout block without being enclosed in a \context block. Such settings are equivalent to including the same property-setting commands at the start of every context of the type specified. If no context is specified every bottom-level context is affected, see Bottom-level contexts - voices. The syntax of a property-setting command in a \layout block is the same as the same command written in the music stream.

\score {
  \new Staff {
    \relative {
      a'4^"Smaller font" a a a
      a4 a a a
    }
  }
  \layout {
    \accidentalStyle dodecaphonic
    \set fontSize = #-4
    \override Voice.Stem.thickness = #4.0
  }
}

[image of music]


Changing just one specific context

The context properties of just one specific context instance can be changed in a \with block. All other context instances of the same type retain the default settings built into LilyPond and modified by any \layout block within scope. The \with block must be placed immediately after the \new context-type command:

\new Staff \with { [context settings for this context instance only] }
{
  …
}

Alternatively, if the music is being entered using the short form of the input mode-specifying commands, e.g. \chords rather than \chordmode, the \with command must be placed immediately after the mode-specifying command:

\chords \with { [context settings for this (implicit) context instance only] }
{
  …
}

as it is the implicit context created by these short forms which should be modified. The same consideration applies to the other input mode-specifying short forms (\drums, \figures), see Input modes.

Since context modifications specified in \with blocks are inside music, they will affect all outputs (typesetting and Midi) as opposed to changes within an output definition.

The following types of settings may be specified:

Vegeu també

Notation Reference: Input modes


Order of precedence

The value of a property which applies at a particular time is determined as follows:

Vegeu també

Learning Manual: Modifying context properties.

Notation Reference: Contexts explained, Bottom-level contexts - voices, The \set command, The \override command, The \layout block.


5.1.6 Defining new contexts

Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.

The next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,

[image of music]

These settings are defined within a \context block inside a \layout block,

\layout {
  \context {
    …
  }
}

In the following discussion, the example input shown should go in place of the … in the previous fragment.

First it is necessary to define a name for the new context:

\name ImproVoice

Since it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,

\alias Voice

The context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,

\consists "Note_heads_engraver"
\consists "Text_engraver"
\consists "Rhythmic_column_engraver"

The note heads should all be placed on the center line,

\consists "Pitch_squash_engraver"
squashedPosition = #0

The Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.

The notes look like a slash, and have no stem,

\override NoteHead.style = #'slash
\hide Stem

All these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \type. Within a \layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.

\type "Engraver_group"

Put together, we get

\context {
  \name ImproVoice
  \type "Engraver_group"
  \consists "Note_heads_engraver"
  \consists "Text_engraver"
  \consists "Rhythmic_column_engraver"
  \consists "Pitch_squash_engraver"
  squashedPosition = #0
  \override NoteHead.style = #'slash
  \hide Stem
  \alias Voice
}

Contexts form hierarchies. We want to place the ImproVoice context within the Staff context, just like normal Voice contexts. Therefore, we modify the Staff definition with the \accepts command,

\context {
  \Staff
  \accepts ImproVoice
}

Often when reusing an existing context definition, the resulting context can be used anywhere where the original context would have been useful.

\layout {
  …
  \inherit-acceptability to from
}

will arrange to have contexts of type to accepted by all contexts also accepting from. For example, using

\layout {
  …
  \inherit-acceptability "ImproVoice" "Voice"
}

will add an \accepts for ImproVoice to both Staff and RhythmicStaff definitions.

The opposite of \accepts is \denies, which is sometimes needed when reusing existing context definitions.

Arranging the required pieces into a \layout block leaves us with

\layout {
  \context {
    \name ImproVoice
    …
  }
  \inherit-acceptability "ImproVoice" "Voice"
}

Then the output at the start of this subsection can be entered as

\relative {
  a'4 d8 bes8
  \new ImproVoice {
    c4^"ad lib" c
    c4 c^"undress"
    c c_"while playing :)"
  }
  a1
}

To complete this example, changes affecting the context hierarchy should be repeated in a \midi block so that Midi output depends on the same context relations.

Vegeu també

Internals Reference: Note_heads_engraver, Text_engraver, Rhythmic_column_engraver, Pitch_squash_engraver.


5.1.7 Context layout order

Contexts are normally positioned in a system from top to bottom in the order in which they are encountered in the input file. When contexts are nested, the outer context will include inner nested contexts as specified in the input file, provided the inner contexts are included in the outer context’s “accepts” list. Nested contexts which are not included in the outer context’s “accepts” list will be repositioned below the outer context rather than nested within it.

The “accepts” list of a context can be changed with the \accepts or \denies commands. \accepts adds a context to the “accepts” list and \denies removes a context from the list.

For example, a square-braced staff group is not usually found within a curved-braced staff with connecting staff bars, and a GrandStaff does not accept a StaffGroup inside it by default.

\score {
  \new GrandStaff <<
    \new StaffGroup <<
      \new Staff { c'1 }
      \new Staff { d'1 }
    >>
    \new Staff { \set Staff.instrumentName = bottom f'1 }
  >>
}

[image of music]

However, by using the \accepts command, StaffGroup can be added to the GrandStaff context:

\score {
  \new GrandStaff <<
    \new StaffGroup <<
      \new Staff { c'1 }
      \new Staff { d'1 }
    >>
    \new Staff { \set Staff.instrumentName = bottom f'1 }
  >>
  \layout {
    \context {
      \GrandStaff
      \accepts "StaffGroup"
    }
  }
}

[image of music]

\denies is mainly used when a new context is being based on another, but the required nesting differs. For example, the VaticanaStaff context is based on the Staff context, but with the VaticanaVoice context substituted for the Voice context in the “accepts” list.

Note that a context will be silently created implicitly if a command is encountered when there is no suitable context available to contain it.

Within a context definition, the type of subcontext to be implicitly created is specified using \defaultchild. A number of music events require a ‘Bottom’ context: when such an event is encountered, subcontexts are created recursively until reaching a context with no ‘defaultchild’ setting.

Implicit context creation can at times give rise to unexpected new staves or scores. Using \new to create contexts explicitly avoids those problems.

Sometimes a context is required to exist for just a brief period, a good example being the staff context for an ossia. This is usually achieved by introducing the context definition at the appropriate place in parallel with corresponding section of the main music. By default, the temporary context will be placed below all the existing contexts. To reposition it above the context called “main”, it should be defined like this:

\new Staff \with { alignAboveContext = #"main" }

A similar situation arises when positioning a temporary lyrics context within a multi-staved layout such as a ChoirStaff, for example, when adding a second verse to a repeated section. By default the temporary lyrics context will be placed beneath the lower staves. By defining the temporary lyrics context with alignBelowContext it can be positioned correctly beneath the (named) lyrics context containing the first verse.

Examples showing this repositioning of temporary contexts can be found elsewhere — see Nesting music expressions, Modificació de pentagrames separats and Tècniques específiques per a les lletres.

Vegeu també

Learning Manual: Nesting music expressions.

Notation Reference: Modificació de pentagrames separats, Tècniques específiques per a les lletres.

Application Usage: An extra staff appears.

Installed Files: ‘ly/engraver-init.ly’.


5.2 Explaining the Internals Reference


5.2.1 Navigating the program reference

Suppose we want to move the fingering indication in the fragment below:

c''-2

[image of music]

If you visit the documentation on fingering instructions (in Indicacions de digitació), you will notice:

See also

Internals Reference: Fingering.

Follow the link to Fingering. At the top of the page, you will see

Fingering objects are created by: Fingering_engraver and New_fingering_engraver.

By following related links inside the program reference, we can follow the flow of information within the program:

This path goes against the flow of information in the program: it starts from the output, and ends at the input event. You could also start at an input event, and read with the flow of information, eventually ending up at the output object(s).

The program reference can also be browsed like a normal document. It contains chapters on Music definitions, on Translation, and the Backend. Every chapter lists all the definitions used and all properties that may be tuned.


5.2.2 Layout interfaces

The HTML page that we found in the previous section describes the layout object called Fingering. Such an object is a symbol within the score. It has properties that store numbers (like thicknesses and directions), but also pointers to related objects. A layout object is also called a Grob, which is short for Graphical Object. For more details about Grobs, see grob-interface.

The page for Fingering lists the definitions for the Fingering object. For example, the page says

padding (dimension, in staff space):

0.5

which means that the number will be kept at a distance of at least 0.5 of the note head.

Each layout object may have several functions as a notational or typographical element. For example, the Fingering object has the following aspects

Each of these aspects is captured in so-called interfaces, which are listed on the Fingering page at the bottom

This object supports the following interfaces: item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface, and grob-interface.

Clicking any of the links will take you to the page of the respective object interface. Each interface has a number of properties. Some of them are not user-serviceable (‘Internal properties’), but others can be modified.

We have been talking of the Fingering object, but actually it does not amount to much. The initialization file (see Other sources of information) ‘scm/define-grobs.scm’ shows the soul of the ‘object’,

(Fingering
  . ((padding . 0.5)
     (avoid-slur . around)
     (slur-padding . 0.2)
     (staff-padding . 0.5)
     (self-alignment-X . 0)
     (self-alignment-Y . 0)
     (script-priority . 100)
     (stencil . ,ly:text-interface::print)
     (direction . ,ly:script-interface::calc-direction)
     (font-encoding . fetaText)
     (font-size . -5) 		; don't overlap when next to heads.
     (meta . ((class . Item)
     (interfaces . (finger-interface
                    font-interface
                    text-script-interface
                    text-interface
                    side-position-interface
                    self-alignment-interface
                    item-interface))))))

As you can see, the Fingering object is nothing more than a bunch of variable settings, and the webpage in the Internals Reference is directly generated from this definition.


5.2.3 Determining the grob property

Recall that we wanted to change the position of the 2 in

c''-2

[image of music]

Since the 2 is vertically positioned next to its note, we have to meddle with the interface associated with this positioning. This is done using side-position-interface. The page for this interface says

side-position-interface

Position a victim object (this one) next to other objects (the support). The property direction signifies where to put the victim object relative to the support (left or right, up or down?)

Below this description, the variable padding is described as

padding

(dimension, in staff space)

Add this much extra space between objects that are next to each other.

By increasing the value of padding, we can move the fingering away from the note head. The following command will insert “three staff spaces” worth of distance between the note and a fingering mark:

\once \override Voice.Fingering.padding = #3

Inserting the padding before the fingering object is created results in the following:

\once \override Voice.Fingering.padding = #3
c''-2

[image of music]

In this case, the context for this tweak is Voice. See Fingering_engraver plug-in, which says:

Fingering_engraver is part of contexts: … Voice


5.2.4 Naming conventions

Another thing that is needed, is an overview of the various naming conventions:

Questions to be answered:


5.3 Modifying properties


5.3.1 Overview of modifying properties

Each context is responsible for creating certain types of graphical objects. The settings used for printing these objects are also stored by context. By changing these settings, the appearance of objects can be altered.

There are two different kinds of properties stored in contexts: context properties and grob properties. Context properties are properties that apply to the context as a whole and control how the context itself is displayed. In contrast, grob properties apply to specific grob types that will be displayed in the context.

The \set and \unset commands are used to change values for context properties. The \override and \revert commands are used to change values for grob properties.

Vegeu també

Internals Reference: Backend, All layout objects, OverrideProperty, RevertProperty, PropertySet.

Advertiments i problemes coneguts

The back-end is not very strict in type-checking object properties. Cyclic references in Scheme values for properties can cause hangs or crashes, or both.


5.3.2 The \set command

Each context has a set of properties, variables contained in that context. Context properties are changed with the \set command, which has the following syntax:

\set context.property = #value

value is a Scheme object, which is why it must be preceded by the # character.

Contexts properties are usually named in studlyCaps. They mostly control the translation from music to notation, e.g., localAlterations (for determining whether to print accidentals), or measurePosition (for determining when to print a bar line). Context properties can change value over time while interpreting a piece of music; measurePosition is an obvious example of this. Context properties are modified with \set.

For example, multimeasure rests will be combined into a single bar if the context property skipBars is set to #t:

R1*2
\set Score.skipBars = ##t
R1*2

[image of music]

If the context argument is left out, then the property will be set in the current bottom context (typically ChordNames, Voice, TabVoice, or Lyrics).

\set Score.autoBeaming = ##f
\relative {
  e''8 e e e
  \set autoBeaming = ##t
  e8 e e e
} \\
\relative {
  c''8 c c c c8 c c c
}

[image of music]

The change is applied ‘on-the-fly’, during the music, so that the setting only affects the second group of eighth notes.

Note that the bottom-most context does not always contain the property that you wish to change – for example, attempting to set the skipBars property of the default bottom context, in this case Voice, will have no effect, because skipBars is a property of the Score context.

R1*2
\set skipBars = ##t
R1*2

[image of music]

Contexts are hierarchical, so if an enclosing context was specified, for example Staff, then the change would also apply to all Voices in the current staff.

The \unset command:

\unset context.property

is used to remove the definition of property from context. This command removes the definition only if it is set in context. Properties that have been set in enclosing contexts will not be altered by an unset in an enclosed context:

\set Score.autoBeaming = ##t
\relative {
  \unset autoBeaming
  e''8 e e e
  \unset Score.autoBeaming
  e8 e e e
} \\
\relative {
  c''8 c c c c8 c c c
}

[image of music]

Like \set, the context argument does not have to be specified for a bottom context, so the two statements

\set Voice.autoBeaming = ##t
\set autoBeaming = ##t

are equivalent if the current bottom context is Voice.

Preceding a \set or \unset command by \once makes the setting apply to only a single time-step:

c''4
\once \set fontSize = #4.7
c''4
c''4

[image of music]

A full description of all available context properties is in the internals reference, see Tunable context properties.

Vegeu també

Internals Reference: Tunable context properties.


5.3.3 The \override command

There is a special type of context property: the grob description. Grob descriptions are named in StudlyCaps (starting with capital letters). They contain the ‘default settings’ for a particular kind of grob as an association list. See ‘scm/define-grobs.scm’ to see the settings for each grob description. Grob descriptions are modified with \override.

The syntax for the \override command is

\override [context.]GrobName.property = #value

For example, we can increase the thickness of a note stem by overriding the thickness property of the Stem object:

c''4 c''
\override Voice.Stem.thickness = #3.0
c''4 c''

[image of music]

If no context is specified in an \override, the bottom context is used:

\override Staff.Stem.thickness = #3.0
<<
  \relative {
    e''4 e
    \override Stem.thickness = #0.5
    e4 e
  } \\
  \relative {
    c''4 c c c
  }
>>

[image of music]

Some tweakable options are called ‘subproperties’ and reside inside properties. To tweak those, use commands in the form

\override Stem.details.beamed-lengths = #'(4 4 3)

or to modify the ends of spanners, use a form like these

\override TextSpanner.bound-details.left.text = #"left text"
\override TextSpanner.bound-details.right.text = #"right text"

The effects of \override can be undone by \revert.

The syntax for the \revert command is

\revert [context.]GrobName.property

For example,

\relative {
  c''4
  \override Voice.Stem.thickness = #3.0
  c4 c
  \revert Voice.Stem.thickness
  c4
}

[image of music]

The effects of \override and \revert apply to all grobs in the affected context from the current time forward:

<<
  \relative {
    e''4
    \override Staff.Stem.thickness = #3.0
    e4 e e
  } \\
  \relative {
    c''4 c c
    \revert Staff.Stem.thickness
    c4
  }
>>

[image of music]

\once can be used with \override or \revert to affect only the current time step:

<<
  \relative c {
    \override Stem.thickness = #3.0
    e''4 e e e
  } \\
  \relative {
    c''4
    \once \override Stem.thickness = #3.0
    c4 c c
  }
>>

[image of music]

Vegeu també

Internals Reference: Backend


5.3.4 The \tweak command

Changing grob properties with \override causes the changes to apply to all of the given grobs in the context at the moment the change applies. Sometimes, however, it is desirable to have changes apply to just one grob, rather than to all grobs in the affected context. This is accomplished with the \tweak command, which has the following syntax:

\tweak [layout-object.]grob-property value

Specifying layout-object is optional. The \tweak command applies to the music object that immediately follows value in the music stream.

For an introduction to the syntax and uses of the tweak command see Tweaking methods.

When several similar items are placed at the same musical moment, the \override command cannot be used to modify just one of them – this is where the \tweak command must be used. Items which may appear more than once at the same musical moment include the following:

In this example, the color of one note head and the type of another note head are modified within a single chord:

< c''
  \tweak color #red
  d''
  g''
  \tweak duration-log #1
  a''
> 4

[image of music]

\tweak can be used to modify slurs:

\relative { c'-\tweak thickness #5 ( d e f) }

[image of music]

For the \tweak command to work, it must remain immediately adjacent to the object to which it is to apply after the input file has been converted to a music stream. Tweaking a whole chord does not do anything since its music event only acts as a container, and all layout objects are created from events inside of the EventChord:

\tweak color #red c''4
\tweak color #red <c'' e''>4
<\tweak color #red c'' e''>4

[image of music]

The simple \tweak command cannot be used to modify any object that is not directly created from the input. In particular it will not affect stems, automatic beams or accidentals, since these are generated later by NoteHead layout objects rather than by music elements in the input stream.

Such indirectly created layout objects can be tweaked using the form of the \tweak command in which the grob name is specified explicitly:

\tweak Stem.color #red
\tweak Beam.color #green c''8 e''
<c'' e'' \tweak Accidental.font-size #-3 ges''>4

[image of music]

\tweak cannot be used to modify clefs or time signatures, since these become separated from any preceding \tweak command in the input stream by the automatic insertion of extra elements required to specify the context.

Several \tweak commands may be placed before a notational element – all affect it:

c'
  -\tweak style #'dashed-line
  -\tweak dash-fraction #0.2
  -\tweak thickness #3
  -\tweak color #red
  \glissando
f''

[image of music]

The music stream which is generated from a section of an input file, including any automatically inserted elements, may be examined, see Displaying music expressions. This may be helpful in determining what may be modified by a \tweak command, or in determining how to adjust the input to make a \tweak apply.

Vegeu també

Learning Manual: Tweaking methods.

Extending LilyPond: Displaying music expressions.

Advertiments i problemes coneguts

The \tweak command cannot be used to modify the control points of just one of several ties in a chord, other than the first one encountered in the input file.


5.3.5 \set vs. \override

The \set and \override commands manipulate properties associated with contexts. In both cases, the properties follow a hierarchy of contexts; properties that are not set themselves in a context will still show the values of their respective parent’s context.

The lifetime and value of a context property is dynamic and only available when music is being interpreted (i.e., ‘iterated’). At the time of the context’s creation, properties are initialized from its corresponding definitions (along with any other modifications) of that context. Any subsequent changes are achieved with any ‘property-setting’ commands that are within the music itself.

Graphical Object (or “grob”) definitions are a special category of context properties as their structure and use is different from that of normal context properties. Unlike normal context properties, grob definitions are subdivided into grob properties.

Also, in contrast to normal context properties, grob definitions have their own internal ‘bookkeeping’ used to keep track of their own individual grob properties and any sub-properties. This means that it is possible to define those parts within different contexts and yet still have the overall grob definition at the time of grob creation from all the pieces provided amongst the current context and its parent(s).

A grob is usually created by an engraver at the time of interpreting a music expression and receives its initial properties from the current grob definition of the engraver’s context. The engraver (or other ‘backend’ parts of LilyPond) can then change (or add to) the grob’s initial properties. However, this does not affect the context’s own grob definition.

What LilyPond calls grob properties in the context of ‘user-level’ tweaks are really the properties of a context’s own grob definition.

Grob definitions are accessed with a different set of commands and are manipulated using \override and \revert and have a name starting with a capital letter (e.g., ‘NoteHead’); whereas normal context properties are manipulated using \set and \unset and are named starting with a lowercase letter.

The commands \tweak and \overrideProperty change grob properties by bypassing all context properties completely and, instead, catch grobs as they are being created, setting properties on them for a music event (\tweak) or, in the case of \overrideProperty for a specific override.


5.3.6 The \offset command

While it is possible to set grob properties to new values with the \override, \tweak, and \overrideProperty commands, it is often more convenient to modify such properties relative to a default value. The \offset command is available for this purpose.

The syntax for \offset is

[-]\offset property offsets item

The command works by adding the contents of offsets to the default setting of the property property of the grob indicated by item.

Depending on the formulation of the command, \offset may act as either a \tweak or \override. The variations in usage are discussed after consideration is given to grob properties that may be used with \offset.

Properties which may be offset

Many, but not all, grob properties may be offset. If property cannot be offset, the object will remain unchanged and a warning will be issued. In such cases, \override or \tweak should be used to modify the object instead.

One can work by trial and error and let the warnings be the guide to what may or may not be offset. A more systematic approach is possible, however.

The following criteria determine whether a property can be modified with \offset:

The following examples consider several grob properties against the criteria outlined above.

\offset as an override

If item is a grob name like Arpeggio or Staff.OttavaBracket, the result is an \override of the specified grob-type.

\offset property offsets [context.]GrobName

Note that the leading hyphen is never used with the ‘override’ form, just as it is never used with the \override command itself.

The following example uses the ‘override’ form to lengthen the default arpeggios shown in the first measure to cover the extent of the chords more fully. The arpeggios are stretched by a half staff-space to top and bottom. Also shown is the same operation done on the first chord with an ordinary override of the positions property. This method is not at all expressive of the task of ‘stretching by a half staff-space’, as the endpoints must be specified with absolute rather than relative coordinates. Furthermore, individual overrides would be needed for the other chords, as they vary in size and position.

arpeggioMusic = {
  <c' e' g'>\arpeggio <a' c'' e''>\arpeggio
  <d' f' a' c''>\arpeggio <c' e' g' b' d'' f'' a''>\arpeggio
}

{
  \arpeggioMusic
  \bar "||"
  \offset positions #'(-0.5 . 0.5) Arpeggio
  \arpeggioMusic
  \bar "||"
  \once \override Arpeggio.positions = #'(-3.5 . -0.5)
  <c' e' g'>1\arpeggio
  \bar "||"
}

[image of music]

In its ‘override’ usage, \offset may be prefaced with \once or \temporary and reverted using \revert with property. This follows from the fact that \offset actually creates an \override of property.

music = { c'8\< d' e' f'\! }

{
  \music
  \offset height 1 Hairpin
  \music
  \music
  \revert Hairpin.height
  \music
  \bar "||"
  \once \offset height 1 Hairpin
  \music \music
  \bar "||"
  \override Hairpin.height = 0.2
  \music
  \temporary \offset height 2 Hairpin
  \music
  \music
  \revert Hairpin.height
  \music
  \bar "||"
}

[image of music]

Also like \override, the ‘override’ form of \offset may be used with \undo and \single.

longStem = \offset length 6 Stem

{
 \longStem c'4 c''' c' c''
 \bar "||"
 \undo \longStem c'4 c''' c' c''
 \bar "||"
 \single \longStem c'4 c''' c' c''
 \bar "||"
}

[image of music]

\offset as a tweak

If item is a music expression such as ( or \arpeggio, the result is the same music expression with a tweak applied.

[-]\offset [GrobName.]property offsets music-expression

The syntax of \offset in its ‘tweak’ form is analogous to the \tweak command itself, both in ordering and in the presence or absence of the leading hyphen.

The following example uses the ‘tweak’ form to adjust the vertical position of the BreathingSign object. Compare this with the ordinary \tweak command also demonstrated. The syntax is equivalent; however, the output of \tweak is less intuitive, since BreathingSign.Y-offset is calculated from the middle staff-line. It is not necessary to know how Y-offset is calculated when using \offset.

{
  c''4
  \breathe
  c''4
  \offset Y-offset 2 \breathe
  c''2
  \tweak Y-offset 3 \breathe
}

[image of music]

In the previous example, the tweaked objects were created directly from the user input: the \breathe command was an explicit instruction to return a BreathingSign object. Since the focus of the command was unambiguous, there was no need to specify the object’s name. When an object is indirectly created, however, it is necessary to include the grob’s name. This is the same as for the \tweak command.

In the following example, the Beam object is lowered two staff-spaces by applying \offset to the positions property.

The first application of \offset requires that the grob’s name be included, because nothing in the input explicitly creates the beam. In the second application, the beam is created manually with the music expression [; therefore, the grob’s name is not needed. (Also illustrated is a shorthand: a single number will be applied to both members of a number-pair.)

{
  c''8 g'' e'' d''
  \offset Beam.positions #'(-2 . -2)
  c''8 g'' e'' d''
  c''8 g'' e'' d''
  c''8-\offset positions #-2 [ g'' e'' d'']
}

[image of music]

\offset with broken spanners

Independently modifying segments of a spanner extending over a line break or breaks is also possible. In this case, offsets takes a list of values of the property’s required data type.

The \offset command used in this manner is similar to the \alterBroken command. (See Modifying broken spanners.) In contrast with \alterBroken, however, the values given to \offset are relative, not absolute.

The following example displaces the ‘broken’ OttavaBracket object through its staff-padding property. Since the property takes a number, offsets is provided with a list of numbers to account for the two segments created by the line break. The bracket piece on the first line is effectively untouched since 0 is added to its default value of staff-padding. The segment on the second line is raised three staff-spaces from its default height. The default height happens to be 2, though it is not necessary to know this to achieve the desired positioning.

{
  \offset staff-padding #'(0 3) Staff.OttavaBracket
  \ottava #1
  c'''2 c'''
  \break
  c'''2 c'''
}

[image of music]

The following example mimics the effect of the \shape command by offsetting the control-points property of the Slur object. Here, offsets is a list of number-pair-lists, one for each slur segment. This example achieves a result identical to the corresponding illustration at Modifying shapes.

{
  c'4-\offset control-points #'(
               ((0 . 0) (0 . 0) (0 . 0) (0 . 1))
               ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5))
              ) ( f'4 g' c''
  \break
  d'4 c'' f' c')
}

[image of music]


5.3.7 Modifying alists

Some user-configurable properties are internally represented as alists (association lists), which store pairs of keys and values. The structure of an alist is:

'((key1 . value1)
  (key2 . value2)
  (key3 . value3)
  …)

If an alist is a grob property or \paper variable, its keys can be modified individually without affecting other keys.

For example, to reduce the space between adjacent staves in a staff-group, use the staff-staff-spacing property of the StaffGrouper grob. The property is an alist with four keys: basic-distance, minimum-distance, padding, and stretchability. The standard settings for this property are listed in the “Backend” section of the Internals Reference (see StaffGrouper):

'((basic-distance . 9)
  (minimum-distance . 7)
  (padding . 1)
  (stretchability . 5))

One way to bring the staves closer together is by reducing the value of the basic-distance key (9) to match the value of minimum-distance (7). To modify a single key individually, use a nested declaration:

% default space between staves
\new PianoStaff <<
  \new Staff { \clef treble c''1 }
  \new Staff { \clef bass   c1   }
>>

% reduced space between staves
\new PianoStaff \with {
  % this is the nested declaration
  \override StaffGrouper.staff-staff-spacing.basic-distance = #7
} <<
  \new Staff { \clef treble c''1 }
  \new Staff { \clef bass   c1   }
>>

[image of music]

Using a nested declaration will update the specified key (such as basic-distance in the above example) without altering any other keys already set for the same property.

Now suppose we want the staves to be as close as possible without overlapping. The simplest way to do this is to set all four alist keys to zero. However, it is not necessary to enter four nested declarations, one for each key. Instead, the property can be completely re-defined with one declaration, as an alist:

\new PianoStaff \with {
  \override StaffGrouper.staff-staff-spacing =
    #'((basic-distance . 0)
       (minimum-distance . 0)
       (padding . 0)
       (stretchability . 0))
} <<
  \new Staff { \clef treble c''1 }
  \new Staff { \clef bass   c1   }
>>

[image of music]

Note that any keys not explicitly listed in the alist definition will be reset to their default-when-unset values. In the case of staff-staff-spacing, any unset key-values would be reset to zero (except stretchability, which takes the value of basic-distance when unset). Thus the following two declarations are equivalent:

\override StaffGrouper.staff-staff-spacing =
  #'((basic-distance . 7))

\override StaffGrouper.staff-staff-spacing =
  #'((basic-distance . 7)
     (minimum-distance . 0)
     (padding . 0)
     (stretchability . 7))

One (possibly unintended) consequence of this is the removal of any standard settings that are set in an initialization file and loaded each time an input file is compiled. In the above example, the standard settings for padding and minimum-distance (defined in ‘scm/define-grobs.scm’) are reset to their default-when-unset values (zero for both keys). Defining a property or variable as an alist (of any size) will always reset all unset key-values to their default-when-unset values. Unless this is the intended result, it is safer to update key-values individually with a nested declaration.

Nota: Nested declarations will not work for context property alists (such as beamExceptions, keyAlterations, timeSignatureSettings, etc.). These properties can only be modified by completely re-defining them as alists.


5.4 Useful concepts and properties


5.4.1 Input modes

The way in which the notation contained within an input file is interpreted is determined by the current input mode. In general, there are two ways of specifying the mode: a long form, e.g. \chordmode, and a short form, e.g. \chords. The long form is typically used when supplying input to a variable or when entering input directly into an explicitly created context. The short form implicitly creates a context of the correct type for the input and passes the input directly to it. It is useful in simple situations when there is no requirement to explicitly create the receiving context.

Chord mode

This is activated with the \chordmode command, and causes input to be interpreted with the syntax of chord notation, see Notació d’acords. Music in chord mode is rendered as chords on a staff when entered into a Staff context, as chord names when entered into a ChordNames context or as fret boards when entered into a FretBoards context.

Chord mode is also activated with the \chords command. This also causes the following input to be interpreted with the syntax of chord notation but in addition it implicitly creates a new ChordNames context and renders the input into it as chord names, see Impressió dels noms d’acord.

Drum mode

This is activated with the \drummode command, and causes input to be interpreted with the syntax of drum notation, see Notació bàsica de percussió. Music in drum mode is rendered as percussion notes when entered into a DrumStaff context.

Drum mode is also activated with the \drums command. This also causes the following input to be interpreted with the syntax of drum notation but in addition it implicitly creates a new DrumStaff context and renders the input into it as percussion notes, see Notació bàsica de percussió.

Figure mode

This is activated with the \figuremode command, and causes input to be interpreted with the syntax of figured bass, see Introduir el baix xifrat. Music in figure mode is rendered as figured bass when entered into a FiguredBass context or a Staff context.

Figure mode is also activated with the \figures command. This also causes the following input to be interpreted with the figured bass syntax but in addition it implicitly creates a new FiguredBass context and renders the input into it as figured bass, see Introducció al baix xifrat.

Fret and tab modes

There are no special input modes for entering fret and tab symbols.

To create tab diagrams, enter notes or chords in note mode and render them in a TabStaff context, see Default tablatures.

To create fret diagrams above a staff, enter notes or chords in either note mode or chord mode and render them in a FretBoards context, see Automatic fret diagrams. Alternatively, fret diagrams can be entered as markup above the notes using the \fret-diagram command, see Fret diagram markups.

Lyrics mode

This is activated with the \lyricmode command, and causes input to be interpreted as lyric syllables with optional durations and associated lyric modifiers, see Música vocal. Input in lyric mode is rendered as lyric syllables when entered into a Lyrics context.

Lyric mode is also activated with the \lyrics command. This also causes the following input to be interpreted as lyric syllables but in addition it implicitly creates a new Lyrics context and renders the input into it as lyric syllables.

Lyric mode is also activated with the \addlyrics command. This also implicitly creates a new Lyrics context and in addition it adds an implicit \lyricsto command which associates the following lyrics with the preceding music, see Duració automàtica de les síl·labes.

Markup mode

This is activated with the \markup command, and causes input to be interpreted with the syntax of markup, see Text markup commands.

Note mode

This is the default mode or it may be activated with the \notemode command. Input is interpreted as pitches, durations, markup, etc and typeset as musical notation on a staff.

It is not normally necessary to specify note mode explicitly, but it may be useful to do so in certain situations, for example if you are in lyric mode, chord mode or any other mode and want to insert something that only can be done with note mode syntax.


5.4.2 Direction and placement

In typesetting music the direction and placement of many items is a matter of choice. For example, the stems of notes can be directed up or down; lyrics, dynamics, and other expressive marks may be placed above or below the staff; text may be aligned left, right or center; etc. Most of these choices may be left to be determined automatically by LilyPond, but in some cases it may be desirable to force a particular direction or placement.


Articulation direction indicators

By default some directions are always up or always down (e.g., dynamics or fermata), while other things can alternate between up or down based on the stem direction (like slurs or accents).

The default action may be overridden by prefixing the articulation by a direction indicator. Three direction indicators are available: ^ (meaning “up”), _ (meaning “down”) and - (meaning “use default direction”). The direction indicator can usually be omitted, in which case - is assumed, but a direction indicator is always required before

Direction indicators affect only the next note:

\relative {
  c''2( c)
  c2_( c)
  c2( c)
  c2^( c)
}

[image of music]


The direction property

The position or direction of many layout objects is controlled by the direction property.

The value of the direction property may be set to 1, meaning “up” or “above”, or to -1, meaning “down” or “below”. The symbols UP and DOWN may be used instead of 1 and -1 respectively. The default direction may be specified by setting direction to 0 or CENTER. Alternatively, in many cases predefined commands exist to specify the direction. These are of the form

\xxxUp, \xxxDown or \xxxNeutral

where \xxxNeutral means “use the default” direction. See Within-staff objects.

In a few cases, arpeggio for example, the value of the direction property can specify whether the object is to be placed to the right or left of the parent. In this case -1 or LEFT means “to the left” and 1 or RIGHT means “to the right”. 0 or CENTER means “use the default” direction.

These indications affect all notes until they are canceled.

\relative {
  c''2( c)
  \slurDown
  c2( c)
  c2( c)
  \slurNeutral
  c2( c)
}

[image of music]

In polyphonic music, it is generally better to specify an explicit voice than change an object’s direction. For more information, see Veus múltiples.

Vegeu també

Learning Manual: Within-staff objects.

Notation Reference: Veus múltiples.


5.4.3 Distances and measurements

Distances in LilyPond are of two types: absolute and scaled.

Absolute distances are used for specifying margins, indents, and other page layout details, and are by default specified in millimeters. Distances may be specified in other units by following the quantity by \mm, \cm, \in (inches), or \pt (points, 1/72.27 of an inch). Page layout distances can also be specified in scalable units (see the following paragraph) by appending \staff-space to the quantity. Page layout is described in detail in Page layout.

Scaled distances are always specified in units of the staff-space or, rarely, the half staff-space. The staff-space is the distance between two adjacent staff lines. The default value can be changed globally by setting the global staff size, or it can be overridden locally by changing the staff-space property of StaffSymbol. Scaled distances automatically scale with any change to the either the global staff size or the staff-space property of StaffSymbol, but fonts scale automatically only with changes to the global staff size. The global staff size thus enables the overall size of a rendered score to be easily varied. For the methods of setting the global staff size see Setting the staff size.

If just a section of a score needs to be rendered to a different scale, for example an ossia section or a footnote, the global staff size cannot simply be changed as this would affect the entire score. In such cases the change in size is made by overriding both the staff-space property of StaffSymbol and the size of the fonts. A Scheme function, magstep, is available to convert from a font size change to the equivalent change in staff-space. For an explanation and an example of its use, see Length and thickness of objects.

Vegeu també

Learning Manual: Length and thickness of objects.

Notation Reference: Page layout, Setting the staff size.


5.4.4 Dimensions

The dimensions of a graphical object specify the positions of the left and right edges and the bottom and top edges of the objects’ bounding box as distances from the objects’ reference point in units of staff-spaces. These positions are usually coded as two Scheme pairs. For example, the text markup command \with-dimensions takes three arguments, the first two of which are a Scheme pair giving the left and right edge positions and a Scheme pair giving the bottom and top edge positions:

\with-dimensions #'(-5 . 10) #'(-3 . 15) arg

This specifies a bounding box for arg with its left edge at -5, its right edge at 10, its bottom edge at -3 and its top edge at 15, all measured from the objects’ reference point in units of staff-spaces.

Vegeu també

Notation Reference: Distances and measurements.


5.4.5 Staff symbol properties

The vertical position of staff lines and the number of staff lines can be defined at the same time. As the following example shows, note positions are not influenced by the staff line positions.

Nota: The 'line-positions property overrides the 'line-count property. The number of staff lines is implicitly defined by the number of elements in the list of values for 'line-positions.

\new Staff \with {
  \override StaffSymbol.line-positions = #'(7 3 0 -4 -6 -7)
}
\relative { a4 e' f b | d1 }

[image of music]

The width of a staff can be modified. The units are staff spaces. The spacing of objects inside the staff is not affected by this setting.

\new Staff \with {
  \override StaffSymbol.width = #23
}
\relative { a4 e' f b | d1 }

[image of music]


5.4.6 Spanners

Many objects of musical notation extend over several notes or even several bars. Examples are slurs, beams, tuplet brackets, volta repeat brackets, crescendi, trills, and glissandi. Such objects are collectively called “spanners”, and have special properties to control their appearance and behaviour. Some of these properties are common to all spanners; others are restricted to a sub-set of the spanners.

All spanners support the spanner-interface. A few, essentially those that draw a straight line between the two objects, support in addition the line-spanner-interface.


Using the spanner-interface

This interface provides two properties that apply to several spanners.

The minimum-length property

The minimum length of the spanner is specified by the minimum-length property. Increasing this usually has the necessary effect of increasing the spacing of the notes between the two end points. However, this override has no effect on many spanners, as their length is determined by other considerations. A few examples where it is effective are shown below.

a'~ a'
a'
% increase the length of the tie
-\tweak minimum-length #5
~ a'

[image of music]

\relative \compressMMRests {
  a'1
  R1*23
  % increase the length of the rest bar
  \once \override MultiMeasureRest.minimum-length = #20
  R1*23
  a1
}

[image of music]

\relative {
  a' \< a a a \!
  % increase the length of the hairpin
  \override Hairpin.minimum-length = #20
  a \< a a a \!
}

[image of music]

This override can also be used to increase the length of slurs and phrasing slurs:

\relative {
  a'( g)
  a
  -\tweak minimum-length #5
  ( g)

  a\( g\)
  a
  -\tweak minimum-length #5
  \( g\)
}

[image of music]

For some layout objects, the minimum-length property becomes effective only if the set-spacing-rods procedure is called explicitly. To do this, the springs-and-rods property should be set to ly:spanner::set-spacing-rods. For example, the minimum length of a glissando has no effect unless the springs-and-rods property is set:

% default
e' \glissando c''

% not effective alone
\once \override Glissando.minimum-length = #20
e' \glissando c''

% effective only when both overrides are present
\once \override Glissando.minimum-length = #20
\once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
e' \glissando c''

[image of music]

The same is true of the Beam object:

% not effective alone
\once \override Beam.minimum-length = #20
e'8 e' e' e'

% effective only when both overrides are present
\once \override Beam.minimum-length = #20
\once \override Beam.springs-and-rods = #ly:spanner::set-spacing-rods
e'8 e' e' e'

[image of music]

The to-barline property

The second useful property of the spanner-interface is to-barline. By default this is true, causing hairpins and other spanners which are terminated on the first note of a measure to end instead on the immediately preceding bar line. If set to false, the spanner will extend beyond the bar line and end on the note itself:

\relative {
  a' \< a a a a \! a a a \break
  \override Hairpin.to-barline = ##f
  a \< a a a a \! a a a
}

[image of music]

This property is not effective for all spanners. For example, setting it to #t has no effect on slurs or phrasing slurs or on other spanners for which terminating on the bar line would not be meaningful.


Using the line-spanner-interface

Objects which support the line-spanner-interface include

The routine responsible for drawing the stencils for these spanners is ly:line-spanner::print. This routine determines the exact location of the two end points and draws a line between them, in the style requested. The locations of the two end points of the spanner are computed on-the-fly, but it is possible to override their Y-coordinates. The properties which need to be specified are nested two levels down within the property hierarchy, but the syntax of the \override command is quite simple:

e''2 \glissando b'
\once \override Glissando.bound-details.left.Y = #3
\once \override Glissando.bound-details.right.Y = #-2
e''2 \glissando b'

[image of music]

The units for the Y property are staff-spaces, with the center line of the staff being the zero point. For the glissando, this is the value for Y at the X-coordinate corresponding to the center point of each note head, if the line is imagined to be extended to there.

If Y is not set, the value is computed from the vertical position of the corresponding attachment point of the spanner.

In case of a line break, the values for the end points are specified by the left-broken and right-broken sub-lists of bound-details. For example:

\override Glissando.breakable = ##t
\override Glissando.bound-details.right-broken.Y = #-3
c''1 \glissando \break
f''1

[image of music]

A number of further properties of the left and right sub-lists of the bound-details property may be modified in the same way as Y:

Y

This sets the Y-coordinate of the end point, in staff-spaces offset from the staff center line. By default, it is the center of the bound object, so a glissando points to the vertical center of the note head.

For horizontal spanners, such as text spanners and trill spanners, it is hardcoded to 0.

attach-dir

This determines where the line starts and ends in the X-direction, relative to the bound object. So, a value of -1 (or LEFT) makes the line start/end at the left side of the note head it is attached to.

X

This is the absolute X-coordinate of the end point. It is usually computed on the fly, and overriding it has little useful effect.

stencil

Line spanners may have symbols at the beginning or end, which is contained in this sub-property. This is for internal use; it is recommended that text be used instead.

text

This is a markup that is evaluated to yield the stencil. It is used to put cresc., tr and other text on horizontal spanners.

\override TextSpanner.bound-details.left.text
   = \markup { \small \bold Slower }
\relative { c''2\startTextSpan b c a\stopTextSpan }

[image of music]

stencil-align-dir-y
stencil-offset

Without setting one of these, the stencil is simply put at the end-point, centered on the line, as defined by the X and Y sub-properties. Setting either stencil-align-dir-y or stencil-offset will move the symbol at the edge vertically relative to the end point of the line:

\override TextSpanner.bound-details.left.stencil-align-dir-y = #-2
\override TextSpanner.bound-details.right.stencil-align-dir-y = #UP

\override TextSpanner.bound-details.left.text = #"ggg"
\override TextSpanner.bound-details.right.text = #"hhh"

\relative { c'4^\startTextSpan c c c \stopTextSpan }

[image of music]

Note that negative values move the text up, contrary to the effect that might be expected, as a value of -1 or DOWN means align the bottom edge of the text with the spanner line. A value of 1 or UP aligns the top edge of the text with the spanner line.

arrow

Setting this sub-property to #t produces an arrowhead at the end-points of the line.

padding

This sub-property controls the space between the specified end point of the line and the actual end. Without padding, a glissando would start and end in the center of each note head.

The music function \endSpanners terminates the spanner which starts on the immediately following note prematurely. It is terminated after exactly one note, or at the following bar line if to-barline is true and a bar line occurs before the next note.

\relative c'' {
  \endSpanners
  c2 \startTextSpan c2 c2
  \endSpanners
  c2 \< c2 c2
}

[image of music]

When using \endSpanners it is not necessary to close \startTextSpan with \stopTextSpan, nor is it necessary to close hairpins with \!.

Vegeu també

Internals Reference: TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface.


5.4.7 Visibility of objects

There are four main ways in which the visibility of layout objects can be controlled: their stencil can be removed, they can be made transparent, they can be colored white, or their break-visibility property can be overridden. The first three apply to all layout objects; the last to just a few – the breakable objects. The Learning Manual introduces these four techniques, see Visibility and color of objects.

There are also a few other techniques which are specific to certain layout objects. These are covered under Special considerations.


Removing the stencil

Every layout object has a stencil property. By default this is set to the specific function which draws that object. If this property is overridden to #f no function will be called and the object will not be drawn. The default action can be recovered with \revert.

a1 a
\override Score.BarLine.stencil = ##f
a a
\revert Score.BarLine.stencil
a a a

[image of music]

This rather common operation has a shortcut \omit:

a1 a
\omit Score.BarLine
a a
\undo \omit Score.BarLine
a a a

[image of music]


Making objects transparent

Every layout object has a transparent property which by default is set to #f. If set to #t the object still occupies space but is made invisible.

a'4 a'
\once \override NoteHead.transparent = ##t
a' a'

[image of music]

This rather common operation has a shortcut \hide:

a'4 a'
\once \hide NoteHead
a' a'

[image of music]


Painting objects white

Every layout object has a color property which by default is set to black. If this is overridden to white the object will be indistinguishable from the white background. However, if the object crosses other objects the color of the crossing points will be determined by the order in which they are drawn, and this may leave a ghostly image of the white object, as shown here:

\override Staff.Clef.color = #white
a'1

[image of music]

This may be avoided by changing the order of printing the objects. All layout objects have a layer property which should be set to an integer. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1, although a few objects, including StaffSymbol and BarLine, are assigned a value of 0. The order of printing objects with the same value of layer is indeterminate.

In the example above the white clef, with a default layer value of 1, is drawn after the staff lines (default layer value 0), so overwriting them. To change this, the Clef object must be given in a lower value of layer, say -1, so that it is drawn earlier:

\override Staff.Clef.color = #white
\override Staff.Clef.layer = #-1
a'1

[image of music]


Using break-visibility

Most layout objects are printed only once, but some like bar lines, clefs, time signatures and key signatures, may need to be printed twice when a line break occurs – once at the end of the line and again at the start of the next line. Such objects are called breakable, and have a property, the break-visibility property to control their visibility at the three positions in which they may appear – at the start of a line, within a line if they are changed, and at the end of a line if a change takes place there.

For example, the time signature by default will be printed at the start of the first line, but nowhere else unless it changes, when it will be printed at the point at which the change occurs. If this change occurs at the end of a line the new time signature will be printed at the start of the next line and a cautionary time signature will be printed at the end of the previous line as well.

This behaviour is controlled by the break-visibility property, which is explained in Visibility and color of objects. This property takes a vector of three booleans which, in order, determine whether the object is printed at the end of, within the body of, or at the beginning of a line. Or to be more precise, before a line break, where there is no line break, or after a line break.

Alternatively, these eight combinations may be specified by pre-defined functions, defined in ‘scm/output-lib.scm’, where the last three columns indicate whether the layout objects will be visible in the positions shown at the head of the columns:

FunctionVectorBeforeAt noAfter
formformbreakbreakbreak
all-visible#(#t #t #t)yesyesyes
begin-of-line-visible#(#f #f #t)nonoyes
center-visible#(#f #t #f)noyesno
end-of-line-visible#(#t #f #f)yesnono
begin-of-line-invisible#(#t #t #f)yesyesno
center-invisible#(#t #f #t)yesnoyes
end-of-line-invisible#(#f #t #t)noyesyes
all-invisible#(#f #f #f)nonono

The default settings of break-visibility depend on the layout object. The following table shows all the layout objects of interest which are affected by break-visibility and the default setting of this property:

Layout objectUsual contextDefault setting
BarLineScorecalculated
BarNumberScorebegin-of-line-visible
BreathingSignVoicebegin-of-line-invisible
ClefStaffbegin-of-line-visible
CustosStaffend-of-line-visible
DoublePercentRepeatVoicebegin-of-line-invisible
KeyCancellationStaffbegin-of-line-invisible
KeySignatureStaffbegin-of-line-visible
ClefModifierStaffbegin-of-line-visible
RehearsalMarkScoreend-of-line-invisible
TimeSignatureStaffall-visible

The example below shows the use of the vector form to control the visibility of bar lines:

\relative {
  f'4 g a b
  f4 g a b
  % Remove bar line at the end of the current line
  \once \override Score.BarLine.break-visibility = ##(#f #t #t)
  \break
  f4 g a b
  f4 g a b
}

[image of music]

Although all three components of the vector used to override break-visibility must be present, not all of them are effective with every layout object, and some combinations may even give errors. The following limitations apply:


Special considerations

Visibility following explicit changes

The break-visibility property controls the visibility of key signatures and changes of clef only at the start of lines, i.e., after a break. It has no effect on the visibility of the key signature or clef following an explicit key change or an explicit clef change within or at the end of a line. In the following example the key signature following the explicit change to B-flat major is still visible, even though all-invisible is set.

\relative {
  \key g \major
  f'4 g a b
  % Try to remove all key signatures
  \override Staff.KeySignature.break-visibility = #all-invisible
  \key bes \major
  f4 g a b
  \break
  f4 g a b
  f4 g a b
}

[image of music]

The visibility of such explicit key signature and clef changes is controlled by the explicitKeySignatureVisibility and explicitClefVisibility properties. These are the equivalent of the break-visibility property and both take a vector of three booleans or the predefined functions listed above, exactly like break-visibility. Both are properties of the Staff context, not the layout objects themselves, and so they are set using the \set command. Both are set by default to all-visible. These properties control only the visibility of key signatures and clefs resulting from explicit changes and do not affect key signatures and clefs at the beginning of lines; break-visibility must still be overridden in the appropriate object to remove these.

\relative {
  \key g \major
  f'4 g a b
  \set Staff.explicitKeySignatureVisibility = #all-invisible
  \override Staff.KeySignature.break-visibility = #all-invisible
  \key bes \major
  f4 g a b \break
  f4 g a b
  f4 g a b
}

[image of music]

Visibility of cancelling accidentals

To remove the cancelling accidentals printed at an explicit key change, set the Staff context property printKeyCancellation to #f:

\relative {
  \key g \major
  f'4 g a b
  \set Staff.explicitKeySignatureVisibility = #all-invisible
  \set Staff.printKeyCancellation = ##f
  \override Staff.KeySignature.break-visibility = #all-invisible
  \key bes \major
  f4 g a b \break
  f4 g a b
  f4 g a b
}

[image of music]

With these overrides only the accidentals before the notes remain to indicate the change of key.

Note that when changing the key to C major or A minor the cancelling accidentals would be the only indication of the key change. In this case setting printKeyCancellation to #f has no effect:

\relative {
  \key g \major
  f'4 g a b
  \set Staff.explicitKeySignatureVisibility = #all-invisible
  \set Staff.printKeyCancellation = ##f
  \key c \major
  f4 g a b \break
  f4 g a b
  f4 g a b
}

[image of music]

To suppress the cancelling accidentals even when the key is changed to C major or A minor, override the visibility of the KeyCancellation grob instead:

\relative {
  \key g \major
  f'4 g a b
  \set Staff.explicitKeySignatureVisibility = #all-invisible
  \override Staff.KeyCancellation.break-visibility = #all-invisible
  \key c \major
  f4 g a b \break
  f4 g a b
  f4 g a b
}

[image of music]

Automatic bars

As a special case, the printing of bar lines can also be turned off by setting the automaticBars property in the Score context. If set to #f, bar lines will not be printed automatically; they must be explicitly created with a \bar command. Unlike the \cadenzaOn predefined command, measures are still counted. Bar generation will resume according to that count if this property is later set to #t. When set to #f, line breaks can occur only at explicit \bar commands.

Transposed clefs

The small transposition symbol on transposed clefs is produced by the ClefModifier layout object. Its visibility is automatically inherited from the Clef object, so it is not necessary to apply any required break-visibility overrides to the ClefModifier layout objects to suppress transposition symbols for invisible clefs.

For explicit clef changes, the explicitClefVisibility property controls both the clef symbol and any transposition symbol associated with it.

Vegeu també

Learning Manual: Visibility and color of objects.


5.4.8 Line styles

Some performance indications, e.g., rallentando and accelerando and trills are written as text and are extended over many measures with lines, sometimes dotted or wavy.

These all use the same routines as the glissando for drawing the texts and the lines, and tuning their behavior is therefore also done in the same way. It is done with a spanner, and the routine responsible for drawing the spanners is ly:line-spanner::print. This routine determines the exact location of the two span points and draws a line between them, in the style requested.

Here is an example showing the different line styles available, and how to tune them.

\relative {
  d''2 \glissando d'2
  \once \override Glissando.style = #'dashed-line
  d,2 \glissando d'2
  \override Glissando.style = #'dotted-line
  d,2 \glissando d'2
  \override Glissando.style = #'zigzag
  d,2 \glissando d'2
  \override Glissando.style = #'trill
  d,2 \glissando d'2
}

[image of music]

The locations of the end-points of the spanner are computed on-the-fly for every graphic object, but it is possible to override these:

\relative {
  e''2 \glissando f
  \once \override Glissando.bound-details.right.Y = #-2
  e2 \glissando f
}

[image of music]

The value for Y is set to -2 for the right end point. The left side may be similarly adjusted by specifying left instead of right.

If Y is not set, the value is computed from the vertical position of the left and right attachment points of the spanner.

Other adjustments of spanners are possible, for details, see Spanners.


5.4.9 Rotating objects

Both layout objects and elements of markup text can be rotated by any angle about any point, but the method of doing so differs.


Rotating layout objects

All layout objects which support the grob-interface can be rotated by setting their rotation property. This takes a list of three items: the angle of rotation counter-clockwise, and the x and y coordinates of the point relative to the object’s reference point about which the rotation is to be performed. The angle of rotation is specified in degrees and the coordinates in staff-spaces.

The angle of rotation and the coordinates of the rotation point must be determined by trial and error.

There are only a few situations where the rotation of layout objects is useful; the following example shows one situation where they may be:

g4\< e' d'' f''\!
\override Hairpin.rotation = #'(20 -1 0)
g4\< e' d'' f''\!

[image of music]


Rotating markup

All markup text can be rotated to lie at any angle by prefixing it with the \rotate command. The command takes two arguments: the angle of rotation in degrees counter-clockwise and the text to be rotated. The extents of the text are not rotated: they take their values from the extremes of the x and y coordinates of the rotated text. In the following example the outside-staff-priority property for text is set to #f to disable the automatic collision avoidance, which would push some of the text too high.

\override TextScript.outside-staff-priority = ##f
g4^\markup { \rotate #30 "a G" }
b^\markup { \rotate #30 "a B" }
des'^\markup { \rotate #30 "a D-Flat" }
fis'^\markup { \rotate #30 "an F-Sharp" }

[image of music]


5.5 Advanced tweaks

This section discusses various approaches to fine tuning the appearance of the printed score.

Vegeu també

Learning Manual: Tweaking output, Other sources of information.

Notation Reference: Explaining the Internals Reference, Modifying properties.

Extending LilyPond: Interfaces for programmers.

Installed Files: ‘scm/define-grobs.scm’.

Snippets: Tweaks and overrides.

Internals Reference: All layout objects.


5.5.1 Aligning objects

Graphical objects which support the self-alignment-interface and/or the side-position-interface can be aligned to a previously placed object in a variety of ways. For a list of these objects, see self-alignment-interface and side-position-interface.

All graphical objects have a reference point, a horizontal extent and a vertical extent. The horizontal extent is a pair of numbers giving the displacements from the reference point of the left and right edges, displacements to the left being negative. The vertical extent is a pair of numbers giving the displacement from the reference point to the bottom and top edges, displacements down being negative.

An object’s position on a staff is given by the values of the X-offset and Y-offset properties. The value of X-offset gives the displacement from the X coordinate of the reference point of the parent object, and the value of Y-offset gives the displacement from the center line of the staff. The values of X-offset and Y-offset may be set directly or may be set to be calculated by procedures in order to achieve alignment with the parent object.

Nota: Many objects have special positioning considerations which cause any setting of X-offset or Y-offset to be ignored or modified, even though the object supports the self-alignment-interface. Overriding the X-offset or Y-offset properties to a fixed value causes the respective self-alignment property to be disregarded.

For example, an accidental can be repositioned vertically by setting Y-offset but any changes to X-offset have no effect.

Rehearsal marks may be aligned with breakable objects such as bar lines, clef symbols, time signature symbols and key signatures. There are special properties to be found in the break-aligned-interface for positioning rehearsal marks on such objects.

Vegeu també

Notation Reference: Using the break-alignable-interface.

Extending LilyPond: Callback functions.


Setting X-offset and Y-offset directly

Numerical values may be given to the X-offset and Y-offset properties of many objects. The following example shows three notes with the default fingering position and the positions with X-offset and Y-offset modified.

a'-3
a'
-\tweak X-offset #0
-\tweak Y-offset #0
-3
a'
-\tweak X-offset #-1
-\tweak Y-offset #1
-3

[image of music]


Using the side-position-interface

An object which supports the side-position-interface can be placed next to its parent object so that the specified edges of the two objects touch. The object may be placed above, below, to the right or to the left of the parent. The parent cannot be specified; it is determined by the order of elements in the input stream. Most objects have the associated note head as their parent.

The values of the side-axis and direction properties determine where the object is to be placed, as follows:

side-axisdirection
propertypropertyPlacement
0-1left
01right
1-1below
11above

When side-axis is 0, X-offset should be set to the procedure ly:side-position-interface::x-aligned-side. This procedure will return the correct value of X-offset to place the object to the left or right side of the parent according to value of direction.

When side-axis is 1, Y-offset should be set to the procedure ly:side-position-interface::y-aligned-side. This procedure will return the correct value of Y-offset to place the object to the top or bottom of the parent according to value of direction.


Using the self-alignment-interface

Self-aligning objects horizontally

The horizontal alignment of an object which supports the self-alignment-interface is controlled by the value of the self-alignment-X property, provided the object’s X-offset property is set to ly:self-alignment-interface::x-aligned-on-self. self-alignment-X may be given any real value, in units of half the total X extent of the object. Negative values move the object to the right, positive to the left. A value of 0 centers the object on the reference point of its parent, a value of -1 aligns the left edge of the object on the reference point of its parent, and a value of 1 aligns the right edge of the object on the reference point of its parent. The symbols LEFT, CENTER, and RIGHT may be used instead of the values -1, 0, and 1, respectively.

Normally the \override command would be used to modify the value of self-alignment-X, but the \tweak command can be used to separately align several annotations on a single note:

a'
-\tweak self-alignment-X #-1
^"left-aligned"
-\tweak self-alignment-X #0
^"center-aligned"
-\tweak self-alignment-X #RIGHT
^"right-aligned"
-\tweak self-alignment-X #-2.5
^"aligned further to the right"

[image of music]

Self-aligning objects vertically

Objects may be aligned vertically in an analogous way to aligning them horizontally if the Y-offset property is set to ly:self-alignment-interface::y-aligned-on-self. However, other mechanisms are often involved in vertical alignment: the value of Y-offset is just one variable taken into account. This may make adjusting the value of some objects tricky. The units are just half the vertical extent of the object, which is usually quite small, so quite large numbers may be required. A value of -1 aligns the lower edge of the object with the reference point of the parent object, a value of 0 aligns the center of the object with the reference point of the parent, and a value of 1 aligns the top edge of the object with the reference point of the parent. The symbols DOWN, CENTER, and UP may be substituted for -1, 0, and 1, respectively.

Self-aligning objects in both directions

By setting both X-offset and Y-offset, an object may be aligned in both directions simultaneously.

The following example shows how to adjust a fingering mark so that it nestles close to the note head.

a'
-\tweak self-alignment-X #0.5  % move horizontally left
-\tweak Y-offset #ly:self-alignment-interface::y-aligned-on-self
-\tweak self-alignment-Y #-1  % move vertically up
-3  % third finger

[image of music]


Using the break-alignable-interface

Rehearsal marks and bar numbers may be aligned with notation objects other than bar lines. These objects include ambitus, breathing-sign, clef, custos, staff-bar, left-edge, key-cancellation, key-signature, and time-signature.

Each type of object has its own default reference point, to which rehearsal marks are aligned:

% The rehearsal mark will be aligned to the right edge of the Clef
\override Score.RehearsalMark.break-align-symbols = #'(clef)
\key a \major
\clef treble
\mark "↓"
e'1
% The rehearsal mark will be aligned to the left edge of the Time Signature
\override Score.RehearsalMark.break-align-symbols = #'(time-signature)
\key a \major
\clef treble
\time 3/4
\mark "↓"
e'2.
% The rehearsal mark will be centered above the Breath Mark
\override Score.RehearsalMark.break-align-symbols = #'(breathing-sign)
\key a \major
\clef treble
\time 4/4
e'1
\breathe
\mark "↓"

[image of music]

A list of possible target alignment objects may be specified. If some of the objects are invisible at that point due to the setting of break-visibility or the explicit visibility settings for keys and clefs, the rehearsal mark or bar number is aligned to the first object in the list which is visible. If no objects in the list are visible the object is aligned to the bar line. If the bar line is invisible the object is aligned to the place where the bar line would be.

% The rehearsal mark will be aligned to the right edge of the Key Signature
\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
\key a \major
\clef treble
\mark "↓"
e'1
% The rehearsal mark will be aligned to the right edge of the Clef
\set Staff.explicitKeySignatureVisibility = #all-invisible
\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
\key a \major
\clef bass
\mark "↓"
gis,1
% The rehearsal mark will be centered above the Bar Line
\set Staff.explicitKeySignatureVisibility = #all-invisible
\set Staff.explicitClefVisibility = #all-invisible
\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
\key a \major
\clef treble
\mark "↓"
e'1

[image of music]

The alignment of the rehearsal mark relative to the notation object can be changed, as shown in the following example. In a score with multiple staves, this setting should be done for all the staves.

% The RehearsalMark will be aligned with the right edge of the Key Signature
\override Score.RehearsalMark.break-align-symbols = #'(key-signature)
\key a \major
\clef treble
\time 4/4
\mark "↓"
e'1
% The RehearsalMark will be centered above the Key Signature
\once \override Score.KeySignature.break-align-anchor-alignment = #CENTER
\mark "↓"
\key a \major
e'1
% The RehearsalMark will be aligned with the left edge of the Key Signature
\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
\key a \major
\mark "↓"
e'1

[image of music]

The rehearsal mark can also be offset to the right or left of the left edge by an arbitrary amount. The units are staff-spaces:

% The RehearsalMark will be aligned with the left edge of the Key Signature
% and then shifted right by 3.5 staff-spaces
\override Score.RehearsalMark.break-align-symbols = #'(key-signature)
\once \override Score.KeySignature.break-align-anchor = #3.5
\key a \major
\mark "↓"
e'1
% The RehearsalMark will be aligned with the left edge of the Key Signature
% and then shifted left by 2 staff-spaces
\once \override Score.KeySignature.break-align-anchor = #-2
\key a \major
\mark "↓"
e'1

[image of music]


5.5.2 Vertical grouping of grobs

The VerticalAlignment and VerticalAxisGroup grobs work together. VerticalAxisGroup groups together different grobs like Staff, Lyrics, etc. VerticalAlignment then vertically aligns the different grobs grouped together by VerticalAxisGroup. There is usually only one VerticalAlignment per score but every Staff, Lyrics, etc., has its own VerticalAxisGroup.


5.5.3 Modifying stencils

All layout objects have a stencil property which is part of the grob-interface. By default, this property is usually set to a function specific to the object that is tailor-made to render the symbol which represents it in the output. For example, the standard setting for the stencil property of the MultiMeasureRest object is ly:multi-measure-rest::print.

The standard symbol for any object can be replaced by modifying the stencil property to reference a different, specially-written, procedure. This requires a high level of knowledge of the internal workings of LilyPond, but there is an easier way which can often produce adequate results.

This is to set the stencil property to the procedure which prints text – ly:text-interface::print – and to add a text property to the object which is set to contain the markup text which produces the required symbol. Due to the flexibility of markup, much can be achieved – see in particular Notació gràfica dins d’elements de marcatge.

The following example demonstrates this by changing the note head symbol to a cross within a circle.

XinO = {
  \once \override NoteHead.stencil = #ly:text-interface::print
  \once \override NoteHead.text = \markup {
    \combine
      \halign #-0.7 \draw-circle #0.85 #0.2 ##f
      \musicglyph "noteheads.s2cross"
  }
}
\relative {
  a' a \XinO a a
}

[image of music]

Any of the Feta glyphs used in the Emmentaler font can be supplied to the \musicglyph markup command – see The Emmentaler font.

EPS’ files and Postscript commands can both be inserted inline using the \epsfile and \postscript markup commands respectively – see Graphic.

Vegeu també

Notation Reference: Notació gràfica dins d’elements de marcatge, Donar format al text, Text markup commands, The Emmentaler font, Graphic.


5.5.4 Modifying shapes


Modifying ties and slurs

Ties, Slurs, PhrasingSlurs, LaissezVibrerTies and RepeatTies are all drawn as third-order Bézier curves. If the shape of the tie or slur which is calculated automatically is not optimum, the shape may be modified manually in two ways:

  1. by specifying the displacements to be made to the control points of the automatically calculated Bézier curve, or
  2. by explicitly specifying the positions of the four control points required to define the wanted curve.

Both methods are explained below. The first method is more suitable if only slight adjustments to the curve are required; the second may be better for creating curves which are related to just a single note.

Cubic Bézier curves

Third-order or cubic Bézier curves are defined by four control points. The first and fourth control points are precisely the starting and ending points of the curve. The intermediate two control points define the shape. Animations showing how the curve is drawn can be found on the web, but the following description may be helpful. The curve starts from the first control point heading directly towards the second, gradually bending over to head towards the third and continuing to bend over to head towards the fourth, arriving there travelling directly from the third control point. The curve is entirely contained in the quadrilateral defined by the four control points. Translations, rotations and scaling of the control points all result in exactly the same operations on the curve.

Specifying displacements from current control points

In this example the automatic placement of the tie is not optimum, and \tieDown would not help.

<<
  { e'1~ 1 }
\\
  \relative { r4 <g' c,> <g c,> <g c,> }
>>

[image of music]

Adjusting the control points of the tie with \shape allows the collisions to be avoided.

The syntax of \shape is

[-]\shape displacements item

This will reposition the control-points of item by the amounts given by displacements. The displacements argument is a list of number pairs or a list of such lists. Each element of a pair represents the displacement of one of the coordinates of a control-point. If item is a string, the result is \once\override for the specified grob type. If item is a music expression, the result is the same music expression with an appropriate tweak applied.

In other words, the \shape function can act as either a \once\override command or a \tweak command depending on whether the item argument is a grob name, like “Slur”, or a music expression, like “(”. The displacements argument specifies the displacements of the four control points as a list of four pairs of (dx . dy) values in units of staff-spaces (or a list of such lists if the curve has more than one segment).

The leading hyphen is required if and only if the \tweak form is being used.

So, using the same example as above and the \once\override form of \shape, this will raise the tie by half a staff-space:

<<
  {
    \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,> }
>>

[image of music]

This positioning of the tie is better, but maybe it should be raised more in the center. The following example does this, this time using the alternative \tweak form:

<<
  {
    e'1-\shape #'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)) ~ e'
  }
\\
  \relative { r4 <g' c,> <g c,> <g c,> }
>>

[image of music]

Changes to the horizontal positions of the control points may be made in the same way, and two different curves starting at the same musical moment may also be shaped:

\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\)
}

[image of music]

The \shape function can also displace the control points of curves which stretch across line breaks. Each piece of the broken curve can be given its own list of offsets. If changes to a particular segment are not needed, the empty list can serve as a placeholder. In this example the line break makes the single slur look like two:

\relative {
  c'4( f g c
  \break
  d,4 c' f, c)
}

[image of music]

Changing the shapes of the two halves of the slur makes it clearer that the slur continues over the line break:

% () may be used as a shorthand for ((0 . 0) (0 . 0) (0 . 0) (0 . 0))
% if any of the segments does not need to be changed
\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)
}

[image of music]

If an S-shaped curve is required the control points must always be adjusted manually — LilyPond will never select such shapes automatically.

\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\)
}

[image of music]

Specifying control points explicitly

The coordinates of the Bézier control points are specified in units of staff-spaces. The X coordinate is relative to the reference point of the note to which the tie or slur is attached, and the Y coordinate is relative to the staff center line. The coordinates are specified as a list of four pairs of decimal numbers (reals). One approach is to estimate the coordinates of the two end points, and then guess the two intermediate points. The optimum values are then found by trial and error. Be aware that these values may need to be manually adjusted if any further changes are made to the music or the layout.

One situation where specifying the control points explicitly is preferable to specifying displacements is when they need to be specified relative to a single note. Here is an example of this. It shows one way of indicating a slur extending into alternative sections of a volta repeat.

\relative {
  c''1
  \repeat volta 3 { c4 d( e f }
  \alternative {
    { g2) d }
    {
      g2
      % create a slur and move it to a new position
      % the <> is just an empty chord to carry the slur termination
      -\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,
    }
  }
}

[image of music]

Advertiments i problemes coneguts

It is not possible to modify shapes of ties or slurs by changing the control-points property if there are multiple ties or slurs at the same musical moment – the \tweak command will also not work in this case. However, the tie-configuration property of TieColumn can be overridden to set start line and direction as required.

Vegeu també

Internals Reference: TieColumn.


5.5.5 Modifying broken spanners


Using \alterBroken

When a spanner crosses a line break or breaks, each piece inherits the attributes of the original spanner. Thus, ordinary tweaking of a broken spanner applies the same modifications to each of its segments. In the example below, overriding thickness affects the slur on either side of the line break.

\relative c'' {
  r2
  \once\override Slur.thickness = 10
  c8( d e f
  \break
  g8 f e d) r2
}

[image of music]

Independently modifying the appearance of individual pieces of a broken spanner is possible with the \alterBroken command. This command can produce either an \override or a \tweak of a spanner property.

The syntax for \alterBroken is

[-]\alterBroken property values item

The argument values is a list of values, one for each broken piece. If item is a grob name like Slur or Staff.PianoPedalBracket, the result is an \override of the specified grob type. If item is a music expression such as “(” or “[” the result is the same music expression with an appropriate tweak applied.

The leading hyphen must be used with the \tweak form. Do not add it when \alterBroken is used as an \override.

In its \override usage, \alterBroken may be prefaced by \once or \temporary and reverted by using \revert with property.

The following code applies an independent \override to each of the slur segments in the previous example:

\relative c'' {
  r2
  \alterBroken thickness #'(10 1) Slur
  c8( d e f
  \break
  g8 f e d) r2
}

[image of music]

The \alterBroken command may be used with any spanner object, including Tie, PhrasingSlur, Beam and TextSpanner. For example, an editor preparing a scholarly edition may wish to indicate the absence of part of a phrasing slur in a source by dashing only the segment which has been added. The following example illustrates how this can be done, in this case using the \tweak form of the command:

% The empty list is conveniently used below, because it is the
% default setting of dash-definition, resulting in a solid curve.
\relative {
  c''2-\alterBroken dash-definition #'(() ((0 1.0 0.4 0.75))) \(e
  \break
  g2 e\)
}

[image of music]

It is important to understand that \alterBroken will set each piece of a broken spanner to the corresponding value in values. When there are fewer values than pieces, any additional piece will be assigned the empty list. This may lead to undesired results if the layout property is not set to the empty list by default. In such cases, each segment should be assigned an appropriate value.

Advertiments i problemes coneguts

Line breaks may occur in different places following changes in layout. Settings chosen for \alterBroken may be unsuitable for a spanner that is no longer broken or is split into more segments than before. Explicit use of \break can guard against this situation.

The \alterBroken command is ineffective for spanner properties accessed before line-breaking such as direction.

Vegeu també

Extending LilyPond: Difficult tweaks.


5.5.6 Unpure-pure containers

Unpure-pure containers are useful for overriding Y-axis spacing calculations - specifically Y-offset and Y-extent - with a Scheme function instead of a literal (i.e., a number or pair).

For certain grobs, the Y-extent is based on the stencil property, overriding the stencil property of one of these will require an additional Y-extent override with an unpure-pure container. When a function overrides a Y-offset and/or Y-extent it is assumed that this will trigger line breaking calculations too early during compilation. So the function is not evaluated at all (usually returning a value of ‘0’ or ‘'(0 . 0)’) which can result in collisions. A ‘pure’ function will not affect properties, objects or grob suicides and therefore will always have its Y-axis-related evaluated correctly.

Currently, there are about thirty functions that are already considered ‘pure’ and Unpure-pure containers are a way to set functions not on this list as ‘pure’. The ‘pure’ function is evaluated before any line-breaking and so the horizontal spacing can be adjusted ‘in time’. The ‘unpure’ function is then evaluated after line breaking.

Nota: As it is difficult to always know which functions are on this list we recommend that any ‘pure’ functions you create do not use Beam or VerticalAlignment grobs.

An unpure-pure container is constructed as follows;

(ly:make-unpure-pure-container f0 f1)

where f0 is a function taking n arguments (n >= 1) and the first argument must always be the grob. This is the function that gives the actual result. f1 is the function being labeled as ‘pure’ that takes n + 2 arguments. Again, the first argument must always still be the grob but the second and third are ‘start’ and ‘end’ arguments.

start and end are, for all intents and purposes, dummy values that only matter for Spanners (i.e Hairpin or Beam), that can return different height estimations based on a starting and ending column.

The rest are the other arguments to the first function (which may be none if n = 1).

The results of the second function are used as an approximation of the value needed which is then used by the first function to get the real value which is then used for fine-tuning much later during the spacing process.

#(define (square-line-circle-space grob)
(let* ((pitch (ly:event-property (ly:grob-property grob 'cause) 'pitch))
      (notename (ly:pitch-notename pitch)))
 (if (= 0 (modulo notename 2))
     (make-circle-stencil 0.5 0.0 #t)
     (make-filled-box-stencil '(0 . 1.0)
                              '(-0.5 . 0.5)))))

squareLineCircleSpace = {
  \override NoteHead.stencil = #square-line-circle-space
}

smartSquareLineCircleSpace = {
  \squareLineCircleSpace
  \override NoteHead.Y-extent =
   #(ly:make-unpure-pure-container
      ly:grob::stencil-height
      (lambda (grob start end) (ly:grob::stencil-height grob)))
}

\new Voice \with { \remove "Stem_engraver" }
\relative c'' {
  \squareLineCircleSpace
  cis4 ces disis d
  \smartSquareLineCircleSpace
  cis4 ces disis d
}

[image of music]

In the first measure, without the unpure-pure container, the spacing engine does not know the width of the note head and lets it collide with the accidentals. In the second measure, with unpure-pure containers, the spacing engine knows the width of the note heads and avoids the collision by lengthening the line accordingly.

Usually for simple calculations nearly-identical functions for both the ‘unpure’ and ‘pure’ parts can be used, by only changing the number of arguments passed to, and the scope of, the function. This use case is frequent enough that ly:make-unpure-pure-container constructs such a second function by default when called with only one function argument.

Nota: If a function is labeled as ‘pure’ and it turns out not to be, the results can be unexpected.


5.6 Using music functions

Where tweaks need to be reused with different music expressions, it is often convenient to make the tweak part of a music function. In this section, we discuss only substitution functions, where the object is to substitute a variable into a piece of LilyPond input code. Other more complex functions are described in Music functions.


5.6.1 Substitution function syntax

Making a function that substitutes a variable into LilyPond code is easy. The general form of these functions is

function =
#(define-music-function
     (arg1 arg2 …)
     (type1? type2? …)
   #{
     …music…
   #})

where

argNnth argument
typeN?a scheme type predicate for which argN must return #t.
…music…normal LilyPond input, using $ (in places where only LilyPond constructs are allowed) or # (to use it as a Scheme value or music function argument or music inside of music lists) to reference arguments (eg. ‘#arg1’).

The list of type predicates is required. Some of the most common type predicates used in music functions are:

boolean?
cheap-list?  (use instead of ‘list?’ for faster processing)
ly:duration?
ly:music?
ly:pitch?
markup?
number?
pair?
string?
symbol?

For a list of available type predicates, see Predefined type predicates. User-defined type predicates are also allowed.

Vegeu també

Notation Reference: Predefined type predicates.

Extending LilyPond: Music functions.

Installed Files: ‘lily/music-scheme.cc’, ‘scm/c++.scm’, ‘scm/lily.scm’.


5.6.2 Substitution function examples

This section introduces some substitution function examples. These are not intended to be exhaustive, but rather to demonstrate some of the possibilities of simple substitution functions.

In the first example, a function is defined that simplifies setting the padding of a TextScript:

padText =
#(define-music-function
     (padding)
     (number?)
   #{
     \once \override TextScript.padding = #padding
   #})

\relative {
  c''4^"piu mosso" b a b
  \padText #1.8
  c4^"piu mosso" b a b
  \padText #2.6
  c4^"piu mosso" b a b
}

[image of music]

In addition to numbers, we can use music expressions such as notes for arguments to music functions:

custosNote =
#(define-music-function
     (note)
     (ly:music?)
   #{
     \tweak NoteHead.stencil #ly:text-interface::print
     \tweak NoteHead.text
        \markup \musicglyph "custodes.mensural.u0"
     \tweak Stem.stencil ##f
     #note
   #})

\relative { c'4 d e f \custosNote g }

[image of music]

Both of those functions are simple single expressions where only the last element of a function call or override is missing. For those particular function definitions, there is a simpler alternative syntax, namely just writing out the constant part of the expression and replacing its final missing element with \etc:

padText =
  \once \override TextScript.padding = \etc

\relative {
  c''4^"piu mosso" b a b
  \padText #1.8
  c4^"piu mosso" b a b
  \padText #2.6
  c4^"piu mosso" b a b
}

[image of music]

custosNote =
  \tweak NoteHead.stencil #ly:text-interface::print
  \tweak NoteHead.text
     \markup \musicglyph "custodes.mensural.u0"
  \tweak Stem.stencil ##f
  \etc

\relative { c'4 d e f \custosNote g }

[image of music]

Substitution functions with multiple arguments can be defined:

tempoPadded =
#(define-music-function
     (padding tempotext)
     (number? markup?)
   #{
     \once \override Score.MetronomeMark.padding = #padding
     \tempo \markup { \bold #tempotext }
   #})

\relative {
  \tempo \markup { "Low tempo" }
  c''4 d e f g1
  \tempoPadded #4.0 "High tempo"
  g4 f e d c1
}

[image of music]


A. Notation manual tables


A.1 Chord name chart

The following chart shows two standard systems for printing chord names, along with the pitches they represent.

[image of music]


A.2 Common chord modifiers

The following table shows chord modifiers that can be used to generate standard chord structures.

TypeIntervalModifierExampleOutput
MajorMajor third,
perfect fifth
5 or nothingc1:5

[image of music]

MinorMinor third,
perfect fifth
m or m5c1:m

[image of music]

AugmentedMajor third,
augmented fifth
augc1:aug

[image of music]

DiminishedMinor third,
diminished fifth
dimc1:dim

[image of music]

Dominant seventhMajor triad,
minor seventh
7c1:7

[image of music]

Major seventhMajor triad,
major seventh
maj7 or majc1:maj7

[image of music]

Minor seventhMinor triad,
minor seventh
m7c1:m7

[image of music]

Diminished seventhDiminished triad,
diminished seventh
dim7c1:dim7

[image of music]

Augmented seventhAugmented triad,
minor seventh
aug7c1:aug7

[image of music]

Half-diminished seventhDiminished triad,
minor seventh
m7.5-c1:m7.5-

[image of music]

Minor-major seventhMinor triad,
major seventh
m7+c1:m7+

[image of music]

Major sixthMajor triad,
sixth
6c1:6

[image of music]

Minor sixthMinor triad,
sixth
m6c1:m6

[image of music]

Dominant ninthDominant seventh,
major ninth
9c1:9

[image of music]

Major ninthMajor seventh,
major ninth
maj9c1:maj9

[image of music]

Minor ninthMinor seventh,
major ninth
m9c1:m9

[image of music]

Dominant eleventhDominant ninth,
perfect eleventh
11c1:11

[image of music]

Major eleventhMajor ninth,
perfect eleventh
maj11c1:maj11

[image of music]

Minor eleventhMinor ninth,
perfect eleventh
m11c1:m11

[image of music]

Dominant thirteenthDominant ninth,
major thirteenth
13c1:13

[image of music]

Dominant thirteenthDominant eleventh,
major thirteenth
13.11c1:13.11

[image of music]

Major thirteenthMajor eleventh,
major thirteenth
maj13.11c1:maj13.11

[image of music]

Minor thirteenthMinor eleventh,
major thirteenth
m13.11c1:m13.11

[image of music]

Suspended secondMajor second,
perfect fifth
sus2c1:sus2

[image of music]

Suspended fourthPerfect fourth,
perfect fifth
sus4c1:sus4

[image of music]

Power chord
(two-voiced)
Perfect fifth1.5\powerChords c1:5

[image of music]

Power chord
(three-voiced)
Perfect fifth,
octave
1.5.8\powerChords c1:5.8

[image of music]


A.3 Predefined string tunings

The chart below shows the predefined string tunings.

[image of music]


A.4 Predefined fretboard diagrams


Diagrams for Guitar

[image of music]


Diagrams for Ukulele

[image of music]


Diagrams for Mandolin

[image of music]


A.5 Predefined paper sizes

Paper sizes are defined in ‘scm/paper.scm

The “ISO 216” A Series

"a10"

(26 x 37 mm)

"a9"

(37 x 52 mm)

"a8"

(52 x 74 mm)

"a7"

(74 x 105 mm)

"a6"

(105 x 148 mm)

"a5"

(148 x 210 mm)

"a4"

(210 x 297 mm)

"a3"

(297 x 420 mm)

"a2"

(420 x 594 mm)

"a1"

(594 x 841 mm)

"a0"

(841 x 1189 mm)

The “ISO 216” B Series

"b10"

(31 x 44 mm)

"b9"

(44 x 62 mm)

"b8"

(62 x 88 mm)

"b7"

(88 x 125 mm)

"b6"

(125 x 176 mm)

"b5"

(176 x 250 mm)

"b4"

(250 x 353 mm)

"b3"

(353 x 500 mm)

"b2"

(500 x 707 mm)

"b1"

(707 x 1000 mm)

"b0"

(1000 x 1414 mm)

Two extended sizes as defined in “DIN 476”

"4a0"

(1682 x 2378 mm)

"2a0"

(1189 x 1682 mm)

“ISO 269” standard C series

"c10"

(28 x 40 mm)

"c9"

(40 x 57 mm)

"c8"

(57 x 81 mm)

"c7"

(81 x 114 mm)

"c6"

(114 x 162 mm)

"c5"

(162 x 229 mm)

"c4"

(229 x 324 mm)

"c3"

(324 x 458 mm)

"c2"

(458 x 648 mm)

"c1"

(648 x 917 mm)

"c0"

(917 x 1297 mm)

North American paper sizes

"junior-legal"

(8.0 x 5.0 in)

"legal"

(8.5 x 14.0 in)

"ledger"

(17.0 x 11.0 in)

"letter"

(8.5 x 11.0 in)

"tabloid"

(11.0 x 17.0 in)

"11x17"

(11.0 x 17.0 in)

"17x11"

(17.0 x 11.0 in)

Government-letter by IEEE Printer Working Group, for children’s writing

"government-letter"

(8 x 10.5 in)

"government-legal"

(8.5 x 13.0 in)

"philippine-legal"

(8.5 x 13.0 in)

ANSI sizes

"ansi a"

(8.5 x 11.0 in)

"ansi b"

(17.0 x 11.0 in)

"ansi c"

(17.0 x 22.0 in)

"ansi d"

(22.0 x 34.0 in)

"ansi e"

(34.0 x 44.0 in)

"engineering f"

(28.0 x 40.0 in)

North American Architectural sizes

"arch a"

(9.0 x 12.0 in)

"arch b"

(12.0 x 18.0 in)

"arch c"

(18.0 x 24.0 in)

"arch d"

(24.0 x 36.0 in)

"arch e"

(36.0 x 48.0 in)

"arch e1"

(30.0 x 42.0 in)

Antique sizes still used in the United Kingdom

"statement"

(5.5 x 8.5 in)

"half letter"

(5.5 x 8.5 in)

"quarto"

(8.0 x 10.0 in)

"octavo"

(6.75 x 10.5 in)

"executive"

(7.25 x 10.5 in)

"monarch"

(7.25 x 10.5 in)

"foolscap"

(8.27 x 13.0 in)

"folio"

(8.27 x 13.0 in)

"super-b"

(13.0 x 19.0 in)

"post"

(15.5 x 19.5 in)

"crown"

(15.0 x 20.0 in)

"large post"

(16.5 x 21.0 in)

"demy"

(17.5 x 22.5 in)

"medium"

(18.0 x 23.0 in)

"broadsheet"

(18.0 x 24.0 in)

"royal"

(20.0 x 25.0 in)

"elephant"

(23.0 x 28.0 in)

"double demy"

(22.5 x 35.0 in)

"quad demy"

(35.0 x 45.0 in)

"atlas"

(26.0 x 34.0 in)

"imperial"

(22.0 x 30.0 in)

"antiquarian"

(31.0 x 53.0 in)

PA4 based sizes

"pa0"

(840 x 1120 mm)

"pa1"

(560 x 840 mm)

"pa2"

(420 x 560 mm)

"pa3"

(280 x 420 mm)

"pa4"

(210 x 280 mm)

"pa5"

(140 x 210 mm)

"pa6"

(105 x 140 mm)

"pa7"

(70 x 105 mm)

"pa8"

(52 x 70 mm)

"pa9"

(35 x 52 mm)

"pa10"

(26 x 35 mm)

Used in Southeast Asia and Australia

"f4"

(210 x 330 mm)

Used for very small @lilypond examples in the documentation based on a8 landscape.

"a8landscape"

(74 x 52 mm)


A.6 MIDI instruments

The following is a list of names that can be used for the midiInstrument property. The order of the instruments below, starting in the left-hand column moving down, corresponds to the General MIDI Standard’s 128 Program Numbers.

acoustic grand            contrabass           lead 7 (fifths)
bright acoustic           tremolo strings      lead 8 (bass+lead)
electric grand            pizzicato strings    pad 1 (new age)
honky-tonk                orchestral harp      pad 2 (warm)
electric piano 1          timpani              pad 3 (polysynth)
electric piano 2          string ensemble 1    pad 4 (choir)
harpsichord               string ensemble 2    pad 5 (bowed)
clav                      synthstrings 1       pad 6 (metallic)
celesta                   synthstrings 2       pad 7 (halo)
glockenspiel              choir aahs           pad 8 (sweep)
music box                 voice oohs           fx 1 (rain)
vibraphone                synth voice          fx 2 (soundtrack)
marimba                   orchestra hit        fx 3 (crystal)
xylophone                 trumpet              fx 4 (atmosphere)
tubular bells             trombone             fx 5 (brightness)
dulcimer                  tuba                 fx 6 (goblins)
drawbar organ             muted trumpet        fx 7 (echoes)
percussive organ          french horn          fx 8 (sci-fi)
rock organ                brass section        sitar
church organ              synthbrass 1         banjo
reed organ                synthbrass 2         shamisen
accordion                 soprano sax          koto
harmonica                 alto sax             kalimba
concertina                tenor sax            bagpipe
acoustic guitar (nylon)   baritone sax         fiddle
acoustic guitar (steel)   oboe                 shanai
electric guitar (jazz)    english horn         tinkle bell
electric guitar (clean)   bassoon              agogo
electric guitar (muted)   clarinet             steel drums
overdriven guitar         piccolo              woodblock
distorted guitar          flute                taiko drum
guitar harmonics          recorder             melodic tom
acoustic bass             pan flute            synth drum
electric bass (finger)    blown bottle         reverse cymbal
electric bass (pick)      shakuhachi           guitar fret noise
fretless bass             whistle              breath noise
slap bass 1               ocarina              seashore
slap bass 2               lead 1 (square)      bird tweet
synth bass 1              lead 2 (sawtooth)    telephone ring
synth bass 2              lead 3 (calliope)    helicopter
violin                    lead 4 (chiff)       applause
viola                     lead 5 (charang)     gunshot
cello                     lead 6 (voice)

A.7 List of colors

Normal colors

Usage syntax is detailed in Acoloriment d’objectes.

black       white          red         green
blue        cyan           magenta     yellow
grey        darkred        darkgreen   darkblue
darkcyan    darkmagenta    darkyellow

X color names

X color names come several variants:

Any name that is spelled as a single word with capitalization (e.g., ‘LightSlateBlue’) can also be spelled as space separated words without capitalization (e.g., ‘light slate blue’).

The word ‘grey’ can always be spelled ‘gray’ (e.g., ‘DarkSlateGray’).

Some names can take a numerical suffix (e.g., ‘LightSalmon4’).

Color Names without a numerical suffix:

snow		GhostWhite	WhiteSmoke	gainsboro	FloralWhite
OldLace		linen		AntiqueWhite	PapayaWhip	BlanchedAlmond
bisque		PeachPuff	NavajoWhite	moccasin	cornsilk
ivory		LemonChiffon	seashell	honeydew	MintCream
azure		AliceBlue	lavender	LavenderBlush	MistyRose
white		black		DarkSlateGrey	DimGrey		SlateGrey
LightSlateGrey	grey		LightGrey	MidnightBlue	navy
NavyBlue	CornflowerBlue	DarkSlateBlue	SlateBlue	MediumSlateBlue
LightSlateBlue	MediumBlue	RoyalBlue	blue		DodgerBlue
DeepSkyBlue	SkyBlue		LightSkyBlue	SteelBlue	LightSteelBlue
LightBlue	PowderBlue	PaleTurquoise	DarkTurquoise	MediumTurquoise
turquoise	cyan		LightCyan	CadetBlue	MediumAquamarine
aquamarine	DarkGreen	DarkOliveGreen	DarkSeaGreen	SeaGreen
MediumSeaGreen	LightSeaGreen	PaleGreen	SpringGreen	LawnGreen
green		chartreuse	MediumSpringGreen	GreenYellow	LimeGreen
YellowGreen	ForestGreen	OliveDrab	DarkKhaki	khaki
PaleGoldenrod	LightGoldenrodYellow	LightYellow	yellow	gold
LightGoldenrod	goldenrod	DarkGoldenrod	RosyBrown	IndianRed
SaddleBrown	sienna		peru		burlywood	beige
wheat		SandyBrown	tan		chocolate	firebrick
brown		DarkSalmon	salmon		LightSalmon	orange
DarkOrange	coral		LightCoral	tomato		OrangeRed
red		HotPink		DeepPink	pink		LightPink
PaleVioletRed	maroon		MediumVioletRed	VioletRed	magenta
violet		plum		orchid		MediumOrchid	DarkOrchid
DarkViolet	BlueViolet	purple		MediumPurple	thistle
DarkGrey	DarkBlue	DarkCyan	DarkMagenta	DarkRed
LightGreen

Color names with a numerical suffix

In the following names the suffix N can be a number in the range 1-4:

snowN		seashellN	AntiqueWhiteN	bisqueN		PeachPuffN
NavajoWhiteN	LemonChiffonN	cornsilkN	ivoryN		honeydewN
LavenderBlushN	MistyRoseN	azureN		SlateBlueN	RoyalBlueN
blueN		DodgerBlueN	SteelBlueN	DeepSkyBlueN	SkyBlueN
LightSkyBlueN	LightSteelBlueN	LightBlueN	LightCyanN	PaleTurquoiseN
CadetBlueN	turquoiseN	cyanN		aquamarineN	DarkSeaGreenN
SeaGreenN	PaleGreenN	SpringGreenN	greenN		chartreuseN
OliveDrabN	DarkOliveGreenN	khakiN		LightGoldenrodN	LightYellowN
yellowN		goldN		goldenrodN	DarkGoldenrodN	RosyBrownN
IndianRedN	siennaN		burlywoodN	wheatN		tanN
chocolateN	firebrickN	brownN		salmonN		LightSalmonN
orangeN		DarkOrangeN	coralN		tomatoN		OrangeRedN
redN		DeepPinkN	HotPinkN	pinkN		LightPinkN
PaleVioletRedN	maroonN		VioletRedN	magentaN	orchidN
plumN		MediumOrchidN	DarkOrchidN	purpleN		MediumPurpleN
thistleN

Grey Scale

A grey scale can be obtained using:

greyN

Where N is in the range 0-100.


A.8 The Emmentaler font

The Emmentaler font consists of two sub-sets of glyphs. “Feta”, used for classical notation and “Parmesan”, used for Ancient notation.

Any glyph within the Emmentaler font can be accessed directly by using text markup along with the name of the glyph (as shown in the tables below). For example;

g^\markup {\musicglyph "scripts.segno" }

or

\markup {\musicglyph "five"}

For more information see Donar format al text.


Clef glyphs

[image of music]


Time Signature glyphs

[image of music]


Number glyphs

[image of music]


Accidental glyphs

[image of music]


Default Notehead glyphs

[image of music]


Special Notehead glyphs

[image of music]


Shape-note Notehead glyphs

[image of music]


Rest glyphs

[image of music]


Flag glyphs

[image of music]


Dot glyphs

[image of music]


Dynamic glyphs

[image of music]


Script glyphs

[image of music]


Arrowhead glyphs

[image of music]


Bracket-tip glyphs

[image of music]


Pedal glyphs

[image of music]


Accordion glyphs

[image of music]


Tie glyphs

[image of music]


Vaticana glyphs

[image of music]


Medicaea glyphs

[image of music]


Hufnagel glyphs

[image of music]


Mensural glyphs

[image of music]


Neomensural glyphs

[image of music]


Petrucci glyphs

[image of music]


Solesmes glyphs

[image of music]


Kievan Notation glyphs

[image of music]


A.9 Note head styles

The following styles may be used for note heads.

[image of music]


A.10 Clef styles

The following table shows all the clef styles possible (including where middle C sits relative to the clef).


Standard clefs

ExampleOutputExampleOutput
\clef G

[image of music]

\clef "G2"

[image of music]

\clef treble

[image of music]

\clef violin

[image of music]

\clef french

[image of music]

\clef GG

[image of music]

\clef tenorG

[image of music]


\clef soprano

[image of music]

\clef mezzosoprano

[image of music]

\clef C

[image of music]

\clef alto

[image of music]

\clef tenor

[image of music]

\clef baritone

[image of music]


\clef varC

[image of music]

\clef altovarC

[image of music]

\clef tenorvarC

[image of music]

\clef baritonevarC

[image of music]


\clef varbaritone

[image of music]

\clef baritonevarF

[image of music]

\clef F

[image of music]

\clef bass

[image of music]

\clef subbass

[image of music]


Percussion staff clef

ExampleOutputExampleOutput
\clef percussion

[image of music]

\clef varpercussion

[image of music]


Tab staff clefs

ExampleOutputExampleOutput
\new TabStaff {
  \clef tab
}

[image of music]

\new TabStaff {
  \clef moderntab
}

[image of music]


Ancient music clefs

Gregorian

ExampleOutputExampleOutput
\clef "vaticana-do1"

[image of music]

\clef "vaticana-do2"

[image of music]

\clef "vaticana-do3"

[image of music]

\clef "vaticana-fa1"

[image of music]

\clef "vaticana-fa2"

[image of music]


\clef "medicaea-do1"

[image of music]

\clef "medicaea-do2"

[image of music]

\clef "medicaea-do3"

[image of music]

\clef "medicaea-fa1"

[image of music]

\clef "medicaea-fa2"

[image of music]


\clef "hufnagel-do1"

[image of music]

\clef "hufnagel-do2"

[image of music]

\clef "hufnagel-do3"

[image of music]

\clef "hufnagel-fa1"

[image of music]

\clef "hufnagel-fa2"

[image of music]

\clef
"hufnagel-do-fa"

[image of music]

Mensural

ExampleOutputExampleOutput
\clef "mensural-c1"

[image of music]

\clef "mensural-c2"

[image of music]

\clef "mensural-c3"

[image of music]

\clef "mensural-c4"

[image of music]

\clef "mensural-c5"

[image of music]


\clef "mensural-f"

[image of music]

\clef "mensural-g"

[image of music]


\clef "blackmensural-c1"

[image of music]

\clef "blackmensural-c2"

[image of music]

\clef "blackmensural-c3"

[image of music]

\clef "blackmensural-c4"

[image of music]

\clef "blackmensural-c5"

[image of music]


\clef "neomensural-c1"

[image of music]

\clef "neomensural-c2"

[image of music]

\clef "neomensural-c3"

[image of music]

\clef "neomensural-c4"

[image of music]

\clef "neomensural-c5"

[image of music]


\clef "petrucci-c1"

[image of music]

\clef "petrucci-c2"

[image of music]

\clef "petrucci-c3"

[image of music]

\clef "petrucci-c4"

[image of music]

\clef "petrucci-c5"

[image of music]


\clef "petrucci-f"

[image of music]

\clef "petrucci-f2"

[image of music]

\clef "petrucci-f3"

[image of music]

\clef "petrucci-f4"

[image of music]

\clef "petrucci-f5"

[image of music]


\clef "petrucci-g1"

[image of music]

\clef "petrucci-g2"

[image of music]

\clef "petrucci-g"

[image of music]

Kievan

ExampleOutput
\clef "kievan-do"

[image of music]


A.11 Text markup commands

The following commands can all be used inside \markup { }.


A.11.1 Font

\abs-fontsize size (number) arg (markup)

Use size as the absolute font size (in points) to display arg. Adjusts baseline-skip and word-space accordingly.

\markup {
  default text font size
  \hspace #2
  \abs-fontsize #16 { text font size 16 }
  \hspace #2
  \abs-fontsize #12 { text font size 12 }
}

[image of music]

Used properties:

  • baseline-skip (3)
  • word-space (0.6)
\bold arg (markup)

Switch to bold font-series.

\markup {
  default
  \hspace #2
  \bold
  bold
}

[image of music]

\box arg (markup)

Draw a box round arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \override #'(box-padding . 0.5)
  \box
  \line { V. S. }
}

[image of music]

Used properties:

  • box-padding (0.2)
  • font-size (0)
  • thickness (1)
\caps arg (markup)

Copy of the \smallCaps command.

\markup {
  default
  \hspace #2
  \caps {
    Text in small caps
  }
}

[image of music]

\dynamic arg (markup)

Use the dynamic font. This font only contains s, f, m, z, p, and r. When producing phrases, like ‘più f’, the normal words (like ‘più’) should be done in a different font. The recommended font for this is bold and italic.

\markup {
  \dynamic {
    sfzp
  }
}

[image of music]

\finger arg (markup)

Set arg as small numbers.

\markup {
  \finger {
    1 2 3 4 5
  }
}

[image of music]

\fontCaps arg (markup)

Set font-shape to caps

Note: \fontCaps requires the installation and selection of fonts which support the caps font shape.

\fontsize increment (number) arg (markup)

Add increment to the font-size. Adjusts baseline-skip accordingly.

\markup {
  default
  \hspace #2
  \fontsize #-1.5
  smaller
}

[image of music]

Used properties:

  • baseline-skip (2)
  • word-space (1)
  • font-size (0)
\huge arg (markup)

Set font size to +2.

\markup {
  default
  \hspace #2
  \huge
  huge
}

[image of music]

\italic arg (markup)

Use italic font-shape for arg.

\markup {
  default
  \hspace #2
  \italic
  italic
}

[image of music]

\large arg (markup)

Set font size to +1.

\markup {
  default
  \hspace #2
  \large
  large
}

[image of music]

\larger arg (markup)

Increase the font size relative to the current setting.

\markup {
  default
  \hspace #2
  \larger
  larger
}

[image of music]

\magnify sz (number) arg (markup)

Set the font magnification for its argument. In the following example, the middle A is 10% larger:

A \magnify #1.1 { A } A

Note: Magnification only works if a font name is explicitly selected. Use \fontsize otherwise.

\markup {
  default
  \hspace #2
  \magnify #1.5 {
    50% larger
  }
}

[image of music]

\medium arg (markup)

Switch to medium font-series (in contrast to bold).

\markup {
  \bold {
    some bold text
    \hspace #2
    \medium {
      medium font series
    }
    \hspace #2
    bold again
  }
}

[image of music]

\normal-size-sub arg (markup)

Set arg in subscript with a normal font size.

\markup {
  default
  \normal-size-sub {
    subscript in standard size
  }
}

[image of music]

Used properties:

  • font-size (0)
\normal-size-super arg (markup)

Set arg in superscript with a normal font size.

\markup {
  default
  \normal-size-super {
    superscript in standard size
  }
}

[image of music]

Used properties:

  • font-size (0)
\normal-text arg (markup)

Set all font related properties (except the size) to get the default normal text font, no matter what font was used earlier.

\markup {
  \huge \bold \sans \caps {
    huge bold sans caps
    \hspace #2
    \normal-text {
      huge normal
    }
    \hspace #2
    as before
  }
}

[image of music]

\normalsize arg (markup)

Set font size to default.

\markup {
  \teeny {
    this is very small
    \hspace #2
    \normalsize {
      normal size
    }
    \hspace #2
    teeny again
  }
}

[image of music]

\number arg (markup)

Set font family to number, which yields the font used for time signatures and fingerings. This font contains numbers and some punctuation; it has no letters.

\markup {
  \number {
    0 1 2 3 4 5 6 7 8 9 . ,
  }
}

[image of music]

\overtie arg (markup)

Overtie arg.

\markup \line {
  \overtie "overtied"
  \override #'(offset . 5)
  \override #'(thickness . 1)
  \overtie "overtied"
  \override #'(offset . 1)
  \override #'(thickness . 5)
  \overtie "overtied"
}

[image of music]

Used properties:

  • shorten-pair ((0 . 0))
  • direction (1)
  • offset (2)
  • thickness (1)
\replace replacements (list) arg (markup)

Used to automatically replace a string by another in the markup arg. Each pair of the alist replacements specifies what should be replaced. The key is the string to be replaced by the value string.

\markup \replace #'(("thx" . "Thanks!")) thx

[image of music]

\roman arg (markup)

Set font family to roman.

\markup {
  \sans \bold {
    sans serif, bold
    \hspace #2
    \roman {
      text in roman font family
    }
    \hspace #2
    return to sans
  }
}

[image of music]

\sans arg (markup)

Switch to the sans serif font family.

\markup {
  default
  \hspace #2
  \sans {
    sans serif
  }
}

[image of music]

\simple str (string)

A simple text string; \markup { foo } is equivalent with \markup { \simple #"foo" }.

Note: for creating standard text markup or defining new markup commands, the use of \simple is unnecessary.

\markup {
  \simple #"simple"
  \simple #"text"
  \simple #"strings"
}

[image of music]

\small arg (markup)

Set font size to -1.

\markup {
  default
  \hspace #2
  \small
  small
}

[image of music]

\smallCaps arg (markup)

Emit arg as small caps.

Note: \smallCaps does not support accented characters.

\markup {
  default
  \hspace #2
  \smallCaps {
    Text in small caps
  }
}

[image of music]

\smaller arg (markup)

Decrease the font size relative to the current setting.

\markup {
  \fontsize #3.5 {
    some large text
    \hspace #2
    \smaller {
      a bit smaller
    }
    \hspace #2
    more large text
  }
}

[image of music]

\sub arg (markup)

Set arg in subscript.

\markup {
  \concat {
    H
    \sub {
      2
    }
    O
  }
}

[image of music]

Used properties:

  • font-size (0)
\super arg (markup)

Set arg in superscript.

\markup {
  E =
  \concat {
    mc
    \super
    2
  }
}

[image of music]

Used properties:

  • font-size (0)
\teeny arg (markup)

Set font size to -3.

\markup {
  default
  \hspace #2
  \teeny
  teeny
}

[image of music]

\text arg (markup)

Use a text font instead of music symbol or music alphabet font.

\markup {
  \number {
    1, 2,
    \text {
      three, four,
    }
    5
  }
}

[image of music]

\tie arg (markup)

Adds a horizontal bow created with make-tie-stencil at bottom or top of arg. Looks at thickness to determine line thickness, and offset to determine y-offset. The added bow fits the extent of arg, shorten-pair may be used to modify this. direction may be set using an override or direction-modifiers or voiceOne, etc.

\markup {
  \override #'(direction . 1)
  \tie "above"
  \override #'(direction . -1)
  \tie "below"
}

[image of music]

Used properties:

  • shorten-pair ((0 . 0))
  • direction (1)
  • offset (2)
  • thickness (1)
\tiny arg (markup)

Set font size to -2.

\markup {
  default
  \hspace #2
  \tiny
  tiny
}

[image of music]

\typewriter arg (markup)

Use font-family typewriter for arg.

\markup {
  default
  \hspace #2
  \typewriter
  typewriter
}

[image of music]

\underline arg (markup)

Underline arg. Looks at thickness to determine line thickness, and offset to determine line y-offset.

\markup \fill-line {
  \underline "underlined"
  \override #'(offset . 5)
  \override #'(thickness . 1)
  \underline "underlined"
  \override #'(offset . 1)
  \override #'(thickness . 5)
  \underline "underlined"
}

[image of music]

Used properties:

  • offset (2)
  • thickness (1)
\undertie arg (markup)
\markup \line {
  \undertie "undertied"
  \override #'(offset . 5)
  \override #'(thickness . 1)
  \undertie "undertied"
  \override #'(offset . 1)
  \override #'(thickness . 5)
  \undertie "undertied"
}

[image of music]

Used properties:

  • shorten-pair ((0 . 0))
  • direction (1)
  • offset (2)
  • thickness (1)
\upright arg (markup)

Set font-shape to upright. This is the opposite of italic.

\markup {
  \italic {
    italic text
    \hspace #2
    \upright {
      upright text
    }
    \hspace #2
    italic again
  }
}

[image of music]


A.11.2 Align

\center-align arg (markup)

Align arg to its X center.

\markup {
  \column {
    one
    \center-align
    two
    three
  }
}

[image of music]

\center-column args (markup list)

Put args in a centered column.

\markup {
  \center-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\column args (markup list)

Stack the markups in args vertically. The property baseline-skip determines the space between markups in args.

\markup {
  \column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\combine arg1 (markup) arg2 (markup)

Print two markups on top of each other.

Note: \combine cannot take a list of markups enclosed in curly braces as an argument; for this purpose use \overlay instead.

\markup {
  \fontsize #5
  \override #'(thickness . 2)
  \combine
    \draw-line #'(0 . 4)
    \arrow-head #Y #DOWN ##f
}

[image of music]

\concat args (markup list)

Concatenate args in a horizontal line, without spaces in between. Strings and simple markups are concatenated on the input level, allowing ligatures. For example, \concat { "f" \simple #"i" } is equivalent to "fi".

\markup {
  \concat {
    one
    two
    three
  }
}

[image of music]

\dir-column args (markup list)

Make a column of args, going up or down, depending on the setting of the direction layout property.

\markup {
  \override #`(direction . ,UP) {
    \dir-column {
      going up
    }
  }
  \hspace #1
  \dir-column {
    going down
  }
  \hspace #1
  \override #'(direction . 1) {
    \dir-column {
      going up
    }
  }
}

[image of music]

Used properties:

  • baseline-skip
  • direction
\fill-line args (markup list)

Put markups in a horizontal line of width line-width. The markups are spaced or flushed to fill the entire line. If there are no arguments, return an empty stencil.

\markup {
  \column {
    \fill-line {
      Words evenly spaced across the page
    }
    \null
    \fill-line {
      \line { Text markups }
      \line {
        \italic { evenly spaced }
      }
      \line { across the page }
    }
  }
}

[image of music]

Used properties:

  • line-width (#f)
  • word-space (0.6)
  • text-direction (1)
\fill-with-pattern space (number) dir (direction) pattern (markup) left (markup) right (markup)

Put left and right in a horizontal line of width line-width with a line of markups pattern in between. Patterns are spaced apart by space. Patterns are aligned to the dir markup.

\markup \column {
  "right-aligned :"
  \fill-with-pattern #1 #RIGHT . first right
  \fill-with-pattern #1 #RIGHT . second right
  \null
  "center-aligned :"
  \fill-with-pattern #1.5 #CENTER - left right
  \null
  "left-aligned :"
  \override #'(line-width . 50)
  \fill-with-pattern #2 #LEFT : left first
  \override #'(line-width . 50)
  \fill-with-pattern #2 #LEFT : left second
}

[image of music]

Used properties:

  • line-width
  • word-space
\general-align axis (integer) dir (number) arg (markup)

Align arg in axis direction to the dir side.

\markup {
  \column {
    one
    \general-align #X #LEFT
    two
    three
    \null
    one
    \general-align #X #CENTER
    two
    three
    \null
    \line {
      one
      \general-align #Y #UP
      two
      three
    }
    \null
    \line {
      one
      \general-align #Y #3.2
      two
      three
    }
  }
}

[image of music]

\halign dir (number) arg (markup)

Set horizontal alignment. If dir is -1, then it is left-aligned, while +1 is right. Values in between interpolate alignment accordingly.

\markup {
  \column {
    one
    \halign #LEFT
    two
    three
    \null
    one
    \halign #CENTER
    two
    three
    \null
    one
    \halign #RIGHT
    two
    three
    \null
    one
    \halign #-5
    two
    three
  }
}

[image of music]

\hcenter-in length (number) arg (markup)

Center arg horizontally within a box of extending length/2 to the left and right.

\new StaffGroup <<
  \new Staff {
    \set Staff.instrumentName = \markup {
      \hcenter-in #12
      Oboe
    }
    c''1
  }
  \new Staff {
    \set Staff.instrumentName = \markup {
      \hcenter-in #12
      Bassoon
    }
    \clef tenor
    c'1
  }
>>

[image of music]

\hspace amount (number)

Create an invisible object taking up horizontal space amount.

\markup {
  one
  \hspace #2
  two
  \hspace #8
  three
}

[image of music]

\justify-field symbol (symbol)

Justify the data which has been assigned to symbol.

\header {
  title = "My title"
  myText = "Lorem ipsum dolor sit amet, consectetur adipisicing
    elit, sed do eiusmod tempor incididunt ut labore et dolore magna
    aliqua.  Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat."
}

\paper {
  bookTitleMarkup = \markup {
    \column {
      \fill-line { \fromproperty #'header:title }
      \null
      \justify-field #'header:myText
    }
  }
}

\markup {
  \null
}

[image of music]

\justify-line args (markup list)

Put markups in a horizontal line of width line-width. The markups are spread to fill the entire line and separated by equal space. If there are no arguments, return an empty stencil.

\markup {
  \justify-line {
    Space between neighboring words is constant
  }
}

[image of music]

Used properties:

  • line-width (#f)
  • word-space (0.6)
  • text-direction (1)
\justify args (markup list)

Like \wordwrap, but with lines stretched to justify the margins. Use \override #'(line-width . X) to set the line width; X is the number of staff spaces.

\markup {
  \justify {
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat.
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\justify-string arg (string)

Justify a string. Paragraphs may be separated with double newlines

\markup {
  \override #'(line-width . 40)
  \justify-string #"Lorem ipsum dolor sit amet, consectetur
      adipisicing elit, sed do eiusmod tempor incididunt ut labore
      et dolore magna aliqua.


      Ut enim ad minim veniam, quis nostrud exercitation ullamco
      laboris nisi ut aliquip ex ea commodo consequat.


      Excepteur sint occaecat cupidatat non proident, sunt in culpa
      qui officia deserunt mollit anim id est laborum"
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width
  • baseline-skip
\left-align arg (markup)

Align arg on its left edge.

\markup {
  \column {
    one
    \left-align
    two
    three
  }
}

[image of music]

\left-column args (markup list)

Put args in a left-aligned column.

\markup {
  \left-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\line args (markup list)

Put args in a horizontal line. The property word-space determines the space between markups in args.

\markup {
  \line {
    one two three
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
\lower amount (number) arg (markup)

Lower arg by the distance amount. A negative amount indicates raising; see also \raise.

\markup {
  one
  \lower #3
  two
  three
}

[image of music]

\overlay args (markup list)

Takes a list of markups combining them.

\markup {
  \fontsize #5
  \override #'(thickness . 2)
  \overlay {
    \draw-line #'(0 . 4)
    \arrow-head #Y #DOWN ##f
    \translate #'(0 . 4)\arrow-head #Y #UP ##f
  }
}

[image of music]

\pad-around amount (number) arg (markup)

Add padding amount all around arg.

\markup {
  \box {
    default
  }
  \hspace #2
  \box {
    \pad-around #0.5 {
      padded
    }
  }
}

[image of music]

\pad-markup amount (number) arg (markup)

Add space around a markup object. Identical to pad-around.

\markup {
  \box {
    default
  }
  \hspace #2
  \box {
    \pad-markup #1 {
      padded
    }
  }
}

[image of music]

\pad-to-box x-ext (pair of numbers) y-ext (pair of numbers) arg (markup)

Make arg take at least x-ext, y-ext space.

\markup {
  \box {
    default
  }
  \hspace #4
  \box {
    \pad-to-box #'(0 . 10) #'(0 . 3) {
      padded
    }
  }
}

[image of music]

\pad-x amount (number) arg (markup)

Add padding amount around arg in the X direction.

\markup {
  \box {
    default
  }
  \hspace #4
  \box {
    \pad-x #2 {
      padded
    }
  }
}

[image of music]

\put-adjacent axis (integer) dir (direction) arg1 (markup) arg2 (markup)

Put arg2 next to arg1, without moving arg1.

\raise amount (number) arg (markup)

Raise arg by the distance amount. A negative amount indicates lowering, see also \lower.

The argument to \raise is the vertical displacement amount, measured in (global) staff spaces. \raise and \super raise objects in relation to their surrounding markups.

If the text object itself is positioned above or below the staff, then \raise cannot be used to move it, since the mechanism that positions it next to the staff cancels any shift made with \raise. For vertical positioning, use the padding and/or extra-offset properties.

\markup {
  C
  \small
  \bold
  \raise #1.0
  9/7+
}

[image of music]

\right-align arg (markup)

Align arg on its right edge.

\markup {
  \column {
    one
    \right-align
    two
    three
  }
}

[image of music]

\right-column args (markup list)

Put args in a right-aligned column.

\markup {
  \right-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\rotate ang (number) arg (markup)

Rotate object with ang degrees around its center.

\markup {
  default
  \hspace #2
  \rotate #45
  \line {
    rotated 45°
  }
}

[image of music]

\translate offset (pair of numbers) arg (markup)

Translate arg relative to its surroundings. offset is a pair of numbers representing the displacement in the X and Y axis.

\markup {
  *
  \translate #'(2 . 3)
  \line { translated two spaces right, three up }
}

[image of music]

\translate-scaled offset (pair of numbers) arg (markup)

Translate arg by offset, scaling the offset by the font-size.

\markup {
  \fontsize #5 {
    * \translate #'(2 . 3) translate
    \hspace #2
    * \translate-scaled #'(2 . 3) translate-scaled
  }
}

[image of music]

Used properties:

  • font-size (0)
\vcenter arg (markup)

Align arg to its Y center.

\markup {
  one
  \vcenter
  two
  three
}

[image of music]

\vspace amount (number)

Create an invisible object taking up vertical space of amount multiplied by 3.

\markup {
    \center-column {
    one
    \vspace #2
    two
    \vspace #5
    three
  }
}

[image of music]

\wordwrap-field symbol (symbol)

Wordwrap the data which has been assigned to symbol.

\header {
  title = "My title"
  myText = "Lorem ipsum dolor sit amet, consectetur adipisicing
    elit, sed do eiusmod tempor incididunt ut labore et dolore
    magna aliqua.  Ut enim ad minim veniam, quis nostrud
    exercitation ullamco laboris nisi ut aliquip ex ea commodo
    consequat."
}

\paper {
  bookTitleMarkup = \markup {
    \column {
      \fill-line { \fromproperty #'header:title }
      \null
      \wordwrap-field #'header:myText
    }
  }
}

\markup {
  \null
}

[image of music]

\wordwrap args (markup list)

Simple wordwrap. Use \override #'(line-width . X) to set the line width, where X is the number of staff spaces.

\markup {
  \wordwrap {
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat.
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\wordwrap-string arg (string)

Wordwrap a string. Paragraphs may be separated with double newlines.

\markup {
  \override #'(line-width . 40)
  \wordwrap-string #"Lorem ipsum dolor sit amet, consectetur
      adipisicing elit, sed do eiusmod tempor incididunt ut labore
      et dolore magna aliqua.


      Ut enim ad minim veniam, quis nostrud exercitation ullamco
      laboris nisi ut aliquip ex ea commodo consequat.


      Excepteur sint occaecat cupidatat non proident, sunt in culpa
      qui officia deserunt mollit anim id est laborum"
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width
  • baseline-skip

A.11.3 Graphic

\arrow-head axis (integer) dir (direction) filled (boolean)

Produce an arrow head in specified direction and axis. Use the filled head if filled is specified.

\markup {
  \fontsize #5 {
    \general-align #Y #DOWN {
      \arrow-head #Y #UP ##t
      \arrow-head #Y #DOWN ##f
      \hspace #2
      \arrow-head #X #RIGHT ##f
      \arrow-head #X #LEFT ##f
    }
  }
}

[image of music]

\beam width (number) slope (number) thickness (number)

Create a beam with the specified parameters.

\markup {
  \beam #5 #1 #2
}

[image of music]

\bracket arg (markup)

Draw vertical brackets around arg.

\markup {
  \bracket {
    \note #"2." #UP
  }
}

[image of music]

\circle arg (markup)

Draw a circle around arg. Use thickness, circle-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \circle {
    Hi
  }
}

[image of music]

Used properties:

  • circle-padding (0.2)
  • font-size (0)
  • thickness (1)
\draw-circle radius (number) thickness (number) filled (boolean)

A circle of radius radius and thickness thickness, optionally filled.

\markup {
  \draw-circle #2 #0.5 ##f
  \hspace #2
  \draw-circle #2 #0 ##t
}

[image of music]

\draw-dashed-line dest (pair of numbers)

A dashed line.

If full-length is set to #t (default) the dashed-line extends to the whole length given by dest, without white space at beginning or end. off will then be altered to fit. To insist on the given (or default) values of on, off use \override #'(full-length . #f) Manual settings for on,off and phase are possible.

\markup {
  \draw-dashed-line #'(5.1 . 2.3)
  \override #'(on . 0.3)
  \override #'(off . 0.5)
  \draw-dashed-line #'(5.1 . 2.3)
}

[image of music]

Used properties:

  • full-length (#t)
  • phase (0)
  • off (1)
  • on (1)
  • thickness (1)
\draw-dotted-line dest (pair of numbers)

A dotted line.

The dotted-line always extends to the whole length given by dest, without white space at beginning or end. Manual settings for off are possible to get larger or smaller space between the dots. The given (or default) value of off will be altered to fit the line-length.

\markup {
  \draw-dotted-line #'(5.1 . 2.3)
  \override #'(thickness . 2)
  \override #'(off . 0.2)
  \draw-dotted-line #'(5.1 . 2.3)
}

[image of music]

Used properties:

  • phase (0)
  • off (1)
  • thickness (1)
\draw-hline

Draws a line across a page, where the property span-factor controls what fraction of the page is taken up.

\markup {
  \column {
    \draw-hline
    \override #'(span-factor . 1/3)
    \draw-hline
  }
}

[image of music]

Used properties:

  • span-factor (1)
  • line-width
  • draw-line-markup
\draw-line dest (pair of numbers)

A simple line.

\markup {
  \draw-line #'(4 . 4)
  \override #'(thickness . 5)
  \draw-line #'(-3 . 0)
}

[image of music]

Used properties:

  • thickness (1)
\draw-squiggle-line sq-length (number) dest (pair of numbers) eq-end? (boolean)

A squiggled line.

If eq-end? is set to #t, it is ensured the squiggled line ends with a bow in same direction as the starting one. sq-length is the length of the first bow. dest is the end point of the squiggled line. To match dest the squiggled line is scaled accordingly. Its appearance may be customized by overrides for thickness, angularity, height and orientation.

\markup
  \column {
    \draw-squiggle-line #0.5 #'(6 . 0) ##t
    \override #'(orientation . -1)
    \draw-squiggle-line #0.5 #'(6 . 0) ##t
    \draw-squiggle-line #0.5 #'(6 . 0) ##f
    \override #'(height . 1)
    \draw-squiggle-line #0.5 #'(6 . 0) ##t
    \override #'(thickness . 5)
    \draw-squiggle-line #0.5 #'(6 . 0) ##t
    \override #'(angularity . 2)
    \draw-squiggle-line #0.5 #'(6 . 0) ##t
  }

[image of music]

Used properties:

  • orientation (1)
  • height (0.5)
  • angularity (0)
  • thickness (0.5)
\ellipse arg (markup)

Draw an ellipse around arg. Use thickness, x-padding, y-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \ellipse {
    Hi
  }
}

[image of music]

Used properties:

  • y-padding (0.2)
  • x-padding (0.2)
  • font-size (0)
  • thickness (1)
\epsfile axis (number) size (number) file-name (string)

Inline an EPS image. The image is scaled along axis to size.

\markup {
  \general-align #Y #DOWN {
    \epsfile #X #20 #"context-example.eps"
    \epsfile #Y #20 #"context-example.eps"
  }
}

[image of music]

\filled-box xext (pair of numbers) yext (pair of numbers) blot (number)

Draw a box with rounded corners of dimensions xext and yext. For example,

\filled-box #'(-.3 . 1.8) #'(-.3 . 1.8) #0

creates a box extending horizontally from -0.3 to 1.8 and vertically from -0.3 up to 1.8, with corners formed from a circle of diameter 0 (i.e., sharp corners).

\markup {
  \filled-box #'(0 . 4) #'(0 . 4) #0
  \filled-box #'(0 . 2) #'(-4 . 2) #0.4
  \filled-box #'(1 . 8) #'(0 . 7) #0.2
  \with-color #white
  \filled-box #'(-4.5 . -2.5) #'(3.5 . 5.5) #0.7
}

[image of music]

\hbracket arg (markup)

Draw horizontal brackets around arg.

\markup {
  \hbracket {
    \line {
      one two three
    }
  }
}

[image of music]

\oval arg (markup)

Draw an oval around arg. Use thickness, x-padding, x-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \oval {
    Hi
  }
}

[image of music]

Used properties:

  • y-padding (0.75)
  • x-padding (0.75)
  • font-size (0)
  • thickness (1)
\parenthesize arg (markup)

Draw parentheses around arg. This is useful for parenthesizing a column containing several lines of text.

\markup {
  \line {
    \parenthesize {
      \column {
        foo
        bar
      }
    }
    \override #'(angularity . 2) {
      \parenthesize {
        \column {
          bah
          baz
        }
      }
    }
  }
}

[image of music]

Used properties:

  • width (0.25)
  • line-thickness (0.1)
  • thickness (1)
  • size (1)
  • padding
  • angularity (0)
\path thickness (number) commands (list)

Draws a path with line thickness according to the directions given in commands. commands is a list of lists where the car of each sublist is a drawing command and the cdr comprises the associated arguments for each command.

There are seven commands available to use in the list commands: moveto, rmoveto, lineto, rlineto, curveto, rcurveto, and closepath. Note that the commands that begin with r are the relative variants of the other three commands.

The commands moveto, rmoveto, lineto, and rlineto take 2 arguments; they are the X and Y coordinates for the destination point.

The commands curveto and rcurveto create cubic Bézier curves, and take 6 arguments; the first two are the X and Y coordinates for the first control point, the second two are the X and Y coordinates for the second control point, and the last two are the X and Y coordinates for the destination point.

The closepath command takes zero arguments and closes the current subpath in the active path.

Note that a sequence of commands must begin with a moveto or rmoveto to work with the SVG output.

Line-cap styles and line-join styles may be customized by overriding the line-cap-style and line-join-style properties, respectively. Available line-cap styles are 'butt, 'round, and 'square. Available line-join styles are 'miter, 'round, and 'bevel.

The property filled specifies whether or not the path is filled with color.

samplePath =
  #'((moveto 0 0)
     (lineto -1 1)
     (lineto 1 1)
     (lineto 1 -1)
     (curveto -5 -5 -5 5 -1 0)
     (closepath))

\markup {
  \path #0.25 #samplePath

  \override #'(line-join-style . miter) \path #0.25 #samplePath

  \override #'(filled . #t) \path #0.25 #samplePath
}

[image of music]

Used properties:

  • filled (#f)
  • line-join-style (round)
  • line-cap-style (round)
\postscript str (string)

This inserts str directly into the output as a PostScript command string.

ringsps = #"
  0.15 setlinewidth
  0.9 0.6 moveto
  0.4 0.6 0.5 0 361 arc
  stroke
  1.0 0.6 0.5 0 361 arc
  stroke
  "

rings = \markup {
  \with-dimensions #'(-0.2 . 1.6) #'(0 . 1.2)
  \postscript #ringsps
}

\relative c'' {
  c2^\rings
  a2_\rings
}

[image of music]

\rounded-box arg (markup)

Draw a box with rounded corners around arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup; the corner-radius property makes it possible to define another shape for the corners (default is 1).

c4^\markup {
  \rounded-box {
    Overtura
  }
}
c,8. c16 c4 r

[image of music]

Used properties:

  • box-padding (0.5)
  • font-size (0)
  • corner-radius (1)
  • thickness (1)
\scale factor-pair (pair of numbers) arg (markup)

Scale arg. factor-pair is a pair of numbers representing the scaling-factor in the X and Y axes. Negative values may be used to produce mirror images.

\markup {
  \line {
    \scale #'(2 . 1)
    stretched
    \scale #'(1 . -1)
    mirrored
  }
}

[image of music]

\triangle filled (boolean)

A triangle, either filled or empty.

\markup {
  \triangle ##t
  \hspace #2
  \triangle ##f
}

[image of music]

Used properties:

  • baseline-skip (2)
  • font-size (0)
  • thickness (0.1)
\with-url url (string) arg (markup)

Add a link to URL url around arg. This only works in the PDF backend.

\markup {
  \with-url #"http://lilypond.org/" {
    LilyPond ... \italic {
      music notation for everyone
    }
  }
}

[image of music]


A.11.4 Music

\compound-meter time-sig (number or pair)

Draw a numeric time signature.

\markup {
  \column {
    \line { Single number: \compound-meter #3 }
    \line { Conventional: \compound-meter #'(4 . 4)
                       or \compound-meter #'(4 4) }
    \line { Compound: \compound-meter #'(2 3 8) }
    \line { Single-number compound: \compound-meter #'((2) (3)) }
    \line { Complex compound: \compound-meter #'((2 3 8) (3 4)) }
  }
}

[image of music]

\customTabClef num-strings (integer) staff-space (number)

Draw a tab clef sans-serif style.

\doubleflat

Draw a double flat symbol.

\markup {
  \doubleflat
}

[image of music]

\doublesharp

Draw a double sharp symbol.

\markup {
  \doublesharp
}

[image of music]

\fermata

Create a fermata glyph. When direction is DOWN, use an inverted glyph. Note that within music, one would usually use the \fermata articulation instead of a markup.

 { c''1^\markup \fermata d''1_\markup \fermata }

\markup { \fermata \override #`(direction . ,DOWN) \fermata }

[image of music]

Used properties:

  • direction (1)
\flat

Draw a flat symbol.

\markup {
  \flat
}

[image of music]

\musicglyph glyph-name (string)

glyph-name is converted to a musical symbol; for example, \musicglyph #"accidentals.natural" selects the natural sign from the music font. See The Emmentaler font for a complete listing of the possible glyphs.

\markup {
  \musicglyph #"f"
  \musicglyph #"rests.2"
  \musicglyph #"clefs.G_change"
}

[image of music]

\natural

Draw a natural symbol.

\markup {
  \natural
}

[image of music]

\note-by-number log (number) dot-count (number) dir (number)

Construct a note symbol, with stem and flag. By using fractional values for dir, longer or shorter stems can be obtained. Supports all note-head-styles. Ancient note-head-styles will get mensural-style-flags. flag-style may be overridden independently. Supported flag-styles are default, old-straight-flag, modern-straight-flag, flat-flag, mensural and neomensural. The latter two flag-styles will both result in mensural-flags. Both are supplied for convenience.

\markup {
  \note-by-number #3 #0 #DOWN
  \hspace #2
  \note-by-number #1 #2 #0.8
}

[image of music]

Used properties:

  • style (’())
  • flag-style (’())
  • font-size (0)
\note duration (string) dir (number)

This produces a note with a stem pointing in dir direction, with the duration for the note head type and augmentation dots. For example, \note #"4." #-0.75 creates a dotted quarter note, with a shortened down stem.

\markup {
  \override #'(style . cross) {
    \note #"4.." #UP
  }
  \hspace #2
  \note #"breve" #0
}

[image of music]

Used properties:

  • style (’())
  • flag-style (’())
  • font-size (0)
\rest-by-number log (number) dot-count (number)

A rest or multi-measure-rest symbol.

\markup {
  \rest-by-number #3 #2
  \hspace #2
  \rest-by-number #0 #1
  \hspace #2
  \override #'(multi-measure-rest . #t)
  \rest-by-number #0 #0
}

[image of music]

Used properties:

  • multi-measure-rest (#f)
  • style (’())
  • font-size (0)
\rest duration (string)

This produces a rest, with the duration for the rest type and augmentation dots. "breve", "longa" and "maxima" are valid input-strings.

Printing MultiMeasureRests could be enabled with \override #'(multi-measure-rest . #t) If MultiMeasureRests are taken, the MultiMeasureRestNumber is printed above. This is enabled for all styles using default-glyphs. Could be disabled with \override #'(multi-measure-rest-number . #f)

\markup {
  \rest #"4.."
  \hspace #2
  \rest #"breve"
  \hspace #2
  \override #'(multi-measure-rest . #t)
  {
  \rest #"7"
  \hspace #2
  \override #'(multi-measure-rest-number . #f)
  \rest #"7"
  }
}

[image of music]

Used properties:

  • word-space (0.6)
  • multi-measure-rest-number (#t)
  • multi-measure-rest (#f)
  • style (’())
\score score (score)

Inline an image of music. The reference point (usually the middle staff line) of the lowest staff in the top system is placed on the baseline.

\markup {
  \score {
    \new PianoStaff <<
      \new Staff \relative c' {
        \key f \major
        \time 3/4
        \mark \markup { Allegro }
        f2\p( a4)
        c2( a4)
        bes2( g'4)
        f8( e) e4 r
      }
      \new Staff \relative c {
        \clef bass
        \key f \major
        \time 3/4
        f8( a c a c a
        f c' es c es c)
        f,( bes d bes d bes)
        f( g bes g bes g)
      }
    >>
    \layout {
      indent = 0.0\cm
      \context {
        \Score
        \override RehearsalMark
          #'break-align-symbols = #'(time-signature key-signature)
        \override RehearsalMark
          #'self-alignment-X = #LEFT
      }
      \context {
        \Staff
        \override TimeSignature
          #'break-align-anchor-alignment = #LEFT
      }
    }
  }
}

[image of music]

Used properties:

  • baseline-skip
\semiflat

Draw a semiflat symbol.

\markup {
  \semiflat
}

[image of music]

\semisharp

Draw a semisharp symbol.

\markup {
  \semisharp
}

[image of music]

\sesquiflat

Draw a 3/2 flat symbol.

\markup {
  \sesquiflat
}

[image of music]

\sesquisharp

Draw a 3/2 sharp symbol.

\markup {
  \sesquisharp
}

[image of music]

\sharp

Draw a sharp symbol.

\markup {
  \sharp
}

[image of music]

\tied-lyric str (string)

Like simple-markup, but use tie characters for ‘~’ tilde symbols.

\markup \column {
  \tied-lyric #"Siam navi~all'onde~algenti Lasciate~in abbandono"
  \tied-lyric #"Impetuosi venti I nostri~affetti sono"
  \tied-lyric #"Ogni diletto~e scoglio Tutta la vita~e~un mar."
}

[image of music]

Used properties:

  • word-space

A.11.5 Instrument Specific Markup

\fret-diagram definition-string (string)

Make a (guitar) fret diagram. For example, say

\markup \fret-diagram #"s:0.75;6-x;5-x;4-o;3-2;2-3;1-2;"

for fret spacing 3/4 of staff space, D chord diagram

Syntax rules for definition-string:

  • - Diagram items are separated by semicolons.
  • - Possible items:
    • s:number – Set the fret spacing of the diagram (in staff spaces). Default: 1.
    • t:number – Set the line thickness (relative to normal line thickness). Default: 0.5.
    • h:number – Set the height of the diagram in frets. Default: 4.
    • w:number – Set the width of the diagram in strings. Default: 6.
    • f:number – Set fingering label type (0 = none, 1 = in circle on string, 2 = below string). Default: 0.
    • d:number – Set radius of dot, in terms of fret spacing. Default: 0.25.
    • p:number – Set the position of the dot in the fret space. 0.5 is centered; 1 is on lower fret bar, 0 is on upper fret bar. Default: 0.6.
    • c:string1-string2-fret – Include a barre mark from string1 to string2 on fret.
    • string-fret – Place a dot on string at fret. If fret is ‘o’, string is identified as open. If fret is ‘x’, string is identified as muted.
    • string-fret-fingering – Place a dot on string at fret, and label with fingering as defined by the f: code.
  • - Note: There is no limit to the number of fret indications per string.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\fret-diagram-terse definition-string (string)

Make a fret diagram markup using terse string-based syntax.

Here is an example

\markup \fret-diagram-terse #"x;x;o;2;3;2;"

for a D chord diagram.

Syntax rules for definition-string:

  • Strings are terminated by semicolons; the number of semicolons is the number of strings in the diagram.
  • Mute strings are indicated by ‘x’.
  • Open strings are indicated by ‘o’.
  • A number indicates a fret indication at that fret.
  • If there are multiple fret indicators desired on a string, they should be separated by spaces.
  • Fingerings are given by following the fret number with a -, followed by the finger indicator, e.g. ‘3-2’ for playing the third fret with the second finger.
  • Where a barre indicator is desired, follow the fret (or fingering) symbol with -( to start a barre and -) to end the barre.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\fret-diagram-verbose marking-list (pair)

Make a fret diagram containing the symbols indicated in marking-list.

For example,

\markup \fret-diagram-verbose
  #'((mute 6) (mute 5) (open 4)
     (place-fret 3 2) (place-fret 2 3) (place-fret 1 2))

produces a standard D chord diagram without fingering indications.

Possible elements in marking-list:

(mute string-number)

Place a small ‘x’ at the top of string string-number.

(open string-number)

Place a small ‘o’ at the top of string string-number.

(barre start-string end-string fret-number)

Place a barre indicator (much like a tie) from string start-string to string end-string at fret fret-number.

(capo fret-number)

Place a capo indicator (a large solid bar) across the entire fretboard at fret location fret-number. Also, set fret fret-number to be the lowest fret on the fret diagram.

(place-fret string-number fret-number [finger-value] [color-modifier] [color] ['parenthesized ['default-paren-color]]) Place a fret playing indication on string string-number at fret fret-number with an optional fingering label finger-value, an optional color modifier color-modifier, an optional color color, an optional parenthesis 'parenthesized and an optional paranthesis color 'default-paren-color. By default, the fret playing indicator is a solid dot. This can be globally changed by setting the value of the variable dot-color or for a single dot by setting the value of color. The dot can be parenthesized by adding 'parenthesized. By default the color for the parenthesis is taken from the dot. Adding 'default-paren-color will take the parenthesis-color from the global dot-color, as a fall-back black will be used. Setting color-modifier to inverted inverts the dot color for a specific fingering. The values for string-number, fret-number, and the optional finger should be entered first in that order. The order of the other optional arguments does not matter. If the finger part of the place-fret element is present, finger-value will be displayed according to the setting of the variable finger-code. There is no limit to the number of fret indications per string.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\harp-pedal definition-string (string)

Make a harp pedal diagram.

Possible elements in definition-string:

^

pedal is up

-

pedal is neutral

v

pedal is down

|

vertical divider line

o

the following pedal should be circled (indicating a change)

The function also checks if the string has the typical form of three pedals, then the divider and then the remaining four pedals. If not it prints out a warning. However, in any case, it will also print each symbol in the order as given. This means you can place the divider (even multiple dividers) anywhere you want, but you’ll have to live with the warnings.

The appearance of the diagram can be tweaked inter alia using the size property of the TextScript grob (\override Voice.TextScript #'size = #0.3) for the overall, the thickness property (\override Voice.TextScript #'thickness = #3) for the line thickness of the horizontal line and the divider. The remaining configuration (box sizes, offsets and spaces) is done by the harp-pedal-details list of properties (\override Voice.TextScript #'harp-pedal-details #'box-width = #1). It contains the following settings: box-offset (vertical shift of the box center for up/down pedals), box-width, box-height, space-before-divider (the spacing between two boxes before the divider) and space-after-divider (box spacing after the divider).

\markup \harp-pedal #"^-v|--ov^"

[image of music]

Used properties:

  • thickness (0.5)
  • harp-pedal-details (’())
  • size (1.2)
\woodwind-diagram instrument (symbol) user-draw-commands (list)

Make a woodwind-instrument diagram. For example, say

\markup \woodwind-diagram
  #'oboe #'((lh . (d ees)) (cc . (five3qT1q)) (rh . (gis)))

for an oboe with the left-hand d key, left-hand ees key, and right-hand gis key depressed while the five-hole of the central column effectuates a trill between 1/4 and 3/4 closed.

The following instruments are supported:

  • - piccolo
  • - flute
  • - oboe
  • - clarinet
  • - bass-clarinet
  • - saxophone
  • - bassoon
  • - contrabassoon

To see all of the callable keys for a given instrument, include the function (print-keys 'instrument) in your .ly file, where instrument is the instrument whose keys you want to print.

Certain keys allow for special configurations. The entire gamut of configurations possible is as follows:

  • - 1q (1/4 covered)
  • - 1h (1/2 covered)
  • - 3q (3/4 covered)
  • - R (ring depressed)
  • - F (fully covered; the default if no state put)

Additionally, these configurations can be used in trills. So, for example, three3qTR effectuates a trill between 3/4 full and ring depressed on the three hole. As another example, threeRT effectuates a trill between R and open, whereas threeTR effectuates a trill between open and shut. To see all of the possibilities for all of the keys of a given instrument, invoke (print-keys-verbose 'instrument).

Lastly, substituting an empty list for the pressed-key alist will result in a diagram with all of the keys drawn but none filled, for example:

\markup \woodwind-diagram #'oboe #'()

Used properties:

  • graphical (#t)
  • thickness (0.1)
  • size (1)

A.11.6 Accordion Registers

\discant name (string)

\discant name generates a discant accordion register symbol.

To make it available,

#(use-modules (scm accreg))

is required near the top of your input file.

The register names in the default \discant register set have modeled after numeric Swiss notation like depicted in http://de.wikipedia.org/wiki/Register_%28Akkordeon%29, omitting the slashes and dropping leading zeros.

The string name is basically a three-digit number with the lowest digit specifying the number of 16’ reeds, the tens the number of 8’ reeds, and the hundreds specifying the number of 4’ reeds. Without modification, the specified number of reeds in 8’ is centered in the symbol. Newer instruments may have registrations where 8’ can be used either within or without a tone chamber, ‘cassotto’. Notationally, the central dot then indicates use of cassotto. One can suffix the tens’ digits ‘1’ and ‘2’ with ‘+’ or ‘-’ to indicate clustering the dots at the right or left respectively rather than centered.

Some examples are

[image of music]

Used properties:

  • font-size (0)
\freeBass name (string)

\freeBass name generates a free bass/converter accordion register symbol for the usual two-reed layout.

To make it available,

#(use-modules (scm accreg))

is required near the top of your input file.

Available registrations are

[image of music]

Used properties:

  • font-size (0)
\stdBass name (string)

\stdBass name generates a standard bass accordion register symbol.

To make it available,

#(use-modules (scm accreg))

is required near the top of your input file.

The default bass register definitions have been modeled after the article http://www.accordions.com/index/art/stradella.shtml originally appearing in Accord Magazine.

The underlying register model is

[image of music]

This kind of overlapping arrangement is common for Italian instruments though the exact location of the octave breaks differ.

When not composing for a particular target instrument, using the five reed definitions makes more sense than using a four reed layout: in that manner, the ‘Master’ register is unambiguous. This is rather the rule in literature bothering about bass registrations at all.

Available registrations are

[image of music]

Used properties:

  • font-size (0)
\stdBassIV name (string)

\stdBassIV name generates a standard bass accordion register symbol.

To make it available,

#(use-modules (scm accreg))

is required near the top of your input file.

The main use is for four-reed standard bass instruments with reedbank layout

[image of music]

Notable instruments are Morino models with MIII (the others are five-reed instead) and the Atlantic IV. Most of those models have three register switches. Some newer Morinos with MIII might have five or even seven.

The prevalent three-register layout uses the middle three switches ‘Tenor’, ‘Master’, ‘Soft Bass’. Note that the sound is quite darker than the same registrations of ‘c,’-based instruments.

Available registrations are

[image of music]

Used properties:

  • font-size (0)
\stdBassV name (string)

\stdBassV name generates a standard bass accordion register symbol.

To make it available,

#(use-modules (scm accreg))

is required near the top of your input file.

The main use is for five-reed standard bass instruments with reedbank layout

[image of music]

This tends to be the bass layout for Hohner’s Morino series without convertor or MIII manual.

With the exception of the rather new 7-register layout, the highest two chord reeds are usually sounded together. The Older instruments offer 5 or 3 bass registers. The Tango VM offers an additional ‘Solo Bass’ setting that mutes the chord reeds. The symbol on the register buttons of the Tango VM would actually match the physical five-octave layout reflected here, but it is not used in literature.

Composers should likely prefer the five-reed versions of these symbols. The mismatch of a four-reed instrument with five-reed symbols is easier to resolve for the player than the other way round.

Available registrations are

[image of music]

Used properties:

  • font-size (0)
\stdBassVI name (string)

\stdBassVI name generates a standard bass accordion register symbol for six reed basses.

To make it available,

#(use-modules (scm accreg))

is required near the top of your input file.

This is primarily the register layout for the Hohner “Gola” model. The layout is

[image of music]

The registers are effectively quite similar to that of \stdBass. An additional bass reed at alto pitch is omitted for esthetical reasons from the ‘Master’ setting, so the symbols are almost the same except for the ‘Alto/Soprano’ register with bass notes at Alto pitch and chords at Soprano pitch.

Available registrations are

[image of music]

Used properties:

  • font-size (0)

A.11.7 Other

\auto-footnote mkup (markup) note (markup)

Have footnote note act as an annotation to the markup mkup.

\markup {
  \auto-footnote a b
  \override #'(padding . 0.2)
  \auto-footnote c d
}

[image of music]

The footnote will be annotated automatically.

Used properties:

  • padding (0.0)
  • raise (0.5)
\backslashed-digit num (integer)

A feta number, with backslash. This is for use in the context of figured bass notation.

\markup {
  \backslashed-digit #5
  \hspace #2
  \override #'(thickness . 3)
  \backslashed-digit #7
}

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\char num (integer)

Produce a single character. Characters encoded in hexadecimal format require the prefix #x.

\markup {
  \char #65 \char ##x00a9
}

[image of music]

\eyeglasses

Prints out eyeglasses, indicating strongly to look at the conductor.

\markup { \eyeglasses }

[image of music]

\first-visible args (markup list)

Use the first markup in args that yields a non-empty stencil and ignore the rest.

\markup {
  \first-visible {
    \fromproperty #'header:composer
    \italic Unknown
  }
}

[image of music]

\footnote mkup (markup) note (markup)

Have footnote note act as an annotation to the markup mkup.

\markup {
  \auto-footnote a b
  \override #'(padding . 0.2)
  \auto-footnote c d
}

[image of music]

The footnote will not be annotated automatically.

\fraction arg1 (markup) arg2 (markup)

Make a fraction of two markups.

\markup {
  π ≈
  \fraction 355 113
}

[image of music]

Used properties:

  • font-size (0)
\fromproperty symbol (symbol)

Read the symbol from property settings, and produce a stencil from the markup contained within. If symbol is not defined, it returns an empty markup.

\header {
  myTitle = "myTitle"
  title = \markup {
    from
    \italic
    \fromproperty #'header:myTitle
  }
}
\markup {
  \null
}

[image of music]

\left-brace size (number)

A feta brace in point size size.

\markup {
  \left-brace #35
  \hspace #2
  \left-brace #45
}

[image of music]

\lookup glyph-name (string)

Lookup a glyph by name.

\markup {
  \override #'(font-encoding . fetaBraces) {
    \lookup #"brace200"
    \hspace #2
    \rotate #180
    \lookup #"brace180"
  }
}

[image of music]

\markalphabet num (integer)

Make a markup letter for num. The letters start with A to Z and continue with double letters.

\markup {
  \markalphabet #8
  \hspace #2
  \markalphabet #26
}

[image of music]

\markletter num (integer)

Make a markup letter for num. The letters start with A to Z (skipping letter I), and continue with double letters.

\markup {
  \markletter #8
  \hspace #2
  \markletter #26
}

[image of music]

\null

An empty markup with extents of a single point.

\markup {
  \null
}

[image of music]

\on-the-fly procedure (procedure) arg (markup)

Apply the procedure markup command to arg. procedure takes the same arguments as interpret-markup and returns a stencil.

\override new-prop (pair) arg (markup)

Add the argument new-prop to the property list. Properties may be any property supported by font-interface, text-interface and instrument-specific-markup-interface.

\markup {
  \line {
    \column {
      default
      baseline-skip
    }
    \hspace #2
    \override #'(baseline-skip . 4) {
      \column {
        increased
        baseline-skip
      }
    }
  }
}

[image of music]

\page-link page-number (number) arg (markup)

Add a link to the page page-number around arg. This only works in the PDF backend.

\markup {
  \page-link #2  { \italic { This links to page 2... } }
}

[image of music]

\page-ref label (symbol) gauge (markup) default (markup)

Reference to a page number. label is the label set on the referenced page (using the \label command), gauge a markup used to estimate the maximum width of the page number, and default the value to display when label is not found.

(If the current book or bookpart is set to use roman numerals for page numbers, the reference will be formatted accordingly – in which case the gauge’s width may require additional tweaking.)

\pattern count (integer) axis (integer) space (number) pattern (markup)

Prints count times a pattern markup. Patterns are spaced apart by space. Patterns are distributed on axis.

\markup \column {
  "Horizontally repeated :"
  \pattern #7 #X #2 \flat
  \null
  "Vertically repeated :"
  \pattern #3 #Y #0.5 \flat
}

[image of music]

\property-recursive symbol (symbol)

Print out a warning when a header field markup contains some recursive markup definition.

\right-brace size (number)

A feta brace in point size size, rotated 180 degrees.

\markup {
  \right-brace #45
  \hspace #2
  \right-brace #35
}

[image of music]

\slashed-digit num (integer)

A feta number, with slash. This is for use in the context of figured bass notation.

\markup {
  \slashed-digit #5
  \hspace #2
  \override #'(thickness . 3)
  \slashed-digit #7
}

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\stencil stil (stencil)

Use a stencil as markup.

\markup {
  \stencil #(make-circle-stencil 2 0 #t)
}

[image of music]

\strut

Create a box of the same height as the space in the current font.

\transparent arg (markup)

Make arg transparent.

\markup {
  \transparent {
    invisible text
  }
}

[image of music]

\verbatim-file name (string)

Read the contents of file name, and include it verbatim.

\markup {
  \verbatim-file #"simple.ly"
}

[image of music]

\whiteout arg (markup)

Provide a white background for arg. The shape of the white background is determined by style. The default is box which produces a rectangle. rounded-box produces a rounded rectangle. outline approximates the outline of the markup.

\markup {
  \combine
    \filled-box #'(-1 . 15) #'(-3 . 4) #1
    \override #'(thickness . 1.5)
    \whiteout whiteout-box
}
\markup {
  \combine
    \filled-box #'(-1 . 24) #'(-3 . 4) #1
    \override #'(style . rounded-box)
    \override #'(thickness . 3)
    \whiteout whiteout-rounded-box
}
\markup {
  \combine
    \filled-box #'(-1 . 18) #'(-3 . 4) #1
    \override #'(style . outline)
    \override #'(thickness . 3)
    \whiteout whiteout-outline
}

[image of music]

Used properties:

  • thickness (’())
  • style (box)
\with-color color (color) arg (markup)

Draw arg in color specified by color.

\markup {
  \with-color #red
  red
  \hspace #2
  \with-color #green
  green
  \hspace #2
  \with-color #blue
  blue
}

[image of music]

\with-dimensions-from arg1 (markup) arg2 (markup)

Print arg2 with the dimensions of arg1.

\with-dimensions x (pair of numbers) y (pair of numbers) arg (markup)

Set the dimensions of arg to x and y.

\with-link label (symbol) arg (markup)

Add a link to the page holding label label around arg. This only works in the PDF backend.

\markup {
  \with-link #'label {
    \italic { This links to the page containing the label... }
  }
}

[image of music]

\with-outline outline (markup) arg (markup)

Print arg with the outline and dimensions of outline.


A.12 Text markup list commands

The following commands can all be used with \markuplist:

\column-lines args (markup list)

Like \column, but return a list of lines instead of a single markup. baseline-skip determines the space between each markup in args.

Used properties:

  • baseline-skip
\justified-lines args (markup list)

Like \justify, but return a list of lines instead of a single markup. Use \override-lines #'(line-width . X) to set the line width; X is the number of staff spaces.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\map-markup-commands compose (procedure) args (markup list)

This applies the function compose to every markup in args (including elements of markup list command calls) in order to produce a new markup list. Since the return value from a markup list command call is not a markup list but rather a list of stencils, this requires passing those stencils off as the results of individual markup calls. That way, the results should work out as long as no markups rely on side effects.

\override-lines new-prop (pair) args (markup list)

Like \override, for markup lists.

\score-lines score (score)

This is the same as the \score markup but delivers its systems as a list of lines. Its score argument is entered in braces like it would be for \score.

\table column-align (number list) lst (markup list)

Returns a table.

column-align specifies how each column is aligned, possible values are -1, 0, 1. The number of elements in column-align determines how many columns will be printed. The entries to print are given by lst, a markup-list. If needed, the last row is filled up with point-stencils. Overriding padding may be used to increase columns horizontal distance. Overriding baseline-skip to increase rows vertical distance.

\markuplist {
  \override #'(padding . 2)
  \table
    #'(0 1 0 -1)
    {
      \underline { center-aligned right-aligned center-aligned left-aligned }
      one \number 1 thousandth \number 0.001
      eleven \number 11 hundredth \number 0.01
      twenty \number 20 tenth \number 0.1
      thousand \number 1000 one \number 1.0
    }
}

[image of music]

Used properties:

  • baseline-skip
  • padding (0)
\table-of-contents

Used properties:

  • baseline-skip
\wordwrap-internal justify (boolean) args (markup list)

Internal markup list command used to define \justify and \wordwrap.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
\wordwrap-lines args (markup list)

Like \wordwrap, but return a list of lines instead of a single markup. Use \override-lines #'(line-width . X) to set the line width, where X is the number of staff spaces.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\wordwrap-string-internal justify (boolean) arg (string)

Internal markup list command used to define \justify-string and \wordwrap-string.

Used properties:

  • text-direction (1)
  • word-space
  • line-width

A.13 List of special characters

The following special characters references can be used; for more details, see ASCII aliases.

The HTML syntax is used and most of these references are the same as HTML. The rest of them are inspired by LaTeX.

The characters are boxed so that you can see their size. A small padding has been added between the character and the box for more readability.

[image of music]


A.14 List of articulations

The following lists show all the scripts in the Feta font that may be attached to notes (eg. ‘f\accent’ or ‘f->’). Each example shows the script in the up, down and neutral positions respectively.


Articulation scripts

\accent or ->

[image of music]

\espressivo

[image of music]

\marcato or -^

[image of music]

\portato or -_

[image of music]

\staccatissimo
or -!

[image of music]

\staccato or -.

[image of music]

\tenuto or --

[image of music]


Ornament scripts

\prall

[image of music]

\prallup

[image of music]

\pralldown

[image of music]

\upprall

[image of music]

\downprall

[image of music]

\prallprall

[image of music]

\lineprall

[image of music]

\prallmordent

[image of music]

\mordent

[image of music]

\upmordent

[image of music]

\downmordent

[image of music]

\trill

[image of music]

\turn

[image of music]

\reverseturn

[image of music]


Fermata scripts

\shortfermata

[image of music]

\fermata

[image of music]

\longfermata

[image of music]

\verylongfermata

[image of music]


Instrument-specific scripts

\upbow

[image of music]

\downbow

[image of music]

\flageolet

[image of music]

\open

[image of music]

\halfopen

[image of music]

\lheel

[image of music]

\rheel

[image of music]

\ltoe

[image of music]

\rtoe

[image of music]

\snappizzicato

[image of music]

\stopped or -+

[image of music]


Repeat sign scripts

\segno

[image of music]

\coda

[image of music]

\varcoda

[image of music]


Ancient scripts

\accentus

[image of music]

\circulus

[image of music]

\ictus

[image of music]

\semicirculus

[image of music]

\signumcongruentiae

[image of music]


A.15 Percussion notes

bassdrum
bd

[image of music]

acousticbassdrum
bda

[image of music]

snare
sn

[image of music]

acousticsnare
sna

[image of music]

electricsnare
sne

[image of music]

lowfloortom
tomfl

[image of music]

highfloortom
tomfh

[image of music]

lowtom
toml

[image of music]

hightom
tomh

[image of music]

lowmidtom
tomml

[image of music]

highmidtom
tommh

[image of music]

highhat
hh

[image of music]

closedhihat
hhc

[image of music]

openhighhat
hho

[image of music]

halfopenhihat
hhho

[image of music]

pedalhihat
hhp

[image of music]

crashcymbal
cymc

[image of music]

crashcymbala
cymca

[image of music]

crashcymbalb
cymcb

[image of music]

ridecymbal
cymr

[image of music]

ridecymbala
cymra

[image of music]

ridecymbalb
cymrb

[image of music]

chinesecymbal
cymch

[image of music]

splashcymbal
cyms

[image of music]

ridebell
rb

[image of music]

cowbell
cb

[image of music]

hibongo
boh

[image of music]

openhibongo
boho

[image of music]

mutehibongo
bohm

[image of music]

lobongo
bol

[image of music]

openlobongo
bolo

[image of music]

mutelobongo
bolm

[image of music]

hiconga
cgh

[image of music]

openhiconga
cgho

[image of music]

mutehiconga
cghm

[image of music]

loconga
cgl

[image of music]

openloconga
cglo

[image of music]

muteloconga
cglm

[image of music]

hitimbale
timh

[image of music]

lotimbale
timl

[image of music]

hiagogo
agh

[image of music]

loagogo
agl

[image of music]

sidestick
ss

[image of music]

hisidestick
ssh

[image of music]

losidestick
ssl

[image of music]

guiro
gui

[image of music]

shortguiro
guis

[image of music]

longguiro
guil

[image of music]

cabasa
cab

[image of music]

maracas
mar

[image of music]

shortwhistle
whs

[image of music]

longwhistle
whl

[image of music]

handclap
hc

[image of music]

tambourine
tamb

[image of music]

vibraslap
vibs

[image of music]

tamtam
tt

[image of music]

claves
cl

[image of music]

hiwoodblock
wbh

[image of music]

lowoodblock
wbl

[image of music]

opencuica
cuio

[image of music]

mutecuica
cuim

[image of music]

triangle
tri

[image of music]

opentriangle
trio

[image of music]

mutetriangle
trim

[image of music]

oneup
ua

[image of music]

twoup
ub

[image of music]

threeup
uc

[image of music]

fourup
ud

[image of music]

fiveup
ue

[image of music]

onedown
da

[image of music]

twodown
db

[image of music]

threedown
dc

[image of music]

fourdown
dd

[image of music]

fivedown
de

[image of music]


A.16 Technical glossary

A glossary of the technical terms and concepts used internally in LilyPond. These terms may appear in the manuals, on mailing lists or in the source code.


alist

An association list or alist for short is a Scheme pair which associates a value with a key: (key . value). For example, in ‘scm/lily.scm’, the alist “type-p-name-alist” associates certain type predicates (e.g., ly:music?) with names (e.g., “music”) so that type-check failures can be reported with a console message that includes the name of the expected type predicate.


callback

A callback is a routine, function or method whose reference is passed as an argument in a call to another routine, so allowing the called routine to invoke it. The technique enables a lower- level software layer to call a function defined in a higher layer. Callbacks are used extensively in LilyPond to permit user-level Scheme code to define how many low-level actions are performed.


closure

In Scheme, a closure is created when a function, usually a lambda expression, is passed as a variable. The closure contains the function’s code plus references to the lexical bindings of the function’s free variables (i.e., those variables used in the expression but defined outside it). When this function is applied to different arguments later, the free variable bindings that were captured in the closure are used to obtain the values of the free variables to be used in the calculation. One useful property of closures is the retention of internal variable values between invocations, so permitting state to be maintained.


glyph

A glyph is a particular graphical representation of a typographic character, or a combination of two characters formating a ligature. A set of glyphs with a single style and shape comprise a font, and a set of fonts covering several styles and sizes comprise a typeface.

Vegeu també

Notation Reference: Tipus de lletra, Special characters.


grob

LilyPond objects which represent items of notation in the printed output such as note heads, stems, slurs, ties, fingering, clefs, etc are called ‘Layout objects’, often known as ‘GRaphical OBjects’, or grobs for short. They are represented by instances of the Grob class.

Vegeu també

Learning Manual: Objects and interfaces, Naming conventions of objects and properties, Properties of layout objects.

Internals Reference: grob-interface, All layout objects.


immutable

An immutable object is one whose state cannot be modified after creation, in contrast to a mutable object, which can be modified after creation.

In LilyPond, immutable or shared properties define the default style and behavior of grobs. They are shared between many objects. In apparent contradiction to the name, they can be changed using \override and \revert.

Vegeu també

Notation Reference: mutable.


interface

Actions and properties which are common to a number of grobs are grouped together in an object called a grob-interface, or just ‘interface’ for short.

Vegeu també

Learning Manual: Objects and interfaces, Naming conventions of objects and properties, Properties found in interfaces.

Notation Reference: Layout interfaces.

Internals Reference: Graphical Object Interfaces.


lexer

A lexer is a program which converts a sequence of characters into a sequence of tokens, a process called lexical analysis. The LilyPond lexer converts the stream obtained from an input ‘.ly’ file into a tokenized stream more suited to the next stage of processing - parsing, for which see parser. The LilyPond lexer is built with Flex from the lexer file ‘lily/lexer.ll’ which contains the lexical rules. This file is part of the source code and is not included in the LilyPond binary installation.


mutable

A mutable object is one whose state can be modified after creation, in contrast to an immutable object, whose state is fixed at the time of creation.

In LilyPond, mutable properties contain values that are specific to one grob. Typically, lists of other objects or results from computations are stored in mutable properties.

Vegeu també

Notation Reference: immutable.


output-def

An instance of the Output-def class contains the methods and data structures associated with an output block. Instances are created for midi, layout and paper blocks.


parser

A parser analyzes the sequence of tokens produced by a lexer to determine its grammatical structure, grouping the tokens progressively into larger groupings according to the rules of the grammar. If the sequence of tokens is valid the end product is a tree of tokens whose root is the grammar’s start symbol. If this cannot be achieved the file is invalid and an appropriate error message is produced. The syntactic groupings and the rules for constructing the groupings from their parts for the LilyPond syntax are defined in ‘lily/parser.yy’ and shown in Backus Normal Form (BNF) in LilyPond grammar. This file is used to build the parser during the program build by the parser generator, Bison. It is part of the source code and is not included in the LilyPond binary installation.


parser variable

These are variables defined directly in Scheme. Their direct use by users is strongly discouraged, because their scoping semantics can be confusing.

When the value of such a variable is changed in a ‘.ly’ file, the change is global, and unless explicitly reverted, the new value will persist to the end of the file, affecting subsequent \score blocks as well as external files added with the \include command. This can lead to unintended consequences and in complex typesetting projects the consequent errors can be difficult to track down.

LilyPond uses the following parser variables:


prob

PRoperty OBjects, or probs for short, are instances of the Prob class, a simple base class for objects which have mutable and immutable property alists and the methods to manipulate them. The Music and Stream_event classes derive from Prob. Instances of the Prob class are also created to hold the formatted content of system grobs and titling blocks during page layout.


smob

Smobs, or ScheMe OBjects, are part of the mechanism used by Guile to export C and C++ objects to Scheme code. In LilyPond, smobs are created from C++ objects through macros. There are two types of smob objects: simple smobs, intended for simple immutable objects like numbers, and complex smobs, used for objects with identities. If you have access to the LilyPond sources, more information can be found in ‘lily/includes/smob.hh’.


stencil

An instance of the stencil class holds the information required to print a typographical object. It is a simple smob containing a confining box, which defines the vertical and horizontal extents of the object, and a Scheme expression which will print the object when evaluated. Stencils may be combined to form more complex stencils defined by a tree of Scheme expressions formed from the Scheme expressions of the component stencils.

The stencil property, which connects a grob to its stencil, is defined in the grob-interface interface.

Vegeu també

Internals Reference: grob-interface.


A.17 All context properties

accidentalGrouping (symbol)

If set to 'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.

additionalBassStrings (list)

The additional tablature bass-strings, which will not get a seprate line in TabStaff. It is a list of the pitches of each string (starting with the lowest numbered one).

additionalPitchPrefix (string)

Text with which to prefix additional pitches within a chord name.

aDueText (markup)

Text to print at a unisono passage.

alignAboveContext (string)

Where to insert newly created context in vertical alignment.

alignBassFigureAccidentals (boolean)

If true, then the accidentals are aligned in bass figure context.

alignBelowContext (string)

Where to insert newly created context in vertical alignment.

alternativeNumberingStyle (symbol)

The style of an alternative’s bar numbers. Can be numbers for going back to the same number or numbers-with-letters for going back to the same number with letter suffixes. No setting will not go back in measure-number time.

alternativeRestores (symbol list)

Timing variables that are restored to their value at the start of the first alternative in subsequent alternatives.

associatedVoice (string)

Name of the context (see associatedVoiceType for its type, usually Voice) that has the melody for this Lyrics line.

associatedVoiceType (symbol)

Type of the context that has the melody for this Lyrics line.

autoAccidentals (list)

List of different ways to typeset an accidental.

For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.

Each entry in the list is either a symbol or a procedure.

symbol

The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.

procedure

The procedure represents an accidental rule to be applied to the previously specified context.

The procedure takes the following arguments:

context

The current context to which the rule should be applied.

pitch

The pitch of the note to be evaluated.

barnum

The current bar number.

measurepos

The current measure position.

The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed. (#t . #f) does not make sense.

autoBeamCheck (procedure)

A procedure taking three arguments, context, dir [start/stop (-1 or 1)], and test [shortest note in the beam]. A non-#f return value starts or stops the auto beam.

autoBeaming (boolean)

If set to true then beams are generated automatically.

autoCautionaries (list)

List similar to autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.

automaticBars (boolean)

If set to false then bar lines will not be printed automatically; they must be explicitly created with a \bar command. Unlike the \cadenzaOn keyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.

barAlways (boolean)

If set to true a bar line is drawn after each note.

barCheckSynchronize (boolean)

If true then reset measurePosition when finding a bar check.

barNumberFormatter (procedure)

A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.

barNumberVisibility (procedure)

A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the break-visibility property.

The following procedures are predefined:

all-bar-numbers-visible

Enable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).

first-bar-number-invisible

Enable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.

first-bar-number-invisible-save-broken-bars

Enable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.

first-bar-number-invisible-and-no-parenthesized-bar-numbers

Enable bar numbers for all bars except the first bar and broken bars. This is the default.

(every-nth-bar-number-visible n)

Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.

(modulo-bar-number-visible n m)

If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.

baseMoment (moment)

Smallest unit of time that will stand on its own as a subdivided section.

bassFigureFormatFunction (procedure)

A procedure that is called to produce the formatting for a BassFigure grob. It takes a list of BassFigureEvents, a context, and the grob to format.

beamExceptions (list)

An alist of exceptions to autobeam rules that normally end on beats.

beamHalfMeasure (boolean)

Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.

beatStructure (list)

List of baseMoments that are combined to make beats.

chordChanges (boolean)

Only show changes in chords scheme?

chordNameExceptions (list)

An alist of chord exceptions. Contains (chord . markup) entries.

chordNameExceptionsFull (list)

An alist of full chord exceptions. Contains (chord . markup) entries.

chordNameExceptionsPartial (list)

An alist of partial chord exceptions. Contains (chord . (prefix-markup suffix-markup)) entries.

chordNameFunction (procedure)

The function that converts lists of pitches to chord names.

chordNameLowercaseMinor (boolean)

Downcase roots of minor chords?

chordNameSeparator (markup)

The markup object used to separate parts of a chord name.

chordNoteNamer (procedure)

A function that converts from a pitch object to a text markup. Used for single pitches.

chordPrefixSpacer (number)

The space added between the root symbol and the prefix of a chord name.

chordRootNamer (procedure)

A function that converts from a pitch object to a text markup. Used for chords.

clefGlyph (string)

Name of the symbol within the music font.

clefPosition (number)

Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.

clefTransposition (integer)

Add this much extra transposition. Values of 7 and -7 are common.

clefTranspositionFormatter (procedure)

A procedure that takes the Transposition number as a string and the style as a symbol and returns a markup.

clefTranspositionStyle (symbol)

Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.

completionBusy (boolean)

Whether a completion-note head is playing.

completionFactor (an exact rational or procedure)

When Completion_heads_engraver and Completion_rest_engraver need to split a note or rest with a scaled duration, such as c2*3, this specifies the scale factor to use for the newly-split notes and rests created by the engraver.

If #f, the completion engraver uses the scale-factor of each duration being split.

If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.

completionUnit (moment)

Sub-bar unit of completion.

connectArpeggios (boolean)

If set, connect arpeggios across piano staff.

countPercentRepeats (boolean)

If set, produce counters for percent repeats.

createKeyOnClefChange (boolean)

Print a key signature whenever the clef is changed.

createSpacing (boolean)

Create StaffSpacing objects? Should be set for staves.

crescendoSpanner (symbol)

The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.

crescendoText (markup)

The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.

cueClefGlyph (string)

Name of the symbol within the music font.

cueClefPosition (number)

Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.

cueClefTransposition (integer)

Add this much extra transposition. Values of 7 and -7 are common.

cueClefTranspositionFormatter (procedure)

A procedure that takes the Transposition number as a string and the style as a symbol and returns a markup.

cueClefTranspositionStyle (symbol)

Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.

currentBarNumber (integer)

Contains the current barnumber. This property is incremented at every bar line.

decrescendoSpanner (symbol)

The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.

decrescendoText (markup)

The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.

defaultBarType (string)

Set the default type of bar line. See whichBar for information on available bar types.

This variable is read by Timing_translator at Score level.

defaultStrings (list)

A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.

doubleRepeatSegnoType (string)

Set the default bar line for the combinations double repeat with segno. Default is ‘:|.S.|:’.

doubleRepeatType (string)

Set the default bar line for double repeats.

doubleSlurs (boolean)

If set, two slurs are created for every slurred note, one above and one below the chord.

drumPitchTable (hash table)

A table mapping percussion instruments (symbols) to pitches.

drumStyleTable (hash table)

A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.

The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list (notehead-style script vertical-position) as values.

endRepeatSegnoType (string)

Set the default bar line for the combinations ending of repeat with segno. Default is ‘:|.S’.

endRepeatType (string)

Set the default bar line for the ending of repeats.

explicitClefVisibility (vector)

break-visibility’ function for clef changes.

explicitCueClefVisibility (vector)

break-visibility’ function for cue clef changes.

explicitKeySignatureVisibility (vector)

break-visibility’ function for explicit key changes. ‘\override’ of the break-visibility property will set the visibility for normal (i.e., at the start of the line) key signatures.

extendersOverRests (boolean)

Whether to continue extenders as they cross a rest.

extraNatural (boolean)

Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.

figuredBassAlterationDirection (direction)

Where to put alterations relative to the main figure.

figuredBassCenterContinuations (boolean)

Whether to vertically center pairs of extender lines. This does not work with three or more lines.

figuredBassFormatter (procedure)

A routine generating a markup for a bass figure.

figuredBassPlusDirection (direction)

Where to put plus signs relative to the main figure.

fingeringOrientations (list)

A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.

firstClef (boolean)

If true, create a new clef when starting a staff.

followVoice (boolean)

If set, note heads are tracked across staff switches by a thin line.

fontSize (number)

The relative size of all grobs in a context.

forbidBreak (boolean)

If set to #t, prevent a line break at this point.

forceClef (boolean)

Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.

fretLabels (list)

A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.

glissandoMap (list)

A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.

gridInterval (moment)

Interval for which to generate GridPoints.

handleNegativeFrets (symbol)

How the automatic fret calculator should handle calculated negative frets. Values include 'ignore, to leave them out of the diagram completely, 'include, to include them as calculated, and 'recalculate, to ignore the specified string and find a string where they will fit with a positive fret number.

harmonicAccidentals (boolean)

If set, harmonic notes in chords get accidentals.

harmonicDots (boolean)

If set, harmonic notes in dotted chords get dots.

highStringOne (boolean)

Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.

ignoreBarChecks (boolean)

Ignore bar checks.

ignoreFiguredBassRest (boolean)

Don’t swallow rest events.

ignoreMelismata (boolean)

Ignore melismata for this Lyrics line.

implicitBassFigures (list)

A list of bass figures that are not printed as numbers, but only as extender lines.

includeGraceNotes (boolean)

Do not ignore grace notes for Lyrics.

initialTimeSignatureVisibility (vector)

break visibility for the initial time signature.

instrumentCueName (markup)

The name to print if another instrument is to be taken.

instrumentEqualizer (procedure)

A function taking a string (instrument name), and returning a (min . max) pair of numbers for the loudness range of the instrument.

instrumentName (markup)

The name to print left of a staff. The instrumentName property labels the staff in the first system, and the shortInstrumentName property labels following lines.

instrumentTransposition (pitch)

Define the transposition of the instrument. Its value is the pitch that sounds when the instrument plays written middle C. This is used to transpose the MIDI output, and \quotes.

internalBarNumber (integer)

Contains the current barnumber. This property is used for internal timekeeping, among others by the Accidental_engraver.

keepAliveInterfaces (list)

A list of symbols, signifying grob interfaces that are worth keeping a staff with remove-empty set around for.

keyAlterationOrder (list)

An alist that defines in what order alterations should be printed. The format is (step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).

keyAlterations (list)

The current key signature. This is an alist containing (step . alter) or ((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g. keyAlterations = #`((6 . ,FLAT)).

lyricMelismaAlignment (number)

Alignment to use for a melisma syllable.

magnifyStaffValue (positive number)

The most recent value set with \magnifyStaff.

majorSevenSymbol (markup)

How should the major 7th be formatted in a chord name?

markFormatter (procedure)

A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.

maximumFretStretch (number)

Don’t allocate frets further than this from specified frets.

measureLength (moment)

Length of one measure in the current time signature.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

melismaBusyProperties (list)

A list of properties (symbols) to determine whether a melisma is playing. Setting this property will influence how lyrics are aligned to notes. For example, if set to '(melismaBusy beamMelismaBusy), only manual melismata and manual beams are considered. Possible values include melismaBusy, slurMelismaBusy, tieMelismaBusy, and beamMelismaBusy.

metronomeMarkFormatter (procedure)

How to produce a metronome markup. Called with two arguments: a TempoChangeEvent and context.

middleCClefPosition (number)

The position of the middle C, as determined only by the clef. This can be calculated by looking at clefPosition and clefGlyph.

middleCCuePosition (number)

The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at cueClefPosition and cueClefGlyph.

middleCOffset (number)

The offset of middle C from the position given by middleCClefPosition This is used for ottava brackets.

middleCPosition (number)

The place of the middle C, measured in half staff-spaces. Usually determined by looking at middleCClefPosition and middleCOffset.

midiBalance (number)

Stereo balance for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to leftmost emphasis, center balance, and rightmost emphasis, respectively.

midiChannelMapping (symbol)

How to map MIDI channels: per staff (default), instrument or voice.

midiChorusLevel (number)

Chorus effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).

midiExpression (number)

Expression control for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).

midiInstrument (string)

Name of the MIDI instrument to use.

midiMaximumVolume (number)

Analogous to midiMinimumVolume.

midiMergeUnisons (boolean)

If true, output only one MIDI note-on event when notes with the same pitch, in the same MIDI-file track, overlap.

midiMinimumVolume (number)

Set the minimum loudness for MIDI. Ranges from 0 to 1.

midiPanPosition (number)

Pan position for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to hard left, center, and hard right, respectively.

midiReverbLevel (number)

Reverb effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).

minimumFret (number)

The tablature auto string-selecting mechanism selects the highest string with a fret at least minimumFret.

minimumPageTurnLength (moment)

Minimum length of a rest for a page turn to be allowed.

minimumRepeatLengthForPageTurn (moment)

Minimum length of a repeated section for a page turn to be allowed within that section.

minorChordModifier (markup)

Markup displayed following the root for a minor chord

noChordSymbol (markup)

Markup to be displayed for rests in a ChordNames context.

noteToFretFunction (procedure)

Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.

nullAccidentals (boolean)

The Accidental_engraver generates no accidentals for notes in contexts were this is set. In addition to supressing the printed accidental, this option removes any effect the note would have had on accidentals in other voices.

ottavation (markup)

If set, the text for an ottava spanner. Changing this creates a new text spanner.

output (music output)

The output produced by a score-level translator during music interpretation.

partCombineForced (symbol)

Override for the partcombine decision. Can be apart, chords, unisono, solo1, or solo2.

partCombineTextsOnNote (boolean)

Print part-combine texts only on the next note rather than immediately on rests or skips.

pedalSostenutoStrings (list)

See pedalSustainStrings.

pedalSostenutoStyle (symbol)

See pedalSustainStyle.

pedalSustainStrings (list)

A list of strings to print for sustain-pedal. Format is (up updown down), where each of the three is the string to print when this is done with the pedal.

pedalSustainStyle (symbol)

A symbol that indicates how to print sustain pedals: text, bracket or mixed (both).

pedalUnaCordaStrings (list)

See pedalSustainStrings.

pedalUnaCordaStyle (symbol)

See pedalSustainStyle.

predefinedDiagramTable (hash table)

The hash table of predefined fret diagrams to use in FretBoards.

printKeyCancellation (boolean)

Print restoration alterations before a key signature change.

printOctaveNames (boolean)

Print octave marks for the NoteNames context.

printPartCombineTexts (boolean)

Set ‘Solo’ and ‘A due’ texts in the part combiner?

proportionalNotationDuration (moment)

Global override for shortest-playing duration. This is used for switching on proportional notation.

rehearsalMark (integer)

The last rehearsal mark printed.

repeatCommands (list)

This property is a list of commands of the form (list 'volta x), where x is a string or #f. 'end-repeat is also accepted as a command.

repeatCountVisibility (procedure)

A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when countPercentRepeats is set.

restCompletionBusy (boolean)

Signal whether a completion-rest is active.

restNumberThreshold (number)

If a multimeasure rest has more measures than this, a number is printed.

restrainOpenStrings (boolean)

Exclude open strings from the automatic fret calculator.

searchForVoice (boolean)

Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.

segnoType (string)

Set the default bar line for a requested segno. Default is ‘S’.

shapeNoteStyles (vector)

Vector of symbols, listing style for each note head relative to the tonic (qv.) of the scale.

shortInstrumentName (markup)

See instrumentName.

shortVocalName (markup)

Name of a vocal line, short version.

skipBars (boolean)

If set to true, then skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default), multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.

{
  r1 r1*3 R1*3
  \set Score.skipBars= ##t
  r1*3 R1*3
}
skipTypesetting (boolean)

If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.

slashChordSeparator (markup)

The markup object used to separate a chord name from its root note in case of inversions or slash chords.

soloIIText (markup)

The text for the start of a solo for voice ‘two’ when part-combining.

soloText (markup)

The text for the start of a solo when part-combining.

squashedPosition (integer)

Vertical position of squashing for Pitch_squash_engraver.

staffLineLayoutFunction (procedure)

Layout of staff lines, traditional, or semitone.

stanza (markup)

Stanza ‘number’ to print before the start of a verse. Use in Lyrics context.

startRepeatSegnoType (string)

Set the default bar line for the combinations beginning of repeat with segno. Default is ‘S.|:’.

startRepeatType (string)

Set the default bar line for the beginning of repeats.

stemLeftBeamCount (integer)

Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.

stemRightBeamCount (integer)

See stemLeftBeamCount.

strictBeatBeaming (boolean)

Should partial beams reflect the beat structure even if it causes flags to hang out?

stringNumberOrientations (list)

See fingeringOrientations.

stringOneTopmost (boolean)

Whether the first string is printed on the top line of the tablature.

stringTunings (list)

The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).

strokeFingerOrientations (list)

See fingeringOrientations.

subdivideBeams (boolean)

If set, multiple beams will be subdivided at baseMoment positions by only drawing one beam over the beat.

suggestAccidentals (boolean)

If set, accidentals are typeset as cautionary suggestions over the note.

supportNonIntegerFret (boolean)

If set in Score the TabStaff will print micro-tones as ‘

suspendRestMerging (boolean)

When using the Merge_rest_engraver do not merge rests when this is set to true.

systemStartDelimiter (symbol)

Which grob to make for the start of the system/staff? Set to SystemStartBrace, SystemStartBracket or SystemStartBar.

systemStartDelimiterHierarchy (pair)

A nested list, indicating the nesting of a start delimiters.

tablatureFormat (procedure)

A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.

tabStaffLineLayoutFunction (procedure)

A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.

tempoHideNote (boolean)

Hide the note = count in tempo marks.

tempoWholesPerMinute (moment)

The tempo in whole notes per minute.

tieWaitForNote (boolean)

If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.

timeSignatureFraction (fraction, as pair)

A pair of numbers, signifying the time signature. For example, '(4 . 4) is a 4/4 time signature.

timeSignatureSettings (list)

A nested alist of settings for time signatures. Contains elements for various time signatures. The element for each time signature contains entries for baseMoment, beatStructure, and beamExceptions.

timing (boolean)

Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.

tonic (pitch)

The tonic of the current scale.

topLevelAlignment (boolean)

If true, the Vertical_align_engraver will create a VerticalAlignment; otherwise, it will create a StaffGrouper

tupletFullLength (boolean)

If set, the tuplet is printed up to the start of the next note.

tupletFullLengthNote (boolean)

If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.

tupletSpannerDuration (moment)

Normally, a tuplet bracket is as wide as the \times expression that gave rise to it. By setting this property, you can make brackets last shorter.

{
  \set tupletSpannerDuration = #(ly:make-moment 1 4)
  \times 2/3 { c8 c c c c c }
}
useBassFigureExtenders (boolean)

Whether to use extender lines for repeated bass figures.

vocalName (markup)

Name of a vocal line.

voltaSpannerDuration (moment)

This specifies the maximum duration to use for the brackets printed for \alternative. This can be used to shrink the length of brackets in the situation where one alternative is very large.

whichBar (string)

This property is read to determine what type of bar line to create.

Example:

\set Staff.whichBar = ".|:"

This will create a start-repeat bar in this staff only. Valid values are described in ‘scm/bar-line.scm’.


A.18 Layout properties

add-stem-support (boolean)

If set, the Stem object is included in this script’s support.

after-line-breaking (boolean)

Dummy property, used to trigger callback for after-line-breaking.

align-dir (direction)

Which side to align? -1: left side, 0: around center of width, 1: right side.

allow-loose-spacing (boolean)

If set, column can be detached from main spacing.

allow-span-bar (boolean)

If false, no inter-staff bar line will be created below this bar line.

alteration (number)

Alteration numbers for accidental.

alteration-alist (list)

List of (pitch . accidental) pairs for key signature.

annotation (string)

Annotate a grob for debug purposes.

annotation-balloon (boolean)

Print the balloon around an annotation.

annotation-line (boolean)

Print the line from an annotation to the grob that it annotates.

arpeggio-direction (direction)

If set, put an arrow on the arpeggio squiggly line.

arrow-length (number)

Arrow length.

arrow-width (number)

Arrow width.

auto-knee-gap (dimension, in staff space)

If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.

automatically-numbered (boolean)

Should a footnote be automatically numbered?

average-spacing-wishes (boolean)

If set, the spacing wishes are averaged over staves.

avoid-note-head (boolean)

If set, the stem of a chord does not pass through all note heads, but starts at the last note head.

avoid-scripts (boolean)

If set, a tuplet bracket avoids the scripts associated with the note heads it encompasses.

avoid-slur (symbol)

Method of handling slur collisions. Choices are inside, outside, around, and ignore. inside adjusts the slur if needed to keep the grob inside the slur. outside moves the grob vertically to the outside of the slur. around moves the grob vertically to the outside of the slur only if there is a collision. ignore does not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.), outside and around behave like ignore.

axes (list)

List of axis numbers. In the case of alignment grobs, this should contain only one number.

bar-extent (pair of numbers)

The Y-extent of the actual bar line. This may differ from Y-extent because it does not include the dots in a repeat bar line.

base-shortest-duration (moment)

Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.

baseline-skip (dimension, in staff space)

Distance between base lines of multiple lines of text.

beam-thickness (dimension, in staff space)

Beam thickness, measured in staff-space units.

beam-width (dimension, in staff space)

Width of the tremolo sign.

beamed-stem-shorten (list)

How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.

beaming (pair)

Pair of number lists. Each number list specifies which beams to make. 0 is the central beam, 1 is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.

beamlet-default-length (pair)

A pair of numbers. The first number specifies the default length of a beamlet that sticks out of the left hand side of this stem; the second number specifies the default length of the beamlet to the right. The actual length of a beamlet is determined by taking either the default length or the length specified by beamlet-max-length-proportion, whichever is smaller.

beamlet-max-length-proportion (pair)

The maximum length of a beamlet, as a proportion of the distance between two adjacent stems.

before-line-breaking (boolean)

Dummy property, used to trigger a callback function.

between-cols (pair)

Where to attach a loose column to.

bound-details (list)

An alist of properties for determining attachments of spanners to edges.

bound-padding (number)

The amount of padding to insert around spanner bounds.

bracket-flare (pair of numbers)

A pair of numbers specifying how much edges of brackets should slant outward. Value 0.0 means straight edges.

bracket-visibility (boolean or symbol)

This controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to if-no-beam makes it print only if there is no beam associated with this tuplet bracket.

break-align-anchor (number)

Grobs aligned to this breakable item will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.

break-align-anchor-alignment (number)

Read by ly:break-aligned-interface::calc-extent-aligned-anchor for aligning an anchor to a grob’s extent.

break-align-orders (vector)

This is a vector of 3 lists: #(end-of-line unbroken start-of-line). Each list contains break-align symbols that specify an order of breakable items (see break-alignment-interface).

For example, this places time signatures before clefs:

\override Score.BreakAlignment.break-align-orders =
  #(make-vector 3 '(left-edge
                    cue-end-clef
                    ambitus
                    breathing-sign
                    time-signature
                    clef
                    cue-clef
                    staff-bar
                    key-cancellation
                    key-signature
                    custos))
break-align-symbol (symbol)

This key is used for aligning, ordering, and spacing breakable items. See break-alignment-interface.

break-align-symbols (list)

A list of break-align symbols that determines which breakable items to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on). Choices are listed in break-alignment-interface.

break-overshoot (pair of numbers)

How much does a broken spanner stick out of its bounds?

break-visibility (vector)

A vector of 3 booleans, #(end-of-line unbroken begin-of-line). #t means visible, #f means killed.

breakable (boolean)

Allow breaks here.

broken-bound-padding (number)

The amount of padding to insert when a spanner is broken at a line break.

chord-dots-limit (integer)

Limits the column of dots on each chord to the height of the chord plus chord-dots-limit staff-positions.

circled-tip (boolean)

Put a circle at start/end of hairpins (al/del niente).

clef-alignments (list)

An alist of parent-alignments that should be used for clef modifiers with various clefs

clip-edges (boolean)

Allow outward pointing beamlets at the edges of beams?

collapse-height (dimension, in staff space)

Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.

collision-interfaces (list)

A list of interfaces for which automatic beam-collision resolution is run.

collision-voice-only (boolean)

Does automatic beam collsion apply only to the voice in which the beam was created?

color (color)

The color of this grob.

common-shortest-duration (moment)

The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.

concaveness (number)

A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.

connect-to-neighbor (pair)

Pair of booleans, indicating whether this grob looks as a continued break.

control-points (list of number pairs)

List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.

count-from (integer)

The first measure in a measure count receives this number. The following measures are numbered in increments from this initial value.

damping (number)

Amount of beam slope damping.

dash-definition (pair)

List of dash-elements defining the dash structure. Each dash-element has a starting t value, an ending t-value, a dash-fraction, and a dash-period.

dash-fraction (number)

Size of the dashes, relative to dash-period. Should be between 0.1 and 1.0 (continuous line). If set to 0.0, a dotted line is produced

dash-period (number)

The length of one dash together with whitespace. If negative, no line is drawn at all.

default-direction (direction)

Direction determined by note head positions.

default-staff-staff-spacing (list)

The settings to use for staff-staff-spacing when it is unset, for ungrouped staves and for grouped staves that do not have the relevant StaffGrouper property set (staff-staff-spacing or staffgroup-staff-spacing).

details (list)

Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a details property.

digit-names (vector)

Names for string finger digits.

direction (direction)

If side-axis is 0 (or X), then this property determines whether the object is placed LEFT, CENTER or RIGHT with respect to the other object. Otherwise, it determines whether the object is placed UP, CENTER or DOWN. Numerical values may also be used: UP=1, DOWN=-1, LEFT=-1, RIGHT=1, CENTER=0.

dot-count (integer)

The number of dots.

dot-negative-kern (number)

The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.

dot-placement-list (list)

List consisting of (description string-number fret-number finger-number) entries used to define fret diagrams.

double-stem-separation (number)

The distance between the two stems of a half note in tablature when using \tabFullNotation, not counting the width of the stems themselves, expressed as a multiple of the default height of a staff-space in the traditional five-line staff.

duration-log (integer)

The 2-log of the note head duration, i.e., 0 = whole note, 1 = half note, etc.

eccentricity (number)

How asymmetrical to make a slur. Positive means move the center to the right.

edge-height (pair)

A pair of numbers specifying the heights of the vertical edges: (left-height . right-height).

edge-text (pair)

A pair specifying the texts to be set at the edges: (left-text . right-text).

expand-limit (integer)

Maximum number of measures expanded in church rests.

extra-dy (number)

Slope glissandi this much extra.

extra-offset (pair of numbers)

A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in staff-space units of the staff’s StaffSymbol.

extra-spacing-height (pair of numbers)

In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to (-inf.0 . +inf.0).

extra-spacing-width (pair of numbers)

In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to (+inf.0 . -inf.0).

flag-count (number)

The number of tremolo beams.

flag-style (symbol)

The style of the flag to be used with MetronomeMark. Available are 'modern-straight-flag, 'old-straight-flag, flat-flag, mensural and 'default

flat-positions (list)

Flats in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff-position at which each clef places C: (alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff-position.

font-encoding (symbol)

The font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are fetaMusic (Emmentaler), fetaBraces, fetaText (Emmentaler).

font-family (symbol)

The font family is the broadest category for selecting text fonts. Options include: sans, roman.

font-features (list)

Opentype features.

font-name (string)

Specifies a file name (without extension) of the font to load. This setting overrides selection using font-family, font-series and font-shape.

font-series (symbol)

Select the series of a font. Choices include medium, bold, bold-narrow, etc.

font-shape (symbol)

Select the shape of a font. Choices include upright, italic, caps.

font-size (number)

The font size, compared to the ‘normal’ size. 0 is style-sheet’s normal size, -1 is smaller, +1 is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. If the context property fontSize is set, its value is added to this before the glyph is printed. Fractional values are allowed.

footnote (boolean)

Should this be a footnote or in-note?

footnote-music (music)

Music creating a footnote.

footnote-text (markup)

A footnote for the grob.

force-hshift (number)

This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by note-collision-interface.

forced-spacing (number)

Spacing forced between grobs, used in various ligature engravers.

fraction (fraction, as pair)

Numerator and denominator of a time signature object.

french-beaming (boolean)

Use French beaming style for this stem. The stem stops at the innermost beams.

fret-diagram-details (list)

An alist of detailed grob properties for fret diagrams. Each alist entry consists of a (property . value) pair. The properties which can be included in fret-diagram-details include the following:

  • barre-type – Type of barre indication used. Choices include curved, straight, and none. Default curved.
  • capo-thickness – Thickness of capo indicator, in multiples of fret-space. Default value 0.5.
  • dot-color – Color of dots. Options include black and white. Default black.
  • dot-label-font-mag – Magnification for font used to label fret dots. Default value 1.
  • dot-position – Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radius for dots with labels.
  • dot-radius – Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.
  • finger-code – Code for the type of fingering indication used. Options include none, in-dot, and below-string. Default none for markup fret diagrams, below-string for FretBoards fret diagrams.
  • fret-count – The number of frets. Default 4.
  • fret-distance – Multiplier to adjust the distance between frets. Default 1.0.
  • fret-label-custom-format – The format string to be used label the lowest fret number, when number-type equals to custom. Default "~a".
  • fret-label-font-mag – The magnification of the font used to label the lowest fret number. Default 0.5.
  • fret-label-vertical-offset – The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.
  • fret-label-horizontal-offset – The offset of the fret label from the center of the fret in direction orthogonal to strings. Default 0.
  • paren-padding – The padding for the parenthesis. Default 0.05.
  • label-dir – Side to which the fret label is attached. -1, LEFT, or DOWN for left or down; 1, RIGHT, or UP for right or up. Default RIGHT.
  • mute-string – Character string to be used to indicate muted string. Default "x".
  • number-type – Type of numbers to use in fret label. Choices include roman-lower, roman-upper, arabic and custom. In the later case, the format string is supplied by the fret-label-custom-format property. Default roman-lower.
  • open-string – Character string to be used to indicate open string. Default "o".
  • orientation – Orientation of fret-diagram. Options include normal, landscape, and opposing-landscape. Default normal.
  • string-count – The number of strings. Default 6.
  • string-distance – Multiplier to adjust the distance between strings. Default 1.0.
  • string-label-font-mag – The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 for normal orientation, 0.5 for landscape and opposing-landscape.
  • string-thickness-factor – Factor for changing thickness of each string in the fret diagram. Thickness of string k is given by thickness * (1+string-thickness-factor) ^ (k-1). Default 0.
  • top-fret-thickness – The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.
  • xo-font-magnification – Magnification used for mute and open string indicators. Default value 0.5.
  • xo-padding – Padding for open and mute indicators from top fret. Default value 0.25.
full-length-padding (number)

How much padding to use at the right side of a full-length tuplet bracket.

full-length-to-extent (boolean)

Run to the extent of the column for a full-length tuplet bracket.

full-measure-extra-space (number)

Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.

full-size-change (boolean)

Don’t make a change clef smaller.

gap (dimension, in staff space)

Size of a gap in a variable symbol.

gap-count (integer)

Number of gapped beams for tremolo.

glissando-skip (boolean)

Should this NoteHead be skipped by glissandi?

glyph (string)

A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.

In combination with (span) bar lines, it is a string resembling the bar line appearance in ASCII form.

glyph-name (string)

The glyph name within the font.

In the context of (span) bar lines, glyph-name represents a processed form of glyph, where decisions about line breaking etc. are already taken.

glyph-name-alist (list)

An alist of key-string pairs.

graphical (boolean)

Display in graphical (vs. text) form.

grow-direction (direction)

Crescendo or decrescendo?

hair-thickness (number)

Thickness of the thin line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to Staff.StaffSymbol.thickness).

harp-pedal-details (list)

An alist of detailed grob properties for harp pedal diagrams. Each alist entry consists of a (property . value) pair. The properties which can be included in harp-pedal-details include the following:

  • box-offset – Vertical shift of the center of flat/sharp pedal boxes above/below the horizontal line. Default value 0.8.
  • box-width – Width of each pedal box. Default value 0.4.
  • box-height – Height of each pedal box. Default value 1.0.
  • space-before-divider – Space between boxes before the first divider (so that the diagram can be made symmetric). Default value 0.8.
  • space-after-divider – Space between boxes after the first divider. Default value 0.8.
  • circle-thickness – Thickness (in unit of the line-thickness) of the ellipse around circled pedals. Default value 0.5.
  • circle-x-padding – Padding in X direction of the ellipse around circled pedals. Default value 0.15.
  • circle-y-padding – Padding in Y direction of the ellipse around circled pedals. Default value 0.2.
head-direction (direction)

Are the note heads left or right in a semitie?

height (dimension, in staff space)

Height of an object in staff-space units.

height-limit (dimension, in staff space)

Maximum slur height: The longer the slur, the closer it is to this height.

hide-tied-accidental-after-break (boolean)

If set, an accidental that appears on a tied note after a line break will not be displayed.

horizon-padding (number)

The amount to pad the axis along which a Skyline is built for the side-position-interface.

horizontal-shift (integer)

An integer that identifies ranking of NoteColumns for horizontal shifting. This is used by note-collision-interface.

horizontal-skylines (pair of skylines)

Two skylines, one to the left and one to the right of this grob.

id (string)

An id string for the grob.

ignore-ambitus (boolean)

If set, don’t consider this notehead for ambitus calculation.

ignore-collision (boolean)

If set, don’t do note collision resolution on this NoteColumn.

implicit (boolean)

Is this an implicit bass figure?

inspect-index (integer)

If debugging is set, set beam and slur configuration to this index, and print the respective scores.

inspect-quants (pair of numbers)

If debugging is set, set beam and slur quants to this position, and print the respective scores.

keep-inside-line (boolean)

If set, this column cannot have objects sticking into the margin.

kern (dimension, in staff space)

The space between individual elements in any compound bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to Staff.StaffSymbol.thickness).

knee (boolean)

Is this beam kneed?

knee-spacing-correction (number)

Factor for the optical correction amount for kneed beams. Set between 0 for no correction and 1 for full correction.

knee-to-beam (boolean)

Determines whether a tuplet number will be positioned next to a kneed beam.

labels (list)

List of labels (symbols) placed on a column.

layer (integer)

An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.

ledger-extra (dimension, in staff space)

Extra distance from staff line to draw ledger lines for.

ledger-line-thickness (pair of numbers)

The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.

ledger-positions (list)

Vertical positions of ledger lines. When set on a StaffSymbol grob it defines a repeating pattern of ledger lines and any parenthesized groups will always be shown together.

ledger-positions-function (any type)

A quoted Scheme procedure that takes a StaffSymbol grob and the vertical position of a note head as arguments and returns a list of ledger line positions.

left-bound-info (list)

An alist of properties for determining attachments of spanners to edges.

left-padding (dimension, in staff space)

The amount of space that is put left to an object (e.g., a lyric extender).

length (dimension, in staff space)

User override for the stem length of unbeamed stems.

length-fraction (number)

Multiplier for lengths. Used for determining ledger lines and stem lengths.

line-break-penalty (number)

Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and prefers a line break at a column with a negative penalty.

line-break-permission (symbol)

Instructs the line breaker on whether to put a line break at this column. Can be force or allow.

line-break-system-details (list)

An alist of properties to use if this column is the start of a system.

line-count (integer)

The number of staff lines.

line-positions (list)

Vertical positions of staff lines.

line-thickness (number)

For slurs and ties, this is the diameter of the virtual “pen” that draws the two arcs of the curve’s outline, which intersect at the endpoints. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to Staff.StaffSymbol.thickness).

long-text (markup)

Text markup. See Formatting text.

max-beam-connect (integer)

Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.

max-symbol-separation (number)

The maximum distance between symbols making up a church rest.

maximum-gap (number)

Maximum value allowed for gap property.

measure-count (integer)

The number of measures for a multi-measure rest.

measure-length (moment)

Length of a measure. Used in some spacing situations.

merge-differently-dotted (boolean)

Merge note heads in collisions, even if they have a different number of dots. This is normal notation for some types of polyphonic music.

merge-differently-dotted only applies to opposing stem directions (i.e., voice 1 & 2).

merge-differently-headed (boolean)

Merge note heads in collisions, even if they have different note heads. The smaller of the two heads is rendered invisible. This is used in polyphonic guitar notation. The value of this setting is used by note-collision-interface.

merge-differently-headed only applies to opposing stem directions (i.e., voice 1 & 2).

minimum-distance (dimension, in staff space)

Minimum distance between rest and notes or beam.

minimum-length (dimension, in staff space)

Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the springs-and-rods property. If added to a Tie, this sets the minimum distance between noteheads.

minimum-length-after-break (dimension, in staff space)

If set, try to make a broken spanner starting a line this long. This requires an appropriate callback for the springs-and-rods property. If added to a Tie, this sets the minimum distance to the notehead.

minimum-length-fraction (number)

Minimum length of ledger line as fraction of note head size.

minimum-space (dimension, in staff space)

Minimum distance that the victim should move (after padding).

minimum-X-extent (pair of numbers)

Minimum size of an object in X dimension, measured in staff-space units.

minimum-Y-extent (pair of numbers)

Minimum size of an object in Y dimension, measured in staff-space units.

neutral-direction (direction)

Which direction to take in the center of the staff.

neutral-position (number)

Position (in half staff spaces) where to flip the direction of custos stem.

next (graphical (layout) object)

Object that is next relation (e.g., the lyric syllable following an extender).

no-alignment (boolean)

If set, don’t place this grob in a VerticalAlignment; rather, place it using its own Y-offset callback.

no-ledgers (boolean)

If set, don’t draw ledger lines on this object.

no-stem-extend (boolean)

If set, notes with ledger lines do not get stems extending to the middle staff line.

non-break-align-symbols (list)

A list of symbols that determine which NON-break-aligned interfaces to align this to.

non-default (boolean)

Set for manually specified clefs and keys.

non-musical (boolean)

True if the grob belongs to a NonMusicalPaperColumn.

nonstaff-nonstaff-spacing (list)

The spacing alist controlling the distance between the current non-staff line and the next non-staff line in the direction of staff-affinity, if both are on the same side of the related staff, and staff-affinity is either UP or DOWN. See staff-staff-spacing for a description of the alist structure.

nonstaff-relatedstaff-spacing (list)

The spacing alist controlling the distance between the current non-staff line and the nearest staff in the direction of staff-affinity, if there are no non-staff lines between the two, and staff-affinity is either UP or DOWN. If staff-affinity is CENTER, then nonstaff-relatedstaff-spacing is used for the nearest staves on both sides, even if other non-staff lines appear between the current one and either of the staves. See staff-staff-spacing for a description of the alist structure.

nonstaff-unrelatedstaff-spacing (list)

The spacing alist controlling the distance between the current non-staff line and the nearest staff in the opposite direction from staff-affinity, if there are no other non-staff lines between the two, and staff-affinity is either UP or DOWN. See staff-staff-spacing for a description of the alist structure.

normalized-endpoints (pair)

Represents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.

note-collision-threshold (dimension, in staff space)

Simultaneous notes that are this close or closer in units of staff-space will be identified as vertically colliding. Used by Stem grobs for notes in the same voice, and NoteCollision grobs for notes in different voices. Default value 1.

note-names (vector)

Vector of strings containing names for easy-notation note heads.

number-type (symbol)

Numbering style. Choices include roman-lower, roman-upper and arabic.

output-attributes (list)

An alist of attributes for the grob, to be included in output files. When the SVG typesetting backend is used, the attributes are assigned to a group (<g>) containing all of the stencils that comprise a given grob. For example, '((id . 123) (class . foo) (data-whatever . “bar”)) will produce <g id=“123” class=“foo” data-whatever=“bar”> … </g>. In the Postscript backend, where there is no way to group items, the setting of the output-attributes property will have no effect.

outside-staff-horizontal-padding (number)

By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.

outside-staff-padding (number)

The padding to place between grobs when spacing according to outside-staff-priority. Two grobs with different outside-staff-padding values have the larger value of padding between them.

outside-staff-placement-directive (symbol)

One of four directives telling how outside staff objects should be placed.

  • left-to-right-greedy – Place each successive grob from left to right.
  • left-to-right-polite – Place a grob from left to right only if it does not potentially overlap with another grob that has been placed on a pass through a grob array. If there is overlap, do another pass to determine placement.
  • right-to-left-greedy – Same as left-to-right-greedy, but from right to left.
  • right-to-left-polite – Same as left-to-right-polite, but from right to left.
outside-staff-priority (number)

If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller outside-staff-priority is closer to the staff.

packed-spacing (boolean)

If set, the notes are spaced as tightly as possible.

padding (dimension, in staff space)

Add this much extra space between objects that are next to each other.

padding-pairs (list)

An alist mapping (name . name) to distances.

page-break-penalty (number)

Penalty for page break at this column. This affects the choices of the page breaker; it avoids a page break at a column with a positive penalty and prefers a page break at a column with a negative penalty.

page-break-permission (symbol)

Instructs the page breaker on whether to put a page break at this column. Can be force or allow.

page-turn-penalty (number)

Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.

page-turn-permission (symbol)

Instructs the page breaker on whether to put a page turn at this column. Can be force or allow.

parent-alignment-X (number)

Specify on which point of the parent the object is aligned. The value -1 means aligned on parent’s left edge, 0 on center, and 1 right edge, in X direction. Other numerical values may also be specified - the unit is half the parent’s width. If unset, the value from self-alignment-X property will be used.

parent-alignment-Y (number)

Like parent-alignment-X but for the Y axis.

parenthesis-friends (list)

A list of Grob types, as symbols. When parentheses enclose a Grob that has ’parenthesis-friends, the parentheses widen to include any child Grobs with type among ’parenthesis-friends.

parenthesized (boolean)

Parenthesize this grob.

positions (pair of numbers)

Pair of staff coordinates (left . right), where both left and right are in staff-space units of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.

prefer-dotted-right (boolean)

For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.

protrusion (number)

In an arpeggio bracket, the length of the horizontal edges.

ratio (number)

Parameter for slur shape. The higher this number, the quicker the slur attains its height-limit.

remove-empty (boolean)

If set, remove group if it contains no interesting items.

remove-first (boolean)

Remove the first staff of an orchestral score?

remove-layer (index or symbol)

When set as a positive integer, the Keep_alive_together_engraver removes all VerticalAxisGroup grobs with a remove-layer larger than the smallest retained remove-layer. Set to #f to make a layer independent of the Keep_alive_together_engraver. Set to '(), the layer does not participate in the layering decisions. The property can also be set as a symbol for common behaviors: #'any to keep the layer alive with any other layer in the group; #'above or #'below to keep the layer alive with the context immediately before or after it, respectively.

replacement-alist (list)

Alist of strings. The key is a string of the pattern to be replaced. The value is a string of what should be displayed. Useful for ligatures.

restore-first (boolean)

Print a natural before the accidental.

rhythmic-location (rhythmic location)

Where (bar number, measure position) in the score.

right-bound-info (list)

An alist of properties for determining attachments of spanners to edges.

right-padding (dimension, in staff space)

Space to insert on the right side of an object (e.g., between note and its accidentals).

rotation (list)

Number of degrees to rotate this object, and what point to rotate around. For example, '(45 0 0) rotates by 45 degrees around the center of this object.

round-up-exceptions (list)

A list of pairs where car is the numerator and cdr the denominator of a moment. Each pair in this list means that the multi-measure rests of the corresponding length will be rounded up to the longer rest. See round-up-to-longer-rest.

round-up-to-longer-rest (boolean)

Displays the longer multi-measure rest when the length of a measure is between two values of usable-duration-logs. For example, displays a breve instead of a whole in a 3/2 measure.

rounded (boolean)

Decide whether lines should be drawn rounded or not.

same-direction-correction (number)

Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.

script-priority (number)

A key for determining the order of scripts in a stack, by being added to the position of the script in the user input, the sum being the overall priority. Smaller means closer to the head.

segno-kern (number)

The space between the two thin lines of the segno bar line symbol, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to Staff.StaffSymbol.thickness).

self-alignment-X (number)

Specify alignment of an object. The value -1 means left aligned, 0 centered, and 1 right-aligned in X direction. Other numerical values may also be specified - the unit is half the object width.

self-alignment-Y (number)

Like self-alignment-X but for the Y axis.

shape (symbol)

This setting determines what shape a grob has. Valid choices depend on the stencil callback reading this property.

sharp-positions (list)

Sharps in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order of the staff-position at which each clef places C: (alto treble tenor soprano baritone mezzosoprano bass). If the list contains a single element it applies for all clefs. A single number in place of a pair sets accidentals within the octave ending at that staff-position.

shorten-pair (pair of numbers)

The lengths to shorten on both sides a hairpin or text-spanner such as a pedal bracket. Positive values shorten the hairpin or text-spanner, while negative values lengthen it.

shortest-duration-space (number)

Start with this multiple of spacing-increment space for the shortest duration. See also spacing-spanner-interface.

shortest-playing-duration (moment)

The duration of the shortest note playing here.

shortest-starter-duration (moment)

The duration of the shortest note that starts here.

side-axis (number)

If the value is X (or equivalently 0), the object is placed horizontally next to the other object. If the value is Y or 1, it is placed vertically.

side-relative-direction (direction)

Multiply direction of direction-source with this to get the direction of this object.

simple-Y (boolean)

Should the Y placement of a spanner disregard changes in system heights?

size (number)

The ratio of the size of the object to its default size.

skip-quanting (boolean)

Should beam quanting be skipped?

skyline-horizontal-padding (number)

For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.

skyline-vertical-padding (number)

The amount by which the left and right skylines of a column are padded vertically, beyond the Y-extents and extra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.

slash-negative-kern (number)

The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.

slope (number)

The slope of this object.

slur-padding (number)

Extra distance between slur and script.

snap-radius (number)

The maximum distance between two objects that will cause them to snap to alignment along an axis.

space-alist (list)

An alist that specifies distances from this grob to other breakable items, using the format:

'((break-align-symbol . (spacing-style . space))
  (break-align-symbol . (spacing-style . space))
  ...)

Standard choices for break-align-symbol are listed in break-alignment-interface. Additionally, three special break-align symbols available to space-alist are:

first-note

used when the grob is just left of the first note on a line

next-note

used when the grob is just left of any other note; if not set, the value of first-note gets used

right-edge

used when the grob is the last item on the line (only compatible with the extra-space spacing style)

Choices for spacing-style are:

extra-space

Put this much space between the two grobs. The space is stretchable when paired with first-note or next-note; otherwise it is fixed.

minimum-space

Put at least this much space between the left sides of both grobs, without allowing them to collide. The space is stretchable when paired with first-note or next-note; otherwise it is fixed. Not compatible with right-edge.

fixed-space

Only compatible with first-note and next-note. Put this much fixed space between the grob and the note.

minimum-fixed-space

Only compatible with first-note and next-note. Put at least this much fixed space between the left side of the grob and the left side of the note, without allowing them to collide.

semi-fixed-space

Only compatible with first-note and next-note. Put this much space between the grob and the note, such that half of the space is fixed and half is stretchable.

Rules for this spacing are much more complicated than this. See [Wanske] page 126–134, [Ross] page 143–147.

space-to-barline (boolean)

If set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.

spacing-increment (dimension, in staff space)

The unit of length for note-spacing. Typically, the width of a note head. See also spacing-spanner-interface.

spacing-pair (pair)

A pair of alignment symbols which set an object’s spacing relative to its left and right BreakAlignments.

For example, a MultiMeasureRest will ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:

\override MultiMeasureRest
  #'spacing-pair = #'(staff-bar . staff-bar)
spanner-id (index or symbol)

An identifier to distinguish concurrent spanners.

springs-and-rods (boolean)

Dummy variable for triggering spacing routines.

stacking-dir (direction)

Stack objects in which direction?

staff-affinity (direction)

The direction of the staff to use for spacing the current non-staff line. Choices are UP, DOWN, and CENTER. If CENTER, the non-staff line will be placed equidistant between the two nearest staves on either side, unless collisions or other spacing constraints prevent this. Setting staff-affinity for a staff causes it to be treated as a non-staff line. Setting staff-affinity to #f causes a non-staff line to be treated as a staff.

staff-padding (dimension, in staff space)

Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.

staff-position (number)

Vertical position, measured in half staff spaces, counted from the middle line.

staff-space (dimension, in staff space)

Amount of space between staff lines, expressed in global staff-space.

staff-staff-spacing (list)

When applied to a staff-group’s StaffGrouper grob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’s VerticalAxisGroup grob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from the StaffGrouper grob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:

  • basic-distance – the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.
  • minimum-distance – the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.
  • padding – the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.
  • stretchability – a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).
staffgroup-staff-spacing (list)

The spacing alist controlling the distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines exist between the two staves. If the staff-staff-spacing property of the staff’s VerticalAxisGroup grob is set, that is used instead. See staff-staff-spacing for a description of the alist structure.

stem-attachment (pair of numbers)

An (x . y) pair where the stem attaches to the notehead.

stem-begin-position (number)

User override for the begin position of a stem.

stem-spacing-correction (number)

Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.

stemlet-length (number)

How long should be a stem over a rest?

stencil (stencil)

The symbol to print.

stencils (list)

Multiple stencils, used as intermediate value.

strict-grace-spacing (boolean)

If set, main notes are spaced normally, then grace notes are put left of the musical columns for the main notes.

strict-note-spacing (boolean)

If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.

stroke-style (string)

Set to "grace" to turn stroke through flag on.

style (symbol)

This setting determines in what style a grob is typeset. Valid choices depend on the stencil callback reading this property.

text (markup)

Text markup. See Formatting text.

text-direction (direction)

This controls the ordering of the words. The default RIGHT is for roman text. Arabic or Hebrew should use LEFT.

thick-thickness (number)

Thickness of the thick line in a bar line, expressed as a multiple of the default staff-line thickness (i.e. the visual output is not influenced by changes to Staff.StaffSymbol.thickness).

thickness (number)

For grobs made up of lines, this is the thickness of the line. For slurs and ties, this is the distance between the two arcs of the curve’s outline at its thickest point, not counting the diameter of the virtual “pen” that draws the arcs. This property is expressed as a multiple of the current staff-line thickness (i.e. the visual output is influenced by changes to Staff.StaffSymbol.thickness).

tie-configuration (list)

List of (position . dir) pairs, indicating the desired tie configuration, where position is the offset from the center of the staff in staff space and dir indicates the direction of the tie (1=>up, -1=>down, 0=>center). A non-pair entry in the list causes the corresponding tie to be formatted automatically.

to-barline (boolean)

If true, the spanner will stop at the bar line just before it would otherwise stop.

toward-stem-shift (number)

Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction. 0.0 means centered on the note head (the default position of most scripts); 1.0 means centered on the stem. Interpolated values are possible.

toward-stem-shift-in-column (number)

Amount by which a script is shifted toward the stem if its direction coincides with the stem direction and it is associated with a ScriptColumn object. 0.0 means centered on the note head (the default position of most scripts); 1.0 means centered on the stem. Interpolated values are possible.

transparent (boolean)

This makes the grob invisible.

uniform-stretching (boolean)

If set, items stretch proportionally to their natural separation based on durations. This looks better in complex polyphonic patterns.

usable-duration-logs (list)

List of duration-logs that can be used in typesetting the grob.

use-skylines (boolean)

Should skylines be used for side positioning?

used (boolean)

If set, this spacing column is kept in the spacing problem.

vertical-skylines (pair of skylines)

Two skylines, one above and one below this grob.

voiced-position (number)

The staff-position of a voiced Rest, negative if the rest has direction DOWN.

when (moment)

Global time step associated with this column.

whiteout (boolean-or-number)

If a number or true, the grob is printed over a white background to white-out underlying material, if the grob is visible. A number indicates how far the white background extends beyond the bounding box of the grob as a multiple of the staff-line thickness. The LyricHyphen grob uses a special implementation of whiteout: A positive number indicates how far the white background extends beyond the bounding box in multiples of line-thickness. The shape of the background is determined by whiteout-style. Usually #f by default.

whiteout-style (symbol)

Determines the shape of the whiteout background. Available are 'outline, 'rounded-box, and the default 'box. There is one exception: Use 'special for LyricHyphen.

width (dimension, in staff space)

The width of a grob measured in staff space.

word-space (dimension, in staff space)

Space to insert between words in texts.

X-align-on-main-noteheads (boolean)

If true, this grob will ignore suspended noteheads when aligning itself on NoteColumn.

X-extent (pair of numbers)

Extent (size) in the X direction, measured in staff-space units, relative to object’s reference point.

X-offset (number)

The horizontal amount that this object is moved relative to its X-parent.

X-positions (pair of numbers)

Pair of X staff coordinates of a spanner in the form (left . right), where both left and right are in staff-space units of the current staff.

Y-extent (pair of numbers)

Extent (size) in the Y direction, measured in staff-space units, relative to object’s reference point.

Y-offset (number)

The vertical amount that this object is moved relative to its Y-parent.

zigzag-length (dimension, in staff space)

The length of the lines of a zigzag, relative to zigzag-width. A value of 1 gives 60-degree zigzags.

zigzag-width (dimension, in staff space)

The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.


A.19 Available music functions

absolute [music] - music (music)

Make music absolute. This does not actually change the music itself but rather hides it from surrounding \relative and \fixed commands.

acciaccatura [music] - music (music)

Create an acciaccatura from the following music expression

accidentalStyle [music] - style (symbol list)

Set accidental style to symbol list style in the form ‘piano-cautionary’. If style has a form like ‘Staff.piano-cautionary’, the settings are applied to that context. Otherwise, the context defaults to ‘Staff’, except for piano styles, which use ‘GrandStaff’ as a context.

addChordShape [void] - key-symbol (symbol) tuning (pair) shape-definition (string or pair)

Add chord shape shape-definition to the chord-shape-table hash with the key (cons key-symbol tuning).

addInstrumentDefinition [void] - name (string) lst (list)

Create instrument name with properties list.

addQuote [void] - name (string) music (music)

Define music as a quotable music expression named name

afterGrace [music] - fraction [fraction, as pair] main (music) grace (music)

Create grace note(s) after a main music expression.

The musical position of the grace expression is after a given fraction of the main note’s duration has passed. If fraction is not specified as first argument, it is taken from afterGraceFraction which has a default value of 3/4.

allowPageTurn [music]

Allow a page turn. May be used at toplevel (ie between scores or markups), or inside a score.

allowVoltaHook [void] - bar (string)

(undocumented; fixme)

alterBroken [music] - property (key list or symbol) arg (list) item (key list or music)

Override property for pieces of broken spanner item with values arg. item may either be music in the form of a starting spanner event, or a symbol list in the form ‘Context.Grob’ or just ‘Grob’. Iff item is in the form of a spanner event, property may also have the form ‘Grob.property’ for specifying a directed tweak.

appendToTag [music] - tag (symbol) more (music) music (music)

Append more to the elements of all music expressions in music that are tagged with tag.

applyContext [music] - proc (procedure)

Modify context properties with Scheme procedure proc.

applyMusic [music] - func (procedure) music (music)

Apply procedure func to music.

applyOutput [music] - target (symbol list or symbol) proc (procedure)

Apply function proc to every layout object matched by target which takes the form Context or Context.Grob.

appoggiatura [music] - music (music)

Create an appoggiatura from music

assertBeamQuant [music] - l (pair) r (pair)

Testing function: check whether the beam quants l and r are correct

assertBeamSlope [music] - comp (procedure)

Testing function: check whether the slope of the beam is the same as comp

autochange [music] - pitch [pitch] clef-1 [context modification] clef-2 [context modification] music (music)

Make voices that switch between staves automatically. As an option the pitch where to switch staves may be specified. The clefs for the staves are optional as well. Setting clefs works only for implicitly instantiated staves.

balloonGrobText [music] - grob-name (symbol) offset (pair of numbers) text (markup)

Attach text to grob-name at offset offset (use like \once)

balloonText [post event] - offset (pair of numbers) text (markup)

Attach text at offset (use like \tweak)

bar [music] - type (string)

Insert a bar line of type type

barNumberCheck [music] - n (integer)

Print a warning if the current bar number is not n.

beamExceptions (any type) - music (music)

Extract a value suitable for setting Timing.beamExceptions from the given pattern with explicit beams in music. A bar check | has to be used between bars of patterns in order to reset the timing.

bendAfter [post event] - delta (real number)

Create a fall or doit of pitch interval delta.

bookOutputName [void] - newfilename (string)

Direct output for the current book block to newfilename.

bookOutputSuffix [void] - newsuffix (string)

Set the output filename suffix for the current book block to newsuffix.

breathe [music]

Insert a breath mark.

chordRepeats [music] - event-types [list] music (music)

Walk through music putting the notes of the previous chord into repeat chords, as well as an optional list of event-types such as #'(string-number-event).

clef [music] - type (string)

Set the current clef to type.

compoundMeter [music] - args (pair)

Create compound time signatures. The argument is a Scheme list of lists. Each list describes one fraction, with the last entry being the denominator, while the first entries describe the summands in the enumerator. If the time signature consists of just one fraction, the list can be given directly, i.e. not as a list containing a single list. For example, a time signature of (3+1)/8 + 2/4 would be created as \compoundMeter #'((3 1 8) (2 4)), and a time signature of (3+2)/8 as \compoundMeter #'((3 2 8)) or shorter \compoundMeter #'(3 2 8).

compressMMRests [music] - music (music)

Remove the empty bars created by multi-measure rests, leaving just the first bar containing the MM rest itself.

crossStaff [music] - notes (music)

Create cross-staff stems

cueClef [music] - type (string)

Set the current cue clef to type.

cueClefUnset [music]

Unset the current cue clef.

cueDuring [music] - what (string) dir (direction) main-music (music)

Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir.

cueDuringWithClef [music] - what (string) dir (direction) clef (string) main-music (music)

Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir.

deadNote [music] - note (music)

Print note with a cross-shaped note head.

defineBarLine [void] - bar (string) glyph-list (list)

Define bar line settings for bar line bar. The list glyph-list must have three entries which define the appearance at the end of line, at the beginning of the next line, and the span bar, respectively.

displayLilyMusic [music] - port [output port] music (music)

Display the LilyPond input representation of music to port, defaulting to the console.

displayMusic [music] - port [output port] music (music)

Display the internal representation of music to port, default to the console.

displayScheme (any type) - port [output port] expr (any type)

Display the internal representation of expr to port, default to the console.

endSpanners [music] - music (music)

Terminate the next spanner prematurely after exactly one note without the need of a specific end spanner.

eventChords [music] - music (music)

Compatibility function wrapping EventChord around isolated rhythmic events occuring since version 2.15.28, after expanding repeat chords ‘q’.

featherDurations [music] - factor (moment) argument (music)

Adjust durations of music in argument by rational factor.

finger [post event] - finger (number or markup)

Apply finger as a fingering indication.

fixed [music] - pitch (pitch) music (music)

Use the octave of pitch as the default octave for music.

footnote [music] - mark [markup] offset (pair of numbers) footnote (markup) item (symbol list or music)

Make the markup footnote a footnote on item. The footnote is marked with a markup mark moved by offset with respect to the marked music.

If mark is not given or specified as \default, it is replaced by an automatically generated sequence number. If item is a symbol list of form ‘Grob’ or ‘Context.Grob’, then grobs of that type will be marked at the current time step in the given context (default Bottom).

If item is music, the music will get a footnote attached to a grob immediately attached to the event, like \tweak does. For attaching a footnote to an indirectly caused grob, write \single\footnote, use item to specify the grob, and follow it with the music to annotate.

Like with \tweak, if you use a footnote on a following post-event, the \footnote command itself needs to be attached to the preceding note or rest as a post-event with -.

grace [music] - music (music)

Insert music as grace notes.

grobdescriptions (any type) - descriptions (list)

Create a context modification from descriptions, a list in the format of all-grob-descriptions.

harmonicByFret [music] - fret (number) music (music)

Convert music into mixed harmonics; the resulting notes resemble harmonics played on a fretted instrument by touching the strings at fret.

harmonicByRatio [music] - ratio (number) music (music)

Convert music into mixed harmonics; the resulting notes resemble harmonics played on a fretted instrument by touching the strings at the point given through ratio.

harmonicNote [music] - note (music)

Print note with a diamond-shaped note head.

harmonicsOn [music]

Set the default note head style to a diamond-shaped style.

hide [music] - item (symbol list or music)

Set item’s ‘transparent’ property to #t, making it invisible while still retaining its dimensions.

If item is a symbol list of form GrobName or Context.GrobName, the result is an override for the grob name specified by it. If item is a music expression, the result is the same music expression with an appropriate tweak applied to it.

incipit [music] - incipit-music (music)

Output incipit-music before the main staff as an indication of its appearance in the original music.

inherit-acceptability [void] - to (symbol) from (symbol)

When used in an output definition, will modify all context definitions such that context to is accepted as a child by all contexts that also accept from.

inStaffSegno [music]

Put the segno variant ’varsegno’ at this position into the staff, compatible with the repeat command.

instrumentSwitch [music] - name (string)

Switch instrument to name, which must be predefined with \addInstrumentDefinition.

inversion [music] - around (pitch) to (pitch) music (music)

Invert music about around and transpose from around to to.

keepWithTag [music] - tags (symbol list or symbol) music (music)

Include only elements of music that are tagged with one of the tags in tags. tags may be either a single symbol or a list of symbols.

Each tag may be declared as a member of at most one tag group (defined with \tagGroup). If none of a music element’s tags share a tag group with one of the specified tags, the element is retained.

key [music] - tonic [pitch] pitch-alist [list]

Set key to tonic and scale pitch-alist. If both are null, just generate KeyChangeEvent.

killCues [music] - music (music)

Remove cue notes from music.

label [music] - label (symbol)

Create label as a bookmarking label.

language [void] - language (string)

Set note names for language language.

languageRestore [void]

Restore a previously-saved pitchnames alist.

languageSaveAndChange [void] - language (string)

Store the previous pitchnames alist, and set a new one.

magnifyMusic [music] - mag (positive number) music (music)

Magnify the notation of music without changing the staff-size, using mag as a size factor. Stems, beams, slurs, ties, and horizontal spacing are adjusted automatically.

magnifyStaff [music] - mag (positive number)

Change the size of the staff, adjusting notation size and horizontal spacing automatically, using mag as a size factor.

makeClusters [music] - arg (music)

Display chords in arg as clusters.

makeDefaultStringTuning [void] - symbol (symbol) pitches (list)

This defines a string tuning symbol via a list of pitches. The symbol also gets registered in defaultStringTunings for documentation purposes.

mark [music] - label [number or markup]

Make the music for the \mark command.

markupMap [music] - path (symbol list or symbol) markupfun (markup-function) music (music)

This applies the given markup function markupfun to all markup music properties matching path in music.

For example,

\new Voice { g'2 c'' }
\addlyrics {
  \markupMap LyricEvent.text
             \markup \with-color #red \etc
             { Oh yes! }
}
modalInversion [music] - around (pitch) to (pitch) scale (music) music (music)

Invert music about around using scale and transpose from around to to.

modalTranspose [music] - from (pitch) to (pitch) scale (music) music (music)

Transpose music from pitch from to pitch to using scale.

musicMap [music] - proc (procedure) mus (music)

Apply proc to mus and all of the music it contains.

noPageBreak [music]

Forbid a page break. May be used at toplevel (i.e., between scores or markups), or inside a score.

noPageTurn [music]

Forbid a page turn. May be used at toplevel (i.e., between scores or markups), or inside a score.

octaveCheck [music] - pitch (pitch)

Octave check.

offset [music] - property (symbol list or symbol) offsets (any type) item (key list or music)

Offset the default value of property of item by offsets. If item is a string, the result is \override for the specified grob type. If item is a music expression, the result is the same music expression with an appropriate tweak applied.

omit [music] - item (symbol list or music)

Set item’s ‘stencil’ property to #f, effectively omitting it without taking up space.

If item is a symbol list of form GrobName or Context.GrobName, the result is an override for the grob name specified by it. If item is a music expression, the result is the same music expression with an appropriate tweak applied to it.

once [music] - music (music)

Set once to #t on all layout instruction events in music. This will complain about music with an actual duration. As a special exception, if music contains ‘tweaks’ it will be silently ignored in order to allow for \once \propertyTweak to work as both one-time override and proper tweak.

ottava [music] - octave (integer)

Set the octavation.

overrideProperty [music] - grob-property-path (list of indexes or symbols) value (any type)

Set the grob property specified by grob-property-path to value. grob-property-path is a symbol list of the form Context.GrobName.property or GrobName.property, possibly with subproperties given as well.

As opposed to \override which overrides the context-dependent defaults with which a grob is created, this command uses Output_property_engraver at the grob acknowledge stage. This may be necessary for overriding values set after the initial grob creation.

overrideTimeSignatureSettings [music] - time-signature (fraction, as pair) base-moment (fraction, as pair) beat-structure (list) beam-exceptions (list)

Override timeSignatureSettings for time signatures of time-signature to have settings of base-moment, beat-structure, and beam-exceptions.

pageBreak [music]

Force a page break. May be used at toplevel (i.e., between scores or markups), or inside a score.

pageTurn [music]

Force a page turn between two scores or top-level markups.

palmMute [music] - note (music)

Print note with a triangle-shaped note head.

palmMuteOn [music]

Set the default note head style to a triangle-shaped style.

parallelMusic [void] - voice-ids (list) music (music)

Define parallel music sequences, separated by ’|’ (bar check signs), and assign them to the identifiers provided in voice-ids.

voice-ids: a list of music identifiers (symbols containing only letters)

music: a music sequence, containing BarChecks as limiting expressions.

Example:

  \parallelMusic #'(A B C) {
    c c | d d | e e |
    d d | e e | f f |
  }
<==>
  A = { c c | d d }
  B = { d d | e e }
  C = { e e | f f }

The last bar checks in a sequence are not copied to the result in order to facilitate ending the last entry at non-bar boundaries.

parenthesize [music] - arg (music)

Tag arg to be parenthesized.

partcombine [music] - chord-range [pair of numbers] part1 (music) part2 (music)

Take the music in part1 and part2 and return a music expression containing simultaneous voices, where part1 and part2 are combined into one voice where appropriate. Optional chord-range sets the distance in steps between notes that may be combined into a chord or unison.

partcombineDown [music] - chord-range [pair of numbers] part1 (music) part2 (music)

Take the music in part1 and part2 and typeset so that they share a staff with stems directed downward.

partcombineForce [music] - type [symbol]

Override the part-combiner.

partcombineUp [music] - chord-range [pair of numbers] part1 (music) part2 (music)

Take the music in part1 and part2 and typeset so that they share a staff with stems directed upward.

partial [music] - dur (duration)

Make a partial measure.

phrasingSlurDashPattern [music] - dash-fraction (number) dash-period (number)

Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval for phrasing slurs.

pitchedTrill [music] - main-note (music) secondary-note (music)

Print a trill with main-note as the main note of the trill and print secondary-note as a stemless note head in parentheses.

pointAndClickOff [void]

Suppress generating extra code in final-format (e.g. pdf) files to point back to the lilypond source statement.

pointAndClickOn [void]

Enable generation of code in final-format (e.g. pdf) files to reference the originating lilypond source statement; this is helpful when developing a score but generates bigger final-format files.

pointAndClickTypes [void] - types (symbol list or symbol)

Set a type or list of types (such as #'note-event) for which point-and-click info is generated.

propertyOverride [music] - grob-property-path (list of indexes or symbols) value (any type)

Set the grob property specified by grob-property-path to value. grob-property-path is a symbol list of the form Context.GrobName.property or GrobName.property, possibly with subproperties given as well. This music function is mostly intended for use from Scheme as a substitute for the built-in \override command.

propertyRevert [music] - grob-property-path (list of indexes or symbols)

Revert the grob property specified by grob-property-path to its previous value. grob-property-path is a symbol list of the form Context.GrobName.property or GrobName.property, possibly with subproperties given as well. This music function is mostly intended for use from Scheme as a substitute for the built-in \revert command.

propertySet [music] - property-path (symbol list or symbol) value (any type)

Set the context property specified by property-path to value. This music function is mostly intended for use from Scheme as a substitute for the built-in \set command.

propertyTweak [music] - prop (key list or symbol) value (any type) item (key list or music)

Add a tweak to the following item, usually music. This generally behaves like \tweak but will turn into an \override when item is a symbol list.

In that case, item specifies the grob path to override. This is mainly useful when using \propertyTweak as as a component for building other functions like \omit. It is not the default behavior for \tweak since many input strings in \lyricmode can serve equally as music or as symbols which causes surprising behavior when tweaking lyrics using the less specific semantics of \propertyTweak.

prop can contain additional elements in which case a nested property (inside of an alist) is tweaked.

propertyUnset [music] - property-path (symbol list or symbol)

Unset the context property specified by property-path. This music function is mostly intended for use from Scheme as a substitute for the built-in \unset command.

pushToTag [music] - tag (symbol) more (music) music (music)

Add more to the front of elements of all music expressions in music that are tagged with tag.

quoteDuring [music] - what (string) main-music (music)

Indicate a section of music to be quoted. what indicates the name of the quoted voice, as specified in an \addQuote command. main-music is used to indicate the length of music to be quoted; usually contains spacers or multi-measure rests.

reduceChords [music] - music (music)

Reduce chords contained in music to single notes, intended mainly for reusing music in RhythmicStaff. Does not reduce parallel music.

relative [music] - pitch [pitch] music (music)

Make music relative to pitch. If pitch is omitted, the first note in music is given in absolute pitch.

removeWithTag [music] - tags (symbol list or symbol) music (music)

Remove elements of music that are tagged with one of the tags in tags. tags may be either a single symbol or a list of symbols.

resetRelativeOctave [music] - pitch (pitch)

Set the octave inside a \relative section.

retrograde [music] - music (music)

Return music in reverse order.

revertTimeSignatureSettings [music] - time-signature (pair)

Revert timeSignatureSettings for time signatures of time-signature.

rightHandFinger [post event] - finger (number or markup)

Apply finger as a fingering indication.

scaleDurations [music] - fraction (fraction, as pair) music (music)

Multiply the duration of events in music by fraction.

settingsFrom (any type) - ctx [symbol] music (music)

Take the layout instruction events from music, optionally restricted to those applying to context type ctx, and return a context modification duplicating their effect.

shape [music] - offsets (list) item (key list or music)

Offset control-points of item by offsets. The argument is a list of number pairs or list of such lists. Each element of a pair represents an offset to one of the coordinates of a control-point. If item is a string, the result is \once\override for the specified grob type. If item is a music expression, the result is the same music expression with an appropriate tweak applied.

shiftDurations [music] - dur (integer) dots (integer) arg (music)

Change the duration of arg by adding dur to the durlog of arg and dots to the dots of arg.

single [music] - overrides (music) music (music)

Convert overrides to tweaks and apply them to music. This does not convert \revert, \set or \unset.

skip [music] - dur (duration)

Skip forward by dur.

slashedGrace [music] - music (music)

Create slashed graces (slashes through stems, but no slur) from the following music expression

slurDashPattern [music] - dash-fraction (number) dash-period (number)

Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval for slurs.

spacingTweaks [music] - parameters (list)

Set the system stretch, by reading the ’system-stretch property of the ‘parameters’ assoc list.

storePredefinedDiagram [void] - fretboard-table (hash table) chord (music) tuning (pair) diagram-definition (string or pair)

Add predefined fret diagram defined by diagram-definition for the chord pitches chord and the stringTuning tuning.

stringTuning (any type) - chord (music)

Convert chord to a string tuning. chord must be in absolute pitches and should have the highest string number (generally the lowest pitch) first.

styledNoteHeads [music] - style (symbol) heads (symbol list or symbol) music (music)

Set heads in music to style.

tabChordRepeats [music] - event-types [list] music (music)

Walk through music putting the notes, fingerings and string numbers of the previous chord into repeat chords, as well as an optional list of event-types such as #'(articulation-event).

tabChordRepetition [void]

Include the string and fingering information in a chord repetition. This function is deprecated; try using \tabChordRepeats instead.

tag [music] - tags (symbol list or symbol) music (music)

Tag the following music with tags and return the result, by adding the single symbol or symbol list tags to the tags property of music.

tagGroup [void] - tags (symbol list)

Define a tag group comprising the symbols in the symbol list tags. Tag groups must not overlap.

temporary [music] - music (music)

Make any \override in music replace an existing grob property value only temporarily, restoring the old value when a corresponding \revert is executed. This is achieved by clearing the ‘pop-first’ property normally set on \overrides.

An \override/\revert sequence created by using \temporary and \undo on the same music containing overrides will cancel out perfectly or cause a warning.

Non-property-related music is ignored, warnings are generated for any property-changing music that isn’t an \override.

tieDashPattern [music] - dash-fraction (number) dash-period (number)

Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval for ties.

time [music] - beat-structure [number list] fraction (fraction, as pair)

Set fraction as time signature, with optional number list beat-structure before it.

times [music] - fraction (fraction, as pair) music (music)

Scale music in time by fraction.

tocItem [music] - text (markup)

Add a line to the table of content, using the tocItemMarkup paper variable markup

transpose [music] - from (pitch) to (pitch) music (music)

Transpose music from pitch from to pitch to.

transposedCueDuring [music] - what (string) dir (direction) pitch (pitch) main-music (music)

Insert notes from the part what into a voice called cue, using the transposition defined by pitch. This happens simultaneously with main-music, which is usually a rest. The argument dir determines whether the cue notes should be notated as a first or second voice.

transposition [music] - pitch (pitch)

Set instrument transposition

tuplet [music] - ratio (fraction, as pair) tuplet-span [duration] music (music)

Scale the given music to tuplets. ratio is a fraction that specifies how many notes are played in place of the nominal value: it will be ‘3/2’ for triplets, namely three notes being played in place of two. If the optional duration tuplet-span is specified, it is used instead of tupletSpannerDuration for grouping the tuplets. For example,

\tuplet 3/2 4 { c8 c c c c c }

will result in two groups of three tuplets, each group lasting for a quarter note.

tupletSpan [music] - tuplet-span [duration]

Set tupletSpannerDuration, the length into which \tuplet without an explicit ‘tuplet-span’ argument of its own will group its tuplets, to the duration tuplet-span. To revert to the default of not subdividing the contents of a \tuplet command without explicit ‘tuplet-span’, use

\tupletSpan \default
tweak [music] - prop (key list or symbol) value (any type) music (music)

Add a tweak to the following music. Layout objects created by music get their property prop set to value. If prop has the form ‘Grob.property’, like with

\tweak Accidental.color #red cis'

an indirectly created grob (‘Accidental’ is caused by ‘NoteHead’) can be tweaked; otherwise only directly created grobs are affected.

prop can contain additional elements in which case a nested property (inside of an alist) is tweaked.

undo [music] - music (music)

Convert \override and \set in music to \revert and \unset, respectively. Any reverts and unsets already in music cause a warning. Non-property-related music is ignored.

unfoldRepeats [music] - types [symbol list or symbol] music (music)

Force \repeat volta, \repeat tremolo or \repeat percent commands in music to be interpreted as \repeat unfold, if specified in the optional symbol-list types. The default for types is an empty list, which will force any of those commands in music to be interpreted as \repeat unfold. Possible entries are volta, tremolo or percent. Multiple entries are possible.

voices [music] - ids (list of indexes or symbols) music (music)

Take the given key list of numbers (indicating the use of ‘\voiceOne’…) or symbols (indicating voice names, typically converted from strings by argument list processing) and assign the following \\-separated music to contexts according to that list. Named rather than numbered contexts can be used for continuing one voice (for the sake of spanners and lyrics), usually requiring a \voiceOne-style override at the beginning of the passage and a \oneVoice override at its end.

The default

<< … \\ … \\ … >>

construct would correspond to

\voices 1,2,3 << … \\ … \\ … >>
void [void] - arg (any type)

Accept a scheme argument, return a void expression. Use this if you want to have a scheme expression evaluated because of its side-effects, but its value ignored.

withMusicProperty [music] - sym (symbol) val (any type) music (music)

Set sym to val in music.

xNote [music] - note (music)

Print note with a cross-shaped note head.

\= [post event] - id (index or symbol) event (post event)

This sets the spanner-id property of the following event to the given id (non-negative integer or symbol). This can be used to tell LilyPond how to connect overlapping or parallel slurs or phrasing slurs within a single Voice.

\fixed c' { c\=1( d\=2( e\=1) f\=2) }

[image of music]


A.20 Context modification identifiers

The following commands are defined for use as context modifications within a \layout or \with block.

RemoveAllEmptyStaves

Remove staves which are considered to be empty according to the list of interfaces set by keepAliveInterfaces, including those in the first system.

RemoveEmptyStaves

Remove staves which are considered to be empty according to the list of interfaces set by keepAliveInterfaces.


A.21 Predefined type predicates


R5RS primary predicates

Type predicateDescription
boolean?boolean
char?character
number?number
pair?pair
port?port
procedure?procedure
string?string
symbol?symbol
vector?vector

R5RS secondary predicates

Type predicateDescription
char-alphabetic?alphabetic character
char-lower-case?lower-case character
char-numeric?numeric character
char-upper-case?upper-case character
char-whitespace?whitespace character
complex?complex number
eof-object?end-of-file object
even?even number
exact?exact number
inexact?inexact number
input-port?input port
integer?integer
list?list (use cheap-list? for faster processing)
negative?negative number
null?null
odd?odd number
output-port?output port
positive?positive number
rational?rational number
real?real number
zero?zero

Guile predicates

Type predicateDescription
hash-table?hash table

LilyPond scheme predicates

Type predicateDescription
boolean-or-symbol?boolean or symbol
cheap-list?list (use this instead of list? for faster processing)
color?color
fraction?fraction, as pair
grob-list?list of grobs
index?non-negative integer
key?index or symbol
key-list?list of indexes or symbols
key-list-or-music?key list or music
key-list-or-symbol?key list or symbol
markup?markup
markup-command-list?markup command list
markup-list?markup list
moment-pair?pair of moment objects
number-list?number list
number-or-grob?number or grob
number-or-markup?number or markup
number-or-pair?number or pair
number-or-string?number or string
number-pair?pair of numbers
number-pair-list?list of number pairs
rational-or-procedure?an exact rational or procedure
rhythmic-location?rhythmic location
scheme?any type
string-or-music?string or music
string-or-pair?string or pair
string-or-symbol?string or symbol
symbol-list?symbol list
symbol-list-or-music?symbol list or music
symbol-list-or-symbol?symbol list or symbol
void?void

LilyPond exported predicates

Type predicateDescription
ly:book?book
ly:box?box
ly:context?context
ly:context-def?context definition
ly:context-mod?context modification
ly:dimension?dimension, in staff space
ly:dir?direction
ly:dispatcher?dispatcher
ly:duration?duration
ly:event?post event
ly:font-metric?font metric
ly:grob?graphical (layout) object
ly:grob-array?array of grobs
ly:grob-properties?grob properties
ly:input-location?input location
ly:item?item
ly:iterator?iterator
ly:lily-lexer?lily-lexer
ly:lily-parser?lily-parser
ly:listener?listener
ly:moment?moment
ly:music?music
ly:music-function?music function
ly:music-list?list of music objects
ly:music-output?music output
ly:otf-font?OpenType font
ly:output-def?output definition
ly:page-marker?page marker
ly:pango-font?pango font
ly:paper-book?paper book
ly:paper-system?paper-system Prob
ly:pitch?pitch
ly:prob?property object
ly:score?score
ly:skyline?skyline
ly:skyline-pair?pair of skylines
ly:source-file?source file
ly:spanner?spanner
ly:spring?spring
ly:stencil?stencil
ly:stream-event?stream event
ly:translator?translator
ly:translator-group?translator group
ly:undead?undead container
ly:unpure-pure-container?unpure/pure container

A.22 Scheme functions

Function: ly:add-context-mod contextmods modification

Adds the given context modification to the list contextmods of context modifications.

Function: ly:add-file-name-alist alist

Add mappings for error messages from alist.

Function: ly:add-interface iface desc props

Add a new grob interface. iface is the interface name, desc is the interface description, and props is the list of user-settable properties for the interface.

Function: ly:add-listener callback disp cl

Add the single-argument procedure callback as listener to the dispatcher disp. Whenever disp hears an event of class cl, it calls callback with it.

Function: ly:add-option sym val description

Add a program option sym. val is the default value and description is a string description.

Function: ly:all-grob-interfaces

Return the hash table with all grob interface descriptions.

Function: ly:all-options

Get all option settings in an alist.

Function: ly:all-stencil-expressions

Return all symbols recognized as stencil expressions.

Function: ly:angle x y

Calculates angle in degrees of given vector. With one argument, x is a number pair indicating the vector. With two arguments, x and y specify the respective coordinates.

Function: ly:assoc-get key alist default-value strict-checking

Return value if key in alist, else default-value (or #f if not specified). If strict-checking is set to #t and key is not in alist, a programming_error is output.

Function: ly:axis-group-interface::add-element grob grob-element

Set grob the parent of grob-element on all axes of grob.

Function: ly:basic-progress str rest

A Scheme callable function to issue a basic progress message str. The message is formatted with format and rest.

Function: ly:beam-score-count

count number of beam scores.

Function: ly:book? x

Is x a Book object?

Function: ly:book-add-bookpart! book-smob book-part

Add book-part to book-smob book part list.

Function: ly:book-add-score! book-smob score

Add score to book-smob score list.

Function: ly:book-book-parts book

Return book parts in book.

Function: ly:book-header book

Return header in book.

Function: ly:book-paper book

Return paper in book.

Function: ly:book-process book-smob default-paper default-layout output

Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).

Function: ly:book-process-to-systems book-smob default-paper default-layout output

Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).

Function: ly:book-scores book

Return scores in book.

Function: ly:book-set-header! book module

Set the book header.

Function: ly:box? x

Is x a Box object?

Function: ly:bp num

num bigpoints (1/72th inch).

Function: ly:bracket a iv t p

Make a bracket in direction a. The extent of the bracket is given by iv. The wings protrude by an amount of p, which may be negative. The thickness is given by t.

Function: ly:broadcast disp ev

Send the stream event ev to the dispatcher disp.

Function: ly:camel-case->lisp-identifier name-sym

Convert FooBar_Bla to foo-bar-bla style symbol.

Function: ly:chain-assoc-get key achain default-value strict-checking

Return value for key from a list of alists achain. If no entry is found, return default-value or #f if default-value is not specified. With strict-checking set to #t, a programming_error is output in such cases.

Function: ly:check-expected-warnings

Check whether all expected warnings have really been triggered.

Function: ly:cm num

num cm.

Function: ly:command-line-code

The Scheme code specified on command-line with ‘-e’.

Function: ly:command-line-options

The Scheme options specified on command-line with ‘-d’.

Function: ly:connect-dispatchers to from

Make the dispatcher to listen to events from from.

Function: ly:context? x

Is x a Context object?

Function: ly:context-current-moment context

Return the current moment of context.

Function: ly:context-def? x

Is x a Context_def object?

Function: ly:context-def-lookup def sym val

Return the value of sym in context definition def (e.g., \Voice). If no value is found, return val or '() if val is undefined. sym can be any of ‘default-child’, ‘consists’, ‘description’, ‘aliases’, ‘accepts’, ‘property-ops’, ‘context-name’, ‘group-type’.

Function: ly:context-def-modify def mod

Return the result of applying the context-mod mod to the context definition def. Does not change def.

Function: ly:context-event-source context

Return event-source of context context.

Function: ly:context-events-below context

Return a stream-distributor that distributes all events from context and all its subcontexts.

Function: ly:context-find context name

Find a parent of context that has name or alias name. Return #f if not found.

Function: ly:context-grob-definition context name

Return the definition of name (a symbol) within context as an alist.

Function: ly:context-id context

Return the ID string of context, i.e., for \context Voice = "one" … return the string one.

Function: ly:context-matched-pop-property context grob cell

This undoes a particular \override, \once \override or \once \revert when given the specific alist pair to undo.

Function: ly:context-mod? x

Is x a Context_mod object?

Function: ly:context-mod-apply! context mod

Apply the context modification mod to context.

Function: ly:context-name context

Return the name of context, i.e., for \context Voice = "one" … return the symbol Voice.

Function: ly:context-now context

Return now-moment of context context.

Function: ly:context-parent context

Return the parent of context, #f if none.

Function: ly:context-property context sym def

Return the value for property sym in context. If def is given, and property value is '(), return def.

Function: ly:context-property-where-defined context name

Return the context above context where name is defined.

Function: ly:context-pushpop-property context grob eltprop val

Do \temporary \override or \revert operation in context. The grob definition grob is extended with eltprop (if val is specified) or reverted (if unspecified).

Function: ly:context-set-property! context name val

Set value of property name in context context to val.

Function: ly:context-unset-property context name

Unset value of property name in context context.

Function: ly:debug str rest

A Scheme callable function to issue a debug message str. The message is formatted with format and rest.

Function: ly:default-scale

Get the global default scale.

Function: ly:dimension? d

Return d as a number. Used to distinguish length variables from normal numbers.

Function: ly:dir? s

Is s a direction? Valid directions are -1, 0, or 1, where -1 represents left or down, 1 represents right or up, and 0 represents a neutral direction.

Function: ly:directed direction magnitude

Calculates an (x . y) pair with optional magnitude (defaulting to 1.0) and direction specified either as an angle in degrees or a coordinate pair giving the direction. If magnitude is a pair, the respective coordinates are scaled independently, useful for ellipse drawings.

Function: ly:disconnect-dispatchers to from

Stop the dispatcher to listening to events from from.

Function: ly:dispatcher? x

Is x a Dispatcher object?

Function: ly:duration? x

Is x a Duration object?

Function: ly:duration<? p1 p2

Is p1 shorter than p2?

Function: ly:duration->string dur

Convert dur to a string.

Function: ly:duration-dot-count dur

Extract the dot count from dur.

Function: ly:duration-factor dur

Extract the compression factor from dur. Return it as a pair.

Function: ly:duration-length dur

The length of the duration as a moment.

Function: ly:duration-log dur

Extract the duration log from dur.

Function: ly:duration-scale dur

Extract the compression factor from dur. Return it as a rational.

Function: ly:effective-prefix

Return effective prefix.

Function: ly:encode-string-for-pdf str

Encode the given string to either Latin1 (which is a subset of the PDFDocEncoding) or if that’s not possible to full UTF-16BE with Byte-Order-Mark (BOM).

Function: ly:engraver-announce-end-grob engraver grob cause

Announce the end of a grob (i.e., the end of a spanner) originating from given engraver instance, with grob being a grob. cause should either be another grob or a music event.

Function: ly:engraver-make-grob engraver grob-name cause

Create a grob originating from given engraver instance, with given grob-name, a symbol. cause should either be another grob or a music event.

Function: ly:error str rest

A Scheme callable function to issue the error str. The error is formatted with format and rest.

Function: ly:event? obj

Is obj a proper (non-rhythmic) event object?

Function: ly:event-deep-copy m

Copy m and all sub expressions of m.

Function: ly:event-property sev sym val

Get the property sym of stream event sev. If sym is undefined, return val or '() if val is not specified.

Function: ly:event-set-property! ev sym val

Set property sym in event ev to val.

Function: ly:expand-environment str

Expand $VAR and ${VAR} in str.

Function: ly:expect-warning str rest

A Scheme callable function to register a warning to be expected and subsequently suppressed. If the warning is not encountered, a warning about the missing warning will be shown. The message should be translated with (_ ...) and changing parameters given after the format string.

Function: ly:find-file name

Return the absolute file name of name, or #f if not found.

Function: ly:font-config-add-directory dir

Add directory dir to FontConfig.

Function: ly:font-config-add-font font

Add font font to FontConfig.

Function: ly:font-config-display-fonts

Dump a list of all fonts visible to FontConfig.

Function: ly:font-config-get-font-file name

Get the file for font name.

Function: ly:font-design-size font

Given the font metric font, return the design size, relative to the current output-scale.

Function: ly:font-file-name font

Given the font metric font, return the corresponding file name.

Function: ly:font-get-glyph font name

Return a stencil from font for the glyph named name. If the glyph is not available, return an empty stencil.

Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-glyph-name-to-charcode font name

Return the character code for glyph name in font.

Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-glyph-name-to-index font name

Return the index for name in font.

Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-index-to-charcode font index

Return the character code for index in font.

Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-magnification font

Given the font metric font, return the magnification, relative to the current output-scale.

Function: ly:font-metric? x

Is x a Font_metric object?

Function: ly:font-name font

Given the font metric font, return the corresponding name.

Function: ly:font-sub-fonts font

Given the font metric font of an OpenType font, return the names of the subfonts within font.

Function: ly:format str rest

LilyPond specific format, supporting ~a and ~[0-9]f. Basic support for ~s is also provided.

Function: ly:format-output context

Given a global context in its final state, process it and return the Music_output object in its final state.

Function: ly:generic-bound-extent grob common

Determine the extent of grob relative to common along the X axis, finding its extent as a bound when it a has bound-alignment-interfaces property list set and otherwise the full extent.

Function: ly:get-all-function-documentation

Get a hash table with all LilyPond Scheme extension functions.

Function: ly:get-all-translators

Return a list of all translator objects that may be instantiated.

Function: ly:get-cff-offset font-file-name idx

Get the offset of ’CFF’ table for font_file_name, returning it as an integer. The optional idx argument is useful for OpenType/CFF collections (OTC) only; it specifies the font index within the OTC. The default value of idx is 0.

Function: ly:get-context-mods contextmod

Returns the list of context modifications stored in contextmod.

Function: ly:get-font-format font-file-name idx

Get the font format for font_file_name, returning it as a symbol. The optional idx argument is useful for TrueType Collections (TTC) and OpenType/CFF collections (OTC) only; it specifies the font index within the TTC/OTC. The default value of idx is 0.

Function: ly:get-option var

Get a global option setting.

Function: ly:get-spacing-spec from-scm to-scm

Return the spacing spec going between the two given grobs, from_scm and to_scm.

Function: ly:get-undead undead

Get back object from undead.

Function: ly:gettext original

A Scheme wrapper function for gettext.

Function: ly:grob? x

Is x a Grob object?

Function: ly:grob-alist-chain grob global

Get an alist chain for grob grob, with global as the global default. If unspecified, font-defaults from the layout block is taken.

Function: ly:grob-array? x

Is x a Grob_array object?

Function: ly:grob-array->list grob-arr

Return the elements of grob-arr as a Scheme list.

Function: ly:grob-array-length grob-arr

Return the length of grob-arr.

Function: ly:grob-array-ref grob-arr index

Retrieve the indexth element of grob-arr.

Function: ly:grob-basic-properties grob

Get the immutable properties of grob.

Function: ly:grob-chain-callback grob proc sym

Find the callback that is stored as property sym of grob grob and chain proc to the head of this, meaning that it is called using grob and the previous callback’s result.

Function: ly:grob-common-refpoint grob other axis

Find the common refpoint of grob and other for axis.

Function: ly:grob-common-refpoint-of-array grob others axis

Find the common refpoint of grob and others (a grob-array) for axis.

Function: ly:grob-default-font grob

Return the default font for grob grob.

Function: ly:grob-extent grob refp axis

Get the extent in axis direction of grob relative to the grob refp.

Function: ly:grob-get-vertical-axis-group-index grob

Get the index of the vertical axis group the grob grob belongs to; return -1 if none is found.

Function: ly:grob-interfaces grob

Return the interfaces list of grob grob.

Function: ly:grob-layout grob

Get \layout definition from grob grob.

Function: ly:grob-object grob sym

Return the value of a pointer in grob grob of property sym. It returns '() (end-of-list) if sym is undefined in grob.

Function: ly:grob-original grob

Return the unbroken original grob of grob.

Function: ly:grob-parent grob axis

Get the parent of grob. axis is 0 for the X-axis, 1 for the Y-axis.

Function: ly:grob-pq<? a b

Compare two grob priority queue entries. This is an internal function.

Function: ly:grob-properties grob

Get the mutable properties of grob.

Function: ly:grob-properties? x

Is x a Grob_properties object?

Function: ly:grob-property grob sym val

Return the value for property sym of grob. If no value is found, return val or '() if val is not specified.

Function: ly:grob-property-data grob sym

Return the value for property sym of grob, but do not process callbacks.

Function: ly:grob-pure-height grob refp beg end val

Return the pure height of grob given refpoint refp. If no value is found, return val or '() if val is not specified.

Function: ly:grob-pure-property grob sym beg end val

Return the pure value for property sym of grob. If no value is found, return val or '() if val is not specified.

Function: ly:grob-relative-coordinate grob refp axis

Get the coordinate in axis direction of grob relative to the grob refp.

Function: ly:grob-robust-relative-extent grob refp axis

Get the extent in axis direction of grob relative to the grob refp, or (0,0) if empty.

Function: ly:grob-script-priority-less a b

Compare two grobs by script priority. For internal use.

Function: ly:grob-set-nested-property! grob symlist val

Set nested property symlist in grob grob to value val.

Function: ly:grob-set-object! grob sym val

Set sym in grob grob to value val.

Function: ly:grob-set-parent! grob axis parent-grob

Set parent-grob the parent of grob grob in axis axis.

Function: ly:grob-set-property! grob sym val

Set sym in grob grob to value val.

Function: ly:grob-spanned-rank-interval grob

Returns a pair with the rank of the furthest left column and the rank of the furthest right column spanned by grob.

Function: ly:grob-staff-position sg

Return the Y-position of sg relative to the staff.

Function: ly:grob-suicide! grob

Kill grob.

Function: ly:grob-system grob

Return the system grob of grob.

Function: ly:grob-translate-axis! grob d a

Translate grob on axis a over distance d.

Function: ly:grob-vertical<? a b

Does a lie above b on the page?

Function: ly:gulp-file name size

Read size characters from the file name, and return its contents in a string. If size is undefined, the entire file is read. The file is looked up using the search path.

Function: ly:has-glyph-names? font-file-name idx

Does the font for font_file_name have glyph names? The optional idx argument is useful for TrueType Collections (TTC) and OpenType/CFF collections (OTC) only; it specifies the font index within the TTC/OTC. The default value of idx is 0.

Function: ly:hash-table-keys tab

Return a list of keys in tab.

Function: ly:inch num

num inches.

Function: ly:input-both-locations sip

Return input location in sip as (file-name first-line first-column last-line last-column).

Function: ly:input-file-line-char-column sip

Return input location in sip as (file-name line char column).

Function: ly:input-location? x

Is x a Input object?

Function: ly:input-message sip msg rest

Print msg as a GNU compliant error message, pointing to the location in sip. msg is interpreted similar to format’s argument, using rest.

Function: ly:input-warning sip msg rest

Print msg as a GNU compliant warning message, pointing to the location in sip. msg is interpreted similar to format’s argument, using rest.

Function: ly:interpret-music-expression mus ctx

Interpret the music expression mus in the global context ctx. The context is returned in its final state.

Function: ly:interpret-stencil-expression expr func arg1 offset

Parse expr, feed bits to func with first arg arg1 having offset offset.

Function: ly:intlog2 d

The 2-logarithm of 1/d.

Function: ly:item? g

Is g an Item object?

Function: ly:item-break-dir it

The break status direction of item it. -1 means end of line, 0 unbroken, and 1 beginning of line.

Function: ly:item-get-column it

Return the PaperColumn or NonMusicalPaperColumn associated with this Item.

Function: ly:iterator? x

Is x a Music_iterator object?

Function: ly:length x y

Calculates magnitude of given vector. With one argument, x is a number pair indicating the vector. With two arguments, x and y specify the respective coordinates.

Function: ly:lexer-keywords lexer

Return a list of (KEY . CODE) pairs, signifying the LilyPond reserved words list.

Function: ly:lily-lexer? x

Is x a Lily_lexer object?

Function: ly:lily-parser? x

Is x a Lily_parser object?

Function: ly:line-interface::line grob startx starty endx endy

Make a line using layout information from grob grob.

Function: ly:listened-event-class? disp cl

Does disp listen to any event type in the list cl?

Function: ly:listened-event-types disp

Return a list of all event types that disp listens to.

Function: ly:listener? x

Is x a Listener object?

Function: ly:make-book paper header scores

Make a \book of paper and header (which may be #f as well) containing \scores.

Function: ly:make-book-part scores

Make a \bookpart containing \scores.

Function: ly:make-context-mod mod-list

Creates a context modification, optionally initialized via the list of modifications mod-list.

Function: ly:make-dispatcher

Return a newly created dispatcher.

Function: ly:make-duration length dotcount num den

length is the negative logarithm (base 2) of the duration: 1 is a half note, 2 is a quarter note, 3 is an eighth note, etc. The number of dots after the note is given by the optional argument dotcount.

The duration factor is optionally given by integers num and den, alternatively by a single rational number.

A duration is a musical duration, i.e., a length of time described by a power of two (whole, half, quarter, etc.) and a number of augmentation dots.

Function: ly:make-global-context output-def

Set up a global interpretation context, using the output block output-def. The context is returned.

Function: ly:make-global-translator global

Create a translator group and connect it to the global context global. The translator group is returned.

Function: ly:make-grob-properties alist

This packages the given property list alist in a grob property container stored in a context property with the name of a grob.

Function: ly:make-moment m g gn gd

Create the moment with rational main timing m, and optional grace timing g.

A moment is a point in musical time. It consists of a pair of rationals (mg), where m is the timing for the main notes, and g the timing for grace notes. In absence of grace notes, g is zero.

For compatibility reasons, it is possible to write two numbers specifying numerator and denominator instead of the rationals. These forms cannot be mixed, and the two-argument form is disambiguated by the sign of the second argument: if it is positive, it can only be a denominator and not a grace timing.

Function: ly:make-music props

Make a C++ Music object and initialize it with props.

This function is for internal use and is only called by make-music, which is the preferred interface for creating music objects.

Function: ly:make-music-function signature func

Make a function to process music, to be used for the parser. func is the function, and signature describes its arguments. signature’s cdr is a list containing either ly:music? predicates or other type predicates. Its car is the syntax function to call.

Function: ly:make-music-relative! music pitch

Make music relative to pitch, return final pitch.

Function: ly:make-output-def

Make an output definition.

Function: ly:make-page-label-marker label

Return page marker with label label.

Function: ly:make-page-permission-marker symbol permission

Return page marker with page breaking and turning permissions.

Function: ly:make-pango-description-string chain size

Make a PangoFontDescription string for the property alist chain at size size.

Function: ly:make-paper-outputter port format

Create an outputter that evaluates within output-format, writing to port.

Function: ly:make-pitch octave note alter

octave is specified by an integer, zero for the octave containing middle C. note is a number indexing the global default scale, with 0 corresponding to pitch C and 6 usually corresponding to pitch B. Optional alter is a rational number of 200-cent whole tones for alteration.

Function: ly:make-prob type init rest

Create a Prob object.

Function: ly:make-scale steps

Create a scale. The argument is a vector of rational numbers, each of which represents the number of 200 cent tones of a pitch above the tonic.

Function: ly:make-score music

Return score with music encapsulated in it.

Function: ly:make-spring ideal min-dist

Make a spring. ideal is the ideal distance of the spring, and min-dist is the minimum distance.

Function: ly:make-stencil expr xext yext

Stencils are device independent output expressions. They carry two pieces of information:

  1. A specification of how to print this object. This specification is processed by the output backends, for example ‘scm/output-ps.scm’.
  2. The vertical and horizontal extents of the object, given as pairs. If an extent is unspecified (or if you use empty-interval as its value), it is taken to be empty.
Function: ly:make-stream-event cl proplist

Create a stream event of class cl with the given mutable property list.

Function: ly:make-undead object

This packages object in a manner that keeps it from triggering "Parsed object should be dead" messages.

Function: ly:make-unpure-pure-container unpure pure

Make an unpure-pure container. unpure should be an unpure expression, and pure should be a pure expression. If pure is omitted, the value of unpure will be used twice, except that a callback is given two extra arguments that are ignored for the sake of pure calculations.

Function: ly:message str rest

A Scheme callable function to issue the message str. The message is formatted with format and rest.

Function: ly:minimal-breaking pb

Break (pages and lines) the Paper_book object pb without looking for optimal spacing: stack as many lines on a page before moving to the next one.

Function: ly:mm num

num mm.

Function: ly:module->alist mod

Dump the contents of module mod as an alist.

Function: ly:module-copy dest src

Copy all bindings from module src into dest.

Function: ly:modules-lookup modules sym def

Look up sym in the list modules, returning the first occurence. If not found, return def or #f if def isn’t specified.

Function: ly:moment? x

Is x a Moment object?

Function: ly:moment<? a b

Compare two moments.

Function: ly:moment-add a b

Add two moments.

Function: ly:moment-div a b

Divide two moments.

Function: ly:moment-grace mom

Extract grace timing as a rational number from mom.

Function: ly:moment-grace-denominator mom

Extract denominator from grace timing.

Function: ly:moment-grace-numerator mom

Extract numerator from grace timing.

Function: ly:moment-main mom

Extract main timing as a rational number from mom.

Function: ly:moment-main-denominator mom

Extract denominator from main timing.

Function: ly:moment-main-numerator mom

Extract numerator from main timing.

Function: ly:moment-mod a b

Modulo of two moments.

Function: ly:moment-mul a b

Multiply two moments.

Function: ly:moment-sub a b

Subtract two moments.

Function: ly:music? obj

Is obj a music object?

Function: ly:music-compress m factor

Compress music object m by moment factor.

Function: ly:music-deep-copy m origin

Copy m and all sub expressions of m. m may be an arbitrary type; cons cells and music are copied recursively. If origin is given, it is used as the origin for one level of music by calling ly:set-origin! on the copy.

Function: ly:music-duration-compress mus fact

Compress mus by factor fact, which is a Moment.

Function: ly:music-duration-length mus

Extract the duration field from mus and return the length.

Function: ly:music-function? x

Is x a Music_function object?

Function: ly:music-function-extract x

Return the Scheme function inside x.

Function: ly:music-function-signature x

Return the function signature inside x.

Function: ly:music-length mus

Get the length of music expression mus and return it as a Moment object.

Function: ly:music-list? lst

Is lst a list of music objects?

Function: ly:music-mutable-properties mus

Return an alist containing the mutable properties of mus. The immutable properties are not available, since they are constant and initialized by the make-music function.

Function: ly:music-output? x

Is x a Music_output object?

Function: ly:music-property mus sym val

Return the value for property sym of music expression mus. If no value is found, return val or '() if val is not specified.

Function: ly:music-set-property! mus sym val

Set property sym in music expression mus to val.

Function: ly:music-transpose m p

Transpose m such that central C is mapped to p. Return m.

Function: ly:note-column-accidentals note-column

Return the AccidentalPlacement grob from note-column if any, or SCM_EOL otherwise.

Function: ly:note-column-dot-column note-column

Return the DotColumn grob from note-column if any, or SCM_EOL otherwise.

Function: ly:note-head::stem-attachment font-metric glyph-name

Get attachment in font-metric for attaching a stem to notehead glyph-name.

Function: ly:number->string s

Convert s to a string without generating many decimals.

Function: ly:one-line-auto-height-breaking pb

Put each score on a single line, and put each line on its own page. Modify the paper-width setting so that every page is wider than the widest line. Modify the paper-height setting to fit the height of the tallest line.

Function: ly:one-line-breaking pb

Put each score on a single line, and put each line on its own page. Modify the paper-width setting so that every page is wider than the widest line.

Function: ly:one-page-breaking pb

Put each score on a single page. The paper-height settings are modified so each score fits on one page, and the height of the page matches the height of the full score.

Function: ly:optimal-breaking pb

Optimally break (pages and lines) the Paper_book object pb to minimize badness in bother vertical and horizontal spacing.

Function: ly:option-usage port

Print ly:set-option usage. Optional port argumentfor the destination defaults to current output port.

Function: ly:otf->cff otf-file-name idx

Convert the contents of an OTF file to a CFF file, returning it as a string. The optional idx argument is useful for OpenType/CFF collections (OTC) only; it specifies the font index within the OTC. The default value of idx is 0.

Function: ly:otf-font? font

Is font an OpenType font?

Function: ly:otf-font-glyph-info font glyph

Given the font metric font of an OpenType font, return the information about named glyph glyph (a string).

Function: ly:otf-font-table-data font tag

Extract a table tag from font. Return empty string for non-existent tag.

Function: ly:otf-glyph-count font

Return the number of glyphs in font.

Function: ly:otf-glyph-list font

Return a list of glyph names for font.

Function: ly:output-def? x

Is x a Output_def object?

Function: ly:output-def-clone def

Clone output definition def.

Function: ly:output-def-lookup def sym val

Return the value of sym in output definition def (e.g., \paper). If no value is found, return val or '() if val is undefined.

Function: ly:output-def-parent def

Return the parent output definition of def.

Function: ly:output-def-scope def

Return the variable scope inside def.

Function: ly:output-def-set-variable! def sym val

Set an output definition def variable sym to val.

Function: ly:output-description output-def

Return the description of translators in output-def.

Function: ly:output-find-context-def output-def context-name

Return an alist of all context defs (matching context-name if given) in output-def.

Function: ly:output-formats

Formats passed to ‘--format’ as a list of strings, used for the output.

Function: ly:outputter-close outputter

Close port of outputter.

Function: ly:outputter-dump-stencil outputter stencil

Dump stencil expr onto outputter.

Function: ly:outputter-dump-string outputter str

Dump str onto outputter.

Function: ly:outputter-module outputter

Return output module of outputter.

Function: ly:outputter-output-scheme outputter expr

Eval expr in module of outputter.

Function: ly:outputter-port outputter

Return output port for outputter.

Function: ly:page-marker? x

Is x a Page_marker object?

Function: ly:page-turn-breaking pb

Optimally break (pages and lines) the Paper_book object pb such that page turns only happen in specified places, returning its pages.

Function: ly:pango-font? f

Is f a pango font?

Function: ly:pango-font-physical-fonts f

Return alist of (ps-name file-name font-index) lists for Pango font f.

Function: ly:paper-book? x

Is x a Paper_book object?

Function: ly:paper-book-header pb

Return the header definition (\header) in Paper_book object pb.

Function: ly:paper-book-pages pb

Return pages in Paper_book object pb.

Function: ly:paper-book-paper pb

Return the paper output definition (\paper) in Paper_book object pb.

Function: ly:paper-book-performances pb

Return performances in Paper_book object pb.

Function: ly:paper-book-scopes pb

Return scopes in Paper_book object pb.

Function: ly:paper-book-systems pb

Return systems in Paper_book object pb.

Function: ly:paper-column::break-align-width col align-syms

Determine the extent along the X-axis of a grob used for break-alignment organized by column col. The grob is specified by align-syms, which contains either a single break-align-symbol or a list of such symbols.

Function: ly:paper-column::print

Optional stencil for PaperColumn orNonMusicalPaperColumn. Draws the rank number of each column, its moment in time, a blue arrow showing the ideal distance, and a red arrow showing the minimum distance between columns.

Function: ly:paper-fonts def

Return a list containing the fonts from output definition def (e.g., \paper).

Function: ly:paper-get-font def chain

Find a font metric in output definition def satisfying the font-qualifiers in alist chain chain, and return it. (An alist chain is a list of alists, containing grob properties.)

Function: ly:paper-get-number def sym

Return the value of variable sym in output definition def as a double.

Function: ly:paper-outputscale def

Return the output-scale for output definition def.

Function: ly:paper-score-paper-systems paper-score

Return vector of paper_system objects from paper-score.

Function: ly:paper-system? obj

Is obj a C++ Prob object of type paper-system?

Function: ly:paper-system-minimum-distance sys1 sys2

Measure the minimum distance between these two paper-systems, using their stored skylines if possible and falling back to their extents otherwise.

Function: ly:parse-file name

Parse a single .ly file. Upon failure, throw ly-file-failed key.

Function: ly:parse-string-expression parser-smob ly-code filename line

Parse the string ly-code with parser-smob. Return the contained music expression. filename and line are optional source indicators.

Function: ly:parsed-undead-list!

Return the list of objects that have been found live that should have been dead, and clear that list.

Function: ly:parser-clear-error parser

Clear error flag for parser, defaulting to current parser.

Function: ly:parser-clone closures location

Return a clone of current parser. An association list of port positions to closures can be specified in closures in order to have $ and # interpreted in their original lexical environment. If location is a valid location, it becomes the source of all music expressions inside.

Function: ly:parser-define! symbol val

Bind symbol to val in current parser’s module.

Function: ly:parser-error msg input

Display an error message and make current parser fail. Without a current parser, trigger an ordinary error.

Function: ly:parser-has-error? parser

Does parser (defaulting to current parser) have an error flag?

Function: ly:parser-include-string ly-code

Include the string ly-code into the input stream for current parser. Can only be used in immediate Scheme expressions ($ instead of #).

Function: ly:parser-lexer parser

Return the lexer for parser, defaulting to current parser

Function: ly:parser-lookup symbol

Look up symbol in current parser’s module. Return '() if not defined.

Function: ly:parser-output-name parser

Return the base name of the output file. If parser is left off, use currently active parser.

Function: ly:parser-parse-string parser-smob ly-code

Parse the string ly-code with parser-smob. Upon failure, throw ly-file-failed key.

Function: ly:parser-set-note-names names

Replace current note names in parser. names is an alist of symbols. This only has effect if the current mode is notes.

Function: ly:performance-header performance

Return header of performance.

Function: ly:performance-set-header! performance module

Set the performance header.

Function: ly:performance-write performance filename name

Write performance to filename storing name as the name of the performance in the file metadata.

Function: ly:pitch? x

Is x a Pitch object?

Function: ly:pitch<? p1 p2

Is p1 lexicographically smaller than p2?

Function: ly:pitch-alteration pp

Extract the alteration from pitch pp.

Function: ly:pitch-diff pitch root

Return pitch delta such that root transposed by delta equals pitch.

Function: ly:pitch-negate p

Negate p.

Function: ly:pitch-notename pp

Extract the note name from pitch pp.

Function: ly:pitch-octave pp

Extract the octave from pitch pp.

Function: ly:pitch-quartertones pp

Calculate the number of quarter tones of pp from middle C.

Function: ly:pitch-semitones pp

Calculate the number of semitones of pp from middle C.

Function: ly:pitch-steps p

Number of steps counted from middle C of the pitch p.

Function: ly:pitch-tones pp

Calculate the number of tones of pp from middle C as a rational number.

Function: ly:pitch-transpose p delta

Transpose p by the amount delta, where delta is relative to middle C.

Function: ly:pointer-group-interface::add-grob grob sym grob-element

Add grob-element to grob’s sym grob array.

Function: ly:position-on-line? sg spos

Return whether spos is on a line of the staff associated with the grob sg (even on an extender line).

Function: ly:prob? x

Is x a Prob object?

Function: ly:prob-immutable-properties prob

Retrieve an alist of immutable properties.

Function: ly:prob-mutable-properties prob

Retrieve an alist of mutable properties.

Function: ly:prob-property prob sym val

Return the value for property sym of Prob object prob. If no value is found, return val or '() if val is not specified.

Function: ly:prob-property? obj sym

Is boolean prop sym of sym set?

Function: ly:prob-set-property! obj sym value

Set property sym of obj to value.

Function: ly:prob-type? obj type

Is obj the specified prob-type?

Function: ly:programming-error str rest

A Scheme callable function to issue the internal warning str. The message is formatted with format and rest.

Function: ly:progress str rest

A Scheme callable function to print progress str. The message is formatted with format and rest.

Function: ly:property-lookup-stats sym

Return hash table with a property access corresponding to sym. Choices are prob, grob, and context.

Function: ly:protects

Return hash of protected objects.

Function: ly:pt num

num printer points.

Function: ly:pure-call data grob start end rest

Convert property data (unpure-pure container or procedure) to value in a pure context defined by grob, start, end, and possibly rest arguments.

Function: ly:register-stencil-expression symbol

Add symbol as head of a stencil expression.

Function: ly:register-translator creator name description

Register a translator creator (usually a descriptive alist or a function/closure returning one when given a context argument) with the given symbol name and the given description alist.

Function: ly:relative-group-extent elements common axis

Determine the extent of elements relative to common in the axis direction.

Function: ly:reset-all-fonts

Forget all about previously loaded fonts.

Function: ly:round-filled-box xext yext blot

Make a Stencil object that prints a black box of dimensions xext, yext and roundness blot.

Function: ly:round-filled-polygon points blot extroversion

Make a Stencil object that prints a black polygon with corners at the points defined by points (list of coordinate pairs) and roundness blot. Optionalextroversion shifts the outline outward, with thedefault of -1.0 keeping the outer boundary ofthe outline just inside of the polygon.

Function: ly:run-translator mus output-def

Process mus according to output-def. An interpretation context is set up, and mus is interpreted with it. The context is returned in its final state.

Optionally, this routine takes an object-key to to uniquely identify the score block containing it.

Function: ly:score? x

Is x a Score object?

Function: ly:score-add-output-def! score def

Add an output definition def to score.

Function: ly:score-embedded-format score layout

Run score through layout (an output definition) scaled to correct output-scale already, returning a list of layout-lines.

Function: ly:score-error? score

Was there an error in the score?

Function: ly:score-header score

Return score header.

Function: ly:score-music score

Return score music.

Function: ly:score-output-defs score

All output definitions in a score.

Function: ly:score-set-header! score module

Set the score header.

Function: ly:separation-item::print

Optional stencil for PaperColumn orNonMusicalPaperColumn. Draws the horizontal-skylines of each PaperColumn, showing the shapes used to determine the minimum distances between PaperColumns at the note-spacing step, before staves have been spaced (vertically) on the page.

Function: ly:set-default-scale scale

Set the global default scale. This determines the tuning of pitches with no accidentals or key signatures. The first pitch is C. Alterations are calculated relative to this scale. The number of pitches in this scale determines the number of scale steps that make up an octave. Usually the 7-note major scale.

Function: ly:set-grob-modification-callback cb

Specify a procedure that will be called every time LilyPond modifies a grob property. The callback will receive as arguments the grob that is being modified, the name of the C++ file in which the modification was requested, the line number in the C++ file in which the modification was requested, the name of the function in which the modification was requested, the property to be changed, and the new value for the property.

Function: ly:set-middle-C! context

Set the middleCPosition variable in context based on the variables middleCClefPosition and middleCOffset.

Function: ly:set-option var val

Set a program option.

Function: ly:set-origin! m origin

This sets the origin given in origin to m. m will typically be a music expression or a list of music. List structures are searched recursively, but recursion stops at the changed music expressions themselves. origin is generally of type ly:input-location?, defaulting to (*location*). Other valid values for origin are a music expression which is then used as the source of location information, or #f or '() in which case no action is performed. The return value is m itself.

Function: ly:set-property-cache-callback cb

Specify a procedure that will be called whenever lilypond calculates a callback function and caches the result. The callback will receive as arguments the grob whose property it is, the name of the property, the name of the callback that calculated the property, and the new (cached) value of the property.

Function: ly:skyline? x

Is x a Skyline object?

Function: ly:skyline-empty? sky

Return whether sky is empty.

Function: ly:skyline-pair? x

Is x a Skyline_pair object?

Function: ly:slur-score-count

count number of slur scores.

Function: ly:smob-protects

Return LilyPond’s internal smob protection list.

Function: ly:solve-spring-rod-problem springs rods length ragged

Solve a spring and rod problem for count objects, that are connected by count-1 springs, and an arbitrary number of rods. count is implicitly given by springs and rods. The springs argument has the format (ideal, inverse_hook) and rods is of the form (idx1, idx2, distance).

length is a number, ragged a boolean.

The function returns a list containing the force (positive for stretching, negative for compressing and #f for non-satisfied constraints) followed by spring-count+1 positions of the objects.

Function: ly:source-file? x

Is x a Source_file object?

Function: ly:source-files parser-smob

A list of LilyPond files being processed;a PARSER may optionally be specified.

Function: ly:spanner? g

Is g a spanner object?

Function: ly:spanner-bound spanner dir

Get one of the bounds of spanner. dir is -1 for left, and 1 for right.

Function: ly:spanner-broken-into spanner

Return broken-into list for spanner.

Function: ly:spanner-set-bound! spanner dir item

Set grob item as bound in direction dir for spanner.

Function: ly:spawn command rest

Simple interface to g_spawn_sync str. The error is formatted with format and rest.

Function: ly:spring? x

Is x a Spring object?

Function: ly:spring-set-inverse-compress-strength! spring strength

Set the inverse compress strength of spring.

Function: ly:spring-set-inverse-stretch-strength! spring strength

Set the inverse stretch strength of spring.

Function: ly:staff-symbol-line-thickness grob

Returns the current staff-line thickness in the staff associated with grob, expressed as a multiple of the current staff-space height.

Function: ly:staff-symbol-staff-radius grob

Returns the radius of the staff associated with grob.

Function: ly:staff-symbol-staff-space grob

Returns the current staff-space height in the staff associated with grob, expressed as a multiple of the default height of a staff-space in the traditional five-line staff.

Function: ly:start-environment

Return the environment (a list of strings) that was in effect at program start.

Function: ly:stderr-redirect file-name mode

Redirect stderr to file-name, opened with mode.

Function: ly:stencil? x

Is x a Stencil object?

Function: ly:stencil-add args

Combine stencils. Takes any number of arguments.

Function: ly:stencil-aligned-to stil axis dir

Align stil using its own extents. dir is a number. -1 and 1 are left and right, respectively. Other values are interpolated (so 0 means the center).

Function: ly:stencil-combine-at-edge first axis direction second padding

Construct a stencil by putting second next to first. axis can be 0 (x-axis) or 1 (y-axis). direction can be -1 (left or down) or 1 (right or up). The stencils are juxtaposed with padding as extra space. first and second may also be '() or #f.

Function: ly:stencil-empty? stil axis

Return whether stil is empty. If an optional axis is supplied, the emptiness check is restricted to that axis.

Function: ly:stencil-expr stil

Return the expression of stil.

Function: ly:stencil-extent stil axis

Return a pair of numbers signifying the extent of stil in axis direction (0 or 1 for x and y axis, respectively).

Function: ly:stencil-fonts s

Analyze s, and return a list of fonts used in s.

Function: ly:stencil-in-color stc r g b

Put stc in a different color.

Function: ly:stencil-outline stil outline

Return a stencil with the stencil expression (inking) of stencil stil but with outline and dimensions from stencil outline.

Function: ly:stencil-rotate stil angle x y

Return a stencil stil rotated angle degrees around the relative offset (x, y). E.g., an offset of (-1, 1) will rotate the stencil around the left upper corner.

Function: ly:stencil-rotate-absolute stil angle x y

Return a stencil stil rotated angle degrees around point (x, y), given in absolute coordinates.

Function: ly:stencil-scale stil x y

Scale stencil stil using the horizontal and vertical scaling factors x and y. Negative values will flip or mirror stil without changing its origin; this may result in collisions unless it is repositioned.

Function: ly:stencil-stack first axis direction second padding mindist

Construct a stencil by stacking second next to first. axis can be 0 (x-axis) or 1 (y-axis). direction can be -1 (left or down) or 1 (right or up). The stencils are juxtaposed with padding as extra space. first and second may also be '() or #f. As opposed to ly:stencil-combine-at-edge, metrics are suited for successively accumulating lines of stencils. Also, second stencil is drawn last.

If mindist is specified, reference points are placed apart at least by this distance. If either of the stencils is spacing, padding and mindist do not apply.

Function: ly:stencil-translate stil offset

Return a stil, but translated by offset (a pair of numbers).

Function: ly:stencil-translate-axis stil amount axis

Return a copy of stil but translated by amount in axis direction.

Function: ly:stream-event? obj

Is obj a Stream_event object?

Function: ly:string-percent-encode str

Encode all characters in string str with hexadecimal percent escape sequences, with the following exceptions: characters -, ., /, and _; and characters in ranges 0-9, A-Z, and a-z.

Function: ly:string-substitute a b s

Replace string a by string b in string s.

Function: ly:system-font-load name

Load the OpenType system font ‘name.otf’. Fonts loaded with this command must contain three additional SFNT font tables called LILC, LILF, and LILY, needed for typesetting musical elements. Currently, only the Emmentaler and the Emmentaler-Brace fonts fulfill these requirements.

Note that only ly:font-get-glyph and derived code (like \lookup) can access glyphs from the system fonts; text strings are handled exclusively via the Pango interface.

Function: ly:text-interface::interpret-markup

Convert a text markup into a stencil. Takes three arguments, layout, props, and markup.

layout is a \layout block; it may be obtained from a grob with ly:grob-layout. props is an alist chain, i.e. a list of alists. This is typically obtained with (ly:grob-alist-chain grob (ly:output-def-lookup layout 'text-font-defaults)). markup is the markup text to be processed.

Function: ly:translate-cpp-warning-scheme str

Translates a string in C++ printf format and modifies it to use it for scheme formatting.

Function: ly:translator? x

Is x a Translator object?

Function: ly:translator-context trans

Return the context of the translator object trans.

Function: ly:translator-description creator

Return an alist of properties of translator definition creator.

Function: ly:translator-group? x

Is x a Translator_group object?

Function: ly:translator-name creator

Return the type name of the translator definition creator. The name is a symbol.

Function: ly:transpose-key-alist l pit

Make a new key alist of l transposed by pitch pit.

Function: ly:truncate-list! lst i

Take at most the first i of list lst.

Function: ly:ttf->pfa ttf-file-name idx

Convert the contents of a TrueType font file to PostScript Type 42 font, returning it as a string. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.

Function: ly:ttf-ps-name ttf-file-name idx

Extract the PostScript name from a TrueType font. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.

Function: ly:type1->pfa type1-file-name

Convert the contents of a Type 1 font in PFB format to PFA format. If the file is already in PFA format, pass through it.

Function: ly:undead? x

Is x a Undead object?

Function: ly:unit

Return the unit used for lengths as a string.

Function: ly:unpure-call data grob rest

Convert property data (unpure-pure container or procedure) to value in an unpure context defined by grob and possibly rest arguments.

Function: ly:unpure-pure-container? x

Is x a Unpure_pure_container object?

Function: ly:unpure-pure-container-pure-part pc

Return the pure part of pc.

Function: ly:unpure-pure-container-unpure-part pc

Return the unpure part of pc.

Function: ly:usage

Print usage message.

Function: ly:verbose-output?

Was verbose output requested, i.e. loglevel at least DEBUG?

Function: ly:version

Return the current lilypond version as a list, e.g., (1 3 127 uu1).

Function: ly:warning str rest

A Scheme callable function to issue the warning str. The message is formatted with format and rest.

Function: ly:warning-located location str rest

A Scheme callable function to issue the warning str at the specified location in an input file. The message is formatted with format and rest.

Function: ly:wide-char->utf-8 wc

Encode the Unicode codepoint wc, an integer, as UTF-8.


B. Cheat sheet

SyntaxDescriptionExample
1 2 8 16durations

[image of music]

c4. c4..augmentation dots

[image of music]

c d e f g a b scale

[image of music]

fis besalteration

[image of music]

\clef treble \clef bass clefs

[image of music]

\time 3/4 \time 4/4 time signature

[image of music]

r4 r8rest

[image of music]

d ~ dtie

[image of music]

\key es \major key signature

[image of music]

note'raise octave

[image of music]

note,lower octave

[image of music]

c( d e)slur

[image of music]

c\( c( d) e\)phrasing slur

[image of music]

a8[ b]beam

[image of music]

<< \new Staff … >>more staves

[image of music]

c-> c-.articulations

[image of music]

c2\mf c\sfzdynamics

[image of music]

a\< a a\!crescendo

[image of music]

a\> a a\!decrescendo

[image of music]

< >chord

[image of music]

\partial 8pickup / upbeat

[image of music]

\tuplet 3/2 {f g a}triplets

[image of music]

\gracegrace notes

[image of music]

\lyricmode { twinkle }entering lyricstwinkle
\new Lyricsprinting lyrics

[image of music]

twin -- klelyric hyphen

[image of music]

\chordmode { c:dim f:maj7 }chords

[image of music]

\new ChordNamesprinting chord names

[image of music]

<<{e f} \\ {c d}>>polyphony

[image of music]

s4 s8 s16spacer rests

C. GNU Free Documentation License

Version 1.3, 3 November 2008

 
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
http://fsf.org/

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
  1. PREAMBLE

    The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

    This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

    We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

  2. APPLICABILITY AND DEFINITIONS

    This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

    A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

    A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

    The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

    The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

    A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.

    Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

    The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.

    The “publisher” means any person or entity that distributes copies of the Document to the public.

    A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.

    The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

  3. VERBATIM COPYING

    You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

    You may also lend copies, under the same conditions stated above, and you may publicly display copies.

  4. COPYING IN QUANTITY

    If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

    If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

    If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

    It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

  5. MODIFICATIONS

    You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

    1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
    2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
    3. State on the Title page the name of the publisher of the Modified Version, as the publisher.
    4. Preserve all the copyright notices of the Document.
    5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
    6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
    7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
    8. Include an unaltered copy of this License.
    9. Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
    10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
    11. For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
    12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
    13. Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version.
    14. Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section.
    15. Preserve any Warranty Disclaimers.

    If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.

    You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

    You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

    The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

  6. COMBINING DOCUMENTS

    You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

    The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

    In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements.”

  7. COLLECTIONS OF DOCUMENTS

    You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

    You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

  8. AGGREGATION WITH INDEPENDENT WORKS

    A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

    If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

  9. TRANSLATION

    Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

    If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

  10. TERMINATION

    You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.

    However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

    Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

    Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.

  11. FUTURE REVISIONS OF THIS LICENSE

    The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

    Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document.

  12. RELICENSING

    “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site.

    “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.

    “Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document.

    An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.

    The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

 
  Copyright (C)  year  your name.
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.3
  or any later version published by the Free Software Foundation;
  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  Texts.  A copy of the license is included in the section entitled ``GNU
  Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:

 
    with the Invariant Sections being list their titles, with
    the Front-Cover Texts being list, and with the Back-Cover Texts
    being list.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.


D. Índex d’ordres del LilyPond

Aquest índex fa una relació de totes les ordres i paraules clau del LilyPond, amb enllaços a aquelles seccions del manual que descriuen o s’ocupen del seu ús. Cadascú d’aquests enllaços consta de dues parts. La primera part apunta a la situació exacta del manual en el qual apareix l’ordre o paraula clau; la segona part apunta al començament de la secció corresponent del manual en la qual apareix l’ordre o paraula clau.

Salta a:   !   "   '   ,   -   .   /   :   <   =   >   ?   [   \   ]   ^   _   |   ~  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  
Entrada d’índex Secció

!
!Alteracions accidentals

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

'
'Escriptura d’octava absoluta

,
,Escriptura d’octava absoluta

-
-Articulacions i ornaments

.
.Duració de les notes

/
/Acords estesos i alterats
/+Acords estesos i alterats

:
:Repeticions de trèmol

<
<Notes a un acord
<...>Notes a un acord

=
=Comprovació d’octava

>
>Notes a un acord

?
?Alteracions accidentals

[
[Barres manuals

\
\!Matisos dinàmics
\(Lligadures de fraseig
\)Lligadures de fraseig
\<Matisos dinàmics
\=A.19 Available music functions
\>Matisos dinàmics
\abs-fontsizeSelecció del tipus de lletra i la seva mida
\abs-fontsizeA.11.1 Font
\accentArticulacions i ornaments
\accepts5.1.6 Defining new contexts
\accepts5.1.6 Defining new contexts
\accepts5.1.7 Context layout order
\acciaccaturaNotes d’adorn
\accidentalStyleAlteracions accidentals automàtiques
\addChordShapePredefined fret diagrams
\addlyricsAlineació de la lletra a una melodia
\addlyricsDuració automàtica de les síl·labes
\addlyricsÚs de \addlyrics
\addQuoteCites a altres veus
\aeolianArmadura de la tonalitat
\afterGraceNotes d’adorn
\aikenHeadsCaps de notes amb formes diverses
\aikenHeadsMinorCaps de notes amb formes diverses
\alias5.1.6 Defining new contexts
\allowPageTurnInstruccions predefinides
\alterBrokenUsing \alterBroken
\alternative1.4.1 Repeticions llargues
\appendToTagUsing tags
\appoggiaturaNotes d’adorn
\arpeggioArpegi
\arpeggioArrowDownArpegi
\arpeggioArrowUpArpegi
\arpeggioBracketArpegi
\arpeggioNormalArpegi
\arpeggioParenthesisArpegi
\arpeggioParenthesisDashedArpegi
\arrow-headNotació gràfica dins d’elements de marcatge
\arrow-headA.11.3 Graphic
\ascendensGregorian square neume ligatures
\ascendensInstruccions predefinides
\auctumGregorian square neume ligatures
\auctumInstruccions predefinides
\augmentumInstruccions predefinides
\auto-footnoteA.11.7 Other
\autoBeamOffBarres automàtiques
\autoBeamOffPliques de pentagrama creuat
\autoBeamOnBarres automàtiques
\autoBreaksOff4.3.1 Line breaking
\autoBreaksOn4.3.1 Line breaking
\autochangeCanvi automàtic de pentagrama
\autoLineBreaksOff4.3.1 Line breaking
\autoLineBreaksOn4.3.1 Line breaking
\autoPageBreaksOffManual page breaking
\autoPageBreaksOnManual page breaking
\backslashed-digitA.11.7 Other
\balloonGrobTextGlobus d’ajuda
\balloonLengthOffGlobus d’ajuda
\balloonLengthOnGlobus d’ajuda
\balloonTextGlobus d’ajuda
\barBarres de compàs
\barBarres de compàs
\barNumberCheckComprovació de compàs i de número de compàs
\beamA.11.3 Graphic
\beamExceptionsEstablir el comportament de les barres automàtiques
\bendAfterCaigudes i elevacions
\boldSelecció del tipus de lletra i la seva mida
\boldA.11.1 Font
\book3.1.2 Multiple scores in a book
\book3.1.2 Multiple scores in a book
\book3.1.5 File structure
\bookOutputName3.1.4 Output file names
\bookOutputSuffix3.1.4 Output file names
\bookpart3.1.2 Multiple scores in a book
\bookpart3.1.5 File structure
\bookpartManual page breaking
\boxNotació gràfica dins d’elements de marcatge
\boxA.11.1 Font
\bracketIndicacions dinàmiques contemporànies
\bracketNotació gràfica dins d’elements de marcatge
\bracketA.11.3 Graphic
\break4.3.1 Line breaking
\breatheMarques de respiració
\breveDuració de les notes
\breveSilencis
\cadenzaOffMúsica sense compassos
\cadenzaOnMúsica sense compassos
\caesuraInstruccions predefinides
\capsA.11.1 Font
\cavumGregorian square neume ligatures
\cavumInstruccions predefinides
\center-alignAlineació de text
\center-alignA.11.2 Align
\center-columnAlineació de text
\center-columnA.11.2 Align
\changeCanvi manual de pentagrama
\charA.11.7 Other
\chordmodeVegeu també
\chordmodeVegeu també
\chordmodePredefined fret diagrams
\chordRepeatsDefault tablatures
\circleNotació gràfica dins d’elements de marcatge
\circleA.11.3 Graphic
\clefClau
\cm5.4.3 Distances and measurements
\codaArticulacions i ornaments
\columnAlineació de text
\columnA.11.2 Align
\column-linesA.12 Text markup list commands
\combineNotació gràfica dins d’elements de marcatge
\combineA.11.2 Align
\compound-meterA.11.4 Music
\compoundMeter Pentagrames amb diferents indicacions de compàs i longituds de compàs diferents
\compressMMRestsSilencis de compas complet
\compressMMRestsSilencis de compas complet
\concatA.11.2 Align
\consists5.1.6 Defining new contexts
\context5.1.2 Creating and referencing contexts
\contextChanging all contexts of the same type
\crMatisos dinàmics
\crescMatisos dinàmics
\crescHairpinMatisos dinàmics
\crescTextCrescMatisos dinàmics
\crossStaffPliques de pentagrama creuat
\cueClefFormat de les notes guia
\cueDuringFormat de les notes guia
\cueDuringWithClefFormat de les notes guia
\customTabClefA.11.4 Music
\decrMatisos dinàmics
\decrescMatisos dinàmics
\defaultchild5.1.7 Context layout order
\defaultTimeSignatureIndicació de compàs
\defineBarLineBarres de compàs
\deminutumGregorian square neume ligatures
\deminutumInstruccions predefinides
\denies5.1.6 Defining new contexts
\denies5.1.6 Defining new contexts
\denies5.1.7 Context layout order
\descendensGregorian square neume ligatures
\descendensInstruccions predefinides
\dimMatisos dinàmics
\dimHairpinMatisos dinàmics
\dimTextDecrMatisos dinàmics
\dimTextDecrescMatisos dinàmics
\dimTextDimMatisos dinàmics
\dir-columnA.11.2 Align
\discantA.11.6 Accordion Registers
\displayLilyMusic3.6.1 Displaying LilyPond notation
\divisioMaiorInstruccions predefinides
\divisioMaximaInstruccions predefinides
\divisioMinimaInstruccions predefinides
\dorianArmadura de la tonalitat
\dotsDownDuració de les notes
\dotsNeutralDuració de les notes
\dotsUpDuració de les notes
\doubleflatA.11.4 Music
\doublesharpA.11.4 Music
\downbowArticulacions i ornaments
\downbowBowing indications
\downmordentArticulacions i ornaments
\downprallArticulacions i ornaments
\draw-circleNotació gràfica dins d’elements de marcatge
\draw-circleA.11.3 Graphic
\draw-dashed-lineA.11.3 Graphic
\draw-dotted-lineA.11.3 Graphic
\draw-hlineA.11.3 Graphic
\draw-lineNotació gràfica dins d’elements de marcatge
\draw-lineA.11.3 Graphic
\draw-squiggle-lineA.11.3 Graphic
\drummodeCreació d’instàncies de pentagrames nous
\dynamicIndicacions dinàmiques contemporànies
\dynamicA.11.1 Font
\dynamicDownMatisos dinàmics
\dynamicNeutralMatisos dinàmics
\dynamicUpMatisos dinàmics
\easyHeadsOffCaps de notes de Notació Fàcil
\easyHeadsOnCaps de notes de Notació Fàcil
\ellipseA.11.3 Graphic
\epsfileNotació gràfica dins d’elements de marcatge
\epsfileA.11.3 Graphic
\espressivoArticulacions i ornaments
\espressivoMatisos dinàmics
\etc5.6.2 Substitution function examples
\eyeglassesA.11.7 Other
\fMatisos dinàmics
\featherDurationsBarres progressives
\fermataArticulacions i ornaments
\fermataA.11.4 Music
\fermataMarkupSilencis de compas complet
\fermataMarkupSilencis de compas complet
\fermataMarkupArticulacions i ornaments
\ffMatisos dinàmics
\fffMatisos dinàmics
\ffffMatisos dinàmics
\fffffMatisos dinàmics
\fill-lineAlineació de text
\fill-lineA.11.2 Align
\fill-with-patternA.11.2 Align
\filled-boxNotació gràfica dins d’elements de marcatge
\filled-boxA.11.3 Graphic
\finalisInstruccions predefinides
\fingerIndicacions de digitació
\fingerA.11.1 Font
\first-visibleA.11.7 Other
\fixedEscriptura d’octava absoluta
\flageoletArticulacions i ornaments
\flatA.11.4 Music
\flexaInstruccions predefinides
\fontCapsA.11.1 Font
\fontsizeSelecció del tipus de lletra i la seva mida
\fontsizeA.11.1 Font
\footnoteFootnotes in music expressions
\footnoteA.11.7 Other
\fpMatisos dinàmics
\fractionA.11.7 Other
\freeBassA.11.6 Accordion Registers
\frenchChordsInstruccions predefinides
\fret-diagramFret diagram markups
\fret-diagramA.11.5 Instrument Specific Markup
\fret-diagram-terseFret diagram markups
\fret-diagram-terseA.11.5 Instrument Specific Markup
\fret-diagram-verboseFret diagram markups
\fret-diagram-verboseA.11.5 Instrument Specific Markup
\frompropertyA.11.7 Other
\funkHeadsCaps de notes amb formes diverses
\funkHeadsMinorCaps de notes amb formes diverses
\general-alignAlineació de text
\general-alignA.11.2 Align
\germanChordsInstruccions predefinides
\glissandoGlissando
\graceNotes d’adorn
\halfopenArticulacions i ornaments
\halignAlineació de text
\halignA.11.2 Align
\harmonicHarmonics
\harmonicDefault tablatures
\harmonicByFretDefault tablatures
\harmonicByRatioDefault tablatures
\harmonicsOffHarmonics
\harmonicsOnHarmonics
\harp-pedalA.11.5 Instrument Specific Markup
\hbracketNotació gràfica dins d’elements de marcatge
\hbracketA.11.3 Graphic
\hcenter-inA.11.2 Align
\header3.1.5 File structure
\hideMaking objects transparent
\hideKeySignatureBagpipe definitions
\hideNotesNotes ocultes
\hideSplitTiedTabNotesDefault tablatures
\hideStaffSwitchLínies de canvi de pentagrama
\hspaceA.11.2 Align
\hugeSelecció del la mida del tipus de lletra per a la notació
\hugeSelecció del tipus de lletra i la seva mida
\hugeA.11.1 Font
\improvisationOffImprovisació
\improvisationOffMostrar els ritmes de la melodia
\improvisationOnImprovisació
\improvisationOnMostrar els ritmes de la melodia
\in5.4.3 Distances and measurements
\incipitIncipits
\inclinatumGregorian square neume ligatures
\inclinatumInstruccions predefinides
\include3.3.1 Including LilyPond files
\inherit-acceptability5.1.6 Defining new contexts
\inStaffSegnoRepeticions normals
\inversionInversió
\ionianArmadura de la tonalitat
\italianChordsInstruccions predefinides
\italicSelecció del tipus de lletra i la seva mida
\italicA.11.1 Font
\justified-linesElements de marcatge de diverses pàgines
\justified-linesA.12 Text markup list commands
\justifyAlineació de text
\justifyA.11.2 Align
\justify-fieldA.11.2 Align
\justify-lineA.11.2 Align
\justify-stringA.11.2 Align
\keepWithTagUsing tags
\keyArmadura de la tonalitat
\keyCaps de notes amb formes diverses
\killCuesFormat de les notes guia
\labelInstruccions predefinides
\laissezVibrerLligadures d’unió
\largeSelecció del la mida del tipus de lletra per a la notació
\largeSelecció del tipus de lletra i la seva mida
\largeA.11.1 Font
\largerSelecció del tipus de lletra i la seva mida
\largerSelecció del tipus de lletra i la seva mida
\largerA.11.1 Font
\layout3.1.5 File structure
\layout4.2.1 The \layout block
\layoutOutput definitions - blueprints for contexts
\layoutChanging all contexts of the same type
\left-alignAlineació de text
\left-alignA.11.2 Align
\left-braceA.11.7 Other
\left-columnA.11.2 Align
\lheelArticulacions i ornaments
\lineA.11.2 Align
\lineaGregorian square neume ligatures
\lineaInstruccions predefinides
\lineprallArticulacions i ornaments
\locrianArmadura de la tonalitat
\longaDuració de les notes
\longaSilencis
\longfermataArticulacions i ornaments
\lookupA.11.7 Other
\lowerAlineació de text
\lowerA.11.2 Align
\ltoeArticulacions i ornaments
\lydianArmadura de la tonalitat
\lyricmodeIntroducció de la lletra
\lyricmodeAlineació de la lletra a una melodia
\lyricstoAlineació de la lletra a una melodia
\lyricstoDuració automàtica de les síl·labes
\lyricstoÚs de \lyricsto
\magnifySelecció del tipus de lletra i la seva mida
\magnifyA.11.1 Font
\magnifyMusicSelecció del la mida del tipus de lletra per a la notació
\majorArmadura de la tonalitat
\makeClustersClústers
\map-markup-commandsA.12 Text markup list commands
\marcatoArticulacions i ornaments
\markMarques d’assaig
\markIndicacions de text
\markalphabetA.11.7 Other
\markLengthOffIndicacions metronòmiques
\markLengthOffIndicacions de text
\markLengthOnIndicacions metronòmiques
\markLengthOnIndicacions de text
\markletterA.11.7 Other
\markupIndicacions de text
\markupText separat
\markupText separat
\markupIntroducció al marcatge de text
\markuplistText separat
\markuplistElements de marcatge de diverses pàgines
\markuplistVegeu també
\maximaDuració de les notes
\maximaSilencis
\mediumA.11.1 Font
\melismaDiverses notes sobre una síl·laba
\melismaEndDiverses notes sobre una síl·laba
\mergeDifferentlyDottedOffResolució de les col·lisions
\mergeDifferentlyDottedOnResolució de les col·lisions
\mergeDifferentlyHeadedOffResolució de les col·lisions
\mergeDifferentlyHeadedOnResolució de les col·lisions
\mfMatisos dinàmics
\midi3.1.5 File structure
\midiOutput definitions - blueprints for contexts
\minorArmadura de la tonalitat
\mixolydianArmadura de la tonalitat
\mm5.4.3 Distances and measurements
\modalInversion Inversió modal
\modalTranspose Transposició modal
\mordentArticulacions i ornaments
\mpMatisos dinàmics
\musicglyphMarques d’assaig
\musicglyphA.11.4 Music
\name5.1.6 Defining new contexts
\naturalA.11.4 Music
\new5.1.2 Creating and referencing contexts
\newSpacingSection4.5.2 New spacing section
\noBeamBarres manuals
\noBreak4.3.1 Line breaking
\noPageBreakManual page breaking
\noPageTurnInstruccions predefinides
\normal-size-subA.11.1 Font
\normal-size-superSelecció del tipus de lletra i la seva mida
\normal-size-superA.11.1 Font
\normal-textA.11.1 Font
\normalsizeSelecció del la mida del tipus de lletra per a la notació
\normalsizeSelecció del tipus de lletra i la seva mida
\normalsizeA.11.1 Font
\noteA.11.4 Music
\note-by-numberA.11.4 Music
\nullAlineació de text
\nullA.11.7 Other
\numberA.11.1 Font
\numericTimeSignatureIndicació de compàs
\octaveCheckComprovació d’octava
\offset5.3.6 The \offset command
\omitRemoving the stencil
\on-the-flyCustom layout for headers and footers
\on-the-flyA.11.7 Other
\once5.3.3 The \override command
\oneVoicePolifonia en un sol pentagrama
\openArticulacions i ornaments
\openBowing indications
\oriscusGregorian square neume ligatures
\oriscusInstruccions predefinides
\ottavaIndicadors d’octava
\ovalA.11.3 Graphic
\overlayA.11.2 Align
\override5.3.3 The \override command
\override5.3.5 \set vs. \override
\overrideA.11.7 Other
\override-linesA.12 Text markup list commands
\overrideProperty5.3.5 \set vs. \override
\overrideTimeSignatureSettingsIndicació de compàs
\overtieA.11.1 Font
\pMatisos dinàmics
\pad-aroundNotació gràfica dins d’elements de marcatge
\pad-aroundA.11.2 Align
\pad-markupNotació gràfica dins d’elements de marcatge
\pad-markupA.11.2 Align
\pad-to-boxNotació gràfica dins d’elements de marcatge
\pad-to-boxA.11.2 Align
\pad-xNotació gràfica dins d’elements de marcatge
\pad-xA.11.2 Align
\page-linkA.11.7 Other
\page-refInstruccions predefinides
\page-refA.11.7 Other
\pageBreakManual page breaking
\pageTurnInstruccions predefinides
\paper3.1.5 File structure
\paper4.1.2 Paper size and automatic scaling
\parallelMusicEscriptura de música en paral·lel
\parenthesizeParèntesis
\parenthesizeA.11.3 Graphic
\partcombineCombinació automàtica de les parts
\partcombinePolifonia amb lletres compartides
\partcombineApartCombinació automàtica de les parts
\partcombineAutomaticCombinació automàtica de les parts
\partcombineChordsCombinació automàtica de les parts
\partcombineSoloICombinació automàtica de les parts
\partcombineSoloIICombinació automàtica de les parts
\partcombineUnisonoCombinació automàtica de les parts
\partialAnacrusis
\partial1.4.1 Repeticions llargues
\partialRepeticions normals
\pathA.11.3 Graphic
\patternA.11.7 Other
\pesInstruccions predefinides
\phrasingSlurDashedLligadures de fraseig
\phrasingSlurDashPatternLligadures de fraseig
\phrasingSlurDottedLligadures de fraseig
\phrasingSlurDownLligadures de fraseig
\phrasingSlurHalfDashedLligadures de fraseig
\phrasingSlurHalfSolidLligadures de fraseig
\phrasingSlurNeutralLligadures de fraseig
\phrasingSlurSolidLligadures de fraseig
\phrasingSlurUpLligadures de fraseig
\phrygianArmadura de la tonalitat
\pitchedTrillRefilets
\portatoArticulacions i ornaments
\postscriptNotació gràfica dins d’elements de marcatge
\postscriptA.11.3 Graphic
\powerChordsIndicating power chords
\ppMatisos dinàmics
\pppMatisos dinàmics
\ppppMatisos dinàmics
\prallArticulacions i ornaments
\pralldownArticulacions i ornaments
\prallmordentArticulacions i ornaments
\prallprallArticulacions i ornaments
\prallupArticulacions i ornaments
\predefinedFretboardsOffAutomatic fret diagrams
\predefinedFretboardsOnAutomatic fret diagrams
\property-recursiveA.11.7 Other
\pt5.4.3 Distances and measurements
\pushToTagUsing tags
\put-adjacentA.11.2 Align
\quilismaGregorian square neume ligatures
\quilismaInstruccions predefinides
\quoteDuringCites a altres veus
\quoteDuringFormat de les notes guia
\raiseAlineació de text
\raiseA.11.2 Align
\relativeEscriptura d’octava relativa
\relativeVegeu també
\relativeVegeu també
\relativeCanvi automàtic de pentagrama
\RemoveAllEmptyStavesOcultament de pentagrames
\RemoveEmptyStavesOcultament de pentagrames
\removeWithTagUsing tags
\repeat1.4.1 Repeticions llargues
\repeat percentRepeticions de compàs o part d’ells
\repeat tremoloRepeticions de trèmol
\repeatTieLligadures d’unió
\repeatTieRepeticions normals
\repeatTieRepeticions amb finals alternatius (primera i segona vegada)
\replaceA.11.1 Font
\restSilencis
\restA.11.4 Music
\rest-by-numberA.11.4 Music
\retrogradeRetrogradació
\reverseturnArticulacions i ornaments
\revert5.3.3 The \override command
\revertTimeSignatureSettingsIndicació de compàs
\rfzMatisos dinàmics
\rheelArticulacions i ornaments
\right-alignAlineació de text
\right-alignA.11.2 Align
\right-braceA.11.7 Other
\right-columnA.11.2 Align
\rightHandFingerRight-hand fingerings
\romanA.11.1 Font
\romanStringNumbersBowing indications
\rotateA.11.2 Align
\rounded-boxNotació gràfica dins d’elements de marcatge
\rounded-boxA.11.3 Graphic
\rtoeArticulacions i ornaments
\sacredHarpHeadsCaps de notes amb formes diverses
\sacredHarpHeadsMinorCaps de notes amb formes diverses
\sansA.11.1 Font
\scaleA.11.3 Graphic
\scaleDurationsEscalat de les duracions
\scaleDurationsNotació polimètrica
\score3.1.1 Structure of a score
\score3.1.5 File structure
\scoreA.11.4 Music
\score-linesA.12 Text markup list commands
\segnoArticulacions i ornaments
\semiflatA.11.4 Music
\semiGermanChordsInstruccions predefinides
\semisharpA.11.4 Music
\sesquiflatA.11.4 Music
\sesquisharpA.11.4 Music
\setEstablir el comportament de les barres automàtiques
\set5.3.2 The \set command
\set5.3.5 \set vs. \override
\sfMatisos dinàmics
\sffMatisos dinàmics
\sfzMatisos dinàmics
\shape Specifying displacements from current control points
\sharpA.11.4 Music
\shiftOffResolució de les col·lisions
\shiftOnResolució de les col·lisions
\shiftOnnResolució de les col·lisions
\shiftOnnnResolució de les col·lisions
\shortfermataArticulacions i ornaments
\showKeySignatureBagpipe definitions
\showStaffSwitchLínies de canvi de pentagrama
\signumcongruentiaeArticulacions i ornaments
\simpleA.11.1 Font
\skipSilencis invisibles
\skipRepeticions amb finals alternatius (primera i segona vegada)
\slashed-digitA.11.7 Other
\slashedGraceNotes d’adorn
\slurDashedLligadures d’expressió
\slurDashPatternLligadures d’expressió
\slurDottedLligadures d’expressió
\slurDownLligadures d’expressió
\slurHalfDashedLligadures d’expressió
\slurHalfSolidLligadures d’expressió
\slurNeutralLligadures d’expressió
\slurSolidLligadures d’expressió
\slurUpLligadures d’expressió
\smallSelecció del la mida del tipus de lletra per a la notació
\smallSelecció del tipus de lletra i la seva mida
\smallA.11.1 Font
\smallCapsA.11.1 Font
\smallerSelecció del tipus de lletra i la seva mida
\smallerSelecció del tipus de lletra i la seva mida
\smallerA.11.1 Font
\snappizzicatoArticulacions i ornaments
\sostenutoOffPedals de piano
\sostenutoOnPedals de piano
\southernHarmonyHeadsCaps de notes amb formes diverses
\southernHarmonyHeadsMinorCaps de notes amb formes diverses
\spMatisos dinàmics
\sppMatisos dinàmics
\staccatissimoArticulacions i ornaments
\staccatoArticulacions i ornaments
\startGroupClaus d’anàlisi
\startStaffEl símbol del pentagrama
\startStaffPentagrames d’Ossia
\startTrillSpanRefilets
\stdBassA.11.6 Accordion Registers
\stdBassIVA.11.6 Accordion Registers
\stdBassVA.11.6 Accordion Registers
\stdBassVIA.11.6 Accordion Registers
\stemDownPliques
\stemNeutralPliques
\stemUpPliques
\stencilA.11.7 Other
\stopGroupClaus d’anàlisi
\stoppedArticulacions i ornaments
\stopStaffEl símbol del pentagrama
\stopStaffPentagrames d’Ossia
\stopStaffOcultament de pentagrames
\stopTrillSpanRefilets
\storePredefinedDiagramPredefined fret diagrams
\stringTuningCustom tablatures
\strophaGregorian square neume ligatures
\strophaInstruccions predefinides
\strutA.11.7 Other
\subSelecció del tipus de lletra i la seva mida
\subA.11.1 Font
\superSelecció del tipus de lletra i la seva mida
\superA.11.1 Font
\sustainOffPedals de piano
\sustainOnPedals de piano
\tabChordRepeatsDefault tablatures
\tabFullNotationDefault tablatures
\tableA.12 Text markup list commands
\table-of-contentsInstruccions predefinides
\table-of-contentsA.12 Text markup list commands
\tagUsing tags
\tagGroupUsing tags
\taorBagpipe definitions
\teenySelecció del la mida del tipus de lletra per a la notació
\teenySelecció del tipus de lletra i la seva mida
\teenyA.11.1 Font
\tempoIndicacions metronòmiques
\tenutoArticulacions i ornaments
\textA.11.1 Font
\textLengthOffSilencis de compas complet
\textLengthOffScripts de text
\textLengthOnSilencis de compas complet
\textLengthOnScripts de text
\textSpannerDownExtensions de text
\textSpannerNeutralExtensions de text
\textSpannerUpExtensions de text
\thumbArticulacions i ornaments
\thumbIndicacions de digitació
\tieA.11.1 Font
\tied-lyricA.11.4 Music
\tieDashedLligadures d’unió
\tieDottedLligadures d’unió
\tieDownLligadures d’unió
\tieNeutralLligadures d’unió
\tieSolidLligadures d’unió
\tieUpLligadures d’unió
\timeIndicació de compàs
\timeEstablir el comportament de les barres automàtiques
\tinySelecció del la mida del tipus de lletra per a la notació
\tinySelecció del tipus de lletra i la seva mida
\tinyA.11.1 Font
\tocItemInstruccions predefinides
\translateAlineació de text
\translateA.11.2 Align
\translate-scaledAlineació de text
\translate-scaledA.11.2 Align
\transparentA.11.7 Other
\transposeVegeu també
\transposeTransposició
\transposeVegeu també
\transposedCueDuringFormat de les notes guia
\transpositionTransposició dels instruments
\transpositionCites a altres veus
\treCordePedals de piano
\triangleNotació gràfica dins d’elements de marcatge
\triangleA.11.3 Graphic
\trillArticulacions i ornaments
\trillRefilets
\tupletGrups especials
\tupletNotació polimètrica
\tupletDownGrups especials
\tupletNeutralGrups especials
\tupletUpGrups especials
\turnArticulacions i ornaments
\tweak5.3.4 The \tweak command
\tweak5.3.5 \set vs. \override
\type5.1.6 Defining new contexts
\typewriterA.11.1 Font
\unaCordaPedals de piano
\underlineSelecció del tipus de lletra i la seva mida
\underlineA.11.1 Font
\undertieA.11.1 Font
\unfoldRepeats3.5.6 Using repeats with MIDI
\unHideNotesNotes ocultes
\unset5.3.2 The \set command
\upbowArticulacions i ornaments
\upbowBowing indications
\upmordentArticulacions i ornaments
\upprallArticulacions i ornaments
\uprightA.11.1 Font
\varcodaArticulacions i ornaments
\vcenterA.11.2 Align
\verbatim-fileA.11.7 Other
\verylongfermataArticulacions i ornaments
\virgaGregorian square neume ligatures
\virgaInstruccions predefinides
\virgulaInstruccions predefinides
\voiceFourStyleEstils de veu
\voiceNeutralStyleEstils de veu
\voiceOnePolifonia en un sol pentagrama
\voiceOne ... \voiceFourPolifonia en un sol pentagrama
\voiceOneStyleEstils de veu
\voiceThreeStyleEstils de veu
\voiceTwoStyleEstils de veu
\void3.6.1 Displaying LilyPond notation
\vspaceA.11.2 Align
\walkerHeadsCaps de notes amb formes diverses
\walkerHeadsMinorCaps de notes amb formes diverses
\whiteoutA.11.7 Other
\with5.1.4 Modifying context plug-ins
\withChanging just one specific context
\with-colorAcoloriment d’objectes
\with-colorA.11.7 Other
\with-dimensionsA.11.7 Other
\with-dimensions-fromA.11.7 Other
\with-linkA.11.7 Other
\with-outlineA.11.7 Other
\with-urlA.11.3 Graphic
\woodwind-diagramA.11.5 Instrument Specific Markup
\wordwrapAlineació de text
\wordwrapA.11.2 Align
\wordwrap-fieldA.11.2 Align
\wordwrap-internalA.12 Text markup list commands
\wordwrap-linesElements de marcatge de diverses pàgines
\wordwrap-linesA.12 Text markup list commands
\wordwrap-stringA.11.2 Align
\wordwrap-string-internalA.12 Text markup list commands

]
]Barres manuals

^
^Acords estesos i alterats

_
_Diverses síl·labes sobre una nota

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

~
~Lligadures d’unió

A
absoluteA.19 Available music functions
acciaccaturaA.19 Available music functions
accidentalStyleA.19 Available music functions
addChordShapeA.19 Available music functions
addInstrumentDefinitionA.19 Available music functions
additionalPitchPrefixNoms d’acord personalitzats
addQuoteA.19 Available music functions
afterGraceA.19 Available music functions
alignAboveContext5.1.7 Context layout order
alignBelowContextRepeticions senzilles
alignBelowContext5.1.7 Context layout order
allowPageTurnA.19 Available music functions
allowVoltaHookA.19 Available music functions
alterBrokenA.19 Available music functions
annotate-spacing4.6.1 Displaying spacing
appendToTagA.19 Available music functions
applyContextA.19 Available music functions
applyMusicA.19 Available music functions
applyOutputA.19 Available music functions
appoggiaturaA.19 Available music functions
assertBeamQuantA.19 Available music functions
assertBeamSlopeA.19 Available music functions
augAcords més usuals
auto-first-page-number\paper variables for page numbering
autoBeamingEstablir el comportament de les barres automàtiques
autoBeamingOutput definitions - blueprints for contexts
autochangeA.19 Available music functions

B
balloonGrobTextGlobus d’ajuda
balloonGrobTextA.19 Available music functions
balloonTextGlobus d’ajuda
balloonTextA.19 Available music functions
Balloon_engraverGlobus d’ajuda
banjo-c-tuningBanjo tablatures
banjo-modal-tuningBanjo tablatures
banjo-open-d-tuningBanjo tablatures
banjo-open-dm-tuningBanjo tablatures
barA.19 Available music functions
barCheckSynchronizeComprovació de compàs i de número de compàs
BarNumberNumeració de compassos
barNumberCheckA.19 Available music functions
barNumberVisibilityNumeració de compassos
bartypeBarres de compàs
base-shortest-duration4.5.1 Horizontal spacing overview
baseMomentEstablir el comportament de les barres automàtiques
beamExceptionsA.19 Available music functions
beatStructureEstablir el comportament de les barres automàtiques
bendAfterA.19 Available music functions
binding-offset\paper variables for two-sided mode
blank-after-score-page-penalty\paper variables for page breaking
blank-last-page-penalty\paper variables for page breaking
blank-page-penalty\paper variables for page breaking
bookOutputNameA.19 Available music functions
bookOutputSuffixA.19 Available music functions
bookTitleMarkupCustom layout for titles
bottom-margin4.1.3 Fixed vertical spacing \paper variables
bracketPedals de piano
breakableInstruccions predefinides
breatheA.19 Available music functions

C
check-consistency\paper variables for widths and margins
chordChangesFragments de codi seleccionats
chordNameExceptionsNoms d’acord personalitzats
chordNameLowercaseMinorNoms d’acord personalitzats
ChordNamesPredefined fret diagrams
chordNameSeparatorNoms d’acord personalitzats
chordNoteNamerNoms d’acord personalitzats
chordPrefixSpacerNoms d’acord personalitzats
chordRepeatsA.19 Available music functions
chordRootNamerNoms d’acord personalitzats
chordsImpressió dels noms d’acord
clefA.19 Available music functions
clip-regions3.4 Controlling output
colorAcoloriment d’objectes
common-shortest-duration4.5.1 Horizontal spacing overview
Completion_heads_engraverDivisió automàtica de les notes
Completion_rest_engraverDivisió automàtica de les notes
compoundMeterA.19 Available music functions
compressMMRestsA.19 Available music functions
controlpitchComprovació d’octava
crossCaps de nota especials
crossStaffA.19 Available music functions
cueClefA.19 Available music functions
cueClefUnsetA.19 Available music functions
cueDuringA.19 Available music functions
cueDuringWithClefA.19 Available music functions
currentBarNumberNumeració de compassos
currentBarNumberGestió del temps

D
deadNoteA.19 Available music functions
defaultAlteracions accidentals automàtiques
defaultAlteracions accidentals automàtiques
default-staff-staff-spacingWithin-system spacing properties
defaultBarTypeBarres de compàs
defineBarLineA.19 Available music functions
dimAcords més usuals
displayLilyMusicA.19 Available music functions
displayMusicA.19 Available music functions
displaySchemeA.19 Available music functions
dodecaphonicAlteracions accidentals automàtiques
dodecaphonic-firstAlteracions accidentals automàtiques
dodecaphonic-no-repeatAlteracions accidentals automàtiques
DrumStaffCreació d’instàncies de pentagrames nous
DynamicLineSpannerMatisos dinàmics

E
endSpannersA.19 Available music functions
eventChordsA.19 Available music functions
extra-offsetWithin-system spacing properties

F
featherDurationsA.19 Available music functions
fingerA.19 Available music functions
first-page-number\paper variables for page numbering
fixedA.19 Available music functions
followVoiceLínies de canvi de pentagrama
font-interface Comprensió de la propietat fontSize
font-interfaceExplicació dels tipus de lletra
font-sizeSelecció del la mida del tipus de lletra per a la notació
font-size Comprensió de la propietat fontSize
fontSizeSelecció del la mida del tipus de lletra per a la notació
footnoteA.19 Available music functions
forgetAlteracions accidentals automàtiques
four-string-banjoBanjo tablatures
fret-diagram-interfaceFret diagram markups
FretBoardsPredefined fret diagrams

G
graceA.19 Available music functions
GregorianTranscriptionStaffCreació d’instàncies de pentagrames nous
gridIntervalLínies de reixeta
Grid_line_span_engraverLínies de reixeta
Grid_point_engraverLínies de reixeta
grobdescriptionsA.19 Available music functions
grow-directionBarres progressives

H
harmonicByFretA.19 Available music functions
harmonicByRatioA.19 Available music functions
harmonicNoteA.19 Available music functions
harmonicsOnA.19 Available music functions
hideA.19 Available music functions
horizontal-shift\paper variables for shifts and indents
Horizontal_bracket_engraverClaus d’anàlisi
hugeSelecció del la mida del tipus de lletra per a la notació

I
incipitA.19 Available music functions
indentNoms d’instruments
indent\paper variables for shifts and indents
indent4.5.4 Line width
inherit-acceptabilityA.19 Available music functions
inner-margin\paper variables for two-sided mode
inStaffSegnoA.19 Available music functions
instrumentSwitchA.19 Available music functions
inversionA.19 Available music functions

K
keepWithTagA.19 Available music functions
keyA.19 Available music functions
killCuesA.19 Available music functions

L
labelA.19 Available music functions
languageA.19 Available music functions
languageRestoreA.19 Available music functions
languageSaveAndChangeA.19 Available music functions
largeSelecció del la mida del tipus de lletra per a la notació
last-bottom-spacingList of flexible vertical spacing \paper variables
layout file4.2.2 Setting the staff size
layout-set-staff-size4.2.2 Setting the staff size
left-margin\paper variables for widths and margins
line-width\paper variables for widths and margins
line-width4.5.4 Line width
ly:minimal-breakingMinimal page breaking
ly:one-line-auto-height-breakingOne-line-auto-height page breaking
ly:one-line-breakingOne-line page breaking
ly:one-page-breakingOne-page page breaking
ly:optimal-breakingOptimal page breaking
ly:page-turn-breakingOptimal page turning

M
mAcords més usuals
magnification->font-sizeSelecció del la mida del tipus de lletra per a la notació
magnification->font-size4.2.2 Setting the staff size
magnifyMusicSelecció del la mida del tipus de lletra per a la notació
magnifyMusicA.19 Available music functions
magnifyStaffA.19 Available music functions
magstepSelecció del la mida del tipus de lletra per a la notació
magstep4.2.2 Setting the staff size
magstep5.4.3 Distances and measurements
majAcords més usuals
major seven symbolsInstruccions predefinides
majorSevenSymbolNoms d’acord personalitzats
make-dynamic-scriptIndicacions dinàmiques contemporànies
make-pango-font-treeTipus de lletra del document complet
makeClustersA.19 Available music functions
makeDefaultStringTuningA.19 Available music functions
markA.19 Available music functions
markup-markup-spacingList of flexible vertical spacing \paper variables
markup-system-spacingList of flexible vertical spacing \paper variables
markupMapA.19 Available music functions
max-systems-per-page\paper variables for line breaking
measureLengthEstablir el comportament de les barres automàtiques
measureLengthGestió del temps
measurePositionAnacrusis
measurePositionGestió del temps
MensuralStaffCreació d’instàncies de pentagrames nous
midiBalance3.5.8 Context properties for MIDI effects
midiChannelMapping3.5.7 MIDI channel mapping
midiChorusLevel3.5.8 Context properties for MIDI effects
midiExpression3.5.8 Context properties for MIDI effects
midiPanPosition3.5.8 Context properties for MIDI effects
midiReverbLevel3.5.8 Context properties for MIDI effects
min-systems-per-page\paper variables for line breaking
minimum-Y-extentWithin-system spacing properties
minimumFretDefault tablatures
minimumFretAutomatic fret diagrams
minimumPageTurnLengthOptimal page turning
minimumRepeatLengthForPageTurnOptimal page turning
minorChordModifierNoms d’acord personalitzats
mixedPedals de piano
modalInversionA.19 Available music functions
modalTransposeA.19 Available music functions
modernAlteracions accidentals automàtiques
modern-cautionaryAlteracions accidentals automàtiques
modern-voiceAlteracions accidentals automàtiques
modern-voice-cautionaryAlteracions accidentals automàtiques
MultiMeasureRestTextSilencis de compas complet
musicMapA.19 Available music functions

N
neo-modernAlteracions accidentals automàtiques
neo-modern-cautionaryAlteracions accidentals automàtiques
neo-modern-voiceAlteracions accidentals automàtiques
neo-modern-voice-cautionaryAlteracions accidentals automàtiques
no-resetAlteracions accidentals automàtiques
nonstaff-nonstaff-spacingWithin-system spacing properties
nonstaff-relatedstaff-spacingWithin-system spacing properties
nonstaff-unrelatedstaff-spacingWithin-system spacing properties
noPageBreakA.19 Available music functions
noPageTurnA.19 Available music functions
normalsizeSelecció del la mida del tipus de lletra per a la notació
Note_heads_engraverDivisió automàtica de les notes

O
octaveCheckA.19 Available music functions
offsetA.19 Available music functions
omitA.19 Available music functions
onceA.19 Available music functions
ottavaA.19 Available music functions
outer-margin\paper variables for two-sided mode
outside-staff-horizontal-padding4.4.3 Vertical collision avoidance
outside-staff-padding4.4.3 Vertical collision avoidance
outside-staff-priority4.4.3 Vertical collision avoidance
overridePropertyA.19 Available music functions
overrideTimeSignatureSettingsA.19 Available music functions

P
page-breaking\paper variables for page breaking
page-breaking-system-system-spacing\paper variables for page breaking
page-count\paper variables for page breaking
page-number-type\paper variables for page numbering
page-spacing-weightMiscellaneous \paper variables
pageBreakA.19 Available music functions
pageTurnA.19 Available music functions
palmMuteA.19 Available music functions
palmMuteOnA.19 Available music functions
paper-height4.1.3 Fixed vertical spacing \paper variables
paper-width\paper variables for widths and margins
parallelMusicA.19 Available music functions
parenthesizeA.19 Available music functions
partcombineA.19 Available music functions
partcombineDownA.19 Available music functions
partcombineForceA.19 Available music functions
partcombineUpA.19 Available music functions
partialA.19 Available music functions
pedalSustainStylePedals de piano
percentRepeticions de compàs o part d’ells
phrasingSlurDashPatternA.19 Available music functions
pianoAlteracions accidentals automàtiques
piano-cautionaryAlteracions accidentals automàtiques
PianoStaffReferències per a teclats
PianoStaffCanvi automàtic de pentagrama
pitchedTrillA.19 Available music functions
Pitch_squash_engraverMostrar els ritmes de la melodia
pointAndClickOffA.19 Available music functions
pointAndClickOnA.19 Available music functions
pointAndClickTypesA.19 Available music functions
print-all-headersMiscellaneous \paper variables
print-first-page-number\paper variables for page numbering
print-page-number\paper variables for page numbering
propertyOverrideA.19 Available music functions
propertyRevertA.19 Available music functions
propertySetA.19 Available music functions
propertyTweakA.19 Available music functions
propertyUnsetA.19 Available music functions
pushToTagA.19 Available music functions

Q
quotedCueEventTypesCites a altres veus
quotedEventTypesCites a altres veus
quoteDuringA.19 Available music functions

R
rSilencis
RSilencis de compas complet
ragged-bottom4.1.3 Fixed vertical spacing \paper variables
ragged-last\paper variables for widths and margins
ragged-last4.5.4 Line width
ragged-last-bottom4.1.3 Fixed vertical spacing \paper variables
ragged-right\paper variables for widths and margins
ragged-right4.5.4 Line width
reduceChordsA.19 Available music functions
relativeA.19 Available music functions
removeWithTagA.19 Available music functions
repeatCommandsMarques de repetició manual
resetRelativeOctaveA.19 Available music functions
restrainOpenStringsDefault tablatures
retrogradeA.19 Available music functions
revertTimeSignatureSettingsA.19 Available music functions
rgb-colorAcoloriment d’objectes
RhythmicStaffCreació d’instàncies de pentagrames nous
right-margin\paper variables for widths and margins
rightHandFingerA.19 Available music functions

S
sSilencis invisibles
scaleDurationsA.19 Available music functions
score-markup-spacingList of flexible vertical spacing \paper variables
score-system-spacingList of flexible vertical spacing \paper variables
scoreTitleMarkupCustom layout for titles
self-alignment-XWithin-system spacing properties
set-global-staff-size4.2.2 Setting the staff size
set-octavationIndicadors d’octava
settingsFromA.19 Available music functions
shapeA.19 Available music functions
shiftDurationsA.19 Available music functions
short-indentNoms d’instruments
short-indent\paper variables for shifts and indents
show-available-fontsTipus de lletra d’un sol element
showFirstLength3.4.2 Skipping corrected music
showLastLength3.4.2 Skipping corrected music
singleA.19 Available music functions
skipA.19 Available music functions
skipTypesetting3.4.2 Skipping corrected music
slashChordSeparatorNoms d’acord personalitzats
slashedGraceA.19 Available music functions
slurDashPatternA.19 Available music functions
smallSelecció del la mida del tipus de lletra per a la notació
spacing4.5.1 Horizontal spacing overview
spacingTweaksA.19 Available music functions
Span_stem_engraverPliques de pentagrama creuat
staff-affinityWithin-system spacing properties
staff-staff-spacingWithin-system spacing properties
Staff.midiInstrument3.5.9 Enhancing MIDI output
staffgroup-staff-spacingWithin-system spacing properties
Staff_symbol_engraverOcultament de pentagrames
start-repeatMarques de repetició manual
StemPliques de pentagrama creuat
stem-spacing-correction4.5.1 Horizontal spacing overview
stemLeftBeamCountBarres manuals
stemRightBeamCountBarres manuals
storePredefinedDiagramA.19 Available music functions
stringTuningA.19 Available music functions
stringTuningsCustom tablatures
stringTuningsPredefined fret diagrams
styledNoteHeadsA.19 Available music functions
suggestAccidentalsAnnotational accidentals (musica ficta)
susAcords estesos i alterats
system-count\paper variables for line breaking
system-separator-markupMiscellaneous \paper variables
system-system-spacingList of flexible vertical spacing \paper variables
systems-per-page\paper variables for line breaking

T
tabChordRepeatsA.19 Available music functions
tabChordRepetitionA.19 Available music functions
TabStaffCreació d’instàncies de pentagrames nous
TabStaffDefault tablatures
TabVoiceDefault tablatures
tagA.19 Available music functions
tagGroupA.19 Available music functions
teachingAlteracions accidentals automàtiques
teenySelecció del la mida del tipus de lletra per a la notació
temporaryA.19 Available music functions
textPedals de piano
tieDashPatternA.19 Available music functions
timeA.19 Available music functions
timesA.19 Available music functions
timeSignatureFractionNotació polimètrica
tinySelecció del la mida del tipus de lletra per a la notació
tocItemA.19 Available music functions
top-margin4.1.3 Fixed vertical spacing \paper variables
top-markup-spacingList of flexible vertical spacing \paper variables
top-system-spacingList of flexible vertical spacing \paper variables
transposeA.19 Available music functions
transposedCueDuringA.19 Available music functions
transpositionA.19 Available music functions
tremoloRepeticions de trèmol
tupletA.19 Available music functions
TupletNumberFragments de codi seleccionats
tupletNumberFormatFunctionFragments de codi seleccionats
tupletSpanA.19 Available music functions
tupletSpannerDurationFragments de codi seleccionats
tweakA.19 Available music functions
two-sided\paper variables for two-sided mode

U
undoA.19 Available music functions
unfoldRepeticions explícites
unfoldRepeatsA.19 Available music functions

V
VaticanaStaffCreació d’instàncies de pentagrames nous
VerticalAxisGroupWithin-system spacing properties
VoicePolifonia en un sol pentagrama
voiceAlteracions accidentals automàtiques
voiceAlteracions accidentals automàtiques
voicesA.19 Available music functions
voidA.19 Available music functions

W
whichBarBarres de compàs
withMusicPropertyA.19 Available music functions

X
X-offsetWithin-system spacing properties
x11-colorAcoloriment d’objectes
x11-colorVegeu també
xNoteA.19 Available music functions

Salta a:   !   "   '   ,   -   .   /   :   <   =   >   ?   [   \   ]   ^   _   |   ~  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  

E. Índex del LilyPond

A més de totes les ordres i paraules clau del LilyPond, aquest índex és una llista de termes musicals i les paraules que tenen relació amb cada u d’ells, amb enllaços a aquelles seccions del manual que descriuen o s’ocupen d’aquest terme. Cada un dels enllaços consta de dues parts. La primera part apunta a la situació exacta del manual en el qual apareix el terme; la segona part apunta al començament de la secció corresponent del manual en la qual es discuteix aquest terme.

Salta a:   !   "   '   ,   -   .   /   1   8   :   <   =   >   ?   [   \   ]   ^   _   |   ~  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  
Entrada d’índex Secció

!
!Alteracions accidentals

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

'
'Escriptura d’octava absoluta

,
,Escriptura d’octava absoluta

-
-Articulacions i ornaments

.
.Duració de les notes

/
/Acords estesos i alterats
/+Acords estesos i alterats

1
15maIndicadors d’octava

8
8vaIndicadors d’octava

:
:Repeticions de trèmol

<
<Notes a un acord
<...>Notes a un acord

=
=Comprovació d’octava

>
>Notes a un acord

?
?Alteracions accidentals

[
[Barres manuals

\
\!Matisos dinàmics
\(Lligadures de fraseig
\)Lligadures de fraseig
\<Matisos dinàmics
\=A.19 Available music functions
\>Matisos dinàmics
\abs-fontsizeSelecció del tipus de lletra i la seva mida
\abs-fontsizeA.11.1 Font
\accentArticulacions i ornaments
\accepts5.1.6 Defining new contexts
\accepts5.1.6 Defining new contexts
\accepts5.1.7 Context layout order
\acciaccaturaNotes d’adorn
\accidentalStyleAlteracions accidentals automàtiques
\addChordShapePredefined fret diagrams
\addlyricsAlineació de la lletra a una melodia
\addlyricsDuració automàtica de les síl·labes
\addlyricsÚs de \addlyrics
\addQuoteCites a altres veus
\aeolianArmadura de la tonalitat
\afterGraceNotes d’adorn
\aikenHeadsCaps de notes amb formes diverses
\aikenHeadsMinorCaps de notes amb formes diverses
\alias5.1.6 Defining new contexts
\allowPageTurnInstruccions predefinides
\alterBrokenUsing \alterBroken
\alternative1.4.1 Repeticions llargues
\appendToTagUsing tags
\appoggiaturaNotes d’adorn
\arpeggioArpegi
\arpeggioArrowDownArpegi
\arpeggioArrowUpArpegi
\arpeggioBracketArpegi
\arpeggioNormalArpegi
\arpeggioParenthesisArpegi
\arpeggioParenthesisDashedArpegi
\arrow-headNotació gràfica dins d’elements de marcatge
\arrow-headA.11.3 Graphic
\ascendensGregorian square neume ligatures
\ascendensInstruccions predefinides
\auctumGregorian square neume ligatures
\auctumInstruccions predefinides
\augmentumInstruccions predefinides
\auto-footnoteA.11.7 Other
\autoBeamOffBarres automàtiques
\autoBeamOffPliques de pentagrama creuat
\autoBeamOnBarres automàtiques
\autoBreaksOff4.3.1 Line breaking
\autoBreaksOn4.3.1 Line breaking
\autochangeCanvi automàtic de pentagrama
\autoLineBreaksOff4.3.1 Line breaking
\autoLineBreaksOn4.3.1 Line breaking
\autoPageBreaksOffManual page breaking
\autoPageBreaksOnManual page breaking
\backslashed-digitA.11.7 Other
\balloonGrobTextGlobus d’ajuda
\balloonLengthOffGlobus d’ajuda
\balloonLengthOnGlobus d’ajuda
\balloonTextGlobus d’ajuda
\barBarres de compàs
\barBarres de compàs
\barNumberCheckComprovació de compàs i de número de compàs
\beamA.11.3 Graphic
\beamExceptionsEstablir el comportament de les barres automàtiques
\bendAfterCaigudes i elevacions
\boldSelecció del tipus de lletra i la seva mida
\boldA.11.1 Font
\book3.1.2 Multiple scores in a book
\book3.1.2 Multiple scores in a book
\book3.1.5 File structure
\bookOutputName3.1.4 Output file names
\bookOutputSuffix3.1.4 Output file names
\bookpart3.1.2 Multiple scores in a book
\bookpart3.1.5 File structure
\bookpartManual page breaking
\boxNotació gràfica dins d’elements de marcatge
\boxA.11.1 Font
\bracketIndicacions dinàmiques contemporànies
\bracketNotació gràfica dins d’elements de marcatge
\bracketA.11.3 Graphic
\break4.3.1 Line breaking
\breatheMarques de respiració
\breveDuració de les notes
\breveSilencis
\cadenzaOffMúsica sense compassos
\cadenzaOnMúsica sense compassos
\caesuraInstruccions predefinides
\capsA.11.1 Font
\cavumGregorian square neume ligatures
\cavumInstruccions predefinides
\center-alignAlineació de text
\center-alignA.11.2 Align
\center-columnAlineació de text
\center-columnA.11.2 Align
\changeCanvi manual de pentagrama
\charA.11.7 Other
\chordmodeVegeu també
\chordmodeVegeu també
\chordmodePredefined fret diagrams
\chordRepeatsDefault tablatures
\circleNotació gràfica dins d’elements de marcatge
\circleA.11.3 Graphic
\clefClau
\cm5.4.3 Distances and measurements
\codaArticulacions i ornaments
\columnAlineació de text
\columnA.11.2 Align
\column-linesA.12 Text markup list commands
\combineNotació gràfica dins d’elements de marcatge
\combineA.11.2 Align
\compound-meterA.11.4 Music
\compoundMeter Pentagrames amb diferents indicacions de compàs i longituds de compàs diferents
\compressMMRestsSilencis de compas complet
\compressMMRestsSilencis de compas complet
\concatA.11.2 Align
\consists5.1.6 Defining new contexts
\context5.1.2 Creating and referencing contexts
\contextChanging all contexts of the same type
\context in \layout blockChanging all contexts of the same type
\crMatisos dinàmics
\crescMatisos dinàmics
\crescHairpinMatisos dinàmics
\crescTextCrescMatisos dinàmics
\crossStaffPliques de pentagrama creuat
\cueClefFormat de les notes guia
\cueDuringFormat de les notes guia
\cueDuringWithClefFormat de les notes guia
\customTabClefA.11.4 Music
\decrMatisos dinàmics
\decrescMatisos dinàmics
\defaultchild5.1.7 Context layout order
\defaultTimeSignatureIndicació de compàs
\defineBarLineBarres de compàs
\deminutumGregorian square neume ligatures
\deminutumInstruccions predefinides
\denies5.1.6 Defining new contexts
\denies5.1.6 Defining new contexts
\denies5.1.7 Context layout order
\descendensGregorian square neume ligatures
\descendensInstruccions predefinides
\dimMatisos dinàmics
\dimHairpinMatisos dinàmics
\dimTextDecrMatisos dinàmics
\dimTextDecrescMatisos dinàmics
\dimTextDimMatisos dinàmics
\dir-columnA.11.2 Align
\discantA.11.6 Accordion Registers
\displayLilyMusic3.6.1 Displaying LilyPond notation
\divisioMaiorInstruccions predefinides
\divisioMaximaInstruccions predefinides
\divisioMinimaInstruccions predefinides
\dorianArmadura de la tonalitat
\dotsDownDuració de les notes
\dotsNeutralDuració de les notes
\dotsUpDuració de les notes
\doubleflatA.11.4 Music
\doublesharpA.11.4 Music
\downbowArticulacions i ornaments
\downbowBowing indications
\downmordentArticulacions i ornaments
\downprallArticulacions i ornaments
\draw-circleNotació gràfica dins d’elements de marcatge
\draw-circleA.11.3 Graphic
\draw-dashed-lineA.11.3 Graphic
\draw-dotted-lineA.11.3 Graphic
\draw-hlineA.11.3 Graphic
\draw-lineNotació gràfica dins d’elements de marcatge
\draw-lineA.11.3 Graphic
\draw-squiggle-lineA.11.3 Graphic
\drummodeCreació d’instàncies de pentagrames nous
\dynamicIndicacions dinàmiques contemporànies
\dynamicA.11.1 Font
\dynamicDownMatisos dinàmics
\dynamicNeutralMatisos dinàmics
\dynamicUpMatisos dinàmics
\easyHeadsOffCaps de notes de Notació Fàcil
\easyHeadsOnCaps de notes de Notació Fàcil
\ellipseA.11.3 Graphic
\epsfileNotació gràfica dins d’elements de marcatge
\epsfileA.11.3 Graphic
\espressivoArticulacions i ornaments
\espressivoMatisos dinàmics
\etc5.6.2 Substitution function examples
\eyeglassesA.11.7 Other
\fMatisos dinàmics
\featherDurationsBarres progressives
\fermataArticulacions i ornaments
\fermataA.11.4 Music
\fermataMarkupSilencis de compas complet
\fermataMarkupSilencis de compas complet
\fermataMarkupArticulacions i ornaments
\ffMatisos dinàmics
\fffMatisos dinàmics
\ffffMatisos dinàmics
\fffffMatisos dinàmics
\fill-lineAlineació de text
\fill-lineA.11.2 Align
\fill-with-patternA.11.2 Align
\filled-boxNotació gràfica dins d’elements de marcatge
\filled-boxA.11.3 Graphic
\finalisInstruccions predefinides
\fingerIndicacions de digitació
\fingerA.11.1 Font
\first-visibleA.11.7 Other
\fixedEscriptura d’octava absoluta
\flageoletArticulacions i ornaments
\flatA.11.4 Music
\flexaInstruccions predefinides
\fontCapsA.11.1 Font
\fontsizeSelecció del tipus de lletra i la seva mida
\fontsizeA.11.1 Font
\footnoteFootnotes in music expressions
\footnoteA.11.7 Other
\fpMatisos dinàmics
\fractionA.11.7 Other
\freeBassA.11.6 Accordion Registers
\frenchChordsInstruccions predefinides
\fret-diagramFret diagram markups
\fret-diagramA.11.5 Instrument Specific Markup
\fret-diagram-terseFret diagram markups
\fret-diagram-terseA.11.5 Instrument Specific Markup
\fret-diagram-verboseFret diagram markups
\fret-diagram-verboseA.11.5 Instrument Specific Markup
\frompropertyA.11.7 Other
\funkHeadsCaps de notes amb formes diverses
\funkHeadsMinorCaps de notes amb formes diverses
\general-alignAlineació de text
\general-alignA.11.2 Align
\germanChordsInstruccions predefinides
\glissandoGlissando
\graceNotes d’adorn
\halfopenArticulacions i ornaments
\halignAlineació de text
\halignA.11.2 Align
\harmonicHarmonics
\harmonicDefault tablatures
\harmonicByFretDefault tablatures
\harmonicByRatioDefault tablatures
\harmonicsOffHarmonics
\harmonicsOnHarmonics
\harp-pedalA.11.5 Instrument Specific Markup
\hbracketNotació gràfica dins d’elements de marcatge
\hbracketA.11.3 Graphic
\hcenter-inA.11.2 Align
\header3.1.5 File structure
\hideMaking objects transparent
\hideKeySignatureBagpipe definitions
\hideNotesNotes ocultes
\hideSplitTiedTabNotesDefault tablatures
\hideStaffSwitchLínies de canvi de pentagrama
\hspaceA.11.2 Align
\hugeSelecció del la mida del tipus de lletra per a la notació
\hugeSelecció del tipus de lletra i la seva mida
\hugeA.11.1 Font
\improvisationOffImprovisació
\improvisationOffMostrar els ritmes de la melodia
\improvisationOnImprovisació
\improvisationOnMostrar els ritmes de la melodia
\in5.4.3 Distances and measurements
\incipitIncipits
\inclinatumGregorian square neume ligatures
\inclinatumInstruccions predefinides
\include3.3.1 Including LilyPond files
\inherit-acceptability5.1.6 Defining new contexts
\inStaffSegnoRepeticions normals
\inversionInversió
\ionianArmadura de la tonalitat
\italianChordsInstruccions predefinides
\italicSelecció del tipus de lletra i la seva mida
\italicA.11.1 Font
\justified-linesElements de marcatge de diverses pàgines
\justified-linesA.12 Text markup list commands
\justifyAlineació de text
\justifyA.11.2 Align
\justify-fieldA.11.2 Align
\justify-lineA.11.2 Align
\justify-stringA.11.2 Align
\keepWithTagUsing tags
\keyArmadura de la tonalitat
\keyCaps de notes amb formes diverses
\killCuesFormat de les notes guia
\labelInstruccions predefinides
\laissezVibrerLligadures d’unió
\largeSelecció del la mida del tipus de lletra per a la notació
\largeSelecció del tipus de lletra i la seva mida
\largeA.11.1 Font
\largerSelecció del tipus de lletra i la seva mida
\largerSelecció del tipus de lletra i la seva mida
\largerA.11.1 Font
\layout3.1.5 File structure
\layout4.2.1 The \layout block
\layoutOutput definitions - blueprints for contexts
\layoutChanging all contexts of the same type
\left-alignAlineació de text
\left-alignA.11.2 Align
\left-braceA.11.7 Other
\left-columnA.11.2 Align
\lheelArticulacions i ornaments
\lineA.11.2 Align
\lineaGregorian square neume ligatures
\lineaInstruccions predefinides
\lineprallArticulacions i ornaments
\locrianArmadura de la tonalitat
\longaDuració de les notes
\longaSilencis
\longfermataArticulacions i ornaments
\lookupA.11.7 Other
\lowerAlineació de text
\lowerA.11.2 Align
\ltoeArticulacions i ornaments
\lydianArmadura de la tonalitat
\lyricmodeIntroducció de la lletra
\lyricmodeAlineació de la lletra a una melodia
\lyricstoAlineació de la lletra a una melodia
\lyricstoDuració automàtica de les síl·labes
\lyricstoÚs de \lyricsto
\magnifySelecció del tipus de lletra i la seva mida
\magnifyA.11.1 Font
\magnifyMusicSelecció del la mida del tipus de lletra per a la notació
\majorArmadura de la tonalitat
\makeClustersClústers
\map-markup-commandsA.12 Text markup list commands
\marcatoArticulacions i ornaments
\markMarques d’assaig
\markIndicacions de text
\markalphabetA.11.7 Other
\markLengthOffIndicacions metronòmiques
\markLengthOffIndicacions de text
\markLengthOnIndicacions metronòmiques
\markLengthOnIndicacions de text
\markletterA.11.7 Other
\markupIndicacions de text
\markupText separat
\markupText separat
\markupIntroducció al marcatge de text
\markuplistText separat
\markuplistElements de marcatge de diverses pàgines
\markuplistVegeu també
\maximaDuració de les notes
\maximaSilencis
\mediumA.11.1 Font
\melismaDiverses notes sobre una síl·laba
\melismaEndDiverses notes sobre una síl·laba
\mergeDifferentlyDottedOffResolució de les col·lisions
\mergeDifferentlyDottedOnResolució de les col·lisions
\mergeDifferentlyHeadedOffResolució de les col·lisions
\mergeDifferentlyHeadedOnResolució de les col·lisions
\mfMatisos dinàmics
\midi3.1.5 File structure
\midiOutput definitions - blueprints for contexts
\minorArmadura de la tonalitat
\mixolydianArmadura de la tonalitat
\mm5.4.3 Distances and measurements
\modalInversion Inversió modal
\modalTranspose Transposició modal
\mordentArticulacions i ornaments
\mpMatisos dinàmics
\musicglyphMarques d’assaig
\musicglyphA.11.4 Music
\name5.1.6 Defining new contexts
\naturalA.11.4 Music
\new5.1.2 Creating and referencing contexts
\newSpacingSection4.5.2 New spacing section
\noBeamBarres manuals
\noBreak4.3.1 Line breaking
\noPageBreakManual page breaking
\noPageTurnInstruccions predefinides
\normal-size-subA.11.1 Font
\normal-size-superSelecció del tipus de lletra i la seva mida
\normal-size-superA.11.1 Font
\normal-textA.11.1 Font
\normalsizeSelecció del la mida del tipus de lletra per a la notació
\normalsizeSelecció del tipus de lletra i la seva mida
\normalsizeA.11.1 Font
\noteA.11.4 Music
\note-by-numberA.11.4 Music
\nullAlineació de text
\nullA.11.7 Other
\numberA.11.1 Font
\numericTimeSignatureIndicació de compàs
\octaveCheckComprovació d’octava
\offset5.3.6 The \offset command
\omitRemoving the stencil
\on-the-flyCustom layout for headers and footers
\on-the-flyA.11.7 Other
\once5.3.3 The \override command
\oneVoicePolifonia en un sol pentagrama
\openArticulacions i ornaments
\openBowing indications
\oriscusGregorian square neume ligatures
\oriscusInstruccions predefinides
\ottavaIndicadors d’octava
\ovalA.11.3 Graphic
\overlayA.11.2 Align
\override5.3.3 The \override command
\override5.3.5 \set vs. \override
\overrideA.11.7 Other
\override-linesA.12 Text markup list commands
\overrideProperty5.3.5 \set vs. \override
\overrideTimeSignatureSettingsIndicació de compàs
\overtieA.11.1 Font
\pMatisos dinàmics
\pad-aroundNotació gràfica dins d’elements de marcatge
\pad-aroundA.11.2 Align
\pad-markupNotació gràfica dins d’elements de marcatge
\pad-markupA.11.2 Align
\pad-to-boxNotació gràfica dins d’elements de marcatge
\pad-to-boxA.11.2 Align
\pad-xNotació gràfica dins d’elements de marcatge
\pad-xA.11.2 Align
\page-linkA.11.7 Other
\page-refInstruccions predefinides
\page-refA.11.7 Other
\pageBreakManual page breaking
\pageTurnInstruccions predefinides
\paper3.1.5 File structure
\paper4.1.2 Paper size and automatic scaling
\parallelMusicEscriptura de música en paral·lel
\parenthesizeParèntesis
\parenthesizeA.11.3 Graphic
\partcombineCombinació automàtica de les parts
\partcombinePolifonia amb lletres compartides
\partcombine i lletra Ús de \partcombine amb lletra
\partcombine y letraPolifonia amb lletres compartides
\partcombineApartCombinació automàtica de les parts
\partcombineAutomaticCombinació automàtica de les parts
\partcombineChordsCombinació automàtica de les parts
\partcombineSoloICombinació automàtica de les parts
\partcombineSoloIICombinació automàtica de les parts
\partcombineUnisonoCombinació automàtica de les parts
\partialAnacrusis
\partial1.4.1 Repeticions llargues
\partialRepeticions normals
\pathA.11.3 Graphic
\patternA.11.7 Other
\pesInstruccions predefinides
\phrasingSlurDashedLligadures de fraseig
\phrasingSlurDashPatternLligadures de fraseig
\phrasingSlurDottedLligadures de fraseig
\phrasingSlurDownLligadures de fraseig
\phrasingSlurHalfDashedLligadures de fraseig
\phrasingSlurHalfSolidLligadures de fraseig
\phrasingSlurNeutralLligadures de fraseig
\phrasingSlurSolidLligadures de fraseig
\phrasingSlurUpLligadures de fraseig
\phrygianArmadura de la tonalitat
\pitchedTrillRefilets
\portatoArticulacions i ornaments
\postscriptNotació gràfica dins d’elements de marcatge
\postscriptA.11.3 Graphic
\powerChordsIndicating power chords
\ppMatisos dinàmics
\pppMatisos dinàmics
\ppppMatisos dinàmics
\prallArticulacions i ornaments
\pralldownArticulacions i ornaments
\prallmordentArticulacions i ornaments
\prallprallArticulacions i ornaments
\prallupArticulacions i ornaments
\predefinedFretboardsOffAutomatic fret diagrams
\predefinedFretboardsOnAutomatic fret diagrams
\property-recursiveA.11.7 Other
\pt5.4.3 Distances and measurements
\pushToTagUsing tags
\put-adjacentA.11.2 Align
\quilismaGregorian square neume ligatures
\quilismaInstruccions predefinides
\quoteDuringCites a altres veus
\quoteDuringFormat de les notes guia
\raiseAlineació de text
\raiseA.11.2 Align
\relativeEscriptura d’octava relativa
\relativeVegeu també
\relativeVegeu també
\relativeCanvi automàtic de pentagrama
\RemoveAllEmptyStavesOcultament de pentagrames
\RemoveEmptyStavesOcultament de pentagrames
\removeWithTagUsing tags
\repeat1.4.1 Repeticions llargues
\repeat percentRepeticions de compàs o part d’ells
\repeat tremoloRepeticions de trèmol
\repeatTieLligadures d’unió
\repeatTieRepeticions normals
\repeatTieRepeticions amb finals alternatius (primera i segona vegada)
\replaceA.11.1 Font
\restSilencis
\restA.11.4 Music
\rest-by-numberA.11.4 Music
\retrogradeRetrogradació
\reverseturnArticulacions i ornaments
\revert5.3.3 The \override command
\revertTimeSignatureSettingsIndicació de compàs
\rfzMatisos dinàmics
\rheelArticulacions i ornaments
\right-alignAlineació de text
\right-alignA.11.2 Align
\right-braceA.11.7 Other
\right-columnA.11.2 Align
\rightHandFingerRight-hand fingerings
\romanA.11.1 Font
\romanStringNumbersBowing indications
\rotateA.11.2 Align
\rounded-boxNotació gràfica dins d’elements de marcatge
\rounded-boxA.11.3 Graphic
\rtoeArticulacions i ornaments
\sacredHarpHeadsCaps de notes amb formes diverses
\sacredHarpHeadsMinorCaps de notes amb formes diverses
\sansA.11.1 Font
\scaleA.11.3 Graphic
\scaleDurationsEscalat de les duracions
\scaleDurationsNotació polimètrica
\score3.1.1 Structure of a score
\score3.1.5 File structure
\scoreA.11.4 Music
\score-linesA.12 Text markup list commands
\segnoArticulacions i ornaments
\semiflatA.11.4 Music
\semiGermanChordsInstruccions predefinides
\semisharpA.11.4 Music
\sesquiflatA.11.4 Music
\sesquisharpA.11.4 Music
\setEstablir el comportament de les barres automàtiques
\set5.3.2 The \set command
\set5.3.5 \set vs. \override
\sfMatisos dinàmics
\sffMatisos dinàmics
\sfzMatisos dinàmics
\shape Specifying displacements from current control points
\sharpA.11.4 Music
\shiftOffResolució de les col·lisions
\shiftOnResolució de les col·lisions
\shiftOnnResolució de les col·lisions
\shiftOnnnResolució de les col·lisions
\shortfermataArticulacions i ornaments
\showKeySignatureBagpipe definitions
\showStaffSwitchLínies de canvi de pentagrama
\signumcongruentiaeArticulacions i ornaments
\simpleA.11.1 Font
\skipSilencis invisibles
\skipRepeticions amb finals alternatius (primera i segona vegada)
\slashed-digitA.11.7 Other
\slashedGraceNotes d’adorn
\slurDashedLligadures d’expressió
\slurDashPatternLligadures d’expressió
\slurDottedLligadures d’expressió
\slurDownLligadures d’expressió
\slurHalfDashedLligadures d’expressió
\slurHalfSolidLligadures d’expressió
\slurNeutralLligadures d’expressió
\slurSolidLligadures d’expressió
\slurUpLligadures d’expressió
\smallSelecció del la mida del tipus de lletra per a la notació
\smallSelecció del tipus de lletra i la seva mida
\smallA.11.1 Font
\smallCapsA.11.1 Font
\smallerSelecció del tipus de lletra i la seva mida
\smallerSelecció del tipus de lletra i la seva mida
\smallerA.11.1 Font
\snappizzicatoArticulacions i ornaments
\sostenutoOffPedals de piano
\sostenutoOnPedals de piano
\southernHarmonyHeadsCaps de notes amb formes diverses
\southernHarmonyHeadsMinorCaps de notes amb formes diverses
\spMatisos dinàmics
\sppMatisos dinàmics
\staccatissimoArticulacions i ornaments
\staccatoArticulacions i ornaments
\startGroupClaus d’anàlisi
\startStaffEl símbol del pentagrama
\startStaffPentagrames d’Ossia
\startTrillSpanRefilets
\stdBassA.11.6 Accordion Registers
\stdBassIVA.11.6 Accordion Registers
\stdBassVA.11.6 Accordion Registers
\stdBassVIA.11.6 Accordion Registers
\stemDownPliques
\stemNeutralPliques
\stemUpPliques
\stencilA.11.7 Other
\stopGroupClaus d’anàlisi
\stoppedArticulacions i ornaments
\stopStaffEl símbol del pentagrama
\stopStaffPentagrames d’Ossia
\stopStaffOcultament de pentagrames
\stopTrillSpanRefilets
\storePredefinedDiagramPredefined fret diagrams
\stringTuningCustom tablatures
\strophaGregorian square neume ligatures
\strophaInstruccions predefinides
\strutA.11.7 Other
\subSelecció del tipus de lletra i la seva mida
\subA.11.1 Font
\superSelecció del tipus de lletra i la seva mida
\superA.11.1 Font
\sustainOffPedals de piano
\sustainOnPedals de piano
\tabChordRepeatsDefault tablatures
\tabFullNotationDefault tablatures
\tableA.12 Text markup list commands
\table-of-contentsInstruccions predefinides
\table-of-contentsA.12 Text markup list commands
\tagUsing tags
\tagGroupUsing tags
\taorBagpipe definitions
\teenySelecció del la mida del tipus de lletra per a la notació
\teenySelecció del tipus de lletra i la seva mida
\teenyA.11.1 Font
\tempoIndicacions metronòmiques
\tenutoArticulacions i ornaments
\textA.11.1 Font
\textLengthOffSilencis de compas complet
\textLengthOffScripts de text
\textLengthOnSilencis de compas complet
\textLengthOnScripts de text
\textSpannerDownExtensions de text
\textSpannerNeutralExtensions de text
\textSpannerUpExtensions de text
\thumbArticulacions i ornaments
\thumbIndicacions de digitació
\tieA.11.1 Font
\tied-lyricA.11.4 Music
\tieDashedLligadures d’unió
\tieDottedLligadures d’unió
\tieDownLligadures d’unió
\tieNeutralLligadures d’unió
\tieSolidLligadures d’unió
\tieUpLligadures d’unió
\timeIndicació de compàs
\timeEstablir el comportament de les barres automàtiques
\tinySelecció del la mida del tipus de lletra per a la notació
\tinySelecció del tipus de lletra i la seva mida
\tinyA.11.1 Font
\tocItemInstruccions predefinides
\translateAlineació de text
\translateA.11.2 Align
\translate-scaledAlineació de text
\translate-scaledA.11.2 Align
\transparentA.11.7 Other
\transposeVegeu també
\transposeTransposició
\transposeVegeu també
\transposedCueDuringFormat de les notes guia
\transpositionTransposició dels instruments
\transpositionCites a altres veus
\treCordePedals de piano
\triangleNotació gràfica dins d’elements de marcatge
\triangleA.11.3 Graphic
\trillArticulacions i ornaments
\trillRefilets
\tupletGrups especials
\tupletNotació polimètrica
\tupletDownGrups especials
\tupletNeutralGrups especials
\tupletUpGrups especials
\turnArticulacions i ornaments
\tweak5.3.4 The \tweak command
\tweak5.3.5 \set vs. \override
\type5.1.6 Defining new contexts
\typewriterA.11.1 Font
\unaCordaPedals de piano
\underlineSelecció del tipus de lletra i la seva mida
\underlineA.11.1 Font
\undertieA.11.1 Font
\unfoldRepeats3.5.6 Using repeats with MIDI
\unHideNotesNotes ocultes
\unset5.3.2 The \set command
\upbowArticulacions i ornaments
\upbowBowing indications
\upmordentArticulacions i ornaments
\upprallArticulacions i ornaments
\uprightA.11.1 Font
\varcodaArticulacions i ornaments
\vcenterA.11.2 Align
\verbatim-fileA.11.7 Other
\verylongfermataArticulacions i ornaments
\virgaGregorian square neume ligatures
\virgaInstruccions predefinides
\virgulaInstruccions predefinides
\voiceFourStyleEstils de veu
\voiceNeutralStyleEstils de veu
\voiceOnePolifonia en un sol pentagrama
\voiceOne ... \voiceFourPolifonia en un sol pentagrama
\voiceOneStyleEstils de veu
\voiceThreeStyleEstils de veu
\voiceTwoStyleEstils de veu
\void3.6.1 Displaying LilyPond notation
\vspaceA.11.2 Align
\walkerHeadsCaps de notes amb formes diverses
\walkerHeadsMinorCaps de notes amb formes diverses
\whiteoutA.11.7 Other
\with5.1.4 Modifying context plug-ins
\withChanging just one specific context
\with-colorAcoloriment d’objectes
\with-colorA.11.7 Other
\with-dimensionsA.11.7 Other
\with-dimensions-fromA.11.7 Other
\with-linkA.11.7 Other
\with-outlineA.11.7 Other
\with-urlA.11.3 Graphic
\woodwind-diagramA.11.5 Instrument Specific Markup
\wordwrapAlineació de text
\wordwrapA.11.2 Align
\wordwrap-fieldA.11.2 Align
\wordwrap-internalA.12 Text markup list commands
\wordwrap-linesElements de marcatge de diverses pàgines
\wordwrap-linesA.12 Text markup list commands
\wordwrap-stringA.11.2 Align
\wordwrap-string-internalA.12 Text markup list commands

]
]Barres manuals

^
^Acords estesos i alterats

_
_Diverses síl·labes sobre una nota

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

~
~Lligadures d’unió

A
a dueVegeu també
a due, partsCombinació automàtica de les parts
absolutaEscriptura d’octava absoluta
absoluta, especificació, de l’octavaEscriptura d’octava absoluta
absoluta, introducció, de l’octavaEscriptura d’octava absoluta
absoluteA.19 Available music functions
absoluts, matisosMatisos dinàmics
acampanats, reguladorsFragments de codi seleccionats
accentVegeu també
accentusRepeat sign scripts
acciaccaturaVegeu també
acciaccatura de diverses notesAdvertiments i problemes coneguts
accidentalVegeu també
AccidentalVegeu també
accidentalVegeu també
AccidentalVegeu també
accidentalVegeu també
Accidental, musica fictaAnnotational accidentals (musica ficta)
accidental-interfaceVegeu també
accidental-suggestion-interfaceVegeu també
AccidentalCautionaryVegeu també
AccidentalPlacementVegeu també
accidentalsMensural accidentals and key signatures
accidentalsGregorian accidentals and key signatures
accidentalsKievan accidentals
accidentalStyleA.19 Available music functions
AccidentalSuggestionVegeu també
AccidentalSuggestionVegeu també
Accidental_engraverVegeu també
Accidental_engraverVegeu també
Accidental_engraverVegeu també
acentArticulacions i ornaments
acolorides, notesAcoloriment d’objectes
acolorides, notes d’acordVegeu també
acolorir notesAcoloriment d’objectes
acolorir objectesAcoloriment d’objectes
acolorits, objectesAcoloriment d’objectes
acompanyament, mostrar ritmesMostrar els ritmes de la melodia
acord arpegiatArpegi
acord trencatArpegi
acordes, alteracions dins deVegeu també
acordes, eliminar repetidosFragments de codi seleccionats
acordió2.2.3 Acordió
acordió, canvis alSímbols de Discant
acordió, signes de canvi alSímbols de Discant
acordió, signes de discantSímbols de Discant
acordsNotes a un acord
acordsImpressió dels noms d’acord
acords alteratsAcords estesos i alterats
acords buitsNotes a un acord
acords de jazzPanoràmica del mode d’acords
acords de jazzNoms d’acord personalitzats
acords de pentagrama creuatPliques de pentagrama creuat
acords estesosAcords estesos i alterats
acords i alçada relativaNotes a un acord
acords i introduccions relativa de l’octavaEscriptura d’octava relativa
acords i lligaduresLligadures d’unió
acords, alteració de notesAcords estesos i alterats
acords, baix deAcords estesos i alterats
acords, digitació deIndicacions de digitació
acords, divisió entre pentagrames amb \autochangeAdvertiments i problemes coneguts
acords, inversionsAcords estesos i alterats
acords, mode dePanoràmica del mode d’acords
acords, noms dePanoràmica del mode d’acords
acords, noms deImpressió dels noms d’acord
acords, repetició deRepetició d’acords
acords, supressions enAcords estesos i alterats
acords, variants deAcords més usuals
acoustic bassAncient scripts
acoustic snareAncient scripts
addChordShapeA.19 Available music functions
addicionals internes, líniesEl símbol del pentagrama
addicionals, líniesEl símbol del pentagrama
addicionals, modificar líniesEl símbol del pentagrama
adding a white background to textA.11.7 Other
adding custom fret diagramsPredefined fret diagrams
addInstrumentDefinitionA.19 Available music functions
additionalPitchPrefixNoms d’acord personalitzats
addQuoteA.19 Available music functions
adicions en acordsAcords estesos i alterats
adjusting staff symbol5.4.5 Staff symbol properties
adorn, lletra i notes deAplicació de síl·labes a notes d’adorn
adorn, seguiment de notes deNotes d’adorn
adorn, sincronització de notes deAdvertiments i problemes coneguts
Advanced command line options for LilyPondInstallation Instructions
Afegir i eliminar gravadorsVegeu també
afterGraceA.19 Available music functions
afterGraceFractionparser variable
agogoAncient scripts
agrupació de grups especialsGrups especials
agrupar pulsacionsFragments de codi seleccionats
Aiken, caps de nota amb formaCaps de notes amb formes diverses
ajuda, globus deGlobus d’ajuda
ajust de línia, text ambAlineació de text
Ajustament de la notació amb superposicionsCanvi manual de pentagrama
Ajustament de la notació amb superposicionsCanvi manual de pentagrama
Ajustament de la notació amb superposicionsVegeu també
ajustament de les notes d’adornNotes d’adorn
ajustat a paraules, textAlineació de text
al nienteVegeu també
align to objectsUsing the break-alignable-interface
alignAboveContext5.1.7 Context layout order
alignBelowContextRepeticions senzilles
alignBelowContext5.1.7 Context layout order
Aligning objectsMarques d’assaig
Aligning objectsVegeu també
Aligning objectsVegeu també
alineació a una cadenza (cadència)Alinear amb una cadenza
Alineació de la lletra a una melodiaVegeu també
Alineació de la lletra a una melodiaVegeu també
alineació, instruccions de textAlineació de text
alinear elements de marcatgeAlineació de text
alinear textAlineació de text
alinear text de marcatgeAlineació de text
alistalist
All layout objects Canviar la mida dels objectes individuals
All layout objectsVegeu també
All layout objectsProperties which may be offset
All layout objectsProperties which may be offset
All layout objectsVegeu també
All layout objectsVegeu també
allowPageTurnA.19 Available music functions
allowVoltaHookA.19 Available music functions
alteracions accidentalsAlteracions accidentals automàtiques
Alteracions accidentals i armaduresAlteracions accidentals
Alteracions accidentals i armaduresVegeu també
Alteracions accidentals i armaduresArmadura de la tonalitat
Alteracions accidentals i armaduresVegeu també
alteracions automàtiquesAlteracions accidentals automàtiques
alteracions de pianoAlteracions accidentals automàtiques
alteracions en acordesVegeu també
alteracions estil modernAlteracions accidentals automàtiques
alteracions i notes simultàniesVegeu també
alteracions modernesAlteracions accidentals automàtiques
alteracions sense restabliment, estil deAlteracions accidentals automàtiques
alteracions, cadènciesMúsica sense compassos
alteracions, en diverses veusAlteracions accidentals automàtiques
alteracions, estil de lasAlteracions accidentals automàtiques
alteracions, estil modernAlteracions accidentals automàtiques
alteracions, estil modern de precaucióAlteracions accidentals automàtiques
alteracions, estil predeterminatAlteracions accidentals automàtiques
alteracions, estil teaching (ensenyament)Alteracions accidentals automàtiques
alteracions, estil, dodecafònicAlteracions accidentals automàtiques
alteracions, estil, modern-precaucióAlteracions accidentals automàtiques
alteracions, estil, neo-modern de veuAlteracions accidentals automàtiques
alteracions, estil, neo-modern-voice-cautionaryAlteracions accidentals automàtiques
alteracions, estilo de, neo-modernAlteracions accidentals automàtiques
alteracions, estilo predeterminat de lesAlteracions accidentals automàtiques
alteracions, estilo, neo-moderno de precaucióAlteracions accidentals automàtiques
alteracions, música sense metreMúsica sense compassos
alteracions, piano de precaucióAlteracions accidentals automàtiques
alteracions, piano de precaució, estilo deAlteracions accidentals automàtiques
alteració con parèntesiAlteracions accidentals
alteració de precaucióAlteracions accidentals
alteració de quarts de toVegeu també
alteració de veu de precaució modern, estil deAlteracions accidentals automàtiques
alteració en nota lligadaAlteracions accidentals
alteració recordatòriaAlteracions accidentals
alteració, estil de veu deAlteracions accidentals automàtiques
alteració, estil de veu de precaució modernAlteracions accidentals automàtiques
alteració, estil de, oblitAlteracions accidentals automàtiques
alteració, estil modern deAlteracions accidentals automàtiques
alteració, modern de precaució, veu, estil deAlteracions accidentals automàtiques
alteració, refilet ambRefilets
alterBrokenA.19 Available music functions
alternatius, finals, a repeticions explícitesRepeticions explícites
Alto clefA.10 Clef styles
Alto varC clefA.10 Clef styles
alto, clau deClau
Altres aplicacions dels ajustamentsReferències per a teclats
Altres aplicacions dels ajustamentsVegeu també
Altres fonts d'informacióVegeu també
alturesEscriptura d’octava absoluta
altures, noms de, altres llengüesNoms de les notes en altes llengües
altures, transport deTransposició
Amazing Grace bagpipe exampleBagpipe example
AmbitusVegeu també
ambitusVegeu també
ambitusVegeu també
ambitus-interfaceVegeu també
AmbitusAccidentalVegeu també
AmbitusLineVegeu també
AmbitusNoteHeadVegeu també
Ambitus_engraverVegeu també
An extra staff appearsVegeu també
anacrusa en repeticionsRepeticions normals
anacrusisVegeu també
Ancient music clefsMensural clefs
Ancient music clefsA.10 Clef styles
Ancient notationDuració de les notes
Ancient notationVegeu també
Ancient notationReferències per a càntics i salms
Ancient notationVegeu també
Ancient notationVegeu també
Ancient notation2.1.8 Música vocal antiga
Ancient notationVegeu també
angled hairpinsRotating layout objects
annotate-spacing4.6.1 Displaying spacing
Annotational accidentals (musica ficta)Vegeu també
antigues, clausClau
anàlisi musicològicClaus d’anàlisi
Apareix un pentagrama de mésRepeticions normals
Apareix un pentagrama de mésRepeticions explícites
appendToTagA.19 Available music functions
applyContextA.19 Available music functions
applyMusicA.19 Available music functions
applyOutputA.19 Available music functions
appoggiaturaVegeu també
Arabic key signaturesArabic key signatures
Arabic musicReferences for Arabic music
Arabic music exampleArabic music example
Arabic music templateArabic music example
Arabic note namesArabic note names
Arabic semi-flat symbolArabic note names
Arabic time signaturesArabic time signatures
arc a daltArticulacions i ornaments
arc a sotaArticulacions i ornaments
Armadura de la tonalitatArmadura de la tonalitat
arpa sacra, caps de nota amb formaCaps de notes amb formes diverses
arpa, diagrames de pedalPedals d’arpa
arpa, pedalsPedals d’arpa
ArpeggioVegeu també
arpeggioVegeu també
ArpeggioProperties which may be offset
arpegiArpegi
arpegi con parèntesis de pentagrama creuatAdvertiments i problemes coneguts
arpegi de pentagrama creuat amb parèntesisAdvertiments i problemes coneguts
arpegiat, acord, símbols especialsArpegi
articulacionsArticulacions i ornaments
Articulacions i matisos dinàmicsVegeu també
articulate script3.5.9 Enhancing MIDI output
articulate.ly3.5.9 Enhancing MIDI output
articulation-eventCites a altres veus
articulationsGregorian articulation signs
artificial harmonicsHarmonics
aspes, caps de notaCaps de nota especials
assaig, lletra de, estilMarques d’assaig
assaig, lletra de, formatMarques d’assaig
assaig, lletra de, manualMarques d’assaig
assaig, lletres deMarques d’assaig
assertBeamQuantA.19 Available music functions
assertBeamSlopeA.19 Available music functions
associatedVoiceAlineació de la lletra a una melodia
associatedVoiceDuració automàtica de les síl·labes
associatedVoiceCanvi a una melodia alternativa
association listalist
augAcords més usuals
auto-first-page-number\paper variables for page numbering
autobarrat, propietats per a indicacions de compàsIndicació de compàs
autoBeamingEstablir el comportament de les barres automàtiques
autoBeamingOutput definitions - blueprints for contexts
autocanviador i el mode relatiuCanvi automàtic de pentagrama
autochangeA.19 Available music functions
AutoChangeMusicVegeu també
automatic chord diagramsAutomatic fret diagrams
automatic fret diagramsAutomatic fret diagrams
automaticBars Automatic bars
automàtic, canvi de pentagramaCanvi automàtic de pentagrama
automàtica, combinació de partsCombinació automàtica de les parts
automàtiques, alteracionsAlteracions accidentals automàtiques
Auto_beam_engraverVegeu també
Auto_beam_engraverVegeu també
Axis_group_engraverSpacing of non-staff lines

B
Backend5.2.1 Navigating the program reference
BackendVegeu també
BackendVegeu també
backslashed digitsA.11.7 Other
bagpipeBagpipe definitions
bagpipe exampleBagpipe example
baix dels acordsAcords estesos i alterats
Baix figuratIntroducció al baix xifrat
Baix xifratIntroducció al baix xifrat
baix xifrat, alineacióInstruccions predefinides
baix xifrat, línies d’extensióInstruccions predefinides
baix, clau deClau
Baix, figuratIntroducció al baix xifrat
Baix, xifratIntroducció al baix xifrat
Balance in MIDI3.5.8 Context properties for MIDI effects
balloon-interfaceVegeu també
balloonGrobTextGlobus d’ajuda
balloonGrobTextA.19 Available music functions
balloonTextGlobus d’ajuda
balloonTextA.19 Available music functions
BalloonTextItemVegeu també
Balloon_engraverVegeu també
banjo tablature2.4 Fretted string instruments
banjo tablaturesBanjo tablatures
banjo tuningsBanjo tablatures
banjo-c-tuningBanjo tablatures
banjo-modal-tuningBanjo tablatures
banjo-open-d-tuningBanjo tablatures
banjo-open-dm-tuningBanjo tablatures
BanterNoms d’acord personalitzats
barA.19 Available music functions
bar lines, suppressing Automatic bars
barCheckSynchronizeComprovació de compàs i de número de compàs
Baritone varC clefA.10 Clef styles
Baritone varF clefA.10 Clef styles
BarLineVegeu també
BarNumberVegeu també
BarNumberAdvertiments i problemes coneguts
barNumberCheckA.19 Available music functions
barNumberVisibilityNumeració de compassos
barra dobleBarres de compàs
barra finalBarres de compàs
barra, finals amb diverses veusFragments de codi seleccionats
barra, finals en la partituraFragments de codi seleccionats
barrades, capss de notaImprovisació
barras, \partcombine con \autoBeamOffFragments de codi seleccionats
barrat, propietats predefinides per al compàsIndicació de compàs
barre indicationsFret diagram markups
barrejar notesResolució de les col·lisions
barres de compàsBarres de compàs
barres de compàs manualsBarres de compàs
barres de compàs, música sense metreMúsica sense compassos
barres de pentagrama creuatCanvi manual de pentagrama
barres de trèmolRepeticions de trèmol
barres en angleInstruccions predefinides
barres en música polimètrica Pentagrames amb diferents indicacions de compàs i compassos d’igual longitud
barres en salts de líniaInstruccions predefinides
barres i lletraEstablir el comportament de les barres automàtiques
barres i melismesBarres automàtiques
barres manualsBarres automàtiques
barres manualsBarres manuals
barres manuals, abreviatura de direccióBarres manuals
barres manuals, notes d’adornBarres manuals
barres progressivesBarres progressives
barres, cadènciesMúsica sense compassos
barres, música sense metreMúsica sense compassos
barres, orientació de, secundàriesFragments de codi seleccionats
barres, regles personalitzadesBarres automàtiques
barres, subdivisióFragments de codi seleccionats
bartypeBarres de compàs
Bartók pizzicatoSnap (Bartók) pizzicato
Bar_engraverVegeu també
Bar_number_engraverVegeu també
baríton, clau deClau
base-shortest-duration4.5.1 Horizontal spacing overview
baseMomentEstablir el comportament de les barres automàtiques
Basic command line options for LilyPond3.4.3 Alternative output formats
bassAncient scripts
Bass clefA.10 Clef styles
BassFigureVegeu també
BassFigureVegeu també
BassFigureAlignmentVegeu també
BassFigureAlignmentVegeu també
BassFigureBracketVegeu també
BassFigureBracketVegeu també
BassFigureContinuationVegeu també
BassFigureContinuationVegeu també
BassFigureLineVegeu també
BassFigureLineVegeu també
Basso continuoIntroducció al baix xifrat
bateriaNotació bàsica de percussió
bateriaPautes de percussió
bayatiVegeu també
BeamVegeu també
BeamVegeu també
BeamVegeu també
BeamVegeu també
BeamVegeu també
beam-interfaceVegeu també
beam-interfaceVegeu també
beam-interfaceVegeu també
BeamEventVegeu també
BeamEventVegeu també
beamExceptionsA.19 Available music functions
BeamForbidEventVegeu també
BeamForbidEventVegeu també
Beam_engraverVegeu també
Beam_engraverVegeu també
beatStructureEstablir el comportament de les barres automàtiques
becaireAlteracions accidentals
bemollAlteracions accidentals
bemoll, dobleAlteracions accidentals
bendAfterA.19 Available music functions
binding gutter\paper variables for two-sided mode
binding-offset\paper variables for two-sided mode
bisbiglandoReferències per a notació d’arpa
Bisonparser
Blackmensural clefMensural clefs
Blackmensural clefA.10 Clef styles
blank-after-score-page-penalty\paper variables for page breaking
blank-last-page-penalty\paper variables for page breaking
blank-page-penalty\paper variables for page breaking
BNFparser
bongoAncient scripts
bookOutputNameA.19 Available music functions
bookOutputSuffixA.19 Available music functions
bookTitleMarkupCustom layout for titles
bottom-margin4.1.3 Fixed vertical spacing \paper variables
bounding box5.4.4 Dimensions
bowing indicationsBowing indications
braceVegeu també
bracketVegeu també
break-align-symbolsUsing the break-alignable-interface
break-alignment-interfaceA.18 Layout properties
break-alignment-interfaceA.18 Layout properties
break-alignment-interfaceA.18 Layout properties
break-alignment-interfaceA.18 Layout properties
break-visibilityUsing break-visibility
breakableInstruccions predefinides
breakbeforeDefault layout of bookpart and score titles
breaking lines4.3.1 Line breaking
breaking pages4.5.4 Line width
BreaksVegeu també
breatheA.19 Available music functions
BreathingEventVegeu també
BreathingSignVegeu també
BreathingSignVegeu també
Breathing_sign_engraverVegeu també
breveVegeu també
breveVegeu també
breve, silenci deSilencis
broken spanners, modifyingUsing \alterBroken
buit, pentagramaOcultament de pentagrames
buscar tipus de lletra disponiblesTipus de lletra d’un sol element
Bézier curves, control pointsModifying ties and slurs

C
C clefA.10 Clef styles
cabasaAncient scripts
cadenzaVegeu també
cadenzaVegeu també
cadenza (cadència)Alinear amb una cadenza
cadenza (cadència), alinear aAlinear amb una cadenza
cadènciaMúsica sense compassos
cadència, alteracionsMúsica sense compassos
cadència, barresMúsica sense compassos
cadència, barres de compàsMúsica sense compassos
cadència, números de compàsMúsica sense compassos
cadències, salts de línia enVegeu també
cadències, salts de pàgina enVegeu també
caesuraVegeu també
caesuraVegeu també
caigudes de to (falls)Caigudes i elevacions
calderóMarques d’assaig
calderóArticulacions i ornaments
calderó sobre la línia divisòriaIndicacions de text
calderó sobre un silenci multicompàsSilencis de compas complet
callbackcallback
Callback functionsVegeu també
cantant, nom delAfegir el nom dels cantants als versos
canvi automàtic de pentagramaCanvi automàtic de pentagrama
canvi de ditIndicacions de digitació
canvi del tipus de lletraSelecció del tipus de lletra i la seva mida
canvi manual de pentagramaCanvi manual de pentagrama
CançonsVegeu també
CançonsVegeu també
capoFret diagram markups
caràcters especials en mode de marcatgeIntroducció al marcatge de text
centering a column of textA.11.2 Align
centrar el text a la pàginaAlineació de text
centrats, matisos, a la música de pianoReferències per a teclats
cesuraFragments de codi seleccionats
Changing context default settingsVegeu també
Changing context default settingsAdvertiments i problemes coneguts
changing direction of text columnsA.11.2 Align
changing properties5.3.2 The \set command
Changing spacingVegeu també
check-consistency\paper variables for widths and margins
chinese cymbalAncient scripts
ChoirStaffVegeu també
ChoirStaffVegeu també
ChoirStaffVegeu també
chordVegeu també
chordVegeu també
chordVegeu també
chord diagramsFret diagram markups
chord diagramsPredefined fret diagrams
chord diagrams, automaticAutomatic fret diagrams
chord glissandiFragments de codi seleccionats
Chord name chartNoms d’acord personalitzats
Chord name chartVegeu també
chord names with fret diagramsPredefined fret diagrams
Chord notationNotes a un acord
Chord notationVegeu també
Chord notationVegeu també
Chord notationFulls guia d’acords
Chord notationVegeu també
chord shapes for fretted instrumentsPredefined fret diagrams
chord, modifying one note in5.3.4 The \tweak command
chord, repetitionDefault tablatures
chordChangesFragments de codi seleccionats
Chorded notesVegeu també
ChordNameVegeu també
chordNameExceptionsNoms d’acord personalitzats
chordNameLowercaseMinorNoms d’acord personalitzats
ChordNamesVegeu també
ChordNamesVegeu també
chordNameSeparatorNoms d’acord personalitzats
chordNoteNamerNoms d’acord personalitzats
chordPrefixSpacerNoms d’acord personalitzats
chordRepeatsA.19 Available music functions
chordRootNamerNoms d’acord personalitzats
chordsImpressió dels noms d’acord
chords, powerIndicating power chords
Chord_name_engraverVegeu també
Chorus level in MIDI3.5.8 Context properties for MIDI effects
Christian Harmony, caps de nota amb formaCaps de notes amb formes diverses
church modeVegeu també
circling textA.11.3 Graphic
circulusRepeat sign scripts
citar altres veusCites a altres veus
citar altres veusFormat de les notes guia
clauClau
clau antigaClau
clau de altoClau
clau de baixClau
clau de barítonClau
clau de contrabaixClau
clau de DoClau
clau de FaClau
clau de mezzosopranoClau
clau de percussióNotació bàsica de percussió
clau de primera i segona vegadaMarques de repetició manual
clau de SolClau
clau de sopranoClau
clau de tenorClau
clau de violíClau
clau francesaClau
clau horitzontalClaus d’anàlisi
clau transpositoraClau
clau verticalAgrupament de pentagrames
claudàtor verticalAgrupament de pentagrames
clausParèntesis
clausClaus d’anàlisi
Claus amb notes guiaClau
claus de diverses midesExplicació dels tipus de lletra
claus de diverses midesExplicació dels tipus de lletra
claus de fraseigClaus d’anàlisi
Claus de guiaClau
claus niuadesGrups de pentagrames niuats
claus, niuat deGrups de pentagrames niuats
clavesAncient scripts
clefVegeu també
ClefVegeu també
clefVegeu també
ClefVegeu també
clefVegeu també
Clef stylesClau
Clef stylesA.10 Clef styles
Clef, altoA.10 Clef styles
Clef, alto varCA.10 Clef styles
Clef, ancient musicMensural clefs
Clef, ancient musicA.10 Clef styles
Clef, baritone varCA.10 Clef styles
Clef, baritone varFA.10 Clef styles
Clef, bassA.10 Clef styles
Clef, blackmensuralMensural clefs
Clef, blackmensuralA.10 Clef styles
Clef, CA.10 Clef styles
Clef, FA.10 Clef styles
Clef, frenchA.10 Clef styles
Clef, GA.10 Clef styles
Clef, G2A.10 Clef styles
Clef, GGA.10 Clef styles
Clef, kievanMensural clefs
Clef, kievanA.10 Clef styles
Clef, mensuralMensural clefs
Clef, mensuralA.10 Clef styles
Clef, mezzosopranoA.10 Clef styles
clef, moderntabCustom tablatures
Clef, percussionA.10 Clef styles
Clef, petrucciMensural clefs
Clef, petrucciA.10 Clef styles
Clef, sopranoA.10 Clef styles
Clef, subbassA.10 Clef styles
Clef, tabA.10 Clef styles
clef, tabCustom tablatures
Clef, tenorA.10 Clef styles
Clef, tenor GA.10 Clef styles
Clef, tenor varCA.10 Clef styles
Clef, trebleA.10 Clef styles
Clef, varbaritoneA.10 Clef styles
Clef, varCA.10 Clef styles
Clef, violinA.10 Clef styles
clef, visibility following explicit change Visibility following explicit changes
clef-interfaceVegeu també
clef-interfaceVegeu també
ClefModifierVegeu també
ClefModifierVegeu també
clefsGregorian clefs
clefsKievan clefs
clefs, visibility of transposition Transposed clefs
Clef_engraverVegeu també
Clef_engraverVegeu també
clip-regions3.4 Controlling output
closureclosure
clusterVegeu també
ClusterSpannerVegeu també
ClusterSpannerBeaconVegeu també
Cluster_spanner_engraverVegeu també
clústerClústers
codaMarques d’assaig
codaArticulacions i ornaments
codaInstrument-specific scripts
coda sobre la línia divisòriaIndicacions de text
colorAcoloriment d’objectes
color de veusEstils de veu
color en acordsVegeu també
color rgbAcoloriment d’objectes
coloring objectsPainting objects white
coloring textA.11.7 Other
colorsAcoloriment d’objectes
colors d’x11Acoloriment d’objectes
Colors, list ofNormal colors
columnes, textAlineació de text
col·lisionsResolució de les col·lisions
col·lisions de pentagrama creuatCanvi manual de pentagrama
col·lisions, ignorarExpressions simultànies
col·lisions, ignorarVegeu també
col·lisions, veus de pentagrama creuatCanvi manual de pentagrama
col·lisió del número de compàsVegeu també
Col·locació dels objectesArticulacions i ornaments
Col·locació dels objectesVegeu també
Col·locació dels objectesScripts de text
Col·locació dels objectesVegeu també
col·locació dels silencis multicompàsFragments de codi seleccionats
Combinar notes per formar acordsVegeu també
començament de repeticióMarques de repetició manual
començament del sistemaAgrupament de pentagrames
cometes a la lletraIntroducció de la lletra
cometes en la lletraDiverses síl·labes sobre una nota
comma intervalsReferences for Turkish classical music
Command-line usageVegeu també
Common chord modifiersAcords més usuals
Common chord modifiersVegeu també
Common chord modifiersAcords estesos i alterats
Common chord modifiersVegeu també
Common chord modifiersVegeu també
Common notation for fretted stringsReferències per a cançons
Common notation for non-Western musicNoms de les notes en altes llengües
Common notation for non-Western musicVegeu també
Common Practice PeriodVegeu també
Common Practice PeriodVegeu també
common-shortest-duration4.5.1 Horizontal spacing overview
compas, número de, formatFragments de codi seleccionats
compassos polimètricsNotació polimètrica
compassos, subagruparFragments de codi seleccionats
Completion_heads_engraverVegeu també
Completion_rest_engraverVegeu també
compost, indicacions de compàs Pentagrames amb diferents indicacions de compàs i longituds de compàs diferents
compoundMeterA.19 Available music functions
compressió de músicaEscalat de les duracions
compressMMRestsA.19 Available music functions
comprovació de compàs amb repeticionsRepeticions normals
compàsIndicació de compàs
compàs complet, silencis deSilencis de compas complet
compàs compost, indicació de Pentagrames amb diferents indicacions de compàs i longituds de compàs diferents
compàs de anacrusisAnacrusis
compàs parcialAnacrusis
compàs, agrupacióFragments de codi seleccionats
compàs, barres invisibles deBarres de compàs
compàs, comprovacióComprovació de compàs i de número de compàs
compàs, comprovació deComprovació de compàs i de número de compàs
compàs, definir línies deBarres de compàs
compàs, dobleNotació polimètrica
compàs, estil de la indicació deIndicació de compàs
compàs, indicació de, ajustos predeterminatsIndicació de compàs
compàs, indicació de, en mig de un compàsAnacrusis
compàs, número deGestió del temps
compàs, número, alineacióFragments de codi seleccionats
compàs, número, amb lletresFragments de codi seleccionats
compàs, número, amb repeticionsFragments de codi seleccionats
compàs, número, comprovacióComprovació de compàs i de número de compàs
compàs, números deNumeració de compassos
compàs, propietats, restaurar els valors predeterminatsIndicació de compàs
compàs, repeticions i números deAdvertiments i problemes coneguts
compàs, repetició deRepeticions de compàs o part d’ells
compàs, visibilitat de la indicació deIndicació de compàs
concatenating textA.11.2 Align
concert pitchVegeu també
condensat de silencisAdvertiments i problemes coneguts
congaAncient scripts
constant, reguladors de tipusFragments de codi seleccionats
context definitions with MIDISetting MIDI block properties
Context layout orderVegeu també
Context layout orderVegeu també
context properties, changing defaults5.1.5 Changing context default settings
ContextChangeVegeu també
Contextos i gravadors La construcció de la doble barra invertida
ContextsWithin-system spacing properties
ContextsVegeu també
ContextsVegeu també
ContextsVegeu també
Contexts5.1.4 Modifying context plug-ins
Contexts and engraversVegeu també
Contexts explainedVegeu també
Contexts, creating and referencing5.1.2 Creating and referencing contexts
contexts, defining new5.1.6 Defining new contexts
contexts, implicit5.1.7 Context layout order
contexts, keeping alive5.1.3 Keeping contexts alive
contexts, layout order5.1.7 Context layout order
contexts, lifetime5.1.3 Keeping contexts alive
continua, lligaduraLligadures d’expressió
contrabaix, clau deClau
control points, Bézier curvesModifying ties and slurs
control points, tweakingAdvertiments i problemes coneguts
control, altures deComprovació d’octava
controlling general text alignmentA.11.2 Align
Controlling MIDI dynamicsVegeu també
Controlling MIDI dynamicsVegeu també
controlpitchComprovació d’octava
copyright signUnicode
cor, sistema deAgrupament de pentagrames
coral, clau de tenorClau
cowbellAncient scripts
crash cymbalAncient scripts
creating a table.A.12 Text markup list commands
Creating and referencing contextsCreació d’instàncies de pentagrames nous
Creating and referencing contextsVegeu també
Creating and referencing contextsVegeu també
creating empty text objectsA.11.7 Other
Creating footnotesReferències per a òpera i musicals
Creating footnotesVegeu també
creating horizontal spaces in textA.11.2 Align
Creating MIDI outputVegeu també
creating text fractionsA.11.7 Other
creating vertical spaces in textA.11.2 Align
creating vertical spaces in textA.11.7 Other
crescendoVegeu també
crescendo-eventCites a altres veus
creuament de pentagramesLínies de canvi de pentagrama
creuat, acords de pentagramaPliques de pentagrama creuat
creuat, línia de pentagramaLínies de canvi de pentagrama
creuat, notes de pentagramaPliques de pentagrama creuat
creuat, pentagramaLínies de canvi de pentagrama
creuat, pentagrama, barres deCanvi manual de pentagrama
creuat, pentagrama, notes deCanvi manual de pentagrama
creuat, pliques de pentagramaPliques de pentagrama creuat
crossCaps de nota especials
Cross-staff stemsAdvertiments i problemes coneguts
crossStaffA.19 Available music functions
cue notes, removingFormat de les notes guia
cue-notesVegeu també
cueClefA.19 Available music functions
cueClefUnsetA.19 Available music functions
cueDuringA.19 Available music functions
cueDuringWithClefA.19 Available music functions
CueVoiceVegeu també
CueVoiceVegeu també
cuicaAncient scripts
currentBarNumberNumeració de compassos
currentBarNumberGestió del temps
custodesCustodes
custom fret diagramsFret diagram markups
custom fret diagrams, addingPredefined fret diagrams
custom string tuningsCustom tablatures
Custom tablaturesClau
Custom tablaturesVegeu també
customized fret diagramFret diagram markups
custosVegeu també
CustosVegeu també
custosVegeu també
cymbal, variousAncient scripts
càntics2.1.7 Càntics salms i himnes

D
D.S. al FineMarques d’assaig
dampened notes on fretted instrumentsIndicating harmonics and dampened notes
deadNoteA.19 Available music functions
decorar textNotació gràfica dins d’elements de marcatge
decrescendoVegeu també
defaultAlteracions accidentals automàtiques
defaultAlteracions accidentals automàtiques
default context properties, changing5.1.5 Changing context default settings
Default tablaturesClau
Default tablaturesVegeu també
Default tablaturesAdvertiments i problemes coneguts
Default tablaturesCreació d’instàncies de pentagrames nous
Default tablaturesVegeu també
default-staff-staff-spacingWithin-system spacing properties
defaultBarTypeBarres de compàs
defaults, offsetting5.3.6 The \offset command
Default_bar_line_engraverVegeu també
defineBarLineA.19 Available music functions
Defining new contextsCreació d’instàncies de pentagrames nous
Defining new contextsVegeu també
Defining new contextsAgrupament de pentagrames
Defining new contextsVegeu també
Defining new contextsGrups de pentagrames niuats
Defining new contextsVegeu també
definir línies de compàsBarres de compàs
desplaçamentSilencis invisibles
desplaçament de notesResolució de les col·lisions
desplaçament de silencis, automàticResolució de les col·lisions
desplaçament de veusResolució de les col·lisions
desplaçament, silenci automàtic deResolució de les col·lisions
desplegar repeticióRepeticions explícites
diagram, fret, customizedFret diagram markups
diagrams, chord for fretted instrumentsFret diagram markups
diagrams, fretFret diagram markups
diagrams, fret, transposingPredefined fret diagrams
diamond-shaped note headsHarmonics
dibuixar objectes gràficsNotació gràfica dins d’elements de marcatge
Difficult tweaksVegeu també
digitacions i silencis multicompàsVegeu també
digitacióIndicacions de digitació
digitació de acordsIndicacions de digitació
digitació, instruccions de, per a acordsIndicacions de digitació
dimAcords més usuals
dimensions5.4.4 Dimensions
diminuendoMatisos dinàmics
dinàmicaMatisos dinàmics
dinàmica, diverses indicacions sobre una notaMatisos dinàmics
dinàmica, posició verticalMatisos dinàmics
dinàmiques indicacions editorialsIndicacions dinàmiques contemporànies
dinàmiques, indicacions centrades en música de teclaReferències per a teclats
dinàmiques, indicacions entre parèntesisIndicacions dinàmiques contemporànies
dinàmiques, indicacions, novesIndicacions dinàmiques contemporànies
Direction andLligadures d’unió
Direction and placementDuració de les notes
Direction and placementVegeu també
Direction and placementVegeu també
Direction and placementArticulacions i ornaments
Direction and placementVegeu també
Direction and placementMatisos dinàmics
Direction and placementVegeu també
Direction and placementLligadures d’expressió
Direction and placementVegeu també
Direction and placementLligadures de fraseig
Direction and placementVegeu també
Direction and placementIndicacions de digitació
Direction and placementVegeu també
Direction and placementPliques
Direction and placementVegeu també
Direction and placementScripts de text
Direction and placementVegeu també
Direction and placementVegeu també
Direction and placementRedoblaments
discant, signes de, del acordióSímbols de Discant
discontínua, lligaduraLligadures d’expressió
discontínues, lligaduresLligadures d’unió
discontínues, lligadures de fraseigLligadures de fraseig
Displaying chordsReferències per a cançons
Displaying chordsVegeu també
Displaying music expressions3.6.2 Displaying scheme music expressions
Displaying music expressions5.3.4 The \tweak command
Displaying music expressionsVegeu també
Displaying spacingVegeu també
displayLilyMusicA.19 Available music functions
displayMusicA.19 Available music functions
displaySchemeA.19 Available music functions
disponibles, fer una llista de tipus de lletraTipus de lletra d’un sol element
disseny «mensurstriche»Fragments de codi seleccionats
distance between staves4.4.1 Flexible vertical spacing within systems
distances, absolute5.4.3 Distances and measurements
distances, scaled5.4.3 Distances and measurements
distància entre pentagrames a la música de pianoPliques de pentagrama creuat
diverses lligadures d’expressióLligadures d’expressió
diverses lligadures de fraseigLligadures de fraseig
diverses línies, marcatgeAlineació de text
diverses línies, textAlineació de text
Diverses notes a l'horaVegeu també
diverses veusResolució de les col·lisions
diversos matisos sobre una notaMatisos dinàmics
dividida, lletraLletres en divisi
divisioVegeu també
divisionesDivisiones
DivisionesBarres de compàs
DivisionesMarques de respiració
DivisionesVegeu també
Divisió automàtica de les notesAdvertiments i problemes coneguts
divisió de notesDivisió automàtica de les notes
divisió de silencisDivisió automàtica de les notes
Do, clau deClau
doblades, barresInstruccions predefinides
doble barraBarres de compàs
doble bemollAlteracions accidentals
doble compàsNotació polimètrica
doble puntet, notes ambDuració de les notes
doble sostingutAlteracions accidentals
dodecafònic, estil de alteracionsAlteracions accidentals automàtiques
dodecaphonicAlteracions accidentals automàtiques
dodecaphonic-firstAlteracions accidentals automàtiques
dodecaphonic-no-repeatAlteracions accidentals automàtiques
doitVegeu també
doits (elevacions de to)Caigudes i elevacions
DotColumnVegeu també
DotsVegeu també
double flatVegeu també
double sharpVegeu també
DoublePercentEventVegeu també
DoublePercentRepeatVegeu també
DoublePercentRepeatCounterVegeu també
DoubleRepeatSlashVegeu també
Double_percent_repeat_engraverVegeu també
down bow indicationBowing indications
downbowFermata scripts
downmordentArticulation scripts
downprallArticulation scripts
drawing a line across a pageA.11.3 Graphic
drawing beams within textA.11.3 Graphic
drawing boxes with rounded cornersA.11.3 Graphic
drawing boxes with rounded corners around textA.11.3 Graphic
drawing circles within textA.11.3 Graphic
drawing dashed lines within textA.11.3 Graphic
drawing dotted lines within textA.11.3 Graphic
drawing ellipse around textA.11.3 Graphic
drawing lines within textA.11.3 Graphic
drawing oval around textA.11.3 Graphic
drawing pathsA.11.3 Graphic
drawing solid boxes within textA.11.3 Graphic
drawing squiggled lines within textA.11.3 Graphic
drawing staff symbol5.4.5 Staff symbol properties
drawing triangles within textA.11.3 Graphic
dret, pedalPedals de piano
drums, variousAncient scripts
DrumStaffVegeu també
DrumStaffPautes de percussió
DrumStaffVegeu també
DrumVoicePautes de percussió
DrumVoicePautes de percussió
DrumVoiceVegeu també
duracions de la melodia, mostrarMostrar els ritmes de la melodia
duracions, escalat deEscalat de les duracions
duració de les notesDuració de les notes
duració predeterminadaDuració de les notes
Duration names notes and restsVegeu també
dynamic-eventCites a altres veus
DynamicLineSpannerMatisos dinàmics
DynamicLineSpannerVegeu també
DynamicsVegeu també
Dynamics in MIDI3.5.4 Controlling MIDI dynamics
DynamicTextVegeu també
Dynamic_performerFragments de codi seleccionats
Dynamic_performerVegeu també
Dynamic_performerVegeu també
dòric, modeArmadura de la tonalitat

E
eclesiàstics, silencisFragments de codi seleccionats
editorials, indicacions dinàmiquesIndicacions dinàmiques contemporànies
Effects in MIDI3.5.8 Context properties for MIDI effects
Elaborar cançons senzillesReferències per a música vocal
Elaborar cançons senzillesVegeu també
electric snareAncient scripts
elevacions de to (doits)Caigudes i elevacions
emmarcar textNotació gràfica dins d’elements de marcatge
Emmentaler fontA.8 The Emmentaler font
encapsulated postscript output3.4.3 Alternative output formats
enclosing text in a box with rounded cornersA.11.3 Graphic
enclosing text within a boxA.11.1 Font
endSpannersA.19 Available music functions
Engravers and PerformersVegeu també
Engravers and Performers5.1.4 Modifying context plug-ins
engravers, including in contexts5.1.6 Defining new contexts
Enhancing MIDI outputVegeu també
Enhancing MIDI outputVegeu també
eoli, modeArmadura de la tonalitat
eoni, modeArmadura de la tonalitat
EpisemaVegeu també
EpisemaEventVegeu també
Episema_engraverVegeu també
EPS output3.4.3 Alternative output formats
escalat de les duracionsEscalat de les duracions
escalat de pentagramesPentagrames d’Ossia
escriptura de música en paral·lelEscriptura de música en paral·lel
esdeveniments contenidorsNotes a un acord
espaiat de la lletraCol·locació horitzontal de les síl·labes
espais a la lletraIntroducció de la lletra
espais en la lletraDiverses síl·labes sobre una nota
especial, símbols d’arpegiArpegi
especials, caps de figuraCaps de nota especials
espressiuArticulacions i ornaments
espressivoA.14 List of articulations
espressivo, articulacióMatisos dinàmics
estil accidental dodecafònicAlteracions accidentals automàtiques
estil accidental dodecafònicAlteracions accidentals automàtiques
estil de la lletra de assaigMarques d’assaig
estil de la lligaduraLligadures d’expressió
estil dodecafònic, neo-modernAlteracions accidentals automàtiques
estil dodecafònic, neo-modernAlteracions accidentals automàtiques
estils de cap de notaCaps de nota especials
estils de veuEstils de veu
estils, veuEstils de veu
estàndard, mida del tipus de lletra (de notació) Comprensió de la propietat fontSize
eventChordsA.19 Available music functions
excepcions, noms d’acordFragments de codi seleccionats
Exemple real de músicaResolució de les col·lisions
Exemple real de músicaVegeu també
Exemple real de músicaReferències per a teclats
Exemple real de músicaVegeu també
expansió de músicaEscalat de les duracions
Explicació dels gravadorsVegeu també
explicitClefVisibility Visibility following explicit changes
explicitKeySignatureVisibility Visibility following explicit changes
explícita, refilets de notaRefilets
explícites, repeticionsRepeticions explícites
Expression in MIDI3.5.8 Context properties for MIDI effects
expressions de marcatgeIntroducció al marcatge de text
extensora, líniaLínies d’extensió i guions
extra-offsetWithin-system spacing properties

F
F clefA.10 Clef styles
Fa, clau deClau
fallVegeu també
falls (caigudess de to)Caigudes i elevacions
fantasma, notesParèntesis
farciment al voltant de textNotació gràfica dins d’elements de marcatge
featherDurationsA.19 Available music functions
fer una llista de tipus de lletra disponiblesTipus de lletra d’un sol element
fermataOrnament scripts
Ferneyhough, reguladors deFragments de codi seleccionats
Feta fontA.8 The Emmentaler font
fifthVegeu també
figura, cap de laCaps de nota especials
figured bassVegeu també
FiguredBassVegeu també
FiguredBassVegeu també
FiguredBassVegeu també
File structureText separat
File structureVegeu també
final de repeticióMarques de repetició manual
final, barraBarres de compàs
finalisDivisiones
finals alternatius1.4.1 Repeticions llargues
finals alternatius i lletraRepeticions amb finals alternatius (primera i segona vegada)
fingerA.19 Available music functions
finger-interface5.2.2 Layout interfaces
FingeringVegeu també
FingeringVegeu també
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.2 Layout interfaces
Fingering5.2.2 Layout interfaces
fingering vs. string numbersString number indications
fingering-eventVegeu també
fingering-event5.2.1 Navigating the program reference
fingering-event5.2.1 Navigating the program reference
FingeringEventVegeu també
FingeringEvent5.2.1 Navigating the program reference
fingerings, adding to fret diagramsAutomatic fret diagrams
fingerings, right hand for fretted instrumentsRight-hand fingerings
Fingering_engraverVegeu també
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.3 Determining the grob property
first-page-number\paper variables for page numbering
fixedA.19 Available music functions
flagVegeu també
flagVegeu també
flageoletArticulacions i ornaments
flageoletFermata scripts
flagsMensural flags
flatVegeu també
Flexlexer
floor tom tomAncient scripts
followVoiceLínies de canvi de pentagrama
fonamental d’un acordAcords més usuals
fontglyph
font size, setting4.2.2 Setting the staff size
Font, EmmentalerA.8 The Emmentaler font
Font, FetaA.8 The Emmentaler font
Font, ParmesanA.8 The Emmentaler font
font-interfaceVegeu també
font-interface5.2.2 Layout interfaces
font-interfaceA.11.7 Other
font-sizeSelecció del la mida del tipus de lletra per a la notació
font-size Comprensió de la propietat fontSize
fontSizeSelecció del la mida del tipus de lletra per a la notació
footers3.2 Titles and headers
footnoteA.19 Available music functions
FootnoteEventVegeu també
FootnoteItemVegeu també
footnotes3.2.4 Creating footnotes
footnotes in music expressionsFootnotes in music expressions
footnotes in stand-alone textFootnotes in stand-alone text
footnotes, event-based Event-based footnotes
footnotes, time-based Time-based footnotes
FootnoteSpannerVegeu també
Footnote_engraverVegeu també
Forbid_line_break_engraverVegeu també
forgetAlteracions accidentals automàtiques
format de la lletraIntroducció de la lletra
format de la lletra d’assaigMarques d’assaig
format dels elements d’extensió de textExtensions de text
Formatting textA.18 Layout properties
Formatting textA.18 Layout properties
formes, notes conCaps de notes amb formes diverses
forte, pedalPedals de piano
four bar music.4.3.1 Line breaking
four-string-banjoBanjo tablatures
fragmentsFormat de les notes guia
fragments, citarCites a altres veus
Fragments, music3.4 Controlling output
francesa, clauClau
francesa, partitures a laOcultament de pentagrames
francesa, pentagrama a laOcultament de pentagrames
francesa, pentagrames a laPentagrames d’Ossia
fraseig, a la lletraDiverses notes sobre una síl·laba
fraseig, claus deClaus d’anàlisi
fraseig, lligadura deLligadures d’expressió
fraseig, lligadura de, definir patrons de discontinuïtatLligadures de fraseig
fraseig, lligadura de, meitat contínua i meitat discontínuaLligadures de fraseig
fraseig, lligadures deLligadures de fraseig
fraseig, lligadures de, discontínuesLligadures de fraseig
fraseig, lligadures de, diversesLligadures de fraseig
fraseig, lligadures de, puntejadesLligadures de fraseig
fraseig, lligadures de, simultàniesLligadures de fraseig
fraseig, marques deLligadures de fraseig
French clefA.10 Clef styles
Frenched scoreVegeu també
Frenched staffVegeu també
Frenched staffVegeu també
Frenched stavesVegeu també
fretDefault tablatures
fret diagram, customizedFret diagram markups
fret diagramsFret diagram markups
fret diagramsPredefined fret diagrams
fret diagrams with chord namesPredefined fret diagrams
fret diagrams, adding customPredefined fret diagrams
fret diagrams, adding fingeringsAutomatic fret diagrams
fret diagrams, automaticAutomatic fret diagrams
fret diagrams, customFret diagram markups
fret diagrams, mandolinPredefined fret diagrams
fret diagrams, transposingPredefined fret diagrams
fret diagrams, ukulelePredefined fret diagrams
fret-diagram markupFret diagram markups
fret-diagram-interfaceFret diagram markups
fret-diagram-interfaceVegeu també
fret-diagram-interfacePredefined fret diagrams
fret-diagram-interfaceVegeu també
fret-diagram-interfaceAutomatic fret diagrams
fret-diagram-interfaceVegeu també
fret-diagram-terse markupFret diagram markups
fret-diagram-verbose markupFret diagram markups
FretBoardsPredefined fret diagrams
fretted instruments, chord shapesPredefined fret diagrams
fretted instruments, dampened notesIndicating harmonics and dampened notes
fretted instruments, harmonicsIndicating harmonics and dampened notes
fretted instruments, indicating position and barringIndicating position and barring
fretted instruments, predefined string tuningsCustom tablatures
fretted instruments, right hand fingeringsRight-hand fingerings
frigi, modeArmadura de la tonalitat
Funk, caps de nota amb formaCaps de notes amb formes diverses
fàcil, notació, caps de nota deCaps de notes de Notació Fàcil

G
glifs musicalsMarques d’assaig
glissandi i repeticionsAdvertiments i problemes coneguts
GlissandoVegeu també
glissandoVegeu també
GlissandoVegeu també
global variableparser variable
globusGlobus d’ajuda
globus de ajudaGlobus d’ajuda
glyphglyph
graceA.19 Available music functions
grace notesVegeu també
GraceMusicVegeu també
Grace_auto_beam_engraverVegeu també
Grace_beam_engraverVegeu també
Grace_engraverVegeu també
Grace_spacing_engraverVegeu també
grammar for LilyPondparser
grand staffVegeu també
GrandStaffVegeu també
GrandStaffVegeu també
graphical object interfacesinterface
Graphical Object InterfacesVegeu també
graphical objectsgrob
gravació de textIntroducció al marcatge de text
Gregorian chant contextsVegeu també
Gregorian clefsClau
Gregorian clefsVegeu també
Gregorian square neumes ligaturesGregorian square neume ligatures
GregorianTranscriptionStaffVegeu també
gregorià, cant, pauta de transcripció deCreació d’instàncies de pentagrames nous
grid-line-interfaceVegeu també
grid-point-interfaceVegeu també
gridIntervalLínies de reixeta
GridLineVegeu també
GridPointVegeu també
Grid_line_span_engraverVegeu també
Grid_point_engraverVegeu també
grob5.2.2 Layout interfaces
grobgrob
grob properties5.3.3 The \override command
grob-interface5.2.2 Layout interfaces
grob-interface5.2.2 Layout interfaces
grob-interfaceVegeu també
grob-interfaceVegeu també
grobdescriptionsA.19 Available music functions
grobs, overwritingPainting objects white
grobs, visibility of5.4.7 Visibility of objects
grow-directionBarres progressives
grupetArticulacions i ornaments
grups de valoració especial, col·locació de la clauGrups especials
grups de valoració especial, modificació del nombreFragments de codi seleccionats
grups especialsGrups especials
grups especials, format deFragments de codi seleccionats
gràfica, notacióNotació gràfica dins d’elements de marcatge
gràfics, dibuixar objectesNotació gràfica dins d’elements de marcatge
gràfics, inserirNotació gràfica dins d’elements de marcatge
gràfics, inserirNotació gràfica dins d’elements de marcatge
gràfics, inserir objectesNotació gràfica dins d’elements de marcatge
guia, format de les notesFormat de les notes guia
guia, notesFormat de les notes guia
guia, notes, format deFormat de les notes guia
guia, veusCites a altres veus
guies musicalsGuies musicals
guionesLínies d’extensió i guions
guionsArticulacions i ornaments
guiroAncient scripts
guitar tablature2.4 Fretted string instruments
guitarra, caps de notaCaps de nota especials
guitarra, mostrar ritmes d’acompanyamentMostrar els ritmes de la melodia
guitarra, taules d’acordsMostrar els ritmes de la melodia
gutter\paper variables for two-sided mode

H
hairpinVegeu també
HairpinVegeu també
HairpinProperties which may be offset
HairpinProperties which may be offset
HairpinProperties which may be offset
hairpins, angledRotating layout objects
Hal LeonardCaps de notes de Notació Fàcil
half-open high hatAncient scripts
halfopenFermata scripts
hammer onFragments de codi seleccionats
handclapAncient scripts
Harmonia Sacra, caps de nota amb formaCaps de notes amb formes diverses
harmonic indications in tablature notationDefault tablatures
harmonicByFretA.19 Available music functions
harmonicByRatioA.19 Available music functions
harmonicNoteA.19 Available music functions
HarmonicsReferències per a notació d’arpa
harmonicsVegeu també
HarmonicsVegeu també
harmonics on fretted instrumentsIndicating harmonics and dampened notes
harmonics, artificialHarmonics
harmonics, naturalHarmonics
harmonicsOnA.19 Available music functions
harmònics, caps de notaCaps de nota especials
harpsReferències per a notació d’arpa
headers3.2 Titles and headers
hideA.19 Available music functions
high bongoAncient scripts
high congaAncient scripts
high hatAncient scripts
high timbaleAncient scripts
high tom tomAncient scripts
himnes2.1.5 Música coral
himnes2.1.7 Càntics salms i himnes
horitzontal, alineació de textAlineació de text
horitzontal, clauClaus d’anàlisi
horizontal spacing4.5 Horizontal spacing
horizontal spacing, overriding5.5.6 Unpure-pure containers
horizontal-bracket-interfaceVegeu també
horizontal-bracket-text-interfaceVegeu també
horizontal-shift\paper variables for shifts and indents
HorizontalBracketVegeu també
HorizontalBracketTextVegeu també
horizontally centering textA.11.2 Align
Horizontal_bracket_engraverVegeu també
How LilyPond input files workVegeu també
How LilyPond input files workVegeu també
hufnagel2.9 Ancient notation
hufnagel2.9.1 Overview of the supported styles
hugeSelecció del la mida del tipus de lletra per a la notació

I
ictusRepeat sign scripts
imatges, inserirNotació gràfica dins d’elements de marcatge
immutable objectsimmutable
immutable propertiesimmutable
implicit contexts5.1.7 Context layout order
importing stencils into textA.11.7 Other
impressió de caràcters especialsIntroducció al marcatge de text
impressió dels noms d’acordImpressió dels noms d’acord
improvisacióImprovisació
incipitA.19 Available music functions
incipits, addingIncipits
include-settingsUsing global settings
including files3.3.1 Including LilyPond files
indentNoms d’instruments
indent\paper variables for shifts and indents
indent4.5.4 Line width
independent, textText separat
indicacions de pedalArticulacions i ornaments
indicacions de pedaler d’orgueArticulacions i ornaments
indicacions de textIndicacions de text
indicacions dinàmiques novesIndicacions dinàmiques contemporànies
Indicació de compàsIndicació de compàs
indicació de polzeArticulacions i ornaments
indicar No Chord (sense acord) a ChordNamesImpressió dels noms d’acord
Indicating harmonics and dampened notesVegeu també
indicating position and barring for fretted instrumentsIndicating position and barring
inherit-acceptabilityA.19 Available music functions
inlining an Encapsulated PostScript imageA.11.3 Graphic
inner-margin\paper variables for two-sided mode
Input modesPanoràmica del mode d’acords
Input modesVegeu també
Input modesIntroduir el baix xifrat
inscripció sobre un silenci multicompàsSilencis de compas complet
inserir gràficsNotació gràfica dins d’elements de marcatge
inserir objectes gràficsNotació gràfica dins d’elements de marcatge
inserting music into textA.11.4 Music
inserting PostScript directly into textA.11.3 Graphic
inserting URL links into textA.11.3 Graphic
inStaffSegnoA.19 Available music functions
instrument names3.5.9 Enhancing MIDI output
instrument, nom abreujatNoms d’instruments
instrument, nom delNoms d’instruments
instrument-specific-markup-interfaceVegeu també
instrument-specific-markup-interfaceA.11.7 Other
InstrumentNameVegeu també
instruments transpositorsTransposició
instruments, noms complexos deNoms d’instruments
instrumentSwitchA.19 Available music functions
interfaceinterface
interface, layout5.2.2 Layout interfaces
Interfaces for programmersVegeu també
Internals Reference5. Changing defaults
intervalVegeu també
introduir la lletraIntroducció de la lletra
inversionA.19 Available music functions
inversióInversió
inversió modal Inversió modal
invisible, plicaPliques
invisible, silenciSilencis invisibles
invisibles, notesNotes ocultes
iraqVegeu també
item-interface5.2.2 Layout interfaces

J
jazz, acords dePanoràmica del mode d’acords
jazz, acords deNoms d’acord personalitzats
justificat, textAlineació de text
justifying lines of textA.12 Text markup list commands
justifying textA.11.2 Align

K
keep tagged musicUsing tags
Keeping contexts aliveDuració automàtica de les síl·labes
Keeping contexts aliveVegeu també
Keeping contexts aliveVegeu també
Keeping contexts aliveVegeu també
Keeping contexts aliveCanvi manual de pentagrama
Keeping contexts aliveVegeu també
keepWithTagA.19 Available music functions
keyA.19 Available music functions
key signatureVegeu també
key signatureVegeu també
key signatureGregorian accidentals and key signatures
key signature, visibility following explicit change Visibility following explicit changes
key-signature-interfaceVegeu també
Keyboard and other multi-staff instrumentsReferències per a cançons
Keyboard and other multi-staff instrumentsVegeu també
KeyCancellationVegeu també
KeyChangeEventVegeu també
KeySignatureVegeu també
KeySignatureVegeu també
KeySignatureVegeu també
KeySignatureVegeu també
Key_engraverVegeu també
Key_performerVegeu també
Kievan clefMensural clefs
Kievan clefA.10 Clef styles
kievan notationVegeu també
kievan notationVegeu també
kievan notationVegeu també
kievan notationVegeu també
KievanStaffKievan contexts
KievanVoiceKievan contexts
killCuesA.19 Available music functions
kirchenpausenFragments de codi seleccionats
kurdVegeu també

L
labelA.19 Available music functions
laissez vibrerVegeu també
LaissezVibrerTieVegeu també
LaissezVibrerTieColumnVegeu també
languageA.19 Available music functions
languageRestoreA.19 Available music functions
languageSaveAndChangeA.19 Available music functions
largeSelecció del la mida del tipus de lletra per a la notació
last-bottom-spacingList of flexible vertical spacing \paper variables
layersPainting objects white
layout file4.2.2 Setting the staff size
layout interface5.2.2 Layout interfaces
layout objectsgrob
layout-set-staff-size4.2.2 Setting the staff size
ledger lineVegeu també
ledger-line-spanner-interfaceVegeu també
LedgerLineSpannerVegeu també
Ledger_line_engraverVegeu també
left aligning textA.11.2 Align
left-margin\paper variables for widths and margins
Length and thickness of objects5.4.3 Distances and measurements
Length and thickness of objectsVegeu també
Les veus contenen músicaVegeu també
Les veus contenen músicaVegeu també
lexerlexer
lheelFermata scripts
lidi, modeArmadura de la tonalitat
ligatureVegeu també
ligatureVegeu també
ligatureVegeu també
ligatureVegeu també
ligatureVegeu també
ligatureVegeu també
LigaturesLigatures
LigaturesKievan melismata
ligatures in textA.11.2 Align
LilyPond grammarparser
lineVegeu també
Line breakingBarres de compàs
Line breakingVegeu també
Line stylesGlissando
Line stylesVegeu també
Line stylesExtensions de text
Line stylesVegeu també
line-spanner-interfaceVegeu també
line-width\paper variables for widths and margins
line-width4.5.4 Line width
LineBreakEventVegeu també
lineprallArticulation scripts
List of articulationsArticulacions i ornaments
List of articulationsVegeu també
List of articulationsReferències per a teclats
List of articulationsVegeu també
List of colorsAcoloriment d’objectes
List of colorsVegeu també
Literature listNoms d’acord personalitzats
Literature listVegeu també
llengua, altures en altresNoms de les notes en altes llengües
llengua, noms de nota en altresNoms de les notes en altes llengües
lletraIntroducció de la lletra
lletra a sobre de notes d’adornAplicació de síl·labes a notes d’adorn
lletra assignada a una veuPolifonia en un sol pentagrama
lletra d’assaig, estilMarques d’assaig
lletra d’assaig, formatMarques d’assaig
lletra divididaLletres en divisi
lletra i barresEstablir el comportament de les barres automàtiques
lletra i melodiesDuració automàtica de les síl·labes
lletra i notes lligadesRepeticions amb finals alternatius (primera i segona vegada)
lletra, alineació a una melodiaAlineació de la lletra a una melodia
lletra, augmentar la separacióCol·locació horitzontal de les síl·labes
lletra, compartida entre veusPolifonia amb lletres compartides
lletra, desplaçament deSilencis invisibles
lletra, donar formatIntroducció de la lletra
lletra, introduirIntroducció de la lletra
lletra, mantenir dins del margeVegeu també
lletra, posicionamentPosicionament vertical de la lletra
lletra, puntuació en laIntroducció de la lletra
lletra, repeticionsLletra i repeticions
lletra, repeticions amb finals alternatiusRepeticions amb finals alternatius (primera i segona vegada)
lletra, repeticions amb primera i segona vegadaRepeticions amb finals alternatius (primera i segona vegada)
lletra, saltar notesRepeticions amb finals alternatius (primera i segona vegada)
lletres d’assaigMarques d’assaig
lligadura contínuaLligadures d’expressió
lligadura d’expressió, definició de patrons de discontinuïtatLligadures d’expressió
lligadura d’expressió, estilLligadures d’expressió
lligadura d’expressió, meitat contínua i meitat discontínuaLligadures d’expressió
lligadura d’unióLligadures d’unió
lligadura de fraseigLligadures d’expressió
lligadura de fraseig meitat contínua i meitat discontínuaLligadures de fraseig
lligadura de fraseig, definir patrons de discontinuïtatLligadures de fraseig
lligadura de puntsLligadures d’expressió
lligadura discontínuaLligadures d’expressió
lligadura, alteracions iAlteracions accidentals
lligadures d’expressióLligadures d’expressió
lligadures d’expressió i repeticionsAdvertiments i problemes coneguts
lligadures d’expressió, a sobre de les notesLligadures d’expressió
lligadures d’expressió, a sota de les notesLligadures d’expressió
lligadures d’expressió, diversesLligadures d’expressió
lligadures d’expressió, posicionament manualLligadures d’expressió
lligadures d’expressió, simultàniesLligadures d’expressió
lligadures d’unió i claus de primera i segona vegadaLligadures d’unió
lligadures d’unió, repeticions iLligadures d’unió
lligadures de fraseigLligadures de fraseig
lligadures de fraseig discontínuesLligadures de fraseig
lligadures de fraseig puntejadesLligadures de fraseig
lligadures de fraseig simultàniesLligadures de fraseig
lligadures de fraseig, diversesLligadures de fraseig
lligadures de puntsLligadures d’unió
lligadures discontínuesLligadures d’unió
lligadures en la lletraDiverses síl·labes sobre una nota
lligadures i acordsLligadures d’unió
lligadures laissez vibrerLligadures d’unió
lligadures, a primera i segona vegadaRepeticions normals
lligadures, a repeticionsRepeticions normals
lligadures, aparençaLligadures d’unió
lligadures, col·locacióLligadures d’unió
locri, modeArmadura de la tonalitat
longaVegeu també
longaVegeu també
longa, silenci deSilencis
longfermataOrnament scripts
longitud de las notesDuració de les notes
Longitud i gruix dels objectesVegeu també
low bongoAncient scripts
low congaAncient scripts
low timbaleAncient scripts
low tom tomAncient scripts
lowering textA.11.2 Align
ltoeFermata scripts
lute tablaturesLute tablatures
lute tuningsLute tablatures
ly:add-context-modA.22 Scheme functions
ly:add-file-name-alistA.22 Scheme functions
ly:add-interfaceA.22 Scheme functions
ly:add-listenerA.22 Scheme functions
ly:add-optionA.22 Scheme functions
ly:all-grob-interfacesA.22 Scheme functions
ly:all-optionsA.22 Scheme functions
ly:all-stencil-expressionsA.22 Scheme functions
ly:angleA.22 Scheme functions
ly:assoc-getA.22 Scheme functions
ly:axis-group-interface::add-elementA.22 Scheme functions
ly:basic-progressA.22 Scheme functions
ly:beam-score-countA.22 Scheme functions
ly:book-add-bookpart!A.22 Scheme functions
ly:book-add-score!A.22 Scheme functions
ly:book-book-partsA.22 Scheme functions
ly:book-headerA.22 Scheme functions
ly:book-paperA.22 Scheme functions
ly:book-processA.22 Scheme functions
ly:book-process-to-systemsA.22 Scheme functions
ly:book-scoresA.22 Scheme functions
ly:book-set-header!A.22 Scheme functions
ly:book?A.22 Scheme functions
ly:box?A.22 Scheme functions
ly:bpA.22 Scheme functions
ly:bracketA.22 Scheme functions
ly:broadcastA.22 Scheme functions
ly:camel-case->lisp-identifierA.22 Scheme functions
ly:chain-assoc-getA.22 Scheme functions
ly:check-expected-warningsA.22 Scheme functions
ly:cmA.22 Scheme functions
ly:command-line-codeA.22 Scheme functions
ly:command-line-optionsA.22 Scheme functions
ly:connect-dispatchersA.22 Scheme functions
ly:context-current-momentA.22 Scheme functions
ly:context-def-lookupA.22 Scheme functions
ly:context-def-modifyA.22 Scheme functions
ly:context-def?A.22 Scheme functions
ly:context-event-sourceA.22 Scheme functions
ly:context-events-belowA.22 Scheme functions
ly:context-findA.22 Scheme functions
ly:context-grob-definitionA.22 Scheme functions
ly:context-idA.22 Scheme functions
ly:context-matched-pop-propertyA.22 Scheme functions
ly:context-mod-apply!A.22 Scheme functions
ly:context-mod?A.22 Scheme functions
ly:context-nameA.22 Scheme functions
ly:context-nowA.22 Scheme functions
ly:context-parentA.22 Scheme functions
ly:context-propertyA.22 Scheme functions
ly:context-property-where-definedA.22 Scheme functions
ly:context-pushpop-propertyA.22 Scheme functions
ly:context-set-property!A.22 Scheme functions
ly:context-unset-propertyA.22 Scheme functions
ly:context?A.22 Scheme functions
ly:debugA.22 Scheme functions
ly:default-scaleA.22 Scheme functions
ly:dimension?A.22 Scheme functions
ly:dir?A.22 Scheme functions
ly:directedA.22 Scheme functions
ly:disconnect-dispatchersA.22 Scheme functions
ly:dispatcher?A.22 Scheme functions
ly:duration->stringA.22 Scheme functions
ly:duration-dot-countA.22 Scheme functions
ly:duration-factorA.22 Scheme functions
ly:duration-lengthA.22 Scheme functions
ly:duration-logA.22 Scheme functions
ly:duration-scaleA.22 Scheme functions
ly:duration<?A.22 Scheme functions
ly:duration?A.22 Scheme functions
ly:effective-prefixA.22 Scheme functions
ly:encode-string-for-pdfA.22 Scheme functions
ly:engraver-announce-end-grobA.22 Scheme functions
ly:engraver-make-grobA.22 Scheme functions
ly:errorA.22 Scheme functions
ly:event-deep-copyA.22 Scheme functions
ly:event-propertyA.22 Scheme functions
ly:event-set-property!A.22 Scheme functions
ly:event?A.22 Scheme functions
ly:expand-environmentA.22 Scheme functions
ly:expect-warningA.22 Scheme functions
ly:find-fileA.22 Scheme functions
ly:font-config-add-directoryA.22 Scheme functions
ly:font-config-add-fontA.22 Scheme functions
ly:font-config-display-fontsA.22 Scheme functions
ly:font-config-get-font-fileA.22 Scheme functions
ly:font-design-sizeA.22 Scheme functions
ly:font-file-nameA.22 Scheme functions
ly:font-get-glyphA.22 Scheme functions
ly:font-glyph-name-to-charcodeA.22 Scheme functions
ly:font-glyph-name-to-indexA.22 Scheme functions
ly:font-index-to-charcodeA.22 Scheme functions
ly:font-magnificationA.22 Scheme functions
ly:font-metric?A.22 Scheme functions
ly:font-nameA.22 Scheme functions
ly:font-sub-fontsA.22 Scheme functions
ly:formatA.22 Scheme functions
ly:format-outputA.22 Scheme functions
ly:generic-bound-extentA.22 Scheme functions
ly:get-all-function-documentationA.22 Scheme functions
ly:get-all-translatorsA.22 Scheme functions
ly:get-cff-offsetA.22 Scheme functions
ly:get-context-modsA.22 Scheme functions
ly:get-font-formatA.22 Scheme functions
ly:get-optionA.22 Scheme functions
ly:get-spacing-specA.22 Scheme functions
ly:get-undeadA.22 Scheme functions
ly:gettextA.22 Scheme functions
ly:grob-alist-chainA.22 Scheme functions
ly:grob-array->listA.22 Scheme functions
ly:grob-array-lengthA.22 Scheme functions
ly:grob-array-refA.22 Scheme functions
ly:grob-array?A.22 Scheme functions
ly:grob-basic-propertiesA.22 Scheme functions
ly:grob-chain-callbackA.22 Scheme functions
ly:grob-common-refpointA.22 Scheme functions
ly:grob-common-refpoint-of-arrayA.22 Scheme functions
ly:grob-default-fontA.22 Scheme functions
ly:grob-extentA.22 Scheme functions
ly:grob-get-vertical-axis-group-indexA.22 Scheme functions
ly:grob-interfacesA.22 Scheme functions
ly:grob-layoutA.22 Scheme functions
ly:grob-objectA.22 Scheme functions
ly:grob-originalA.22 Scheme functions
ly:grob-parentA.22 Scheme functions
ly:grob-pq<?A.22 Scheme functions
ly:grob-propertiesA.22 Scheme functions
ly:grob-properties?A.22 Scheme functions
ly:grob-propertyA.22 Scheme functions
ly:grob-property-dataA.22 Scheme functions
ly:grob-pure-heightA.22 Scheme functions
ly:grob-pure-propertyA.22 Scheme functions
ly:grob-relative-coordinateA.22 Scheme functions
ly:grob-robust-relative-extentA.22 Scheme functions
ly:grob-script-priority-lessA.22 Scheme functions
ly:grob-set-nested-property!A.22 Scheme functions
ly:grob-set-object!A.22 Scheme functions
ly:grob-set-parent!A.22 Scheme functions
ly:grob-set-property!A.22 Scheme functions
ly:grob-spanned-rank-intervalA.22 Scheme functions
ly:grob-staff-positionA.22 Scheme functions
ly:grob-suicide!A.22 Scheme functions
ly:grob-systemA.22 Scheme functions
ly:grob-translate-axis!A.22 Scheme functions
ly:grob-vertical<?A.22 Scheme functions
ly:grob?A.22 Scheme functions
ly:gulp-fileA.22 Scheme functions
ly:has-glyph-names?A.22 Scheme functions
ly:hash-table-keysA.22 Scheme functions
ly:inchA.22 Scheme functions
ly:input-both-locationsA.22 Scheme functions
ly:input-file-line-char-columnA.22 Scheme functions
ly:input-location?A.22 Scheme functions
ly:input-messageA.22 Scheme functions
ly:input-warningA.22 Scheme functions
ly:interpret-music-expressionA.22 Scheme functions
ly:interpret-stencil-expressionA.22 Scheme functions
ly:intlog2A.22 Scheme functions
ly:item-break-dirA.22 Scheme functions
ly:item-get-columnA.22 Scheme functions
ly:item?A.22 Scheme functions
ly:iterator?A.22 Scheme functions
ly:lengthA.22 Scheme functions
ly:lexer-keywordsA.22 Scheme functions
ly:lily-lexer?A.22 Scheme functions
ly:lily-parser?A.22 Scheme functions
ly:line-interface::lineA.22 Scheme functions
ly:listened-event-class?A.22 Scheme functions
ly:listened-event-typesA.22 Scheme functions
ly:listener?A.22 Scheme functions
ly:make-bookA.22 Scheme functions
ly:make-book-partA.22 Scheme functions
ly:make-context-modA.22 Scheme functions
ly:make-dispatcherA.22 Scheme functions
ly:make-durationA.22 Scheme functions
ly:make-global-contextA.22 Scheme functions
ly:make-global-translatorA.22 Scheme functions
ly:make-grob-propertiesA.22 Scheme functions
ly:make-momentA.22 Scheme functions
ly:make-musicA.22 Scheme functions
ly:make-music-functionA.22 Scheme functions
ly:make-music-relative!A.22 Scheme functions
ly:make-output-defA.22 Scheme functions
ly:make-page-label-markerA.22 Scheme functions
ly:make-page-permission-markerA.22 Scheme functions
ly:make-pango-description-stringA.22 Scheme functions
ly:make-paper-outputterA.22 Scheme functions
ly:make-pitchA.22 Scheme functions
ly:make-probA.22 Scheme functions
ly:make-scaleA.22 Scheme functions
ly:make-scoreA.22 Scheme functions
ly:make-springA.22 Scheme functions
ly:make-stencilA.22 Scheme functions
ly:make-stream-eventA.22 Scheme functions
ly:make-undeadA.22 Scheme functions
ly:make-unpure-pure-containerA.22 Scheme functions
ly:messageA.22 Scheme functions
ly:minimal-breakingMinimal page breaking
ly:minimal-breakingA.22 Scheme functions
ly:mmA.22 Scheme functions
ly:module->alistA.22 Scheme functions
ly:module-copyA.22 Scheme functions
ly:modules-lookupA.22 Scheme functions
ly:moment-addA.22 Scheme functions
ly:moment-divA.22 Scheme functions
ly:moment-graceA.22 Scheme functions
ly:moment-grace-denominatorA.22 Scheme functions
ly:moment-grace-numeratorA.22 Scheme functions
ly:moment-mainA.22 Scheme functions
ly:moment-main-denominatorA.22 Scheme functions
ly:moment-main-numeratorA.22 Scheme functions
ly:moment-modA.22 Scheme functions
ly:moment-mulA.22 Scheme functions
ly:moment-subA.22 Scheme functions
ly:moment<?A.22 Scheme functions
ly:moment?A.22 Scheme functions
ly:music-compressA.22 Scheme functions
ly:music-deep-copyA.22 Scheme functions
ly:music-duration-compressA.22 Scheme functions
ly:music-duration-lengthA.22 Scheme functions
ly:music-function-extractA.22 Scheme functions
ly:music-function-signatureA.22 Scheme functions
ly:music-function?A.22 Scheme functions
ly:music-lengthA.22 Scheme functions
ly:music-list?A.22 Scheme functions
ly:music-mutable-propertiesA.22 Scheme functions
ly:music-output?A.22 Scheme functions
ly:music-propertyA.22 Scheme functions
ly:music-set-property!A.22 Scheme functions
ly:music-transposeA.22 Scheme functions
ly:music?A.22 Scheme functions
ly:note-column-accidentalsA.22 Scheme functions
ly:note-column-dot-columnA.22 Scheme functions
ly:note-head::stem-attachmentA.22 Scheme functions
ly:number->stringA.22 Scheme functions
ly:one-line-auto-height-breakingOne-line-auto-height page breaking
ly:one-line-auto-height-breakingA.22 Scheme functions
ly:one-line-breakingOne-line page breaking
ly:one-line-breakingA.22 Scheme functions
ly:one-page-breakingOne-page page breaking
ly:one-page-breakingA.22 Scheme functions
ly:optimal-breakingOptimal page breaking
ly:optimal-breakingA.22 Scheme functions
ly:option-usageA.22 Scheme functions
ly:otf->cffA.22 Scheme functions
ly:otf-font-glyph-infoA.22 Scheme functions
ly:otf-font-table-dataA.22 Scheme functions
ly:otf-font?A.22 Scheme functions
ly:otf-glyph-countA.22 Scheme functions
ly:otf-glyph-listA.22 Scheme functions
ly:output-def-cloneA.22 Scheme functions
ly:output-def-lookupA.22 Scheme functions
ly:output-def-parentA.22 Scheme functions
ly:output-def-scopeA.22 Scheme functions
ly:output-def-set-variable!A.22 Scheme functions
ly:output-def?A.22 Scheme functions
ly:output-descriptionA.22 Scheme functions
ly:output-find-context-defA.22 Scheme functions
ly:output-formatsA.22 Scheme functions
ly:outputter-closeA.22 Scheme functions
ly:outputter-dump-stencilA.22 Scheme functions
ly:outputter-dump-stringA.22 Scheme functions
ly:outputter-moduleA.22 Scheme functions
ly:outputter-output-schemeA.22 Scheme functions
ly:outputter-portA.22 Scheme functions
ly:page-marker?A.22 Scheme functions
ly:page-turn-breakingOptimal page turning
ly:page-turn-breakingA.22 Scheme functions
ly:pango-font-physical-fontsA.22 Scheme functions
ly:pango-font?A.22 Scheme functions
ly:paper-book-headerA.22 Scheme functions
ly:paper-book-pagesA.22 Scheme functions
ly:paper-book-paperA.22 Scheme functions
ly:paper-book-performancesA.22 Scheme functions
ly:paper-book-scopesA.22 Scheme functions
ly:paper-book-systemsA.22 Scheme functions
ly:paper-book?A.22 Scheme functions
ly:paper-column::break-align-widthA.22 Scheme functions
ly:paper-column::printA.22 Scheme functions
ly:paper-fontsA.22 Scheme functions
ly:paper-get-fontA.22 Scheme functions
ly:paper-get-numberA.22 Scheme functions
ly:paper-outputscaleA.22 Scheme functions
ly:paper-score-paper-systemsA.22 Scheme functions
ly:paper-system-minimum-distanceA.22 Scheme functions
ly:paper-system?A.22 Scheme functions
ly:parse-fileA.22 Scheme functions
ly:parse-string-expressionA.22 Scheme functions
ly:parsed-undead-list!A.22 Scheme functions
ly:parser-clear-errorA.22 Scheme functions
ly:parser-cloneA.22 Scheme functions
ly:parser-define!A.22 Scheme functions
ly:parser-errorA.22 Scheme functions
ly:parser-has-error?A.22 Scheme functions
ly:parser-include-stringA.22 Scheme functions
ly:parser-lexerA.22 Scheme functions
ly:parser-lookupA.22 Scheme functions
ly:parser-output-nameA.22 Scheme functions
ly:parser-parse-stringA.22 Scheme functions
ly:parser-set-note-namesA.22 Scheme functions
ly:performance-headerA.22 Scheme functions
ly:performance-set-header!A.22 Scheme functions
ly:performance-writeA.22 Scheme functions
ly:pitch-alterationA.22 Scheme functions
ly:pitch-diffA.22 Scheme functions
ly:pitch-negateA.22 Scheme functions
ly:pitch-notenameA.22 Scheme functions
ly:pitch-octaveA.22 Scheme functions
ly:pitch-quartertonesA.22 Scheme functions
ly:pitch-semitonesA.22 Scheme functions
ly:pitch-stepsA.22 Scheme functions
ly:pitch-tonesA.22 Scheme functions
ly:pitch-transposeA.22 Scheme functions
ly:pitch<?A.22 Scheme functions
ly:pitch?A.22 Scheme functions
ly:pointer-group-interface::add-grobA.22 Scheme functions
ly:position-on-line?A.22 Scheme functions
ly:prob-immutable-propertiesA.22 Scheme functions
ly:prob-mutable-propertiesA.22 Scheme functions
ly:prob-propertyA.22 Scheme functions
ly:prob-property?A.22 Scheme functions
ly:prob-set-property!A.22 Scheme functions
ly:prob-type?A.22 Scheme functions
ly:prob?A.22 Scheme functions
ly:programming-errorA.22 Scheme functions
ly:progressA.22 Scheme functions
ly:property-lookup-statsA.22 Scheme functions
ly:protectsA.22 Scheme functions
ly:ptA.22 Scheme functions
ly:pure-callA.22 Scheme functions
ly:register-stencil-expressionA.22 Scheme functions
ly:register-translatorA.22 Scheme functions
ly:relative-group-extentA.22 Scheme functions
ly:reset-all-fontsA.22 Scheme functions
ly:round-filled-boxA.22 Scheme functions
ly:round-filled-polygonA.22 Scheme functions
ly:run-translatorA.22 Scheme functions
ly:score-add-output-def!A.22 Scheme functions
ly:score-embedded-formatA.22 Scheme functions
ly:score-error?A.22 Scheme functions
ly:score-headerA.22 Scheme functions
ly:score-musicA.22 Scheme functions
ly:score-output-defsA.22 Scheme functions
ly:score-set-header!A.22 Scheme functions
ly:score?A.22 Scheme functions
ly:separation-item::printA.22 Scheme functions
ly:set-default-scaleA.22 Scheme functions
ly:set-grob-modification-callbackA.22 Scheme functions
ly:set-middle-C!A.22 Scheme functions
ly:set-optionA.22 Scheme functions
ly:set-origin!A.22 Scheme functions
ly:set-property-cache-callbackA.22 Scheme functions
ly:skyline-empty?A.22 Scheme functions
ly:skyline-pair?A.22 Scheme functions
ly:skyline?A.22 Scheme functions
ly:slur-score-countA.22 Scheme functions
ly:smob-protectsA.22 Scheme functions
ly:solve-spring-rod-problemA.22 Scheme functions
ly:source-file?A.22 Scheme functions
ly:source-filesA.22 Scheme functions
ly:spanner-boundA.22 Scheme functions
ly:spanner-broken-intoA.22 Scheme functions
ly:spanner-set-bound!A.22 Scheme functions
ly:spanner?A.22 Scheme functions
ly:spawnA.22 Scheme functions
ly:spring-set-inverse-compress-strength!A.22 Scheme functions
ly:spring-set-inverse-stretch-strength!A.22 Scheme functions
ly:spring?A.22 Scheme functions
ly:staff-symbol-line-thicknessA.22 Scheme functions
ly:staff-symbol-staff-radiusA.22 Scheme functions
ly:staff-symbol-staff-spaceA.22 Scheme functions
ly:start-environmentA.22 Scheme functions
ly:stderr-redirectA.22 Scheme functions
ly:stencil-addA.22 Scheme functions
ly:stencil-aligned-toA.22 Scheme functions
ly:stencil-combine-at-edgeA.22 Scheme functions
ly:stencil-empty?A.22 Scheme functions
ly:stencil-exprA.22 Scheme functions
ly:stencil-extentA.22 Scheme functions
ly:stencil-fontsA.22 Scheme functions
ly:stencil-in-colorA.22 Scheme functions
ly:stencil-outlineA.22 Scheme functions
ly:stencil-rotateA.22 Scheme functions
ly:stencil-rotate-absoluteA.22 Scheme functions
ly:stencil-scaleA.22 Scheme functions
ly:stencil-stackA.22 Scheme functions
ly:stencil-translateA.22 Scheme functions
ly:stencil-translate-axisA.22 Scheme functions
ly:stencil?A.22 Scheme functions
ly:stream-event?A.22 Scheme functions
ly:string-percent-encodeA.22 Scheme functions
ly:string-substituteA.22 Scheme functions
ly:system-font-loadA.22 Scheme functions
ly:text-interface::interpret-markupA.22 Scheme functions
ly:translate-cpp-warning-schemeA.22 Scheme functions
ly:translator-contextA.22 Scheme functions
ly:translator-descriptionA.22 Scheme functions
ly:translator-group?A.22 Scheme functions
ly:translator-nameA.22 Scheme functions
ly:translator?A.22 Scheme functions
ly:transpose-key-alistA.22 Scheme functions
ly:truncate-list!A.22 Scheme functions
ly:ttf->pfaA.22 Scheme functions
ly:ttf-ps-nameA.22 Scheme functions
ly:type1->pfaA.22 Scheme functions
ly:undead?A.22 Scheme functions
ly:unitA.22 Scheme functions
ly:unpure-callA.22 Scheme functions
ly:unpure-pure-container-pure-partA.22 Scheme functions
ly:unpure-pure-container-unpure-partA.22 Scheme functions
ly:unpure-pure-container?A.22 Scheme functions
ly:usageA.22 Scheme functions
ly:verbose-output?A.22 Scheme functions
ly:versionA.22 Scheme functions
ly:warningA.22 Scheme functions
ly:warning-locatedA.22 Scheme functions
ly:wide-char->utf-8A.22 Scheme functions
LyricCombineMusicVegeu també
LyricCombineMusicVegeu també
LyricExtenderVegeu també
LyricHyphenVegeu també
LyricsVegeu també
LyricsVegeu també
LyricsVegeu també
LyricsVegeu també
LyricsVegeu també
LyricsA.17 All context properties
LyricsA.17 All context properties
lyrics, aligning with sporadic melody5.1.3 Keeping contexts alive
lyrics, using variablesTreball amb lletra i variables
LyricTextVegeu també
LyricTextVegeu també
LyricTextVegeu també
línia d’extensióLínies d’extensió i guions
línia de canvi de pentagramaLínies de canvi de pentagrama
línia de seguiment de pentagramaLínies de canvi de pentagrama
línia divisòria predeterminada, canviarBarres de compàs
línia vertical entre pentagramesLínies de reixeta
línia, barres en salts deInstruccions predefinides
línia, saltsBarres de compàs
línies addicionalsEl símbol del pentagrama
línies de reixetaLínies de reixeta
línies del pentagramaEl símbol del pentagrama
línies divisòriesBarres de compàs
línies divisòries invisiblesBarres de compàs
línies divisòries manualsBarres de compàs
línies divisòries, símbols sobre lesIndicacions de text

M
mAcords més usuals
magnification->font-sizeSelecció del la mida del tipus de lletra per a la notació
magnification->font-size4.2.2 Setting the staff size
magnifying textA.11.1 Font
magnifyMusicSelecció del la mida del tipus de lletra per a la notació
magnifyMusicA.19 Available music functions
magnifyStaffA.19 Available music functions
magstepSelecció del la mida del tipus de lletra per a la notació
magstep4.2.2 Setting the staff size
magstep5.4.3 Distances and measurements
majAcords més usuals
major seven symbolsInstruccions predefinides
major, modeArmadura de la tonalitat
majorSevenSymbolNoms d’acord personalitzats
makamVegeu també
makamTurkish note names
makamlarVegeu també
makamlarVegeu també
make-dynamic-scriptIndicacions dinàmiques contemporànies
make-pango-font-treeTipus de lletra del document complet
makeClustersA.19 Available music functions
makeDefaultStringTuningA.19 Available music functions
manteniment, pedal, estils dePedals de piano
manual line breaks4.3.1 Line breaking
manual, canvi de pentagramaCanvi manual de pentagrama
manual, marca d’assaigMarques d’assaig
manual, marca de repeticióMarques de repetició manual
ManualsLilyPond — Referència de la notació
ManualsLilyPond — Referència de la notació
manuals, barresBarres automàtiques
manuals, barresBarres manuals
manuals, barres de compàsBarres de compàs
manuals, línies divisòriesBarres de compàs
maqamVegeu també
maqamsReferences for Arabic music
maracasAncient scripts
marca d’assaig, estilMarques d’assaig
marca d’assaig, formatMarques d’assaig
marca de assaig manualMarques d’assaig
marca de polsFragments de codi seleccionats
marcatgeIntroducció al marcatge de text
marcatge de diverses líniesAlineació de text
marcatge de diverses pàginesElements de marcatge de diverses pàgines
marcatge de textIntroducció al marcatge de text
marcatge sobre silencis multicompàsSilencis de compas complet
marcatge, caràcters especials en mode deIntroducció al marcatge de text
marcatge, centrar a la pàginaAlineació de text
marcatge, elements, alinearAlineació de text
marcatge, expressions deIntroducció al marcatge de text
marcatge, farciment de textos deNotació gràfica dins d’elements de marcatge
marcatge, notació musical dins deNotació musical dins d’elements de marcatge
marcatge, partitura dins deNotació musical dins d’elements de marcatge
marcatge, sintaxiIntroducció al marcatge de text
marcatge, text de, diverses pàginesElements de marcatge de diverses pàgines
marcatge, text, ajustat a paraulesAlineació de text
marcatge, text, alinearAlineació de text
marcatge, text, decorarNotació gràfica dins d’elements de marcatge
marcatge, text, emmarcarNotació gràfica dins d’elements de marcatge
marcatge, text, instruccions de alineacióAlineació de text
marcatoArticulacions i ornaments
marcatoA.14 List of articulations
marge, text fora delVegeu també
markA.19 Available music functions
MarkEventVegeu també
MarkEventVegeu també
Markup construction in SchemeIndicacions dinàmiques contemporànies
Markup construction in SchemeVegeu també
markup, conditionalCustom layout for headers and footers
markup-markup-spacingList of flexible vertical spacing \paper variables
markup-system-spacingList of flexible vertical spacing \paper variables
markupMapA.19 Available music functions
Mark_engraverVegeu també
Mark_engraverVegeu també
marques de fraseigLligadures de fraseig
matisosMatisos dinàmics
matisos absolutsMatisos dinàmics
matisos, diversos sobre una notaMatisos dinàmics
matisos, posició verticalMatisos dinàmics
max-systems-per-page\paper variables for line breaking
maximaVegeu també
maximaVegeu també
maxima, silenci deSilencis
measureLengthEstablir el comportament de les barres automàtiques
measureLengthGestió del temps
measurePositionAnacrusis
measurePositionGestió del temps
Medicaea, Editio2.9 Ancient notation
Medicaea, Editio2.9.1 Overview of the supported styles
medium intervalsReferences for Arabic music
melismaDiverses notes sobre una síl·laba
melismaVegeu també
melismataDiverses notes sobre una síl·laba
melismes, barres enBarres automàtiques
melodia alternativa, canvi a unaCanvi a una melodia alternativa
melodia, mostrar las duracionsMostrar els ritmes de la melodia
menor, modeArmadura de la tonalitat
mensural2.9 Ancient notation
mensural2.9.1 Overview of the supported styles
Mensural clefMensural clefs
Mensural clefA.10 Clef styles
Mensural clefsClau
Mensural clefsVegeu també
Mensural contextsVegeu també
Mensural ligaturesWhite mensural ligatures
mensural notationVegeu també
mensural notationVegeu també
mensural notationVegeu també
mensural notationVegeu també
mensural notationVegeu també
mensural notationVegeu també
mensural notationVegeu també
mensural notationVegeu també
mensural notationVegeu també
mensural notationVegeu també
Mensural time signaturesVegeu també
mensural, música, transcripció deFragments de codi seleccionats
MensuralStaffVegeu també
MensuralVoiceMensural contexts
mensuration signMensural time signatures
mensurstriche, dissenyFragments de codi seleccionats
merging textA.11.2 Align
merging textA.11.2 Align
mesura, música senseGestió del temps
meterVegeu també
metre polimètricNotació polimètrica
metre, estil deIndicació de compàs
metronomeVegeu també
metronome markVegeu també
MetronomeMarkVegeu també
metronomic indicationVegeu també
metrònom, indicació deIndicacions metronòmiques
metrònom, indicació de, amb textIndicacions metronòmiques
Mezzosoprano clefA.10 Clef styles
mezzosoprano, clau deClau
micro-tones, tabCustom tablatures
microtonsNoms de les notes en altes llengües
mid tom tomAncient scripts
Mida dels objectesVegeu també
MIDITransposició dels instruments
MIDI3.5 Creating MIDI output
MIDI block3.5.3 The MIDI block
MIDI Channels3.5.7 MIDI channel mapping
MIDI context definitionsSetting MIDI block properties
MIDI dynamics3.5.4 Controlling MIDI dynamics
MIDI equalization3.5.4 Controlling MIDI dynamics
MIDI instrumentsReferències per a percussió
MIDI instrumentsVegeu també
MIDI instrumentsNotació bàsica de percussió
MIDI instrumentsVegeu també
MIDI instrumentsVegeu també
MIDI metadata3.2.3 Creating output file metadata
MIDI Tracks3.5.7 MIDI channel mapping
MIDI using repeats3.5.6 Using repeats with MIDI
MIDI volume3.5.4 Controlling MIDI dynamics
MIDI, instruments3.5.9 Enhancing MIDI output
MIDI, Supported notation3.5 Creating MIDI output
MIDI, transposicióTransposició dels instruments
MIDI, Unsupported notation3.5.1 Supported notation for MIDI
midiBalance3.5.8 Context properties for MIDI effects
midiChannelMapping3.5.7 MIDI channel mapping
midiChorusLevel3.5.8 Context properties for MIDI effects
midiExpression3.5.8 Context properties for MIDI effects
midiPanPosition3.5.8 Context properties for MIDI effects
midiReverbLevel3.5.8 Context properties for MIDI effects
min-systems-per-page\paper variables for line breaking
minimum-Y-extentWithin-system spacing properties
minimumFretDefault tablatures
minimumFretAutomatic fret diagrams
minimumPageTurnLengthOptimal page turning
minimumRepeatLengthForPageTurnOptimal page turning
minorChordModifierNoms d’acord personalitzats
mirroring markupA.11.3 Graphic
mixedPedals de piano
mixolidi, modeArmadura de la tonalitat
modal, inversió Inversió modal
modal, transposició Transposició modal
modalInversionA.19 Available music functions
modals, transformacionsTransformacions modals
modalTransposeA.19 Available music functions
modeparser variable
mode d’acords2.7.1 Mode d’acords
modernAlteracions accidentals automàtiques
modern de precaució, alteracions d’estilAlteracions accidentals automàtiques
modern, alteracions d’estilAlteracions accidentals automàtiques
modern, alteracions d’estilAlteracions accidentals automàtiques
modern, alteracions d’estilAlteracions accidentals automàtiques
modern, estil de alteracionsAlteracions accidentals automàtiques
modern-cautionaryAlteracions accidentals automàtiques
modern-precaució, estil d’alteracionsAlteracions accidentals automàtiques
modern-voiceAlteracions accidentals automàtiques
modern-voice-cautionaryAlteracions accidentals automàtiques
moderntab clefCustom tablatures
modesArmadura de la tonalitat
modes eclesiásticosArmadura de la tonalitat
modificadors d’acordAcords més usuals
Modifying context plug-insVegeu també
Modifying context plug-insNoms d’instruments
Modifying context plug-insVegeu també
Modifying context plug-insVegeu també
Modifying context propertiesVegeu també
Modifying ties and slursVegeu també
Modifying ties and slursAdvertiments i problemes coneguts
mordentArticulacions i ornaments
mordentArticulation scripts
mordent ascendentArticulacions i ornaments
mordent circularArticulacions i ornaments
mordent circular, inversArticulacions i ornaments
mordente descendentArticulacions i ornaments
mordentsNotes d’adorn
movements, multiple3.1.2 Multiple scores in a book
Moviment d'objectesAlineació de text
Moviment d'objectesVegeu també
multi-measure restVegeu també
multicompàs, posicionament dels silencisFragments de codi seleccionats
multicompàs, silenci, adjuntar textSilencis de compas complet
multicompàs, silenci, amb marcatgesSilencis de compas complet
multicompàs, silenci, aplicar un calderó aSilencis de compas complet
multicompàs, silencisSilencis de compas complet
multicompàs, silencis, contracció deSilencis de compas complet
multicompàs, silencis, digitacions iVegeu també
multicompàs, silencis, expansió deSilencis de compas complet
multicompàs, silencis, inscripció enSilencis de compas complet
MultiMeasureRestVegeu també
MultiMeasureRestNumberVegeu també
MultiMeasureRestTextVegeu també
Multiple scores in a bookText separat
Multiple scores in a bookVegeu també
Music classesVegeu també
Music definitions5.2.1 Navigating the program reference
Music expressions explainedVegeu també
Music fragments3.4 Controlling output
Music function usageVegeu també
Music functions5.6 Using music functions
Music functionsVegeu també
Musica fictaAnnotational accidentals (musica ficta)
musicals, glifsMarques d’assaig
musicals, guiesGuies musicals
musicMapA.19 Available music functions
musicològic, anàlisiClaus d’anàlisi
musicQuotesparser variable
mutable objectsmutable
mutable propertiesmutable
mute bongoAncient scripts
mute congaAncient scripts
mute timbaleAncient scripts
Mètodes d'ajustamentVegeu també
música desplegada amb finals alternatiusRepeticions explícites
música dins de marcatgeNotació musical dins d’elements de marcatge
música intercaladaEscriptura de música en paral·lel
música para principiantsCaps de notes de Notació Fàcil
música religiosa2.1.7 Càntics salms i himnes
música sense mesuraGestió del temps
música sense metreMúsica sense compassos
música sense metre, alteracionsMúsica sense compassos
música sense metre, barresMúsica sense compassos
música sense metre, barres de compàsMúsica sense compassos
música sense metre, números de compàsMúsica sense compassos
Música vocalVegeu també

N
N.C., símbolImpressió dels noms d’acord
Naming conventions of objects and propertiesVegeu també
Naming conventions of objects and propertiesVegeu també
natural harmonicsHarmonics
natural, notaAlteracions accidentals
neo-modernAlteracions accidentals automàtiques
neo-modern de precaució, estilo de alteracionsAlteracions accidentals automàtiques
neo-modern, estilo de alteracionsAlteracions accidentals automàtiques
neo-modern-cautionaryAlteracions accidentals automàtiques
neo-modern-voiceAlteracions accidentals automàtiques
neo-modern-voice, estil d’alteracióAlteracions accidentals automàtiques
neo-modern-voice-cautionaryAlteracions accidentals automàtiques
neo-modern-voice-cautionary, estil de alteracionsAlteracions accidentals automàtiques
neomensural2.9.1 Overview of the supported styles
Nesting music expressions5.1.7 Context layout order
Nesting music expressionsVegeu també
new contexts5.1.2 Creating and referencing contexts
New markup list command definitionVegeu també
new spacing section4.5.2 New spacing section
New_fingering_engraverVegeu també
New_fingering_engraver5.2.1 Navigating the program reference
niente, alFragments de codi seleccionats
niuada, repeticióAdvertiments i problemes coneguts
Niuat d'expressions musicalsPentagrames d’Ossia
Niuat d'expressions musicalsVegeu també
niuat de pentagramesGrups de pentagrames niuats
niuats, claus de pentagramaGrups de pentagrames niuats
nivell superior, text delText separat
no buits, textosScripts de text
no musicals, símbolsNotació gràfica dins d’elements de marcatge
no-resetAlteracions accidentals automàtiques
nom del cantantAfegir el nom dels cantants als versos
noms d’instrument, canviarNoms d’instruments
noms d’instruments, centratNoms d’instruments
noms de instrument, afegir a d’altres contextosNoms d’instruments
noms de les notesEscriptura d’octava absoluta
noms de personatgesNoms dels personatges
non-ASCII characters3.3.3 Special characters
NonMusicalPaperColumnVegeu també
nonstaff-nonstaff-spacingWithin-system spacing properties
nonstaff-relatedstaff-spacingWithin-system spacing properties
nonstaff-unrelatedstaff-spacingWithin-system spacing properties
noPageBreakA.19 Available music functions
noPageTurnA.19 Available music functions
normalsizeSelecció del la mida del tipus de lletra per a la notació
nota d’espaiatSilencis invisibles
nota obertaArticulacions i ornaments
nota tapadaArticulacions i ornaments
nota, cap de, en aspesCaps de nota especials
nota, cap de, en parlatoCaps de nota especials
nota, cap de, en rombeCaps de nota especials
nota, cap de, estilsCaps de nota especials
nota, cap de, guitarraCaps de nota especials
nota, cap de, harmònicsCaps de nota especials
nota, cap especial deCaps de nota especials
nota, duració predeterminadaDuració de les notes
notació dins de marcatgeNotació musical dins d’elements de marcatge
notació gràficaNotació gràfica dins d’elements de marcatge
notació, explicació deGlobus d’ajuda
notació, mida del tipus de lletraSelecció del la mida del tipus de lletra per a la notació
note headVegeu també
note headVegeu també
note head stylesA.9 Note head styles
Note head stylesCaps de nota especials
Note head stylesVegeu també
Note head stylesFragments de codi seleccionats
Note head stylesVegeu també
note heads, ancientMensural note heads
note heads, ancientKievan notes
note heads, diamond-shapedHarmonics
note valueVegeu també
note-collision-interfaceA.18 Layout properties
note-collision-interfaceA.18 Layout properties
note-collision-interfaceA.18 Layout properties
note-eventVegeu també
note-eventVegeu també
note-eventVegeu també
note-head-interfaceVegeu també
note-head-interfaceVegeu també
note-head-interfaceVegeu també
NoteCollisionVegeu també
NoteColumnVegeu també
NoteHeadVegeu també
NoteHeadVegeu també
NoteHeadVegeu també
notes acoloridesAcoloriment d’objectes
notes acolorides en acordsVegeu també
notes d’adorn, canviar els ajustos de disposicióNotes d’adorn
notes de adorno, ajustamentNotes d’adorn
notes de pentagrama creuatCanvi manual de pentagrama
notes de pentagrama creuatPliques de pentagrama creuat
notes entre parèntesisParèntesis
notes fantasmaParèntesis
notes guiaCites a altres veus
notes guiaFormat de les notes guia
notes invisiblesNotes ocultes
notes ocultesNotes ocultes
notes petitesFormat de les notes guia
notes transparentsNotes ocultes
notes within text by log and dot-countA.11.4 Music
notes within text by stringA.11.4 Music
notes, amb doble puntetDuració de les notes
notes, amb puntetDuració de les notes
notes, caps deSelecció del la mida del tipus de lletra per a la notació
notes, caps de, AikenCaps de notes amb formes diverses
notes, caps de, arpa sacraCaps de notes amb formes diverses
notes, caps de, barradesImprovisació
notes, caps de, Christian HarmonyCaps de notes amb formes diverses
notes, caps de, con formesCaps de notes amb formes diverses
notes, caps de, estudioCaps de notes de Notació Fàcil
notes, caps de, FunkCaps de notes amb formes diverses
notes, caps de, Harmonia SacraCaps de notes amb formes diverses
notes, caps de, improvisacióImprovisació
notes, caps de, notació simplificadaCaps de notes de Notació Fàcil
notes, caps de, para practicarCaps de notes de Notació Fàcil
notes, caps de, Southern HarmonyCaps de notes amb formes diverses
notes, caps de, WalkerCaps de notes amb formes diverses
notes, claus d’agrupació deClaus d’anàlisi
notes, col·lisions deResolució de les col·lisions
notes, divisió deDivisió automàtica de les notes
notes, duració deDuració de les notes
notes, longitud deDuració de les notes
notes, noms de, en altres llengüesNoms de les notes en altes llengües
notes, noms holandesos deAlteracions accidentals
notes, noms predeterminatsAlteracions accidentals
notes, spacing horizontally4.5.2 New spacing section
notes, transport deTransposició
NoteSpacingVegeu també
NoteSpacing4.5.1 Horizontal spacing overview
NoteSpacingVegeu també
Note_heads_engraverVegeu també
Note_heads_engraverVegeu també
Note_heads_engraverVegeu també
Note_heads_engraverVegeu també
Note_heads_engraverVegeu també
Note_head_line_engraverVegeu també
Note_spacing_engraverVegeu també
nou pentagramaCreació d’instàncies de pentagrames nous
NullVoicePolifonia amb lletres compartides
número de compassos, format deFragments de codi seleccionats
número de compàsGestió del temps
número de compàs, col·lisióVegeu també
número de compàs, comprovació deComprovació de compàs i de número de compàs
números de compàsNumeració de compassos
números de compàs i repeticionsAdvertiments i problemes coneguts
números de compàs, cadènciesMúsica sense compassos
números de compàs, espaiat regularNumeració de compassos
números de compàs, música sense metreMúsica sense compassos

O
objectes, acolorirAcoloriment d’objectes
Objects and interfacesVegeu també
Objects and interfacesVegeu també
Objects and interfacesVegeu també
objects, coloringPainting objects white
objects, overwritingPainting objects white
objects, rotatingRotating layout objects
objects, visibility of5.4.7 Visibility of objects
oblit, estil de alteracionsAlteracions accidentals automàtiques
octavaIndicadors d’octava
octava, comprovació deComprovació d’octava
octava, correcció deComprovació d’octava
octava, especificació absolutaEscriptura d’octava absoluta
octava, especificació relativaEscriptura d’octava relativa
octava, introducció absolutaEscriptura d’octava absoluta
octava, introducció relativaEscriptura d’octava relativa
octava, marca de canvi deEscriptura d’octava absoluta
octava, transposicióClau
octava, transposició, opcionalClau
octavationVegeu també
octaveCheckA.19 Available music functions
ocultament de pentagramesOcultament de pentagrames
ocultar pentagramesOcultament de pentagrames
ocultes, notesNotes ocultes
offsetA.19 Available music functions
offsetting5.3.6 The \offset command
omitA.19 Available music functions
on-the-flyCustom layout for headers and footers
onceA.19 Available music functions
openFermata scripts
open bongoAncient scripts
open congaAncient scripts
open high hatAncient scripts
open string indicationBowing indications
open timbaleAncient scripts
operacions modalsTransformacions modals
operació d’inversió nmodal Inversió modal
operació de inversióInversió
operació de retrogradacióRetrogradació
operació de transposició Transposició modal
Optical spacing4.5.1 Horizontal spacing overview
Optical spacingVegeu també
oratoris2.1.5 Música coral
orchestral strings2.3 Unfretted string instruments
Organitzar les peces mitjançant variablesVegeu també
Organitzar les peces mitjançant variablesVegeu també
OrganizingUsing variables
Organizing pieces with variablesVegeu també
Organizing pieces with variablesVegeu també
Organizing pieces with variables5.1.2 Creating and referencing contexts
Organizing pieces with variablesVegeu també
ornamentacióArticulacions i ornaments
ornamentsNotes d’adorn
ornamentsArticulacions i ornaments
ossiaVegeu també
ossiaOcultament de pentagrames
Other sources of informationExtending notation and tuning systems
Other sources of informationVegeu també
Other sources of information3.3.1 Including LilyPond files
Other sources of information3.3.1 Including LilyPond files
Other sources of informationVegeu també
Other sources of informationInstallation Instructions
Other sources of informationVegeu també
Other sources of informationVegeu també
Other sources of informationVegeu també
Other sources of informationAdvertiments i problemes coneguts
Other sources of informationVegeu també
Other sources of information5.2.2 Layout interfaces
Other sources of informationVegeu també
ottavaA.19 Available music functions
ottava-bracket-interfaceVegeu també
OttavaBracketVegeu també
Ottava_spanner_engraverVegeu també
Ottoman musicReferences for Turkish classical music
outer-margin\paper variables for two-sided mode
output definitionsOutput definitions - blueprints for contexts
output-countparser variable
output-defoutput-def
output-suffixparser variable
outside-staff-horizontal-padding4.4.3 Vertical collision avoidance
outside-staff-padding4.4.3 Vertical collision avoidance
outside-staff-priority4.4.3 Vertical collision avoidance
overridePropertyA.19 Available music functions
OverridePropertyVegeu també
overrides, reverting5.3.3 The \override command
overrideTimeSignatureSettingsA.19 Available music functions
overriding for only one moment5.3.3 The \override command
overriding properties within text markupA.11.7 Other
overtie-ing textA.11.1 Font
overwriting objectsPainting objects white

P
padding5.2.3 Determining the grob property
padding textA.11.2 Align
padding text horizontallyA.11.2 Align
page breaking, manualManual page breaking
page breaks4.5.4 Line width
page layout4.5.4 Line width
Page layoutVegeu també
Page layoutDisposicions de la partitura per a música coral
Page layoutVegeu també
Page layoutReferències per a òpera i musicals
Page layoutVegeu també
page numbers in roman numerals\paper variables for page numbering
page numbers, auto-numbering\paper variables for page numbering
page numbers, specify the first\paper variables for page numbering
page numbers, suppress\paper variables for page numbering
page size4.1.2 Paper size and automatic scaling
page, orientationSetting the paper size
page-breaking\paper variables for page breaking
page-breaking-system-system-spacing\paper variables for page breaking
page-count\paper variables for page breaking
page-number-type\paper variables for page numbering
page-spacing-weightMiscellaneous \paper variables
pageBreakA.19 Available music functions
pageTurnA.19 Available music functions
palmMuteA.19 Available music functions
palmMuteOnA.19 Available music functions
Pan position in MIDI3.5.8 Context properties for MIDI effects
PangoExplicació dels tipus de lletra
paper size4.1.2 Paper size and automatic scaling
paper size, landscapeSetting the paper size
paper size, orientationSetting the paper size
paper variables for shifts and indentsNoms d’instruments
paper variables for shifts and indentsVegeu també
paper-height4.1.3 Fixed vertical spacing \paper variables
paper-width\paper variables for widths and margins
parallelMusicA.19 Available music functions
paral·lel, música enEscriptura de música en paral·lel
parcial, compàsAnacrusis
parentheses-interfaceVegeu també
ParenthesesItemVegeu també
Parenthesis_engraverVegeu també
parenthesizeA.19 Available music functions
parlatoMúsica parlada
parlato, caps de notaCaps de nota especials
Parmesan fontA.8 The Emmentaler font
parserparser
parser variableparser variable
partVegeu també
part en començarAnacrusis
partcombineA.19 Available music functions
partcombineDownA.19 Available music functions
partcombineForceA.19 Available music functions
partCombineListenerparser variable
PartCombineMusicVegeu també
partcombineUpA.19 Available music functions
partialA.19 Available music functions
Partitura vocal a quatre veus SATBReferències per a música coral
Partitura vocal a quatre veus SATBVegeu també
partitura, a dins de marcatgeNotació musical dins d’elements de marcatge
parts cantades2.1.5 Música coral
parts, combinació automàticaCombinació automàtica de les parts
parts, combinador deCombinació automàtica de les parts
parèntesi de cela de repetició de textMarques de repetició manual
parèntesi, alteració ambAlteracions accidentals
parèntesisParèntesis
parèntesis en angleNotes a un acord
paths, drawingA.11.3 Graphic
pausa, marques deMarques de respiració
pautaCreació d’instàncies de pentagrames nous
pauta de corAgrupament de pentagrames
pauta, escalat dePentagrames d’Ossia
PDF metadata3.2.3 Creating output file metadata
pedal d’orgueArticulacions i ornaments
pedal de manteniment, estil dePedals de piano
pedal dretPedals de piano
pedal fortePedals de piano
pedal high hatAncient scripts
pedal sostenutoPedals de piano
pedal, estils d’indicacióPedals de piano
pedal, indicació mixtaPedals de piano
pedal, indicació por clauPedals de piano
pedal, indicació textualPedals de piano
pedals de l’arpaPedals d’arpa
pedals de l’arpa, diagramesPedals d’arpa
pedals de pianoPedals de piano
pedalSustainStylePedals de piano
pentagrama a la francesaPentagrames d’Ossia
pentagrama buitOcultament de pentagrames
pentagrama creuat, arpegis amb parèntesisAdvertiments i problemes coneguts
pentagrama creuat, plica dePliques de pentagrama creuat
pentagrama creuat, trèmol deVegeu també
pentagrama de percussióCreació d’instàncies de pentagrames nous
pentagrama únicCreació d’instàncies de pentagrames nous
pentagrama únic, polifonia dePolifonia en un sol pentagrama
pentagrama, aturar i iniciar línies delEl símbol del pentagrama
pentagrama, canviLínies de canvi de pentagrama
pentagrama, canvi automàtic deCanvi automàtic de pentagrama
pentagrama, canvi deLínies de canvi de pentagrama
pentagrama, canvis manuals deCanvi manual de pentagrama
pentagrama, iniciarCreació d’instàncies de pentagrames nous
pentagrama, instanciarCreació d’instàncies de pentagrames nous
pentagrama, línia de canvi deLínies de canvi de pentagrama
pentagrama, modificar les línies delEl símbol del pentagrama
pentagrama, nouCreació d’instàncies de pentagrames nous
pentagrama, ocultament deOcultament de pentagrames
pentagrama, símbol delEl símbol del pentagrama
pentagrames d’instruments de teclatReferències per a teclats
pentagrames de pianoAgrupament de pentagrames
pentagrames de pianoReferències per a teclats
pentagrames niuatsGrups de pentagrames niuats
pentagrames, diversosAgrupament de pentagrames
pentagrames, grup deAgrupament de pentagrames
percentRepeticions de compàs o part d’ells
percent repeatVegeu també
percentatge, repetició deRepeticions de compàs o part d’ells
PercentRepeatVegeu també
PercentRepeatCounterVegeu també
PercentRepeatedMusicVegeu també
Percent_repeat_engraverVegeu també
Percussion clefA.10 Clef styles
Percussion notesNotació bàsica de percussió
Percussion notesVegeu també
percussióNotació bàsica de percussió
percussióPautes de percussió
percussió, clauNotació bàsica de percussió
percussió, pauta deCreació d’instàncies de pentagrames nous
personalització dels noms d’acordNoms d’acord personalitzats
personalitzada, marca d’assaigMarques d’assaig
personatges, nomsNoms dels personatges
petites, notesFormat de les notes guia
Petrucci2.9 Ancient notation
Petrucci2.9.1 Overview of the supported styles
Petrucci clefMensural clefs
Petrucci clefA.10 Clef styles
PhrasingSlurVegeu també
phrasingSlurDashPatternA.19 Available music functions
pianoAlteracions accidentals automàtiques
piano de precaució, alteracionsAlteracions accidentals automàtiques
piano de precaució, estilo de alteracionsAlteracions accidentals automàtiques
piano, alteracions deAlteracions accidentals automàtiques
piano, estil de alteracions deAlteracions accidentals automàtiques
piano, música de, matisos centratsReferències per a teclats
piano, pedals dePedals de piano
piano, pentagrames deAgrupament de pentagrames
piano, pentagrames deReferències per a teclats
piano, sistema deAgrupament de pentagrames
piano-cautionaryAlteracions accidentals automàtiques
PianoPedalBracketVegeu també
PianoStaffVegeu també
PianoStaffVegeu també
PianoStaffVegeu també
PianoStaffVegeu també
PianoStaffVegeu també
PianoStaffVegeu també
Piano_pedal_engraverVegeu també
picatArticulacions i ornaments
Pitch namesVegeu també
Pitch namesVegeu també
Pitch namesVegeu també
Pitch namesVegeu també
Pitch namesVegeu també
pitchedTrillA.19 Available music functions
Pitches and key signaturesVegeu també
pitchnamesparser variable
Pitch_squash_engraverVegeu també
Pitch_squash_engraverVegeu també
Pitch_squash_engraverVegeu també
Pitch_squash_engraverA.17 All context properties
pizzicato, BartókSnap (Bartók) pizzicato
pizzicato, snapSnap (Bartók) pizzicato
placing horizontal brackets around textA.11.3 Graphic
placing parentheses around textA.11.3 Graphic
placing vertical brackets around textA.11.3 Graphic
Plantilles de conjunts vocalsPosicionament vertical de la lletra
Plantilles de conjunts vocalsVegeu també
Plantilles de conjunts vocalsReferències per a música coral
Plantilles de conjunts vocalsVegeu també
Plantilles de conjunts vocalsVegeu també
Plantilles de conjunts vocalsVegeu també
Plantilles incorporadesReferències per a música coral
plicaPliques
plica amuntPliques
plica avallPliques
plica creuadaNotes d’adorn
plica de pentagrama creuatPliques de pentagrama creuat
plica invisiblePliques
plica neutralPliques
plica, direccióPliques
pliques de pentagrama creuatPliques de pentagrama creuat
pointAndClickOffA.19 Available music functions
pointAndClickOnA.19 Available music functions
pointAndClickTypesA.19 Available music functions
polifonia en un sol pentagramaPolifonia en un sol pentagrama
polifonia, lletra compartidaPolifonia amb lletres compartides
polifònica, músicaResolució de les col·lisions
polimètric, metre, barres en Pentagrames amb diferents indicacions de compàs i compassos d’igual longitud
polimètrics, compassosNotació polimètrica
polymetricVegeu també
polymetricVegeu també
polymetric scores5.1.4 Modifying context plug-ins
polymetric time signatureVegeu també
polyphonyVegeu també
portatoVegeu també
portatoA.14 List of articulations
posicionament de la lletraPosicionament vertical de la lletra
PostScriptNotació gràfica dins d’elements de marcatge
power chordVegeu també
power chordsIndicating power chords
prallArticulation scripts
pralldownArticulation scripts
prallmordentArticulacions i ornaments
prallmordentArticulation scripts
prallprallArticulacions i ornaments
prallprallArticulation scripts
prallupArticulation scripts
Pre-defined contextsCreació d’instàncies de pentagrames nous
Pre-defined contextsVegeu també
precaució, alteracions de piano deAlteracions accidentals automàtiques
precaució, alteració deAlteracions accidentals
precaució, estilo de alteracions, pianoAlteracions accidentals automàtiques
predefined string tunings for fretted instrumentsCustom tablatures
predeterminada, duració de la notaDuració de les notes
predeterminada, línia divisòria, canviarBarres de compàs
predeterminat, estil de las alteracionsAlteracions accidentals automàtiques
predeterminats, noms de notaAlteracions accidentals
prima volta1.4.1 Repeticions llargues
primera i segona vegada1.4.1 Repeticions llargues
primera i segona vegada i lletraRepeticions amb finals alternatius (primera i segona vegada)
primera i segona vegada, amb lligaduresRepeticions normals
primera i segona vegada, claus i lligadures enLligadures d’unió
primera i segona vegada, repeticionsRepeticions explícites
principiants, música per aCaps de notes de Notació Fàcil
print-all-headersMiscellaneous \paper variables
print-first-page-number\paper variables for page numbering
print-page-number\paper variables for page numbering
printing orderPainting objects white
probprob
progressives, barresBarres progressives
properties5.3.2 The \set command
Properties found in interfacesVegeu també
Properties of layout objectsVegeu també
properties, grob5.3.3 The \override command
property objectprob
propertyOverrideA.19 Available music functions
propertyRevertA.19 Available music functions
PropertySetVegeu també
propertySetA.19 Available music functions
propertyTweakA.19 Available music functions
propertyUnsetA.19 Available music functions
Proportional notationDuració de les notes
Proportional notationVegeu també
pull offFragments de codi seleccionats
pulsacions por minutIndicacions metronòmiques
pulsacions, agrupacióFragments de codi seleccionats
puntejades, lligadures de fraseigLligadures de fraseig
puntet, notes ambDuració de les notes
punts, lligadura deLligadures d’expressió
punts, lligadures deLligadures d’unió
puntuacióIntroducció de la lletra
puntuació en la lletraIntroducció de la lletra
pure containers, Scheme5.5.6 Unpure-pure containers
pushToTagA.19 Available music functions
putting space around textA.11.2 Align
pàgines, marcatge de diversesElements de marcatge de diverses pàgines

Q
q, chord repetitionDefault tablatures
q, repetició d’acordsRepetició d’acords
Quant a la impossibilitat de niuar claus i lligaduresVegeu també
Quant a la impossibilitat de niuar claus i lligaduresVegeu també
quarter toneVegeu també
quarter-tones, tabCustom tablatures
quarts de toAlteracions accidentals
quarts de to, alteracionsVegeu també
quotedCueEventTypesCites a altres veus
quotedEventTypesCites a altres veus
quoteDuringA.19 Available music functions
QuoteMusicVegeu també

R
RSilencis de compas complet
rSilencis
ragged-bottom4.1.3 Fixed vertical spacing \paper variables
ragged-last\paper variables for widths and margins
ragged-last4.5.4 Line width
ragged-last-bottom4.1.3 Fixed vertical spacing \paper variables
ragged-right\paper variables for widths and margins
ragged-right4.5.4 Line width
raising textA.11.2 Align
rang de alturesTessitura
rastVegeu també
Ratisbona, Editio2.9.1 Overview of the supported styles
raïm (clúster)Clústers
recordatòria, alteracióAlteracions accidentals
reduceChordsA.19 Available music functions
referencing contexts5.1.2 Creating and referencing contexts
referencing page labels in textA.11.7 Other
referencing page numbers in textA.11.7 Other
referencing page numbers in textA.11.7 Other
refiletArticulacions i ornaments
refilet amb nota i alteracióRefilets
refiletsRefilets
refilets de nota explícitaRefilets
reguladorMatisos dinàmics
reguladors acampanatsFragments de codi seleccionats
reguladors de FerneyhoughFragments de codi seleccionats
reguladors de tipus constantFragments de codi seleccionats
regular line breaks4.3.1 Line breaking
RehearsalMarkVegeu també
RehearsalMarkVegeu també
reixeta, línies deLínies de reixeta
relatiuEscriptura d’octava relativa
relatiu, acords en alçadaNotes a un acord
relatiu, mode, autocanviador iCanvi automàtic de pentagrama
relatiu, mode, transposició iVegeu també
relativa, especificació de l’octavaEscriptura d’octava relativa
relativa, introducció de l’octava, i acordsEscriptura d’octava relativa
relativeA.19 Available music functions
RelativeOctaveCheckVegeu també
RelativeOctaveMusicVegeu també
relatives, especificació d’octavesEscriptura d’octava relativa
remove tagged musicUsing tags
RemoveAllEmptyStavesA.20 Context modification identifiers
RemoveEmptyStavesA.20 Context modification identifiers
removeWithTagA.19 Available music functions
removing cue notesFormat de les notes guia
renaixement, música delFragments de codi seleccionats
repeatVegeu també
repeatCommandsMarques de repetició manual
RepeatedMusicVegeu també
RepeatedMusicVegeu també
RepeatedMusicVegeu també
repeats in MIDI3.5.6 Using repeats with MIDI
RepeatSlashVegeu també
RepeatSlashEventVegeu també
repeticionsBarres de compàs
repeticions alternativesRepeticions explícites
repeticions amb primera i segona vegadaRepeticions explícites
repeticions desplegadesRepeticions explícites
repeticions desplegades amb finals alternatiusRepeticions explícites
repeticions explícitesRepeticions explícites
repeticions i glissandiAdvertiments i problemes coneguts
repeticions i lletraLletra i repeticions
repeticions i lligadura d’expressióAdvertiments i problemes coneguts
repeticions normals1.4.1 Repeticions llargues
repeticions, amb lligaduresRepeticions normals
repeticions, amb segnoRepeticions normals
repeticions, lletres i números de compàsFragments de codi seleccionats
repeticions, números de compàs de primer i segona vegadaFragments de codi seleccionats
repetició amb comprovacions de compàsRepeticions normals
repetició amb finals alternatius1.4.1 Repeticions llargues
repetició ambiguaAdvertiments i problemes coneguts
repetició con anacrusaRepeticions normals
repetició curtaRepeticions de compàs o part d’ells
repetició de compàsRepeticions de compàs o part d’ells
repetició de la lletra amb finals alternatiusRepeticions amb finals alternatius (primera i segona vegada)
repetició de la lletra amb primera i segona vegadaRepeticions amb finals alternatius (primera i segona vegada)
repetició de percentatgeRepeticions de compàs o part d’ells
repetició de trèmolRepeticions de trèmol
repetició i números de compàsAdvertiments i problemes coneguts
repetició manualMarques de repetició manual
repetició niuadaAdvertiments i problemes coneguts
repetició, amb qRepetició d’acords
repetició, barres deBarres de compàs
repetició, canviar finals alternatiusMarques de repetició manual
repetició, canviar número deMarques de repetició manual
repetició, començament deMarques de repetició manual
repetició, comptador de temps de laAdvertiments i problemes coneguts
repetició, final deMarques de repetició manual
repetició, lligadures d’unió enLligadures d’unió
repetition, using qDefault tablatures
reservats, impressió de caràctersIntroducció al marcatge de text
resetRelativeOctaveA.19 Available music functions
respiracionsMarques de respiració
RestVegeu també
rest-eventCites a altres veus
restaurar les propietats predeterminades del tipus de compàsIndicació de compàs
RestCollisionVegeu també
restrainOpenStringsDefault tablatures
rests or multi-measure-rests within text by log and dot-countA.11.4 Music
rests or multi-measure-rests within text by stringA.11.4 Music
rests, ancientMensural rests
Rest_engraverVegeu també
retrogradació, transformació deRetrogradació
retrogradeA.19 Available music functions
Reverb in MIDI3.5.8 Context properties for MIDI effects
reverseturnArticulation scripts
reverting overrides5.3.3 The \override command
RevertPropertyVegeu també
revertTimeSignatureSettingsA.19 Available music functions
rgb, colorAcoloriment d’objectes
rgb-colorAcoloriment d’objectes
rheelFermata scripts
RhythmicStaffVegeu també
RhythmicStaffVegeu també
RhythmicStaffVegeu també
Rhythmic_column_engraverVegeu també
ride bellAncient scripts
ride cymbalAncient scripts
right aligning textA.11.2 Align
right hand fingerings for fretted instrumentsRight-hand fingerings
right-margin\paper variables for widths and margins
rightHandFingerA.19 Available music functions
rodona, silencis de, per a un compàs completSilencis de compas complet
rombe, caps de notaCaps de nota especials
Rotating objectsExplicació dels tipus de lletra
rotating objectsRotating layout objects
Rotating objectsVegeu també
rotating textA.11.2 Align
rtoeFermata scripts
rítmica, pautaCreació d’instàncies de pentagrames nous

S
sSilencis invisibles
salms2.1.7 Càntics salms i himnes
SalmsVegeu també
saltar notes a la lletraRepeticions amb finals alternatius (primera i segona vegada)
salts de línia, cadènciesVegeu també
salts de línia, música sense mesuraVegeu també
salts de pàgina, cadènciesVegeu també
salts de pàgina, música sense mesuraVegeu també
salts, en música sense mesuraVegeu també
SATB2.1.5 Música coral
scalable vector graphics output3.4.3 Alternative output formats
scaleDurationsA.19 Available music functions
scaling markupA.11.3 Graphic
scaling textA.11.2 Align
Scheme objectsmob
Scheme tutorial5. Changing defaults
Scheme variableparser variable
Scheme, pure containers5.5.6 Unpure-pure containers
Scheme, unpure containers5.5.6 Unpure-pure containers
scordaturaVegeu també
ScoreVegeu també
ScoreA.17 All context properties
ScoreA.17 All context properties
Score is a (single) compound musical expressionVegeu també
Score layoutVegeu també
score-markup-spacingList of flexible vertical spacing \paper variables
score-system-spacingList of flexible vertical spacing \paper variables
Scores and parts3.3.1 Including LilyPond files
Scores and partsVegeu també
scoreTitleMarkupCustom layout for titles
Scottish highland bagpipeBagpipe definitions
ScriptArticulacions i ornaments
ScriptVegeu també
ScriptVegeu també
ScriptEventVegeu també
Script_engraverVegeu també
seconda volta1.4.1 Repeticions llargues
segnoBarres de compàs
segnoMarques d’assaig
segnoArticulacions i ornaments
segnoInstrument-specific scripts
segno sobre la línia divisòriaIndicacions de text
segno, amb repeticionsRepeticions normals
seguiment de veuLínies de canvi de pentagrama
seguiment de veuLínies de canvi de pentagrama
selecció de la mida del tipus de lletra (de notació)Selecció del la mida del tipus de lletra per a la notació
self-alignment-interface5.2.2 Layout interfaces
self-alignment-interface5.5.1 Aligning objects
self-alignment-XWithin-system spacing properties
semaiVegeu també
Semai formArabic time signatures
semi-bemollNoms de les notes en altes llengües
semi-bemollsAlteracions accidentals
Semi-flat symbol appearanceArabic note names
semi-sostingutNoms de les notes en altes llengües
semi-sostingutsAlteracions accidentals
semicirculusRepeat sign scripts
semirefiletArticulacions i ornaments
semirefilet ascendentArticulacions i ornaments
semirefilet descendentArticulacions i ornaments
sense acord, símbolImpressió dels noms d’acord
sense mesura, música, salts de línia enVegeu també
sense mesura, música, salts de pàgina enVegeu també
sense restabliment, estil d’alteracionsAlteracions accidentals automàtiques
Sento veusVegeu també
Sento veusPautes de percussió
separació de sistemes, marca deSeparació de sistemes
separat, textText separat
sesqui-bemollNoms de les notes en altes llengües
sesqui-sostingutNoms de les notes en altes llengües
set-global-staff-size4.2.2 Setting the staff size
set-octavationIndicadors d’octava
setting extent of text objectsA.11.7 Other
setting horizontal text alignmentA.11.2 Align
setting subscript in standard font sizeA.11.1 Font
setting superscript in standard font sizeA.11.1 Font
Setting the staff sizeCaps de notes de Notació Fàcil
Setting the staff sizeVegeu també
Setting the staff sizeSelecció del la mida del tipus de lletra per a la notació
Setting the staff sizeSelecció del la mida del tipus de lletra per a la notació
Setting the staff size Comprensió de la propietat fontSize
Setting the staff sizeVegeu també
Setting the staff sizeDisposicions de la partitura per a música coral
Setting the staff sizeVegeu també
settingsFromA.19 Available music functions
shapeA.19 Available music functions
shaping slurs and ties Specifying displacements from current control points
shared propertiesimmutable
sharpVegeu també
shiftDurationsA.19 Available music functions
short-indentNoms d’instruments
short-indent\paper variables for shifts and indents
shortfermataOrnament scripts
show-available-fontsTipus de lletra d’un sol element
showFirstLength3.4.2 Skipping corrected music
showLastLength3.4.2 Skipping corrected music
side-position-interface5.2.2 Layout interfaces
side-position-interface5.5.1 Aligning objects
sidestickAncient scripts
sidestickAncient scripts
signumcongruentiaeRepeat sign scripts
sikahVegeu també
silenciSilencis
silenci de separacióSilencis invisibles
silenci invisibleSilencis invisibles
silenci normal, condensarAdvertiments i problemes coneguts
silenci, col·lisions deAdvertiments i problemes coneguts
silenci, especificació de la posició verticalSilencis
silencis de compàs completoSilencis
silencis de compàs completoSilencis de compas complet
silencis de rodona per a un compàs completSilencis de compas complet
silencis eclesiàsticsFragments de codi seleccionats
silencis multicompàsSilencis
silencis multicompàsSilencis de compas complet
silencis, divisió deDivisió automàtica de les notes
silencis, indicació de les duracionsSilencis
simileVegeu també
simple text stringsA.11.1 Font
simple text strings with tie charactersA.11.4 Music
simplificada, notacióCaps de notes de Notació Fàcil
simultànies, lligadures d’expressióLligadures d’expressió
simultànies, lligadures de fraseigLligadures de fraseig
simultànies, notes i alteracionsVegeu també
singleA.19 Available music functions
sintaxi del marcatgeIntroducció al marcatge de text
sistemaAgrupament de pentagrames
sistema de corAgrupament de pentagrames
sistema de pianoAgrupament de pentagrames
sistema, delimitador de començamentAgrupament de pentagrames
sistema, delimitadors d’inici niuatsGrups de pentagrames niuats
skipA.19 Available music functions
SkipMusicVegeu també
skipTypesetting3.4.2 Skipping corrected music
slashChordSeparatorNoms d’acord personalitzats
slashed digitsA.11.7 Other
slashedGraceA.19 Available music functions
Slash_repeat_engraverVegeu també
slides in tablature notationFragments de codi seleccionats
SlurVegeu també
slurVegeu també
SlurVegeu també
slur-eventCites a altres veus
slurDashPatternA.19 Available music functions
slurs, modifyingModifying ties and slurs
smallSelecció del la mida del tipus de lletra per a la notació
smobsmob
snap pizzicatoSnap (Bartók) pizzicato
snappizzicatoFermata scripts
snareAncient scripts
Sol, clau deClau
Solesmes2.9.1 Overview of the supported styles
solo, partsCombinació automàtica de les parts
Soprano clefA.10 Clef styles
soprano, clau deClau
sos.Pedals de piano
sostenuto, pedalPedals de piano
SostenutoEventVegeu també
SostenutoPedalVegeu també
SostenutoPedalLineSpannerVegeu també
sostingutAlteracions accidentals
sostingut, dobleAlteracions accidentals
Sound3.5 Creating MIDI output
Southern Harmony, caps de nota amb formaCaps de notes amb formes diverses
space between staves4.4.1 Flexible vertical spacing within systems
space inside systems4.4.1 Flexible vertical spacing within systems
spacing4.5.1 Horizontal spacing overview
spacing section, new4.5.2 New spacing section
spacing, display of layout4.6.1 Displaying spacing
spacing, horizontal4.5 Horizontal spacing
spacing, vertical4.4 Vertical spacing
spacing-spanner-interfaceA.18 Layout properties
spacing-spanner-interfaceA.18 Layout properties
SpacingSpanner4.5.1 Horizontal spacing overview
SpacingSpanner4.5.1 Horizontal spacing overview
SpacingSpannerVegeu també
SpacingSpannerVegeu també
spacingTweaksA.19 Available music functions
SpanBarVegeu també
spanners, modifyingUsing \alterBroken
Span_stem_engraverPliques de pentagrama creuat
Special charactersIntroducció de la lletra
special characters3.3.3 Special characters
Special charactersIntroducció de la lletra
Special charactersVegeu també
splash cymbalAncient scripts
splice into tagged musicUsing tags
SprechgesangMúsica parlada
Square neumes ligaturesGregorian square neume ligatures
staccatissimoArticulacions i ornaments
staccatissimoA.14 List of articulations
staccatoVegeu també
staccatoA.14 List of articulations
stacking text in a columnA.11.2 Align
StaffVegeu també
staffVegeu també
staffVegeu també
StaffVegeu també
StaffVegeu també
staffVegeu també
StaffVegeu també
StaffVegeu també
StaffVegeu també
StaffVegeu també
StaffVegeu també
Staff4.5.1 Horizontal spacing overview
StaffA.17 All context properties
staff distance4.4.1 Flexible vertical spacing within systems
staff size, setting4.2.2 Setting the staff size
staff symbol, setting of5.4.5 Staff symbol properties
staff-affinityWithin-system spacing properties
staff-staff-spacingWithin-system spacing properties
staff-symbol-interfaceVegeu també
Staff.midiInstrument3.5.9 Enhancing MIDI output
StaffGroupAdvertiments i problemes coneguts
StaffGroupVegeu també
StaffGroupVegeu també
staffgroup-staff-spacingWithin-system spacing properties
StaffGrouperVegeu també
StaffGrouperWithin-system spacing properties
StaffGrouperVegeu també
StaffGrouperVegeu també
StaffGrouper5.3.7 Modifying alists
StaffSpacingVegeu també
StaffSymbolVegeu també
StaffSymbolVegeu també
StaffSymbolVegeu també
Staff_symbol_engraverVegeu també
StanzaNumberVegeu també
start-repeatMarques de repetició manual
stavesVegeu també
StemVegeu també
StemVegeu també
StemProperties which may be offset
stem-interfaceVegeu també
stem-spacing-correction4.5.1 Horizontal spacing overview
stemLeftBeamCountBarres manuals
stemRightBeamCountBarres manuals
Stem_engraverVegeu també
Stem_engraverVegeu també
stencilstencil
stencil, removingRemoving the stencil
Stereo balance in MIDI3.5.8 Context properties for MIDI effects
stoppedFermata scripts
storePredefinedDiagramA.19 Available music functions
string numbersBowing indications
string numbersString number indications
String quartet templatesReferences for unfretted strings
String quartet templatesVegeu també
string vs. fingering numbersString number indications
string, indicating openBowing indications
StringNumberVegeu també
strings, orchestral2.3 Unfretted string instruments
strings, writing for2.3 Unfretted string instruments
stringTuningA.19 Available music functions
stringTuningsCustom tablatures
stringTuningsPredefined fret diagrams
StrokeFingerVegeu també
Style sheetsUsing global settings
Style sheetsVegeu també
styledNoteHeadsA.19 Available music functions
Subbass clefA.10 Clef styles
subscript textA.11.1 Font
subíndexSelecció del tipus de lletra i la seva mida
suggestAccidentalsAnnotational accidentals (musica ficta)
superscript textA.11.1 Font
superíndexSelecció del tipus de lletra i la seva mida
susAcords estesos i alterats
SustainEventVegeu també
SustainPedalVegeu també
SustainPedalLineSpannerVegeu també
SVG output3.4.3 Alternative output formats
system-count\paper variables for line breaking
system-separator-markupMiscellaneous \paper variables
system-system-spacingList of flexible vertical spacing \paper variables
systems-per-page\paper variables for line breaking
SystemStartBarVegeu també
SystemStartBarVegeu també
SystemStartBraceVegeu també
SystemStartBraceVegeu també
SystemStartBracketVegeu també
SystemStartBracketVegeu també
SystemStartSquareVegeu també
SystemStartSquareVegeu també
sèptima, acords deAcords més usuals
síl·labes, duració automàtica de lesDuració automàtica de les síl·labes
símbols no musicalsNotació gràfica dins d’elements de marcatge
símbols, tipus de lletra al marcatgeExplicació dels tipus de lletra

T
Tab clefA.10 Clef styles
tab clefCustom tablatures
tab micro-tonesCustom tablatures
tab quarter-tonesCustom tablatures
tabChordRepeatsA.19 Available music functions
tabChordRepetitionA.19 Available music functions
tablature2.4 Fretted string instruments
tablature and harmonic indicationsDefault tablatures
tablature and slidesFragments de codi seleccionats
tablature, banjo2.4 Fretted string instruments
tablature, banjoCustom tablatures
tablature, banjoBanjo tablatures
tablature, bassCustom tablatures
tablature, bass guitarCustom tablatures
tablature, celloCustom tablatures
tablature, custom string tuningsCustom tablatures
tablature, double bassCustom tablatures
tablature, guitar2.4 Fretted string instruments
tablature, guitarCustom tablatures
tablature, luteLute tablatures
tablature, mandolinCustom tablatures
tablature, predefined string tuningsCustom tablatures
tablature, ukuleleCustom tablatures
tablature, violaCustom tablatures
tablature, violinCustom tablatures
tablatures, basicDefault tablatures
tablatures, customCustom tablatures
tablatures, defaultDefault tablatures
TabNoteHeadVegeu també
TabStaffVegeu també
TabStaffVegeu també
tabulatura, pauta deCreació d’instàncies de pentagrames nous
TabVoiceVegeu també
Tab_note_heads_engraverVegeu també
tagA.19 Available music functions
tag groupsUsing tags
tagGroupA.19 Available music functions
tam tamAncient scripts
tambourineAncient scripts
taqasimVegeu també
teachingAlteracions accidentals automàtiques
teaching (enseñanza), estilo de alteracionesAlteracions accidentals automàtiques
tecla, pentagrames per a instruments deReferències per a teclats
teclat, pentagrames per a instruments deReferències per a teclats
teclats, matisos centratsReferències per a teclats
teenySelecció del la mida del tipus de lletra per a la notació
Template Arabic musicArabic music example
tempoIndicacions metronòmiques
tempo indicationVegeu també
temporaryA.19 Available music functions
temps, administracióGestió del temps
temps, control del (dins de la partitura)Gestió del temps
temps, repeticions i comptador deAdvertiments i problemes coneguts
tenor clefA.10 Clef styles
Tenor G clefA.10 Clef styles
Tenor varC clefA.10 Clef styles
tenor, clau deClau
tenor, clau de, coralClau
tenutoVegeu també
tenutoA.14 List of articulations
tessituraTessitura
textPedals de piano
text a cela de repeticióMarques de repetició manual
text ajustat a paraulesAlineació de text
text columns, left-alignedA.11.2 Align
text columns, right-alignedA.11.2 Align
text de diverses líniesAlineació de text
text de marcatge ajustat a paraulesAlineació de text
text del nivell superiorText separat
text destacatScripts de text
text en columnesAlineació de text
Text encoding1.8.1 Escriptura del text
text entre cometes en mode de marcatgeIntroducció al marcatge de text
text fora del margeVegeu també
text independentText separat
text justificatAlineació de text
Text markup commandsIntroducció al marcatge de text
Text markup commandsVegeu també
Text markup commandsVegeu també
Text markup list commandsElements de marcatge de diverses pàgines
Text markup list commandsVegeu també
text que ocupa diverses pàginesElements de marcatge de diverses pàgines
text separatText separat
text sobre la barra de compàsIndicacions de text
text sobre un silenci multicompàsSilencis de compas complet
text, alineació deAlineació de text
text, alineació horitzontalAlineació de text
text, alineació verticalAlineació de text
text, centrar a la pàginaAlineació de text
text, decorarNotació gràfica dins d’elements de marcatge
text, elements d’extensióExtensions de text
text, elements no buits deScripts de text
text, emmarcarNotació gràfica dins d’elements de marcatge
text, en altres llengües1.8.1 Escriptura del text
text, farciment deNotació gràfica dins d’elements de marcatge
text, format dels elements d’extensióExtensions de text
text, indicacions deIndicacions de text
text, inscripcions deScripts de text
text, instruccions de alineacióAlineació de text
text, mantenir dins del margeVegeu també
text, marcatge deIntroducció al marcatge de text
text, mida deSelecció del tipus de lletra i la seva mida
text-interface5.2.2 Layout interfaces
text-interfaceA.11.7 Other
text-script-interface5.2.2 Layout interfaces
TextScriptVegeu també
TextScriptVegeu també
TextScriptVegeu també
TextScriptVegeu també
TextScriptVegeu també
TextScriptVegeu també
TextScriptVegeu també
TextScriptVegeu també
TextScriptVegeu també
TextSpannerVegeu també
TextSpannerVegeu també
Text_engraverVegeu també
The Emmentaler fontMarques d’assaig
The Emmentaler fontVegeu també
The Emmentaler fontNotació musical dins d’elements de marcatge
The Emmentaler fontVegeu també
The Emmentaler fontVegeu també
The Emmentaler fontA.11.4 Music
The outside-staff-priority property4.4.3 Vertical collision avoidance
The tweak commandVegeu també
The tweak commandVegeu també
The tweak commandAdvertiments i problemes coneguts
thumbA.14 List of articulations
thumb-scriptIndicacions de digitació
TieVegeu també
tieVegeu també
tieVegeu també
tie-ing textA.11.1 Font
TieColumnVegeu també
TieColumnVegeu també
tieDashPatternA.19 Available music functions
ties, modifyingModifying ties and slurs
timbaleAncient scripts
timeA.19 Available music functions
time signatureVegeu també
time signature styleMensural time signatures
time signature, mensuralMensural time signatures
time signature, multiple5.1.4 Modifying context plug-ins
timesA.19 Available music functions
TimeScaledMusicVegeu també
TimeSignatureVegeu també
TimeSignatureVegeu també
timeSignatureFractionNotació polimètrica
Timing_translatorVegeu també
Timing_translatorVegeu també
Timing_translatorVegeu també
Timing_translatorVegeu també
Timing_translatorVegeu també
Timing_translatorA.17 All context properties
tinySelecció del la mida del tipus de lletra per a la notació
tipus de lletra (de notació), midaSelecció del la mida del tipus de lletra per a la notació
tipus de lletra (de notació), mida estàndard de Comprensió de la propietat fontSize
tipus de lletra de símbols en marcatgeExplicació dels tipus de lletra
tipus de lletra, buscar, disponiblesTipus de lletra d’un sol element
tipus de lletra, canviarSelecció del tipus de lletra i la seva mida
tipus de lletra, canviar per a tot el documentTipus de lletra del document complet
tipus de lletra, establir la família deTipus de lletra del document complet
tipus de lletra, explicacióExplicació dels tipus de lletra
tipus de lletra, explicacióExplicació dels tipus de lletra
tipus de lletra, famílies deSelecció del tipus de lletra i la seva mida
tipus de lletra, mida deSelecció del tipus de lletra i la seva mida
titles3.2 Titles and headers
Titles and headers1.8 Text
tocItemA.19 Available music functions
tom tomAncient scripts
TopLilyPond — Referència de la notació
TopLilyPond — Referència de la notació
Top5. Changing defaults
top-margin4.1.3 Fixed vertical spacing \paper variables
top-markup-spacingList of flexible vertical spacing \paper variables
top-system-spacingList of flexible vertical spacing \paper variables
toplevel-bookpartsparser variable
toplevel-scoresparser variable
transcripció de música mensuralFragments de codi seleccionats
transformacions modalsTransformacions modals
transformació de retrogradacióRetrogradació
translating textA.11.2 Align
translating textA.11.2 Align
Translation5.2.1 Navigating the program reference
transparent, making objectsMaking objects transparent
transparents, notesNotes ocultes
transportTransposició
transport Transposició modal
transport modal Transposició modal
transposeA.19 Available music functions
transposed clefs, visibility of Transposed clefs
transposedCueDuringA.19 Available music functions
TransposedMusicVegeu també
transposicióTransposició
transposició d’alturesTransposició
transposició de MIDITransposició dels instruments
transposició de notesTransposició
transposició i mode relatiuVegeu també
transposició instrumentalTransposició dels instruments
transposició modal Transposició modal
transposició, de octava, opcionalClau
transposing fret diagramsPredefined fret diagrams
transposing instrumentVegeu també
transposing instrumentVegeu també
transpositionA.19 Available music functions
transpositor, instrumentTransposició dels instruments
transpositores, clausClau
transpositors, instrumentsTransposició
tre cordePedals de piano
Treble clefA.10 Clef styles
tremoloRepeticions de trèmol
trencat, acordArpegi
tresetsGrups especials
tresets, format deFragments de codi seleccionats
triadesAcords més usuals
triangleAncient scripts
trillVegeu també
TrillSpannerVegeu també
TrillSpannerVegeu també
tripletVegeu també
trèmolRepeticions de trèmol
trèmol, indicacions deRepeticions de trèmol
trèmols de pentagrama creuatVegeu també
Tunable context propertiesDiverses notes sobre una síl·laba
Tunable context propertiesVegeu també
Tunable context properties5.3.2 The \set command
Tunable context propertiesVegeu també
tuning, non-WesternExtending notation and tuning systems
tunings, banjoBanjo tablatures
tunings, luteLute tablatures
tupletVegeu també
TupletBracketVegeu també
TupletNumberVegeu també
tupletNumberFormatFunctionFragments de codi seleccionats
tupletSpanA.19 Available music functions
tupletSpannerDurationFragments de codi seleccionats
Turkish musicReferences for Turkish classical music
Turkish note namesTurkish note names
turnArticulation scripts
tweakA.19 Available music functions
tweak, relation to \override5.3.5 \set vs. \override
tweaking5.3.4 The \tweak command
tweaking control pointsAdvertiments i problemes coneguts
Tweaking methods5.3.4 The \tweak command
Tweaking methodsVegeu també
Tweaking output5. Changing defaults
Tweaking outputVegeu també
two-sided\paper variables for two-sided mode
typefaceglyph
Typesetting Gregorian chantVegeu també
Typesetting Kievan square notationBarres de compàs

U
U.C.Pedals de piano
ukuleleFret diagram markups
una cordaPedals de piano
UnaCordaEventVegeu també
UnaCordaPedalVegeu també
UnaCordaPedalLineSpannerVegeu també
unbreakable-spanner-interfaceVegeu també
underlining textA.11.1 Font
undertie-ing textA.11.1 Font
undoA.19 Available music functions
unfoldRepeticions explícites
UnfoldedRepeatedMusicVegeu també
UnfoldedRepeatedMusicVegeu també
unfoldRepeatsA.19 Available music functions
UnicodeUnicode
unpure containers, Scheme5.5.6 Unpure-pure containers
up bow indicationBowing indications
upbowFermata scripts
upmordentArticulation scripts
upprallArticulation scripts
Using tagsCites a altres veus
Using tagsVegeu també
Using tagsFormat de les notes guia
Using tagsVegeu també
UTF-8Text encoding

V
Varbaritone clefA.10 Clef styles
VarC clefA.10 Clef styles
varcodaArticulacions i ornaments
varcodaInstrument-specific scripts
variables3.1.5 File structure
variables, use ofUsing variables
Vaticana, Editio2.9 Ancient notation
Vaticana, Editio2.9.1 Overview of the supported styles
VaticanaStaffVegeu també
VaticanaVoiceGregorian chant contexts
vers, número deAfegir números de vers
Vertical spacingDisposicions de la partitura per a música coral
vertical spacing4.4 Vertical spacing
Vertical spacingVegeu també
vertical spacing4.5.4 Line width
vertical, alineació de textAlineació de text
vertical, línia, entre pentagramesLínies de reixeta
vertical, posició, de les indicacions dinàmiquesMatisos dinàmics
VerticalAxisGroupVegeu també
VerticalAxisGroupVegeu també
VerticalAxisGroupWithin-system spacing properties
VerticalAxisGroupVegeu també
VerticalAxisGroupVegeu també
VerticalAxisGroupVegeu també
VerticalAxisGroupVegeu també
VerticalAxisGroupA.20 Context modification identifiers
VerticalAxisGroupA.20 Context modification identifiers
VerticalAxisGroupA.20 Context modification identifiers
vertically centering textA.11.2 Align
verylongfermataOrnament scripts
veuPolifonia en un sol pentagrama
veu, estil d’alteracionsAlteracions accidentals automàtiques
veu, seguiment deLínies de canvi de pentagrama
veus divididesVeus dividides
Veus explícites La construcció de la doble barra invertida
Veus explícitesVegeu també
veus, alteracions en diversesAlteracions accidentals automàtiques
veus, citarFormat de les notes guia
veus, diversesResolució de les col·lisions
vibraslapAncient scripts
Violin clefA.10 Clef styles
violí, clau deClau
Visibilitat i color dels objectesVegeu també
Visibilitat i color dels objectesVegeu també
Visibilitat i color dels objectesVegeu també
Visibilitat i color dels objectesVegeu també
Visibility and color of objects5.1.4 Modifying context plug-ins
Visibility and color of objects5.4.7 Visibility of objects
Visibility and color of objectsUsing break-visibility
Visibility and color of objectsVegeu també
visibility of objects5.4.7 Visibility of objects
Visibility of objectsVegeu també
Visibility of objectsIndicació de compàs
Visibility of objectsVegeu també
Visibility of objectsVegeu també
Visibility of objectsVegeu també
Visibility of objectsVegeu també
visibility of transposed clefs Transposed clefs
voces, \partcombine con \autoBeamOffFragments de codi seleccionats
VoiceVegeu també
voiceAlteracions accidentals automàtiques
VoiceVegeu també
voiceAlteracions accidentals automàtiques
VoiceCombinació automàtica de les parts
VoiceVegeu també
VoiceVegeu també
VoiceVegeu també
VoiceVegeu també
Voice4.5.1 Horizontal spacing overview
Voice5.2.3 Determining the grob property
VoiceFollowerVegeu també
VoiceFollowerVegeu també
voicesA.19 Available music functions
voidA.19 Available music functions
voltaVegeu també
volta, prima1.4.1 Repeticions llargues
volta, seconda1.4.1 Repeticions llargues
VoltaBracketVegeu també
VoltaBracketVegeu també
VoltaRepeatedMusicVegeu també
VoltaRepeatedMusicVegeu també
Volta_engraverVegeu també

W
Walker, caps de nota amb formaCaps de notes amb formes diverses
whichBarBarres de compàs
whistleAncient scripts
White mensural ligaturesWhite mensural ligatures
whitespace3.1.5 File structure
wind instrumentsReferences for wind instruments
with-colorAcoloriment d’objectes
Within-staff objectsThe direction property
Within-staff objectsVegeu també
withMusicPropertyA.19 Available music functions
woodblockAncient scripts
Working on input filesVegeu també

X
X-offsetWithin-system spacing properties
x11, color deVegeu també
x11, color deAcoloriment d’objectes
x11-colorAcoloriment d’objectes
x11-colorVegeu també
xifrat americàPanoràmica del mode d’acords
xNoteA.19 Available music functions

Salta a:   !   "   '   ,   -   .   /   1   8   :   <   =   >   ?   [   \   ]   ^   _   |   ~  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  

Notes a peu de pàgina

[1] Scheme tutorial, contains a short tutorial on entering numbers, lists, strings, and symbols in Scheme.


Taula de contingus


Quant a aquest document

This document was generated by Build Daemon user on Maig 11, 2018 using texi2html 1.82.

Els botons dels plafons de navegació tenen els significat següent:

Botó Nom Ves a De 1.2.3 ves a
[]
[ << ] Endarrere ràpid Inici d’aquest capítol o capítol previ 1
[]
[Part superior] Part superior Portada (inici) del document  
[Continguts] Continguts Taula de continguts  
[Índex] Índex Índex  
[ ? ] Quant a Quant a (ajuda)  
[]
[ >> ] Endavant ràpid Capítol següent 2
[]
[]
[ < ] Endarrere Secció prèvia en ordre de lectura 1.2.2
[]
[ Amunt ] Amunt Amunt secció 1.2
[]
[ > ] Endavant Secció següent en ordre de lectura 1.2.4

on l’ Exemple suposa que la posició actual està a Subsubsecció U-Dos-tres d’un document a l’estructura següent:


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.19.81 (branca de desenvolupament).