]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/user/fundamental.itely
7176253d04bc98fe24a2327717c9b74ce4bf7313
[lilypond.git] / Documentation / es / user / fundamental.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond-learning.tely
3 @ignore
4     Translation of GIT committish: 89bcad47a1888f517753b72a605f2bf6748582eb
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10
11 @node Fundamental concepts
12 @chapter Fundamental concepts
13
14 Ha podido ver en el tutorial cómo producir música bellamente impresa a
15 partir de un simple archivo de texto.  Esta sección presenta los
16 conceptos y técnicas que se requieren para producir partituras
17 igualmente bellas pero más complejas.
18
19 @menu
20 * How LilyPond files work::     
21 * Voices contain music::        
22 * Contexts and engravers::      
23 * Extending the templates::     
24 @end menu 
25
26
27 @node How LilyPond files work
28 @section How LilyPond files work
29
30 El formato de entrada de LilyPond es bastante libre en su forma y
31 concede a los usuarios con experiencia mucha flexibilidad para
32 estructurar sus archivos de la forma que deseen.  Sin embargo, toda
33 esta flexibilidad puede hacer que las cosas se vuelvan confusas para
34 los nuevos usuarios.  Esta sección le va a explicar parte de esta
35 estructura, pero puede obviar ciertos detalles en aras de la
36 simplicidad.  Para ver una descripción completa del formato de
37 entrada, consulte @ruser{File structure}.
38
39
40 @menu
41 * Introduction to the LilyPond file structure::  
42 * Score is a (single) compound musical expression::  
43 * Nesting music expressions::   
44 * On the un-nestedness of brackets and ties::  
45 @end menu 
46
47 @node Introduction to the LilyPond file structure
48 @subsection Introduction to the LilyPond file structure
49
50 Un ejemplo básico de archivo de entrada de lilypond es el siguiente:
51
52 @example
53 \version @w{"@version{}"}
54 \score @{
55   @var{...expresión musical compuesta...}  % toda la música viene aquí
56   \header @{ @}
57   \layout @{ @}
58   \midi @{ @}
59 @}
60 @end example
61
62 @noindent
63 Existen muchas variaciones de este esquema básico, pero el ejemplo
64 constituye un útil punto de partida.
65
66 Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
67 instrucción @code{\score@{@}}.  Esto es así a causa de que LilyPond
68 añade automáticamente las órdenes adicionales que se requieren cuando
69 le proporcionamos una entrada sencilla.  LilyPond trata una entrada
70 como ésta:
71
72 @example
73 \relative c'' @{
74   c4 a d c
75 @}
76 @end example
77
78 @noindent
79 como una abreviatura de esta otra:
80
81 @example
82 \book @{
83   \score @{
84     \new Staff @{
85       \new Voice @{
86         \relative c'' @{
87           c4 a b c
88         @}
89       @}
90     @}
91     \layout @{ @}
92   @}
93 @}
94 @end example
95
96 En tras palabras, si la entrada consta de una única expresión musical,
97 LilyPond interpreta el archivo como si la expresción musical estuviera
98 rodeada por un envoltorio hecho por las instrucciones que acabamos de
99 ver.  De todas formas, vamos a volver al primer ejemplo para examinar
100 la instrucción @code{\score}, dejando las demás en su forma
101 predeterminada.
102
103 Un bloque @code{\score} siempre debe contener una expresión musical
104 única, que debe aparecer inmediatamente después de la instrucción
105 @code{\score}.  Recuerde que una expresión musical podía ser cualquier
106 cosa entre una sola nota hasta una enorme expresión compuesta como
107
108 @example
109 @{
110   \new GrandStaff <<
111     @var{...inserte aquí la partitura completa de una ópera de Wagner...}
112   >>
113 @}
114 @end example
115
116 @noindent
117 Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
118 una expresión musical.
119
120 Como vimos anteriormente, el bloque @code{\score} puede contener otras
121 cosas, tales como
122
123 @example
124 \score @{
125   @{ c'4 a b c' @}
126   \header @{ @}
127   \layout @{ @}
128   \midi @{ @}
129 @}
130 @end example
131
132 @noindent
133 Hay personas que ponen algunos de estos comandos fuera del
134 bloque @code{\score} (por ejemplo, @code{\header} se
135 sitúa con frecuencia por encima del @code{\score}.  Es tan sólo
136 otra abreviatura que LilyPond acepta.
137
138 Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
139 y @code{\midi @{@}}.  Si aparecen tal y como se muestran aquí, hacen
140 que LilyPond produzca una salida impresa y una salida MIDI,
141 respectivamente.  Se describen con todo detalle en el manual de
142 Referencia de la notación, en @ruser{Score layout} y en
143 @ruser{Creating MIDI files}.
144
145 Podemos escribir varios bloques @code{\score}.  Cada uno de ellos
146 recibirá el mismo tratamiento que una partitura independiente, pero se
147 combinarán todos juntos en un archivo de salida único.  No se necesita
148 ninguna instrucción @code{\book}, se creará una implícitamente.  Sin
149 embargo, si quiere archivos de salida separados a partir de un archivo
150 @code{.ly}, entonces es necesario utilizar la instrucción @code{\book}
151 para separar las distintas secciones: cada bloque @code{\book} produce
152 un archivo de salida distinto.  Para ver más detalles, consulte
153 @ruser{Multiple scores in a book}.
154
155 @cindex variables
156
157 Otro atajo genial es la posibilidad de definir variables.
158 Todas las plantillas emplean lo siguiente:
159
160 @example
161 melodia = \relative c' @{
162   c4 a b c
163 @}
164
165 \score @{
166   \melodia
167 @}
168 @end example
169
170 Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
171 (todo lo que está después del signo igual) y lo inserta dondequiera
172 que ve @code{\melodia}.  No se requiere un cuidado especial con los
173 nombres (puede ser @code{melodia}, @code{global},
174 @code{manoderechadelpiano} o @code{fulanomengano}).  Para ver más
175 detalles, consulte @ref{Saving typing with variables and functions}.
176 Recuerde que puede usar casi cualquier nombre que se le ocurra, en la
177 medida en que contenga solamente caracteres alfabéticos y sea
178 diferente de cualquiera de los nombres de instrucción de LilyPond.
179 Las limitaciones exactas que afectan a los nombres de variable se
180 detallan en @ruser{File structure}.
181
182
183 @seealso
184
185 Para ver una definición completa del formato del código de entrada,
186 consulte @ruser{File structure}.
187
188 @node Score is a (single) compound musical expression
189 @subsection Score is a (single) compound musical expression
190
191 @cindex expresión musical compuesta
192 @cindex música, expresión compuesta de
193
194 En la sección anterior, @ruser{How LilyPond files work} hemos podido
195 ver la organización general de los archivos de entrada de LilyPond.
196 Pero parece que nos saltamos la parte más importante: ¿cómo
197 averiguamos qué escribir después de @code{\score}?
198
199 No nos hemos saltado nada en absoluto.  El gran misterio es, sencillamente,
200 que no hay @emph{ningún} misterio.  La siguiente línea lo explica
201 todo:
202
203 @quotation
204 @emph{Una @code{\score} debe comenzar con una única expresión musical.}
205 @end quotation
206
207 @noindent
208 Quizá encuentre útil dar un repaso a @ruser{Music expressions
209 explained}.  En esta sección, vimos cómo elaborar grandes expresiones
210 musicales a partir de pequeñas piezas (comenzábamos con notas, luego
211 acordes, etc.).  Ahora partiremos de una gran expresión musical y
212 recorreremos el camino inverso hacia abajo.
213
214 @example
215 \score @{
216   @{   % esta llave da inicio a la expresión musical completa
217     \new GrandStaff <<
218       @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
219     >>
220   @}   % esta llave da por terminada la expresión musical completa
221   \layout @{ @}
222 @}
223 @end example
224
225 Una ópera de Wagner completa puede ser fácilmente el doble de larga
226 que este manual, por tanto vamos a hacer sólo un cantante y un piano.
227 No necesitamos un @code{GrandStaff} para este conjunto, así que lo
228 retiramos.  Sin embargo, sí que @emph{necesitamos} un cantante y un
229 piano.
230
231 @example
232 \score @{
233   <<
234     \new Staff = "cantante" <<
235     >>
236     \new PianoStaff = piano <<
237     >>
238   >>
239   \layout @{ @}
240 @}
241 @end example
242
243 Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
244 para presentar música simultánea.  Y, por supuesto, queremos presentar
245 las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
246 Sin embargo, la construcción @code{<< ... >>} no es realmente
247 necesaria para el pentagrama del cantante (pues contiene una sola
248 expresión musical), pero los pentagramas (Staff) a menudo necesitan
249 varias voces (Voice) en su interior, así es bueno adoptar el hábito de
250 usar @code{<< ... >>} en lugar de llaves.  Escribiremos algo de música
251 real más tarde; por ahora limitémonos a poner algunas notas y letra de
252 relleno.
253
254 @lilypond[verbatim,quote,ragged-right]
255 \score {
256   <<
257     \new Staff = "singer" <<
258       \new Voice = "vocal" { c'1 }
259       \addlyrics { And }
260     >>
261     \new PianoStaff = "piano" <<
262       \new Staff = "upper" { c'1 }
263       \new Staff = "lower" { c'1 }
264     >>
265   >>
266   \layout { }
267 }
268 @end lilypond
269
270 Ahora tenemos muchos más detalles.  Tenemos la pauta del cantante:
271 contiene una @code{Voice} o voz (en LilyPond, este término hace
272 referencia a un conjunto de notas, no necesariamente notas vocales --
273 por ejemplo, un violín generalmente toca una voz --) y el texto de la
274 canción.  También tenemos una pauta de piano: contiene un pentagrama
275 superior (mano derecha) y un pentagrama inferior (mano izquierda).
276
277 En este momento podríamos comenzar a meter las notas.  Dentro de las
278 llaves que siguen a @code{\new Voice = vocal}, podríamos empezar
279 escribiendo
280
281 @example
282 \relative c'' @{
283   r4 d8\noBeam g, c4 r
284 @}
285 @end example
286
287 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
288 larga y sería más difícil comprender lo que ocurre.  En lugar de esto
289 utilizaremos identificadores o variables.  Recordará que las vimos por
290 primera vez en la sección anterior.  Así pues, escribiendo algunas
291 notas, ahora tenemos un fragmento musical de verdad:
292
293 @lilypond[verbatim,quote,ragged-right]
294 melody = \relative c'' { r4 d8\noBeam g, c4 r }
295 text   = \lyricmode { And God said, }
296 upper  = \relative c'' { <g d g,>2~ <g d g,> }
297 lower  = \relative c { b2 e2 }
298
299 \score {
300   <<
301     \new Staff = "singer" <<
302       \new Voice = "vocal" { \melody }
303       \addlyrics { \text }
304     >>
305     \new PianoStaff = "piano" <<
306       \new Staff = "upper" { \upper }
307       \new Staff = "lower" {
308         \clef "bass"
309         \lower
310       }
311     >>
312   >>
313   \layout { }
314 }
315 @end lilypond
316
317 Tenga cuidado con la diferencia entre las notas, que se introducen con
318 @code{\relative}, y la letra, que se introduce con @code{\lyricmode}.
319 Estas instrucciones son esenciales para decirle a LilyPond que
320 interprete el contenido que viene a continuación como música y texto,
321 respectivamente.
322
323 Cuando escriba una sección @code{\score} o cuando la esté leyendo,
324 hágalo despacio y con cuidado.  Comience por la capa exterior y luego
325 trabaje sobre cada una de las capas interiores.  También ayuda ser
326 estricto con los márgenes (asegúrese de que en su editor de texto cada
327 elemento de la misma capa comienza en la misma posición horizontal).
328
329
330 @node Nesting music expressions
331 @subsection Nesting music expressions
332
333 No es esencial declarar todos los pentagramas al comienzo; se pueden
334 crear temporalmente en cualquier momento.  Esto es de especial
335 utilidad para crear secciones de ossia (véase @rglos{ossia}).  A
336 continuación presentamos un ejemplo sencillo que muestra cómo
337 introducir temporalmente un pentagrama nuevo mientras dura un
338 fragmento de tras notas:
339
340 @lilypond[verbatim,quote,ragged-right]
341 \new Staff {
342   \relative g' {
343     r4 g8 g c4 c8 d |
344     e4 r8 
345     <<
346       { f c c }
347       \new Staff {
348         f8 f c
349       }
350     >>
351     r4 |
352   }
353 }
354 @end lilypond
355
356 @noindent
357 Advierta que el tamaño de la clave es igual al que se imprime en un
358 cambio de clave (ligemamente menor que la clave al principio de una
359 línea).  Esto es normal para cualquier clave que se imprime en la
360 mitad de una línea.
361
362 La sección ossia se puede colocar encima del pentagrama de la manera
363 siguiente:
364
365 @lilypond[verbatim,quote,ragged-right]
366 \new Staff ="main" {
367   \relative g' {
368     r4 g8 g c4 c8 d |
369     e4 r8
370     <<
371       { f c c }
372       \new Staff \with {
373         alignAboveContext = "main" }
374       { f8 f c }
375     >>
376     r4 |
377   }
378 }
379 @end lilypond
380
381 Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
382 adelante.  Es un medio de modificar el comportamiento predeterminado
383 de un solo pentagrama.  Aquí, dice que el pentagrama nuevo se debe
384 colocar por encima del pentagrama llamado @qq{main} en vez de la
385 posición predeterminada que seería por debajo.
386
387 Los fragmentos de ossia se escriben a menudo sin clave y sin
388 indicación de compás, y generalmente en un tipo más pequeño.  Esto
389 necesitaría más instrucciones que aún no se han visto.  Véase
390 @ref{Size of objects}
391
392  
393 @node On the un-nestedness of brackets and ties
394 @subsection On the un-nestedness of brackets and ties
395
396
397 En la escritura del archivo de entrada de LilyPond, hemos podido ver
398 algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
399 Éstos obedecen a distintas reglas que al principio pueden resultar
400 confusas.  Antes de explicar estas reglas, demos un repaso a las
401 distintas clases de corchetes, llaves y paréntesis.
402
403 @c attempt to force this onto a new page
404 @need 50
405 @multitable @columnfractions .3 .7
406 @headitem Tipo de paréntesis
407   @tab Función
408 @item @code{@{ .. @}}
409   @tab Encierra un fragmento secuencial de música
410 @item @code{< .. >}
411   @tab Encierra las notas de un acorde
412 @item @code{<< .. >>}
413   @tab Encierra secciones concurrentes o simultáneas
414 @item @code{( .. )}
415   @tab Marca el comienzo y el final de una ligadura de expresión
416 @item @code{\( .. \)}
417   @tab Marca el comienzo y el final de una ligadura de fraseo
418 @item @code{[ .. ]}
419   @tab Marca el comienzo y el final de un barrado manual
420 @end multitable
421
422 A las anteriores, debemos añadir otras construcciones que generan
423 líneas entre o a través de las notas: las ligaduras de unión (marcadas
424 con una tilde curva, @code{~}), los grupos especiales que se escriben
425 como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
426 como @code{\grace@{..@}}.
427
428 Fuera de LilyPond, el uso convencional de los paréntesis y otros
429 corchetes requiere que los distintos tipos se encuentren anidados
430 correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
431 los paréntesis que se cierran deben encontrarse en el orden
432 exactamente opuesto al de los paréntesis que se abren.  Esto
433 @strong{es} un requisito para los tres tipos de paréntesis que se
434 describen mediante la parabla @q{Encierra} en la tabla anterior: se
435 deben anidar correctamente.  Sin embargo, el resto de las llaves y
436 corchetes, que se encuentran descritos por la palabra @q{Marca} en la
437 misma tabla anterior, @strong{no} tienen por qué anidarse
438 estrictamente con ninguno de los otros paréntesis.  De hecho, éstos no
439 son paréntesis en el sentido de que encierran algo: simplemente son
440 marcadores que indican dónde empieza o finaliza algo.
441
442 Asíi pues, por ejemplo, una ligadura de fraseo puede dar comienzo
443 antes de una barra insertada manualmente, y acabar antes de que acabe
444 la barra (algo que quizá no sea muy musical, pero es posible):
445
446 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
447  { g8\( a b[ c b\) a] }
448 @end lilypond
449
450 En general, los distintos tipos de corchete, y los implicados en
451 grupos especiiales, ligaduras de unión y notas de adorno, se pueden
452 mezclar con total libertad.  Este ejemplo muestra una barra que se
453 extiende hacia el interior de un grupo de valoración especial (línea
454 1), una ligadura de expresión que se prolonga hasta el interior de un
455 grupo especial (línea 2), una barra y una ligadura de expresión que se
456 prolongan hasta el interior de un grupo especial, una ligadura de
457 unión que atraviesa dos grupos especiales, y una ligadura de fraseo
458 que sale del interior de un grupo especial (líneas 3 y 4).
459
460 @lilypond[quote,verbatim,fragment,ragged-right]
461 {
462   r16[ g16 \times 2/3 {r16 e'8] }
463   g16( a \times 2/3 {b d) e' }
464   g8[( a \times 2/3 {b d') e'~]}
465   \times 4/5 {e'32\( a b d' e'} a'4.\)
466 }
467 @end lilypond
468
469
470 @node Voices contain music
471 @section Voices contain music
472
473 UNTRANSLATED NODE: IGNORE ME
474
475 @menu
476 * I'm hearing Voices::          
477 * Explicitly instantiating voices::  
478 * Voices and vocals::           
479 @end menu 
480
481 @node I'm hearing Voices
482 @subsection I'm hearing Voices
483
484 UNTRANSLATED NODE: IGNORE ME
485
486 @node Explicitly instantiating voices
487 @subsection Explicitly instantiating voices
488
489 UNTRANSLATED NODE: IGNORE ME
490
491 @node Voices and vocals
492 @subsection Voices and vocals
493
494 UNTRANSLATED NODE: IGNORE ME
495
496 @node Contexts and engravers
497 @section Contexts and engravers
498
499 UNTRANSLATED NODE: IGNORE ME
500
501 @menu
502 * Contexts explained::          
503 * Creating contexts::           
504 * Engravers explained::         
505 * Modifying context properties::  
506 * Adding and removing engravers::  
507 @end menu 
508 @node Contexts explained
509 @subsection Contexts explained
510
511 Cuando se imprime la música, se tienen que añadir a la salida una gran cantidad de elementos
512 notacionales.  Por ejemplo, compare la entrada y la salida del siguiente ejemplo:
513
514 @lilypond[quote,verbatim,relative=2,fragment]
515 cis4 cis2. g4
516 @end lilypond
517
518 La entrada es bastante escueta, pero en la salida se añaden líneas divisorias, alteraciones accidentales,
519 la clave y la indicación de compás.  LilyPond @emph{interpreta} la
520 entrada.  En esta fase se inspecciona la información musical en orden temporal,
521 de forma parecida a la lectura de una partitura de izquierda a derecha. Mientras se lee
522 la entrada, el programa recuerda dónde se encuentran los límites de los compases, y qué notas
523 requieren alteraciones explícitas.  Esta información se puede presentar sobre varios
524 niveles.  Por ejemplo, el efecto de una alteración accidental se encuentra limitada
525 a un solo pentagrama, mientras que una barra divisoria debe estar sincronizada a través
526 de la partitura de arriba a abajo.
527
528 Dentro de LilyPond, estas reglas y pequeñas porciones de información se agrupan en
529 @emph{Contexts}.  Algunos ejemplos de contextos son @code{Voice} (Voz),
530 @code{Staff} (Pauta o pentagrama) y @code{Score} (Partitura).  Los contextos son jerárquicos, por
531 ejemplo: un @code{Staff} contener muchas @code{Voice}s, y una
532 @code{Score} puede contener muchos contextos de @code{Staff}.
533
534 @quotation
535 @sourceimage{context-example,5cm,,}
536 @end quotation
537
538 Cada contexto asume la responsabilidad de imponer algunas reglas de notación,
539 creando ciertos objetos de notación y manteniendo las propiedades
540 asociadas.  Por ejemplo, el contexto @code{Voice} puede introducir una alteración
541 accidental y entonces el contexto @code{Staff} mantiene la regla de mostrar o
542 suprimir la alteración para el resto del compás.  La
543 sincronización de las líneas divisorias se gestiona dentro del contexto de la partitura, @code{Score}.
544
545 Sin embargo, en algunas músicas posiblemente no queramos que las líneas divisorias estén
546 sincronizada (pensemos en una partitura polimétrica en compases de 4/4 y de 3/4).  En tales casos,
547 debemos modificar los ajustes por omisión de los contextos @code{Score}
548 y @code{Staff}.
549
550 Para partituras muy sencillas, los contextos se crean implícitamente y no debemos
551 preocuparnos por ellos.  Para piezas mayores, como por ejemplo cualquiera que tenga más de un pentagrama,
552 los contextos se deben crear explícitamente para asegurarnos
553 de que tendremos la cantidad exacta de pentagramas que necesitamos,
554 y que están en el orden correcto.  Para tipografiar piezas
555 con notación especializada, puede ser útil modificar contextos existentes
556 o definir unos nuevos.
557
558
559 En la referencia del programa se encuentra una descripción completa de todos los contextos que están disponibles,
560 consulte
561 @ifhtml
562 @internalsref{Contexts}.
563 @end ifhtml
564 @ifnothtml
565 Traducción @expansion{} Contexto.
566 @end ifnothtml
567
568 @c [TODO: describe propagation]
569
570 @node Creating contexts
571 @subsection Creating contexts
572
573 Sólo puede haber un contexto en el nivel más alto: el contexto de
574 partitura @code{Score}.  Se crea con la instrucción @code{\score} o,
575 en partituras sencillas, se crea automáticamente.
576
577 Para partituras que solamente tienen una voz y un pentagrama, podemos
578 dejar que los contextos @code{Voice} y @code{Staff} se creen
579 automáticamente, pero para partituras más complejas es necesario
580 crearlos a mano.  La instrucción más simple que hace esto es
581 @code{\new}.  Se antepone a una expresión musical, por ejemplo
582
583 @funindex \new
584 @cindex contextos nuevos
585 @cindex nuevo, contexto
586
587 @example
588 \new @var{tipo} @var{expresión_musical}
589 @end example
590
591 @noindent
592 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
593 @code{Voice}).  Esta instrucción crea un contexto nuevo, y comienza a
594 interpretar la @var{expresión_musical} que está dentro de ese
595 contexto.
596
597 Observe que no hay ninguna instrucción @code{\new Score}; el contexto
598 @code{Score} único en el nivel más alto se introduce con
599 @code{\score}.
600
601 La instrucción @code{\new} también puede otorgar un nombre
602 identificativo al contexto para distinguirlo de otros contextos del
603 mismo tipo:
604
605 @example
606 \new @var{tipo} = @var{identificador} @var{expresión_musical}
607 @end example
608
609 Observe la distinción entre el nombre del tipo de contexto,
610 @code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
611 instancia en particular de ese tipo, que puede ser cualquier secuencia
612 de letras inventada por el usuario.  El nombre identificativo se
613 utiliza para referirnos más tarde a esa instancia en particular de un
614 contexto.  Hemos visto esto en la sección acerca de la letra, en
615 @ref{Voices and vocals}.
616
617 @node Engravers explained
618 @subsection Engravers explained
619
620 @cindex grabadores
621
622 Todas y cada una de las marcas de la salida impresa de una partitura
623 hecha con LiilyPond está producida por un @code{Engraver} (grabador).
624 Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
625 las cabezas de las notas, otro para las plicas, otro para las barras,
626 etc, etc.  ¡En total hay más de 120 grabadores!  Afortunadamente, para
627 la mayor parte de las partituras no es necesario conocer más que
628 algunos, y para partituras sencillas no tenemos que saber nada de
629 ninguno de ellos.
630
631 Los grabadores residen y operan dentro de Contextos.  Los grabadores
632 como el grabador de la indicación metronómica,
633 @code{Metronome_mark_engraver}, cuya acción y resultado se aplica a la
634 partitura como un todo, operan en el contexto del nivel más alto: el
635 contexto de partitura @code{Score}.
636
637 El grabador de la clave @code{Clef_engraver} y el de la armadura
638 @code{Key_engraver} se encuentran probablemente en todos los contextos
639 de pentagrama (Staff), pues los distintos pentagramas podrían requerir
640 diferentes claves y armaduras.
641
642 El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
643 las plicas @code{Stem_engraver} viven en cada uno de los contextos de
644 voz @code{Voice}, el contexto de nivel más bajo de todos.
645
646 Cada grabador procesa los objetos particulares asociados con su
647 función, y mantiene las propiedades que están relacionadas con dicha
648 función.  Estas propiedades, como las que están asociadas con los
649 contextos, se pueden modificar para cambiar el funcionamiento del
650 grabador o el aspecto de esos elementos en la partitura impresa.
651    
652 Todos los grabadores tienen nombres compuestos de varias palabras que
653 describen su función.  Sólo está en mayúsculas la inicial de la
654 primera palabra, y el resto se le une mediante guiones bajos.  Así, el
655 grabador @code{Staff_symbol_engraver} es responsable de la creación de
656 las líneas del pentagrama, y el @code{Clef_engraver} determina y
657 establece la altura o el punto de referencia sobre el pentagrama
658 dibujando un símbolo de clave.
659
660 A continuación presentamos algunos de los grabadores más comunes,
661 junto a su función.  Podrá comprobar que es fácil adivinar la función
662 a partir del nombre (en inglés), y viceversa.
663
664 @multitable @columnfractions .3 .7 
665 @headitem Grabador
666   @tab Función
667 @item Accidental_engraver
668   @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
669 @item Beam_engraver
670   @tab Graba las barras
671 @item Clef_engraver
672   @tab Graba las claves
673 @item Dynamic_engraver
674   @tab Crea reguladores e indicaciones dinámicas textuales
675 @item Key_engraver
676   @tab Crea la armadura de la tonalidad
677 @item Metronome_mark_engraver
678   @tab Graba la indicación metronómica
679 @item Note_heads_engraver
680   @tab Graba la cabeza de las notas
681 @item Rest_engraver
682   @tab Graba los silencios
683 @item Staff_symbol_engraver
684   @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
685 @item Stem_engraver
686   @tab Crea las plicas y los trémolos de una sola plica
687 @item Time_signature_engraver
688   @tab Crea las indicaciones de compás
689 @end multitable
690
691 @smallspace
692
693 Más adelante veremos cómo la salida de LilyPond se puede cambiar
694 mediante la modificación del funcionamiento de los Grabadores.
695   
696
697 @node Modifying context properties
698 @subsection Modifying context properties
699
700 @cindex contexto, propiedades de
701 @funindex \set
702 @funindex \unset
703
704 Los contextos se responsabilizan de mantener los valores de un cierto
705 número de @emph{properties} de contexto.  Muchas de ellas se pueden
706 cambiar para influir en la interpretación del código de entrada y
707 cambiar así la apariencia de la salida impresa.  Se modifican mediante
708 la instrucción @code{\set}.  Esta instrucción toma la forma siguiente:
709
710 @example
711 \set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
712 @end example
713
714 Donde el @emph{NombreDelContexto} es normalmente @code{Score},
715 @code{Staff} o @code{Voice}.  Se puede omitir, en cuyo caso se supone
716 que es @code{Voice}.
717
718 Los nombres de las propiedades de contexto consisten en palabras
719 unidas sin ningún guión o barra baja, y donde todas las palabras
720 excepto la primera empiezan en mayúscula.  A continuación podemos ver
721 algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
722 Hay muchas más que las que se muestran aquí.
723
724 @c attempt to force this onto a new page
725 @need 50
726 @multitable @columnfractions .25 .15 .45 .15
727 @headitem nombreDeLaPropiedad
728   @tab Tipo
729   @tab Función
730   @tab Valor de ejemplo
731 @item extraNatural
732   @tab Booleano
733   @tab Se es verdadero, poner becuadros adicionales antes de las alteraciones
734   @tab @code{#t}, @code{#f}
735 @item currentBarNumber
736   @tab Entero
737   @tab Ajustar el número del compás actual
738   @tab @code{50}
739 @item doubleSlurs
740   @tab Booleano
741   @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
742   @tab @code{#t}, @code{#f}
743 @item instrumentName
744   @tab Texto
745   @tab Establecer el nombre del pentagrama, situado a la izquierda
746   @tab @code{"Cello I"}
747 @item fontSize
748   @tab Real
749   @tab Aumentar o disminuir el tamaño de la fuente tipográfica
750   @tab @code{2.4}
751 @item stanza
752   @tab Texto
753   @tab Establecer el texto que se imprime antes del comienzo de una estrofa
754   @tab @code{"2"}
755 @end multitable
756
757 @noindent
758 donde un valor Booleano es verdadero (@code{#t}, True) o falso
759 (@code{#f}, False), un Entero es un número entero positivo, un número
760 Real es un número decimal positivo o negativo, y el texto se encierra
761 entre comillas dobles.  Observe la aparición de signos de cuadradillo,
762 (@code{#}), en dos lugares diferentes: como parte del valor Booleano
763 antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
764 la sentencia @code{\set}.  Así pues, cuando se está escribiendo un
765 valor Booleano, hay que escribir dos signos de cuadradillo, por
766 ejemplo: @code{##t}.
767
768 Antes de poder establecer cualquiera de estas propiedades, tenemos que
769 saber en qué contexto operan.  A veces es algo obvio, pero en
770 ocasiones puede ser algo enrevesado.  Si especificamos un contexto
771 equivocado, no se produce ningún mensaje de error, pero el
772 funcionamiento esperado no tendrá lugar.  Por ejemplo, la propiedad
773 @code{instrumentName} (nombre del instrumento) vive claramente dentro
774 del contexto de Staff, puesto que es el pentagrama el que debe ser
775 nombrado.  En este ejemplo, el primer pentagrama resulta etiquetado,
776 pero no el segundo, porque hemos omitido el nombre del contexto.
777
778 @lilypond[quote,verbatim,ragged-right]
779 <<
780   \new Staff \relative c'' {
781     \set Staff.instrumentName = #"Soprano"
782     c4 c
783  }
784   \new Staff \relative c' {
785   \set instrumentName = #"Alto"  % Wrong!
786   d4 d 
787  }
788 >>
789 @end lilypond
790
791 Recuerde que el nombre del contexto predeterminado es Voice, así que
792 la segunda instrucción @code{\set} establece la propiedad
793 @code{instrumentName} del contexto Voice a @qq{Alto}, pero como
794 LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
795 realiza ninguna acción.  Esto no es un error, y no se registra ningún
796 mensaje en el archivo de errores Log.
797
798 De forma parecida, si el nombre de la propiedad se escribe con alguna
799 falta, no se produce ningún mensaje de error, y claramente la acción
800 esperada no puede tener lugar.  De hecho, se puede establecer
801 cualquier @q{property} (ficticia) usando cualquier nombre que queramos
802 en cualquier contexto que exista, mediante el uso de la instrucción
803 @code{\set}.  Pero si el nombre no es conocido para LilyPond, no
804 producirá ninguna acción.  Esta es una de las razones por las que es
805 muy recomendable ussar un editor que sea sensible al contexto y con
806 resaltado de la sintaxis para la edición de archivos de LilyPond, como
807 por ejemplo Vim, Jedit, ConTEXT o Emacs, ya que los nombres de
808 propiedades desconocidas se resaltarán de forma distinta.
809
810 La propiedad @code{instrumentName} tendrá efecto solamente si se
811 establece dentro del contexto @code{Staff}, pero algunas propiedades
812 se pueden establecer en más de un contexto.  Por ejemplo, la propiedad
813 @code{extraNatural} está establecida por defecto al valor ##t
814 (verdadero) para todos los pentagramas.  Si se establece a ##f (falso)
815 en un contexto de @code{Staff} determinado, se aplicará solamente a
816 las alteraciones de ese pentagrama.  Si se establece a falso en el
817 contexto de la partitura, @code{Score}, se aplicará a todos los
818 pentagramas.
819
820 Así, esto desactivará los becuadros adicionales en un pentagrama:
821
822 @lilypond[quote,verbatim,ragged-right]
823 <<
824   \new Staff \relative c'' {
825     ais4 aes
826  }
827   \new Staff \relative c'' {
828     \set Staff.extraNatural = ##f
829     ais4 aes
830  }
831 >>
832 @end lilypond
833
834 @noindent
835 y esto los desactivará en todos los pentagramas:
836
837 @lilypond[quote,verbatim,ragged-right]
838 <<
839   \new Staff \relative c'' {
840     ais4 aes
841  }
842   \new Staff \relative c'' {
843     \set Score.extraNatural = ##f
844     ais4 aes
845  }
846 >>
847 @end lilypond
848
849 El valor de cada propiedad establecido de esta forma se puede devolver
850 a su valor original con la instrucción @code{\unset}.
851  
852 Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
853 cualquier lugar del archivo de entrada y tendrán efecto a partir del
854 tiempo en que se encuentran y hasta el final de la partitura o hasta
855 que la propiedad se establezca de nuevo mediante @code{\set} o
856 @code{\unset}.  Probemos a modificar el tamaño de la fuente
857 tipográfica, lo que afecta al tamaño de las cabezas de las notas
858 (entre otras cosas) varias veces.  El cambio se toma a partir del
859 valor predeterminado, no el valor en curso.
860
861 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
862 c4 
863 % make note heads smaller
864 \set fontSize = #-4
865 d e
866 % make note heads larger
867 \set fontSize = #2.5
868 f g
869 % return to original size
870 \unset fontSize
871 a b
872 @end lilypond
873
874 Hemos podido ver cómo establecer los valores de diversos tipos de
875 propiedad diferentes.  Observe que los números enteros y reales van
876 siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
877 que un valor booleano verdadero o falso se especifica mediante ##t y
878 ##f, con dos cuadradillos.  Una propiedad de texto se debe encerrar
879 entre comillas dobles, como antes, aunque veremos más adelante que el
880 texto realmente se peude especificar de una dorma mucho más general
881 utilizando la potentísima instrucción @code{markup}.
882
883
884 @funindex \with
885
886 Las propiedades de contexto también se pueden establecer en el momento
887 en que se crea el contexto.  A veces esta forma de establecer el valor
888 de una propiedad es mucho más clara, si ha de quedar fijo durante todo
889 el tiempo que dure el contexto.  Cuando se crea un contexto con una
890 instrucción @code{\new} puede ir inmediatamente seguido de un bloque
891 @code{\with @{ .. @}} en el que se establecen los valores de las
892 propiedades.  Por ejemplo, si queremos suprimir la impresión de
893 becuadros adicionales para toda la duración de un pentagrama, podemos
894 escribir:
895
896 @example
897 \new Staff \with @{ extraNatural = ##f @}
898 @end example
899
900 @noindent
901 de la siguiente forma:
902
903 @lilypond[quote,verbatim,ragged-right]
904 <<
905   \new Staff
906   \relative c'' {
907     gis ges aes ais
908   }
909   \new Staff \with { extraNatural = ##f }
910   \relative c'' {
911     gis ges aes ais
912   }
913 >>
914 @end lilypond
915
916 Efectivamente, esto sobreescribe el valor predeterminado de la
917 propiedad.  Aún se puede modificar dinámicamente utilizando
918 @code{\set} y devolverlo a su (nuevo) valor predeterminado con
919 @code{\unset}.
920
921 @node Adding and removing engravers
922 @subsection Adding and removing engravers
923
924 @cindex Grabadores, adición
925 @cindex Grabadores, eliminación
926
927 @funindex \consists
928 @funindex \remove
929
930 Hemos visto que cada uno de los contextos contiene varios grabadores,
931 cada uno de los cuales a su vez es responsable de la producción de una
932 fracción particular del resultado impreso, como líneas divisorias,
933 pentagramas, cabezas, plicas, etc.  Si un grabador es eliminado de un
934 contexto, ya no podrá producir su salida impresa.  Es una forma algo
935 radical de modificar la salida, pero a veces puede ser útil.
936
937 @subsubheading Changing a single context
938
939 Para eliminar un grabador de un contexto único, usamos la instrucción
940 @code{\with} situada inmediatamente después de la instrucción que crea
941 el contexto, como en la sección anterior.
942
943 Como ilustración, repitamos un ejemplo extraído de la sección anterior
944 con las líneas del pentagrama eliminadas.  Recuerde que las líneas del
945 pentagrama están dibujadas por el grabador Staff_symbol_engraver.
946
947 @lilypond[quote,verbatim,ragged-right]
948 \new Staff \with {
949   \remove Staff_symbol_engraver
950 }
951 \relative c' {
952   c4 
953   \set fontSize = #-4  % make note heads smaller
954   d e
955   \set fontSize = #2.5  % make note heads larger
956   f g
957   \unset fontSize  % return to original size
958   a b
959 }
960 @end lilypond
961
962 @cindex ámbito, grabador del
963
964 Los grabadores también se pueden añadir a los contextos individuales
965 La instrucción que lo hace es
966
967 @code{\consists @emph{Nombre_del_grabador}},
968
969 situada dentro de un bloque @code{\with}.  Ciertas partituras vocales
970 tienen una indicación de @rglos{ambitus} situada al principio del
971 pentagrama para indicar el ámbito de notas en dicho pentagrama.  El
972 ambitus se produce por parte del grabador @code{Ambitus_engraver}, que
973 normalmente no está incluido en ningún contexto.  Si lo añadimos al
974 contexto @code{Voice}, calcula el rango a partir de esa única voz:
975
976 @lilypond[quote,verbatim,ragged-right]
977 \new Staff <<
978   \new Voice \with {
979     \consists Ambitus_engraver
980   }
981   \relative c'' { 
982     \voiceOne
983     c a b g 
984   }
985   \new Voice
986   \relative c' {
987     \voiceTwo
988     c e d f
989   }
990 >>
991 @end lilypond
992
993 @noindent
994 pero si añadimos el grabador de Ambitus al contexto de @code{Staff},
995 calcula el rango a partir de todas las notas en todas las voces de ese
996 pentagrama:
997
998 @lilypond[quote,verbatim,ragged-right]
999 \new Staff \with {
1000     \consists Ambitus_engraver
1001   }
1002   <<
1003   \new Voice
1004   \relative c'' { 
1005     \voiceOne
1006     c a b g 
1007   }
1008   \new Voice
1009   \relative c' {
1010     \voiceTwo
1011     c e d f
1012   }
1013 >>
1014 @end lilypond
1015
1016 @subsubheading Changing all contexts of the same type
1017
1018 Los ejemplos anteriores muestran la manera de eliminar o añadir
1019 grabadores a los contextos individuales.  También es posible eliminar
1020 o añadir grabadores a todos los contextos de un tipo específico,
1021 situando las instrucciones en el contexto correspondiente dentro de un
1022 bloque @code{\layout}.  Por ejemplo, si queremos mostrar los rangos de
1023 tesitura para todos los pentagramas de una partitura de cuatro pautas,
1024 podemos escribir
1025
1026 @lilypond[quote,verbatim,ragged-right]
1027 \score {
1028   <<
1029     \new Staff <<
1030       \relative c'' { c a b g }
1031     >>
1032     \new Staff <<
1033       \relative c' { c a b g }
1034     >>
1035     \new Staff <<
1036       \clef "G_8"
1037       \relative c' { c a b g }
1038     >>
1039     \new Staff <<
1040       \clef "bass"
1041       \relative c { c a b g }
1042     >>
1043   >>
1044   \layout {
1045     \context {
1046       \Staff
1047       \consists Ambitus_engraver
1048     }
1049   }
1050 }
1051 @end lilypond
1052
1053 @noindent
1054 Los valores predeterminados de las propiedades de los contextos
1055 también se pueden establecer para todos los contextos de un tipo en
1056 particular incluyendo la instrucción @code{\set} dentro de un bloque
1057 @code{\context} de la misma forma.
1058
1059 @node Extending the templates
1060 @section Extending the templates
1061
1062 Ha leído el tutorial y ahora sabe escribir música.  Pero ¿cómo puede
1063 poner los pentagramas que quiere?  Las plantillas están muy bien, pero
1064 ¿qué ocurre si quiere algo que no está en una de ellas?  Bien, puede
1065 encontrar montañas de plantillas (véase @ref{Templates}) que le pueden
1066 servir como punto de partida.  Pero ¿y si quiere algo que no está
1067 contemplado aquí? Continúe leyendo.
1068
1069
1070 @menu
1071 * Soprano and cello::           
1072 * Four-part SATB vocal score::  
1073 * Building a score from scratch::  
1074 @end menu
1075
1076 @node Soprano and cello
1077 @subsection Soprano and cello
1078
1079
1080 Para empezar, tome la plantilla que le parezca más parecida a aquello
1081 que quiere conseguir.  Digamos que quiere escribir algo para soprano y
1082 cello.  En este caso comenzaríamos con la plantilla @q{Notas y letra}
1083 (para la parte de soprano).
1084
1085 @example
1086 \version @w{"@version{}"}
1087 melodia = \relative c' @{
1088   \clef treble
1089   \key c \major
1090   \time 4/4
1091   a4 b c d
1092 @}
1093
1094 texto = \lyricmode @{
1095   Aaa Bee Cee Dee
1096 @}
1097
1098 \score @{
1099   <<
1100     \new Voice = "uno" @{
1101       \autoBeamOff
1102       \melodia
1103     @}
1104     \new Lyrics \lyricsto "uno" \texto
1105   >>
1106   \layout @{ @}
1107   \midi @{ @}
1108 @}
1109 @end example
1110
1111 Ahora queremos añadir una parte de violoncello.  Veamos el ejemplo
1112 @q{Sólo notas}:
1113
1114 @example
1115 \version @w{"@version{}"}
1116 melodia = \relative c' @{
1117   \clef treble
1118   \key c \major
1119   \time 4/4
1120   a4 b c d
1121 @}
1122
1123 \score @{
1124   \new Staff \melodia
1125   \layout @{ @}
1126   \midi @{ @}
1127 @}
1128 @end example
1129
1130 No necesitamos dos comandos @code{\version}.  Vamos a necesitar la
1131 sección @code{melodia}.  No queremos dos secciones @code{\score} (si
1132 tuviésemos dos @code{\score}s, acabaríamos con las dos particellas por
1133 separado.  Queremos las dos juntas, como un dúo.  Dentro de la sección
1134 @code{\score}, no nos hacen falta dos @code{\layout} ni dos
1135 @code{\midi}.
1136
1137 Si nos limitásemos a copiar y pegar la sección @code{melodia},
1138 acabaríamos con dos secciones @code{melodia} separadas, así que vamos
1139 a cambiarles el nombre.  Llamaremos @code{musicaSoprano} a la sección
1140 de la soprano y @code{musicaCello} a la sección del violoncello.  Al
1141 mismo tiempo cambiaremos el nombre de @code{texto} a
1142 @code{letraSoprano}.  Recuerde cambiar el nombre a las dos apariciones
1143 de todos estos nombres -- tanto la definición inicial (la parte
1144 @code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
1145 sección @code{\score}).
1146
1147 También aprovecharemos para cambiar el pentagrama de la parte del
1148 cello (los violoncellos se escriben normalmente en clave de Fa).
1149 Asimismo, cambiaremos algunas notas del cello.
1150
1151 @example
1152 \version @w{"@version{}"}
1153 musicaSoprano = \relative c' @{
1154   \clef treble
1155   \key c \major
1156   \time 4/4
1157   a4 b c d
1158 @}
1159
1160 letraSoprano = \lyricmode @{
1161   Aaa Bee Cee Dee
1162 @}
1163
1164 musicaCello = \relative c @{
1165   \clef bass
1166   \key c \major
1167   \time 4/4
1168
1169   d4 g fis8 e d4
1170 @}
1171
1172 \score@{
1173   <<
1174     \new Voice = "uno" @{
1175       \autoBeamOff
1176       \sopranoMusic
1177     @}
1178     \new Lyrics \lyricsto "uno" \letraSoprano
1179   >>
1180   \layout @{ @}
1181   \midi @{ @}
1182 @}
1183 @end example
1184
1185 Esto tiene una apariencia prometedora, pero la parte del cello no sale
1186 en la partitura (no la hemos puesto en la sección @code{\score}).  Si
1187 queremos que la parte del cello aparezca debajo de la de soprano,
1188 tenemos que añadir
1189
1190 @example
1191 \new Staff \musicaCello
1192 @end example
1193
1194 @noindent
1195 justo debajo de todo lo de la soprano.  También tenemos que poner
1196 @code{<<} y @code{>>} antes y después de la música -- lo que indica a
1197 LilyPond que hay más de una cosa (en este caso, @code{Staff})
1198 sucediendo al mismo tiempo -- .  La @code{\score} se parecerá ahora a
1199 esto
1200
1201 @example
1202 \score@{
1203   <<
1204     <<
1205       \new Voice = "uno" @{
1206         \autoBeamOff
1207         \sopranoMusic
1208       @}
1209       \new Lyrics \lyricsto "uno" \letraSoprano
1210     >>
1211     \new Staff \musicaCello
1212   >>
1213   \layout @{ @}
1214   \midi @{ @}
1215 @}
1216 @end example
1217
1218 @noindent
1219 Esto parece un poco enrevesado; los márgenes están descuadrados.  Esto
1220 tiene fácil solución.  Presentamos aquí la plantilla completa para
1221 soprano y cello.
1222
1223 @lilypond[quote,verbatim,ragged-right]
1224 \version "2.11.38"
1225 sopranoMusic = \relative c' {
1226   \clef treble
1227   \key c \major
1228   \time 4/4
1229
1230   a4 b c d
1231 }
1232
1233 sopranoLyrics = \lyricmode {
1234   Aaa Bee Cee Dee
1235 }
1236
1237 celloMusic = \relative c {
1238   \clef bass
1239   \key c \major
1240   \time 4/4
1241
1242   d4 g fis8 e d4
1243 }
1244
1245 \score{
1246   <<
1247     <<
1248       \new Voice = "one" {
1249         \autoBeamOff
1250         \sopranoMusic
1251       }
1252       \new Lyrics \lyricsto "one" \sopranoLyrics
1253     >>
1254     \new Staff \celloMusic
1255   >>
1256   \layout { }
1257   \midi { }
1258 }
1259 @end lilypond
1260
1261 @node Four-part SATB vocal score
1262 @subsection Four-part SATB vocal score
1263
1264 La mayor parte de las partituras vocales escritas para coro mixto a
1265 cuatro voces con acompañamiento orquestal, como el «Elías» de
1266 Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
1267 letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
1268 reducción de piano del acompañamiento de orquesta, por debajo. He aquí
1269 un ejemplo del «Mesías» de Haendel:
1270
1271 @c The following should appear as music without code
1272 @lilypond[quote,ragged-right]
1273 global = { \key d \major \time 4/4 }
1274 sopMusic = \relative c'' {
1275   \clef "treble"
1276   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
1277 }
1278 sopWords = \lyricmode {
1279   Wor -- thy is the lamb that was slain
1280 }
1281 altoMusic = \relative a' {
1282   \clef "treble"
1283   r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
1284 }
1285 altoWords = \sopWords
1286 tenorMusic = \relative c' {
1287   \clef "G_8"
1288   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
1289 }
1290 tenorWords = \sopWords
1291 bassMusic = \relative c' {
1292   \clef "bass"
1293   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
1294 }
1295 bassWords = \sopWords
1296 upper = \relative a' {
1297   \clef "treble"
1298   \global
1299   r4 <a d fis>2 <a e' a>4 |
1300   <d fis d'>4. <d fis d'>8 <a d a'>2 |
1301   <g cis g'>4 <a d fis> <a cis e>2 |
1302 }
1303 lower = \relative c, {
1304   \clef "bass"
1305   \global
1306   <d d'>4 <d d'>2 <cis cis'>4 |
1307   <b b'>4. <b' b'>8 <fis fis'>2 |
1308   <e e'>4 <d d'> <a' a'>2 |
1309 }
1310
1311 \score {
1312   <<  % combine ChoirStaff and PianoStaff in parallel
1313     \new ChoirStaff <<
1314       \new Staff = "sopranos" <<
1315         \set Staff.instrumentName = "Soprano"
1316         \new Voice = "sopranos" { \global \sopMusic }
1317       >>
1318       \new Lyrics \lyricsto "sopranos" { \sopWords }
1319       \new Staff = "altos" <<
1320         \set Staff.instrumentName = "Alto"
1321         \new Voice = "altos" { \global \altoMusic }
1322       >>
1323       \new Lyrics \lyricsto "altos" { \altoWords }
1324       \new Staff = "tenors" <<
1325         \set Staff.instrumentName = "Tenor"
1326         \new Voice = "tenors" { \global \tenorMusic }
1327       >>
1328       \new Lyrics \lyricsto "tenors" { \tenorWords }
1329       \new Staff = "basses" <<
1330         \set Staff.instrumentName = "Bass"
1331         \new Voice = "basses" { \global \bassMusic }
1332       >>
1333       \new Lyrics \lyricsto "basses" { \bassWords }
1334     >>  % end ChoirStaff
1335
1336     \new PianoStaff <<
1337       \set PianoStaff.instrumentName = "Piano  "
1338       \new Staff = "upper" \upper
1339       \new Staff = "lower" \lower
1340     >>
1341   >>
1342 }
1343 @end lilypond
1344
1345 Ninguna de las plantillas proporciona esta disposición con exactitud.
1346 La más parecida es @q{partitura vocal SATB y reducción de piano
1347 automática}, pero necesitamos cambiar la disposición y añadir un
1348 acompañamiento de piano que no esté derviado automáticamente de las
1349 partes vocales.  Las variables que contienen la música y la letra de
1350 las partes vocales es adecuada, pero tendremos que añadir variables
1351 para la reducción de piano.
1352
1353 El orden en que aparecen los contextos en el ChoirStaff de la
1354 plantilla no se corresponde con el orden de la partitura vocal que
1355 hemos mostrado más arriba.  Tenemos que reordenarlas para que haya
1356 cuatro pentagramas con la letra escrita directamente bajo las notas de
1357 cada parte.  Todas las voces deben ser @code{\voiceOne}, que es la
1358 predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
1359 eliminar.  También tenemos que especificar la clave de tenor (clave de
1360 sol octava baja) en las partes de tenor.  Aún no hemos encontrado la
1361 forma en que la letra se especifica en la plantilla, así que tenemos
1362 que utilizar el método que nos resulta familiar.  También tenemos que
1363 escribir los nombres de cada pentagrama.
1364
1365 Al hacerlo así obtenemos el ChoirStaff siguiente:
1366
1367 @example
1368     \new ChoirStaff <<
1369       \new Staff = "sopranos" <<
1370         \set Staff.instrumentName = "Soprano"
1371         \new Voice = "sopranos" @{ \global \musicaSoprano @}
1372       >>
1373       \new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
1374       \new Staff = "altos" <<
1375         \set Staff.instrumentName = "Alto"
1376         \new Voice = "altos" @{ \global \musicaAlto @}
1377       >>
1378       \new Lyrics \lyricsto "altos" @{ \letraAlto @}
1379       \new Staff = "tenores" <<
1380         \set Staff.instrumentName = "Tenor"
1381         \new Voice = "tenores" @{ \global \musicaTenor @}
1382       >>
1383       \new Lyrics \lyricsto "tenors" @{ \letraTenor @}
1384       \new Staff = "bajos" <<
1385         \set Staff.instrumentName = "Bass"
1386         \new Voice = "bajos" @{ \global \musicaBajo @}
1387       >>
1388       \new Lyrics \lyricsto "basses" @{ \letraBajo @}
1389     >>  % fin del ChoirStaff
1390 @end example
1391
1392 A continuación debemos trabajar sobre la parte de piano.  Es fácil:
1393 tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
1394 solista}:
1395
1396 @example
1397 \new PianoStaff <<
1398   \set PianoStaff.instrumentName = "Piano  "
1399   \new Staff = "superior" \superior
1400   \new Staff = "inferior" \inferior
1401 >>
1402 @end example
1403
1404 y escribir las definiciones de variable para @code{superior} e
1405 @code{inferior}.
1406
1407 Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
1408 ángulos dobles, ya queremos apilarlos unos sobre otros:
1409
1410 @example
1411 <<  % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
1412   \new ChoirStaff <<
1413     \new Staff = "sopranos" <<
1414       \new Voice = "sopranos" @{ \global \musicaSoprano @}
1415     >>
1416     \new Lyrics \lyricsto "sopranos" @{ \letraSoprano @}
1417     \new Staff = "altos" <<
1418       \new Voice = "altos" @{ \global \musicaAlto @}
1419     >>
1420     \new Lyrics \lyricsto "altos" @{ \letraAlto @}
1421     \new Staff = "tenores" <<
1422       \clef "G_8"  % clave de tenor
1423       \new Voice = "tenores" @{ \global \musicaTenor @}
1424     >>
1425     \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
1426     \new Staff = "bajos" <<
1427       \clef "bass"
1428       \new Voice = "bajos" @{ \global \musicaBajo @}
1429     >>
1430     \new Lyrics \lyricsto "bajos" @{ \letraBajo @}   
1431   >>  % fin del ChoirStaff
1432
1433   \new PianoStaff <<
1434     \set PianoStaff.instrumentName = "Piano  "
1435     \new Staff = "upper" \upper
1436     \new Staff = "lower" \lower
1437   >>
1438 >>
1439 @end example
1440
1441 Al combinar todo esto junto y escribir la música de los tres compases
1442 del ejemplo anterior, obtenemos:
1443
1444 @lilypond[quote,verbatim,ragged-right]
1445 \version "2.11.38"
1446 global = { \key d \major \time 4/4 }
1447 sopMusic = \relative c'' {
1448   \clef "treble"
1449   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
1450 }
1451 sopWords = \lyricmode {
1452   Wor -- thy is the lamb that was slain
1453 }
1454 altoMusic = \relative a' {
1455   \clef "treble"
1456   r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
1457 }
1458 altoWords = \sopWords
1459 tenorMusic = \relative c' {
1460   \clef "G_8"
1461   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
1462 }
1463 tenorWords = \sopWords
1464 bassMusic = \relative c' {
1465   \clef "bass"
1466   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
1467 }
1468 bassWords = \sopWords
1469 upper = \relative a' {
1470   \clef "treble"
1471   \global
1472   r4 <a d fis>2 <a e' a>4 |
1473   <d fis d'>4. <d fis d'>8 <a d a'>2 |
1474   <g cis g'>4 <a d fis> <a cis e>2 |
1475 }
1476 lower = \relative c, {
1477   \clef "bass"
1478   \global
1479   <d d'>4 <d d'>2 <cis cis'>4 |
1480   <b b'>4. <b' b'>8 <fis fis'>2 |
1481   <e e'>4 <d d'> <a' a'>2 |
1482 }
1483
1484 \score {
1485   <<  % combine ChoirStaff and PianoStaff in parallel
1486     \new ChoirStaff <<
1487       \new Staff = "sopranos" <<
1488         \set Staff.instrumentName = "Soprano"
1489         \new Voice = "sopranos" { \global \sopMusic }
1490       >>
1491       \new Lyrics \lyricsto "sopranos" { \sopWords }
1492       \new Staff = "altos" <<
1493         \set Staff.instrumentName = "Alto"
1494         \new Voice = "altos" { \global \altoMusic }
1495       >>
1496       \new Lyrics \lyricsto "altos" { \altoWords }
1497       \new Staff = "tenors" <<
1498         \set Staff.instrumentName = "Tenor"
1499         \new Voice = "tenors" { \global \tenorMusic }
1500       >>
1501       \new Lyrics \lyricsto "tenors" { \tenorWords }
1502       \new Staff = "basses" <<
1503         \set Staff.instrumentName = "Bass"
1504         \new Voice = "basses" { \global \bassMusic }
1505       >>
1506       \new Lyrics \lyricsto "basses" { \bassWords }
1507     >>  % end ChoirStaff
1508
1509     \new PianoStaff <<
1510       \set PianoStaff.instrumentName = "Piano  "
1511       \new Staff = "upper" \upper
1512       \new Staff = "lower" \lower
1513     >>
1514   >>
1515 }
1516 @end lilypond
1517   
1518
1519 @node Building a score from scratch
1520 @subsection Building a score from scratch
1521
1522 Después de adquirir algo de soltura en la escritura del código de
1523 LilyPond, se dará cuenta de que es más fácil construir completamente
1524 una partitura partiendo de cero, que modificar una plantilla.  También
1525 puede desarrollar su propio estilo de forma que se adapte al tipo de
1526 música que le apetezca.  Veamos a continuación cómo confeccionar una
1527 partitura para un preludio de órgano, como ejemplo.
1528
1529 Comenzamos con una sección para el encabezamiento.  Aquí es donde van
1530 el título, nombre del compositor, etc., después van las definiciones
1531 de las variables, y finalmente el bloque de partitura.  Comencemos a
1532 verlas por encima y más tarde completaremos los detalles.
1533
1534 Utilizaremos los dos primeros compases del peludio de Bach basado en
1535 @emph{Jesu, meine Freude}, que está escrito para órgano con dos
1536 manuales y pedal.  Tiene estos dos compases de música al final de la
1537 sección.  La parte del manual superior tiene dos voces, y el inferior
1538 y el pedal, una voz cada uno.  Así pues, necesitamos cuatro
1539 definiciones para la música y una más para definir el compás y la
1540 tonalidad:
1541
1542 @example
1543 \version @w{"@version{}"}
1544 \header @{
1545   title = "Jesu, meine Freude"
1546   composer = "J S Bach"
1547 @}
1548 TimeKey = @{ \time 4/4 \key c \minor @}
1549 MusicaManualUnoVozUno = @{s1@}
1550 MusicaManualUnoVozDos = @{s1@}
1551 MusicaManualDos = @{s1@}
1552 MusicaPedal = @{s1@}
1553
1554 \score @{
1555 @}
1556 @end example
1557
1558 Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
1559 en lugar de la música de verdad.  La añadiremos más adelante.
1560
1561 A continuación veamos qué va en el bloque de partitura.
1562 Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
1563 La música de órgano se escribe por lo general en tres pentagramas, uno
1564 para cada uno de los manuales y otro para el pedal.  Los pentagramas
1565 de los manuales se abarcan con una llave, así que los incluiremos en
1566 un grupo PianoStaff.  La primera parte de manual tiene dos voces, y la
1567 segunda sólo una.
1568
1569 @example
1570   \new PianoStaff <<
1571     \new Staff = "ManualUno" <<
1572       \new Voice @{ \MusicaManualUnoVozUno @}
1573       \new Voice @{ \MusicaManualUnoVozDos @}
1574     >>  % fun del contexto de Staff ManualUno
1575     \new Staff = "ManualDos" <<
1576       \new Voice @{ \MusicaManualDos @}
1577     >>  % fin del contexto de Staff ManualDos
1578   >>  % fin del contexto de PianoStaff
1579 @end example
1580
1581 Después, tenemos que añadir un pentagrama para el órgano de pedal.
1582 Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
1583 por lo que escribimos dobles ángulos rodeando a los dos.  Si esto se
1584 nos olvida, se producirá un error en el archivo log de registro.  ¡Es
1585 un error muy común que cometerá antes o después!  Intente copiar el
1586 ejemplo final que aparece al final de la sección, borre los dobles
1587 ángulos y procese el archivo para ver qué error produce.
1588
1589 @example
1590 <<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
1591   \new PianoStaff <<
1592     \new Staff = "ManualUno" <<
1593       \new Voice @{ \MusicaManualUnoVozUno @}
1594       \new Voice @{ \MusicaManualUnoVozDos @}
1595     >>  % fin del contexto de Staff ManualUno
1596     \new Staff = "ManualDos" <<
1597       \new Voice @{ \MusicaManualDos @}
1598     >>  % fin del contexto de Staff ManualDos
1599   >>  % fin del contexto de PianoStaff
1600   \new Staff = "OrganoPedal" <<
1601     \new Voice @{ \MusicaOrganoPedal @}
1602   >>
1603 >>
1604 @end example
1605
1606 No es estrictamente necesario utilizar la construcción simultánea
1607 @code{<< >>} para el pentagrama del manual dos y el pentagrama del
1608 órgano de pedal, ya que contienen una única expresión, pero no hace
1609 daño y es una buena costumbre utilizar siempre dobles ángulos después
1610 de @code{\new Staff} cuando hay varias voces.
1611
1612 Añadamos esta estructura al bloque de partitura, y ajustemos el
1613 sangrado de los márgenes.  También escribimos las claves
1614 correspondientes, nos aseguramos de que las plicas de la segunda voz
1615 apuntan hacia abajo mediante @code{\voiceTwo} y escribimos el compás y
1616 la tonalidad en cada uno de los pentagramas usando nuestra variable
1617 previamente definida @code{\TimeKey}.
1618
1619 @example
1620 \score @{
1621   <<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
1622     \new PianoStaff <<
1623       \new Staff = "ManualUno" <<
1624         \TimeKey  % establecer compás y tonalidad
1625         \clef "treble"
1626         \new Voice @{ \MusicaManualUnoVozUno @}
1627         \new Voice @{ \voiceTwo \MusicaManualUnoVozDos @}
1628       >>  % fin del contexto de Staff ManualUno
1629       \new Staff = "ManualDos" <<
1630         \TimeKey
1631         \clef "bass"
1632         \new Voice @{ \MusicaManualDos @}
1633       >>  % fin del contexto de Staff ManualDos
1634     >>  % fin del contexto de PianoStaff
1635     \new Staff = "OrganoPedal" <<
1636       \TimeKey
1637       \clef "bass"
1638       \new Voice @{ \MusicaOrganoPedal @}
1639     >>  % fin del pentagrama de OrganoPedal
1640   >>
1641 @}  % end Score context
1642 @end example
1643
1644 Con esto se completa la estructura.  Toda música para órgano de tres
1645 pentagramas tendrá una estructura similar, aunque el número de voces
1646 puede variar.  Todo lo que nos queda es añadir la música, y combinar
1647 todas las partes.
1648
1649 @lilypond[quote,verbatim,ragged-right]
1650 \version "2.11.38"
1651 \header {
1652   title = "Jesu, meine Freude"
1653   composer = "J S Bach"
1654 }
1655 TimeKey = { \time 4/4 \key c \minor }
1656 ManualOneVoiceOneMusic = \relative g' {
1657   g4 g f ees | d2 c2 |
1658 }
1659 ManualOneVoiceTwoMusic = \relative c' {
1660   ees16 d ees8~ ees16 f ees s c8 d~ d c~ |
1661   c c4 b8 c8. g16 c b c d |
1662 }
1663 ManualTwoMusic = \relative c' {
1664   c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
1665   f ees f d g aes g f ees d e8~ ees16 f ees d |
1666 }
1667 PedalOrganMusic = \relative c {
1668   r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
1669   r16 g ees f g f g8 c,2 |
1670   }
1671
1672 \score {
1673   <<  % PianoStaff and Pedal Staff must be simultaneous
1674     \new PianoStaff <<
1675       \new Staff = "ManualOne" <<
1676         \TimeKey  % set time signature and key
1677         \clef "treble"
1678         \new Voice { \ManualOneVoiceOneMusic }
1679         \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
1680       >>  % end ManualOne Staff context
1681       \new Staff = "ManualTwo" <<
1682         \TimeKey
1683         \clef "bass"
1684         \new Voice { \ManualTwoMusic }
1685       >>  % end ManualTwo Staff context
1686     >>  % end PianoStaff context
1687     \new Staff = "PedalOrgan" <<
1688       \TimeKey
1689       \clef "bass"
1690       \new Voice { \PedalOrganMusic }
1691     >>  % end PedalOrgan Staff
1692   >>
1693 }  % end Score context
1694 @end lilypond
1695