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