]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/essay/engraving.itely
Doc-es: update Essay.
[lilypond.git] / Documentation / es / essay / engraving.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2
3 @ignore
4     Translation of GIT committish: 791d125bd2f98f1be6b7742bfedd981b5895c0c1
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.24"
12
13 @node Grabado musical
14 @chapter Grabado musical
15 @translationof Music engraving
16
17 Este ensayo describe porqué se creó LilyPond
18 y cómo puede producir partituras musicales tan bellas.
19
20 @c TODO:
21 @c remove 3mm eps bounding box left padding for Sarabande (This will
22 @c     require adding a new snippet option to lilypond-book.py
23 @c check formatting of HTML output
24
25 @menu
26 * Historia de LilyPond::
27 * Detalles del grabado::
28 * Grabado automatizado::
29 * Construcción del software::
30 * Poner a LilyPond a trabajar::
31 * Ejemplos de partituras (BWV 861)::
32 @end menu
33
34 @node Historia de LilyPond
35 @section Historia de LilyPond
36 @translationof The LilyPond story
37
38 Mucho antes de que LilyPond se hubiese utilizado para editar preciosas
39 partituras de trabajo, antes de que pudiese crear apuntes de cursos
40 universitarios o incluso melodías sencillas, antes de que tuviera una
41 comunidad de usuarios a lo largo y ancho del mundo o incluso un ensayo
42 sobre grabado musical, LilyPond comenzó con esta pregunta:
43
44 @quotation
45 ¿Por qué casi ninguna de las partituras hechas con ordenador consigue
46 la belleza y el equilibrio de una partitura grabada a mano?
47 @end quotation
48
49 @noindent
50 Algunas de las respuestas pueden descubrirse examinando cuidadosamente
51 las dos partituras que aparecen
52 @ifnottex
53 debajo.
54 @end ifnottex
55 @iftex
56 en las siguientes páginas.
57 @end iftex
58 La primera es una hermosa partitura grabada a mano en 1950 y la
59 segunda es una edición moderna hecha con ordenador.
60
61 @ifnottex
62 @quotation
63 @noindent
64 Bärenreiter BA 320, @copyright{}1950:
65
66 @sourceimage{baer-suite1-fullpage,,,png}
67 @end quotation
68
69 @quotation
70 @noindent
71 Henle núm. 666, @copyright{}2000:
72
73 @sourceimage{henle-suite1-fullpage,,,png}
74 @end quotation
75 @end ifnottex
76
77 Aquí, las notas son idénticas, y proceden de la primera suite para
78 violoncello solo de Bach, pero el aspecto es distinto, sobre todo si
79 las imprimimos en papel y las observamos desde una cierta distancia.
80 @ifnottex
81 (La versión del presente manual en PDF contiene imágenes de alta
82 resolución, adecuadas para la impresión en papel.)
83 @end ifnottex
84 Trate de leer o tocar a partir de cada una de las partituras, y se
85 dará cuenta de que la partitura grabada a mano es más agradable de
86 utilizar.  Tiene unas líneas y un movimiento que parecen fluir, y se
87 aprecia como un fragmento de música vivo y palpitante, mientras que la
88 edición más reciente parece fría y mecánica.
89
90 Es difícil apreciar inmediatamente en qué consiste la
91 diferencia entra las ediciones antigua y nueva.  En ésta todo parece
92 pulcro y ordenado, posiblemente incluso @qq{mejor} a causa de su
93 aspecto computerizado y uniforme.  De hecho, esto nos tuvo confundidos
94 durante un cierto tiempo.  Queríamos mejorar la notación por
95 ordenador, pero en primer lugar teníamos que averiguar qué era lo que
96 fallaba.
97
98 La respuesta radica en la uniformidad precisa y matemática de la
99 edición nueva.  Fíjese en la línea divisoria central de cada línea: en
100 la partitura grabada a mano, la posición de estas líneas divisorias
101 tiene una cierta variación natural, mientras que en la versión moderna
102 estas líneas están alineadas de forma casi perfecta.  Lo podemos
103 apreciar en estos diagramas simplificados de disposición de las
104 páginas, trazados a partir de la música grabada a mano (a la
105 izquierda) y la generada por ordenador (a la derecha):
106
107 @quotation
108 @iftex
109 @sourceimage{pdf/page-layout-comparison,,,}
110 @end iftex
111 @ifnottex
112 @sourceimage{page-layout-comparison,,,png}
113 @end ifnottex
114 @end quotation
115 @noindent
116
117 En el resultado producido por el ordenador, incluso las cabezas de las
118 notas individuales se alinean en columnas verticales, haciendo
119 desaparecer el contorno de la melodía en una cuadrícula rígida de
120 símbolos musicales.
121
122 Existen también otras diferencias: en la edición grabada a mano todas
123 las líneas verticales son más gruesas, las ligaduras quedan más cerca
124 de la cabeza de las notas, y hay más variedad en las inclinaciones
125 de las barras de corchea.  Aunque dichos detalles pueden parecer
126 minucias, el resultado es una partitura más fácil de leer.  En la
127 partitura de ordenador, todas las líneas son casi idénticas y si el
128 músico levanta la mirada por un momento probablemente se pierda por
129 la página.
130
131 LilyPond se diseñó para resolver los problemas que encontramos en el
132 software existente y para crear notación musical bella que emulara a
133 las mejores partituras trazadas a mano.
134
135 @iftex
136 @page
137 @noindent
138 Bärenreiter BA 320, @copyright{}1950:
139
140 @sourceimage{baer-suite1-fullpage-hires,16cm,,}
141 @page
142 @noindent
143 Henle núm. 666, @copyright{}2000:
144 @sp 3
145 @sourceimage{henle-suite1-fullpage-hires,16cm,,}
146 @page
147 @end iftex
148
149 @node Detalles del grabado
150 @section Detalles del grabado
151 @translationof Engraving details
152
153 @cindex grabado
154 @cindex tipografía musical
155 @cindex musical, tipografía
156 @cindex grabado en placas
157 @cindex grabado musical
158
159 El arte de la tipografía musical recibe el nombre de @emph{grabado (en
160 plancha)}, un término que deriva del proceso manual de la impresión
161 musical@footnote{Los impresores europeos de la antigüedad exploraron
162 diversos procesos, entre los que se incluían los bloques de madera
163 tallados a mano, los tipos móviles y planchas finas de metal grabadas.
164 La composición tipográfica tenía la ventaja de poderse corregir más
165 fácilmente y facilitar la inclusión de textos y la letra de las
166 canciones, pero sólo el grabado ofrecía la posibilidad de elaborar
167 notación libre de compromisos y limitaciones anticipadas.  Al final,
168 las partituras grabadas a mano se convirtieron en el estándar de toda
169 la música impresa, con la excepción de algunos himnarios y cancioneros
170 en los que la composición tipográfica estaba justificada por su
171 comodidad y economía, incluso bien entrado el s.XX.}.  Hace tan sólo
172 unas décadas, las partituras se hacían cortando y estampando la música
173 en una plancha de zinc o estaño en imagen invertida como en un espejo.
174 La plancha se entintaba, y las depresiones producidas por el grabado y
175 el estampado retenían la tinta.  Se formaba una imagen presionando el
176 papel contra la plancha.  El cortado y estampado se hacía
177 completamente a mano y era muy fastidioso hacer una corrección, por lo
178 que el grabado había de ser casi perfecto a la primera.  El grabado
179 era una habilidad fuertemente especializada; un artesano tenía que
180 cursar unos cinco años de entrenamiento antes de poder obtener el
181 título de maestro grabador, y se necesitaban otros cinco años para
182 adquirir una verdadera habilidad en el oficio.
183
184 @quotation
185 @iftex
186 @sourceimage{hader-slaan,,7cm,}
187 @end iftex
188 @ifnottex
189 @sourceimage{hader-slaan,,,jpg}
190 @end ifnottex
191 @end quotation
192
193 La inspiración de LilyPond proviene de los grabados manuales
194 tradicionales publicados por los editores de música europeos de y
195 hasta la primera mitad del s.XX, entre ellos Bärenreiter, Duhem,
196 Durand, Hofmeister, Peters y Schott.  En ocasiones se consideran a
197 éstos como la cima de la práctica del grabado musical tradicional.
198 Según hemos estudiado estas ediciones, hemos aprendido una gran
199 lección sobre el trabajo implícito en una partitura bien trazada, y
200 los aspectos de ella que queríamos tratar de imitar en LilyPond.
201
202 @c Now all newly printed music is produced with computers.  This has
203 @c obvious advantages: prints are cheaper to make, editorial work can be
204 @c delivered by email, and the original data can be easily stored.
205 @c Unfortunately, computer-generated scores rarely match the quality of
206 @c hand-engraved scores.  Instead, computer printouts have a bland,
207 @c mechanical look, which makes them unpleasant to play from.
208
209 @menu
210 * Fuentes tipográficas de música::
211 * Espaciado óptico::
212 * Líneas adicionales::
213 * Escalado óptico::
214 * ¿Para qué tanto esfuerzo?::
215 @end menu
216
217 @node Fuentes tipográficas de música
218 @unnumberedsubsec Fuentes tipográficas de música
219 @translationof Music fonts
220
221 Las imágenes de abajo ilustran algunas de las diferencias entre el
222 grabado musical tradicional y la típica impresión por ordenador.  La
223 imagen de la izquierda presenta un símbolo de bemol procedente de una
224 edición Bärenreiter grabada a mano, mientras que la imagen de la
225 derecha representa un símbolo procedente de una edición de la misma
226 música, publicada en el año 2000.  Aunque las dos imágenes están
227 impresas en el mismo tono de tinta, la versión antigua parece más
228 oscura: las líneas del pentagrama son más gruesas, y el bemol de
229 Bärenreiter tiene una apariencia pesada y redonda, casi voluptuosa.
230 La imagen escaneada de la derecha, en cambio, tiene líneas más finas y
231 una disposición simple con esquinas afiladas.
232
233 @multitable @columnfractions .25 .25 .25 .25
234 @item @tab
235 @ifnotinfo
236 @iftex
237 @sourceimage{baer-flat-gray,,4cm,}
238 @end iftex
239 @ifnottex
240 @sourceimage{baer-flat-gray,,,png}
241 @end ifnottex
242
243 @tab
244 @iftex
245 @sourceimage{henle-flat-gray,,4cm,}
246 @end iftex
247 @ifnottex
248 @sourceimage{henle-flat-gray,,,png}
249 @end ifnottex
250
251 @end ifnotinfo
252 @ifinfo
253 @sourceimage{henle-flat-bw,,,png}
254 @sourceimage{baer-flat-bw,,,png}
255 @sourceimage{lily-flat-bw,,,png}
256 @end ifinfo
257
258
259 @item @tab
260 Bärenreiter (1950)
261 @tab
262 Henle (2000)
263
264 @end multitable
265
266 @cindex símbolos musicales
267 @cindex fuente tipográfica
268 @cindex negrura
269 @cindex equilibrio
270
271 Cuando quisimos escribir un programa de ordenador para crear
272 tipografía musical, no existían fuentes tipográficas musicales que
273 estuviesen libremente disponibles y que igualaran la elegancia de
274 nuestras partituras favoritas. Sin desanimarnos, creamos una fuente de
275 símbolos musicales, apoyándonos en música grabada a mano muy bien
276 impresa.  La experiencia nos ayudó a desarrollar un gusto tipográfico,
277 y nos hizo apreciar los sutiles detalles del diseño.  Sin esa
278 experiencia, no nos habríamos dado cuenta de lo feas que eran las
279 fuentes que en un principio habíamos admirado.
280
281 A continuación podemos ver una muestra de dos fuentes tipográficas de
282 música: el conjunto de arriba es la fuente predeterminada del programa
283 Sibelius (la fuente @emph{Opus}), y el conjunto inferior es nuestra
284 propia fuente de LilyPond.
285
286 @quotation
287 @iftex
288 @sourceimage{pdf/OpusAndFeta,,,}
289 @end iftex
290 @ifnottex
291 @sourceimage{OpusAndFeta,,,png}
292 @end ifnottex
293 @end quotation
294
295 Los símbolos de LilyPond son más pesados y sus pesos son más
296 consistentes, lo que los hace más fáciles de leer.  Las terminaciones
297 finas, como las de los lados del silencio de negra, no deben finalizar
298 en puntas afiladas, sino de forma redonda.  esto se debe a que las
299 esquinas afiladas de los punzones de grabado son frágiles y se
300 desgastan con rapidez al estampar con ellos sobre el metal.  Si se
301 toma en su conjunto, la negrura de la fuente se debe ajustar
302 cuidadosamente en relación con el grosor de las líneas, las barras y
303 las ligaduras para dar una impresión general fuerte y pesada pero
304 equilibrada.
305
306 Observe también que la cabeza de nuestra blanca no es elíptica sino
307 ligeramente romboidal.  El trazo vertical del símbolo del bemol se
308 asemeja al trazo de un pincel, haciéndose más ancho en la parte
309 superior.  El sostenido y el becuadro son más fáciles de distinguir
310 desde una cierta distancia porque sus ángulos tienen distinta
311 inclinación y los trazos verticales son más pesados.
312
313 @node Espaciado óptico
314 @unnumberedsubsec Espaciado óptico
315 @translationof Optical spacing
316
317 En el espaciado, la distribución del espacio debe reflejar las
318 duraciones de las figuras.  Sin embargo, como vimos en la suite de
319 Bach más arriba, muchas partituras modernas se atañen a las duraciones
320 con precisión matemática, lo que lleva a un resultado pobre.  En el
321 siguiente ejemplo se muestra un motivo impreso dos veces: la primera
322 vez utilizando espaciado matemático exacto, y la segunda con
323 correcciones.  ¿Cuál prefiere?
324
325 @cindex espaciado óptico
326
327 @lilypond
328 \paper {
329   ragged-right = ##t
330   indent = #0.0
331 }
332
333 music = {
334    c'4 e''4 e'4 b'4
335    \stemDown
336    b'8[ e'' a' e'']
337    \stemNeutral
338    e'8[ e'8 e'8 e'8]
339 }
340 \score
341 {
342   \music
343   \layout {
344     \context {
345       \Staff
346       \override NoteSpacing.stem-spacing-correction = #0.0
347       \override NoteSpacing.same-direction-correction = #0.0
348       \override StaffSpacing.stem-spacing-correction = #0.0
349     }
350   }
351 }
352 @end lilypond
353
354 @lilypond
355 \paper {
356   ragged-right = ##t
357   indent = #0.0
358 }
359
360 music = {
361    c'4 e''4 e'4 b'4 |
362    \stemDown
363    b'8[ e'' a' e'']
364    \stemNeutral
365    e'8[ e'8 e'8 e'8]
366 }
367
368 \score
369 {
370   \music
371   \layout {
372     \context {
373       \Staff
374       \override NoteSpacing.stem-spacing-correction = #0.6
375     }
376   }
377 }
378 @end lilypond
379
380 @cindex duraciones regulares
381 @cindex espaciado regular
382 @cindex regular, espaciado
383
384 Cada compás de este fragmento utiliza figuras de duración constante.
385 El espaciado debe reflejarlo.  Desgraciadamente, el ojo nos traiciona;
386 no sólo aprecia la distancia entre la cabeza de las figuras, también
387 tiene en cuenta la distancia entre las plicas consecutivas.  Como
388 resultado, las notas de una combinación plica arriba @/ plica abajo
389 deben separarse más, y las notas de una combinación plica abajo @/
390 plica arriba se deben colocar más juntas, dependiendo siempre de las
391 posiciones verticales relativas de las notas.  Los dos compases
392 inferiores están impresos con esta corrección; los dos superiores, por
393 el contrario, forman conglomerados de notas plica abajo @/ plica
394 arriba.  Un grabador maestro ajustaría el espacio según se necesite
395 para agradar al ojo.
396
397 Los algoritmos de espaciado de LilyPond tienen incluso en cuenta a las
398 líneas divisorias que es la razón por la que la última plica dirigida
399 hacia arriba en el ejemplo bien espaciado ha recibido un poco más de
400 espacio antes de la línea divisoria para evitar que tenga un aspecto
401 aglomerado.  Una plica hacia abajo no necesitaría este ajuste.
402
403 @node Líneas adicionales
404 @unnumberedsubsec Líneas adicionales
405 @translationof Ledger lines
406
407 @cindex líneas adicionales
408 @cindex colisiones
409
410 Las líneas adicionales presentan un desafío tipográfico: hacen más
411 difícil juntar los símbolos musicales y deben ser lo bastante claras
412 como para identificar la altura de la nota de un vistazo.  En el
413 ejemplo siguiente, vemos que las líneas adicionales deben ser más
414 gruesas que las líneas normales del pentagrama y que un grabador
415 experto acortará una línea adicional para permitir un espaciado más
416 cercano con las alteraciones accidentales.  Hemos incluido esta
417 posibilidad en el grabado que hace LilyPond.
418
419 @multitable @columnfractions .25 .25 .25 .25
420 @item @tab
421
422 @iftex
423 @sourceimage{baer-ledger,3cm,,}
424 @end iftex
425 @ifnottex
426 @sourceimage{baer-ledger,,,png}
427 @end ifnottex
428
429 @tab
430
431 @iftex
432 @sourceimage{lily-ledger,3cm,,}
433 @end iftex
434 @ifnottex
435 @sourceimage{lily-ledger,,,png}
436 @end ifnottex
437
438 @end multitable
439
440
441 @node Escalado óptico
442 @unnumberedsubsec Escalado óptico
443 @translationof Optical sizing
444
445 Puede ser necesario imprimir la música en distintos tamaños.
446 Originalmente esto se conseguía mediante la creación de punzones de
447 estampado en cada uno de los tamaños necesarios, lo que significaba
448 que cada punzón estaba diseñado para presentar el mejor aspecto a ese
449 tamaño.  Con la llegada de las fuentes tipográficas digitales, un solo
450 diseño se puede escalar matemáticamente a cualquier tamaño, lo que es
451 sin duda muy conveniente, pero a los tamaños menores los glifos
452 aparecen en tipo muy delgado.
453
454 En LilyPond hemos creado las fuentes tipográficas en un cierto rango
455 de pesos que corresponden a la correspondiente variedad de tamaños de
456 notación musical.  He aquí un grabado musical de LilyPond a un tamaño
457 de pentagrama de 26:
458
459 @quotation
460 @iftex
461 @sourceimage{pdf/size26,,23mm,}
462 @end iftex
463 @ifnottex
464 @sourceimage{size26,,,png}
465 @end ifnottex
466 @end quotation
467
468 @noindent
469 y éste es el mismo fragmento a un tamaño de 11, aumentado
470 posteriormente en un 236% para que se imprima al mismo tamaño que el
471 ejemplo anterior:
472
473 @quotation
474 @iftex
475 @sourceimage{pdf/size11,,23mm,}
476 @end iftex
477 @ifnottex
478 @sourceimage{size11,,,png}
479 @end ifnottex
480 @end quotation
481
482 @noindent
483 A tamaños más pequeños, LilyPond utiliza líneas proporcionalmente más
484 gruesas de manera que la música siga leyéndose con comodidad.
485
486 This also allows staves of different sizes to coexist peacefully when
487 used together on the same page:
488
489 @c Grieg's Violin Sonata Op. 45
490 @lilypond[indent=1.5\cm]
491 global = {
492   \time 6/8
493   \key c \minor
494 }
495
496 \score {
497   <<
498     \new Staff \with {
499       \magnifyStaff #2/3
500     }
501     \relative {
502       \global
503       \set Staff.instrumentName = #"Violin"
504       c'8.(\f^> b16 c d) ees8.(^> d16 c b)
505       g8.(^> b16 c ees) g8-.^> r r
506       R2.
507     }
508     \new PianoStaff <<
509       \set PianoStaff.instrumentName = #"Piano"
510       \new Staff \relative {
511         \global
512         s2.
513         s4. s8 r8 r16 <c' f aes c>
514         <c f aes c>4.^> <c ees g>8 r r
515       }
516       \new Staff \relative {
517         \global
518         \clef "bass"
519         <<
520         {
521           \once \override DynamicText.X-offset = #-3
522           <ees g c>2.~->^\f
523           <ees g c>4.~ <ees g c>8
524         } \\ {
525           <c g c,>2.~
526           <c g c,>4.~ <c g c,>8
527         }
528         >>
529         r8 r16 <f, c' aes'>16
530         <f c' aes'>4.-> <c' g'>8 r r
531       }
532     >>
533   >>
534 }
535 @end lilypond
536
537 @node ¿Para qué tanto esfuerzo?
538 @unnumberedsubsec ¿Para qué tanto esfuerzo?
539 @translationof Why work so hard?
540
541 Los músicos están normalmente más absortos en su interpretación que en
542 el estudio del aspecto gráfico de una partitura impresa, por lo que
543 las minucias sobre los detalles tipográficos pueden parecer
544 académicas.  Pero no lo son.  La música impresa es material de
545 interpretación: todo se hace para ayudar al músico a tocar mejor, y
546 todo aquello que no está claro o no es agradable se convierte en un
547 obstáculo.
548
549 La música grabada de forma tradicional utiliza símbolos gruesos sobre
550 pautas de líneas pesadas para producir una notación de aspecto fuerte
551 y equilibrado que adquiere gran presencia cuando el papel está lejos
552 del lector: por ejemplo, sobre un atril.  Una distribución cuidadosa
553 del espacio vacío permite que la música se pueda disponer de forma muy
554 apretada sin aglomerar los símbolos entre sí.  El resultado reduce a
555 un mínimo el número de saltos de página, lo que es una gran ventaja.
556
557 Ésta es una característica común de la tipografía.  La disposición
558 sobre la página debe ser bonita, no sólo por sí misma, sino
559 especialmente porque ayuda al lector en su cometido.  Para las
560 partituras musicales esto es de doble importancia porque los músicos
561 tienen una cantidad de atención limitada.  Cuanta menos atención
562 necesitan para leer, más pueden centrarse en tocar la música.  En
563 otras palabras, una mejor tipografía lleva a mejores interpretaciones.
564
565 Estos ejemplos demuestran que la tipografía musical es un arte sutil y
566 complejo, y que producirla requiere una considerable experiencia, algo
567 que los músicos no suelen tener.  LilyPond es el resultado de nuestro
568 esfuerzo para llevar a la era de los ordenadores la excelencia gráfica
569 de la música grabada a mano, y ponerla a disposición de los músicos
570 normales.  Hemos ajustado nuestros algoritmos, el diseño de nuestras
571 fuentes tipográficas y los valores predeterminados del programa para
572 producir una impresión que iguala en calidad a la de las antiguas
573 ediciones que tanto nos gusta ver y a partir de las que tanto nos
574 gusta tocar.
575
576
577 @node Grabado automatizado
578 @section Grabado automatizado
579 @translationof Automated engraving
580
581 @cindex grabado automatizado
582 @cindex automatizado, grabado
583
584 Aquí describimos lo que se necesita para crear un software que pueda
585 recrear la disposición de las partituras grabadas: un método de
586 explicar las buenas disposiciones al ordenador, y gran cantidad de
587 comparaciones detalladas con grabados de música reales.
588
589 @menu
590 * Concursos de belleza::
591 * Mejoras por medio de pruebas::
592 * Hacer las cosas bien::
593 @end menu
594
595 @node Concursos de belleza
596 @unnumberedsubsec Concursos de belleza
597 @translationof Beauty contests
598
599 ¿Cómo realizamos las decisiones de formateo?  En otras palabras, ¿cuál
600 de las tres configuraciones elegiríamos para la siguiente ligadura?
601
602 @lilypond
603 \relative {
604   \clef bass
605   \once \override Slur.positions = #'(1.5 . 1)
606   e8[( f] g[ a b d,)] r4
607   \once \override Slur.positions = #'(2 . 3)
608   e8[( f] g[ a b d,)] r4
609   e8[( f] g[ a b d,)] r4
610 }
611 @end lilypond
612
613 Están a nuestra disposición unos cuantos libros sobre el arte del
614 grabado musical.  Desgraciadamente, contienen unas sencillas reglas
615 prácticas y unos pocos ejemplos.  Dichas reglas pueden ser
616 instructivas, pero están muy lejos de constituir un algoritmo
617 preparado para poderlo implementar dentro de un programa.  Siguiendo
618 las instrucciones de esta literatura nos lleva a algoritmos con gran
619 cantidad de excepciones codificadas manualmente.  Hacer todo este
620 análisis de casos es mucho trabajo, y a menudo no todos los casos
621 están cubiertos completamente:
622
623 @quotation
624 @iftex
625 @sourceimage{ross-beam-scan,7cm,,}
626 @end iftex
627 @ifnottex
628 @sourceimage{ross-beam-scan,,,.jpg}
629 @end ifnottex
630 @end quotation
631
632 (Fuente de la imagen: Ted Ross, @emph{The Art of Music Engraving})
633
634 En lugar de intentar escribir detalladas reglas de disposición para
635 cada uno de los escenarios posibles, únicamente tenemos que describir
636 los objetivos lo suficientemente bien como para que LilyPond pueda
637 juzgar el nivel de atractivo visual de varias alternativas.  Después,
638 para cada posible configuración calculamos una puntuación de
639 fealdad y seleccionamos la configuración menos fea.
640
641 Por ejemplo, tenemos aquí tres configuraciones posibles para la
642 ligadura, y LilyPond ha otorgado una puntuación a cada una en
643 @q{puntos de fealdad}.  El primer ejemplo obtiene 15.39 puntos por
644 rozar la cabeza de una de las figuras:
645
646 @lilypond
647 \relative {
648   \clef bass
649   \once \override Slur.positions = #'(1.5 . 1)
650   e8[(_"15.39" f] g[ a b d,)] r4
651 }
652 @end lilypond
653
654 El segundo es mejor, pero la ligadura no comienza ni termina sobre la
655 cabeza de las notas.  Obtiene 1.71 puntos por el lado izquierdo y 9.37
656 puntos por el lado derecho, más otros 2 puntos porque la ligadura
657 asciende mientras la melodía desciende, dando un total de 13.08 puntos
658 de fealdad:
659
660 @lilypond
661 \relative {
662   \clef bass
663   \once \override Slur.positions = #'(2 . 3)
664   e8[(_"13.08" f] g[ a b d,)] r4
665 }
666 @end lilypond
667
668 La ligadura final obtiene 10.04 puntos por el salto de la derecha y 2
669 puntos por la inclinación hacia arriba, pero es la más atractiva de
670 las tres configuraciones, así que LilyPond selecciona ésta:
671
672 @lilypond
673 \relative {
674   \clef bass
675   e8[(_"12.04" f] g[ a b d,)] r4
676 }
677 @end lilypond
678
679 Esta técnica es bastante general, y se utiliza para tomar decisiones
680 óptimas para la configuración de las barras, ligaduras y puntillos de
681 los acordes, saltos de línea y saltos de página.  El resultado de
682 estas decisiones se puede juzgar por comparación con grabados reales.
683
684 @node Mejoras por medio de pruebas
685 @unnumberedsubsec Mejoras por medio de pruebas
686 @translationof Improvement by benchmarking
687
688 La salida de LilyPond ha mejorado paulatinamente con el tiempo, y
689 continúa mejorando mediante su comparación con partituras grabadas a
690 mano.
691
692 Por ejemplo, he aquí una línea de una pieza utilizada como banco de
693 pruebas procedente de una edición realizada a mano (Bärenreiter
694 BA320):
695
696 @iftex
697 @sourceimage{baer-sarabande-hires,16cm,,}
698 @end iftex
699 @ifnottex
700 @sourceimage{baer-sarabande,,,png}
701 @end ifnottex
702
703 @noindent
704 y el mismo fragmento grabado tal y como lo hacía una versión muy
705 antigua de LilyPond (versión 1.4, mayo de 2001):
706
707 @iftex
708 @sourceimage{pdf/lily14-sarabande,16cm,,}
709 @end iftex
710 @ifnottex
711 @sourceimage{lily14-sarabande,,,png}
712 @end ifnottex
713
714 @noindent
715 Ciertamente, la salida de LilyPond 1.4 es legible pero una comparación
716 detenida con la partitura hecha a mano mostraba numerosos errores en
717 los detalles de formateo:
718
719 @iftex
720 @sourceimage{lily14-sarabande-annotated-hires,16cm,,}
721 @end iftex
722 @ifnottex
723 @sourceimage{lily14-sarabande-annotated,,,png}
724 @end ifnottex
725
726 @itemize @bullet
727 @item hay demasiado espacio antes de la indicación de compás
728 @item las plicas de las notas unidas por una barra son muy largas
729 @item los compases segundo y cuarto son muy estrechos
730 @item la ligadura tiene un aspecto extraño
731 @item el símbolo del trino es demasiado grande
732 @item las plicas son delgadas
733 @end itemize
734
735 @noindent
736 (También faltaban dos cabezas de nota y varias anotaciones
737 editoriales, y ¡la altura de una nota era incorrecta!)
738
739 Mediante el ajuste de las reglas de disposición y del diseño de la
740 fuente tipográfica, la salida ha mejorado de forma considerable.
741 Compare la misma partitura de referencia y la salida de la versión
742 actual de LilyPond (@version{}):
743
744 @iftex
745 @sourceimage{baer-sarabande-hires,16cm,,}
746 @end iftex
747 @ifnottex
748 @sourceimage{baer-sarabande,,,png}
749 @end ifnottex
750
751 @lilypond[staffsize=17.5,line-width=15.9\cm]
752 \relative c {
753   \clef "bass"
754   \key d \minor
755   \time 3/4
756   \mergeDifferentlyDottedOn
757   <<
758     { \slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e) }
759      \\
760     { d4_2 a2 }
761   >>
762   \slurDashed
763   <f' a, d,>4. e8( d c)
764   \slurSolid
765   bes8 g' f e16( f g_1 a_2 bes_3 d,_2)
766   \slurDashed
767   cis4.-\trill b8_3( a g)
768   <<
769     { \slurDashed d'8.( e16) e4.-\trill( d16 e) }
770      \\
771     { <f, a>4 a2 }
772   >>
773 }
774 @end lilypond
775
776 @noindent
777 La salida actual no es un clon de la edición de referencia, pero está
778 mucho más cerca de la calidad de publicación que la salida más
779 antigua.
780
781 @node Hacer las cosas bien
782 @unnumberedsubsec Hacer las cosas bien
783 @translationof Getting things right
784
785 También podemos medir la capacidad de LilyPond para tomar decisiones
786 de grabado musical automáticamente comparando su salida con la de un
787 producto de software comercial.  En este caso hemos elegido Finale
788 2008, que es uno de los editores de partituras comerciales más
789 populares, especialmente en los Estados Unidos.  Sibelius es su
790 principal competidor y parece tener especial presencia en el mercado
791 europeo.
792
793 Para nuestra comparación elegimos la fuga en Sol menor del Clave bien
794 temperado de Bach, libro I, BWV 861, cuyo sujeto inicial es
795
796 @lilypond
797 \relative {
798   \key g \minor
799   \clef "treble_8"
800   r8 d' ees g, fis4 g
801   r8 a16 bes c8 bes16 a bes8
802 }
803 @end lilypond
804
805 @noindent
806
807 Hemos realizado nuestra comparación grabando los últimos siete
808 compases de la pieza (28 al 34) en Finale y en LilyPond.  Éste es el
809 punto de la pieza en que el sujeto vuelve a aparecer en un estrecho a
810 tres partes y conduce a la sección conclusiva.  En la versión de
811 Finale, hemos resistido la tentación de hacer cualquier ajuste sobre
812 la salida predeterminada porque tratamos de mostrar qué cosas hace
813 bien cada programa sin ayuda.  Las únicas manipulaciones de
814 importancia que hemos hecho ha sido los ajustes del tamaño de la
815 página para que se corresponda con este ensayo y forzar que la música
816 quepa en dos sistemas para facilitar la comparación.  De forma
817 predeterminada, Finale habría compuesto dos sistemas de tres compases
818 cada uno y un último sistema de plena anchura con un solo compás.
819
820 Muchas de las diferencias entre los dos grabados son visibles en los
821 compases 28 al 29, como se muestra aquí con Finale en primer lugar y
822 LilyPond en segundo:
823
824 @iftex
825 @sourceimage{pdf/bwv861mm28-29,14cm,,}
826 @end iftex
827 @ifnottex
828 @sourceimage{bwv861mm28-29,,,png}
829 @end ifnottex
830
831 @lilypond[staffsize=19.5,line-width=14\cm]
832 global = { \key g \minor }
833
834 partI = \relative {
835   \voiceOne
836   fis'8 d' ees g, fis4 g
837   r8 a16 bes c8 bes16 a d8 r r4
838 }
839
840 partII = \relative {
841   \voiceTwo
842   d'4 r4 r8 d'16 c bes8 c16 d
843   ees8 d c ees a, r r4
844 }
845
846 partIII = \relative {
847   \voiceOne
848   r2 r8 d' ees g, fis4 g r8 a16 bes c8 bes16 a
849 }
850
851 partIV = \relative {
852   \voiceTwo
853   d4 r r2
854   r8 d ees g, fis4 a
855 }
856
857 \score {
858   <<
859     % \set Score.barNumberVisibility = #all-bar-numbers-visible
860     % required in 2.13
861     \set Score.currentBarNumber = #28
862     \bar ""
863     \new PianoStaff <<
864       \new Staff = "RH" <<
865         \global
866         \new Voice = "voiceI" { \partI }
867         \new Voice = "voiceII" { \partII }
868       >>
869       \new Staff = "LH"
870       <<
871         \clef "bass"
872         \global
873         \new Voice = "voiceIII" { \partIII }
874         \new Voice = "voiceIV" { \partIV }
875       >>
876     >>
877   >>
878   \layout {
879     \context {
880       \Staff
881       \remove "Time_signature_engraver"
882     }
883     \context {
884       \PianoStaff
885       \override StaffGrouper.staff-staff-spacing.padding = #1
886     }
887   }
888 }
889 @end lilypond
890
891 Entre algunos de los puntos negativos de la salida sin retocar de
892 Finale se encuentran los siguientes:
893 @itemize @bullet
894 @item Casi todas las barras se salen demasiado del pentagrama.
895 Una barra que apunta hacia el centro del pentagrama debe tener una
896 longitud de una octava aproximadamente, pero los grabadores acortan
897 esta longitud cuando la barra apunta hacia fuera de la pauta en música
898 de varias voces.  El barrado de Finale se puede mejorar fácilmente con
899 su complemento de barras de Patterson, pero hemos decidido saltarnos
900 ese paso para este ejemplo.
901 @item Finale no ajusta las posiciones de las cabezas que se bloquean mutuamente,
902 lo que hace a la música extremadamente difícil de leer cuando las
903 voces superior e inferior intercambian temporalmente sus posiciones:
904
905 @c KEEP LY
906 @lilypond
907 collide = \once \override NoteColumn.force-hshift = #0
908
909 \score {
910   <<
911     \new Voice = "sample" \relative c''{
912       \key g \minor
913       <<
914         { \voiceOne g4 \collide g4 }
915         \new Voice { \voiceTwo bes \collide bes }
916       >>
917     }
918     \new Lyrics \lyricsto "sample" { "bien " " mal" }
919   >>
920 }
921 @end lilypond
922
923 @item Finale ha colocado todos los silencios en alturas fijas sobre el
924 pentagrama.  El usuario es libre de ajustarlos según se necesite, pero
925 el programa no hace ningún intento de tener en consideración el
926 contenido de la otra voz.  Por suerte, en este ejemplo no se producen
927 verdaderas colisiones entre notas y silencios, pero ello tiene que ver
928 más con las posiciones de las notas que con otra cosa.  Dicho de otro
929 modo, Bach se merece algo más de crédito para evitar una colisión
930 completa que la que Finale le concede.
931
932 @end itemize
933
934 Este ejemplo no pretende sugerir que Finale no se pueda usar para
935 producir resultados con calidad de producción.  Por el contrario, en
936 las manos de un usuario hábil puede hacerlo y de hecho lo hace, pero
937 requiere destreza y tiempo.  Una de las diferencias fundamentales
938 entre LilyPond y los editores de partituras comerciales es que
939 LilyPond aspira a reducir la cantidad de intervención humana a un
940 mínimo absoluto, mientras que otros paquetes pretenden ofrecer un
941 interfaz atractivo en el que hacer este tipo de ediciones.
942
943 Una omisión particularmente flagrante que hemos encontrado por parte
944 de Finale es un bemol en el compás 33:
945
946 @quotation
947 @iftex
948 @sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,}
949 @end iftex
950 @ifnottex
951 @sourceimage{bwv861mm33-34-annotate,,,png}
952 @end ifnottex
953 @end quotation
954
955 @noindent
956 El símbolo del bemol es necesario para cancelar el becuadro que está
957 en el mismo compás, pero Finale lo omite porque aparece en una voz
958 distinta.  De forma que además de ejecutar un complemento de barrado y
959 comprobar el espaciado sobre las cabezas de nota y los silencios, el
960 usuario también tiene que comprobar las alteraciones entre voces
961 cruzadas para cada compás si pretende evitar la interrupción de un
962 ensayo a causa de un error en la edición de la partitura.
963
964 Si está interesado en examinar estos ejemplos con más detalle, el
965 ejemplo de siete compases completo está al final de este ensayo junto
966 a cuatro ediciones publicadas distintas.  Un examen detenido revela
967 que hay una cierta variación aceptable entre los grabados manuales,
968 pero también que LilyPond se compara de forma razonablemente buena con
969 este rango aceptable.  Aún existen algunos inconvenientes en la salida
970 de LilyPond, por ejemplo, parece ser un tanto agresiva acortando
971 algunas de las plicas, así que aún hay margen para un desarrollo y
972 ajuste fino posteriores.
973
974 Por supuesto, la tipografía se basa en el juicio humano sobre la
975 apariencia, de manera que las personas no se pueden sustituir por
976 completo.  Con todo, gran parte del trabajo tedioso se puede
977 automatizar.  Si LilyPond resuelve correctamente la mayor parte de las
978 situaciones más comunes, esto ya sería una enorme ventaja sobre los
979 programas existentes.  Con el transcurso de los años, el software se
980 puede refinar de forma que realice cada vez más cosas automáticamente,
981 de forma que los ajustes manuales sean también cada vez menos
982 necesarios.  Donde se necesitan ajustes manuales, la estructura de
983 LilyPond está diseñada teniendo en mente esa flexibilidad.
984
985
986 @node Construcción del software
987 @section Construcción del software
988 @translationof Building software
989
990 Esta sección describe algunas de las decisiones de programación que
991 hicimos cuando diseñamos el programa LilyPond.
992
993 @menu
994 * Representación musical::
995 * ¿Qué símbolos grabar?::
996 * Arquitectura flexible::
997 @end menu
998
999
1000 @node Representación musical
1001 @unnumberedsubsec Representación musical
1002 @translationof Music representation
1003
1004 @cindex sintaxis
1005 @cindex recursivas, estructuras
1006
1007 Idealmente, el formato de entrada de cualquier sistema de formateado
1008 de alto nivel es una descripción abstracta del contenido.  En este
1009 caso, eso sería la propia música.  Ello presenta un enorme problema:
1010 ¿cómo podemos definir qué es la música realmente?  En lugar de buscar
1011 una respuesta, le hemos dado la vuelta a la pregunta.  Escribimos un
1012 programa capaz de producir música impresa, y luego ajustamos el
1013 formato de forma que sea lo más escueto posible.  Cuando el formato ya
1014 no se puede recortar más, por definición nos estamos quedando con el
1015 propio contenido.  Nuestro programa sirve como una definición formal
1016 de un documento musical.
1017
1018 La sintaxis es también el interfaz de usuario de LilyPond, de aquí
1019 que sea tan fácil teclear:
1020
1021 @example
1022 @{
1023   c'4 d'8
1024 @}
1025 @end example
1026
1027 @noindent
1028 para crear un Do central negra (Do 4) y un Re por encima del Do
1029 central, corchea (Re 4).
1030
1031 @lilypond[quote]
1032 {
1033   c'4 d'8
1034 }
1035 @end lilypond
1036
1037 A una escala microscópica, esta sintaxis es fácil de usar.  A una
1038 escala mayor, la sintaxis necesita también una estructura.  ¿De qué
1039 otra forma podríamos introducir piezas complejas como sinfonías u
1040 óperas?  La estructura se forma por medio del concepto de expresiones
1041 musicales: combinando pequeños fragmentos de música dentro de otros
1042 más grandes, se puede expresar una música más compleja.  Por ejemplo:
1043
1044 @lilypond[quote,verbatim,fragment]
1045 f'4
1046 @end lilypond
1047
1048 @noindent
1049 Las notas simultáneas se pueden construir encerrándolas dentro de
1050 @code{<<} y @code{>>}:
1051
1052 @example
1053 <<c4 d4 e4>>
1054 @end example
1055
1056 @lilypond[quote,fragment,relative=1]
1057 \new Voice { <<c4 d4 e>> }
1058 @end lilypond
1059
1060 @noindent
1061 La expresión se pone en secuencia encerrándola dentro de llaves
1062 @code{@{@tie{}@dots{}@tie{}@}}:
1063
1064 @example
1065 @{ f4 <<c4 d4 e4>> @}
1066 @end example
1067
1068 @lilypond[quote,relative=1,fragment]
1069 { f4 <<c d e4>> }
1070 @end lilypond
1071
1072 @noindent
1073 Esto es también una expresión, y así se puede combinar de nuevo con
1074 otra expresión simultánea (una blanca) utilizando @code{<<}, @code{\\}
1075 y @code{>>}:
1076
1077 @example
1078 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
1079 @end example
1080
1081 @lilypond[quote,fragment,relative=2]
1082 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
1083 @end lilypond
1084
1085 Tales estructuras recursivas se pueden especificar limpia y
1086 formalmente dentro de una gramática independiente del contexto.  El
1087 código del analizador sintáctico también se genera a partir de esta
1088 gramática.  Dicho de otra forma, la sintaxis de LilyPond está definida
1089 claramente y sin ambigüedades.
1090
1091 Los interfaces de usuario y la sintaxis son aquello que la gente ve y
1092 con lo que trata más frecuentemente.  Son, en parte, cuestión de
1093 gusto, y también objeto de mucha discusión.  Aunque las discusiones
1094 sobre el gusto tienen su mérito, no son muy productivas.  Bajo el
1095 punto de vista más amplio de LilyPond, la importancia de la sintaxis
1096 de la entrada es pequeña: inventarse una sintaxis limpia es fácil,
1097 pero escribir un código de formatead que sea decente es mucho más
1098 difícil.  Esto queda ilustrado por la cantidad de líneas que están
1099 dedicadas a los componentes respectivos: el análisis sintáctico y la
1100 representación se llevan menos del 10% del código fuente.
1101
1102 Cuando estábamos diseñando las estructuras utilizadas dentro de
1103 LilyPond, tomamos algunas decisiones de forma diferente a como es
1104 aparente en otros programas.  Consideremos la naturaleza jerárquica de
1105 la notación musical:
1106
1107 @lilypond[quote,fragment]
1108 <<
1109   \new Staff \relative {
1110     \key g \major
1111     \time 3/4
1112     d''4 g,8 a b c d4 g, g
1113   }
1114   \new Staff \relative {
1115     \clef "bass"
1116     \key g \major
1117     <g b d>2 a4 b2.
1118   }
1119 >>
1120 @end lilypond
1121
1122 En este caso, hay notas agrupadas en acordes que están dentro de
1123 compases, que pertenecen a pentagramas.  Esto se parece a una
1124 estructura ordenada de cajas anidadas unas dentro de otras:
1125
1126 @quotation
1127 @iftex
1128 @sourceimage{pdf/nestedboxes,,4cm,}
1129 @end iftex
1130 @ifnottex
1131 @sourceimage{nestedboxes,,,png}
1132 @end ifnottex
1133 @end quotation
1134
1135 Desgraciadamente la estructura resulta ordenada porque está basada en
1136 algunas suposiciones excesivamente restrictivas.  Este extremo se hace
1137 aparente si tenemos en cuenta un ejemplo musical más complejo:
1138
1139 @lilypond[quote]
1140 \layout {
1141   \context {
1142     \Score
1143     \remove "Timing_translator"
1144     \remove "Default_bar_line_engraver"
1145   }
1146   \context {
1147     \Staff
1148     \consists "Timing_translator"
1149     \consists "Default_bar_line_engraver"
1150   }
1151 }
1152
1153 \new PianoStaff <<
1154   \new Staff = "RH" <<
1155     \new Voice = "I" \relative {
1156       \time 3/4
1157       \voiceOne
1158       \tuplet 7/6 { g''8 g g g g g g }
1159       \oneVoice
1160       r4 <b,, fis' g bes> r4\fermata
1161     }
1162     \new Voice = "II" \relative {
1163       \voiceTwo
1164       c'4
1165       \tuplet 5/4 {
1166         <c ees>8 f g
1167         \change Staff = "LH" \oneVoice
1168         \stemUp g,( c}
1169       r4
1170       \override Stem.cross-staff = ##t
1171       \override Stem.length = #12
1172       <fis, b>) r\fermata
1173     }
1174   >>
1175   \new Staff = "LH" <<
1176     \new Voice = "III" \relative {
1177       \time 2/4
1178       \clef "bass"
1179       g4 \stopStaff s
1180       \startStaff s2*2
1181     }
1182   >>
1183 >>
1184 @end lilypond
1185
1186 En este ejemplo, los pentagramas parecen iniciarse y terminar a
1187 capricho, las voces saltan de un pentagrama a otro, y las pautas
1188 tienen tipos de compás diferentes.  Muchos programas se las ven y se
1189 las desean para reproducir este ejemplo porque están construidos sobre
1190 la estructura de las cajas anidadas.  Con LilyPond, por el contrario,
1191 hemos tratado de conservar el formato del código de entrada y la
1192 estructura lo más flexibles posible.
1193
1194 @node ¿Qué símbolos grabar?
1195 @unnumberedsubsec ¿Qué símbolos grabar?
1196 @translationof What symbols to engrave?
1197
1198 @cindex grabado
1199 @cindex tipografía
1200 @cindex grabador
1201 @cindex plug-in o complemento
1202 @cindex complemento o plug-in
1203
1204 El proceso de formateo decide dónde colocar los símbolos.  Sin
1205 embargo, esto sólo puede hacerse una vez que se ha decidido @emph{qué}
1206 símbolos se deben imprimir: en otras palabras, qué notación utilizar.
1207
1208 La notación musical común es un sistema de registro de la música que
1209 ha evolucionado durante los últimos mil años.  La forma que es hoy día
1210 de uso común data del Renacimiento temprano.  Aunque la forma básica
1211 (es decir, puntos sobre una pauta de cinco líneas) no ha cambiado, los
1212 detalles aún evolucionan para expresar las innovaciones de la notación
1213 contemporánea.  De aquí que la notación musical común abarque unos
1214 quinientos años de música.  El ámbito de sus aplicaciones comprende
1215 desde melodías monofónicas hasta monstruosos contrapuntos para gran
1216 orquesta.
1217
1218 ¿Cómo podemos ensillar a tal bestia de siete cabezas, y forzarla
1219 dentro de los confines de un programa de ordenador?  Nuestra solución
1220 es escindir el problema de la notación (en oposición al grabado, es
1221 decir, a la tipografía) en fragmentos fácilmente digeribles y
1222 programables: cada tipo de símbolo se maneja por parte de un módulo
1223 separado conocido como plug-in.  Cada plug-in es completamente modular
1224 e independiente, de manera que cada uno se puede desarrollar y mejorar
1225 por separado Estos plugines reciben el nombre de @code{engraver}s o
1226 @qq{grabadores}, por analogía con los artesanos que traducían las
1227 ideas musicales en símbolos gráficos.
1228
1229 En el ejemplo siguiente, comenzamos con un plug-in para la cabeza de
1230 las notas, el grabador @code{Note_heads_engraver}.
1231
1232 @lilypond[quote,ragged-right]
1233 \include "engraver-example.ily"
1234
1235 \score {
1236   \topVoice
1237   \layout {
1238     \context {
1239       \Voice
1240       \remove "Stem_engraver"
1241       \remove "Phrasing_slur_engraver"
1242       \remove "Slur_engraver"
1243       \remove "Script_engraver"
1244       \remove "New_fingering_engraver"
1245       \remove "Beam_engraver"
1246       \remove "Auto_beam_engraver"
1247     }
1248     \context {
1249       \Staff
1250       \remove "Accidental_engraver"
1251       \remove "Key_engraver"
1252       \remove "Clef_engraver"
1253       \remove "Bar_engraver"
1254       \remove "Time_signature_engraver"
1255       \remove "Staff_symbol_engraver"
1256       \consists "Pitch_squash_engraver"
1257     }
1258   }
1259 }
1260 @end lilypond
1261
1262 @noindent
1263 A continuación, un grabador del pentagrama, el
1264 @code{Staff_symbol_engraver}, añade la pauta:
1265
1266 @lilypond[quote,ragged-right]
1267 \include "engraver-example.ily"
1268
1269 \score {
1270   \topVoice
1271   \layout {
1272     \context {
1273       \Voice
1274       \remove "Stem_engraver"
1275       \remove "Phrasing_slur_engraver"
1276       \remove "Slur_engraver"
1277       \remove "Script_engraver"
1278       \remove "New_fingering_engraver"
1279       \remove "Beam_engraver"
1280       \remove "Auto_beam_engraver"
1281     }
1282     \context {
1283       \Staff
1284       \remove "Accidental_engraver"
1285       \remove "Key_engraver"
1286       \remove "Clef_engraver"
1287       \remove "Bar_engraver"
1288       \consists "Pitch_squash_engraver"
1289       \remove "Time_signature_engraver"
1290     }
1291   }
1292 }
1293 @end lilypond
1294
1295 @noindent
1296 el grabador de la clave o @code{Clef_engraver} define un punto de
1297 referencia para el pentagrama:
1298
1299 @lilypond[quote,ragged-right]
1300 \include "engraver-example.ily"
1301
1302 \score {
1303   \topVoice
1304   \layout {
1305     \context {
1306       \Voice
1307       \remove "Stem_engraver"
1308       \remove "Phrasing_slur_engraver"
1309       \remove "Slur_engraver"
1310       \remove "Script_engraver"
1311       \remove "New_fingering_engraver"
1312       \remove "Beam_engraver"
1313       \remove "Auto_beam_engraver"
1314     }
1315     \context {
1316       \Staff
1317       \remove "Accidental_engraver"
1318       \remove "Key_engraver"
1319       \remove "Bar_engraver"
1320       \remove "Time_signature_engraver"
1321     }
1322   }
1323 }
1324 @end lilypond
1325
1326 @noindent
1327 y el grabador de las plicas @code{Stem_engraver} añade las plicas.
1328
1329 @lilypond[quote,ragged-right]
1330 \include "engraver-example.ily"
1331
1332 \score {
1333   \topVoice
1334   \layout {
1335     \context {
1336       \Voice
1337       \remove "Phrasing_slur_engraver"
1338       \remove "Slur_engraver"
1339       \remove "Script_engraver"
1340       \remove "New_fingering_engraver"
1341       \remove "Beam_engraver"
1342       \remove "Auto_beam_engraver"
1343     }
1344     \context {
1345       \Staff
1346       \remove "Accidental_engraver"
1347       \remove "Key_engraver"
1348       \remove "Bar_engraver"
1349       \remove "Time_signature_engraver"
1350     }
1351   }
1352 }
1353 @end lilypond
1354
1355 @noindent
1356 El grabador @code{Stem_engraver} que traza las plicas recibe una
1357 notificación por cada nota que le llega.  Cada vez que se ve la cabeza
1358 de una nota (o más, en el caso de un acorde), se crea un objeto plica
1359 y se conecta a la cabeza.  Añadiendo grabadores para las barras,
1360 ligaduras, acentos, alteraciones, líneas divisorias, la indicación de
1361 compás y la armadura, obtenemos un fragmento de notación musical
1362 completo.
1363
1364 @lilypond[quote,ragged-right]
1365 \include "engraver-example.ily"
1366 \score { \topVoice }
1367 @end lilypond
1368
1369 @cindex polifonía
1370 @cindex grabado de varias voces
1371 @cindex contextos
1372
1373 Este sistema funciona bien para la música a una voz, pero ¿qué tal
1374 para la polifonía? En la notación polifónica, muchas voces pueden
1375 llegar a compartir el mismo pentagrama.
1376
1377 @lilypond[quote,ragged-right]
1378 \include "engraver-example.ily"
1379 \new Staff << \topVoice \\ \botVoice >>
1380 @end lilypond
1381
1382 En esta situación, las alteraciones accidentales y la pauta se
1383 comparten, pero las plicas, ligaduras, barras, etc., son privadas para
1384 cada voz.  De aquí que los grabadores deban estar agrupados.  Los
1385 grabadores de la cabeza de las notas, plicas, ligaduras, etc., van a
1386 un grupo llamado @q{contexto de voz}, mientras que los grabadores de
1387 la armadura, las alteraciones, los compases, etc., van a un grupo
1388 llamado @q{contexto de pauta}.  En el caso de la polifonía, un solo
1389 contexto de pauta contiene más de un contexto de voz.  De forma
1390 similar, varios contextos de pentagrama se pueden reunir dentro de un
1391 único contexto de partitura.  El contexto de partitura es el contexto
1392 de notación del nivel más alto que hay.
1393
1394 @lilypond[quote,ragged-right]
1395 \include "engraver-example.ily"
1396 \score {
1397    <<
1398       \new Staff << \topVoice \\ \botVoice >>
1399       \new Staff << \pah \\ \hoom >>
1400    >>
1401 }
1402 @end lilypond
1403
1404 @seealso
1405 Referencia de funcionamiento interno:
1406 @rinternals{Contexts}.
1407
1408 @node Arquitectura flexible
1409 @unnumberedsubsec Arquitectura flexible
1410 @translationof Flexible architecture
1411
1412 Al principio escribimos el programa LilyPond completamente en el
1413 lenguaje de programación C++; la funcionalidad del programa estaba
1414 grabada en piedra por parte de los desarrolladores.  Se comprobó que
1415 esto no era satisfactorio por unas cuantas razones:
1416
1417 @itemize
1418
1419 @item Cuando LilyPond comete errores, los usuarios necesitan sobreescribir
1420 las decisiones de formateo.  Por tanto, el usuario debe tener acceso
1421 al motor de formateo.  De aquí que las reglas y los ajustes
1422 predeterminados no se puedan fijar por nuestra parte en el tiempo de
1423 compilación sino que deben estar accesibles para los usuarios en el
1424 tiempo de ejecución.
1425
1426 @item El grabado musical es cuestión de juicio visual, y por tanto está en
1427 el terreno del buen gusto.  Por más entendidos que pretendamos ser,
1428 nuestros usuarios siempre podrían discrepar de nuestras decisiones
1429 personales.  Por ello, las definiciones del estilo tipográfico debe
1430 también ser accesible para el usuario.
1431
1432 @item Finalmente, nos encontramos refinando continuamente los algoritmos de
1433 formateo, por lo que necesitamos un enfoque flexible para las reglas.
1434 El lenguaje C++ fuerza un cierto método de agrupación de las reglas
1435 que no está preparado para aplicarse al formateo de la notación
1436 musical.
1437
1438 @end itemize
1439
1440 @cindex Scheme, lenguaje de programación
1441
1442 Estos programas se han solucionado integrando un intérprete para el
1443 lenguaje de programación Scheme y reescribiendo partes de LilyPond en
1444 Scheme.  La arquitectura de formateo actual está construida alrededor
1445 de la noción de objetos gráficos, descritos por medio de variables y
1446 funciones de Scheme.  Esta arquitectura coordina las reglas de
1447 formateo, el estilo tipográfico y las decisiones de formateo
1448 individuales.  El usuario tiene acceso directo a la mayoría de esos
1449 controles.
1450
1451 Las variables de Scheme controlan las decisiones de disposición en la
1452 página.  Por ejemplo, muchos objetos gráficos tienen una variable de
1453 dirección que codifica la elección entre arriba y abajo (o izquierda y
1454 derecha).  A continuación vemos dos acordes, con acentos y símbolos de
1455 arpegio.  En el primer acorde, los objetos gráficos tienen todas las
1456 direcciones hacia abajo (o hacia la izquierda).  El segundo acorde
1457 tiene todas las direcciones hacia arriba (o hacia la derecha).
1458
1459 @lilypond[quote,ragged-right]
1460 \score {
1461   \relative {
1462     \stemDown <e' g b>4_>-\arpeggio
1463     \override Arpeggio.direction = #RIGHT
1464     \stemUp <e g b>4^>-\arpeggio
1465   }
1466   \layout {
1467     \context {
1468       \Score
1469       \override SpacingSpanner.spacing-increment = #3
1470       \hide TimeSignature
1471     }
1472   }
1473 }
1474 @end lilypond
1475
1476 @cindex partitura, formateo de
1477 @cindex formateo de una partitura
1478 @cindex formateo, reglas de
1479
1480 @noindent
1481 El proceso de dar formato a una partitura comprende la lectura y
1482 escritura de las variables de los objetos gráficos.  Algunas variables
1483 tienen un valor preestablecido.  Por ejemplo, el grosor de muchas
1484 líneas (una característica del estilo tipográfico) es una variable con
1485 un valor preestablecido. Somos libres de alterar este valor, dando a
1486 nuestra partitura una impresión tipográfica distinta.
1487
1488 @lilypond[quote,ragged-right]
1489 fragment = {
1490    \clef bass f8 as8
1491    c'4-~ c'16 as g f e16 g bes c' des'4
1492 }
1493 <<
1494    \new Staff \fragment
1495    \new Staff \with {
1496       \override Beam.beam-thickness = #0.3
1497       \override Stem.thickness = #0.5
1498       \override Bar.thickness = #3.6
1499       \override Tie.thickness = #2.2
1500       \override StaffSymbol.thickness = #3.0
1501       \override Tie.extra-offset = #'(0 .  0.3)
1502       }
1503       \fragment
1504 >>
1505 @end lilypond
1506
1507 Las reglas de formateado también son variables preestablecidas: cada
1508 objeto tiene variables que contienen procedimientos.  Estos
1509 procedimientos realizan el formateo propiamente dicho, y mediante la
1510 sustitución de unos u otros, podemos modificar el aspecto de los
1511 objetos.  En el ejemplo siguiente, la regla que gobierna qué objetos
1512 de cabeza se utilizan para producir el símbolo de la cabeza, se cambia
1513 a lo largo del fragmento musical.
1514
1515 @lilypond[quote,ragged-right]
1516 #(set-global-staff-size 30)
1517
1518 #(define (mc-squared grob orig current)
1519   (let* ((interfaces (ly:grob-interfaces grob))
1520          (pos (ly:grob-property grob 'staff-position)))
1521     (if (memq 'note-head-interface interfaces)
1522         (begin
1523           (ly:grob-set-property! grob 'stencil
1524             (grob-interpret-markup grob
1525               (make-lower-markup 0.5
1526                 (case pos
1527                   ((-5) "m")
1528                   ((-3) "c ")
1529                   ((-2) (make-smaller-markup (make-bold-markup "2")))
1530                   (else "bla")))))))))
1531
1532 \new Voice \relative {
1533   \stemUp
1534   \set autoBeaming = ##f
1535   \time 2/4
1536   <d' f g>4
1537   \once \override NoteHead.stencil = #note-head::brew-ez-stencil
1538   \once \override NoteHead.font-size = #-7
1539   \once \override NoteHead.font-family = #'sans
1540   \once \override NoteHead.font-series = #'bold
1541   <d f g>4
1542   \once \override NoteHead.style = #'cross
1543   <d f g>4
1544   \applyOutput Voice #mc-squared
1545   <d f g>4
1546   <<
1547     { d8[ es-( fis^^ g] fis2-) }
1548     \repeat unfold 5 { \applyOutput Voice #mc-squared s8 }
1549   >>
1550 }
1551 @end lilypond
1552
1553
1554
1555 @node Poner a LilyPond a trabajar
1556 @section Poner a LilyPond a trabajar
1557 @translationof Putting LilyPond to work
1558
1559 @cindex simple, ejemplos
1560 @cindex ejemplos simples
1561
1562 Escribimos LilyPond como un experimento sobre cómo condensar el arte
1563 del grabado musical dentro de un programa de ordenador.  Gracias a
1564 todo ese duro trabajo, ahora el programa se puede utilizar para que
1565 realice muchas tareas útiles.  La aplicación más simple es la
1566 impresión de notas.
1567
1568 @lilypond[quote,relative=1]
1569 {
1570   \time 2/4
1571   c4 c g'4 g a4 a g2
1572 }
1573 @end lilypond
1574
1575 @noindent
1576 Añadiendo nombres de acorde y la letra de la canción obtenemos una
1577 hoja guía de acordes.
1578
1579 @c KEEP LY
1580 @lilypond[quote,ragged-right]
1581 <<
1582    \chords { c2 c f2 c }
1583    \new Staff
1584    \relative {
1585      \time 2/4
1586      c'4 c g' g a a g2
1587    }
1588    \addlyrics { Cam -- pa ni -- ta del lu -- gar }
1589 >>
1590 @end lilypond
1591
1592 También puede imprimirse notación polifónica y música para piano.  El
1593 ejemplo siguiente combina unas pocas construcciones algo más exóticas.
1594
1595 @lilypond[quote,line-width=15.9\cm]
1596 \header {
1597   title = "Screech and boink"
1598   subtitle = "Random complex notation"
1599   composer = "Han-Wen Nienhuys"
1600 }
1601
1602 \score {
1603   \context PianoStaff <<
1604     \new Staff = "up" {
1605       \time 4/8
1606       \key c \minor
1607       << {
1608         \revert Stem.direction
1609         \change Staff = down
1610         \set subdivideBeams = ##t
1611         g16.[
1612           \change Staff = up
1613           c'''32
1614           \change Staff = down
1615           g32
1616           \change Staff = up
1617           c'''32
1618           \change Staff = down
1619           g16]
1620         \change Staff = up
1621         \stemUp
1622         \set followVoice = ##t
1623         c'''32([ b''16 a''16 gis''16 g''32)]
1624       } \\ {
1625         s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d'']
1626       } \\ {
1627         s4 \autoBeamOff d''8.. f''32
1628       } \\ {
1629         s4 es''4
1630       } >>
1631     }
1632
1633     \new Staff = "down" {
1634       \clef bass
1635       \key c \minor
1636       \set subdivideBeams = ##f
1637       \override Stem.french-beaming = ##t
1638       \override Beam.beam-thickness = #0.3
1639       \override Stem.thickness = #4.0
1640       g'16[ b16 fis16 g16]
1641       << \makeClusters {
1642         as16 <as b>
1643         <g b>
1644         <g cis>
1645       } \\ {
1646         \override Staff.Arpeggio.arpeggio-direction =#down
1647         <cis, e, gis, b, cis>4\arpeggio
1648       }
1649     >> }
1650   >>
1651   \midi {
1652     \tempo 8 = 60
1653   }
1654   \layout {
1655     \context {
1656       \Staff
1657       \consists "Horizontal_bracket_engraver"
1658     }
1659   }
1660 }
1661 @end lilypond
1662
1663 Los fragmentos que se muestran arriba se han escrito a mano, pero esto
1664 no es obligatorio.  Puesto que el motor de formateado es casi
1665 totalmente automático, puede servir como un medio de salida para otros
1666 programas que manipulan música.  Por ejemplo, también se puede usar
1667 para convertir bases de datos de fragmentos musicales en imágenes
1668 orientadas a su utilización en páginas web y presentaciones
1669 multimedia.
1670
1671 Este manual muestra también una aplicación: el formato de entrada
1672 es texto, y puede ser por tanto fácilmente empotrado dentro de
1673 otros formatos basados en texto como @LaTeX{}, HTML, o en el caso
1674 de este manual, Texinfo.  Utilizando el programa
1675 @command{lilypond-book}, que viene incluido con LilyPond, los
1676 fragmentos de entrada se pueden reemplazar por imágenes de la
1677 música en los archivos de salida PDF o HTML resultantes.  Otro
1678 ejemplo es la extensión (de terceras partes) OOoLilyPond para
1679 OpenOffice.org o LibreOffice, que hace de la inclusión de ejemplos
1680 musicales dentro de los documentos, una tarea extremadamente
1681 sencilla.
1682
1683 Para ver más ejemplos de LilyPond en acción, la documentación
1684 completa, y el programa propiamente dicho, visite nuestra página
1685 principal: www.lilypond.org.
1686
1687 @page
1688 @node Ejemplos de partituras (BWV 861)
1689 @section Ejemplos de partituras (BWV 861)
1690 @translationof Engraved examples (BWV 861)
1691
1692 Esta sección contiene cuatro grabados musicales de referencia y dos
1693 versiones grabadas por ordenador de la fuga en Sol menor del libro I
1694 del Clave Bien Temperado, BWV 861, de Bach (los últimos siete
1695 compases).
1696
1697 @noindent
1698 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1699 1989):
1700
1701 @iftex
1702 @sourceimage{bwv861-baer,16cm,,}
1703 @end iftex
1704 @ifnottex
1705 @sourceimage{bwv861-baer-small,,,png}
1706 @end ifnottex
1707
1708 @noindent
1709 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1710 1989), una fuente musical alternativa.  Aparte de las diferencias
1711 textuales, esto presenta ligeras variaciones en las decisiones de
1712 grabado, incluso de la misma editorial y edición:
1713
1714 @iftex
1715 @sourceimage{bwv861-baer-alt,16cm,,}
1716 @end iftex
1717 @ifnottex
1718 @sourceimage{bwv861-baer-alt-small,,,png}
1719 @end ifnottex
1720
1721 @noindent
1722 Breitkopf & Härtel, editado por Ferruccio Busoni (Wiesbaden, 1894),
1723 disponible también a través de la Biblioteca Musical Petrucci (IMSLP
1724 #22081).  Las indicaciones editoriales (digitaciones, articulaciones,
1725 etc.)  se han suprimido para una comparación más clara con las otras
1726 ediciones que presentamos aquí:
1727
1728 @iftex
1729 @sourceimage{bwv861-breitkopf,16cm,,}
1730 @end iftex
1731 @ifnottex
1732 @sourceimage{bwv861-breitkopf-small,,,png}
1733 @end ifnottex
1734
1735 @noindent
1736 Edición Bach-Gesellschaft (Leipzig, 1866), disponible a través de la
1737 Biblioteca Musical Petrucci (IMSPL #02221):
1738
1739 @iftex
1740 @sourceimage{bwv861-gessellschaft,16cm,,}
1741 @end iftex
1742 @ifnottex
1743 @sourceimage{bwv861-gessellschaft-small,,,png}
1744 @end ifnottex
1745
1746 @noindent
1747 Finale 2008:
1748
1749 @iftex
1750 @sourceimage{pdf/bwv861-finale2008a,,,}
1751 @end iftex
1752 @ifnottex
1753 @sourceimage{bwv861-finale2008a,,,png}
1754 @end ifnottex
1755
1756 @sp 4
1757 @noindent
1758 LilyPond, versión @version{}:
1759
1760 @lilypond[staffsize=14.3,line-width=15.9\cm]
1761 global = {\key g \minor}
1762
1763 partI = \relative {
1764   \voiceOne
1765   fis'8 d' ees g, fis4 g
1766   r8 a16 bes c8 bes16 a d8 r r4
1767   r2 r8 d16 ees f8 ees16 d
1768   ees4 ~ 16 d c bes a4 r8 ees'16 d
1769   c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
1770   8 d, g f ees d c bes
1771   a2 g\fermata \bar "|."
1772 }
1773
1774 partII = \relative {
1775   \voiceTwo
1776   d'4 r4 r8 d'16 c bes8 c16 d
1777   ees8 d c ees a, r r4
1778   r8 fis16 g a8 g16 fis g2 ~
1779   2 r8 d' ees g,
1780   fis4 g r8 a16 bes c8 bes16 a
1781   bes4. <g b>8 <a c> r <d, g> r
1782   <ees g>4 <d fis> d2
1783 }
1784 partIII = \relative {
1785   \voiceOne
1786   r2 r8 d' ees g, fis4 g r8 a16 bes c8 bes16 a
1787   bes2 ~ 8 b16 a g8 a16 b
1788   c4 r r2
1789   R1
1790   r8 d ees g, fis4 g
1791   r8 a16 bes c8 bes16 a b2
1792 }
1793 partIV = \relative {
1794   \voiceTwo
1795   d4 r r2
1796   r8 d ees g, fis4 a
1797   d,8 d'16 c bes8 c16 d ees2 ~
1798   8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
1799   d,8 d'16 c bes8 c16 d ees8 c a fis'
1800   g f ees d c bes a g
1801   c a d d, g2\fermata
1802 }
1803
1804 \score {
1805   <<
1806     % \set Score.barNumberVisibility = #all-bar-numbers-visible
1807     % required in 2.13
1808     \set Score.currentBarNumber = #28
1809     \bar ""
1810     \new PianoStaff <<
1811       \new Staff = "RH" <<
1812         \global
1813         \new Voice = "voiceI" { \partI }
1814         \new Voice = "voiceII" { \partII }
1815       >>
1816
1817       \new Staff = "LH" <<
1818         \clef "bass"
1819         \global
1820         \new Voice = "voiceIII" { \partIII }
1821         \new Voice = "voiceIV" { \partIV }
1822       >>
1823     >>
1824   >>
1825   \layout {
1826     \context {
1827       \Staff
1828       \remove "Time_signature_engraver"
1829     }
1830     \context {
1831       \PianoStaff
1832       \override StaffGrouper.staff-staff-spacing.padding = #1
1833     }
1834   }
1835 }
1836 @end lilypond