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