]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/es/user/fundamental.itely
engravers explained
[lilypond.git] / Documentation / es / user / fundamental.itely
index e08c948b14c80063bf2028331100c5bb7957f571..c2a9b3f4835c2fc3c57810825ce4c09cc469b904 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond-learning.tely
 @ignore
-    Translation of GIT committish: d9b4bfc69674eb4ed7b8c6eaa0b646f00eae6c8d
+    Translation of GIT committish: bea70d053e3e279c3fbb18cbce52d995ce04fec7
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @node Fundamental concepts
 @chapter Fundamental concepts
 
-UNTRANSLATED NODE: IGNORE ME
+Ha podido ver en el tutorial cómo producir música bellamente impresa a
+partir de un simple archivo de texto.  Esta sección presenta los
+conceptos y técnicas que se requieren para producir partituras
+igualmente bellas pero más complejas.
 
-@menu 
-* How LilyPond files work::
-* Voices contain music::
-* Contexts and engravers::
-* Extending the templates::
+@menu
+* How LilyPond files work::     
+* Voices contain music::        
+* Contexts and engravers::      
+* Extending the templates::     
 @end menu 
+
+
 @node How LilyPond files work
 @section How LilyPond files work
 
-UNTRANSLATED NODE: IGNORE ME
+El formato de entrada de LilyPond es bastante libre en su forma y
+concede a los usuarios con experiencia mucha flexibilidad para
+estructurar sus archivos de la forma que deseen.  Sin embargo, toda
+esta flexibilidad puede hacer que las cosas se vuelvan confusas para
+los nuevos usuarios.  Esta sección le va a explicar parte de esta
+estructura, pero puede obviar ciertos detalles en aras de la
+simplicidad.  Para ver una descripción completa del formato de
+entrada, consulte @ruser{File structure}.
+
 
-@menu 
-* Introduction to the LilyPond file structure::
-* Score is a (single) compound musical expression::
-* Nesting music expressions::
-* On the un-nestedness of brackets and ties::
+@menu
+* Introduction to the LilyPond file structure::  
+* Score is a (single) compound musical expression::  
+* Nesting music expressions::   
+* On the un-nestedness of brackets and ties::  
 @end menu 
+
 @node Introduction to the LilyPond file structure
 @subsection Introduction to the LilyPond file structure
 
