4.1.1 Introducció a l’estructura dels fitxers del LilyPond (Manual d’aprenentatge del GNU LilyPond)

#### 4.1.1 Introducció a l’estructura dels fitxers del LilyPond

Un exemple bàsic de fitxer d’entrada del LilyPond és el següent:

    \version "2.26.0"

    \header { }

    \score {
       … expressió musical composta …   % tota la música va aquí
      \layout { }
      \midi { }
    }

Hi ha moltes variacions d’aquest esquema bàsic, però l’exemple constitueix un punt de partida útil.

Fins al moment, cap dels exemples que heu pogut veure utilitza la instrucció `\score{}`. Això és així perquè el LilyPond afegeix automàticament les ordres addicionals que es requereixen quan li proporcionem una entrada senzilla. El LilyPond tracta una entrada com aquesta:

    \relative {
      c''4 a d c
    }

com una abreviatura d’aquesta altra:

    \book {
      \score {
        \new Staff {
          \new Voice {
            \relative {
              c''4 a b c
            }
          }
        }
        \layout { }
      }
    }

En altres paraules, si l’entrada consta d’una única expressió musical, el LilyPond interpreta el fitxers com si l’expressió musical estigués rodejada per un embolcall fet per les instruccions que acabem de veure.

¡Advertiment! Molts dels exemples que apareixen a la documentació del LilyPond ometen les instruccions `\new Staff` i `\new Voice`, deixant que es creïn de forma implícita. Això funciona bé per a exemples senzills, però per a exemples més complicats, especialment quan s’usen instruccions addicionals, la creació implícita dels contextos poden donar lloc a resultats inesperats, fins i tot en ocasions crear pentagrames no desitjats. La forma de crear contextos de forma explícita s’explica a Contextos i gravadors.

Nota: Quan s’escriuen més d’unes poques línies de música, es recomana crear sempre els pentagrames i les veus de forma explícita.

En tot cas, per ara anem a tornar al primer exemple per examinar l’ordre `\score`, deixant les altres en la seva forma predeterminada.

Un bloc `\score` sempre ha de contenir una expressió musical única, que ha d’aparèixer immediatament després de la instrucció `\score`. Recordeu que una expressió musical pot ser qualsevol cosa, des d’una sola nota fina una enorme expressió composta com ara

    {
      \new StaffGroup <<
         … inseriu aquí la partitura completa d'una òpera
      de Wagner …
      >>
    }

A causa que tot es troba dins de `{ … }`, compta com una expressió musical.

Com hem vist anteriorment, el bloc `\score` pot contenir altres coses, com ara

    \score {
      { c'4 a b c' }
      \header { }
      \layout { }
      \midi { }
    }

