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