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