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