]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/learning/fundamental.itely
5c38195fbe607b8f98c0e51909d70a8bc513d24a
[lilypond.git] / Documentation / es / learning / fundamental.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.19.22"
12
13 @node Conceptos fundamentales
14 @chapter Conceptos fundamentales
15 @translationof Fundamental concepts
16
17 Ha podido ver en el tutorial cómo producir música bellamente impresa a
18 partir de un simple archivo de texto.  Esta sección presenta los
19 conceptos y técnicas que se requieren para producir partituras
20 igualmente bellas pero más complejas.
21
22 @menu
23 * Cómo funcionan los archivos de entrada de LilyPond::
24 * Las voces contienen música::
25 * Contextos y grabadores::
26 * Extender las plantillas::
27 @end menu
28
29
30 @node Cómo funcionan los archivos de entrada de LilyPond
31 @section Cómo funcionan los archivos de entrada de LilyPond
32 @translationof How LilyPond input files work
33
34 El formato de entrada de LilyPond es bastante libre en su forma y
35 concede a los usuarios con experiencia mucha flexibilidad para
36 estructurar sus archivos de la forma que deseen.  Sin embargo, toda
37 esta flexibilidad puede hacer que las cosas se vuelvan confusas para
38 los nuevos usuarios.  Esta sección le va a explicar parte de esta
39 estructura, pero puede obviar ciertos detalles en aras de la
40 simplicidad.  Para ver una descripción completa del formato de
41 entrada, consulte @ruser{Estructura del archivo}.
42
43
44 @menu
45 * Introducción a la estructura de los archivos de LilyPond::
46 * La partitura es una (única) expresión musical compuesta::
47 * Anidado de expresiones musicales::
48 * Acerca de la no anidabilidad de llaves y ligaduras::
49 @end menu
50
51 @node Introducción a la estructura de los archivos de LilyPond
52 @subsection Introducción a la estructura de los archivos de LilyPond
53 @translationof Introduction to the LilyPond file structure
54
55 @cindex entrada, formato de la
56 @cindex archivo, estructura del
57
58 Un ejemplo básico de archivo de entrada de LilyPond es el siguiente:
59
60 @example
61 \version @w{"@version{}"}
62
63 \header @{ @}
64
65 \score @{
66   @var{ @dots{} expresión musical compuesta @dots{} }  % toda la música va aquí
67   \layout @{ @}
68   \midi @{ @}
69 @}
70 @end example
71
72 @noindent
73 Existen muchas variaciones de este esquema básico, pero el ejemplo
74 constituye un útil punto de partida.
75
76 @funindex \book
77 @funindex book
78 @funindex \score
79 @funindex score
80 @cindex book (libro)
81 @cindex score (partitura)
82 @cindex libro
83 @cindex partitura
84
85 Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
86 instrucción @code{\score@{@}}.  Esto es así a causa de que LilyPond
87 añade automáticamente las órdenes adicionales que se requieren cuando
88 le proporcionamos una entrada sencilla.  LilyPond trata una entrada
89 como esta:
90
91 @example
92 \relative @{
93   c''4 a d c
94 @}
95 @end example
96
97 @noindent
98 como una abreviatura de esta otra:
99
100 @example
101 \book @{
102   \score @{
103     \new Staff @{
104       \new Voice @{
105         \relative @{
106           c''4 a b c
107         @}
108       @}
109     @}
110     \layout @{ @}
111   @}
112 @}
113 @end example
114
115 En otras palabras, si la entrada consta de una única expresión
116 musical, LilyPond interpreta el archivo como si la expresión musical
117 estuviera rodeada por un envoltorio hecho por las instrucciones que
118 acabamos de ver.
119
120 @cindex contextos implícitos
121 @cindex implícitos, contextos
122
123 @strong{¡Advertencia!}  Muchos de los ejemplos que aparecen en la
124 documentación de LilyPond omiten las instrucciones @code{\new Staff} y
125 @code{\new Voice}, dejando que se creen de forma implícita.  Esto
126 funciona bien para ejemplos sencillos, pero para ejemplos más
127 complicados, especialmente cuando se usan instrucciones adicionales,
128 la creación implícita de los contextos puede dar lugar a resultados
129 inesperados, incluso en ocasiones crear pentagramas no deseados.  La
130 forma de crear contextos de forma explícita se explica en
131 @ref{Contextos y grabadores}.
132
133 @warning{Cuando se escriben más de unas pocas líneas de música, se
134 recomienda crear siempre los pentagramas y las voces de forma
135 explícita.}
136
137 De todas formas, por ahora vamos a volver al primer ejemplo para
138 examinar la instrucción @code{\score}, dejando las demás en su forma
139 predeterminada.
140
141 Un bloque @code{\score} siempre debe contener una expresión musical
142 única, que debe aparecer inmediatamente después de la instrucción
143 @code{\score}.  Recuerde que una expresión musical podía ser cualquier
144 cosa entre una sola nota hasta una enorme expresión compuesta como
145
146 @example
147 @{
148   \new StaffGroup <<
149     @var{ @dots{} inserte aquí la partitura completa de una ópera de Wagner @dots{} }
150   >>
151 @}
152 @end example
153
154 @noindent
155 Puesto que todo se encuentra dentro de @code{@{ @dots{} @}}, cuenta como
156 una expresión musical.
157
158 Como vimos anteriormente, el bloque @code{\score} puede contener otras
159 cosas, tales como
160
161 @example
162 \score @{
163   @{ c'4 a b c' @}
164   \header @{ @}
165   \layout @{ @}
166   \midi @{ @}
167 @}
168 @end example
169
170 @funindex \header
171 @funindex header
172 @funindex \layout
173 @funindex layout
174 @funindex \midi
175 @funindex midi
176 @cindex midi
177 @cindex cabecera
178 @cindex disposición
179
180 @noindent
181 Observe que estas tres instrucciones (@code{\header}, @code{\layout} y
182 @code{\midi}) son especiales: a diferencia del resto de las
183 instrucciones que comienzan con una barra invertida (@code{\}),
184 @emph{no} son expresiones musicales y no forman parte de ninguna
185 expresión musical.  Por tanto, se pueden situar dentro de un bloque
186 @code{\score} o fuera de él.  De hecho, estas instrucciones se sitúan
187 por lo general fuera del bloque @code{\score} (por ejemplo,
188 @code{\header} se suele colocar antes de la instrucción @code{\score},
189 como muestra el ejemplo que aparece al principio de la sección.
190
191 Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
192 y @code{\midi @{ @}}.  Si aparecen tal y como se muestran aquí, hacen
193 que LilyPond produzca una salida impresa y una salida MIDI,
194 respectivamente.  Se describen con todo detalle en el manual de
195 Referencia de la notación, en @ruser{Disposición de la partitura} y en
196 @ruser{Crear archivos MIDI}.
197
198 @cindex partituras, varias
199 @cindex book, bloque implícito
200 @cindex implícito, bloque book
201 @funindex \book
202 @funindex book
203
204 Podemos escribir varios bloques @code{\score}.  Cada uno de ellos
205 recibirá el mismo tratamiento que una partitura independiente, pero se
206 combinarán todos juntos en un archivo de salida único.  No se necesita
207 ninguna instrucción @code{\book}, se creará una implícitamente.  Sin
208 embargo, si quiere archivos de salida separados a partir de un único
209 archivo @file{.ly}, entonces es necesario utilizar la instrucción
210 @code{\book} para separar las distintas secciones: cada bloque
211 @code{\book} produce un archivo de salida distinto.
212
213 En resumen:
214
215 Cada bloque @code{\book} crea un archivo de salida distinto (por
216 ejemplo, un archivo PDF).  Si no hemos escrito uno de forma explícita,
217 LilyPond envuelve todo nuestro código de entrada dentro de un bloque
218 @code{\book} de forma implícita.
219
220 Cada bloque @code{\score} es un trozo de música separado dentro de un
221 bloque @code{\book}.
222
223 @cindex layout, efecto de la situación del bloque
224
225 Cada bloque @code{\layout} afecta al bloque @code{\score} o
226 @code{\book} dentro del cual aparece (es decir, un bloque
227 @code{\layout} dentro de un bloque @code{\score} afecta solamente a
228 ese bloque @code{\score}, pero un bloque @code{\layout} fuera de un
229 bloque @code{\score} (que por ello está dentro de un bloque
230 @code{\book}, ya sea explícita o implícitamente) afecta a los bloques
231 @code{\score} que están dentro de ese @code{\book}.
232
233 Para ver más detalles, consulte @ruser{Varias partituras en un libro}.
234
235 @cindex variables
236
237 Otro magnífico atajo es la posibilidad de definir variables  como
238 se muestra en @ref{Organizar las piezas mediante variables}.  Todas las
239 plantillas emplean lo siguiente:
240
241 @example
242 melodia = \relative @{
243   c'4 a b c
244 @}
245
246 \score @{
247   \melodia
248 @}
249 @end example
250
251 Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
252 (todo lo que está después del signo igual) y lo inserta dondequiera
253 que ve @code{\melodia}.  No se requiere un cuidado especial con el
254 nombre (puede ser @code{melodia}, @code{global},
255 @code{CompasArmadura}, @code{manoderechadelpiano} o
256 @code{fulanomengano} o cualquier otro).  Recuerde que puede usar casi
257 cualquier nombre que se le ocurra, en la medida en que contenga
258 solamente caracteres alfabéticos y sea diferente de cualquiera de los
259 nombres de instrucción de LilyPond.  Para ver más detalles, consulte @ref{Ahorrar
260 tecleo mediante variables y funciones}.  Las limitaciones exactas que
261 afectan a los nombres de variable se detallan en @ruser{Estructura del
262 archivo}.
263
264
265 @seealso
266 Para ver una definición completa del formato del código de entrada,
267 consulte @ruser{Estructura del archivo}.
268
269
270 @node La partitura es una (única) expresión musical compuesta
271 @subsection La partitura es una (única) expresión musical compuesta
272 @translationof Score is a (single) compound musical expression
273
274 @cindex score
275 @cindex partitura
276 @cindex contenido del bloque score
277 @cindex score, contenido del bloque
278 @cindex compuesta, expresión musical
279 @cindex musical, expresión, compuesta
280 @cindex expresión musical compuesta
281 @funindex \score
282 @funindex score
283
284 En la sección anterior, @ref{Introducción a la estructura de los
285 archivos de LilyPond}, hemos podido ver la organización general de los
286 archivos de entrada de LilyPond.  Pero parece que nos saltamos la
287 parte más importante: ¿cómo averiguamos qué escribir después de
288 @code{\score}?
289
290 No nos hemos saltado nada en absoluto.  El gran misterio es,
291 sencillamente, que no hay @emph{ningún} misterio.  La siguiente línea
292 lo explica todo:
293
294 @quotation
295 @emph{Un bloque @code{\score} debe comenzar con una expresión musical
296 compuesta.}
297 @end quotation
298
299 @noindent
300 Para comprender lo que se entiende por expresión musical y expresión
301 musical compuesta, quizá encuentre útil dar un repaso al tutorial,
302 @ref{Explicación de las expresiones musicales}.  En esta sección vimos cómo
303 elaborar grandes expresiones musicales a partir de pequeñas piezas
304 (comenzábamos con notas, luego acordes, etc.).  Ahora partiremos de
305 una gran expresión musical y recorreremos el camino inverso hacia
306 abajo.  Por simplicidad, vamos a hacer sólo un cantante y un piano.
307 No necesitamos un @code{StaffGroup} (que simplemente agrupa un cierto
308 número de pautas con un corchete a la izquierda) para este conjunto,
309 así que lo retiramos.  Sin embargo, @emph{sí} necesitamos pentagramas
310 para un cantante y un piano.
311
312 @example
313 \score @{
314   <<
315     \new Staff = "cantante" <<
316     >>
317     \new PianoStaff = "piano" <<
318     >>
319   >>
320   \layout @{ @}
321 @}
322 @end example
323
324 Aquí hemos asignado nombres a los pentagramas: @qq{cantante} y
325 @qq{piano}.  Esto no es esencial en este momento, pero es un hábito
326 que resulta útil cultivar de manera que podamos saber de un vistazo
327 para qué es cada pentagrama.
328
329 Recuerde que utilizamos @code{<< @dots{} >>} en lugar de @code{@{ @dots{} @}}
330 para presentar la música simultánea.  Esto hace que las partes vocal y
331 del piano aparezcan una sobre la otra en la partitura.  La
332 construcción @code{<< @dots{} >>} no sería necesaria para el pentagrama
333 del cantante en el ejemplo de arriba si contiene solamente una
334 expresión musical secuencial, pero se necesitarían los @code{<<
335 @dots{} >>} en lugar de las llaves si la música de ese pentagrama fuese a
336 contener dos o más expresiones simultáneas, p.ej. dos voces
337 simultáneas, o una voz con letra.  Vamos a tener una voz con letra,
338 por lo que se requieren los ángulos dobles.  Después añadiremos algo
339 de música real; por ahora limitémonos a poner unas cuantas notas y
340 texto de relleno.  Si ha olvidado cómo añadir la letra, puede releer
341 la sección @code{\addlyrics} de @ref{Elaborar canciones sencillas}.
342
343 @lilypond[verbatim,quote,ragged-right]
344 \score {
345   <<
346     \new Staff = "singer" <<
347       \new Voice = "vocal" { c'1 }
348       \addlyrics { And }
349     >>
350     \new PianoStaff = "piano" <<
351       \new Staff = "upper" { c'1 }
352       \new Staff = "lower" { c'1 }
353     >>
354   >>
355   \layout { }
356 }
357 @end lilypond
358
359 Ahora tenemos muchos más detalles.  Tenemos la pauta del cantante:
360 contiene una @code{Voice} o voz (en LilyPond, este término hace
361 referencia a un conjunto de notas, no necesariamente notas vocales --
362 por ejemplo, un violín generalmente toca una voz --) y el texto de la
363 canción.  También tenemos una pauta de piano: contiene un pentagrama
364 superior (mano derecha) y un pentagrama inferior (mano izquierda),
365 aunque el pentagrama inferior aún no tiene la clave de Fa.
366
367 En este momento podríamos comenzar a meter las notas.  Dentro de las
368 llaves que siguen a @code{\new Voice = "vocal"}, podríamos empezar
369 escribiendo
370
371 @example
372 \relative @{
373   r4 d''8\noBeam g, c4 r
374 @}
375 @end example
376
377 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
378 larga y sería más difícil comprender lo que ocurre.  En lugar de esto
379 utilizaremos identificadores o variables.  Recordará que las vimos por
380 primera vez en la sección anterior.
381
382 Para asegurarnos de que el contenido de la variable @code{text} se
383 interpreta como letra, lo precedemos por @code{\lyricmode}.  Como
384 @code{\addlyrics}, esto activa el modo de entrada de letra.  Sin ello,
385 LilyPond trataría de interpretar el contenido como notas, lo que
386 generaría errores (Existen algunos otros modos, véase @ruser{Modos de
387 entrada}).
388
389 Así pues, escribiendo algunas notas, y una clave de Fa para la mano
390 izquierda, ahora tenemos un fragmento musical de verdad:
391
392 @lilypond[verbatim,quote,ragged-right]
393 melody = \relative { r4 d''8\noBeam g, c4 r }
394 text   = \lyricmode { And God said, }
395 upper  = \relative { <g' d g,>2~ <g d g,> }
396 lower  = \relative { b,2 e }
397
398 \score {
399   <<
400     \new Staff = "singer" <<
401       \new Voice = "vocal" { \melody }
402       \addlyrics { \text }
403     >>
404     \new PianoStaff = "piano" <<
405       \new Staff = "upper" { \upper }
406       \new Staff = "lower" {
407         \clef "bass"
408         \lower
409       }
410     >>
411   >>
412   \layout { }
413 }
414 @end lilypond
415
416 Cuando escriba una sección @code{\score} o cuando la esté leyendo,
417 hágalo despacio y con cuidado.  Comience por el nivel exterior y luego
418 trabaje sobre cada uno de los niveles interiores.  También es de gran
419 ayuda ser muy estricto con los márgenes (asegúrese de que en su editor
420 de texto cada elemento del mismo nivel comienza en la misma posición
421 horizontal).
422
423
424 @seealso
425 Referencia de la notación:
426 @ruser{Estructura de una partitura}.
427
428
429 @node Anidado de expresiones musicales
430 @subsection Anidado de expresiones musicales
431 @translationof Nesting music expressions
432
433 @cindex pentagramas temporales
434 @cindex temporales, pentagramas
435 @cindex ossias
436
437 No es esencial declarar todos los pentagramas al comienzo; se pueden
438 crear temporalmente en cualquier momento.  Esto es de especial
439 utilidad para crear secciones de ossia (véase @rglos{ossia}).  A
440 continuación presentamos un ejemplo sencillo que muestra cómo
441 introducir temporalmente un pentagrama nuevo mientras dura un
442 fragmento de tres notas:
443
444 @lilypond[verbatim,quote,ragged-right]
445 \new Staff {
446   \relative {
447     r4 g'8 g c4 c8 d |
448     e4 r8
449     <<
450       { f8 c c }
451       \new Staff {
452         f8 f c
453       }
454     >>
455     r4 |
456   }
457 }
458 @end lilypond
459
460 @noindent
461 Advierta que el tamaño de la clave es igual al que se imprime en un
462 cambio de clave (ligeramente menor que la clave al principio de una
463 línea).  Esto es normal para cualquier clave que se imprime en la
464 mitad de una línea.
465
466 @cindex pentagrama, posicionado del
467
468 La sección ossia se puede colocar encima del pentagrama de la manera
469 siguiente:
470
471 @lilypond[verbatim,quote,ragged-right]
472 \new Staff = "main" {
473   \relative {
474     r4 g'8 g c4 c8 d |
475     e4 r8
476     <<
477       { f8 c c }
478       \new Staff \with {
479         alignAboveContext = #"main"
480       } { f8 f c }
481     >>
482     r4 |
483   }
484 }
485 @end lilypond
486
487 Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
488 adelante.  Es un medio de modificar el comportamiento predeterminado
489 de un solo pentagrama.  Aquí, dice que el pentagrama nuevo se debe
490 colocar por encima del pentagrama llamado @qq{main} en vez de la
491 posición predeterminada que sería por debajo.
492
493
494 @seealso
495 Los fragmentos de ossia se escriben a menudo sin clave y sin
496 indicación de compás, y generalmente en un tipo más pequeño.  Esto
497 necesitaría más instrucciones que aún no se han visto.  Véase
498 @ref{Tamaño de los objetos} y @ruser{Pentagramas de Ossia}.
499
500
501 @node Acerca de la no anidabilidad de llaves y ligaduras
502 @subsection Acerca de la no anidabilidad de llaves y ligaduras
503 @translationof On the un-nestedness of brackets and ties
504
505 @cindex corchetes y paréntesis, anidado de
506 @cindex corchetes y paréntesis, tipos de
507 @cindex corchetes y paréntesis, encerrar frente a marcar
508 @cindex paréntesis y corchetes, anidado de
509 @cindex paréntesis y corchetes, tipos de
510 @cindex paréntesis y corchetes, encerrar frente a marcar
511
512 En la escritura del archivo de entrada de LilyPond, hemos podido ver
513 algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
514 Éstos obedecen a distintas reglas que al principio pueden resultar
515 confusas.  Antes de explicar estas reglas, demos un repaso a las
516 distintas clases de corchetes, llaves y paréntesis.
517
518 @c attempt to force this onto a new page
519 @need 50
520 @multitable @columnfractions .3 .7
521 @headitem Tipo de paréntesis
522   @tab Función
523 @item @code{@{ @dots{} @}}
524   @tab Encierra un fragmento secuencial de música
525 @item @code{< @dots{} >}
526   @tab Encierra las notas de un acorde
527 @item @code{<< @dots{} >>}
528   @tab Encierra expresiones musicales simultáneas
529 @item @code{( @dots{} )}
530   @tab Marca el comienzo y el final de una ligadura de expresión
531 @item @code{\( @dots{} \)}
532   @tab Marca el comienzo y el final de una ligadura de fraseo
533 @item @code{[ @dots{} ]}
534   @tab Marca el comienzo y el final de un barrado manual
535 @end multitable
536
537 A las anteriores, debemos añadir otras construcciones que generan
538 líneas entre o a través de las notas: las ligaduras de unión (marcadas
539 con una tilde curva, @code{~}), los grupos especiales que se escriben
540 como @code{\tuplet x/y @{ @dots{} @}}, y las notas de adorno, que se escriben
541 como @code{\grace @{ @dots{} @}}.
542
543 Fuera de LilyPond, el uso convencional de los paréntesis y otros
544 corchetes requiere que los distintos tipos se encuentren anidados
545 correctamente, como en: @code{<< [ @{ ( @dots{} ) @} ] >>}, de manera que
546 los paréntesis que se cierran deben encontrarse en el orden
547 exactamente opuesto al de los paréntesis que se abren.  Esto
548 @strong{es} un requisito para los tres tipos de paréntesis que se
549 describen mediante la palabra @q{Encierra} en la tabla anterior: se
550 deben anidar correctamente.  Sin embargo, el resto de las llaves y
551 corchetes, que se encuentran descritos por la palabra @q{Marca} en la
552 misma tabla anterior, @strong{no} tienen por qué anidarse
553 estrictamente con ninguno de los otros paréntesis.  De hecho, éstos no
554 son paréntesis en el sentido de que encierran algo: simplemente son
555 marcadores que indican dónde empieza o finaliza algo.
556
557 Así pues, por ejemplo, una ligadura de fraseo puede dar comienzo
558 antes de una barra insertada manualmente, y acabar antes de que acabe
559 la barra (algo que quizá no sea muy musical, pero es posible):
560
561 @lilypond[quote,verbatim,ragged-right]
562 \relative { g'8\( a b[ c b\) a] g4 }
563 @end lilypond
564
565 En general, los distintos tipos de corchete, y los implicados en
566 grupos especiales, ligaduras de unión y notas de adorno, se pueden
567 mezclar con total libertad.  Este ejemplo muestra una barra que se
568 extiende hacia el interior de un grupo de valoración especial (línea
569 1), una ligadura de expresión que se prolonga hasta el interior de un
570 grupo especial (línea 2), una barra y una ligadura de expresión que se
571 prolongan hasta el interior de un grupo especial, una ligadura de
572 unión que atraviesa dos grupos especiales, y una ligadura de fraseo
573 que sale del interior de un grupo especial (líneas 3 y 4).
574
575 @lilypond[quote,verbatim,ragged-right]
576 \relative {
577   r16[ g' \tuplet 3/2 { r16 e'8] }
578   g,16( a \tuplet 3/2 { b16 d) e }
579   g,8[( a \tuplet 3/2 { b8 d) e~] } |
580   \tuplet 5/4 { e32\( a, b d e } a4.\)
581 }
582 @end lilypond
583
584
585 @node Las voces contienen música
586 @section Las voces contienen música
587 @translationof Voices contain music
588
589 Igual que los cantantes, LilyPond necesita voces para cantar.  En
590 realidad, la música para cualquier instrumento de una partitura está
591 siempre contenida dentro de una voz --el concepto de LilyPond más
592 fundamental de todos--.
593
594 @menu
595 * Oigo voces::
596 * Voces explícitas::
597 * Voces y música vocal::
598 @end menu
599
600 @node Oigo voces
601 @subsection Oigo voces
602 @translationof I'm hearing Voices
603
604 @cindex polifonía
605 @cindex capas
606 @cindex varias voces
607 @cindex voces, varias
608 @cindex Voice (voz), contexto de
609 @cindex contexto Voice (de voz)
610 @cindex simultánea, música
611 @cindex concurrente, música
612 @cindex voces frente a acordes
613 @cindex acordes frente a voces
614
615 De las capas más profundas de una partitura de LilyPond, las más bajas
616 y más fundamentales reciben el nombre de @q{Voice contexts}
617 («contextos de voz») o, abreviadamente, @q{Voices} («voces»).  Las
618 voces reciben a veces el nombre de @q{layers} («capas») en otros
619 programas de edición de partituras.
620
621 De hecho, una capa o contexto de voz es la única que puede contener
622 música.  Si un contexto de voz no se declara explícitamente, se crea
623 uno de forma automática, como vimos al comienzo de este capítulo.
624 Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
625 vez.  La música escrita para estos instrumentos
626 solamente requiere una voz.  Los instrumentos que pueden tocar
627 más de una nota a la vez, como el piano, con frecuencia necesitarán
628 varias voces para codificar las distintas notas y ritmos concurrentes
629 que son capaces de tocar.
630
631 Una sola voz puede contener muchas notas dentro de un acorde, por
632 supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
633 En primer lugar observe este ejemplo de cuatro acordes:
634
635 @lilypond[quote,verbatim,ragged-right]
636 \relative {
637   \key g \major
638   <d' g>4 <d fis> <d a'> <d g>
639 }
640 @end lilypond
641
642 Esto se puede expresar utilizando sólo símbolos de acorde con ángulos
643 simples, @code{< @dots{} >}, y para este propósito tan sólo se necesita
644 una voz.  Pero suponga que el Fa sostenido fuese realmente una corchea
645 seguida de un Sol corchea, una nota de paso que conduce al La.  Ahora
646 tenemos dos notas que empiezan en el mismo momento pero tienen
647 distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
648 codifica esto? No se pueden escribir como un acorde porque todas las
649 notas de un acorde deben tener la misma duración.  Y no se pueden
650 escribir como dos notas en secuencia porque tienen que empezar en el
651 mismo momento.  Aquí es donde se necesitan dos voces.
652
653 Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
654
655 @funindex << \\ >>
656 @funindex \\
657
658 La forma más fácil de introducir fragmentos con más de una voz en un
659 solo pentagrama es escribir cada voz como una secuencia (con
660 @code{@{ @dots{} @}}), y combinarlas simultáneamente con ángulos dobles,
661 @code{<< @dots{} >>}.  Los fragmentos también se deben separar mediante una
662 doble barra invertida, @code{\\}, para situarlos en voces separadas.
663 Sin esto, las notas irían a una sola voz, lo que normalmente produce
664 errores.  Esta técnica se adapta especialmente bien a piezas de música
665 que son mayormente homofónicas pero ocasionalmente tienen cortas
666 secciones de polifonía.
667
668 He aquí cómo dividimos los acordes anteriores en dos voces y añadimos
669 la nota de paso y la ligadura:
670
671 @lilypond[quote,verbatim,ragged-right]
672 \relative {
673   \key g \major
674   %    Voice = "1"             Voice = "2"
675   << { g'4 fis8( g) a4 g } \\ { d4 d d d }  >>
676 }
677 @end lilypond
678
679 Observe cómo las plicas de la segunda voz ahora se dirigen hacia
680 abajo.
681
682 A continuación veamos otro ejemplo sencillo:
683
684 @lilypond[quote,verbatim,ragged-right]
685 \relative {
686   \key d \minor
687   %    Voice = "1"           Voice = "2"
688   << { r4 g' g4. a8 }   \\ { d,2 d4 g }       >> |
689   << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
690   << { a2. r4 }         \\ { fis2. s4 }       >> |
691 }
692 @end lilypond
693
694 No es necesario usar una construcción @code{<< \\ >>} distinta para
695 cada compás. Para música que tenga unas pocas notas en cada compás,
696 esta disposición podría facilitar la legibilidad del código, pero si
697 hay muchas notas en cada compás podría ser mejor dividirlo en dos
698 voces separadas, de la siguiente manera:
699
700 @lilypond[quote,verbatim,ragged-right]
701 <<
702   \key d \minor
703   \relative { % Voice = "1"
704     r4 g' g4. a8 |
705     bes4 bes c bes |
706     a2. r4 |
707   } \\
708   \relative { % Voice = "2"
709     d'2 d4 g |
710     g4 g g8( a) g4 |
711     fis2. s4 |
712   }
713 >>
714 @end lilypond
715
716 @cindex voces, nombrado de
717 @cindex voces que cruzan corchetes
718 @cindex ligaduras que cruzan corchetes
719
720 Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
721 usar para codificar tres o más voces mediante la adición de más
722 separadores de barra invertida.
723
724 Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
725 etc. Los primeros contextos establecen las voces @emph{externas}, la
726 voz aguda del contexto @code{"1"} y la voz grave del contexto
727 @code{"2"}.  Las voces interiores van en los contextos @code{"3"} y
728 @code{"4"}.  En cada uno de estos contextos, la dirección vertical de
729 las ligaduras, plicas, matices dinámicos, etc., se ajusta de forma
730 correcta.
731
732 @lilypond[quote,verbatim]
733 \new Staff \relative {
734   % Main voice
735   c'16 d e f
736   %    Voice = "1"   Voice = "2"              Voice = "3"
737   << { g4 f e } \\ { r8 e4 d c8~ } >> |
738   << { d2 e }   \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
739 }
740 @end lilypond
741
742 Todas estas voces están separadas de la voz principal que contiene las
743 notas justo por fuera de la construcción @code{<< @dots{} >>}.  Le
744 llamaremos a esto la @emph{construcción simultánea}.  Las ligaduras
745 (de prolongación y de expresión) solamente pueden conectar notas que
746 estén dentro de la misma voz, luego las ligaduras no pueden entrar o
747 salir de una construcción simultánea.  A la inversa, las voces
748 paralelas de construcciones simultáneas distintas sobre el mismo
749 pentagrama, son la misma voz.  Otras propiedades relativas a las voces
750 también conllevan construcciones simultáneas.  A continuación vemos el
751 mismo ejemplo, con colores y cabezas distintos para cada voz.  Observe
752 que los cambios en una voz no afectan a otras voces, pero persisten
753 más tarde dentro de la misma voz.  Observe también que las notas
754 ligadas se pueden dividir entre las mismas voces de dos
755 construcciones, como se indica aquí en la voz de triángulos azules.
756
757 @lilypond[quote,verbatim]
758 \new Staff \relative {
759   % Main voice
760   c'16 d e f
761   <<  % Bar 1
762     {
763       \voiceOneStyle
764       g4 f e
765     }
766   \\
767     {
768       \voiceTwoStyle
769       r8 e4 d c8~
770     }
771   >> |
772   <<  % Bar 2
773      % Voice 1 continues
774     { d2 e }
775   \\
776      % Voice 2 continues
777     { c8 b16 a b8 g~ 2 }
778   \\
779     {
780       \voiceThreeStyle
781       s4 b c2
782     }
783   >> |
784 }
785 @end lilypond
786
787 @funindex \voiceOneStyle
788 @funindex \voiceTwoStyle
789 @funindex \voiceThreeStyle
790 @funindex \voiceFourStyle
791 @funindex \voiceNeutralStyle
792
793 Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
794 para usarlas en documentos educativos como este mismo.  Modifican el
795 color de la cabeza, la plica y las barras, y el estilo de la cabeza,
796 de forma que las voces se puedan distinguir fácilmente.  La voz uno
797 está establecida a rombos rojos, la voz dos a triángulos azules, la
798 voz tres a círculos verdes con aspas, y la voz cuatro (que no se
799 utiliza aquí) a aspas color magenta.  @code{\voiceNeutralStyle} (que
800 tampoco se usa aquí) devuelve todo al estilo predeterminado.  Veremos
801 más adelante cómo el usuario puede crear instrucciones como éstas.
802 Véase @ref{Visibilidad y color de los objetos} y
803 @ref{Uso de variables para los ajustes de disposición}.
804
805 @cindex polifonía y modo relativo
806 @cindex relativo, modo, polifonía y
807
808 La polifonía no cambia la relación de las notas dentro de un bloque
809 @code{\relative}.  La altura de cada nota aún se calcula con
810 relación a la nota que le precede inmediatamente, o a la primera nota
811 del acorde precedente.  Así, en
812
813 @example
814 \relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
815 @end example
816
817 @noindent
818 @code{notaB} es relativa a @code{notaA}                      @*
819 @code{notaC} es relativa a @code{notaB}, no a @code{notaA};   @*
820 @code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
821 @code{notaC};                                                 @*
822 @code{notaE} es relativa a @code{notaD}, no a @code{notaA}.
823
824 Una forma alternativa, que podría ser más clara si las notas en las
825 voces están muy separadas, es colocar una instrucción @code{\relative}
826 al principio de cada voz:
827
828 @example
829 \relative c' @{ notaA @dots{} @}
830 <<
831   \relative c'' @{ < notaB notaC > @dots{} @}
832 \\
833   \relative g' @{ notaD @dots{} @}
834 >>
835 \relative c' @{ notaE @dots{} @}
836 @end example
837
838 Finalmente, analicemos las voces en una pieza de música más compleja.
839 He aquí las notas de los dos primeros compases del segundo de los Dos
840 Nocturnos de Chopin, Op 32.  Este ejemplo se utilizará en fases
841 posteriores dentro del presente capítulo y el siguiente, para ilustrar
842 varias técnicas para producir notación, y por tanto le pedimos que
843 ignore por ahora cualquier cosa en el código subyacente que le parezca
844 misterioso y tan sólo se concentre en la música y las voces (todas
845 las complicaciones se explicarán en secciones posteriores).
846
847 @c The following should appear as music without code
848 @lilypond[quote,ragged-right]
849 \new Staff \relative {
850   \key aes \major
851   <<  % Voice one
852     { c''2 aes4. bes8 }
853   \\  % Voice two
854     {
855       % Ignore these for now - they are explained in Ch 4
856       \once \override NoteColumn.ignore-collision = ##t
857       <ees, c>2
858       \once \override NoteColumn.force-hshift = #0.5
859       des2
860     }
861   \\  % No voice three
862   \\  % Voice four
863     {
864       \override NoteColumn.force-hshift = #0
865       aes'2 f4 fes
866     }
867   >> |
868   <c ees aes c>1 |
869 }
870 @end lilypond
871
872 Con frecuencia, la dirección de las plicas se utiliza para indicar la
873 continuidad de dos líneas melódicas simultáneas.  Aquí, todas las
874 plicas de las notas agudas se dirigen hacia arriba y las de las notas
875 graves hacia abajo.  Ésta es la primera indicación de que se requiere
876 más de una voz.
877
878 Pero la necesidad real de varias voces aflora cuando hay notas que
879 comienzan en el mismo tiempo pero tienen distintas duraciones.
880 Observe las notas que comienzan en la tercera parte del primer compás.
881 El La bemol es una negra con puntillo, el Fa es una negra y el Re
882 bemol es una blanca.  Estas notas no se pueden escribir como un acorde
883 porque todas las notas de un acorde deben tener la misma duración.
884 Tampoco se pueden escribir como notas secuenciales, pues deben
885 comenzar al mismo tiempo.  Esta sección del compás requiere tres
886 voces, y la práctica común sería escribir todo el compás como tres
887 voces como se muestra abajo, donde hemos usado distintas cabezas y
888 colores para las tres voces.  Una vez más, el código que subyace a
889 este ejemplo se explicará más tarde, así pues ignore todo lo que no
890 entienda.
891
892 @c The following should appear as music without code
893 @c The three voice styles should be defined in -init
894 @lilypond[quote,ragged-right]
895 \new Staff \relative {
896   \key aes \major
897   <<
898     {  % Voice one
899       \voiceOneStyle
900       c''2 aes4. bes8
901     }
902   \\  % Voice two
903     { \voiceTwoStyle
904       % Ignore these for now - they are explained in Ch 4
905       \once \override NoteColumn.ignore-collision = ##t
906       <ees, c>2
907       \once \override NoteColumn.force-hshift = #0.5
908       des2
909     }
910   \\  % No Voice three (we want stems down)
911   \\  % Voice four
912     { \voiceThreeStyle
913       \override NoteColumn.force-hshift = #0
914       aes'2 f4 fes
915     }
916   >> |
917   <c ees aes c>1 |
918 }
919 @end lilypond
920
921
922 Vamos a intentar codificar esta música partiendo de cero.  Como
923 veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
924 hemos aprendido, usando la construcción @code{<< \\ >>} para
925 introducir la música del primer compás en tres voces:
926
927 @lilypond[quote,verbatim,ragged-right]
928 \new Staff \relative {
929   \key aes \major
930   <<
931     { c''2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
932   >> |
933   <c ees aes c>1 |
934 }
935 @end lilypond
936
937 @cindex plica abajo
938 @cindex voces y dirección de las plicas
939 @cindex plicas, voces y dirección de las
940 @cindex plica arriba
941
942 Las direcciones de las plicas se asignan automáticamente de forma que
943 las voces de numeración impar reciben las plicas hacia arriba y las de
944 numeración par hacia abajo.  Las plicas de las voces 1 y 2 están
945 correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
946 fragmento en particular.  Podemos corregir esto simplemente
947 olvidándonos de la voz tres y situando la música en la voz cuatro.
948 Esto se hace escribiendo otro par de barras invertidas (@code{\\}).
949
950 @lilypond[quote,verbatim,ragged-right]
951 \new Staff \relative {
952   \key aes \major
953   <<  % Voice one
954     { c''2 aes4. bes8 }
955   \\  % Voice two
956     { <ees, c>2 des }
957   \\  % Omit Voice three
958   \\  % Voice four
959     { aes'2 f4 fes }
960   >> |
961   <c ees aes c>1 |
962 }
963 @end lilypond
964
965 @noindent
966 Vemos que esto arregla la dirección de la plica, pero la colocación
967 horizontal de las notas no es la deseada.  LilyPond desplaza las notas
968 interiores cuando ellas o sus plicas de otro modo colisionarían con
969 las voces exteriores, pero esto no es lo más adecuado para música de
970 piano.  En otras situaciones, los desplazamientos que LilyPond aplica
971 pueden no eliminar las colisiones.  LilyPond aporta varias formas de
972 ajustar la colocación horizontal de las notas.  Aún no estamos
973 preparados para ver cómo se corrige esto, por lo que dejaremos el
974 problema para una sección posterior (véase la propiedad
975 @code{force-hshift} en @ref{Arreglar notación con superposiciones}).
976
977 @warning{No se pueden crear letras ni objetos de extensión
978 (como ligaduras, reguladores, etc.) @q{entre} voces distintas.}
979
980 @seealso
981 Referencia de la notación:
982 @ruser{Varias voces}.
983
984
985 @node Voces explícitas
986 @subsection Voces explícitas
987 @translationof Explicitly instantiating voices
988
989
990 @funindex \voiceOne
991 @funindex voiceOne
992 @funindex \voiceTwo
993 @funindex voiceTwo
994 @funindex \voiceThree
995 @funindex voiceThree
996 @funindex \voiceFour
997 @funindex voiceFour
998 @funindex \oneVoice
999 @funindex oneVoice
1000 @funindex \new Voice
1001 @cindex contextos de voz, creación de
1002
1003 Los contextos de voz también se pueden crear manualmente dentro de un
1004 bloque @code{<< >>} para crear música polifónica, utilizando
1005 @code{\voiceOne} @dots{} @code{\voiceFour} para indicar las direcciones
1006 requeridas de plicas, ligaduras, etc.  En partituras más largas, este
1007 método es más claro porque permite que las voces estén separadas y
1008 reciban nombres más descriptivos.
1009
1010 Concretamente, la construcción @code{<< \\ >>} que usamos en la
1011 sección previa:
1012
1013 @example
1014 \new Staff @{
1015   \relative @{
1016     << @{ e'4 f g a @} \\ @{ c,4 d e f @} >>
1017   @}
1018 @}
1019 @end example
1020
1021 @noindent
1022 equivale a
1023
1024 @example
1025 \new Staff <<
1026   \new Voice = "1" @{ \voiceOne \relative @{ e'4 f g a @} @}
1027   \new Voice = "2" @{ \voiceTwo \relative @{ c'4 d e f @} @}
1028 >>
1029 @end example
1030
1031 Los dos ejemplos anteriores producen:
1032
1033 @c The following example should not display the code
1034 @lilypond[ragged-right,quote]
1035 \new Staff <<
1036   \new Voice = "1" { \voiceOne \relative { e'4 f g a } }
1037   \new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
1038 >>
1039 @end lilypond
1040
1041 @cindex voces, retorno a única
1042 @cindex retorno a voz única
1043
1044 Las instrucciones @code{\voiceXXX} establecen la dirección de las
1045 plicas, ligaduras de expresión, ligaduras de prolongación,
1046 articulaciones, anotaciones de texto, puntillos y digitaciones.
1047 @code{\voiceOne} y @code{\voiceThree} hacen que estos objetos apunten
1048 hacia arriba, mientras que @code{\voiceTwo} y @code{\voiceFour} los
1049 hacen apuntar hacia abajo.  Estas instrucciones también producen un
1050 desplazamiento horizontal para cada voz cuando es necesario para
1051 evitar choques entre las cabezas.  La instrucción @code{\oneVoice}
1052 devuelve los ajustes de nuevo a los valores normales para una sola
1053 voz.
1054
1055 Veamos en algunos ejemplos sencillos exactamente qué efecto tienen
1056 @code{\oneVoice}, @code{\voiceOne} y @code{voiceTwo} sobre el marcado,
1057 las ligaduras de unión y de expresión y las indicaciones de dinámica:
1058
1059 @lilypond[quote,ragged-right,verbatim]
1060 \relative {
1061   % Default behavior or behavior after \oneVoice
1062   c'4 d8~ 8 e4( f | g4 a) b-> c |
1063 }
1064 @end lilypond
1065
1066 @lilypond[quote,ragged-right,verbatim]
1067 \relative {
1068   \voiceOne
1069   c'4 d8~ 8 e4( f | g4 a) b-> c |
1070   \oneVoice
1071   c,4 d8~ 8 e4( f | g4 a) b-> c |
1072 }
1073 @end lilypond
1074
1075 @lilypond[quote,ragged-right,verbatim]
1076 \relative {
1077   \voiceTwo
1078   c'4 d8~ 8 e4( f | g4 a) b-> c |
1079   \oneVoice
1080   c,4 d8~ 8 e4( f | g4 a) b-> c |
1081 }
1082 @end lilypond
1083
1084 A continuación veremos tres formas distintas de componer la notación
1085 del mismo pasaje polifónico, cada una de las cuales tiene sus ventajas
1086 según la circunstancia, utilizando el ejemplo de la sección anterior.
1087
1088 Una expresión que aparece directamente dentro de @code{<< >>}
1089 pertenece a la voz principal (pero, observe, @strong{no} dentro de una
1090 construcción @code{<< \\ >>}).  Esto es útil cuando aparecen voces
1091 nuevas mientras la voz principal está sonando.  A continuación podemos
1092 ver una realización más correcta del ejemplo de la sección anterior.
1093 Las notas rojas en forma de rombo muestran que la melodía principal
1094 está ahora dentro de un contexto de una sola voz, haciendo que se
1095 pueda trazar una ligadura por encima de ellas.
1096
1097 @lilypond[quote,ragged-right,verbatim]
1098 \new Staff \relative {
1099   \voiceOneStyle
1100   % This section is homophonic
1101   c'16^( d e f
1102   % Start simultaneous section of three voices
1103   <<
1104     % Continue the main voice in parallel
1105     { g4 f e | d2 e) | }
1106     % Initiate second voice
1107     \new Voice {
1108       % Set stems, etc., down
1109       \voiceTwo
1110       r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1111     }
1112     % Initiate third voice
1113     \new Voice {
1114       % Set stems, etc, up
1115       \voiceThree
1116       s2. | s4 b c2 |
1117     }
1118   >>
1119 }
1120 @end lilypond
1121
1122 @cindex anidado de expresiones musicales
1123 @cindex anidado de construcciones simultáneas
1124 @cindex anidado de voces
1125 @cindex voces temporales
1126 @cindex voces, anidado de
1127
1128 Son posibles construcciones polifónicas anidadas más profundamente, y
1129 si una voz aparece sólo brevemente podría haber una forma más natural
1130 de tipografiar la música.
1131
1132 @lilypond[quote,ragged-right,verbatim]
1133 \new Staff \relative {
1134   c'16^( d e f
1135   <<
1136     { g4 f e | d2 e) | }
1137     \new Voice {
1138       \voiceTwo
1139       r8 e4 d c8~ |
1140       <<
1141         { c8 b16 a b8 g~ 2 | }
1142         \new Voice {
1143           \voiceThree
1144           s4 b c2 |
1145         }
1146       >>
1147     }
1148   >>
1149 }
1150 @end lilypond
1151
1152 @cindex espaciadoras, notas
1153
1154 Este método de anidar voces nuevas brevemente es útil cuando sólo hay
1155 secciones polifónicas pequeñas, pero cuando todo el pentagrama es muy
1156 polifónico podría ser más claro usar varias voces todo el tiempo,
1157 usando notas espaciadoras para pasar por encima de las secciones en
1158 que una voz está en silencio, como aquí:
1159
1160 @lilypond[quote,ragged-right,verbatim]
1161 \new Staff \relative <<
1162   % Initiate first voice
1163   \new Voice {
1164     \voiceOne
1165     c'16^( d e f g4 f e | d2 e) |
1166   }
1167   % Initiate second voice
1168   \new Voice {
1169     % Set stems, etc, down
1170     \voiceTwo
1171     s4 r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1172   }
1173   % Initiate third voice
1174   \new Voice {
1175     % Set stems, etc, up
1176     \voiceThree
1177     s1 | s4 b c2 |
1178   }
1179 >>
1180 @end lilypond
1181
1182 @subsubheading Columnas de notas
1183
1184 @cindex columna de notas
1185 @cindex colisiones de notas
1186 @cindex notas, colisiones de
1187 @cindex desplazamiento, instrucciones de
1188 @funindex \shiftOff
1189 @funindex shiftOff
1190 @funindex \shiftOn
1191 @funindex shiftOn
1192 @funindex \shiftOnn
1193 @funindex shiftOnn
1194 @funindex \shiftOnnn
1195 @funindex shiftOnnn
1196
1197 Las notas cercanas de un acorde, o las notas que se producen al mismo
1198 tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
1199 columnas para evitar el solapamiento de las cabezas.  Reciben el
1200 nombre de columnas de notas.  Hay columnas distintas para cada voz, y
1201 el desplazamiento especificado en curso dependiente de la voz se
1202 aplica a la columna de la nota si en caso contrario se produjese una
1203 colisión.  Esto se puede ver en el ejemplo anterior. En el compás 2 el
1204 Do en la voz dos está desplazado a la derecha respecto del Re de la
1205 voz uno, y en el último acorde el Do de la voz tres también está
1206 desplazado a la derecha respecto de las otras notas.
1207
1208 Las instrucciones @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}
1209 y @code{\shiftOff} especifican el grado en que se deben desplazar las
1210 notas y acordes de la voz si en caso contrario ocurriese una
1211 colisión.  De forma predeterminada, las voces exteriores (normalmente
1212 las voces uno y dos) llevan especificado @code{\shiftOff}, mientras
1213 que las voces interiores (tres y cuatro) tienen @code{\shiftOn}
1214 especificado.  Cuando se aplica un desplazamiento, las voces uno y
1215 tres se desplazan hacia la derecha y las voces dos y cuatro se
1216 desplazan hacia la izquierda.
1217
1218 @code{\shiftOnn} y @code{\shiftOnnn} definen niveles adicionales de
1219 desplazamiento que se pueden especificar temporalmente para resolver
1220 colisiones en situaciones complejas (véase @ref{Ejemplos reales de música}).
1221
1222 Una columna de notas puede contener sólo una nota (o acorde) de una
1223 voz con las plicas hacia arriba y una not (o acorde) de una voz con
1224 las plicas hacia abajo.  Si las notas de dos voces que tienen las
1225 plicas en la misma dirección se sitúan en la misma posición y las dos
1226 voces no tienen ningún desplazamiento o llevan especificado el mismo
1227 desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
1228 columnas de notas}.
1229
1230
1231 @seealso
1232 Manual de aprendizaje:
1233 @ref{Mover objetos}.
1234
1235 Referencia de la notación:
1236 @ruser{Varias voces}.
1237
1238
1239 @node Voces y música vocal
1240 @subsection Voces y música vocal
1241 @translationof Voices and vocals
1242
1243
1244 La música vocal presenta una dificultad especial: tenemos que combinar
1245 dos expresiones, a saber, las notas y la letra.
1246
1247 @funindex \new Lyrics
1248 @funindex \lyricsto
1249 @funindex lyricsto
1250 @funindex Lyrics
1251 @cindex Lyrics, creación de un contexto
1252 @cindex letra, creación de un contexto de
1253 @cindex letra, enlazar con una voz
1254
1255 Ya ha visto la instrucción @code{\addlyrics@{@}}, que maneja bien
1256 partituras sencillas.  Sin embargo esta técnica es algo limitada.
1257 Para música de mayor complejidad, tenemos que introducir la letra en
1258 un contexto @code{Lyrics} utilizando @code{\new Lyrics} y enlazar
1259 explícitamente la letra y las notas mediante @code{\lyricsto@{@}},
1260 usando el nombre asignado a la voz.
1261
1262 @lilypond[quote,verbatim]
1263 <<
1264   \new Voice = "one" {
1265     \relative {
1266       \autoBeamOff
1267       \time 2/4
1268       c''4 b8. a16 | g4. f8 | e4 d | c2 |
1269     }
1270   }
1271   \new Lyrics \lyricsto "one" {
1272     No more let | sins and | sor -- rows | grow. |
1273   }
1274 >>
1275 @end lilypond
1276
1277 Observe que la letra se debe enlazar a un contexto de @code{Voice},
1278 @emph{no} a un contexto de @code{Staff}.  Este es un caso en que es
1279 necesario crear contextos de @code{Staff} y de @code{Voice}
1280 explícitamente.
1281
1282 @cindex letra y barrado
1283 @cindex barrado y letra
1284 @funindex \autoBeamOff
1285 @funindex autoBeamOff
1286
1287 El barrado automático que LilyPond usa de forma predeterminada
1288 funciona bien para la música instrumental, pero no tan bien para
1289 música con letra, donde o bien el barrado no se necesita en absoluto,
1290 o bien se utiliza para indicar los melismas de la letra.  En el
1291 ejemplo anterior hemos utilizado la instrucción @code{\autoBeamOff}
1292 para desactivar el barrado automático.
1293
1294 @funindex \new ChoirStaff
1295 @funindex ChoirStaff
1296 @funindex \lyricmode
1297 @funindex lyricmode
1298 @cindex vocal, estructura de una partitura
1299 @cindex coro, sistema de
1300
1301 Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
1302 ilustrar esta técnica más flexible.  Primero la reescribiremos para
1303 que use variables, de manera que la música y la letra se puedan
1304 separar de la estructura de pentagramas.  También introduciremos una
1305 llave de grupo de ChoirStaff.  La letra en sí se debe introducir con
1306 @code{\lyricmode} para estar seguros de que se interpreta como letra y
1307 no como música.
1308
1309 @lilypond[quote,verbatim]
1310 global = { \key f \major \time 6/8 \partial 8 }
1311
1312 SopOneMusic = \relative {
1313   c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
1314 }
1315 SopOneLyrics = \lyricmode {
1316   Let | flee -- cy flocks the | hills a -- dorn, __
1317 }
1318 SopTwoMusic = \relative {
1319   r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1320 }
1321 SopTwoLyrics = \lyricmode {
1322   Let | flee -- cy flocks the | hills a -- dorn,
1323 }
1324
1325 \score {
1326   \new ChoirStaff <<
1327     \new Staff <<
1328       \new Voice = "SopOne" {
1329         \global
1330         \SopOneMusic
1331       }
1332       \new Lyrics \lyricsto "SopOne" {
1333         \SopOneLyrics
1334       }
1335     >>
1336     \new Staff <<
1337       \new Voice = "SopTwo" {
1338         \global
1339         \SopTwoMusic
1340       }
1341       \new Lyrics \lyricsto "SopTwo" {
1342         \SopTwoLyrics
1343       }
1344     >>
1345   >>
1346 }
1347 @end lilypond
1348
1349 Ésta es la estructura básica de todas las partituras vocales.  Se
1350 pueden añadir más pentagramas según se necesite, se pueden añadir más
1351 voces a los pentagramas y más estrofas a la letra, y las variables que
1352 contienen la música se pueden colocar fácilmente en archivos separados
1353 cuando se hagan demasiado largos.
1354
1355 @cindex himno, estructura de
1356 @cindex SATB, estructura de
1357 @cindex vocal, partitura, varias estrofas
1358 @cindex varias estrofas vocales
1359 @cindex estrofas, varias, vocales
1360
1361 A continuación podemos ver un ejemplo final de la primera línea de un
1362 himno con cuatro estrofas, para coro SATB.  En este caso la letra de
1363 las cuatro partes es la misma.  Observe cómo utilizamos variables para
1364 separar la notación musical de la estructura de pentagramas.  Observe
1365 también cómo se utiliza una variable, para la que hemos elegido el
1366 nombre @q{TimeKey} («compás y tonalidad»), para que contenga varias
1367 instrucciones que se usarán dentro de los dos pentagramas.  En otros
1368 ejemplos se le suele dar el nombre de @q{global}.
1369
1370
1371
1372 @lilypond[quote,verbatim]
1373 keyTime = { \key c \major \time 4/4 \partial 4 }
1374
1375 SopMusic   = \relative { c'4 | e4. e8 g4  g    | a4   a   g  }
1376 AltoMusic  = \relative { c'4 | c4. c8 e4  e    | f4   f   e  }
1377 TenorMusic = \relative  { e4 | g4. g8 c4.   b8 | a8 b c d e4 }
1378 BassMusic  = \relative  { c4 | c4. c8 c4  c    | f8 g a b c4 }
1379
1380 VerseOne =
1381   \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1382 VerseTwo   =
1383   \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1384 VerseThree =
1385   \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1386 VerseFour  =
1387   \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1388
1389 \score {
1390   \new ChoirStaff <<
1391     \new Staff <<
1392       \clef "treble"
1393       \new Voice = "Sop"  { \voiceOne \keyTime \SopMusic }
1394       \new Voice = "Alto" { \voiceTwo \AltoMusic }
1395       \new Lyrics \lyricsto "Sop" { \VerseOne   }
1396       \new Lyrics \lyricsto "Sop" { \VerseTwo   }
1397       \new Lyrics \lyricsto "Sop" { \VerseThree }
1398       \new Lyrics \lyricsto "Sop" { \VerseFour  }
1399     >>
1400     \new Staff <<
1401       \clef "bass"
1402       \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1403       \new Voice = "Bass"  { \voiceTwo \BassMusic }
1404     >>
1405   >>
1406 }
1407 @end lilypond
1408
1409
1410 @seealso
1411 Referencia de la notación:
1412 @ruser{Música vocal}.
1413
1414
1415 @node Contextos y grabadores
1416 @section Contextos y grabadores
1417 @translationof Contexts and engravers
1418
1419 Los contextos y grabadores se han mencionado de manera informal en
1420 secciones anteriores; ahora tan sólo vamos a ver estos conceptos con
1421 más detalle, pues son importantes en el ajuste fino de la salida de
1422 LilyPond.
1423
1424 @menu
1425 * Explicación de los contextos::
1426 * Crear contextos::
1427 * Explicación de los grabadores::
1428 * Modificar las propiedades de los contextos::
1429 * Añadir y eliminar grabadores::
1430 @end menu
1431
1432 @node Explicación de los contextos
1433 @subsection Explicación de los contextos
1434 @translationof Contexts explained
1435
1436 @cindex contextos, explicación de los
1437
1438 Cuando se imprime la música, se tienen que añadir a la salida una gran
1439 cantidad de elementos notacionales que no aparecen explícitamente en
1440 el archivo de entrada.  Por ejemplo, compare la entrada y la salida
1441 del siguiente ejemplo:
1442
1443 @lilypond[quote,verbatim]
1444 \relative { cis''4 cis2. | a4 a2. | }
1445 @end lilypond
1446
1447 La entrada es bastante escueta, pero en la salida se han añadido las
1448 líneas divisorias, las alteraciones, la clave y la armadura de la
1449 tonalidad.  Cuando LilyPond @emph{interpreta} la entrada, la
1450 información musical se analiza de izquierda a derecha de igual forma
1451 que un intérprete lee la partitura.  Mientras se lee el código de
1452 entrada, el programa recuerda dónde están los límites de los compases,
1453 y qué alturas requieren alteraciones accidentales explícitas.  Esta
1454 información se debe conservar a varios niveles.  Por ejemplo, una
1455 alteración accidental afecta solamente a un pentagrama, mientras que
1456 una línea divisoria debe estar sincronizada a lo largo de todo el
1457 sistema.
1458
1459 Dentro de LilyPond, estas reglas y pequeñas porciones de información
1460 se agrupan en @emph{Contexts}.  Ya hemos visto el contexto de voz,
1461 @code{Voice}.  Otros ejemplos de contextos son @code{Staff} (Pauta o
1462 pentagrama) y @code{Score} (Partitura).  Los contextos son
1463 jerárquicos, de forma que reflejan la naturaleza jerárquica de una
1464 partitura musical.  Por ejemplo: un contexto de @code{Staff} contener
1465 muchos contextos de @code{Voice}, y un contexto de @code{Score} puede
1466 contener muchos contextos de @code{Staff}.
1467
1468 @quotation
1469 @sourceimage{context-example,5cm,,}
1470 @end quotation
1471
1472 Cada contexto asume la responsabilidad de imponer algunas reglas de
1473 notación, creando ciertos objetos de notación y manteniendo las
1474 propiedades asociadas.  Por ejemplo, el contexto @code{Voice} puede
1475 introducir una alteración accidental y entonces el contexto
1476 @code{Staff} mantiene la regla de mostrar o suprimir la alteración
1477 para el resto del compás.
1478
1479 Otro ejemplo lo constituye el hecho de que la sincronización de las
1480 líneas divisorias se gestiona dentro del contexto de la partitura,
1481 @code{Score}, de forma predeterminada.  Sin embargo, en algunas
1482 músicas posiblemente no queramos que las líneas divisorias estén
1483 sincronizadas (pensemos en una partitura polimétrica en compases de
1484 4/4 y de 3/4).  En tales casos, debemos modificar los ajustes por
1485 omisión de los contextos @code{Score} y @code{Staff}.
1486
1487 Para partituras muy sencillas, los contextos se crean implícitamente y
1488 no debemos preocuparnos por ellos.  Para piezas mayores, como por
1489 ejemplo cualquiera que tenga más de un pentagrama, los contextos se
1490 deben crear explícitamente para asegurarnos de que tendremos la
1491 cantidad exacta de pentagramas que necesitamos, y que están en el
1492 orden correcto.  Para tipografiar piezas con notación especializada,
1493 es frecuente la modificación de contextos existentes o incluso definir
1494 unos completamente nuevos.
1495
1496
1497 Además de los contextos @code{Score,} @code{Staff} y @code{Voice}, hay
1498 contextos que se sitúan entre los niveles de partitura y de pentagrama
1499 para controlar los grupos de pentagramas, como los contextos
1500 @code{PianoStaff} y @code{ChoirStaff}.  También existen contextos
1501 alternativos de pentagrama y de voz, y contextos para la letra, la
1502 percusión, diagramas de trastes, bajo cifrado, etc.
1503
1504 Los nombres de todos los tipos de contextos se componen de una o más
1505 palabras que comienzan con mayúscula y que están unidas unas a otras
1506 sin guión ni barra baja, por ejemplo:
1507 @code{GregorianTranscriptionStaff}.
1508
1509
1510 @seealso
1511 Referencia de la notación:
1512 @ruser{Explicación de los contextos}.
1513
1514
1515 @node Crear contextos
1516 @subsection Crear contextos
1517 @translationof Creating contexts
1518
1519 @funindex \new
1520 @funindex new
1521 @cindex nuevos contextos
1522 @cindex creación de contextos
1523 @cindex contextos, creación de
1524
1525 En un archivo de entrada, el bloque de partitura, que se presenta
1526 precedido por la instrucción @code{\score}, contiene una sola
1527 expresión musical y una definición de salida asociada (bien un bloque
1528 @code{\layout} o bien un bloque @code{\midi}).  El contexto
1529 @code{Score} se suele dejar que se cree automáticamente cuando
1530 comienza la interpretación de esa expresión musical.
1531
1532 Para partituras que solamente tienen una voz y un pentagrama, podemos
1533 también dejar que los contextos @code{Voice} y @code{Staff} se creen
1534 automáticamente, pero para partituras más complejas es necesario
1535 crearlos a mano.  La instrucción más simple que hace esto es
1536 @code{\new}.  Se antepone a una expresión musical, por ejemplo
1537
1538 @example
1539 \new @var{tipo} @var{expresión_musical}
1540 @end example
1541
1542 @noindent
1543 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
1544 @code{Voice}).  Esta instrucción crea un contexto nuevo, y comienza a
1545 interpretar la @var{expresión_musical} que está dentro de ese
1546 contexto.
1547
1548 @warning{No se debe usar @bs{}@code{new Score} porque el contexto
1549 @code{Score} esencial del nivel superior ya se crea automáticamente al
1550 interpretarse la expresión musical que está dentro del bloque
1551 @bs{}@code{score}.  Los valores predeterminados de propiedades de
1552 contexto válidos para toda la partitura se pueden cambiar dentro del
1553 bloque @bs{}@code{layout}.  Véase @ref{Modificar las propiedades de
1554 los contextos}.}
1555
1556 En las secciones anteriores ha podido ver muchos ejemplos prácticos que
1557 creaban nuevos contextos de @code{Staff} y de @code{Voice}, pero para
1558 recordarle cómo se emplean estas instrucciones en la práctica, he aquí
1559 un ejemplo anotado de música real:
1560
1561 @lilypond[quote,verbatim,ragged-right]
1562 \score {  % start of single compound music expression
1563   <<  % start of simultaneous staves section
1564     \time 2/4
1565     \new Staff {  % create RH staff
1566       \clef "treble"
1567       \key g \minor
1568       \new Voice {  % create voice for RH notes
1569         \relative {  % start of RH notes
1570           d''4 ees16 c8. |
1571           d4 ees16 c8. |
1572         }  % end of RH notes
1573       }  % end of RH voice
1574     }  % end of RH staff
1575     \new Staff <<  % create LH staff; needs two simultaneous voices
1576       \clef "bass"
1577       \key g \minor
1578       \new Voice {  % create LH voice one
1579         \voiceOne
1580         \relative {  % start of LH voice one notes
1581           g8 <bes d> ees, <g c> |
1582           g8 <bes d> ees, <g c> |
1583         }  % end of LH voice one notes
1584       }  % end of LH voice one
1585       \new Voice {  % create LH voice two
1586         \voiceTwo
1587         \relative {  % start of LH voice two notes
1588           g4 ees |
1589           g4 ees |
1590         }  % end of LH voice two notes
1591       }  % end of LH voice two
1592     >>  % end of LH staff
1593   >>  % end of simultaneous staves section
1594 }  % end of single compound music expression
1595 @end lilypond
1596
1597 (Observe cómo todas las instrucciones que abren un bloque con una
1598 llave curva, @code{@{}, o con ángulos dobles, @code{<<}, están
1599 sangrados (tienen un margen adicional) con dos espacios adicionales, y
1600 la llave de cierre correspondiente tiene un margen exactamente igual.
1601 Aunque no es necesario, la observancia de esta práctica reducirá
1602 considerablemente el número de errores de @q{paréntesis
1603 descompensados}, y se recomienda vivamente.  Permite apreciar de un
1604 solo vistazo la estructura de la música, y cualquier paréntesis
1605 descompensado aparecerá con obviedad.  Observe también cómo el
1606 pentagrama de la MI se crea usando dobles ángulos porque requiere dos
1607 voces, mientras que el pentagrama de la MD se crea con una expresión
1608 musical única encerrada entre llaves porque sólo requiere una voz.)
1609
1610
1611 @cindex contextos, nombrado
1612 @cindex nombrar contextos
1613
1614 La instrucción @code{\new} también puede otorgar un nombre
1615 identificativo al contexto para distinguirlo de otros contextos del
1616 mismo tipo:
1617
1618 @example
1619 \new @var{tipo} = @var{identificador} @var{expresión_musical}
1620 @end example
1621
1622 Observe la distinción entre el nombre del tipo de contexto,
1623 @code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
1624 instancia en particular de ese tipo, que puede ser cualquier secuencia
1625 de letras inventada por el usuario.  En el nombre identificativo
1626 también se pueden utilizar dígitos y espacios, pero en este caso aquél
1627 debe ir entre comillas p.ej. @code{\new Staff = "MiPentagrama 1"
1628 @var{expresión_musical}}.  El nombre identificativo se utiliza para
1629 referirnos más tarde a esa instancia en particular de un contexto.
1630 Hemos visto esto en la sección acerca de la letra, en @ref{Voces y música vocal}.
1631
1632
1633 @seealso
1634 Referencia de la notación:
1635 @ruser{Crear y referenciar contextos}.
1636
1637
1638 @node Explicación de los grabadores
1639 @subsection Explicación de los grabadores
1640 @translationof Engravers explained
1641
1642 @cindex grabadores
1643
1644 Todas y cada una de las marcas de la salida impresa de una partitura
1645 hecha con LilyPond está producida por un @code{Engraver} (grabador).
1646 Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
1647 las cabezas de las notas, otro para las plicas, otro para las barras,
1648 etc, etc.  ¡En total hay más de 120 grabadores!  Afortunadamente, para
1649 la mayor parte de las partituras no es necesario conocer más que
1650 algunos, y para partituras sencillas no tenemos que saber nada de
1651 ninguno de ellos.
1652
1653 Los grabadores residen y operan dentro de Contextos.  Los grabadores
1654 como el grabador de la indicación metronómica,
1655 @code{Metronome_mark_engraver}, cuya acción y resultado se aplican a
1656 la partitura como un todo, operan en el contexto del nivel más alto:
1657 el contexto de partitura @code{Score}.
1658
1659 El grabador de la clave @code{Clef_engraver} y el de la armadura
1660 @code{Key_engraver} se encuentran probablemente en todos los contextos
1661 de pentagrama (@code{Staff}), pues los distintos pentagramas podrían
1662 requerir diferentes claves y armaduras.
1663
1664 El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
1665 las plicas @code{Stem_engraver} viven en cada uno de los contextos de
1666 voz @code{Voice}, el contexto de nivel más bajo de todos.
1667
1668 Cada grabador procesa los objetos particulares asociados con su
1669 función, y mantiene las propiedades que están relacionadas con dicha
1670 función.  Estas propiedades, como las que están asociadas con los
1671 contextos, se pueden modificar para cambiar el funcionamiento del
1672 grabador o el aspecto de esos elementos en la partitura impresa.
1673
1674 Todos los grabadores tienen nombres compuestos de varias palabras que
1675 describen su función.  Sólo está en mayúsculas la inicial de la
1676 primera palabra, y el resto se le une mediante guiones bajos.  Así, el
1677 grabador @code{Staff_symbol_engraver} es responsable de la creación de
1678 las líneas del pentagrama, y el @code{Clef_engraver} determina y
1679 establece la altura o el punto de referencia sobre el pentagrama
1680 dibujando un símbolo de clave.
1681
1682 A continuación presentamos algunos de los grabadores más comunes,
1683 junto a su función.  Podrá comprobar que es fácil adivinar la función
1684 a partir del nombre (en inglés), y viceversa.
1685
1686 @multitable @columnfractions .3 .7
1687 @headitem Grabador
1688   @tab Función
1689 @item Accidental_engraver
1690   @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
1691 @item Beam_engraver
1692   @tab Graba las barras
1693 @item Clef_engraver
1694   @tab Graba las claves
1695 @item Completion_heads_engraver
1696   @tab Divide las notas que atraviesan una línea divisoria
1697 @item Dynamic_engraver
1698   @tab Crea reguladores e indicaciones dinámicas textuales
1699 @item Forbid_line_break_engraver
1700   @tab Evita los saltos de línea si queda algún elemento musical activo
1701 @item Key_engraver
1702   @tab Crea la armadura de la tonalidad
1703 @item Metronome_mark_engraver
1704   @tab Graba la indicación metronómica
1705 @item Note_heads_engraver
1706   @tab Graba la cabeza de las notas
1707 @item Rest_engraver
1708   @tab Graba los silencios
1709 @item Staff_symbol_engraver
1710   @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
1711 @item Stem_engraver
1712   @tab Crea las plicas y los trémolos de una sola plica
1713 @item Time_signature_engraver
1714   @tab Crea las indicaciones de compás
1715 @end multitable
1716
1717 @smallspace
1718
1719 Más adelante veremos cómo la salida de LilyPond se puede cambiar
1720 mediante la modificación del funcionamiento de los Grabadores.
1721
1722
1723 @seealso
1724 Referencia de funcionamiento interno:
1725 @rinternals{Engravers and Performers}.
1726
1727
1728 @node Modificar las propiedades de los contextos
1729 @subsection Modificar las propiedades de los contextos
1730 @translationof Modifying context properties
1731
1732 @cindex contexto, propiedades de
1733 @cindex contexto, propiedades de, modificación
1734 @cindex modificar las propiedades de contexto
1735 @funindex \set
1736 @funindex set
1737 @funindex \unset
1738 @funindex unset
1739
1740 Los contextos se responsabilizan de mantener los valores de un cierto
1741 número de @emph{properties} de contexto.  Muchas de ellas se pueden
1742 cambiar para influir en la interpretación del código de entrada y
1743 cambiar así la apariencia de la salida impresa.  Se modifican mediante
1744 la instrucción @code{\set}.  Esta instrucción toma la forma siguiente:
1745
1746 @example
1747 \set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
1748 @end example
1749
1750 Donde el @emph{NombreDelContexto} es normalmente @code{Score},
1751 @code{Staff} o @code{Voice}.  Se puede omitir, en cuyo caso se supone
1752 que es el contexto en curso (normalmente @code{Voice}).
1753
1754 Los nombres de las propiedades de contexto consisten en palabras
1755 unidas sin ningún guión o barra baja, y donde todas las palabras
1756 excepto la primera empiezan en mayúscula.  A continuación podemos ver
1757 algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
1758 Hay muchas más que las que se muestran aquí.
1759
1760 @c attempt to force this onto a new page
1761 @need 50
1762 @multitable @columnfractions .25 .15 .45 .15
1763 @headitem nombreDeLaPropiedad
1764   @tab Tipo
1765   @tab Función
1766   @tab Valor de ejemplo
1767 @item extraNatural
1768   @tab Booleano
1769   @tab Si es verdadero, poner becuadros adicionales antes de las alteraciones
1770   @tab @code{#t}, @code{#f}
1771 @item currentBarNumber
1772   @tab Entero
1773   @tab Ajustar el número del compás actual
1774   @tab @code{50}
1775 @item doubleSlurs
1776   @tab Booleano
1777   @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
1778   @tab @code{#t}, @code{#f}
1779 @item instrumentName
1780   @tab Texto
1781   @tab Establecer el nombre del pentagrama, situado a la izquierda
1782   @tab @code{"Cello I"}
1783 @item fontSize
1784   @tab Real
1785   @tab Aumentar o disminuir el tamaño de la fuente tipográfica
1786   @tab @code{2.4}
1787 @item stanza
1788   @tab Texto
1789   @tab Establecer el texto que se imprime antes del comienzo de una estrofa
1790   @tab @code{"2"}
1791 @end multitable
1792
1793 @noindent
1794 donde un valor Booleano es verdadero (@code{#t}, True) o falso
1795 (@code{#f}, False), un Entero es un número entero positivo, un número
1796 Real es un número decimal positivo o negativo, y el texto se encierra
1797 entre comillas dobles.  Observe la aparición de signos de cuadradillo,
1798 (@code{#}), en dos lugares diferentes: como parte del valor Booleano
1799 antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
1800 la sentencia @code{\set}.  Así pues, cuando se está escribiendo un
1801 valor Booleano, hay que escribir dos signos de cuadradillo, por
1802 ejemplo: @code{##t}.
1803
1804 @cindex propiedades que funcionan en contextos
1805 @cindex establecer propiedades en contextos
1806
1807 Antes de poder establecer cualquiera de estas propiedades, tenemos que
1808 saber en qué contexto operan.  A veces es algo obvio, pero en
1809 ocasiones puede ser algo enrevesado.  Si especificamos un contexto
1810 equivocado, no se produce ningún mensaje de error, pero el
1811 funcionamiento esperado no tendrá lugar.  Por ejemplo, la propiedad
1812 @code{instrumentName} (nombre del instrumento) vive claramente dentro
1813 del contexto de @code{Staff}, puesto que es el pentagrama el que debe
1814 ser nombrado.  En este ejemplo, el primer pentagrama resulta
1815 etiquetado, pero no el segundo, porque hemos omitido el nombre del
1816 contexto.
1817
1818 @lilypond[quote,verbatim,ragged-right]
1819 <<
1820   \new Staff \relative {
1821     \set Staff.instrumentName = #"Soprano"
1822     c''2 c
1823   }
1824   \new Staff \relative {
1825     \set instrumentName = #"Alto"  % Wrong!
1826     d'2 d
1827   }
1828 >>
1829 @end lilypond
1830
1831 Recuerde que el nombre del contexto predeterminado es @code{Voice},
1832 así que la segunda instrucción @code{\set} establece la propiedad
1833 @code{instrumentName} del contexto @code{Voice} a @qq{Alto}, pero como
1834 LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
1835 realiza ninguna acción.  Esto no es un error, y no se registra ningún
1836 mensaje en el archivo Log de registro de errores.
1837
1838 De forma parecida, si el nombre de la propiedad se escribe con alguna
1839 falta, no se produce ningún mensaje de error, y claramente la acción
1840 esperada no puede tener lugar.  De hecho, se puede establecer
1841 cualquier @q{property} (ficticia) usando cualquier nombre que queramos
1842 en cualquier contexto que exista, mediante el uso de la instrucción
1843 @code{\set}.  Pero si el nombre no es conocido para LilyPond, no
1844 producirá ninguna acción.  Algunos editores de texto que apoyan a los
1845 archivos de entrada de LilyPond de manera especial, documentan los
1846 nombres de propiedades con viñetas cuando pasamos sobre ellos con el
1847 puntero del ratón, como JEdit con la extensión LilyPondTool, o
1848 resaltan los nombres de propiedades desconocidas de manera diferente,
1849 como ConTEXT.  Si no se utiliza un editor con tales posibilidades, se
1850 recomienda comprobar la corrección del nombre de la propiedad en el
1851 manual de Referencia de funcionamiento interno: véase
1852 @rinternals{Tunable context properties} o @rinternals{Contexts}.
1853
1854 La propiedad @code{instrumentName} tendrá efecto solamente si se
1855 establece dentro del contexto @code{Staff}, pero algunas propiedades
1856 se pueden establecer en más de un contexto.  Por ejemplo, la propiedad
1857 @code{extraNatural} está establecida por defecto al valor @code{##t}
1858 (verdadero) para todos los pentagramas.  Si se establece a @code{##f}
1859 (falso) en un contexto de @code{Staff} determinado, se aplicará
1860 solamente a las alteraciones de ese pentagrama.  Si se establece a
1861 falso en el contexto de la partitura, @code{Score}, se aplicará a
1862 todos los pentagramas.
1863
1864 Así, esto desactivará los becuadros adicionales en un pentagrama:
1865
1866 @lilypond[quote,verbatim,ragged-right]
1867 <<
1868   \new Staff \relative {
1869     aeses'2 aes
1870   }
1871   \new Staff \relative {
1872     \set Staff.extraNatural = ##f
1873     aeses'2 aes
1874   }
1875 >>
1876 @end lilypond
1877
1878 @noindent
1879 y esto los desactivará en todos los pentagramas:
1880
1881 @lilypond[quote,verbatim,ragged-right]
1882 <<
1883   \new Staff \relative {
1884     aeses'2 aes
1885   }
1886   \new Staff \relative {
1887     \set Score.extraNatural = ##f
1888     aeses'2 aes
1889   }
1890 >>
1891 @end lilypond
1892
1893 Como un ejemplo más, si se establece @code{clefTransposition} dentro del
1894 contexto de @code{Score}, éste cambia inmediatamente el valor de la
1895 transposición en todos los pentagramas en curso y establece un nuevo
1896 valor predeterminado que se aplicará a todos los pentagramas.
1897
1898 La instrucción opuesta, @code{\unset}, tiene el efecto de suprimir la
1899 propiedad del contexto, lo que ocasiona que la mayoría de las
1900 propiedades vuelvan a su valor predeterminado.  Normalmente no es
1901 necesario el uso de @code{\unset}, pues una nueva instrucción
1902 @code{\set} hará el ajuste deseado.
1903
1904 Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
1905 cualquier lugar del archivo de entrada y tendrán efecto a partir del
1906 tiempo en que se encuentran y hasta el final de la partitura o hasta
1907 que la propiedad se establezca de nuevo mediante @code{\set} o
1908 @code{\unset}.  Probemos a modificar el tamaño de la fuente
1909 tipográfica, lo que afecta al tamaño de las cabezas de las notas
1910 (entre otras cosas) varias veces.  El cambio se toma a partir del
1911 valor predeterminado, no el valor en curso.
1912
1913 @lilypond[quote,verbatim,ragged-right]
1914 \relative {
1915   c'4 d
1916   % make note heads smaller
1917   \set fontSize = #-4
1918   e4 f |
1919   % make note heads larger
1920   \set fontSize = #2.5
1921   g4 a
1922   % return to default size
1923   \unset fontSize
1924   b4 c |
1925 }
1926 @end lilypond
1927
1928 Hemos podido ver cómo establecer los valores de diversos tipos de
1929 propiedad diferentes.  Observe que los números enteros y reales van
1930 siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
1931 que un valor booleano verdadero o falso se especifica mediante
1932 @code{##t} y @code{##f}, con dos cuadradillos.  Una propiedad de texto
1933 se debe encerrar entre comillas dobles, como antes, aunque veremos más
1934 adelante que el texto realmente se puede especificar de una forma
1935 mucho más general utilizando la potentísima instrucción @code{markup}.
1936
1937 @subsubheading Cambiar las propiedades de un contexto con @code{\with}
1938
1939 @funindex \with
1940 @funindex with
1941 @cindex contexto, propiedades de, establecimiento con \with
1942
1943 El valor predeterminado de las propiedades de contexto se puede establecer en el momento
1944 en que se crea el contexto.  A veces esta forma de establecer el valor
1945 de una propiedad es mucho más clara, si ha de quedar fijo durante todo
1946 el tiempo que dure el contexto.  Cuando se crea un contexto con una
1947 instrucción @code{\new} puede ir inmediatamente seguido de un bloque
1948 @code{\with @{ @dots{} @}} en el que se establecen los valores predeterminados de las
1949 propiedades.  Por ejemplo, si queremos suprimir la impresión de
1950 becuadros adicionales para toda la duración de un pentagrama, podemos
1951 escribir:
1952
1953 @example
1954 \new Staff \with @{ extraNatural = ##f @}
1955 @end example
1956
1957 @noindent
1958 de la siguiente forma:
1959
1960 @lilypond[quote,verbatim,ragged-right]
1961 <<
1962   \new Staff {
1963     \relative {
1964       gisis'4 gis aeses aes
1965     }
1966   }
1967   \new Staff \with { extraNatural = ##f } {
1968     \relative {
1969       gisis'4 gis aeses aes
1970     }
1971   }
1972 >>
1973 @end lilypond
1974
1975 Las propiedades ajustadas de esta manera aún pueden cambiarse
1976 dinámicamente utilizando @code{\set} y ser devueltas al valor
1977 predeterminados que se estableció en el bloque @code{\with} mediante
1978 @code{\unset}.
1979
1980 @cindex fontSize (tamaño de la tipografía)
1981 @cindex fuente, tamaño de la
1982 @cindex tamaño de la fuente
1983
1984 Así pues, si la propiedad @code{fontSize} se ajusta dentro de una
1985 cláusula @code{\with}, tiene el efecto de reiniciar el valor
1986 predeterminado del tamaño de la fuente tipográfica.  Si más tarde se
1987 modifica con @code{\set}, este nuevo valor predeterminado puede
1988 restablecerse con la instrucción @code{\unset fontSize}.
1989
1990 @subsubheading Cambiar las propiedades de un contexto con @code{\context}
1991
1992 @cindex contextos, establecer propiedades de, con \context
1993 @funindex \context
1994 @funindex context
1995
1996 Los valores de propiedad de los contextos se pueden establecer para
1997 @emph{todos} los contextos de un tipo determinado, como por ejemplo
1998 todos los contextos de @code{Staff}, con una única instrucción.  El
1999 tipo de contexto se identifica mediante la utilización del nombre de
2000 su tipo, como @code{Staff}, precedido de una barra invertida:
2001 @code{\Staff}.  El enunciado que establece el valor de la propiedad es
2002 el mismo que el que está en un bloque @code{\with}, presentado
2003 anteriormente.  Se coloca en un bloque @code{\context} dentro de un
2004 bloque @code{\layout}.  Cada bloque @code{\context} afecta a todos los
2005 contextos del tipo especificado a lo largo del bloque @code{\score} o
2006 @code{\book} en el que aparece el bloque @code{\layout}.  A
2007 continuación presentamos un ejemplo que muestra el formato:
2008
2009 @lilypond[verbatim,quote]
2010 \score {
2011   \new Staff {
2012     \relative {
2013       cisis''4 e d cis
2014     }
2015   }
2016   \layout {
2017     \context {
2018       \Staff
2019       extraNatural = ##t
2020     }
2021   }
2022 }
2023 @end lilypond
2024
2025 Si se quiere aplicar la sobreescritura de propiedades a todos los
2026 pentagramas de la partitura:
2027
2028 @lilypond[quote,verbatim]
2029 \score {
2030   <<
2031     \new Staff {
2032       \relative {
2033         gisis'4 gis aeses aes
2034       }
2035     }
2036     \new Staff {
2037       \relative {
2038         gisis'4 gis aeses aes
2039       }
2040     }
2041   >>
2042   \layout {
2043     \context {
2044       \Score extraNatural = ##f
2045     }
2046   }
2047 }
2048 @end lilypond
2049
2050 @noindent
2051 Las propiedades de contexto establecidas de esta forma se pueden
2052 sobreescribir para ejemplares concretos de contextos mediante
2053 enunciados dentro de un bloque @code{\with}, y mediante instrucciones
2054 @code{\set} intercaladas dentro de enunciados musicales.
2055
2056
2057 @seealso
2058 Referencia de la notación:
2059 @ruser{Cambiar los valores por omisión de los contextos},
2060 @c FIXME
2061 @c uncomment when backslash-node-name issue is resolved -pm
2062 @ruser{La instrucción set}.
2063
2064 Referencia de funcionamiento interno:
2065 @rinternals{Contexts},
2066 @rinternals{Tunable context properties}.
2067
2068
2069 @node Añadir y eliminar grabadores
2070 @subsection Añadir y eliminar grabadores
2071 @translationof Adding and removing engravers
2072
2073 @cindex grabadores, adición
2074 @cindex grabadores, eliminación
2075 @cindex adición de grabadores
2076 @cindex eliminación de grabadores
2077
2078 @funindex \consists
2079 @funindex consists
2080 @funindex \remove
2081 @funindex remove
2082
2083 Hemos visto que cada uno de los contextos contiene varios grabadores,
2084 cada uno de los cuales a su vez es responsable de la producción de una
2085 fracción particular del resultado impreso, como líneas divisorias,
2086 pentagramas, cabezas, plicas, etc.  Si un grabador es eliminado de un
2087 contexto, ya no podrá producir su salida impresa.  Es una forma algo
2088 radical de modificar la salida, pero a veces puede ser útil.
2089
2090 @subsubheading Cambiar un solo contexto
2091
2092 Para eliminar un grabador de un contexto único, usamos la instrucción
2093 @code{\with} situada inmediatamente después de la instrucción que crea
2094 el contexto, como en la sección anterior.
2095
2096 Como ilustración, repitamos un ejemplo extraído de la sección anterior
2097 con las líneas del pentagrama eliminadas.  Recuerde que las líneas del
2098 pentagrama están dibujadas por el grabador
2099 @code{Staff_symbol_engraver}.
2100
2101 @lilypond[quote,verbatim,ragged-right]
2102 \new Staff \with {
2103   \remove "Staff_symbol_engraver"
2104 }
2105 \relative {
2106   c'4 d
2107   \set fontSize = #-4  % make note heads smaller
2108   e4 f |
2109   \set fontSize = #2.5  % make note heads larger
2110   g4 a
2111   \unset fontSize  % return to default size
2112   b4 c |
2113 }
2114 @end lilypond
2115
2116 @cindex ámbito, grabador del
2117
2118 Los grabadores también se pueden añadir a los contextos individuales
2119 La instrucción que lo hace es
2120
2121 @code{\consists @var{Nombre_del_grabador}},
2122
2123 situada dentro de un bloque @code{\with}.  Ciertas partituras vocales
2124 tienen una indicación de ámbito o tesitura situada al principio del
2125 pentagrama para indicar el ámbito de notas en dicho pentagrama, véase
2126 @rglos{ambitus}.  El ambitus se produce por parte del grabador
2127 @code{Ambitus_engraver}, que normalmente no está incluido en ningún
2128 contexto.  Si lo añadimos al contexto @code{Voice}, calcula el rango a
2129 partir de esa única voz:
2130
2131 @lilypond[quote,verbatim,ragged-right]
2132 \new Staff <<
2133   \new Voice \with {
2134     \consists "Ambitus_engraver"
2135   } {
2136     \relative {
2137       \voiceOne
2138       c''4 a b g
2139     }
2140   }
2141   \new Voice {
2142     \relative {
2143       \voiceTwo
2144       c'4 e d f
2145     }
2146   }
2147 >>
2148 @end lilypond
2149
2150 @noindent
2151 pero si añadimos el grabador de ámbito al contexto de @code{Staff},
2152 calcula el rango de todas las notas en todas las voces de ese
2153 pentagrama:
2154
2155 @lilypond[quote,verbatim,ragged-right]
2156 \new Staff \with {
2157   \consists "Ambitus_engraver"
2158 }
2159 <<
2160   \new Voice {
2161     \relative {
2162       \voiceOne
2163       c''4 a b g
2164     }
2165   }
2166   \new Voice {
2167     \relative {
2168       \voiceTwo
2169       c'4 e d f
2170     }
2171   }
2172 >>
2173 @end lilypond
2174
2175 @subsubheading Cambiar todos los contextos del mismo tipo
2176
2177 @funindex \layout
2178 @funindex layout
2179
2180 Los ejemplos anteriores muestran la manera de eliminar o añadir
2181 grabadores a los contextos individuales.  También es posible eliminar
2182 o añadir grabadores a todos los contextos de un tipo específico,
2183 situando las instrucciones en el contexto correspondiente dentro de un
2184 bloque @code{\layout}.  Por ejemplo, si queremos mostrar los rangos de
2185 tesitura para todos los pentagramas de una partitura de cuatro pautas,
2186 podemos escribir
2187
2188 @lilypond[quote,verbatim,ragged-right]
2189 \score {
2190   <<
2191     \new Staff {
2192       \relative {
2193         c''4 a b g
2194       }
2195     }
2196     \new Staff {
2197       \relative {
2198         c'4 a b g
2199       }
2200     }
2201     \new Staff {
2202       \clef "G_8"
2203       \relative {
2204         c'4 a b g
2205       }
2206     }
2207     \new Staff {
2208       \clef "bass"
2209       \relative {
2210         c4 a b g
2211       }
2212     }
2213   >>
2214   \layout {
2215     \context {
2216       \Staff
2217       \consists "Ambitus_engraver"
2218     }
2219   }
2220 }
2221 @end lilypond
2222
2223 @noindent
2224 Los valores predeterminados de las propiedades de los contextos
2225 también se pueden establecer para todos los contextos de un tipo en
2226 particular incluyendo la instrucción @code{\set} dentro de un bloque
2227 @code{\context} de la misma forma.
2228
2229
2230 @seealso
2231 Referencia de la notación:
2232 @ruser{Modificar los complementos (plug-ins) de contexto},
2233 @ruser{Cambiar los valores por omisión de los contextos}.
2234
2235 @knownissues
2236 Los grabadores @code{Stem_engraver} y @code{Beam_engraver}
2237 (de plica y de barra) adjuntan a la cabeza de las notas
2238 los objetos que crean.  Si se suprime el grabador de cabezas de nota
2239 @code{Note_heads_engraver}, no se produce ninguna cabeza y por tanto
2240 no se crean tampoco plicas ni barras.
2241
2242
2243 @node Extender las plantillas
2244 @section Extender las plantillas
2245 @translationof Extending the templates
2246
2247 Ha leído el tutorial y ahora sabe escribir música.  Pero ¿cómo puede
2248 poner los pentagramas que quiere?  Las plantillas están muy bien, pero
2249 ¿qué ocurre si quiere algo que no está en una de ellas?  Bien, puede
2250 encontrar montañas de plantillas (véase @ref{Plantillas}) que le pueden
2251 servir como punto de partida.  Pero ¿y si quiere algo que no está
2252 contemplado aquí? Continúe leyendo.
2253
2254
2255 @menu
2256 * Soprano y violoncello::
2257 * Partitura vocal a cuatro voces SATB::
2258 * Crear una partitura partiendo de cero::
2259 * Ahorrar tecleo mediante variables y funciones::
2260 * Partituras y particellas::
2261 @end menu
2262
2263 @node Soprano y violoncello
2264 @subsection Soprano y violoncello
2265 @translationof Soprano and cello
2266
2267 @cindex plantilla, modificar
2268 @cindex modificar plantillas
2269
2270 Para empezar, tome la plantilla que le parezca más parecida a aquello
2271 que quiere conseguir.  Digamos que quiere escribir algo para soprano y
2272 cello.  En este caso comenzaríamos con la plantilla @q{Notas y letra}
2273 (para la parte de soprano).
2274
2275 @example
2276 \version @w{"@version{}"}
2277 melodia = \relative @{
2278   \clef "treble"
2279   \key c \major
2280   \time 4/4
2281   a4 b c d
2282 @}
2283
2284 texto = \lyricmode @{
2285   Aaa Bee Cee Dee
2286 @}
2287
2288 \score @{
2289   <<
2290     \new Voice = "uno" @{
2291       \autoBeamOff
2292       \melodia
2293     @}
2294     \new Lyrics \lyricsto "uno" \texto
2295   >>
2296   \layout @{ @}
2297   \midi @{ @}
2298 @}
2299 @end example
2300
2301 Ahora queremos añadir una parte de violoncello.  Veamos el ejemplo
2302 @q{Sólo notas}:
2303
2304 @example
2305 \version @w{"@version{}"}
2306 melodia = \relative @{
2307   \clef "treble"
2308   \key c \major
2309   \time 4/4
2310   a4 b c d
2311 @}
2312
2313 \score @{
2314   \new Staff \melodia
2315   \layout @{ @}
2316   \midi @{ @}
2317 @}
2318 @end example
2319
2320 No necesitamos dos instrucciones @code{\version}.  Vamos a necesitar
2321 la sección @code{melodia}.  No queremos dos secciones @code{\score}
2322 (si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas
2323 por separado.  Queremos las dos juntas, como un dúo.  Dentro de la
2324 sección @code{\score}, no nos hacen falta dos @code{\layout} ni dos
2325 @code{\midi}.
2326
2327 Si nos limitásemos a copiar y pegar la sección @code{melodia},
2328 acabaríamos con dos secciones @code{melodia} separadas, así que vamos
2329 a cambiarles el nombre.  Llamaremos @code{musicaSoprano} a la sección
2330 de la soprano y @code{musicaCello} a la sección del violoncello.  Al
2331 mismo tiempo cambiaremos el nombre de @code{texto} a
2332 @code{letraSoprano}.  Recuerde cambiar el nombre a las dos apariciones
2333 de todos estos nombres -- tanto la definición inicial (la parte
2334 @code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
2335 sección @code{\score}).
2336
2337 También aprovecharemos para cambiar el pentagrama de la parte del
2338 cello (los violoncellos se escriben normalmente en clave de Fa).
2339 Asimismo, cambiaremos algunas notas del cello.
2340
2341 @example
2342 \version @w{"@version{}"}
2343 musicaSoprano = \relative @{
2344   \clef "treble"
2345   \key c \major
2346   \time 4/4
2347   a4 b c d
2348 @}
2349
2350 letraSoprano = \lyricmode @{
2351   Aaa Bee Cee Dee
2352 @}
2353
2354 musicaCello = \relative @{
2355   \clef "bass"
2356   \key c \major
2357   \time 4/4
2358   d4 g fis8 e d4
2359 @}
2360
2361 \score@{
2362   <<
2363     \new Voice = "uno" @{
2364       \autoBeamOff
2365       \musicaSoprano
2366     @}
2367     \new Lyrics \lyricsto "uno" \letraSoprano
2368   >>
2369   \layout @{ @}
2370   \midi @{ @}
2371 @}
2372 @end example
2373
2374 Esto tiene una apariencia prometedora, pero la parte del cello no sale
2375 en la partitura (no la hemos puesto en la sección @code{\score}).  Si
2376 queremos que la parte del cello aparezca debajo de la de soprano,
2377 tenemos que añadir
2378
2379 @example
2380 \new Staff \musicaCello
2381 @end example
2382
2383 @noindent
2384 justo debajo de todo lo de la soprano.  También tenemos que poner
2385 @code{<<} y @code{>>} antes y después de la música -- lo que indica a
2386 LilyPond que hay más de una cosa (en este caso, @code{Staff})
2387 sucediendo al mismo tiempo --.  La @code{\score} se parecerá ahora a
2388 esto:
2389
2390 @c Indentation in this example is deliberately poor
2391 @example
2392 \score @{
2393   <<
2394   <<
2395     \new Voice = "uno" @{
2396       \autoBeamOff
2397       \sopranoMusic
2398     @}
2399     \new Lyrics \lyricsto "uno" \letraSoprano
2400   >>
2401   \new Staff \musicaCello
2402   >>
2403   \layout @{ @}
2404   \midi @{ @}
2405 @}
2406 @end example
2407
2408 @noindent
2409 Esto parece un poco enrevesado; los márgenes están descuadrados.  Esto
2410 tiene fácil solución.  Presentamos aquí la plantilla completa para
2411 soprano y cello.
2412
2413 @lilypond[quote,verbatim,ragged-right,addversion]
2414 sopranoMusic = \relative {
2415   \clef "treble"
2416   \key c \major
2417   \time 4/4
2418   a4 b c d
2419 }
2420
2421 sopranoLyrics = \lyricmode {
2422   Aaa Bee Cee Dee
2423 }
2424
2425 celloMusic = \relative {
2426   \clef "bass"
2427   \key c \major
2428   \time 4/4
2429   d4 g fis8 e d4
2430 }
2431
2432 \score {
2433   <<
2434     <<
2435       \new Voice = "one" {
2436         \autoBeamOff
2437         \sopranoMusic
2438       }
2439       \new Lyrics \lyricsto "one" \sopranoLyrics
2440     >>
2441     \new Staff \celloMusic
2442   >>
2443   \layout { }
2444   \midi { }
2445 }
2446 @end lilypond
2447
2448
2449 @seealso
2450 Las plantillas de inicio se pueden encontrar en el apéndice
2451 @q{Plantillas}, véase @ref{Plantillas de pentagrama único}.
2452
2453
2454 @node Partitura vocal a cuatro voces SATB
2455 @subsection Partitura vocal a cuatro voces SATB
2456 @translationof Four-part SATB vocal score
2457
2458 La mayor parte de las partituras vocales escritas para coro mixto a
2459 cuatro voces con acompañamiento orquestal, como el «Elías» de
2460 Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
2461 letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
2462 reducción de piano del acompañamiento de orquesta, por debajo. He aquí
2463 un ejemplo del «Mesías» de Haendel:
2464
2465 @c The following should appear as music without code
2466 @lilypond[quote,ragged-right]
2467 global = { \key d \major \time 4/4 }
2468
2469 sopranoMusic = \relative {
2470   \clef "treble"
2471   r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2472 }
2473 sopranoWords = \lyricmode {
2474   Wor -- thy | is the lamb | that was slain |
2475 }
2476
2477 altoMusic = \relative {
2478   \clef "treble"
2479   r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 |
2480 }
2481 altoWords = \sopranoWords
2482
2483 tenorMusic = \relative {
2484   \clef "G_8"
2485   r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2486 }
2487 tenorWords = \sopranoWords
2488
2489 bassMusic = \relative {
2490   \clef "bass"
2491   r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2492 }
2493 bassWords = \sopranoWords
2494
2495 upper = \relative {
2496   \clef "treble"
2497   \global
2498   r4 <a' d fis>2 <a e' a>4 |
2499   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2500   <g cis g'>4 <a d fis> <a cis e>2 |
2501 }
2502
2503 lower = \relative {
2504   \clef "bass"
2505   \global
2506   <d, d'>4 <d d'>2 <cis cis'>4 |
2507   <b b'>4. <b' b'>8 <fis fis'>2 |
2508   <e e'>4 <d d'> <a' a'>2 |
2509 }
2510
2511 \score {
2512   <<  % combine ChoirStaff and PianoStaff in parallel
2513     \new ChoirStaff <<
2514       \new Staff = "sopranos" <<
2515         \set Staff.instrumentName = #"Soprano"
2516         \new Voice = "sopranos" {
2517           \global
2518           \sopranoMusic
2519         }
2520       >>
2521       \new Lyrics \lyricsto "sopranos" {
2522         \sopranoWords
2523       }
2524       \new Staff = "altos" <<
2525         \set Staff.instrumentName = #"Alto"
2526         \new Voice = "altos" {
2527           \global
2528           \altoMusic
2529         }
2530       >>
2531       \new Lyrics \lyricsto "altos" { \altoWords }
2532       \new Staff = "tenors" <<
2533         \set Staff.instrumentName = #"Tenor"
2534         \new Voice = "tenors" {
2535           \global
2536           \tenorMusic
2537         }
2538       >>
2539       \new Lyrics \lyricsto "tenors" { \tenorWords }
2540       \new Staff = "basses" <<
2541         \set Staff.instrumentName = #"Bass"
2542         \new Voice = "basses" {
2543           \global
2544           \bassMusic
2545         }
2546       >>
2547       \new Lyrics \lyricsto "basses" {
2548         \bassWords
2549       }
2550     >>  % end ChoirStaff
2551     \new PianoStaff <<
2552       \set PianoStaff.instrumentName = #"Piano"
2553       \new Staff = "upper" \upper
2554       \new Staff = "lower" \lower
2555     >>
2556   >>
2557 }
2558 @end lilypond
2559
2560 Ninguna de las plantillas proporciona esta disposición con exactitud.
2561 La más parecida es @ref{Partitura vocal SATB y reducción para piano automática},
2562 pero necesitamos cambiar la
2563 disposición y añadir un acompañamiento de piano que no esté derivado
2564 automáticamente de las partes vocales.  Las variables que contienen la
2565 música y la letra de las partes vocales es adecuada, pero tendremos
2566 que añadir variables para la reducción de piano.
2567
2568 El orden en que aparecen los contextos en el ChoirStaff de la
2569 plantilla no se corresponde con el orden de la partitura vocal que
2570 hemos mostrado más arriba.  Tenemos que reordenarlas para que haya
2571 cuatro pentagramas con la letra escrita directamente bajo las notas de
2572 cada parte.  Todas las voces deben ser @code{\voiceOne}, que es la
2573 predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
2574 eliminar.  También tenemos que especificar la clave de tenor (clave de
2575 sol octava baja) en las partes de tenor.  Aún no hemos encontrado la
2576 forma en que la letra se especifica en la plantilla, así que tenemos
2577 que utilizar el método que nos resulta familiar.  También tenemos que
2578 escribir los nombres de cada pentagrama.
2579
2580 Al hacerlo así obtenemos el ChoirStaff siguiente:
2581
2582 @example
2583 \new ChoirStaff <<
2584   \new Staff = "sopranos" <<
2585     \set Staff.instrumentName = #"Soprano"
2586     \new Voice = "sopranos" @{
2587       \global
2588       \musicaSoprano
2589     @}
2590   >>
2591   \new Lyrics \lyricsto "sopranos" @{
2592     \letraSoprano
2593   @}
2594   \new Staff = "altos" <<
2595     \set Staff.instrumentName = #"Alto"
2596     \new Voice = "altos" @{
2597       \global
2598       \musicaAlto
2599     @}
2600   >>
2601   \new Lyrics \lyricsto "altos" @{
2602     \letraAlto
2603   @}
2604   \new Staff = "tenors" <<
2605     \set Staff.instrumentName = #"Tenor"
2606     \new Voice = "tenors" @{
2607       \global
2608       \musicaTenor
2609     @}
2610   >>
2611   \new Lyrics \lyricsto "tenors" @{
2612     \letraTenor
2613   @}
2614   \new Staff = "bajos" <<
2615     \set Staff.instrumentName = #"Bajo"
2616     \new Voice = "bajos" @{
2617       \global
2618       \musicaBajo
2619     @}
2620   >>
2621   \new Lyrics \lyricsto "bajos" @{
2622     \letraBajo
2623   @}
2624 >>  % fin del ChoirStaff
2625 @end example
2626
2627 A continuación debemos trabajar sobre la parte de piano.  Es fácil:
2628 tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
2629 solista}:
2630
2631 @example
2632 \new PianoStaff <<
2633   \set PianoStaff.instrumentName = #"Piano"
2634   \new Staff = "superior" \superior
2635   \new Staff = "inferior" \inferior
2636 >>
2637 @end example
2638
2639 y escribir las definiciones de variable para @code{superior} e
2640 @code{inferior}.
2641
2642 Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
2643 ángulos dobles, ya queremos apilarlos unos sobre otros:
2644
2645 @example
2646 <<  % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
2647   \new ChoirStaff <<
2648     \new Staff = "sopranos" <<
2649       \new Voice = "sopranos" @{
2650         \global
2651         \musicaSoprano
2652       @}
2653     >>
2654     \new Lyrics \lyricsto "sopranos" @{
2655       \letraSoprano
2656      @}
2657     \new Staff = "altos" <<
2658       \new Voice = "altos" @{
2659         \global
2660         \musicaAlto
2661       @}
2662     >>
2663     \new Lyrics \lyricsto "altos" @{
2664       \letraAlto
2665     @}
2666     \new Staff = "tenores" <<
2667       \clef "G_8"  % clave de tenor
2668       \new Voice = "tenores" @{
2669         \global
2670         \musicaTenor
2671       @}
2672     >>
2673     \new Lyrics \lyricsto "tenores" @{
2674       \letraTenor
2675     @}
2676     \new Staff = "bajos" <<
2677       \clef "bass"
2678       \new Voice = "bajos" @{
2679         \global
2680         \musicaBajo
2681       @}
2682     >>
2683     \new Lyrics \lyricsto "bajos" @{
2684       \letraBajo
2685     @}
2686   >>  % fin del ChoirStaff
2687
2688   \new PianoStaff <<
2689     \set PianoStaff.instrumentName = #"Piano"
2690     \new Staff = "upper" \upper
2691     \new Staff = "lower" \lower
2692   >>
2693 >>
2694 @end example
2695
2696 Al combinar todo esto junto y escribir la música de los tres compases
2697 del ejemplo anterior, obtenemos:
2698
2699 @lilypond[quote,verbatim,ragged-right,addversion]
2700 global = { \key d \major \time 4/4 }
2701 sopranoMusic = \relative {
2702   \clef "treble"
2703   r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2704 }
2705 sopranoWords = \lyricmode {
2706   Wor -- thy | is the lamb | that was slain |
2707 }
2708 altoMusic = \relative {
2709   \clef "treble"
2710   r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2711 }
2712 altoWords = \sopranoWords
2713 tenorMusic = \relative {
2714   \clef "G_8"
2715   r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2716 }
2717 tenorWords = \sopranoWords
2718 bassMusic = \relative {
2719   \clef "bass"
2720   r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2721 }
2722 bassWords = \sopranoWords
2723 upper = \relative {
2724   \clef "treble"
2725   \global
2726   r4 <a' d fis>2 <a e' a>4 |
2727   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2728   <g cis g'>4 <a d fis> <a cis e>2 |
2729 }
2730 lower = \relative {
2731   \clef "bass"
2732   \global
2733   <d, d'>4 <d d'>2 <cis cis'>4 |
2734   <b b'>4. <b' b'>8 <fis fis'>2 |
2735   <e e'>4 <d d'> <a' a'>2 |
2736 }
2737
2738 \score {
2739   <<  % combine ChoirStaff and PianoStaff in parallel
2740     \new ChoirStaff <<
2741       \new Staff = "sopranos" <<
2742         \set Staff.instrumentName = #"Soprano"
2743         \new Voice = "sopranos" {
2744           \global
2745           \sopranoMusic
2746         }
2747       >>
2748       \new Lyrics \lyricsto "sopranos" {
2749         \sopranoWords
2750       }
2751       \new Staff = "altos" <<
2752         \set Staff.instrumentName = #"Alto"
2753         \new Voice = "altos" {
2754           \global
2755           \altoMusic
2756         }
2757       >>
2758       \new Lyrics \lyricsto "altos" {
2759         \altoWords
2760       }
2761       \new Staff = "tenors" <<
2762         \set Staff.instrumentName = #"Tenor"
2763         \new Voice = "tenors" {
2764           \global
2765           \tenorMusic
2766         }
2767       >>
2768       \new Lyrics \lyricsto "tenors" {
2769         \tenorWords
2770       }
2771       \new Staff = "basses" <<
2772         \set Staff.instrumentName = #"Bass"
2773         \new Voice = "basses" {
2774           \global
2775           \bassMusic
2776         }
2777       >>
2778       \new Lyrics \lyricsto "basses" {
2779         \bassWords
2780       }
2781     >>  % end ChoirStaff
2782
2783     \new PianoStaff <<
2784       \set PianoStaff.instrumentName = #"Piano  "
2785       \new Staff = "upper" \upper
2786       \new Staff = "lower" \lower
2787     >>
2788   >>
2789 }
2790 @end lilypond
2791
2792
2793 @node Crear una partitura partiendo de cero
2794 @subsection Crear una partitura partiendo de cero
2795 @translationof Building a score from scratch
2796
2797 @cindex plantilla, escribir su propia
2798 @cindex ejemplo de escritura de una partitura
2799 @cindex escribir una partitura, ejemplo
2800 @cindex partitura, ejemplo de escritura
2801
2802 Después de adquirir algo de soltura en la escritura del código de
2803 LilyPond, se dará cuenta de que es más fácil construir completamente
2804 una partitura partiendo de cero, que modificar una plantilla.  También
2805 puede desarrollar su propio estilo de forma que se adapte al tipo de
2806 música que le apetezca.  Veamos a continuación cómo confeccionar una
2807 partitura para un preludio de órgano, como ejemplo.
2808
2809 Comenzamos con una sección para el encabezamiento.  Aquí es donde van
2810 el título, nombre del compositor, etc., después van las definiciones
2811 de las variables, y finalmente el bloque de partitura.  Comencemos a
2812 verlas por encima y más tarde completaremos los detalles.
2813
2814 Utilizaremos los dos primeros compases del preludio de Bach basado en
2815 @emph{Jesu, meine Freude}, que está escrito para órgano con dos
2816 manuales y pedal.  Tiene estos dos compases de música al final de la
2817 sección.  La parte del manual superior tiene dos voces, y el inferior
2818 y el pedal, una voz cada uno.  Así pues, necesitamos cuatro
2819 definiciones para la música y una más para definir el compás y la
2820 tonalidad:
2821
2822 @example
2823 \version @w{"@version{}"}
2824 \header @{
2825   title = "Jesu, meine Freude"
2826   composer = "J S Bach"
2827 @}
2828 keyTime = @{ \key c \minor \time 4/4 @}
2829 MusicaManualUnoVozUno = @{ s1 @}
2830 MusicaManualUnoVozDos = @{ s1 @}
2831 MusicaManualDos = @{ s1 @}
2832 MusicaPedal = @{ s1 @}
2833
2834 \score @{
2835 @}
2836 @end example
2837
2838 Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
2839 en lugar de la música de verdad.  La añadiremos más adelante.
2840
2841 A continuación veamos qué va en el bloque de partitura.
2842 Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
2843 La música de órgano se escribe por lo general en tres pentagramas, uno
2844 para cada uno de los manuales y otro para el pedal.  Los pentagramas
2845 de los manuales se abarcan con una llave, así que los incluiremos en
2846 un grupo PianoStaff.  La primera parte de manual tiene dos voces, y la
2847 segunda sólo una.
2848
2849 @example
2850 \new PianoStaff <<
2851   \new Staff = "ManualUno" <<
2852     \new Voice @{
2853       \MusicaManualUnoVozUno
2854     @}
2855     \new Voice @{
2856       \MusicaManualUnoVozDos
2857     @}
2858   >>  % fin del contexto de Staff ManualUno
2859   \new Staff = "ManualDos" <<
2860     \new Voice @{
2861       \MusicaManualDos
2862     @}
2863   >>  % fin del contexto de Staff ManualDos
2864 >>  % fin del contexto de PianoStaff
2865 @end example
2866
2867 Después, tenemos que añadir un pentagrama para el órgano de pedal.
2868 Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
2869 por lo que escribimos dobles ángulos rodeando a los dos.  Si esto se
2870 nos olvida, se producirá un error en el archivo log de registro.  ¡Es
2871 un error muy común que cometerá antes o después!  Intente copiar el
2872 ejemplo final que aparece al final de la sección, borre los dobles
2873 ángulos y procese el archivo para ver qué error produce.
2874
2875 @example
2876 <<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2877   \new PianoStaff <<
2878     \new Staff = "ManualUno" <<
2879       \new Voice @{
2880         \MusicaManualUnoVozUno
2881       @}
2882       \new Voice @{
2883         \MusicaManualUnoVozDos
2884       @}
2885     >>  % fin del contexto de Staff ManualUno
2886     \new Staff = "ManualDos" <<
2887       \new Voice @{
2888         \MusicaManualDos
2889       @}
2890     >>  % fin del contexto de Staff ManualDos
2891   >>  % fin del contexto de PianoStaff
2892   \new Staff = "OrganoPedal" <<
2893     \new Voice @{
2894       \MusicaOrganoPedal
2895     @}
2896   >>
2897 >>
2898 @end example
2899
2900 No es necesario utilizar la construcción simultánea @code{<< @dots{} >>} para
2901 el pentagrama del manual dos y el pentagrama del órgano de pedal, ya
2902 que contienen una única expresión, pero no hace daño, y es una buena
2903 costumbre utilizar siempre dobles ángulos después de @code{\new Staff}
2904 cuando hay varias voces.  Lo opuesto es cierto para las voces:
2905 normalmente deben ir seguidas de llaves @code{@{ @dots{} @}} en caso de que
2906 tengamos música codificada como distintas variables que se deben
2907 situar consecutivamente.
2908
2909 Añadamos esta estructura al bloque de partitura, y ajustemos el
2910 sangrado de los márgenes.  También escribimos las claves
2911 correspondientes, nos aseguramos de que las plicas y ligaduras de
2912 unión y de expresión en cada una de las voces del pentagrama superior
2913 apuntan en la dirección adecuada con @code{\voiceOne} y
2914 @code{\voiceTwo} y escribimos el compás y la tonalidad en cada uno de
2915 los pentagramas usando nuestra variable previamente definida
2916 @code{\TimeKey}.
2917
2918 @example
2919 \score @{
2920   <<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2921     \new PianoStaff <<
2922       \new Staff = "ManualUno" <<
2923         \keyTime  % establecer compás y tonalidad
2924         \clef "treble"
2925         \new Voice @{
2926           \voiceOne
2927           \MusicaManualUnoVozUno
2928         @}
2929         \new Voice @{
2930           \voiceTwo
2931           \MusicaManualUnoVozDos
2932         @}
2933       >>  % fin del contexto de Staff ManualUno
2934       \new Staff = "ManualDos" <<
2935         \keyTime
2936         \clef "bass"
2937         \new Voice @{
2938           \MusicaManualDos
2939         @}
2940       >>  % fin del contexto de Staff ManualDos
2941     >>  % fin del contexto de PianoStaff
2942     \new Staff = "OrganoPedal" <<
2943      \keyTime
2944       \clef "bass"
2945       \new Voice @{
2946         \MusicaOrganoPedal
2947       @}
2948     >>  % fin del pentagrama de OrganoPedal
2949   >>
2950 @}  % fin del contexto Score
2951 @end example
2952
2953 @cindex ampliabilidad de las pautas
2954 @cindex pautas, ampliabilidad
2955
2956 La disposición anterior de los pentagramas de órgano es casi perfecta;
2957 sin embargo, existe un ligero defecto que no es visible cuando se
2958 observa un solo sistema: la distancia entre el pentagrama de pedal y
2959 el de la mano izquierda debiera ser aproximadamente la misma que la
2960 que existe entre los pentagramas de las manos izquierda y derecha.
2961 Concretamente, la ampliabilidad de los pentagramas dentro de un
2962 contexto @code{PianoStaff} es limitada (de forma que la distancia
2963 entre los pentagramas de las manos izquierda y derecha nunca crezcan
2964 excesivamente), y el pentagrama de los pedales debería comportarse de
2965 una forma similar.
2966
2967 @cindex sub-propiedades
2968 @cindex propiedades, sub-propiedades
2969 @cindex objetos gráficos
2970 @cindex gráficos, objetos
2971 @cindex grobs
2972
2973 El grado de ampliabilidad o separabilidad de los pentagramas se puede
2974 controlar con la propiedad @code{staff-staff-spacing} del @q{objeto
2975 gráfico} @code{VerticalAxisGroup} (los objetos gráficos reciben por lo
2976 general el nombre de @q{grob}s en la documentación de lilypond); no se
2977 preocupe por el momento de los detalles, pues esto se explica más
2978 tarde de forma exhaustiva.  Los más curiosos pueden echar un vistazo a
2979 @ruser{Panorámica de la modificación de las propiedades}.  En este
2980 caso, queremos modificar solamente la sub-propiedad
2981 @code{stretchability}.
2982 De nuevo, los curiosos encontrarán los valores
2983 predeterminados para la propiedad staff-staff-spacing
2984 en el archivo @file{scm/define-grobs.scm}
2985 examinando la definición del grob @code{VerticalAxisGroup} grob.  El
2986 valor de @code{stretchability} se toma de la definición del contexto
2987 @code{PianoStaff} (en el archivo @file{ly/engraver-init.ly}) de
2988 forma que los valores sean idénticos.
2989
2990 @example
2991 \score @{
2992   <<  % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
2993     \new PianoStaff <<
2994       \new Staff = "ManualUno" <<
2995         \keyTime  % establecer compás y tonalidad
2996         \clef "treble"
2997         \new Voice @{
2998           \voiceOne
2999           \MusicaManualUnoVozUno
3000         @}
3001         \new Voice @{
3002           \voiceTwo
3003           \MusicaManualUnoVozDos
3004         @}
3005       >>  % % fin del contexto de Staff ManualUno
3006       \new Staff = "ManualDos" \with @{
3007         \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
3008       @} <<
3009         \keyTime
3010         \clef "bass"
3011         \new Voice @{
3012           \MusicaManualDos
3013         @}
3014       >>  % fin del contexto de Staff ManualDos
3015     >>  % fin del contexto de PianoStaff
3016     \new Staff = "OrganoPedal" <<
3017       \keyTime
3018       \clef "bass"
3019       \new Voice @{
3020         \MusicaOrganoPedal
3021       @}
3022     >>  % fin del pentagrama de OrganoPedal
3023   >>
3024 @}  % fin del contexto Score
3025 @end example
3026
3027 Con esto se completa la estructura.  Toda música para órgano de tres
3028 pentagramas tendrá una estructura similar, aunque el número de voces
3029 puede variar.  Todo lo que nos queda es añadir la música, y combinar
3030 todas las partes.
3031
3032 @lilypond[quote,verbatim,ragged-right,addversion]
3033 \header {
3034   title = "Jesu, meine Freude"
3035   composer = "J S Bach"
3036 }
3037 keyTime = { \key c \minor \time 4/4 }
3038 ManualOneVoiceOneMusic = \relative {
3039   g'4 g f ees |
3040   d2 c |
3041 }
3042 ManualOneVoiceTwoMusic = \relative {
3043   ees'16 d ees8~ 16 f ees d c8 d~ d c~ |
3044   8 c4 b8 c8. g16 c b c d |
3045 }
3046 ManualTwoMusic = \relative {
3047   c'16 b c8~ 16 b c g a8 g~ 16 g aes ees |
3048   f16 ees f d g aes g f ees d ees8~ 16 f ees d |
3049 }
3050 PedalOrganMusic = \relative {
3051   r8 c16 d ees d ees8~ 16 a, b g c b c8 |
3052   r16 g ees f g f g8 c,2 |
3053 }
3054
3055 \score {
3056   <<  % PianoStaff and Pedal Staff must be simultaneous
3057     \new PianoStaff <<
3058       \new Staff = "ManualOne" <<
3059         \keyTime  % set key and time signature
3060         \clef "treble"
3061         \new Voice {
3062           \voiceOne
3063           \ManualOneVoiceOneMusic
3064         }
3065         \new Voice {
3066           \voiceTwo
3067           \ManualOneVoiceTwoMusic
3068         }
3069       >>  % end ManualOne Staff context
3070       \new Staff = "ManualTwo" \with {
3071         \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
3072       } <<
3073         \keyTime
3074         \clef "bass"
3075         \new Voice {
3076           \ManualTwoMusic
3077         }
3078       >>  % end ManualTwo Staff context
3079     >>  % end PianoStaff context
3080     \new Staff = "PedalOrgan" <<
3081       \keyTime
3082       \clef "bass"
3083       \new Voice {
3084         \PedalOrganMusic
3085       }
3086     >>  % end PedalOrgan Staff context
3087   >>
3088 }  % end Score context
3089 @end lilypond
3090
3091 @seealso
3092 Glosario musical:
3093 @rglos{system}.
3094
3095 @node Ahorrar tecleo mediante variables y funciones
3096 @subsection Ahorrar tecleo mediante variables y funciones
3097 @translationof Saving typing with variables and functions
3098
3099 @cindex variables
3100 @cindex identificadores
3101
3102 Llegado a este punto, usted ha visto cosas de este tipo:
3103
3104 @lilypond[quote,verbatim,ragged-right]
3105 hornNotes = \relative { c''4 b dis c }
3106
3107 \score {
3108   {
3109     \hornNotes
3110   }
3111 }
3112 @end lilypond
3113
3114 Incluso se dará cuenta de que esto puede ser útil en música
3115 minimalista:
3116
3117 @lilypond[quote,verbatim,ragged-right]
3118 fragmentA = \relative { a'4 a8. b16 }
3119 fragmentB = \relative { a'8. gis16 ees4 }
3120
3121 violin = \new Staff {
3122   \fragmentA \fragmentA |
3123   \fragmentB \fragmentA |
3124 }
3125
3126 \score {
3127   {
3128     \violin
3129   }
3130 }
3131 @end lilypond
3132
3133 Sin embargo también puede usar estos identificadores (que también se
3134 conocen como variables, macros o instrucciones definidas por el
3135 usuario) para hacer trucos:
3136
3137 @c TODO Avoid padtext - not needed with skylining
3138 @lilypond[quote,verbatim,ragged-right]
3139 dolce = \markup { \italic \bold dolce }
3140
3141 padText = { \once \override TextScript.padding = #5.0 }
3142 fthenp =_\markup {
3143   \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
3144 }
3145
3146 violin = \relative {
3147   \repeat volta 2 {
3148     c''4._\dolce b8 a8 g a b |
3149     \padText
3150     c4.^"hi there!" d8 e' f g d |
3151     c,4.\fthenp b8 c4 c-. |
3152   }
3153 }
3154
3155 \score {
3156   {
3157     \violin
3158   }
3159   \layout { ragged-right = ##t }
3160 }
3161 @end lilypond
3162
3163 Obviamente estos identificadores son útiles para ahorrar tecleo.  Pero
3164 son dignos de tener en cuenta incluso si se van a utilizar una sola
3165 vez: reducen la complejidad.  Examinemos el ejemplo anterior reescrito
3166 sin ningún identificador.  Encontrará que es mucho más difícil de
3167 leer, sobre todo la última línea.
3168
3169 @example
3170 violin = \relative @{
3171   \repeat volta 2 @{
3172     c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
3173     \once \override TextScript.padding = #5.0
3174     c4.^"hi there!" d8 e' f g d |
3175     c,4.\markup @{
3176       \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3177     @}
3178     b8 c4 c-. |
3179   @}
3180 @}
3181 @end example
3182
3183 @c TODO Replace the following with a better example  -td
3184 @c Skylining handles this correctly without padText
3185
3186 Hasta ahora hemos contemplado la sustitución estática: cuando LilyPond
3187 se encuentra con @code{\padText}, lo sustituye con aquello que
3188 hemos definido que sea (es decir, todo lo que está a la derecha de
3189 @code{padtext=}).
3190
3191 LilyPond también puede manejar sustituciones no estáticas (piense en
3192 ellas como en funciones).
3193
3194 @lilypond[quote,verbatim,ragged-right]
3195 padText =
3196 #(define-music-function
3197      (padding)
3198      (number?)
3199    #{
3200      \once \override TextScript.padding = #padding
3201    #})
3202
3203 \relative {
3204   c'''4^"piu mosso" b a b |
3205   \padText #1.8
3206   c4^"piu mosso" d e f |
3207   \padText #2.6
3208   c4^"piu mosso" fis a g |
3209 }
3210 @end lilypond
3211
3212 La utilización de identificadores también es una buena forma de
3213 reducir el trabajo si la sintaxis de entrada de LilyPond cambia (véase
3214 @rprogram{Actualizar ficheros con convert-ly}).  Si tiene una sola
3215 definición (como p.ej. @code{\dolce}) para todos sus archivos (ver
3216 @ref{Hojas de estilo}), y después la sintaxis se modifica, sólo tendrá
3217 que actualizar su definición @code{\dolce} única, en lugar de tener
3218 que hacer cambios en cada uno de los archivos @file{.ly}.
3219
3220
3221
3222 @node Partituras y particellas
3223 @subsection Partituras y particellas
3224 @translationof Scores and parts
3225
3226 En música orquestal, todas las notas se imprimen dos veces.  Una vez
3227 en las particellas para los músicos, y otra para la partitura del
3228 director.  Los identificadores se pueden usar para evitar la
3229 duplicación del trabajo.  La música se escribe una vez y se almacena
3230 en una variable.  El contenido de dicha variable se usa después para
3231 generar tanto la particella como la partitura del director.
3232
3233 Es muy conveniente definir las notas en un archivo especial.  Por
3234 ejemplo, supongamos que el archivo @file{trompa.ly} contiene la
3235 siguiente parte de un dúo para trompa y fagot:
3236
3237 @example
3238 notasTrompa = \relative @{
3239   \time 2/4
3240   r4 f8 a | cis4 f | e4 d |
3241 @}
3242 @end example
3243
3244 @noindent
3245 Luego se hace una particella escribiendo en un archivo lo siguiente
3246
3247 @example
3248 \include "trompa.ly"
3249
3250 \header @{
3251   instrument = "Trompa en Fa"
3252 @}
3253
3254 @{
3255  \transpose f c' \notasTrompa
3256 @}
3257 @end example
3258
3259 La línea
3260
3261 @example
3262 \include "trompa.ly"
3263 @end example
3264
3265 @noindent
3266 sustituye el contenido de @file{trompa.ly} en esta posición dentro del
3267 archivo, así que @code{notasTrompa} se define con posterioridad.  La
3268 instrucción @code{\transpose f@tie{}c'} indica que el argumento
3269 constituido por @code{\notasTrompa} se debe transponer una quinta
3270 hacia arriba.  Lo que suena como @code{f} se escribe como @code{c'},
3271 lo que corresponde con el tono de afinación de una trompa normal
3272 en@tie{}Fa.  La transposición se puede ver en la siguiente salida
3273
3274 @lilypond[quote,ragged-right]
3275 \transpose f c' \relative {
3276   \time 2/4
3277   r4 f8 a | cis4 f | e4 d |
3278 }
3279 @end lilypond
3280
3281 En piezas para conjunto, con frecuencia una de las voces no suena
3282 durante muchos compases.  Esto queda denotado por un silencio
3283 especial, el silencio multicompás.  Se introduce con una @code{R}
3284 mayúscula seguida de una duración (@code{1}@tie{}en el caso de la
3285 redonda, @code{2}@tie{}en el caso de una blanca, etc.).  Multiplicando
3286 la duración se pueden construir silencios más largos.  Por ejemplo,
3287 este silencio ocupa 3@tie{}compases de 2/4
3288
3289 @example
3290 R2*3
3291 @end example
3292
3293 Cuando se imprime la particella tienen que comprimirse los silencios
3294 multicompás.  Esto se hace estableciendo una variable en tiempo de
3295 ejecución
3296
3297 @example
3298 \set Score.skipBars = ##t
3299 @end example
3300
3301 @noindent
3302 Esta instrucción establece el valor de la propiedad @code{skipBars} en
3303 el contexto de @code{Score} a verdadero (@code{##t}).  Anteponiendo el
3304 silencio y esta opción a la música anterior, llegamos al siguiente
3305 resultado
3306
3307 @lilypond[quote,ragged-right]
3308 \transpose f c' \relative {
3309   \time 2/4
3310   \set Score.skipBars = ##t
3311   R2*3 |
3312   r4 f8 a | cis4 f | e4 d |
3313 }
3314 @end lilypond
3315
3316
3317 Esta partitura se hace combinando toda la música junta.  Suponiendo
3318 que la otra voz se encuentra dentro de @code{notasFagot} en el archivo
3319 @file{fagot.ly}, la partitura se hace con
3320
3321 @example
3322 \include "fagot.ly"
3323 \include "trompa.ly"
3324
3325 <<
3326   \new Staff \notasTrompa
3327   \new Staff \notasFagot
3328 >>
3329 @end example
3330
3331 @noindent
3332 lo que nos lleva a
3333
3334 @lilypond[quote,ragged-right]
3335 \relative <<
3336   \new Staff {
3337     \clef "treble"
3338     \time 2/4
3339     R2*3 |
3340     r4 f8 a | cis4 f | e4 d |
3341   }
3342   \new Staff {
3343     \clef "bass"
3344     \time 2/4
3345     r4 d,8 f | gis4 c | b4 bes |
3346     a8 e f4 | g4 d | gis4 f |
3347   }
3348 >>
3349 @end lilypond
3350
3351
3352