1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond-learning.tely
4 Translation of GIT committish: 20eecf22357df6461cdbe3e2e39943fb2fec072a
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
11 @node Fundamental concepts
12 @chapter Fundamental concepts
14 Ha podido ver en el tutorial cómo producir música bellamente impresa a
15 partir de un simple archivo de texto. Esta sección presenta los
16 conceptos y técnicas que se requieren para producir partituras
17 igualmente bellas pero más complejas.
20 * How LilyPond files work::
21 * Voices contain music::
22 * Contexts and engravers::
23 * Extending the templates::
27 @node How LilyPond files work
28 @section How LilyPond files work
30 El formato de entrada de LilyPond es bastante libre en su forma y
31 concede a los usuarios con experiencia mucha flexibilidad para
32 estructurar sus archivos de la forma que deseen. Sin embargo, toda
33 esta flexibilidad puede hacer que las cosas se vuelvan confusas para
34 los nuevos usuarios. Esta sección le va a explicar parte de esta
35 estructura, pero puede obviar ciertos detalles en aras de la
36 simplicidad. Para ver una descripción completa del formato de
37 entrada, consulte @ruser{File structure}.
41 * Introduction to the LilyPond file structure::
42 * Score is a (single) compound musical expression::
43 * Nesting music expressions::
44 * On the un-nestedness of brackets and ties::
47 @node Introduction to the LilyPond file structure
48 @subsection Introduction to the LilyPond file structure
50 Un ejemplo básico de archivo de entrada de lilypond es el siguiente:
53 \version @w{"@version{}"}
55 @var{...expresión musical compuesta...} % toda la música viene aquí
63 Existen muchas variaciones de este esquema básico, pero el ejemplo
64 constituye un útil punto de partida.
66 Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
67 instrucción @code{\score@{@}}. Esto es así a causa de que LilyPond
68 añade automáticamente las órdenes adicionales que se requieren cuando
69 le proporcionamos una entrada sencilla. LilyPond trata una entrada
79 como una abreviatura de esta otra:
96 En tras palabras, si la entrada consta de una única expresión musical,
97 LilyPond interpreta el archivo como si la expresción musical estuviera
98 rodeada por un envoltorio hecho por las instrucciones que acabamos de
99 ver. De todas formas, vamos a volver al primer ejemplo para examinar
100 la instrucción @code{\score}, dejando las demás en su forma
103 Un bloque @code{\score} siempre debe contener una expresión musical
104 única, que debe aparecer inmediatamente después de la instrucción
105 @code{\score}. Recuerde que una expresión musical podía ser cualquier
106 cosa entre una sola nota hasta una enorme expresión compuesta como
111 @var{...inserte aquí la partitura completa de una ópera de Wagner...}
117 Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
118 una expresión musical.
120 Como vimos anteriormente, el bloque @code{\score} puede contener otras
133 Hay personas que ponen algunos de estos comandos fuera del
134 bloque @code{\score} (por ejemplo, @code{\header} se
135 sitúa con frecuencia por encima del @code{\score}. Es tan sólo
136 otra abreviatura que LilyPond acepta.
138 Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
139 y @code{\midi @{@}}. Si aparecen tal y como se muestran aquí, hacen
140 que LilyPond produzca una salida impresa y una salida MIDI,
141 respectivamente. Se describen con todo detalle en el manual de
142 Referencia de la notación, en @ruser{Score layout} y en
143 @ruser{Creating MIDI files}.
145 Podemos escribir varios bloques @code{\score}. Cada uno de ellos
146 recibirá el mismo tratamiento que una partitura independiente, pero se
147 combinarán todos juntos en un archivo de salida único. No se necesita
148 ninguna instrucción @code{\book}, se creará una implícitamente. Sin
149 embargo, si quiere archivos de salida separados a partir de un archivo
150 @code{.ly}, entonces es necesario utilizar la instrucción @code{\book}
151 para separar las distintas secciones: cada bloque @code{\book} produce
152 un archivo de salida distinto. Para ver más detalles, consulte
153 @ruser{Multiple scores in a book}.
157 Otro atajo genial es la posibilidad de definir variables.
158 Todas las plantillas emplean lo siguiente:
161 melodia = \relative c' @{
170 Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
171 (todo lo que está después del signo igual) y lo inserta dondequiera
172 que ve @code{\melodia}. No se requiere un cuidado especial con los
173 nombres (puede ser @code{melodia}, @code{global},
174 @code{manoderechadelpiano} o @code{fulanomengano}). Para ver más
175 detalles, consulte @ref{Saving typing with variables and functions}.
176 Recuerde que puede usar casi cualquier nombre que se le ocurra, en la
177 medida en que contenga solamente caracteres alfabéticos y sea
178 diferente de cualquiera de los nombres de instrucción de LilyPond.
179 Las limitaciones exactas que afectan a los nombres de variable se
180 detallan en @ruser{File structure}.
185 Para ver una definición completa del formato del código de entrada,
186 consulte @ruser{File structure}.
188 @node Score is a (single) compound musical expression
189 @subsection Score is a (single) compound musical expression
191 @cindex expresión musical compuesta
192 @cindex música, expresión compuesta de
194 En la sección anterior, @ruser{How LilyPond files work} hemos podido
195 ver la organización general de los archivos de entrada de LilyPond.
196 Pero parece que nos saltamos la parte más importante: ¿cómo
197 averiguamos qué escribir después de @code{\score}?
199 No nos hemos saltado nada en absoluto. El gran misterio es, sencillamente,
200 que no hay @emph{ningún} misterio. La siguiente línea lo explica
204 @emph{Una @code{\score} debe comenzar con una única expresión musical.}
208 Quizá encuentre útil dar un repaso a @ruser{Music expressions
209 explained}. En esta sección, vimos cómo elaborar grandes expresiones
210 musicales a partir de pequeñas piezas (comenzábamos con notas, luego
211 acordes, etc.). Ahora partiremos de una gran expresión musical y
212 recorreremos el camino inverso hacia abajo.
216 @{ % esta llave da inicio a la expresión musical completa
218 @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
220 @} % esta llave da por terminada la expresión musical completa
225 Una ópera de Wagner completa puede ser fácilmente el doble de larga
226 que este manual, por tanto vamos a hacer sólo un cantante y un piano.
227 No necesitamos un @code{GrandStaff} para este conjunto, así que lo
228 retiramos. Sin embargo, sí que @emph{necesitamos} un cantante y un
234 \new Staff = "cantante" <<
236 \new PianoStaff = piano <<
243 Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
244 para presentar música simultánea. Y, por supuesto, queremos presentar
245 las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
246 Sin embargo, la construcción @code{<< ... >>} no es realmente
247 necesaria para el pentagrama del cantante (pues contiene una sola
248 expresión musical), pero los pentagramas (Staff) a menudo necesitan
249 varias voces (Voice) en su interior, así es bueno adoptar el hábito de
250 usar @code{<< ... >>} en lugar de llaves. Escribiremos algo de música
251 real más tarde; por ahora limitémonos a poner algunas notas y letra de
254 @lilypond[verbatim,quote,ragged-right]
257 \new Staff = "singer" <<
258 \new Voice = "vocal" { c'1 }
261 \new PianoStaff = "piano" <<
262 \new Staff = "upper" { c'1 }
263 \new Staff = "lower" { c'1 }
270 Ahora tenemos muchos más detalles. Tenemos la pauta del cantante:
271 contiene una @code{Voice} o voz (en LilyPond, este término hace
272 referencia a un conjunto de notas, no necesariamente notas vocales --
273 por ejemplo, un violín generalmente toca una voz --) y el texto de la
274 canción. También tenemos una pauta de piano: contiene un pentagrama
275 superior (mano derecha) y un pentagrama inferior (mano izquierda).
277 En este momento podríamos comenzar a meter las notas. Dentro de las
278 llaves que siguen a @code{\new Voice = vocal}, podríamos empezar
287 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
288 larga y sería más difícil comprender lo que ocurre. En lugar de esto
289 utilizaremos identificadores o variables. Recordará que las vimos por
290 primera vez en la sección anterior. Así pues, escribiendo algunas
291 notas, ahora tenemos un fragmento musical de verdad:
293 @lilypond[verbatim,quote,ragged-right]
294 melody = \relative c'' { r4 d8\noBeam g, c4 r }
295 text = \lyricmode { And God said, }
296 upper = \relative c'' { <g d g,>2~ <g d g,> }
297 lower = \relative c { b2 e2 }
301 \new Staff = "singer" <<
302 \new Voice = "vocal" { \melody }
305 \new PianoStaff = "piano" <<
306 \new Staff = "upper" { \upper }
307 \new Staff = "lower" {
317 Tenga cuidado con la diferencia entre las notas, que se introducen con
318 @code{\relative}, y la letra, que se introduce con @code{\lyricmode}.
319 Estas instrucciones son esenciales para decirle a LilyPond que
320 interprete el contenido que viene a continuación como música y texto,
323 Cuando escriba una sección @code{\score} o cuando la esté leyendo,
324 hágalo despacio y con cuidado. Comience por la capa exterior y luego
325 trabaje sobre cada una de las capas interiores. También ayuda ser
326 estricto con los márgenes (asegúrese de que en su editor de texto cada
327 elemento de la misma capa comienza en la misma posición horizontal).
330 @node Nesting music expressions
331 @subsection Nesting music expressions
333 No es esencial declarar todos los pentagramas al comienzo; se pueden
334 crear temporalmente en cualquier momento. Esto es de especial
335 utilidad para crear secciones de ossia (véase @rglos{ossia}). A
336 continuación presentamos un ejemplo sencillo que muestra cómo
337 introducir temporalmente un pentagrama nuevo mientras dura un
338 fragmento de tras notas:
340 @lilypond[verbatim,quote,ragged-right]
357 Advierta que el tamaño de la clave es igual al que se imprime en un
358 cambio de clave (ligemamente menor que la clave al principio de una
359 línea). Esto es normal para cualquier clave que se imprime en la
362 La sección ossia se puede colocar encima del pentagrama de la manera
365 @lilypond[verbatim,quote,ragged-right]
373 alignAboveContext = "main" }
381 Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
382 adelante. Es un medio de modificar el comportamiento predeterminado
383 de un solo pentagrama. Aquí, dice que el pentagrama nuevo se debe
384 colocar por encima del pentagrama llamado @qq{main} en vez de la
385 posición predeterminada que seería por debajo.
387 Los fragmentos de ossia se escriben a menudo sin clave y sin
388 indicación de compás, y generalmente en un tipo más pequeño. Esto
389 necesitaría más instrucciones que aún no se han visto. Véase
390 @ref{Size of objects}
393 @node On the un-nestedness of brackets and ties
394 @subsection On the un-nestedness of brackets and ties
397 En la escritura del archivo de entrada de LilyPond, hemos podido ver
398 algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
399 Éstos obedecen a distintas reglas que al principio pueden resultar
400 confusas. Antes de explicar estas reglas, demos un repaso a las
401 distintas clases de corchetes, llaves y paréntesis.
403 @c attempt to force this onto a new page
405 @multitable @columnfractions .3 .7
406 @headitem Tipo de paréntesis
408 @item @code{@{ .. @}}
409 @tab Encierra un fragmento secuencial de música
411 @tab Encierra las notas de un acorde
412 @item @code{<< .. >>}
413 @tab Encierra secciones concurrentes o simultáneas
415 @tab Marca el comienzo y el final de una ligadura de expresión
416 @item @code{\( .. \)}
417 @tab Marca el comienzo y el final de una ligadura de fraseo
419 @tab Marca el comienzo y el final de un barrado manual
422 A las anteriores, debemos añadir otras construcciones que generan
423 líneas entre o a través de las notas: las ligaduras de unión (marcadas
424 con una tilde curva, @code{~}), los grupos especiales que se escriben
425 como @code{\times x/y @{..@}}, y las notas de adorno, que se escriben
426 como @code{\grace@{..@}}.
428 Fuera de LilyPond, el uso convencional de los paréntesis y otros
429 corchetes requiere que los distintos tipos se encuentren anidados
430 correctamente, como en: @code{<< [ @{ ( .. ) @} ] >>}, de manera que
431 los paréntesis que se cierran deben encontrarse en el orden
432 exactamente opuesto al de los paréntesis que se abren. Esto
433 @strong{es} un requisito para los tres tipos de paréntesis que se
434 describen mediante la parabla @q{Encierra} en la tabla anterior: se
435 deben anidar correctamente. Sin embargo, el resto de las llaves y
436 corchetes, que se encuentran descritos por la palabra @q{Marca} en la
437 misma tabla anterior, @strong{no} tienen por qué anidarse
438 estrictamente con ninguno de los otros paréntesis. De hecho, éstos no
439 son paréntesis en el sentido de que encierran algo: simplemente son
440 marcadores que indican dónde empieza o finaliza algo.
442 Asíi pues, por ejemplo, una ligadura de fraseo puede dar comienzo
443 antes de una barra insertada manualmente, y acabar antes de que acabe
444 la barra (algo que quizá no sea muy musical, pero es posible):
446 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
447 { g8\( a b[ c b\) a] }
450 En general, los distintos tipos de corchete, y los implicados en
451 grupos especiiales, ligaduras de unión y notas de adorno, se pueden
452 mezclar con total libertad. Este ejemplo muestra una barra que se
453 extiende hacia el interior de un grupo de valoración especial (línea
454 1), una ligadura de expresión que se prolonga hasta el interior de un
455 grupo especial (línea 2), una barra y una ligadura de expresión que se
456 prolongan hasta el interior de un grupo especial, una ligadura de
457 unión que atraviesa dos grupos especiales, y una ligadura de fraseo
458 que sale del interior de un grupo especial (líneas 3 y 4).
460 @lilypond[quote,verbatim,fragment,ragged-right]
462 r16[ g16 \times 2/3 {r16 e'8] }
463 g16( a \times 2/3 {b d) e' }
464 g8[( a \times 2/3 {b d') e'~]}
465 \times 4/5 {e'32\( a b d' e'} a'4.\)
470 @node Voices contain music
471 @section Voices contain music
473 Igual que los cantantes, LilyPond necesita voces para cantar. En
474 realidad, la música para cualquier instrumento de una partitura está
475 siempre contenida dentro de una voz --el concepto de LilyPond más
476 fundamental de todos--.
479 * I'm hearing Voices::
480 * Explicitly instantiating voices::
481 * Voices and vocals::
484 @node I'm hearing Voices
485 @subsection I'm hearing Voices
489 @cindex Voice (voz), contexto de
491 De las capas más profundas de una partitura de LilyPond, las más bajas
492 y más fundamentales reciben el nombre de @q{Voice contexts}
493 («contextos de voz») o, abreviadamente, @q{Voices} («voces»). Las
494 voces reciben a veces el nombre de @q{layers} («capas») en otros
495 programas de edición de partituras.
497 De hechho, una capa o contexto de voz es la única que puede contener
498 música. Si un contexto de voz no se declara explícitamente, se crea
499 uno de forma automática, como vimos al comienzo de este capítulo.
500 Ciertos instrumentos como el oboe solamente pueden tocar una nota cada
501 vez. La música escrita para estos instrumentos es monofónica y
502 solamente requiere una voz única. Los instrumentos que pueden tocar
503 más de una nota a la vez, como el piano, con frecuencia necesitarán
504 varias voces para codificar las distintas notas y ritmos concurrentes
505 que son capaces de tocar.
507 Una sola voz puede contener muchas notas dentro de un acorde, por
508 supuesto; entonces ¿cuándo, exactamente, se necesitan varias voces?
509 En primer lugar observe este ejemplo de cuatro acordes:
511 @lilypond[quote,verbatim,fragment,ragged-right,relative=1]
513 <d g>4 <d fis> <d a'> <d g>
516 Esto se puede expresar utilizand sólo símbolos de acorde con ángulos
517 simples, @code{< ... >}, y para este propósito tan sólo se necesita
518 una voz. Pero suponga que el Fa sostenido fuese realmente una corchea
519 seguida de un Sol corchea, una nota de paso que conduce al La. Ahora
520 tenemos dos notas que empiezan en el mismo momento pero tienen
521 distintas duraciones: la negra Re, y la corchea Fa sostenido. ¿Cómo se
522 codifica esto? No se pueden escribir como un acorde porque todas las
523 notas de un acorde deben tener la misma duración. Y no se pueden
524 escribir como dos notas separadas porque tienen que empezar en el
525 mismo momento. Aquí es donde se necesitan dos voces.
527 Veamos cómo se hace esto dentro de la sintaxis de entrada de LilyPond.
532 La forma más fácil de introducir fragmentos con maś de una voz en un
533 solo pentagrama es escribir cada voz como una secuencia (con
534 @code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
535 @code{<<...>>}. Los fragmentos también se deben separar mediante una
536 doble barra invertida, @code{\\}, para situarlos en voces separadas.
537 Sin esto, las notas irían a una sola voz, lo que normalmente producirá
538 errores. Esta técnica se adapta especialmente bien a piezas de música
539 que son mayormente monofónicas pero ocasionalmente tienen cortas
540 secciones de polifonía.
542 He aquí cómo dividimos los acordes anteriore en dos voces y añadimos
543 la nota de paso y la ligadura:
545 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
547 % Voice "1" Voice "2"
548 << { g4 fis8( g) a4 g } \\ { d4 d d d } >> |
551 Observe cómo las plicas de la segunda voz ahora se dirigen hacia
554 A continuación veamos otro ejemplo sencillo:
556 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
558 % Voice "1" Voice "2"
559 << { r4 g g4. a8 } \\ { d,2 d4 g } >> |
560 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
561 << { a2. r4 } \\ { fis2. s4 } >> |
564 No es necesario usar una construcción @code{<< \\ >>} distinta para
565 cada compás. Para música que tenga unas pocas notas en cada compás,
566 esta disposición podría facilitar la legibilidad del código, pero si
567 hay muchas notas en cada compás podría ser mejor dividirlo en dos
568 voces separadas, de la siguiente manera:
570 @lilypond[quote,verbatim,fragment,ragged-right,relative=2] \key d
571 \minor << { % Voice "1" r4 g g4. a8 | bes4 bes c bes | a2. r4 | } \\ {
572 % Voice "2" d,2 d4 g | g4 g g8( a) g4 | fis2. s4 | } >>
576 Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
577 usar para codificar tres o más voces mediante la adición de maś
578 separadores de barra invertida.
580 Los contextos de voz llevan los nombres de @code{"1"}, @code{"2"},
581 etc. En cada uno de estos contextos, la dirección vertical de las
582 ligaduras, plicas, matices dinámicos, etc., se ajusta de la forma
585 @lilypond[quote,verbatim,fragment]
586 \new Staff \relative c' {
589 % Voice "1" Voice "2" Voice "3"
590 << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
591 << { d2 e2 } \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
595 Todas estas voces están separadas de la voz principal que contiene las
596 notas justo por fuera de la construcción @code{<< .. >>}. Le
597 llamaremos a esto la @emph{construcción simultánea}. Las ligaduras
598 (de prolongación y de expresión) solamente pueden conectar notas que
599 estén dentro de la misma voz, luego las ligaduras no pueden entrar o
600 salir de una construcción simultánea. A la inversa, las voces
601 paraleleas de construcciones simultáneas distintas sobre el mismo
602 pentagrama, son la misma voz. Otras propiedades relativas a las voces
603 también conllevan construcciones simultáneas. A continuación vemos el
604 mismo ejemplo, con colores y cabezas distintos para cada voz. Observe
605 que los cambios en una voz no afectan a otras voces, pero persisten
606 más tarde dentro de la misma voz. Observe tambiénn que las notas
607 ligadas se pueden dividir entre las mismas voces de dos
608 construcciones, como se indica aquí en la voz de triángulos azules.
610 @lilypond[quote,verbatim]
611 \new Staff \relative c' {
630 { c8 b16 a b8 g ~ g2 }
640 Las instrucciones @code{\voiceXXXStyle} están pensadas principalmente
641 para usarlas en documentos educativos como este mismo. Modifican el
642 color de la cabeza, la plica y las barras, y el estilo de la cabeza,
643 de forma que las voces se puedan distinguir fácilmente. La voz uno
644 está establecida a rombos rojos, la voz dos a triángulos azules, la
645 voz tres a círculos verdes con aspas, y la voz cuatro (que no se
646 utiliza aquí) a aspas color magenta. Veremos más adelante cómo el
647 usuario puede crear instrucciones como éstas. Véase @ref{Visibility
648 and color of objects}.
650 La polifonía no cambia la relación de las notas dentro de un bloque
651 @code{\relative @{ @}}. La altura de cada nota aún se calcula con
652 relación a la nota que le precede inmediatamente, o a la primera nota
653 del acrode precedente. Así, en
656 \relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @}
660 @code{notaB} es relativa a @code{notaA} @*
661 @code{notaC} es relativa a @code{notaB}, no a @code{notaA}; @*
662 @code{notaD} es relativa a @code{notaB}, no a @code{notaA} ni a
664 @code{notaE} es relativa a @code{notaD}, no a @code{notaA}
666 Una forma alternativa, que podría ser más clara si las notas en las
667 voces están muy separadas, es colocar una instrucción @code{\relative}
668 al principio de cada voz:
671 \relative c' @{ notaA ... @}
673 \relative c'' @{ < notaB notaC > ... @}
675 \relative g' @{ notaD ... @}
677 \relative c' @{ notaE ... @}
680 Finalmente, analicemos las voces en una pieza de música más compleja.
681 He aquí las notas de los dos primeros compases del segundo de los Dos
682 Nocturnos de Chopin, Op 32. Este ejemplo se utilizará en fases
683 posteriores dentro del presente capítulo y el siguiente, para ilustrar
684 varias técnicas para producir notación, y por tanto le pedimos que
685 ignore por ahora cualquier cosa en el código subyacente que le parezca
686 misteriorso y tan sólo se concentre en la música y las voces (todas
687 las complicaciones se explicarán en secciones posteriores).
689 @c The following should appear as music without code
690 @lilypond[quote,ragged-right]
691 \new Staff \relative c'' {
700 % Ignore these for now - they are explained in Ch 4
701 \once \override NoteColumn #'force-hshift = #0
703 \once \override NoteColumn #'force-hshift = #0.5
711 Con frecuencia, la dirección de las plicas se utiiliza para indicar la
712 continuidad de dos líneas melódicas simultáneas. Aquí, todas las
713 plicas de las notas agudas se dirigen hacia arriba y las de las notas
714 graves hacia abajo. Ésta es la primera indicación de que se requiere
717 Pero la necesidad real de varias voces aflora cuando hay notas que
718 comienzan en el mismo tiempo pero tienen distintas duraciones.
719 Observe las notas que comienzan en la tercera parte del primer compás.
720 El La bemol es una negra con puntillo, el Fa es una negra y el Re
721 bemol es una blanca. Estas notas nos e pueden escribir como un acorde
722 porque todas las ntoas de un acorde deben tener la misma duración.
723 Tampoco se pueden escribir como notas secuenciales, pues deben
724 comenzar al mismo tiempo. Esta sección del compás requiere tres
725 voces, y la práctica común sería escribir todo el compás como tres
726 voces como se muestra abajo, donde hemos usado distintas cabezas y
727 colores para las tres voces. Una vez más, el código que subyace a
728 este ejemplo se explicará más tarde, así pues ignore todo lo que no
731 @c The following should appear as music without code
732 @c The three voice styles should be defined in -init
733 @lilypond[quote,ragged-right]
734 \new Staff \relative c'' {
745 \\ % No Voice three (we want stems down)
748 % Ignore these for now - they are explained in Ch 4
749 \once \override NoteColumn #'force-hshift = #0
751 \once \override NoteColumn #'force-hshift = #0.5
760 Vamos a intentar codificar esta música partiendo de cero. Como
761 veremos, esto se topa con ciertas dificultades. Comenzamos tal y como
762 hemos aprendido, usando la construcción @code{<< \\ >>} para
763 introducir la música del primer compás en tres voces:
765 @lilypond[quote,verbatim,fragment,ragged-right]
766 \new Staff \relative c'' {
769 { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
778 Las direcciones de las plicas se asignan automáticamente de forma que
779 las voces de numeración impar reciben las plicas hacia arriba y las de
780 numeración par hacia abajo. Las plicas de las voces 1 y 2 están
781 correctas, pero las plicas de la voz 3 debería ir hacia abajo en este
782 fragmentoo en particular. Podemos corregir esto simplemente
783 olvidándonos de la voz tres y situando la música en la voz cuatro:
785 @lilypond[quote,verbatim,fragment,ragged-right]
786 \new Staff \relative c'' {
792 \\ % Omit Voice three
801 Vemos que esto arregla la dirección de la plica, pero presenta un
802 problema que se encuentra a veces con varias voces: las plicas de las
803 notas en una voz pueden colisionar con las cabezas de otras voces. Al
804 disponer las notas, LilyPond permite que las notas o acordes de dos
805 voces ocupen la misma columna vertical de notas teniendo en cuenta que
806 las plicas están en direcciones opuestas, pero las notas de la tercera
807 y cuarta voces se desplazan si es necesario para evitar la colisión
808 entre las cabezas. Esto funciona bien por lo general, pero en este
809 ejemplo claramente las notas de la voz inferior no están bien
810 colocadas de forma predeterminada. LilyPond proporciona diversas
811 maneras de ajustar la colocación horizontal de las notas. Aún no
812 estamos preparados para ver cómo corregir esto, así que dejaremos este
813 problema aparcado hasta una sección posterior (véase la propiedad
814 force-hshift en @ref{Fixing overlapping notation} )
816 @node Explicitly instantiating voices
817 @subsection Explicitly instantiating voices
819 UNTRANSLATED NODE: IGNORE ME
821 @node Voices and vocals
822 @subsection Voices and vocals
824 UNTRANSLATED NODE: IGNORE ME
826 @node Contexts and engravers
827 @section Contexts and engravers
829 UNTRANSLATED NODE: IGNORE ME
832 * Contexts explained::
833 * Creating contexts::
834 * Engravers explained::
835 * Modifying context properties::
836 * Adding and removing engravers::
838 @node Contexts explained
839 @subsection Contexts explained
841 Cuando se imprime la música, se tienen que añadir a la salida una gran cantidad de elementos
842 notacionales. Por ejemplo, compare la entrada y la salida del siguiente ejemplo:
844 @lilypond[quote,verbatim,relative=2,fragment]
848 La entrada es bastante escueta, pero en la salida se añaden líneas divisorias, alteraciones accidentales,
849 la clave y la indicación de compás. LilyPond @emph{interpreta} la
850 entrada. En esta fase se inspecciona la información musical en orden temporal,
851 de forma parecida a la lectura de una partitura de izquierda a derecha. Mientras se lee
852 la entrada, el programa recuerda dónde se encuentran los límites de los compases, y qué notas
853 requieren alteraciones explícitas. Esta información se puede presentar sobre varios
854 niveles. Por ejemplo, el efecto de una alteración accidental se encuentra limitada
855 a un solo pentagrama, mientras que una barra divisoria debe estar sincronizada a través
856 de la partitura de arriba a abajo.
858 Dentro de LilyPond, estas reglas y pequeñas porciones de información se agrupan en
859 @emph{Contexts}. Algunos ejemplos de contextos son @code{Voice} (Voz),
860 @code{Staff} (Pauta o pentagrama) y @code{Score} (Partitura). Los contextos son jerárquicos, por
861 ejemplo: un @code{Staff} contener muchas @code{Voice}s, y una
862 @code{Score} puede contener muchos contextos de @code{Staff}.
865 @sourceimage{context-example,5cm,,}
868 Cada contexto asume la responsabilidad de imponer algunas reglas de notación,
869 creando ciertos objetos de notación y manteniendo las propiedades
870 asociadas. Por ejemplo, el contexto @code{Voice} puede introducir una alteración
871 accidental y entonces el contexto @code{Staff} mantiene la regla de mostrar o
872 suprimir la alteración para el resto del compás. La
873 sincronización de las líneas divisorias se gestiona dentro del contexto de la partitura, @code{Score}.
875 Sin embargo, en algunas músicas posiblemente no queramos que las líneas divisorias estén
876 sincronizada (pensemos en una partitura polimétrica en compases de 4/4 y de 3/4). En tales casos,
877 debemos modificar los ajustes por omisión de los contextos @code{Score}
880 Para partituras muy sencillas, los contextos se crean implícitamente y no debemos
881 preocuparnos por ellos. Para piezas mayores, como por ejemplo cualquiera que tenga más de un pentagrama,
882 los contextos se deben crear explícitamente para asegurarnos
883 de que tendremos la cantidad exacta de pentagramas que necesitamos,
884 y que están en el orden correcto. Para tipografiar piezas
885 con notación especializada, puede ser útil modificar contextos existentes
886 o definir unos nuevos.
889 En la referencia del programa se encuentra una descripción completa de todos los contextos que están disponibles,
892 @internalsref{Contexts}.
895 Traducción @expansion{} Contexto.
898 @c [TODO: describe propagation]
900 @node Creating contexts
901 @subsection Creating contexts
903 Sólo puede haber un contexto en el nivel más alto: el contexto de
904 partitura @code{Score}. Se crea con la instrucción @code{\score} o,
905 en partituras sencillas, se crea automáticamente.
907 Para partituras que solamente tienen una voz y un pentagrama, podemos
908 dejar que los contextos @code{Voice} y @code{Staff} se creen
909 automáticamente, pero para partituras más complejas es necesario
910 crearlos a mano. La instrucción más simple que hace esto es
911 @code{\new}. Se antepone a una expresión musical, por ejemplo
914 @cindex contextos nuevos
915 @cindex nuevo, contexto
918 \new @var{tipo} @var{expresión_musical}
922 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
923 @code{Voice}). Esta instrucción crea un contexto nuevo, y comienza a
924 interpretar la @var{expresión_musical} que está dentro de ese
927 Observe que no hay ninguna instrucción @code{\new Score}; el contexto
928 @code{Score} único en el nivel más alto se introduce con
931 La instrucción @code{\new} también puede otorgar un nombre
932 identificativo al contexto para distinguirlo de otros contextos del
936 \new @var{tipo} = @var{identificador} @var{expresión_musical}
939 Observe la distinción entre el nombre del tipo de contexto,
940 @code{Staff}, @code{Voice}, etc., y el nombre identificativo de una
941 instancia en particular de ese tipo, que puede ser cualquier secuencia
942 de letras inventada por el usuario. El nombre identificativo se
943 utiliza para referirnos más tarde a esa instancia en particular de un
944 contexto. Hemos visto esto en la sección acerca de la letra, en
945 @ref{Voices and vocals}.
947 @node Engravers explained
948 @subsection Engravers explained
952 Todas y cada una de las marcas de la salida impresa de una partitura
953 hecha con LiilyPond está producida por un @code{Engraver} (grabador).
954 Así, tenemos un grabador para imprimir pentagramas, otro para imprimir
955 las cabezas de las notas, otro para las plicas, otro para las barras,
956 etc, etc. ¡En total hay más de 120 grabadores! Afortunadamente, para
957 la mayor parte de las partituras no es necesario conocer más que
958 algunos, y para partituras sencillas no tenemos que saber nada de
961 Los grabadores residen y operan dentro de Contextos. Los grabadores
962 como el grabador de la indicación metronómica,
963 @code{Metronome_mark_engraver}, cuya acción y resultado se aplica a la
964 partitura como un todo, operan en el contexto del nivel más alto: el
965 contexto de partitura @code{Score}.
967 El grabador de la clave @code{Clef_engraver} y el de la armadura
968 @code{Key_engraver} se encuentran probablemente en todos los contextos
969 de pentagrama (Staff), pues los distintos pentagramas podrían requerir
970 diferentes claves y armaduras.
972 El grabador de las cabezas de nota @code{Note_heads_engraver} y el de
973 las plicas @code{Stem_engraver} viven en cada uno de los contextos de
974 voz @code{Voice}, el contexto de nivel más bajo de todos.
976 Cada grabador procesa los objetos particulares asociados con su
977 función, y mantiene las propiedades que están relacionadas con dicha
978 función. Estas propiedades, como las que están asociadas con los
979 contextos, se pueden modificar para cambiar el funcionamiento del
980 grabador o el aspecto de esos elementos en la partitura impresa.
982 Todos los grabadores tienen nombres compuestos de varias palabras que
983 describen su función. Sólo está en mayúsculas la inicial de la
984 primera palabra, y el resto se le une mediante guiones bajos. Así, el
985 grabador @code{Staff_symbol_engraver} es responsable de la creación de
986 las líneas del pentagrama, y el @code{Clef_engraver} determina y
987 establece la altura o el punto de referencia sobre el pentagrama
988 dibujando un símbolo de clave.
990 A continuación presentamos algunos de los grabadores más comunes,
991 junto a su función. Podrá comprobar que es fácil adivinar la función
992 a partir del nombre (en inglés), y viceversa.
994 @multitable @columnfractions .3 .7
997 @item Accidental_engraver
998 @tab Hace las alteraciones accidentales, de precaución y de sugerencia.
1000 @tab Graba las barras
1002 @tab Graba las claves
1003 @item Dynamic_engraver
1004 @tab Crea reguladores e indicaciones dinámicas textuales
1006 @tab Crea la armadura de la tonalidad
1007 @item Metronome_mark_engraver
1008 @tab Graba la indicación metronómica
1009 @item Note_heads_engraver
1010 @tab Graba la cabeza de las notas
1012 @tab Graba los silencios
1013 @item Staff_symbol_engraver
1014 @tab Graba las cinco líneas (de forma predeterminada) del pentagrama
1016 @tab Crea las plicas y los trémolos de una sola plica
1017 @item Time_signature_engraver
1018 @tab Crea las indicaciones de compás
1023 Más adelante veremos cómo la salida de LilyPond se puede cambiar
1024 mediante la modificación del funcionamiento de los Grabadores.
1027 @node Modifying context properties
1028 @subsection Modifying context properties
1030 @cindex contexto, propiedades de
1034 Los contextos se responsabilizan de mantener los valores de un cierto
1035 número de @emph{properties} de contexto. Muchas de ellas se pueden
1036 cambiar para influir en la interpretación del código de entrada y
1037 cambiar así la apariencia de la salida impresa. Se modifican mediante
1038 la instrucción @code{\set}. Esta instrucción toma la forma siguiente:
1041 \set @emph{NombreDelContexto}.@emph{nombreDeLaPropiedad} = #@emph{valor}
1044 Donde el @emph{NombreDelContexto} es normalmente @code{Score},
1045 @code{Staff} o @code{Voice}. Se puede omitir, en cuyo caso se supone
1046 que es @code{Voice}.
1048 Los nombres de las propiedades de contexto consisten en palabras
1049 unidas sin ningún guión o barra baja, y donde todas las palabras
1050 excepto la primera empiezan en mayúscula. A continuación podemos ver
1051 algunos ejemplos de nombres de propiedades utilizadas con frecuencia.
1052 Hay muchas más que las que se muestran aquí.
1054 @c attempt to force this onto a new page
1056 @multitable @columnfractions .25 .15 .45 .15
1057 @headitem nombreDeLaPropiedad
1060 @tab Valor de ejemplo
1063 @tab Se es verdadero, poner becuadros adicionales antes de las alteraciones
1064 @tab @code{#t}, @code{#f}
1065 @item currentBarNumber
1067 @tab Ajustar el número del compás actual
1071 @tab Si es verdadero, imprimir ligaduras de expresión por encima y por debajo de las notas
1072 @tab @code{#t}, @code{#f}
1073 @item instrumentName
1075 @tab Establecer el nombre del pentagrama, situado a la izquierda
1076 @tab @code{"Cello I"}
1079 @tab Aumentar o disminuir el tamaño de la fuente tipográfica
1083 @tab Establecer el texto que se imprime antes del comienzo de una estrofa
1088 donde un valor Booleano es verdadero (@code{#t}, True) o falso
1089 (@code{#f}, False), un Entero es un número entero positivo, un número
1090 Real es un número decimal positivo o negativo, y el texto se encierra
1091 entre comillas dobles. Observe la aparición de signos de cuadradillo,
1092 (@code{#}), en dos lugares diferentes: como parte del valor Booleano
1093 antes de la @code{t} o la @code{f}, y antes del @emph{valor} dentro de
1094 la sentencia @code{\set}. Así pues, cuando se está escribiendo un
1095 valor Booleano, hay que escribir dos signos de cuadradillo, por
1096 ejemplo: @code{##t}.
1098 Antes de poder establecer cualquiera de estas propiedades, tenemos que
1099 saber en qué contexto operan. A veces es algo obvio, pero en
1100 ocasiones puede ser algo enrevesado. Si especificamos un contexto
1101 equivocado, no se produce ningún mensaje de error, pero el
1102 funcionamiento esperado no tendrá lugar. Por ejemplo, la propiedad
1103 @code{instrumentName} (nombre del instrumento) vive claramente dentro
1104 del contexto de Staff, puesto que es el pentagrama el que debe ser
1105 nombrado. En este ejemplo, el primer pentagrama resulta etiquetado,
1106 pero no el segundo, porque hemos omitido el nombre del contexto.
1108 @lilypond[quote,verbatim,ragged-right]
1110 \new Staff \relative c'' {
1111 \set Staff.instrumentName = #"Soprano"
1114 \new Staff \relative c' {
1115 \set instrumentName = #"Alto" % Wrong!
1121 Recuerde que el nombre del contexto predeterminado es Voice, así que
1122 la segunda instrucción @code{\set} establece la propiedad
1123 @code{instrumentName} del contexto Voice a @qq{Alto}, pero como
1124 LilyPond no busca esta propiedad en el contexto @code{Voice}, no se
1125 realiza ninguna acción. Esto no es un error, y no se registra ningún
1126 mensaje en el archivo de errores Log.
1128 De forma parecida, si el nombre de la propiedad se escribe con alguna
1129 falta, no se produce ningún mensaje de error, y claramente la acción
1130 esperada no puede tener lugar. De hecho, se puede establecer
1131 cualquier @q{property} (ficticia) usando cualquier nombre que queramos
1132 en cualquier contexto que exista, mediante el uso de la instrucción
1133 @code{\set}. Pero si el nombre no es conocido para LilyPond, no
1134 producirá ninguna acción. Esta es una de las razones por las que es
1135 muy recomendable ussar un editor que sea sensible al contexto y con
1136 resaltado de la sintaxis para la edición de archivos de LilyPond, como
1137 por ejemplo Vim, Jedit, ConTEXT o Emacs, ya que los nombres de
1138 propiedades desconocidas se resaltarán de forma distinta.
1140 La propiedad @code{instrumentName} tendrá efecto solamente si se
1141 establece dentro del contexto @code{Staff}, pero algunas propiedades
1142 se pueden establecer en más de un contexto. Por ejemplo, la propiedad
1143 @code{extraNatural} está establecida por defecto al valor ##t
1144 (verdadero) para todos los pentagramas. Si se establece a ##f (falso)
1145 en un contexto de @code{Staff} determinado, se aplicará solamente a
1146 las alteraciones de ese pentagrama. Si se establece a falso en el
1147 contexto de la partitura, @code{Score}, se aplicará a todos los
1150 Así, esto desactivará los becuadros adicionales en un pentagrama:
1152 @lilypond[quote,verbatim,ragged-right]
1154 \new Staff \relative c'' {
1157 \new Staff \relative c'' {
1158 \set Staff.extraNatural = ##f
1165 y esto los desactivará en todos los pentagramas:
1167 @lilypond[quote,verbatim,ragged-right]
1169 \new Staff \relative c'' {
1172 \new Staff \relative c'' {
1173 \set Score.extraNatural = ##f
1179 El valor de cada propiedad establecido de esta forma se puede devolver
1180 a su valor original con la instrucción @code{\unset}.
1182 Las instrucciones @code{\set} y @code{\unset} pueden aparecer en
1183 cualquier lugar del archivo de entrada y tendrán efecto a partir del
1184 tiempo en que se encuentran y hasta el final de la partitura o hasta
1185 que la propiedad se establezca de nuevo mediante @code{\set} o
1186 @code{\unset}. Probemos a modificar el tamaño de la fuente
1187 tipográfica, lo que afecta al tamaño de las cabezas de las notas
1188 (entre otras cosas) varias veces. El cambio se toma a partir del
1189 valor predeterminado, no el valor en curso.
1191 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
1193 % make note heads smaller
1196 % make note heads larger
1197 \set fontSize = #2.5
1199 % return to original size
1204 Hemos podido ver cómo establecer los valores de diversos tipos de
1205 propiedad diferentes. Observe que los números enteros y reales van
1206 siempre precedidos de un símbolo de cuadradillo, @code{#}, mientras
1207 que un valor booleano verdadero o falso se especifica mediante ##t y
1208 ##f, con dos cuadradillos. Una propiedad de texto se debe encerrar
1209 entre comillas dobles, como antes, aunque veremos más adelante que el
1210 texto realmente se peude especificar de una dorma mucho más general
1211 utilizando la potentísima instrucción @code{markup}.
1216 Las propiedades de contexto también se pueden establecer en el momento
1217 en que se crea el contexto. A veces esta forma de establecer el valor
1218 de una propiedad es mucho más clara, si ha de quedar fijo durante todo
1219 el tiempo que dure el contexto. Cuando se crea un contexto con una
1220 instrucción @code{\new} puede ir inmediatamente seguido de un bloque
1221 @code{\with @{ .. @}} en el que se establecen los valores de las
1222 propiedades. Por ejemplo, si queremos suprimir la impresión de
1223 becuadros adicionales para toda la duración de un pentagrama, podemos
1227 \new Staff \with @{ extraNatural = ##f @}
1231 de la siguiente forma:
1233 @lilypond[quote,verbatim,ragged-right]
1239 \new Staff \with { extraNatural = ##f }
1246 Efectivamente, esto sobreescribe el valor predeterminado de la
1247 propiedad. Aún se puede modificar dinámicamente utilizando
1248 @code{\set} y devolverlo a su (nuevo) valor predeterminado con
1251 @node Adding and removing engravers
1252 @subsection Adding and removing engravers
1254 @cindex Grabadores, adición
1255 @cindex Grabadores, eliminación
1260 Hemos visto que cada uno de los contextos contiene varios grabadores,
1261 cada uno de los cuales a su vez es responsable de la producción de una
1262 fracción particular del resultado impreso, como líneas divisorias,
1263 pentagramas, cabezas, plicas, etc. Si un grabador es eliminado de un
1264 contexto, ya no podrá producir su salida impresa. Es una forma algo
1265 radical de modificar la salida, pero a veces puede ser útil.
1267 @subsubheading Changing a single context
1269 Para eliminar un grabador de un contexto único, usamos la instrucción
1270 @code{\with} situada inmediatamente después de la instrucción que crea
1271 el contexto, como en la sección anterior.
1273 Como ilustración, repitamos un ejemplo extraído de la sección anterior
1274 con las líneas del pentagrama eliminadas. Recuerde que las líneas del
1275 pentagrama están dibujadas por el grabador Staff_symbol_engraver.
1277 @lilypond[quote,verbatim,ragged-right]
1279 \remove Staff_symbol_engraver
1283 \set fontSize = #-4 % make note heads smaller
1285 \set fontSize = #2.5 % make note heads larger
1287 \unset fontSize % return to original size
1292 @cindex ámbito, grabador del
1294 Los grabadores también se pueden añadir a los contextos individuales
1295 La instrucción que lo hace es
1297 @code{\consists @emph{Nombre_del_grabador}},
1299 situada dentro de un bloque @code{\with}. Ciertas partituras vocales
1300 tienen una indicación de @rglos{ambitus} situada al principio del
1301 pentagrama para indicar el ámbito de notas en dicho pentagrama. El
1302 ambitus se produce por parte del grabador @code{Ambitus_engraver}, que
1303 normalmente no está incluido en ningún contexto. Si lo añadimos al
1304 contexto @code{Voice}, calcula el rango a partir de esa única voz:
1306 @lilypond[quote,verbatim,ragged-right]
1309 \consists Ambitus_engraver
1324 pero si añadimos el grabador de Ambitus al contexto de @code{Staff},
1325 calcula el rango a partir de todas las notas en todas las voces de ese
1328 @lilypond[quote,verbatim,ragged-right]
1330 \consists Ambitus_engraver
1346 @subsubheading Changing all contexts of the same type
1348 Los ejemplos anteriores muestran la manera de eliminar o añadir
1349 grabadores a los contextos individuales. También es posible eliminar
1350 o añadir grabadores a todos los contextos de un tipo específico,
1351 situando las instrucciones en el contexto correspondiente dentro de un
1352 bloque @code{\layout}. Por ejemplo, si queremos mostrar los rangos de
1353 tesitura para todos los pentagramas de una partitura de cuatro pautas,
1356 @lilypond[quote,verbatim,ragged-right]
1360 \relative c'' { c a b g }
1363 \relative c' { c a b g }
1367 \relative c' { c a b g }
1371 \relative c { c a b g }
1377 \consists Ambitus_engraver
1384 Los valores predeterminados de las propiedades de los contextos
1385 también se pueden establecer para todos los contextos de un tipo en
1386 particular incluyendo la instrucción @code{\set} dentro de un bloque
1387 @code{\context} de la misma forma.
1389 @node Extending the templates
1390 @section Extending the templates
1392 Ha leído el tutorial y ahora sabe escribir música. Pero ¿cómo puede
1393 poner los pentagramas que quiere? Las plantillas están muy bien, pero
1394 ¿qué ocurre si quiere algo que no está en una de ellas? Bien, puede
1395 encontrar montañas de plantillas (véase @ref{Templates}) que le pueden
1396 servir como punto de partida. Pero ¿y si quiere algo que no está
1397 contemplado aquí? Continúe leyendo.
1401 * Soprano and cello::
1402 * Four-part SATB vocal score::
1403 * Building a score from scratch::
1406 @node Soprano and cello
1407 @subsection Soprano and cello
1410 Para empezar, tome la plantilla que le parezca más parecida a aquello
1411 que quiere conseguir. Digamos que quiere escribir algo para soprano y
1412 cello. En este caso comenzaríamos con la plantilla @q{Notas y letra}
1413 (para la parte de soprano).
1416 \version @w{"@version{}"}
1417 melodia = \relative c' @{
1424 texto = \lyricmode @{
1430 \new Voice = "uno" @{
1434 \new Lyrics \lyricsto "uno" \texto
1441 Ahora queremos añadir una parte de violoncello. Veamos el ejemplo
1445 \version @w{"@version{}"}
1446 melodia = \relative c' @{
1460 No necesitamos dos comandos @code{\version}. Vamos a necesitar la
1461 sección @code{melodia}. No queremos dos secciones @code{\score} (si
1462 tuviésemos dos @code{\score}s, acabaríamos con las dos particellas por
1463 separado. Queremos las dos juntas, como un dúo. Dentro de la sección
1464 @code{\score}, no nos hacen falta dos @code{\layout} ni dos
1467 Si nos limitásemos a copiar y pegar la sección @code{melodia},
1468 acabaríamos con dos secciones @code{melodia} separadas, así que vamos
1469 a cambiarles el nombre. Llamaremos @code{musicaSoprano} a la sección
1470 de la soprano y @code{musicaCello} a la sección del violoncello. Al
1471 mismo tiempo cambiaremos el nombre de @code{texto} a
1472 @code{letraSoprano}. Recuerde cambiar el nombre a las dos apariciones
1473 de todos estos nombres -- tanto la definición inicial (la parte
1474 @code{melodia = relative c' @{ }) -- como el uso de ese nombre (en la
1475 sección @code{\score}).
1477 También aprovecharemos para cambiar el pentagrama de la parte del
1478 cello (los violoncellos se escriben normalmente en clave de Fa).
1479 Asimismo, cambiaremos algunas notas del cello.
1482 \version @w{"@version{}"}
1483 musicaSoprano = \relative c' @{
1490 letraSoprano = \lyricmode @{
1494 musicaCello = \relative c @{
1504 \new Voice = "uno" @{
1508 \new Lyrics \lyricsto "uno" \letraSoprano
1515 Esto tiene una apariencia prometedora, pero la parte del cello no sale
1516 en la partitura (no la hemos puesto en la sección @code{\score}). Si
1517 queremos que la parte del cello aparezca debajo de la de soprano,
1521 \new Staff \musicaCello
1525 justo debajo de todo lo de la soprano. También tenemos que poner
1526 @code{<<} y @code{>>} antes y después de la música -- lo que indica a
1527 LilyPond que hay más de una cosa (en este caso, @code{Staff})
1528 sucediendo al mismo tiempo -- . La @code{\score} se parecerá ahora a
1535 \new Voice = "uno" @{
1539 \new Lyrics \lyricsto "uno" \letraSoprano
1541 \new Staff \musicaCello
1549 Esto parece un poco enrevesado; los márgenes están descuadrados. Esto
1550 tiene fácil solución. Presentamos aquí la plantilla completa para
1553 @lilypond[quote,verbatim,ragged-right]
1555 sopranoMusic = \relative c' {
1563 sopranoLyrics = \lyricmode {
1567 celloMusic = \relative c {
1578 \new Voice = "one" {
1582 \new Lyrics \lyricsto "one" \sopranoLyrics
1584 \new Staff \celloMusic
1591 @node Four-part SATB vocal score
1592 @subsection Four-part SATB vocal score
1594 La mayor parte de las partituras vocales escritas para coro mixto a
1595 cuatro voces con acompañamiento orquestal, como el «Elías» de
1596 Mendelssohn o el «Mesías» de Haendel, tienen la música coral y la
1597 letra en cuatro pentagramas para S, A, T y B, respectivamente, con una
1598 reducción de piano del acompañamiento de orquesta, por debajo. He aquí
1599 un ejemplo del «Mesías» de Haendel:
1601 @c The following should appear as music without code
1602 @lilypond[quote,ragged-right]
1603 global = { \key d \major \time 4/4 }
1604 sopMusic = \relative c'' {
1606 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
1608 sopWords = \lyricmode {
1609 Wor -- thy is the lamb that was slain
1611 altoMusic = \relative a' {
1613 r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
1615 altoWords = \sopWords
1616 tenorMusic = \relative c' {
1618 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
1620 tenorWords = \sopWords
1621 bassMusic = \relative c' {
1623 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
1625 bassWords = \sopWords
1626 upper = \relative a' {
1629 r4 <a d fis>2 <a e' a>4 |
1630 <d fis d'>4. <d fis d'>8 <a d a'>2 |
1631 <g cis g'>4 <a d fis> <a cis e>2 |
1633 lower = \relative c, {
1636 <d d'>4 <d d'>2 <cis cis'>4 |
1637 <b b'>4. <b' b'>8 <fis fis'>2 |
1638 <e e'>4 <d d'> <a' a'>2 |
1642 << % combine ChoirStaff and PianoStaff in parallel
1644 \new Staff = "sopranos" <<
1645 \set Staff.instrumentName = "Soprano"
1646 \new Voice = "sopranos" { \global \sopMusic }
1648 \new Lyrics \lyricsto "sopranos" { \sopWords }
1649 \new Staff = "altos" <<
1650 \set Staff.instrumentName = "Alto"
1651 \new Voice = "altos" { \global \altoMusic }
1653 \new Lyrics \lyricsto "altos" { \altoWords }
1654 \new Staff = "tenors" <<
1655 \set Staff.instrumentName = "Tenor"
1656 \new Voice = "tenors" { \global \tenorMusic }
1658 \new Lyrics \lyricsto "tenors" { \tenorWords }
1659 \new Staff = "basses" <<
1660 \set Staff.instrumentName = "Bass"
1661 \new Voice = "basses" { \global \bassMusic }
1663 \new Lyrics \lyricsto "basses" { \bassWords }
1667 \set PianoStaff.instrumentName = "Piano "
1668 \new Staff = "upper" \upper
1669 \new Staff = "lower" \lower
1675 Ninguna de las plantillas proporciona esta disposición con exactitud.
1676 La más parecida es @q{partitura vocal SATB y reducción de piano
1677 automática}, pero necesitamos cambiar la disposición y añadir un
1678 acompañamiento de piano que no esté derviado automáticamente de las
1679 partes vocales. Las variables que contienen la música y la letra de
1680 las partes vocales es adecuada, pero tendremos que añadir variables
1681 para la reducción de piano.
1683 El orden en que aparecen los contextos en el ChoirStaff de la
1684 plantilla no se corresponde con el orden de la partitura vocal que
1685 hemos mostrado más arriba. Tenemos que reordenarlas para que haya
1686 cuatro pentagramas con la letra escrita directamente bajo las notas de
1687 cada parte. Todas las voces deben ser @code{\voiceOne}, que es la
1688 predeterminada, para que las instrucciones @code{\voiceXXX} se puedan
1689 eliminar. También tenemos que especificar la clave de tenor (clave de
1690 sol octava baja) en las partes de tenor. Aún no hemos encontrado la
1691 forma en que la letra se especifica en la plantilla, así que tenemos
1692 que utilizar el método que nos resulta familiar. También tenemos que
1693 escribir los nombres de cada pentagrama.
1695 Al hacerlo así obtenemos el ChoirStaff siguiente:
1699 \new Staff = "sopranos" <<
1700 \set Staff.instrumentName = "Soprano"
1701 \new Voice = "sopranos" @{ \global \musicaSoprano @}
1703 \new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
1704 \new Staff = "altos" <<
1705 \set Staff.instrumentName = "Alto"
1706 \new Voice = "altos" @{ \global \musicaAlto @}
1708 \new Lyrics \lyricsto "altos" @{ \letraAlto @}
1709 \new Staff = "tenores" <<
1710 \set Staff.instrumentName = "Tenor"
1711 \new Voice = "tenores" @{ \global \musicaTenor @}
1713 \new Lyrics \lyricsto "tenors" @{ \letraTenor @}
1714 \new Staff = "bajos" <<
1715 \set Staff.instrumentName = "Bass"
1716 \new Voice = "bajos" @{ \global \musicaBajo @}
1718 \new Lyrics \lyricsto "basses" @{ \letraBajo @}
1719 >> % fin del ChoirStaff
1722 A continuación debemos trabajar sobre la parte de piano. Es fácil:
1723 tan sólo hay que sacar la parte de piano de la plantilla de @q{Piano
1728 \set PianoStaff.instrumentName = "Piano "
1729 \new Staff = "superior" \superior
1730 \new Staff = "inferior" \inferior
1734 y escribir las definiciones de variable para @code{superior} e
1737 Los grupos ChoirStaff y PianoStaff se deben combinar utilizando
1738 ángulos dobles, ya queremos apilarlos unos sobre otros:
1741 << % combinar los grupos ChoirStaff y PianoStaff uno sobre el otro
1743 \new Staff = "sopranos" <<
1744 \new Voice = "sopranos" @{ \global \musicaSoprano @}
1746 \new Lyrics \lyricsto "sopranos" @{ \letraSoprano @}
1747 \new Staff = "altos" <<
1748 \new Voice = "altos" @{ \global \musicaAlto @}
1750 \new Lyrics \lyricsto "altos" @{ \letraAlto @}
1751 \new Staff = "tenores" <<
1752 \clef "G_8" % clave de tenor
1753 \new Voice = "tenores" @{ \global \musicaTenor @}
1755 \new Lyrics \lyricsto "tenores" @{ \letraTenor @}
1756 \new Staff = "bajos" <<
1758 \new Voice = "bajos" @{ \global \musicaBajo @}
1760 \new Lyrics \lyricsto "bajos" @{ \letraBajo @}
1761 >> % fin del ChoirStaff
1764 \set PianoStaff.instrumentName = "Piano "
1765 \new Staff = "upper" \upper
1766 \new Staff = "lower" \lower
1771 Al combinar todo esto junto y escribir la música de los tres compases
1772 del ejemplo anterior, obtenemos:
1774 @lilypond[quote,verbatim,ragged-right]
1776 global = { \key d \major \time 4/4 }
1777 sopMusic = \relative c'' {
1779 r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
1781 sopWords = \lyricmode {
1782 Wor -- thy is the lamb that was slain
1784 altoMusic = \relative a' {
1786 r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
1788 altoWords = \sopWords
1789 tenorMusic = \relative c' {
1791 r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
1793 tenorWords = \sopWords
1794 bassMusic = \relative c' {
1796 r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
1798 bassWords = \sopWords
1799 upper = \relative a' {
1802 r4 <a d fis>2 <a e' a>4 |
1803 <d fis d'>4. <d fis d'>8 <a d a'>2 |
1804 <g cis g'>4 <a d fis> <a cis e>2 |
1806 lower = \relative c, {
1809 <d d'>4 <d d'>2 <cis cis'>4 |
1810 <b b'>4. <b' b'>8 <fis fis'>2 |
1811 <e e'>4 <d d'> <a' a'>2 |
1815 << % combine ChoirStaff and PianoStaff in parallel
1817 \new Staff = "sopranos" <<
1818 \set Staff.instrumentName = "Soprano"
1819 \new Voice = "sopranos" { \global \sopMusic }
1821 \new Lyrics \lyricsto "sopranos" { \sopWords }
1822 \new Staff = "altos" <<
1823 \set Staff.instrumentName = "Alto"
1824 \new Voice = "altos" { \global \altoMusic }
1826 \new Lyrics \lyricsto "altos" { \altoWords }
1827 \new Staff = "tenors" <<
1828 \set Staff.instrumentName = "Tenor"
1829 \new Voice = "tenors" { \global \tenorMusic }
1831 \new Lyrics \lyricsto "tenors" { \tenorWords }
1832 \new Staff = "basses" <<
1833 \set Staff.instrumentName = "Bass"
1834 \new Voice = "basses" { \global \bassMusic }
1836 \new Lyrics \lyricsto "basses" { \bassWords }
1840 \set PianoStaff.instrumentName = "Piano "
1841 \new Staff = "upper" \upper
1842 \new Staff = "lower" \lower
1849 @node Building a score from scratch
1850 @subsection Building a score from scratch
1852 Después de adquirir algo de soltura en la escritura del código de
1853 LilyPond, se dará cuenta de que es más fácil construir completamente
1854 una partitura partiendo de cero, que modificar una plantilla. También
1855 puede desarrollar su propio estilo de forma que se adapte al tipo de
1856 música que le apetezca. Veamos a continuación cómo confeccionar una
1857 partitura para un preludio de órgano, como ejemplo.
1859 Comenzamos con una sección para el encabezamiento. Aquí es donde van
1860 el título, nombre del compositor, etc., después van las definiciones
1861 de las variables, y finalmente el bloque de partitura. Comencemos a
1862 verlas por encima y más tarde completaremos los detalles.
1864 Utilizaremos los dos primeros compases del peludio de Bach basado en
1865 @emph{Jesu, meine Freude}, que está escrito para órgano con dos
1866 manuales y pedal. Tiene estos dos compases de música al final de la
1867 sección. La parte del manual superior tiene dos voces, y el inferior
1868 y el pedal, una voz cada uno. Así pues, necesitamos cuatro
1869 definiciones para la música y una más para definir el compás y la
1873 \version @w{"@version{}"}
1875 title = "Jesu, meine Freude"
1876 composer = "J S Bach"
1878 TimeKey = @{ \time 4/4 \key c \minor @}
1879 MusicaManualUnoVozUno = @{s1@}
1880 MusicaManualUnoVozDos = @{s1@}
1881 MusicaManualDos = @{s1@}
1882 MusicaPedal = @{s1@}
1888 Por el momento hemos escrito tan sólo una nota espaciadora, @code{s1},
1889 en lugar de la música de verdad. La añadiremos más adelante.
1891 A continuación veamos qué va en el bloque de partitura.
1892 Sencillamente, reflejaremos la estructura de pentagramas que deseemos.
1893 La música de órgano se escribe por lo general en tres pentagramas, uno
1894 para cada uno de los manuales y otro para el pedal. Los pentagramas
1895 de los manuales se abarcan con una llave, así que los incluiremos en
1896 un grupo PianoStaff. La primera parte de manual tiene dos voces, y la
1901 \new Staff = "ManualUno" <<
1902 \new Voice @{ \MusicaManualUnoVozUno @}
1903 \new Voice @{ \MusicaManualUnoVozDos @}
1904 >> % fun del contexto de Staff ManualUno
1905 \new Staff = "ManualDos" <<
1906 \new Voice @{ \MusicaManualDos @}
1907 >> % fin del contexto de Staff ManualDos
1908 >> % fin del contexto de PianoStaff
1911 Después, tenemos que añadir un pentagrama para el órgano de pedal.
1912 Esto va por debajo del PianoStaff, pero debe ser simultáneo con él,
1913 por lo que escribimos dobles ángulos rodeando a los dos. Si esto se
1914 nos olvida, se producirá un error en el archivo log de registro. ¡Es
1915 un error muy común que cometerá antes o después! Intente copiar el
1916 ejemplo final que aparece al final de la sección, borre los dobles
1917 ángulos y procese el archivo para ver qué error produce.
1920 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
1922 \new Staff = "ManualUno" <<
1923 \new Voice @{ \MusicaManualUnoVozUno @}
1924 \new Voice @{ \MusicaManualUnoVozDos @}
1925 >> % fin del contexto de Staff ManualUno
1926 \new Staff = "ManualDos" <<
1927 \new Voice @{ \MusicaManualDos @}
1928 >> % fin del contexto de Staff ManualDos
1929 >> % fin del contexto de PianoStaff
1930 \new Staff = "OrganoPedal" <<
1931 \new Voice @{ \MusicaOrganoPedal @}
1936 No es estrictamente necesario utilizar la construcción simultánea
1937 @code{<< >>} para el pentagrama del manual dos y el pentagrama del
1938 órgano de pedal, ya que contienen una única expresión, pero no hace
1939 daño y es una buena costumbre utilizar siempre dobles ángulos después
1940 de @code{\new Staff} cuando hay varias voces.
1942 Añadamos esta estructura al bloque de partitura, y ajustemos el
1943 sangrado de los márgenes. También escribimos las claves
1944 correspondientes, nos aseguramos de que las plicas de la segunda voz
1945 apuntan hacia abajo mediante @code{\voiceTwo} y escribimos el compás y
1946 la tonalidad en cada uno de los pentagramas usando nuestra variable
1947 previamente definida @code{\TimeKey}.
1951 << % el grupo PianoStaff y el pentagrama de Pedal son simultáneos
1953 \new Staff = "ManualUno" <<
1954 \TimeKey % establecer compás y tonalidad
1956 \new Voice @{ \MusicaManualUnoVozUno @}
1957 \new Voice @{ \voiceTwo \MusicaManualUnoVozDos @}
1958 >> % fin del contexto de Staff ManualUno
1959 \new Staff = "ManualDos" <<
1962 \new Voice @{ \MusicaManualDos @}
1963 >> % fin del contexto de Staff ManualDos
1964 >> % fin del contexto de PianoStaff
1965 \new Staff = "OrganoPedal" <<
1968 \new Voice @{ \MusicaOrganoPedal @}
1969 >> % fin del pentagrama de OrganoPedal
1971 @} % end Score context
1974 Con esto se completa la estructura. Toda música para órgano de tres
1975 pentagramas tendrá una estructura similar, aunque el número de voces
1976 puede variar. Todo lo que nos queda es añadir la música, y combinar
1979 @lilypond[quote,verbatim,ragged-right]
1982 title = "Jesu, meine Freude"
1983 composer = "J S Bach"
1985 TimeKey = { \time 4/4 \key c \minor }
1986 ManualOneVoiceOneMusic = \relative g' {
1987 g4 g f ees | d2 c2 |
1989 ManualOneVoiceTwoMusic = \relative c' {
1990 ees16 d ees8~ ees16 f ees s c8 d~ d c~ |
1991 c c4 b8 c8. g16 c b c d |
1993 ManualTwoMusic = \relative c' {
1994 c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
1995 f ees f d g aes g f ees d e8~ ees16 f ees d |
1997 PedalOrganMusic = \relative c {
1998 r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
1999 r16 g ees f g f g8 c,2 |
2003 << % PianoStaff and Pedal Staff must be simultaneous
2005 \new Staff = "ManualOne" <<
2006 \TimeKey % set time signature and key
2008 \new Voice { \ManualOneVoiceOneMusic }
2009 \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
2010 >> % end ManualOne Staff context
2011 \new Staff = "ManualTwo" <<
2014 \new Voice { \ManualTwoMusic }
2015 >> % end ManualTwo Staff context
2016 >> % end PianoStaff context
2017 \new Staff = "PedalOrgan" <<
2020 \new Voice { \PedalOrganMusic }
2021 >> % end PedalOrgan Staff
2023 } % end Score context