Observeu que aquestes tres instruccions (`\header`, `\layout` i `\midi`) són especials: a diferència de la resta de les instruccions que comencen amb una barra invertida (`\`), no són expressions musicals i no formen part de cap expressió musical. Per tant, es poden posar dins d’un bloc `\score` o a fora d’ell. De fet, aquestes instruccions se situen en general fora del bloc `\score` (per exemple, `\header` se sol col·locar abans de la instrucció `\score`, com mostra l’exemple que apareix al principi de la secció.)

Dues instruccions més que no hem vist són `\layout { }` i `\midi { }`. Si apareixen tal i com es mostren aquí, fan que el LilyPond produeixi una sortida impresa i una sortida MIDI, respectivament. Es descriuen amb tot detall al manual de Referència de la notació, a Disposició de la partitura i a Creació de sortida MIDI.

Podem escriure diversos blocs `\score`. Cada un d’ells rebrà el mateix tractament que una partitura independent, però es combinaran tots junts a un fitxer de sortida únic. No fa falta cap instrucció `\book`, es crearà un implícitament. No obstant, si voleu fitxers de sortida separats a partir d’un únic fitxer `.ly`, aleshores cal utilitzar l’ordre `\book` per separar les diferents seccions: cada bloc `\book` produeix un fitxer de sortida diferent.

En resum:

Cada bloc `\book` crea un fitxer de sortida diferent (per exemple, un fitxer PDF). Si no hem escrit un de forma explícita, el LilyPond envolta tot el nostre codi d’entrada dins d’un bloc `\book` de forma implícita.

Cada bloc `\score` és un tros de música separat dins d’un bloc `\book`.

Cada bloc `\layout` afecta el bloc `\score` o `\book` dins del qual apareix (és a dir, un bloc `\layout` dins d’un bloc `\score`) afecta solament a aquest bloc `\score`, però un bloc `\layout` fora d’un bloc `\score` (que per això està dins d’un bloc `\book`, ja sigui explícit o implícitament) afecta als blocs `\score` que estan dins d’aquest `\book`.

Per veure més detalls, consulteu Diverses partitures a un llibre.

Una altra magnifica drecera és la possibilitat de definir variables com es mostra a Organitzar les peces mitjançant variables. Totes les plantilles fan servir el següent:

    melodia = \relative {
      c'4 a b c
    }

    \score {
      \melodia
    }

Quan el LilyPond examina aquest fitxer, agafa el valor de `melodia` (tot el que hi ha després del signe igual) i l’insereix a tot arreu que veu `\melodia`. No es requereix una cura especial amb el nom (pot ser `melodia`, `global`, `CompasArmadura`, `madretadelpiano` o `fulanet` o qualsevol altre). Recordeu que pot ser gairebé qualsevol nom que se us acudeixi, sempre i quan contingui sols caràcters alfabètics i sigui diferent a qualsevol dels noms d’instrucció del LilyPond. Per veure més detalls, consulteu Estalvi de tecleig mitjançant variables i funcions. Les limitacions exactes que afecten els noms de variable es detallen a Estructura del fitxer.

#### Vegeu també

Per veure una definició completa del format del codi d’entrada, consulteu Estructura del fitxer.

#### Manual d’aprenentatge del GNU LilyPond v2.26.0 (stable-branch).

- 1 Installing
  - 1.1 Graphical setup
  - 1.2 Command line setup
- 2 Tutorial
  - 2.1 Compilació d’un fitxer
  - 2.2 Com escriure fitxers d’entrada
    - 2.2.1 Notació senzilla
      - Altures
      - Duracions (valors rítmics)
      - Silencis
      - Indicació de compàs
      - Indicacions de tempo
      - Clau
      - Tot a l’hora
    - 2.2.2 Treball sobre els fitxers d’entrada
  - 2.3 Gestió dels errors
    - 2.3.1 Consells generals de solució de problemes
    - 2.3.2 Alguns errors comuns
  - 2.4 Com llegir els manuals
    - 2.4.1 Material omès
    - 2.4.2 Exemples amb enllaç
    - 2.4.3 Panoràmica dels manuals
- 3 Notació corrent
  - 3.1 Notació en un sol pentagrama
    - 3.1.1 Línies divisòries i comprovacions de compàs
      - Línies divisòries
      - Comprovacions de compàs
    - 3.1.2 Alteracions accidentals i armadures
      - Alteracions accidentals
      - Armadures
      - Advertiment: armadures i altures
    - 3.1.3 Lligadures d’unió i d’expressió
      - Lligadures d’unió
      - Lligadures d’expressió
      - Lligadures de fraseig
      - Advertiments: lligadures d’expressió en front a lligadures d’unió
    - 3.1.4 Articulacions i matisos dinàmics
      - Articulacions
      - Indicacions de digitació
      - Matisos dinàmics
    - 3.1.5 Addició de text
    - 3.1.6 Barres automàtiques i manuals
    - 3.1.7 Instruccions rítmiques avançades
      - Compàs parcial
      - Grups especials
      - Notes d’adorn
  - 3.2 Diverses notes a l’hora
    - 3.2.1 Explicació de les expressions musicals
      - Analogia: expressions matemàtiques
      - Expressions musicals simultànies: diversos pentagrames
      - Expressions musicals simultànies: un sol pentagrama
    - 3.2.2 Diversos pentagrames
    - 3.2.3 Grups de pentagrames
    - 3.2.4 Combinar notes per formar acords
    - 3.2.5 Polifonia a un sol pentagrama
  - 3.3 Cançons
    - 3.3.1 Elaborar cançons senzilles
    - 3.3.2 Alineació de la lletra a una melodia
    - 3.3.3 Lletra en diversos pentagrames
  - 3.4 Retocs finals
    - 3.4.1 Organitzar les peces mitjançant variables
    - 3.4.2 Afegir títols
    - 3.4.3 Noms de nota absoluts
    - 3.4.4 Més enllà del tutorial
- 4 Conceptes fonamentals
  - 4.1 Com funcionen els fitxers d’entrada del LilyPond
    - 4.1.1 Introducció a l’estructura dels fitxers del LilyPond
    - 4.1.2 La partitura és una (única) expressió musical composta
    - 4.1.3 Niuat d’expressions musicals
    - 4.1.4 Quant a la impossibilitat de niuar claus i lligadures
  - 4.2 Les veus contenen música
    - 4.2.1 Sento veus
    - 4.2.2 Veus explícites
    - 4.2.3 Veus i música vocal
  - 4.3 Contextos i gravadors
    - 4.3.1 Explicació dels contextos
    - 4.3.2 Creació de contextos
    - 4.3.3 Explicació dels gravadors
    - 4.3.4 Modificar les propietats dels contextos
    - 4.3.5 Afegir i eliminar gravadors
  - 4.4 Extensió de les plantilles
    - 4.4.1 Soprano i violoncel
    - 4.4.2 Partitura vocal a quatre veus SATB
    - 4.4.3 Crear una partitura partint de zero
    - 4.4.4 Estalvi de tecleig mitjançant variables i funcions
    - 4.4.5 Partitures i particel·les
- 5 Ajustament de la sortida
  - 5.1 Elements d’ajustament
    - 5.1.1 Introducció a l’ajustament
    - 5.1.2 Objectes i interfícies
    - 5.1.3 Convencions de noms d’objectes i propietats
    - 5.1.4 Mètodes d’ajustament
      - L’ordre `\override`
      - L’ordre `\revert`
      - El prefix `\once`
      - L’ordre `\overrideProperty`
      - L’ordre `\tweak`
      - El prefix `\single`
  - 5.2 Manual de referència de funcionament intern
    - 5.2.1 Propietats dels objectes de presentació
    - 5.2.2 Propietats de les interfícies
    - 5.2.3 Tipus de propietats
  - 5.3 Aparença dels objectes
    - 5.3.1 Visibilitat i color dels objectes
      - La propietat `stencil` (segell)
      - La propietat `break-visibility` (visibilitat del salt)
      - La propietat `transparent` (transparent)
      - La propietat `color`
    - 5.3.2 Mida dels objectes
    - 5.3.3 Longitud i gruix dels objectes
  - 5.4 Col·locació dels objectes
    - 5.4.1 Comportament automàtic
    - 5.4.2 Objectes interiors al pentagrama
      - La propietat `direction` (direcció)
      - Digitacions
    - 5.4.3 Objectes fora del pentagrama
      - La propietat `outside-staff-priority` (prioritat fora del pentagrama)
      - L’ordre `\textLengthOn`
      - Posicionament dels matisos dinàmics
      - Escalat d’un «Grob»
  - 5.5 Espaiat vertical
  - 5.6 Col·lisions d’objectes
    - 5.6.1 Moviment d’objectes
    - 5.6.2 Ajustament de la notació amb superposicions
      - La propietat `padding` (farciment))
      - La propietat `right-padding` (farciment per la dreta)
      - La propietat `staff-padding` (farciment de pentagrama)
      - La propietat `self-alignment-X` (auto-alineació en X)
      - La propietat `staff-position` (posició al pentagrama)
      - La propietat `extra-offset` (desplaçament addicional)
      - La propietat `positions` (posicions)
      - La propietat `force-hshift` (forçar desplaçament horitzontal)
    - 5.6.3 Exemple real de música
  - 5.7 Ajustaments addicionals
    - 5.7.1 Altres aplicacions dels ajustaments
      - Unió de notes entre veus diferents
      - Simulació de un calderó al MIDI
    - 5.7.2 Ús de variables per als ajustaments de disposició
    - 5.7.3 Fulls d’estil
    - 5.7.4 Altres fonts d’informació
    - 5.7.5 Ajustaments avançats amb l’Scheme
- Appendix A Plantilles
  - A.1 Plantilles incorporades
    - A.1.1 Plantilla coral SATB
    - A.1.2 Plantilla coral SSAATTBB
  - A.2 Plantilles de pentagrama únic
    - A.2.1 Sols notes
    - A.2.2 Notes i lletra
    - A.2.3 Notes i acords
    - A.2.4 Notes, lletra i acords
  - A.3 Plantilles de piano
    - A.3.1 Piano sol
    - A.3.2 Piano i melodia amb lletra
    - A.3.3 Piano amb lletra centrada
  - A.4 Plantilles de quartet de corda
    - A.4.1 Quartet de corda simple
    - A.4.2 Particel·les de quartet de corda
  - A.5 Plantilles de conjunts vocals
    - A.5.1 Partitura vocal SATB
    - A.5.2 Partitura vocal SATB i reducció per a piano automàtica
    - A.5.3 SATB amb contextos alineats
    - A.5.4 SATB sobre quatre pentagrames
    - A.5.5 Estrofes a sol y tornada a dues veus
    - A.5.6 Melodies d’himnes
    - A.5.7 Salms
  - A.6 Plantilles orquestrals
    - A.6.1 Orquestra, cor i piano
  - A.7 Plantilles per a notació antiga
    - A.7.1 Transcripció dfe música mensural
    - A.7.2 Plantilla per a transcripció de cant gregorià
  - A.8 Altres plantilles
    - A.8.1 Combo de jazz
- Appendix B GNU Free Documentation License
- Appendix C Índex