-UNTRANSLATED NODE: IGNORE ME
+Un ejemplo básico de archivo de entrada de lilypond es el siguiente:
+
+@example
+\version @w{"@version{}"}
+\score @{
+  @var{...expresión musical compuesta...}  % toda la música viene aquí
+  \header @{ @}
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+@noindent
+Existen muchas variaciones de este esquema básico, pero el ejemplo
+constituye un útil punto de partida.
+
+Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
+instrucción @code{\score@{@}}.  Esto es así a causa de que LilyPond
+añade automáticamente las órdenes adicionales que se requieren cuando
+le proporcionamos una entrada sencilla.  LilyPond trata una entrada
+como ésta:
+
+@example
+\relative c'' @{
+  c4 a d c
+@}
+@end example
+
+@noindent
+como una abreviatura de esta otra:
+
+@example
+\book @{
+  \score @{
+    \new Staff @{
+      \new Voice @{
+        \relative c'' @{
+          c4 a b c
+        @}
+      @}
+    @}
+    \layout @{ @}
+  @}
+@}
+@end example
+
+En tras palabras, si la entrada consta de una única expresión musical,
+LilyPond interpreta el archivo como si la expresción musical estuviera
+rodeada por un envoltorio hecho por las instrucciones que acabamos de
+ver.  De todas formas, vamos a volver al primer ejemplo para examinar
+la instrucción @code{\score}, dejando las demás en su forma
+predeterminada.
+
+Un bloque @code{\score} siempre debe contener una expresión musical
+única, que debe aparecer inmediatamente después de la instrucción
+@code{\score}.  Recuerde que una expresión musical podía ser cualquier
+cosa entre una sola nota hasta una enorme expresión compuesta como
+
+@example
+@{
+  \new GrandStaff <<
+    @var{...inserte aquí la partitura completa de una ópera de Wagner...}
+  >>
+@}
+@end example
+
+@noindent
+Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
+una expresión musical.
+
+Como vimos anteriormente, el bloque @code{\score} puede contener otras
+cosas, tales como
+
+@example
+\score @{
+  @{ c'4 a b c' @}
+  \header @{ @}
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+@noindent
+Hay personas que ponen algunos de estos comandos fuera del
+bloque @code{\score} (por ejemplo, @code{\header} se
+sitúa con frecuencia por encima del @code{\score}.  Es tan sólo
+otra abreviatura que LilyPond acepta.
+
+Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
+y @code{\midi @{@}}.  Si aparecen tal y como se muestran aquí, hacen
+que LilyPond produzca una salida impresa y una salida MIDI,
+respectivamente.  Se describen con todo detalle en el manual de
+Referencia de la notación, en @ruser{Score layout} y en
+@ruser{Creating MIDI files}.
+
+Podemos escribir varios bloques @code{\score}.  Cada uno de ellos
+recibirá el mismo tratamiento que una partitura independiente, pero se
+combinarán todos juntos en un archivo de salida único.  No se necesita
+ninguna instrucción @code{\book}, se creará una implícitamente.  Sin
+embargo, si quiere archivos de salida separados a partir de un archivo
+@code{.ly}, entonces es necesario utilizar la instrucción @code{\book}
+para separar las distintas secciones: cada bloque @code{\book} produce
+un archivo de salida distinto.  Para ver más detalles, consulte
+@ruser{Multiple scores in a book}.
+
+@cindex variables
+
+Otro atajo genial es la posibilidad de definir variables.
+Todas las plantillas emplean lo siguiente:
+
+@example
+melodia = \relative c' @{
+  c4 a b c
+@}
+
+\score @{
+  \melodia
+@}
+@end example
+
+Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
+(todo lo que está después del signo igual) y lo inserta dondequiera
+que ve @code{\melodia}.  No se requiere un cuidado especial con los
+nombres (puede ser @code{melodia}, @code{global},
+@code{manoderechadelpiano} o @code{fulanomengano}).  Para ver más
+detalles, consulte @ref{Saving typing with variables and functions}.
+Recuerde que puede usar casi cualquier nombre que se le ocurra, en la
+medida en que contenga solamente caracteres alfabéticos y sea
+diferente de cualquiera de los nombres de instrucción de LilyPond.
+Las limitaciones exactas que afectan a los nombres de variable se
+detallan en @ruser{File structure}.
+
+
+@seealso
+
+Para ver una definición completa del formato del código de entrada,
+consulte @ruser{File structure}.
 
 @node Score is a (single) compound musical expression
 @subsection Score is a (single) compound musical expression
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex expresión musical compuesta
+@cindex música, expresión compuesta de
+
+En la sección anterior, @ruser{How LilyPond files work} hemos podido
+ver la organización general de los archivos de entrada de LilyPond.
+Pero parece que nos saltamos la parte más importante: ¿cómo
+averiguamos qué escribir después de @code{\score}?
+
+No nos hemos saltado nada en absoluto.  El gran misterio es, sencillamente,
+que no hay @emph{ningún} misterio.  La siguiente línea lo explica
+todo:
+
+@quotation
+@emph{Una @code{\score} debe comenzar con una única expresión musical.}
+@end quotation
+
+@noindent
+Quizá encuentre útil dar un repaso a @ruser{Music expressions
+explained}.  En esta sección, vimos cómo elaborar grandes expresiones
+musicales a partir de pequeñas piezas (comenzábamos con notas, luego
+acordes, etc.).  Ahora partiremos de una gran expresión musical y
+recorreremos el camino inverso hacia abajo.
+
+@example
+\score @{
+  @{   % esta llave da inicio a la expresión musical completa
+    \new GrandStaff <<
+      @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
+    >>
+  @}   % esta llave da por terminada la expresión musical completa
+  \layout @{ @}
+@}
+@end example
+
+Una ópera de Wagner completa puede ser fácilmente el doble de larga
+que este manual, por tanto vamos a hacer sólo un cantante y un piano.
+No necesitamos un @code{GrandStaff} para este conjunto, así que lo
+retiramos.  Sin embargo, sí que @emph{necesitamos} un cantante y un
+piano.
+
+@example
+\score @{
+  <<
+    \new Staff = "cantante" <<
+    >>
+    \new PianoStaff = piano <<
+    >>
+  >>
+  \layout @{ @}
+@}
+@end example
+
+Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
+para presentar música simultánea.  Y, por supuesto, queremos presentar
+las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
+Sin embargo, la construcción @code{<< ... >>} no es realmente
+necesaria para el pentagrama del cantante (pues contiene una sola
+expresión musical), pero los pentagramas (Staff) a menudo necesitan
+varias voces (Voice) en su interior, así es bueno adoptar el hábito de
+usar @code{<< ... >>} en lugar de llaves.  Escribiremos algo de música
+real más tarde; por ahora limitémonos a poner algunas notas y letra de
+relleno.
+
+@lilypond[verbatim,quote,ragged-right]
+\score {
+  <<
+    \new Staff = "singer" <<
+      \new Voice = "vocal" { c'1 }
+      \addlyrics { And }
+    >>
+    \new PianoStaff = "piano" <<
+      \new Staff = "upper" { c'1 }
+      \new Staff = "lower" { c'1 }
+    >>
+  >>
+  \layout { }
+}
+@end lilypond
+
+Ahora tenemos muchos más detalles.  Tenemos la pauta del cantante:
+contiene una @code{Voice} o voz (en LilyPond, este término hace
+referencia a un conjunto de notas, no necesariamente notas vocales --
+por ejemplo, un violín generalmente toca una voz --) y el texto de la
+canción.  También tenemos una pauta de piano: contiene un pentagrama
+superior (mano derecha) y un pentagrama inferior (mano izquierda).
+
+En este momento podríamos comenzar a meter las notas.  Dentro de las
+llaves que siguen a @code{\new Voice = vocal}, podríamos empezar
+escribiendo
+
+@example
+\relative c'' @{
+  r4 d8\noBeam g, c4 r
+@}
+@end example
+
+Pero si lo hiciéramos, la sección @code{\score} se haría bastante
+larga y sería más difícil comprender lo que ocurre.  En lugar de esto
+utilizaremos identificadores o variables.  Recordará que las vimos por
+primera vez en la sección anterior.  Así pues, escribiendo algunas
+notas, ahora tenemos un fragmento musical de verdad:
+
+@lilypond[verbatim,quote,ragged-right]
+melody = \relative c'' { r4 d8\noBeam g, c4 r }
+text   = \lyricmode { And God said, }
+upper  = \relative c'' { <g d g,>2~ <g d g,> }
+lower  = \relative c { b2 e2 }
+
+\score {
+  <<
+    \new Staff = "singer" <<
+      \new Voice = "vocal" { \melody }
+      \addlyrics { \text }
+    >>
+    \new PianoStaff = "piano" <<
+      \new Staff = "upper" { \upper }
+      \new Staff = "lower" {
+        \clef "bass"
+        \lower
+      }
+    >>
+  >>
+  \layout { }
+}
+@end lilypond
+
+Tenga cuidado con la diferencia entre las notas, que se introducen con
+@code{\relative}, y la letra, que se introduce con @code{\lyricmode}.
+Estas instrucciones son esenciales para decirle a LilyPond que
+interprete el contenido que viene a continuación como música y texto,
+respectivamente.
+
+Cuando escriba una sección @code{\score} o cuando la esté leyendo,
+hágalo despacio y con cuidado.  Comience por la capa exterior y luego
+trabaje sobre cada una de las capas interiores.  También ayuda ser
+estricto con los márgenes (asegúrese de que en su editor de texto cada
+elemento de la misma capa comienza en la misma posición horizontal).
+
 
 @node Nesting music expressions
 @subsection Nesting music expressions
 
-UNTRANSLATED NODE: IGNORE ME
+No es esencial declarar todos los pentagramas al comienzo; se pueden
+crear temporalmente en cualquier momento.  Esto es de especial
+utilidad para crear secciones de ossia (véase @rglos{ossia}).  A
+continuación presentamos un ejemplo sencillo que muestra cómo
+introducir temporalmente un pentagrama nuevo mientras dura un
+fragmento de tras notas:
 
-@ 
+@lilypond[verbatim,quote,ragged-right]
+\new Staff {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8 
+    <<
+      { f c c }
+      \new Staff {
+        f8 f c
+      }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+@noindent
+Advierta que el tamaño de la clave es igual al que se imprime en un
+cambio de clave (ligemamente menor que la clave al principio de una
+línea).  Esto es normal para cualquier clave que se imprime en la
+mitad de una línea.
+
+La sección ossia se puede colocar encima del pentagrama de la manera
+siguiente:
+
+@lilypond[verbatim,quote,ragged-right]
+\new Staff ="main" {
+  \relative g' {
+    r4 g8 g c4 c8 d |
+    e4 r8
+    <<
+      { f c c }
+      \new Staff \with {
+        alignAboveContext = "main" }
+      { f8 f c }
+    >>
+    r4 |
+  }
+}
+@end lilypond
+
+Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
+adelante.  Es un medio de modificar el comportamiento predeterminado
+de un solo pentagrama.  Aquí, dice que el pentagrama nuevo se debe
+colocar por encima del pentagrama llamado @qq{main} en vez de la
+posición predeterminada que seería por debajo.
+
+Los fragmentos de ossia se escriben a menudo sin clave y sin
+indicación de compás, y generalmente en un tipo más pequeño.  Esto
+necesitaría más instrucciones que aún no se han visto.  Véase
+@ref{Size of objects}
+
 @node On the un-nestedness of brackets and ties
 @subsection On the un-nestedness of brackets and ties
 
-UNTRANSLATED NODE: IGNORE ME
+
+En la escritura del archivo de entrada de LilyPond, hemos podido ver
+algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
+Éstos obedecen a distintas reglas que al principio pueden resultar
+confusas.  Antes de explicar estas reglas, demos un repaso a las
+distintas clases de corchetes, llaves y paréntesis.
+
+@c attempt to force this onto a new page
+@need 50
+@multitable @columnfractions .3 .7
+@headitem Tipo de paréntesis
+  @tab Función
+@item @code{@{ .. @}}
+  @tab Encierra un fragmento secuencial de música
+@item @code{< .. >}
+  @tab Encierra las notas de un acorde
+@item @code{<< .. >>}
+  @tab Encierra secciones concurrentes o simultáneas
+@item @code{( .. )}
+  @tab Marca el comienzo y el final de una ligadura de expresión
+@item @code{\( .. \)}
+  @tab Marca el comienzo y el final de una ligadura de fraseo
+@item @code{[ .. ]}
+  @tab Marca el comienzo y el final de un barrado manual
+@end multitable
+
+A las anteriores, debemos añadir otras construcciones que generan
+líneas entre o a través de las notas: las ligaduras de unión (marcadas
+con una tilde curva, @code{~}), los grupos especiales que se escriben
+como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
+como @code{\grace@{..@}}.
+
+Fuera de LilyPond, el uso convencional de los paréntesis y otros
+corchetes requiere que los distintos tipos se encuentren anidados
+correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
+los paréntesis que se cierran deben encontrarse en el orden
+exactamente opuesto al de los paréntesis que se abren.  Esto
+@strong{es} un requisito para los tres tipos de paréntesis que se
+describen mediante la parabla @q{Encierra} en la tabla anterior: se
+deben anidar correctamente.  Sin embargo, el resto de las llaves y
+corchetes, que se encuentran descritos por la palabra @q{Marca} en la
+misma tabla anterior, @strong{no} tienen por qué anidarse
+estrictamente con ninguno de los otros paréntesis.  De hecho, éstos no
+son paréntesis en el sentido de que encierran algo: simplemente son
+marcadores que indican dónde empieza o finaliza algo.
+
+Asíi pues, por ejemplo, una ligadura de fraseo puede dar comienzo
+antes de una barra insertada manualmente, y acabar antes de que acabe
+la barra (algo que quizá no sea muy musical, pero es posible):
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
+ { g8\( a b[ c b\) a] }
+@end lilypond
+
+En general, los distintos tipos de corchete, y los implicados en
+grupos especiiales, ligaduras de unión y notas de adorno, se pueden
+mezclar con total libertad.  Este ejemplo muestra una barra que se
+extiende hacia el interior de un grupo de valoración especial (línea
+1), una ligadura de expresión que se prolonga hasta el interior de un
+grupo especial (línea 2), una barra y una ligadura de expresión que se
+prolongan hasta el interior de un grupo especial, una ligadura de
+unión que atraviesa dos grupos especiales, y una ligadura de fraseo
+que sale del interior de un grupo especial (líneas 3 y 4).
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+  r16[ g16 \times 2/3 {r16 e'8] }
+  g16( a \times 2/3 {b d) e' }
+  g8[( a \times 2/3 {b d') e'~]}
+  \times 4/5 {e'32\( a b d' e'} a'4.\)
+}
+@end lilypond
+
 
 @node Voices contain music
 @section Voices contain music
 
 UNTRANSLATED NODE: IGNORE ME
 
-@menu 
-* I'm hearing Voices::
-* Explicitly instantiating voices::
-* Voices and vocals::
+@menu
+* I'm hearing Voices::          
+* Explicitly instantiating voices::  
+* Voices and vocals::           
 @end menu 
+
 @node I'm hearing Voices
 @subsection I'm hearing Voices
 
@@ -81,32 +498,324 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@menu 
-* Contexts explained::
-* Creating contexts::
-* Engravers explained::
-* Modifying context properties::
-* Adding and removing engravers::
+@menu
+* Contexts explained::          
+* Creating contexts::           
+* Engravers explained::         
+* Modifying context properties::  
+* Adding and removing engravers::  
 @end menu 
 @node Contexts explained
 @subsection Contexts explained
 
-UNTRANSLATED NODE: IGNORE ME
+Cuando se imprime la música, se tienen que añadir a la salida una gran cantidad de elementos
+notacionales.  Por ejemplo, compare la entrada y la salida del siguiente ejemplo:
+
+@lilypond[quote,verbatim,relative=2,fragment]
+cis4 cis2. g4
+@end lilypond
+
+La entrada es bastante escueta, pero en la salida se añaden líneas divisorias, alteraciones accidentales,
+la clave y la indicación de compás.  LilyPond @emph{interpreta} la
+entrada.  En esta fase se inspecciona la información musical en orden temporal,
+de forma parecida a la lectura de una partitura de izquierda a derecha. Mientras se lee
+la entrada, el programa recuerda dónde se encuentran los límites de los compases, y qué notas
+requieren alteraciones explícitas.  Esta información se puede presentar sobre varios
+niveles.  Por ejemplo, el efecto de una alteración accidental se encuentra limitada
+a un solo pentagrama, mientras que una barra divisoria debe estar sincronizada a través
+de la partitura de arriba a abajo.
+
+Dentro de LilyPond, estas reglas y pequeñas porciones de información se agrupan en
+@emph{Contexts}.  Algunos ejemplos de contextos son @code{Voice} (Voz),
+@code{Staff} (Pauta o pentagrama) y @code{Score} (Partitura).  Los contextos son jerárquicos, por
+ejemplo: un @code{Staff} contener muchas @code{Voice}s, y una
+@code{Score} puede contener muchos contextos de @code{Staff}.
+
+@quotation
+@sourceimage{context-example,5cm,,}
+@end quotation
+
+Cada contexto asume la responsabilidad de imponer algunas reglas de notación,
+creando ciertos objetos de notación y manteniendo las propiedades
+asociadas.  Por ejemplo, el contexto @code{Voice} puede introducir una alteración
+accidental y entonces el contexto @code{Staff} mantiene la regla de mostrar o
+suprimir la alteración para el resto del compás.  La
+sincronización de las líneas divisorias se gestiona dentro del contexto de la partitura, @code{Score}.
+
+Sin embargo, en algunas músicas posiblemente no queramos que las líneas divisorias estén
+sincronizada (pensemos en una partitura polimétrica en compases de 4/4 y de 3/4).  En tales casos,
+debemos modificar los ajustes por omisión de los contextos @code{Score}
+y @code{Staff}.
+
+Para partituras muy sencillas, los contextos se crean implícitamente y no debemos
+preocuparnos por ellos.  Para piezas mayores, como por ejemplo cualquiera que tenga más de un pentagrama,
+los contextos se deben crear explícitamente para asegurarnos
+de que tendremos la cantidad exacta de pentagramas que necesitamos,
+y que están en el orden correcto.  Para tipografiar piezas
+con notación especializada, puede ser útil modificar contextos existentes
+o definir unos nuevos.
+
+
+En la referencia del programa se encuentra una descripción completa de todos los contextos que están disponibles,
+consulte
+@ifhtml
+@internalsref{Contexts}.
+@end ifhtml
+@ifnothtml
+Traducción @expansion{} Contexto.
+@end ifnothtml
+
+@c [TODO: describe propagation]
 
 @node Creating contexts
 @subsection Creating contexts
 
-UNTRANSLATED NODE: IGNORE ME
+Sólo puede haber un contexto en el nivel más alto: el contexto de
+partitura @code{Score}.  Se crea con la instrucción @code{\score} o,
+en partituras sencillas, se crea automáticamente.
+
+Para partituras que solamente tienen una voz y un pentagrama, podemos
+dejar que los contextos @code{Voice} y @code{Staff} se creen
+automáticamente, pero para partituras más complejas es necesario
+crearlos a mano.  La instrucción más simple que hace esto es
+@code{\new}.  Se antepone a una expresión musical, por ejemplo
+
+@funindex \new
+@cindex contextos nuevos
+@cindex nuevo, contexto
+
+@example
+\new @var{tipo} @var{expresión_musical}
+@end example
+
+@noindent
+donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
+@code{Voice}).  Esta instrucción crea un contexto nuevo, y comienza a
+interpretar la @var{expresión_musical} que está dentro de ese
+contexto.
+
+Observe que no hay ninguna instrucción @code{\new Score}; el contexto
+@code{Score} único en el nivel más alto se introduce con
+@code{\score}.
+
+La instrucción @code{\new} también puede otorgar un nombre
+identificativo al contexto para distinguirlo de otros contextos del
+mismo tipo:
+
+@example
+\new @var{tipo} = @var{identificador} @var{expresión_musical}
+@end example
+
+Observe la distinción entre el nombre del tipo de contexto,
+@code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
+instancia en particular de ese tipo, que puede ser cualquier secuencia
+de letras inventada por el usuario.  El nombre identificativo se
+utiliza para referirnos más tarde a esa instancia en particular de un
+contexto.  Hemos visto esto en la sección acerca de la letra, en
+@ref{Voices and vocals}.
 
 @node Engravers explained
 @subsection Engravers explained
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex grabadores
+
+Todas y cada una de las marcas de la salida impresa de una partitura
+hecha con LiilyPond está producida por un @code{Engraver} (grabador).
+Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
+las cabezas de las notas, otro para las plicas, otro para las barras,
+etc, etc.  ¡En total hay más de 120 grabadores!  Afortunadamente, para
+la mayor parte de las partituras no es necesario conocer más que
+algunos, y para partituras sencillas no tenemos que saber nada de
+ninguno de ellos.
+
+Los grabadores residen y operan dentro de Contextos.  Los grabadores
+como el grabador de la indicación metronómica,
+@code{Metronome_mark_engraver}, cuya acción y resultado se aplica a la
+partitura como un todo, operan en el contexto del nivel más alto: el
+contexto de partitura @code{Score}.
+
+El grabador de la clave @code{Clef_engraver} y el de la armadura
+@code{Key_engraver} se encuentran probablemente en todos los contextos
+de pentagrama (Staff), pues los distintos pentagramas podrían requerir
+diferentes claves y armaduras.
+
+El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
+las plicas @code{Stem_engraver} viven en cada uno de los contextos de
+voz @code{Voice}, el contexto de nivel más bajo de todos.
+
+Cada grabador procesa los objetos particulares asociados con su
+función, y mantiene las propiedades que están relacionadas con dicha
+función.  Estas propiedades, como las que están asociadas con los
+contextos, se pueden modificar para cambiar el funcionamiento del
+grabador o el aspecto de esos elementos en la partitura impresa.
+   
+Todos los grabadores tienen nombres compuestos de varias palabras que
+describen su función.  Sólo está en mayúsculas la inicial de la
+primera palabra, y el resto se le une mediante guiones bajos.  Así, el
+grabador @code{Staff_symbol_engraver} es responsable de la creación de
+las líneas del pentagrama, y el @code{Clef_engraver} determina y
+establece la altura o el punto de referencia sobre el pentagrama
+dibujando un símbolo de clave.
+
+A continuación presentamos algunos de los grabadores más comunes,
+junto a su función.  Podrá comprobar que es fácil adivinar la función
+a partir del nombre (en inglés), y viceversa.
+
+@multitable @columnfractions .3 .7 
+@headitem Grabador
+  @tab Función
+@item Accidental_engraver
+  @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
+@item Beam_engraver
+  @tab Graba las barras
+@item Clef_engraver
+  @tab Graba las claves
+@item Dynamic_engraver
+  @tab Crea reguladores e indicaciones dinámicas textuales
+@item Key_engraver
+  @tab Crea la armadura de la tonalidad
+@item Metronome_mark_engraver
+  @tab Graba la indicación metronómica
+@item Note_heads_engraver
+  @tab Graba la cabeza de las notas
+@item Rest_engraver
+  @tab Graba los silencios
+@item Staff_symbol_engraver
+  @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
+@item Stem_engraver
+  @tab Crea las plicas y los trémolos de una sola plica
+@item Time_signature_engraver
+  @tab Crea las indicaciones de compás
+@end multitable
+
+@smallspace
+
+Más adelante veremos cómo la salida de LilyPond se puede cambiar
+mediante la modificación del funcionamiento de los Grabadores.
+  
 
 @node Modifying context properties
 @subsection Modifying context properties
 
-UNTRANSLATED NODE: IGNORE ME
+@cindex properties
+@funindex \set
+@cindex changing properties
+
+Cada contexto puede tener diferentes @emph{propiedades} o variables contenidas
+en dicho contexto.  Se pueden cambiar mientras se desarrolla la fase de interpretación.
+Esto se consigue insertando la instrucción @code{\set} en la música,
+
+@example
+\set @var{contexto}.@var{propiedad} = #@var{valor}
+@end example
+
+Por ejemplo,
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set Score.skipBars = ##t
+R1*2
+@end lilypond
+
+Esta instrucción hace que se salten los compases que no tienen ninguna nota.  El resultado es que
+los silencios multicompás se comprimen.  El valor asignado es un objeto del lenguaje Scheme.  En
+este caso, es @code{#t}, el valor booleano Verdadero.
+
+Si el argumento @var{contexto} se deja en blanco, entonces se utiliza el contexto actual más bajo
+(normalmente @code{ChordNames}, @code{Voice} o
+@code{Lyrics}).  En este ejemplo,
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c8 c c c
+\set autoBeaming = ##f
+c8 c c c
+@end lilypond
+
+@noindent
+el argumento @var{contexto} para la instrucción @code{\set} está omitido, por tanto
+el barrado automático está desactivado en la @internalsref{Voice} (voz) actual.  Fíjese en que
+el contexto más bajo no siempre contiene la propiedad que quiere
+cambiar. Por ejemplo, si intenta establecer la propiedad @code{skipBars}
+(del contexto más bajo, en este caso @code{Voice}) no se producirá ningún
+efecto.
+
+@lilypond[quote,verbatim,relative=2,fragment]
+R1*2
+\set skipBars = ##t
+R1*2
+@end lilypond
+
+Los contextos son jerárquicos, de forma que si se especificó un contexto mayor, por
+ejemplo @code{Staff}, entonces el cambio también se aplicaría a todos los
+@code{Voice}s o contextos de voz en el pentagrama actual.  El cambio se aplica
+@q{al vuelo}, mientras transcurre la música, de manera que el ajuste sólo afecta al segundo
+grupo de corcheas.
+
+@funindex \unset
+
+También existe una instrucción @code{\unset},
+@example
+\unset @var{contexto}.@var{propiedad}
+@end example
+
+@noindent
+que quita la definición de la @var{propiedad}.  Esta instrucción quita
+la definición solamente si está establecida dentro del @var{contexto} especificado, por lo que
+
+@example
+\set Staff.autoBeaming = ##f
+@end example
+
+@noindent
+introduce un ajuste de propiedad en el nivel del contexto @code{Staff}.  El ajuste también se aplica
+a la @code{Voice} actual.  Sin embargo,
+
+@example
+\unset Voice.autoBeaming
+@end example
+
+@noindent
+no tiene ningún efecto.  Para cancelar este ajuste, el @code{\unset}
+se debe especificar en el mismo nivel que el @code{\set} original.  En
+otras palabras, deshacer el efecto de @code{Staff.autoBeaming = ##f}
+requiere
+@example
+\unset Staff.autoBeaming
+@end example
+
+Igual que @code{\set}, el argumento @var{contexto} no tiene que especificarse para un contexto
+que está en la parte más baja, por lo que las dos instrucciones
+
+@example
+\set Voice.autoBeaming = ##t
+\set autoBeaming = ##t
+@end example
+
+@noindent
+son equivalentes.
+
+
+@cindex \once
+Los ajustes que se quieren aplicar a un paso de tiempo único se pueden escribir
+con @code{\once}, por ejemplo en
+
+@lilypond[quote,verbatim,relative=2,fragment]
+c4
+\once \set fontSize = #4.7
+c4
+c4
+@end lilypond
+
+la propiedad @code{fontSize} pierde su valor automáticamente después de la segunda
+nota.
+
+En la referencia del programa hay una descripción detallada de todas las propiedades de contexto disponibles,
+véase
+@ifhtml
+@internalsref{Tunable context properties}.
+@end ifhtml
+@ifnothtml
+Traducción @expansion{} propiedades de contexto ajustables.
+@end ifnothtml
 
 @node Adding and removing engravers
 @subsection Adding and removing engravers
@@ -119,12 +828,192 @@ UNTRANSLATED NODE: IGNORE ME
 @node Extending the templates
 @section Extending the templates
 
-UNTRANSLATED NODE: IGNORE ME
+Ha leído el tutorial y ahora sabe escribir música.  Pero ¿cómo puede poner
+los pentagramas que quiere?  Las plantillas están muy bien, pero ¿qué ocurre
+si quiere algo que no está en una de ellas?
+
+Para empezar, tome la plantilla que le parezca más parecida a aquello que quiere
+conseguir.  Digamos que quiere escribir algo para soprano y cello.
+En este caso comenzaríamos con la plantilla @q{Notas y letra} (para la parte
+de soprano).
+
+@example
+\version "2.11.38"
+melodia = \relative c' @{
+  \clef treble
+  \key c \major
+  \time 4/4
+
+  a4 b c d
+@}
+
+texto = \lyricmode @{
+  Aaa Bee Cee Dee
+@}
+
+\score@{
+  <<
+    \new Voice = "uno" @{
+      \autoBeamOff
+      \melodia
+    @}
+    \new Lyrics \lyricsto "uno" \text
+  >>
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+Ahora queremos añadir una parte de violoncello.  Veamos el ejemplo @q{Sólo notas}:
+
+@example
+\version "2.11.38"
+melodia = \relative c' @{
+  \clef treble
+  \key c \major
+  \time 4/4
+
+  a4 b c d
+@}
+
+\score @{
+\new Staff \melody
+\layout @{ @}
+\midi @{ @}
+@}
+@end example
+
+No necesitamos dos comandos @code{\version}.  Vamos a necesitar la sección @code{melodia}.
+No queremos dos secciones @code{\score} (si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas por separado.
+Queremos las dos juntas, como un dúo.
+Dentro de la sección @code{\score}, no nos hacen falta dos 
+@code{\layout} ni dos @code{\midi}.
+
+Si nos limitásemos a copiar y pegar la sección @code{melodia}, acabaríamos con dos
+secciones @code{melodia} separadas, así que vamos a cambiarles el nombre.  Llamaremos
+@code{musicaSoprano} a la sección de la soprano y @code{musicaCello} a la sección del violoncello.
+Al mismo tiempo cambiaremos el nombre de @code{texto}
+a @code{letraSoprano}.  Recuerde cambiar el nombre a las dos apariciones de todos estos
+nombres -- tanto la definición inicial (la
+parte @code{melodia = relative c' @{ }) --
+como el uso de ese nombre (en la sección @code{\score}).
+
+También aprovecharemos para cambiar el pentagrama de la parte del cello (los violoncellos
+se escriben normalmente en clave de Fa).  Asimismo, cambiaremos algunas
+notas del cello.
+
+@example
+\version "2.11.38"
+musicaSoprano = \relative c' @{
+  \clef treble
+  \key c \major
+  \time 4/4
+
+  a4 b c d
+@}
+
+letraSoprano = \lyricmode @{
+  Aaa Bee Cee Dee
+@}
+
+musicaCello = \relative c @{
+  \clef bass
+  \key c \major
+  \time 4/4
+
+  d4 g fis8 e d4
+@}
+
+\score@{
+  <<
+    \new Voice = "uno" @{
+      \autoBeamOff
+      \sopranoMusic
+    @}
+    \new Lyrics \lyricsto "uno" \letraSoprano
+  >>
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+Esto tiene una pinta prometedora, pero la parte del cello no sale en la partitura
+(no la hemos puesto en la sección @code{\score}).  Si queremos que la parte
+del cello aparezca debajo de la de soprano, tenemos que añadir
+
+@example
+\new Staff \musicaCello
+@end example
+
+@noindent
+justo debajo de todo lo de la soprano.  También tenemos que poner @code{<<} y
+@code{>>} antes y después de la música -- lo que  indica a LilyPond que hay
+más de una cosa (en este caso, @code{Staff}) sucediendo al mismo tiempo -- .  La
+@code{\score} se parecerá ahora a esto
+
+@example
+\score@{
+  <<
+    <<
+      \new Voice = "uno" @{
+        \autoBeamOff
+        \sopranoMusic
+      @}
+      \new Lyrics \lyricsto "uno" \letraSoprano
+    >>
+    \new Staff \musicaCello
+  >>
+  \layout @{ @}
+  \midi @{ @}
+@}
+@end example
+
+@noindent
+Esto parece un poco enrevesado; los márgenes están descuadrados.  Esto tiene
+fácil solución.  Presentamos aquí la plantilla completa para soprano y cello.
+
+@lilypond[quote,verbatim,ragged-right]
+\version "2.11.38"
+sopranoMusic = \relative c' {
+  \clef treble
+  \key c \major
+  \time 4/4
+
+  a4 b c d
+}
+
+sopranoLyrics = \lyricmode {
+  Aaa Bee Cee Dee
+}
+
+celloMusic = \relative c {
+  \clef bass
+  \key c \major
+  \time 4/4
+
+  d4 g fis8 e d4
+}
+
+\score{
+  <<
+    <<
+      \new Voice = "one" {
+        \autoBeamOff
+        \sopranoMusic
+      }
+      \new Lyrics \lyricsto "one" \sopranoLyrics
+    >>
+    \new Staff \celloMusic
+  >>
+  \layout { }
+  \midi { }
+}
+@end lilypond
 
-@menu 
-* Soprano and cello::
-* Four-part SATB vocal score::
-* Building a score from scratch::
+@menu
+* Soprano and cello::           
+* Four-part SATB vocal score::  
+* Building a score from scratch::  
 @end menu 
 @node Soprano and cello
 @subsection Soprano and cello