]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/essay/engraving.itely
Merge branch 'lilypond/translation'
[lilypond.git] / Documentation / es / essay / engraving.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2
3 @ignore
4     Translation of GIT committish: 2dd8d127ca6e0c3e7d9c0a02e964783fe7d0e97c
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.13.4"
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 detallista, 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 @ignore
487 This also allows staves of different sizes to coexist peacefully when
488 used together on the same page:
489
490 @c TODO: are the stems in this example the right thickness? How should
491 @c line weights be scaled for small staves?
492
493 @c Grieg's Violin Sonata Op. 45
494 @lilypond[indent=1.5cm]
495 global = {
496   \time 6/8
497   \key c \minor
498 }
499
500 \new Score <<
501   \new Staff \with {
502       fontSize = #-4
503       \override StaffSymbol #'staff-space = #(magstep -4)
504       \override StaffSymbol #'thickness = #(magstep -3)
505     }
506     \relative c' {
507       \global
508       \set Staff.instrumentName = #"Violin"
509       c8.(\f^> b16 c d) ees8.(^> d16 c b)
510       g8.(^> b16 c ees) g8-.^> r r
511       R2.
512     }
513   \new PianoStaff <<
514     \set PianoStaff.instrumentName = #"Piano"
515     \new Staff \relative c' {
516       \global
517       s2.
518       s4. s8 r8 r16 <c f aes c>
519       <c f aes c>4.^> <c ees g>8 r r
520     }
521     \new Staff \relative c {
522       \global
523       \clef "bass"
524       << {
525         \once \override DynamicText #'X-offset = #-3
526         <ees g c>2.~->^\f
527         <ees g c>4.~ <ees g c>8
528       } \\ {
529         <c g c,>2.~
530         <c g c,>4.~ <c g c,>8
531       } >>
532       r8 r16 <f, c' aes'>16
533       <f c' aes'>4.-> <c' g'>8 r r
534     }
535   >>
536 >>
537 @end lilypond
538 @end ignore
539
540 @node ¿Para qué tanto esfuerzo?
541 @unnumberedsubsec ¿Para qué tanto esfuerzo?
542 @translationof Why work so hard?
543
544 Los músicos están normalmente más absortos en su interpretación que en
545 el estudio del aspecto gráfico de una partitura impresa, por lo que
546 las minucias sobre los detalles tipográficos pueden parecer
547 académicas.  Pero no lo son.  La música impresa es material de
548 interpretación: todo se hace para ayudar al músico a tocar mejor, y
549 todo aquello que no está claro o no es agradable se convierte en un
550 obstáculo.
551
552 La música grabada de forma tradicional utiliza símbolos gruesos sobre
553 pautas de líneas pesadas para producir una notación de aspecto fuerte
554 y equilibrado que adquiere gran presencia cuando el papel está lejos
555 del lector: por ejemplo, sobre un atril.  Una distribución cuidadosa
556 del espacio vacío permite que la música se pueda disponer de forma muy
557 apretada sin aglomerar los símbolos entre sí.  El resultado reduce a
558 un mínimo el número de saltos de página, lo que es una gran ventaja.
559
560 Ésta es una característica común de la tipografía.  La disposición
561 sobre la página debe ser bonita, no sólo por sí misma, sino
562 especialmente porque ayuda al lector en su cometido.  Para las
563 partituras musicales esto es de doble importancia porque los músicos
564 tienen una cantidad de atención limitada.  Cuanta menos atención
565 necesitan para leer, más pueden centrarse en tocar la música.  En
566 otras palabras, una mejor tipografía lleva a mejores interpretaciones.
567
568 Estos ejemplos demuestran que la tipografía musical es un arte sutil y
569 complejo, y que producirla requiere una considerable experiencia, algo
570 que los músicos no suelen tener.  LilyPond es el resultado de nuestro
571 esfuerzo para llevar a la era de los ordenadores la excelencia gráfica
572 de la música grabada a mano, y ponerla a disposición de los músicos
573 normales.  Hemos ajustado nuestros algoritmos, el diseño de nuestras
574 fuentes tipográficas y los valores predeterminados del programa para
575 producir una impresión que iguala en calidad a la de las antiguas
576 ediciones que tanto nos gusta ver y a partir de las que tanto nos
577 gusta tocar.
578
579
580 @node Grabado automatizado
581 @section Grabado automatizado
582 @translationof Automated engraving
583
584 @cindex grabado automatizado
585 @cindex automatizado, grabado
586
587 Aquí describimos lo que se necesita para crear un software que pueda
588 recrear la disposición de las partituras grabadas: un método de
589 explicar las buenas disposiciones al ordenador, y gran cantidad de
590 comparaciones detalladas con grabados de música reales.
591
592 @menu
593 * Concursos de belleza::
594 * Mejoras por medio de pruebas::
595 * Hacer las cosas bien::
596 @end menu
597
598 @node Concursos de belleza
599 @unnumberedsubsec Concursos de belleza
600 @translationof Beauty contests
601
602 ¿Cómo realizamos las decisiones de formateo?  En otras palabras, ¿cuál
603 de las tres configuraciones elegiríamos para la siguiente ligadura?
604
605 @lilypond
606 \relative c {
607     \clef bass
608     \once \override Slur #'positions = #'(1.5 . 1)
609     e8[( f] g[ a b d,)] r4
610     \once \override Slur #'positions = #'(2 . 3)
611     e8[( f] g[ a b d,)] r4
612     e8[( f] g[ a b d,)] r4
613 }
614 @end lilypond
615
616 Están a nuestra disposición unos cuantos libros sobre el arte del
617 grabado musical.  Desgraciadamente, contienen unas sencillas reglas
618 prácticas y unos pocos ejemplos.  Dichas reglas pueden ser
619 instructivas, pero están muy lejos de constituir un algoritmo
620 preparado para poderlo implementar dentro de un programa.  Siguiendo
621 las instrucciones de esta literatura nos lleva a algoritmos con gran
622 cantidad de excepciones codificadas manualmente.  Hacer todo este
623 análisis de casos es mucho trabajo, y a menudo no todos los casos
624 están cubiertos completamente:
625
626 @quotation
627 @iftex
628 @sourceimage{ross-beam-scan,7cm,,}
629 @end iftex
630 @ifnottex
631 @sourceimage{ross-beam-scan,,,.jpg}
632 @end ifnottex
633 @end quotation
634
635 (Fuente de la imagen: Ted Ross, @emph{The Art of Music Engraving})
636
637 En lugar de intentar escribir detalladas reglas de disposición para
638 cada uno de los escenarios posibles, únicamente tenemos que describir
639 los objetivos lo suficientemente bien como para que LilyPond pueda
640 juzgar el nivel de atractivo visual de varias alternativas.  Después,
641 para cada posible configuración calculamos una puntuación de
642 fealdad y seleccionamos la configuración menos fea.
643
644 Por ejemplo, tenemos aquí tres configuraciones posibles para la
645 ligadura, y LilyPond ha otorgado una puntuación a cada una en
646 @q{puntos de fealdad}.  El primer ejemplo obtiene 15.39 puntos por
647 rozar la cabeza de una de las figuras:
648
649 @lilypond
650 \relative c {
651     \clef bass
652     \once \override Slur #'positions = #'(1.5 . 1)
653     e8[(_"15.39" f] g[ a b d,)] r4
654 }
655 @end lilypond
656
657 El segundo es mejor, pero la ligadura no comienza ni termina sobre la
658 cabeza de las notas.  Obtiene 1.71 puntos por el lado izquierdo y 9.37
659 puntos por el lado derecho, más otros 2 puntos porque la ligadura
660 asciende mientras la melodía desciende, dando un total de 13.08 puntos
661 de fealdad:
662
663 @lilypond
664 \relative c {
665     \clef bass
666     \once \override Slur #'positions = #'(2 . 3)
667     e8[(_"13.08" f] g[ a b d,)] r4
668 }
669 @end lilypond
670
671 La ligadura final obtiene 10.04 puntos por el salto de la derecha y 2
672 puntos por la inclinación hacia arriba, pero es la más atractiva de
673 las tres configuraciones, así que LilyPond selecciona ésta:
674
675 @lilypond
676 \relative c {
677     \clef bass
678     e8[(_"12.04" f] g[ a b d,)] r4
679 }
680 @end lilypond
681
682 Esta técnica es bastante general, y se utiliza para tomar decisiones
683 óptimas para la configuración de las barras, ligaduras y puntillos de
684 los acordes, saltos de línea y saltos de página.  El resultado de
685 estas decisiones se puede juzgar por comparación con grabados reales.
686
687 @node Mejoras por medio de pruebas
688 @unnumberedsubsec Mejoras por medio de pruebas
689 @translationof Improvement by benchmarking
690
691 La salida de LilyPond ha mejorado paulatinamente con el tiempo, y
692 continúa mejorando mediante su comparación con partituras grabadas a
693 mano.
694
695 Por ejemplo, he aquí una línea de una pieza utilizada como banco de
696 pruebas procedente de una edición realizada a mano (Bärenreiter
697 BA320):
698
699 @iftex
700 @sourceimage{baer-sarabande-hires,16cm,,}
701 @end iftex
702 @ifnottex
703 @sourceimage{baer-sarabande,,,png}
704 @end ifnottex
705
706 @noindent
707 y el mismo fragmento grabado tal y como lo hacía una versión muy
708 antigua de LilyPond (versión 1.4, mayo de 2001):
709
710 @iftex
711 @sourceimage{pdf/lily14-sarabande,16cm,,}
712 @end iftex
713 @ifnottex
714 @sourceimage{lily14-sarabande,,,png}
715 @end ifnottex
716
717 @noindent
718 Ciertamente, la salida de LilyPond 1.4 es legible pero una comparación
719 detenida con la partitura hecha a mano mostraba numerosos errores en
720 los detalles de formateo:
721
722 @iftex
723 @sourceimage{lily14-sarabande-annotated-hires,16cm,,}
724 @end iftex
725 @ifnottex
726 @sourceimage{lily14-sarabande-annotated,,,png}
727 @end ifnottex
728
729 @itemize @bullet
730 @item hay demasiado espacio antes de la indicación de compás
731 @item las plicas de las notas unidas por una barra son muy largas
732 @item los compases segundo y cuarto son muy estrechos
733 @item la ligadura tiene un aspecto extraño
734 @item el símbolo del trino es demasiado grande
735 @item las plicas son delgadas
736 @end itemize
737
738 @noindent
739 (También faltaban dos cabezas de nota y varias anotaciones
740 editoriales, y ¡la altura de una nota era incorrecta!)
741
742 Mediante el ajuste de las reglas de disposición y del diseño de la
743 fuente tipográfica, la salida ha mejorado de forma considerable.
744 Compare la misma partitura de referencia y la salida de la versión
745 actual de LilyPond (@version{}):
746
747 @iftex
748 @sourceimage{baer-sarabande-hires,16cm,,}
749 @end iftex
750 @ifnottex
751 @sourceimage{baer-sarabande,,,png}
752 @end ifnottex
753
754 @lilypond[staffsize=17.5,line-width=15.9\cm]
755 \relative c {
756   \clef "bass"
757   \key d \minor
758   \time 3/4
759   \mergeDifferentlyDottedOn
760   << {\slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e)}
761      \\ {d4_2 a2}
762   >>
763   \slurDashed
764   <f' a, d,>4. e8( d c)
765   \slurSolid
766   bes g' f e16( f g_1 a_2 bes_3 d,_2)
767   \slurDashed
768   cis4.-\trill b8_3( a g)
769   << {\slurDashed d'8.( e16) e4.-\trill( d16 e)}
770      \\ {<f, a>4 a2}
771   >>
772 }
773 @end lilypond
774
775 @noindent
776 La salida actual no es un clon de la edición de referencia, pero está
777 mucho más cerca de la calidad de publicación que la salida más
778 antigua.
779
780 @node Hacer las cosas bien
781 @unnumberedsubsec Hacer las cosas bien
782 @translationof Getting things right
783
784 También podemos medir la capacidad de LilyPond para tomar decisiones
785 de grabado musical automáticamente comparando su salida con la de un
786 producto de software comercial.  En este caso hemos elegido Finale
787 2008, que es uno de los editores de partituras comerciales más
788 populares, especialmente en los Estados Unidos.  Sibelius es su
789 principal competidor y parece tener especial presencia en el mercado
790 europeo.
791
792 Para nuestra comparación elegimos la fuga en Sol menor del Clave bien
793 temperado de Bach, libro I, BWV 861, cuyo sujeto inicial es
794
795 @lilypond
796 \relative c' {
797   \key g \minor
798   \clef "treble_8"
799   r8 d ees g, fis4 g
800   r8 a16 bes c8 bes16 a bes8
801 }
802 @end lilypond
803
804 @noindent
805
806 Hemos realizado nuestra comparación grabando los últimos siete
807 compases de la pieza (28 al 34) en Finale y en LilyPond.  Éste es el
808 punto de la pieza en que el sujeto vuelve a aparecer en un estrecho a
809 tres partes y conduce a la sección conclusiva.  En la versión de
810 Finale, hemos resistido la tentación de hacer cualquier ajuste sobre
811 la salida predeterminada porque tratamos de mostrar qué cosas hace
812 bien cada programa sin ayuda.  Las únicas manipulaciones de
813 importancia que hemos hecho ha sido los ajustes del tamaño de la
814 página para que se corresponda con este ensayo y forzar que la música
815 quepa en dos sistemas para facilitar la comparación.  De forma
816 predeterminada, Finale habría compuesto dos sistemas de tres compases
817 cada uno y un último sistema de plena anchura con un solo compás.
818
819 Muchas de las diferencias entre los dos grabados son visibles en los
820 compases 28 al 29, como se muestra aquí con Finale en primer lugar y
821 LilyPond en segundo:
822
823 @iftex
824 @sourceimage{pdf/bwv861mm28-29,14cm,,}
825 @end iftex
826 @ifnottex
827 @sourceimage{bwv861mm28-29,,,png}
828 @end ifnottex
829
830 @lilypond[staffsize=19.5,line-width=14\cm]
831 global = {\key g \minor}
832
833 partI = \relative c' {
834   \voiceOne
835   fis8 d' ees g, fis4 g
836   r8 a16 bes c8 bes16 a d8 r r4
837 }
838
839 partII = \relative c' {
840   \voiceTwo
841   d4 r4 r8 d'16 c bes8 c16 d
842   ees8 d c ees a, r r4
843 }
844 partIII = \relative c' {
845   \voiceOne
846   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
847 }
848 partIV = \relative c {
849   \voiceTwo
850   d4 r r2
851   r8 d ees g, fis4 a
852 }
853
854 \score {
855   <<
856     % \set Score.barNumberVisibility = #all-bar-numbers-visible
857     % required in 2.13
858     \set Score.currentBarNumber = #28
859     \bar ""
860     \new PianoStaff <<
861       \new Staff = "RH" <<
862         \global
863         \new Voice = "voiceI" { \partI }
864         \new Voice = "voiceII" { \partII }
865       >>
866
867       \new Staff = "LH" <<
868         \clef "bass"
869         \global
870         \new Voice = "voiceIII" { \partIII }
871         \new Voice = "voiceIV" { \partIV }
872       >>
873     >>
874   >>
875   \layout {
876     \context {
877       \Staff
878       \remove "Time_signature_engraver"
879     }
880     \context {
881       \PianoStaff
882       \override StaffGrouper #'between-staff-spacing #'padding = #1
883     }
884   }
885 }
886 @end lilypond
887
888 Entre algunos de los puntos negativos de la salida sin retocar de
889 Finale se encuentran los siguientes:
890 @itemize @bullet
891 @item Casi todas las barras se salen demasiado del pentagrama.
892 Una barra que apunta hacia el centro del pentagrama debe tener una
893 longitud de una octava aproximadamente, pero los grabadores acortan
894 esta longitud cuando la barra apunta hacia fuera de la pauta en música
895 de varias voces.  El barrado de Finale se puede mejorar fácilmente con
896 su complemento de barras de Patterson, pero hemos decidido saltarnos
897 ese paso para este ejemplo.
898 @item Finale no ajusta las posiciones de las cabezas que se bloquean mutuamente,
899 lo que hace a la música extremadamente difícil de leer cuando las
900 voces superior e inferior intercambian temporalmente sus posiciones:
901
902 @c KEEP LY
903 @lilypond
904 collide = \once \override NoteColumn #'force-hshift = #0
905 \new Score <<
906   \new Voice = "sample" \relative c''{
907     \key g \minor
908     <<
909       {\voiceOne g4 \collide g4}
910       \new Voice {\voiceTwo bes \collide bes}
911     >>
912   }
913   \new Lyrics \lyricsto "sample" \lyricmode { "bien " " mal" }
914 >>
915 @end lilypond
916
917 @item Finale ha colocado todos los silencios en alturas fijas sobre el
918 pentagrama.  El usuario es libre de ajustarlos según se necesite, pero
919 el programa no hace ningún intento de tener en consideración el
920 contenido de la otra voz.  Por suerte, en este ejemplo no se producen
921 verdaderas colisiones entre notas y silencios, pero ello tiene que ver
922 más con las posiciones de las notas que con otra cosa.  Dicho de otro
923 modo, Bach se merece algo más de crédito para evitar una colisión
924 completa que la que Finale le concede.
925
926 @end itemize
927
928 Este ejemplo no pretende sugerir que Finale no se pueda usar para
929 producir resultados con calidad de producción.  Por el contrario, en
930 las manos de un usuario hábil puede hacerlo y de hecho lo hace, pero
931 requiere destreza y tiempo.  Una de las diferencias fundamentales
932 entre LilyPond y los editores de partituras comerciales es que
933 LilyPond aspira a reducir la cantidad de intervención humana a un
934 mínimo absoluto, mientras que otros paquetes pretenden ofrecer un
935 interfaz atractivo en el que hacer este tipo de ediciones.
936
937 Una omisión particularmente flagrante que hemos encontrado por parte
938 de Finale es un bemol en el compás 33:
939
940 @quotation
941 @iftex
942 @sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,}
943 @end iftex
944 @ifnottex
945 @sourceimage{bwv861mm33-34-annotate,,,png}
946 @end ifnottex
947 @end quotation
948
949 @noindent
950 El símbolo del bemol es necesario para cancelar el becuadro que está
951 en el mismo compás, pero Finale lo omite porque aparece en una voz
952 distinta.  De forma que además de ejecutar un complemento de barrado y
953 comprobar el espaciado sobre las cabezas de nota y los silencios, el
954 usuario también tiene que comprobar las alteraciones entre voces
955 cruzadas para cada compás si pretende evitar la interrupción de un
956 ensayo a causa de un error en la edición de la partitura.
957
958 Si está interesado en examinar estos ejemplos con más detalle, el
959 ejemplo de siete compases completo está al final de este ensayo junto
960 a cuatro ediciones publicadas distintas.  Un examen detenido revela
961 que hay una cierta variación aceptable entre los grabados manuales,
962 pero también que LilyPond se compara de forma razonablemente buena con
963 este rango aceptable.  Aún existen algunos inconvenientes en la salida
964 de LilyPond, por ejemplo, parece ser un tanto agresiva en acortar
965 algunas de las plicas, así que aún hay lugar para un desarrollo y
966 ajuste fino posteriores.
967
968 Por supuesto, la tipografía se basa en el juicio humano sobre la
969 apariencia, de manera que las personas no se pueden sustituir por
970 completo.  Con todo, gran parte del trabajo tedioso se puede
971 automatizar.  Si LilyPond resuelve casi todas las situaciones más
972 comunes correctamente, esto ya constituirá una enorme ventaja sobre
973 los programas existentes.  Con el transcurso de los años, software se
974 puede refinar de forma que realice más y más cosas automáticamente de
975 forma que los ajustes manuales sean también cada vez menos necesarios.
976 Donde se necesitan ajustes manuales, la estructura de LilyPond está
977 diseñada teniendo en mente esa flexibilidad.
978
979
980 @node Construcción del software
981 @section Construcción del software
982 @translationof Building software
983
984 Esta sección describe algunas de las decisiones de programación que
985 hicimos cuando diseñamos el programa LilyPond.
986
987 @menu
988 * Representación musical::
989 * ¿Qué símbolos grabar?::
990 * Arquitectura flexible::
991 @end menu
992
993
994 @node Representación musical
995 @unnumberedsubsec Representación musical
996 @translationof Music representation
997
998 @cindex sintaxis
999 @cindex recursivas, estructuras
1000
1001 Idealmente, el formato de entrada de cualquier sistema de formateado
1002 de alto nivel es una descripción abstracta del contenido.  En este
1003 caso, eso sería la propia música.  Ello presenta un enorme problema:
1004 ¿cómo podemos definir qué es la música realmente?  En lugar de buscar
1005 una respuesta, le hemos dado la vuelta a la pregunta.  Escribimos un
1006 programa capaz de producir música impresa, y luego ajustamos el
1007 formato de forma que sea lo más escueto posible.  Cuando el formato ya
1008 no se puede recortar más, por definición nos estamos quedando con el
1009 propio contenido.  Nuestro programa sirve como una definición formal
1010 de un documento musical.
1011
1012 La sintaxis es también el interfaz de usuario de LilyPond, de aquí
1013 que sea tan fácil teclear:
1014
1015 @example
1016 @{
1017   c'4 d'8
1018 @}
1019 @end example
1020
1021 @noindent
1022 para crear un Do central negra (Do 4) y un Re por encima del Do
1023 central, corchea (Re 4).
1024
1025 @lilypond[quote]
1026 {
1027   c'4 d'8
1028 }
1029 @end lilypond
1030
1031 A una escala microscópica, esta sintaxis es fácil de usar.  A una
1032 escala mayor, la sintaxis necesita también una estructura.  ¿De qué
1033 otra forma podríamos introducir piezas complejas como sinfonías u
1034 óperas?  La estructura se forma por medio del concepto de expresiones
1035 musicales: combinando pequeños fragmentos de música dentro de otros
1036 más grandes, se puede expresar una música más compleja.  Por ejemplo:
1037
1038 @lilypond[quote,verbatim,fragment,relative=1]
1039 f4
1040 @end lilypond
1041
1042 @noindent
1043 Las notas simultáneas se pueden construir encerrándolas dentro de
1044 @code{<<} y @code{>>}:
1045
1046 @example
1047 <<c4 d4 e4>>
1048 @end example
1049
1050 @lilypond[quote,fragment,relative=1]
1051 \new Voice { <<c4 d4 e>> }
1052 @end lilypond
1053
1054 @noindent
1055 La expresión se pone en secuencia encerrándola dentro de llaves
1056 @code{@{@tie{}@dots{}@tie{}@}}:
1057
1058 @example
1059 @{ f4 <<c4 d4 e4>> @}
1060 @end example
1061
1062 @lilypond[quote,relative=1,fragment]
1063 { f4 <<c d e4>> }
1064 @end lilypond
1065
1066 @noindent
1067 Esto es también una expresión, y así se puede combinar de nuevo con
1068 otra expresión simultánea (una blanca) utilizando @code{<<}, @code{\\}
1069 y @code{>>}:
1070
1071 @example
1072 << g2 \\ @{ f4 <<c4 d4 e4>> @} >>
1073 @end example
1074
1075 @lilypond[quote,fragment,relative=2]
1076 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
1077 @end lilypond
1078
1079 Tales estructuras recursivas se pueden especificar limpia y
1080 formalmente dentro de una gramática independiente del contexto.  El
1081 código del analizador sintáctico también se genera a partir de esta
1082 gramática.  Dicho de otra forma, la sintaxis de LilyPond está definida
1083 claramente y sin ambigüedades.
1084
1085 Los interfaces de usuario y la sintaxis son aquello que la gente ve y
1086 con lo que trata más frecuentemente.  Son, en parte, cuestión de
1087 gusto, y también objeto de mucha discusión.  Aunque las discusiones
1088 sobre el gusto tienen su mérito, no son muy productivas.  Bajo el
1089 punto de vista más amplio de LilyPond, la importancia de la sintaxis
1090 de la entrada es pequeña: inventarse una sintaxis limpia es fácil,
1091 pero escribir un código de formatead que sea decente es mucho más
1092 difícil.  Esto queda ilustrado por la cantidad de líneas que están
1093 dedicadas a los componentes respectivos: el análisis sintáctico y la
1094 representación se llevan menos del 10% del código fuente.
1095
1096 Cuando estábamos diseñando las estructuras utilizadas dentro de
1097 LilyPond, tomamos algunas decisiones de forma diferente a como es
1098 aparente en otros programas.  Consideremos la naturaleza jerárquica de
1099 la notación musical:
1100
1101 @lilypond[quote,fragment]
1102 <<
1103 \new Staff \relative c'' {
1104   \key g \major
1105   \time 3/4
1106   d4 g,8 a b c d4 g, g
1107 }
1108 \new Staff \relative c' {
1109   \clef "bass"
1110   \key g \major
1111   <g b d>2 a4 b2.
1112 }
1113 >>
1114 @end lilypond
1115
1116 En este caso, hay notas agrupadas en acordes que están dentro de
1117 compases, que pertenecen a pentagramas.  Esto se parece a una
1118 estructura ordenada de cajas anidadas unas dentro de otras:
1119
1120 @quotation
1121 @iftex
1122 @sourceimage{pdf/nestedboxes,,4cm,}
1123 @end iftex
1124 @ifnottex
1125 @sourceimage{nestedboxes,,,png}
1126 @end ifnottex
1127 @end quotation
1128
1129 Desgraciadamente la estructura resulta ordenada porque está basada en
1130 algunas suposiciones excesivamente restrictivas.  Este extremo se hace
1131 aparente si tenemos en cuenta un ejemplo musical más complejo:
1132
1133 @lilypond[quote]
1134 \layout {
1135   \context {
1136     \Score
1137     \remove "Timing_translator"
1138     \remove "Default_bar_line_engraver"
1139   }
1140   \context {
1141     \Staff
1142     \consists "Timing_translator"
1143     \consists "Default_bar_line_engraver"
1144   }
1145 }
1146
1147 \new PianoStaff <<
1148   \new Staff = "RH" <<
1149     \new Voice = "I" \relative c''' {
1150       \time 3/4
1151       \voiceOne
1152       \times 6/7 {g8 g g g g g g}
1153       \oneVoice
1154       r4 <b,, fis' g bes> r4\fermata
1155     }
1156     \new Voice = "II" \relative c' {
1157       \voiceTwo
1158       c4
1159       \times 4/5 {
1160         <c ees>8 f g
1161         \change Staff = "LH" \oneVoice
1162         \stemUp g,( c}
1163       r4
1164       \override Stem #'cross-staff = ##t
1165       \override Stem #'length = #12
1166       <fis, b>) r\fermata
1167     }
1168   >>
1169   \new Staff = "LH" <<
1170     \new Voice = "III" \relative c' {
1171       \time 2/4
1172       \clef "bass"
1173       g4 \stopStaff s
1174       \startStaff s2*2
1175     }
1176   >>
1177 >>
1178 @end lilypond
1179
1180 En este ejemplo, los pentagramas parecen iniciarse y terminar a
1181 capricho, las voces saltan de un pentagrama a otro, y las pautas
1182 tienen tipos de compás diferentes.  Muchos programas se las ven y se
1183 las desean para reproducir este ejemplo porque están construidos sobre
1184 la estructura de las cajas anidadas.  Con LilyPond, por el contrario,
1185 hemos tratado de conservar el formato del código de entrada y la
1186 estructura lo más flexibles posible.
1187
1188 @node ¿Qué símbolos grabar?
1189 @unnumberedsubsec ¿Qué símbolos grabar?
1190 @translationof What symbols to engrave?
1191
1192 @cindex grabado
1193 @cindex tipografía
1194 @cindex grabador
1195 @cindex plug-in o complemento
1196 @cindex complemento o plug-in
1197
1198 El proceso de formateo decide dónde colocar los símbolos.  Sin
1199 embargo, esto sólo puede hacerse una vez que se ha decidido @emph{qué}
1200 símbolos se deben imprimir: en otras palabras, qué notación utilizar.
1201
1202 La notación musical común es un sistema de registro de la música que
1203 ha evolucionado durante los últimos mil años.  La forma que es hoy día
1204 de uso común data del Renacimiento temprano.  Aunque la forma básica
1205 (es decir, puntos sobre una pauta de cinco líneas) no ha cambiado, los
1206 detalles aún evolucionan para expresar las innovaciones de la notación
1207 contemporánea.  De aquí que la notación musical común abarque unos
1208 quinientos años de música.  El ámbito de sus aplicaciones comprende
1209 desde melodías monofónicas hasta monstruosos contrapuntos para gran
1210 orquesta.
1211
1212 ¿Cómo podemos ensillar a tal bestia de siete cabezas, y forzarla
1213 dentro de los confines de un programa de ordenador?  Nuestra solución
1214 es escindir el problema de la notación (en oposición al grabado, es
1215 decir, a la tipografía) en fragmentos fácilmente digeribles y
1216 programables: cada tipo de símbolo se maneja por parte de un módulo
1217 separado conocido como plug-in.  Cada plug-in es completamente modular
1218 e independiente, de manera que cada uno se puede desarrollar y mejorar
1219 por separado Estos plugines reciben el nombre de @code{engraver}s o
1220 @qq{grabadores}, por analogía con los artesanos que traducían las
1221 ideas musicales en símbolos gráficos.
1222
1223 En el ejemplo siguiente, comenzamos con un plug-in para la cabeza de
1224 las notas, el grabador @code{Note_heads_engraver}.
1225
1226 @lilypond[quote,ragged-right]
1227 \include "engraver-example.ily"
1228
1229 \score {
1230   \topVoice
1231   \layout {
1232     \context {
1233       \Voice
1234       \remove "Stem_engraver"
1235       \remove "Phrasing_slur_engraver"
1236       \remove "Slur_engraver"
1237       \remove "Script_engraver"
1238       \remove "Beam_engraver"
1239       \remove "Auto_beam_engraver"
1240     }
1241     \context {
1242       \Staff
1243       \remove "Accidental_engraver"
1244       \remove "Key_engraver"
1245       \remove "Clef_engraver"
1246       \remove "Bar_engraver"
1247       \remove "Time_signature_engraver"
1248       \remove "Staff_symbol_engraver"
1249       \consists "Pitch_squash_engraver"
1250     }
1251   }
1252 }
1253 @end lilypond
1254
1255 @noindent
1256 A continuación, un grabador del pentagrama, el
1257 @code{Staff_symbol_engraver}, añade la pauta:
1258
1259 @lilypond[quote,ragged-right]
1260 \include "engraver-example.ily"
1261
1262 \score {
1263   \topVoice
1264   \layout {
1265     \context {
1266       \Voice
1267       \remove "Stem_engraver"
1268       \remove "Phrasing_slur_engraver"
1269       \remove "Slur_engraver"
1270       \remove "Script_engraver"
1271       \remove "Beam_engraver"
1272       \remove "Auto_beam_engraver"
1273     }
1274     \context {
1275       \Staff
1276       \remove "Accidental_engraver"
1277       \remove "Key_engraver"
1278       \remove "Clef_engraver"
1279       \remove "Bar_engraver"
1280       \consists "Pitch_squash_engraver"
1281       \remove "Time_signature_engraver"
1282     }
1283   }
1284 }
1285 @end lilypond
1286
1287 @noindent
1288 el grabador de la clave o @code{Clef_engraver} define un punto de
1289 referencia para el pentagrama:
1290
1291 @lilypond[quote,ragged-right]
1292 \include "engraver-example.ily"
1293
1294 \score {
1295   \topVoice
1296   \layout {
1297     \context {
1298       \Voice
1299       \remove "Stem_engraver"
1300       \remove "Phrasing_slur_engraver"
1301       \remove "Slur_engraver"
1302       \remove "Script_engraver"
1303       \remove "Beam_engraver"
1304       \remove "Auto_beam_engraver"
1305     }
1306     \context {
1307       \Staff
1308       \remove "Accidental_engraver"
1309       \remove "Key_engraver"
1310       \remove "Bar_engraver"
1311       \remove "Time_signature_engraver"
1312     }
1313   }
1314 }
1315 @end lilypond
1316
1317 @noindent
1318 y el grabador de las plicas @code{Stem_engraver} añade las plicas.
1319
1320 @lilypond[quote,ragged-right]
1321 \include "engraver-example.ily"
1322
1323 \score {
1324   \topVoice
1325   \layout {
1326     \context {
1327       \Voice
1328       \remove "Phrasing_slur_engraver"
1329       \remove "Slur_engraver"
1330       \remove "Script_engraver"
1331       \remove "Beam_engraver"
1332       \remove "Auto_beam_engraver"
1333     }
1334     \context {
1335       \Staff
1336       \remove "Accidental_engraver"
1337       \remove "Key_engraver"
1338       \remove "Bar_engraver"
1339       \remove "Time_signature_engraver"
1340     }
1341   }
1342 }
1343 @end lilypond
1344
1345 @noindent
1346 El grabador @code{Stem_engraver} que traza las plicas recibe una
1347 notificación por cada nota que le llega.  Cada vez que se ve la cabeza
1348 de una nota (o más, en el caso de un acorde), se crea un objeto plica
1349 y se conecta a la cabeza.  Añadiendo grabadores para las barras,
1350 ligaduras, acentos, alteraciones, líneas divisorias, la indicación de
1351 compás y la armadura, obtenemos un fragmento de notación musical
1352 completo.
1353
1354 @lilypond[quote,ragged-right]
1355 \include "engraver-example.ily"
1356 \score { \topVoice }
1357 @end lilypond
1358
1359 @cindex polifonía
1360 @cindex grabado de varias voces
1361 @cindex contextos
1362
1363 Este sistema funciona bien para la música a una voz, pero ¿qué tal
1364 para la polifonía? En la notación polifónica, muchas voces pueden
1365 llegar a compartir el mismo pentagrama.
1366
1367 @lilypond[quote,ragged-right]
1368 \include "engraver-example.ily"
1369 \new Staff << \topVoice \\ \botVoice >>
1370 @end lilypond
1371
1372 En esta situación, las alteraciones accidentales y la pauta se
1373 comparten, pero las plicas, ligaduras, barras, etc., son privadas para
1374 cada voz.  De aquí que los grabadores deban estar agrupados.  Los
1375 grabadores de la cabeza de las notas, plicas, ligaduras, etc., van a
1376 un grupo llamado @q{contexto de voz}, mientras que los grabadores de
1377 la armadura, las alteraciones, los compases, etc., van a un grupo
1378 llamado @q{contexto de pauta}.  En el caso de la polifonía, un solo
1379 contexto de pauta contiene más de un contexto de voz.  De forma
1380 similar, varios contextos de pentagrama se pueden reunir dentro de un
1381 único contexto de partitura.  El contexto de partitura es el contexto
1382 de notación del nivel más alto que hay.
1383
1384 @lilypond[quote,ragged-right]
1385 \include "engraver-example.ily"
1386 \score {
1387    <<
1388       \new Staff << \topVoice \\ \botVoice >>
1389       \new Staff << \pah \\ \hoom >>
1390    >>
1391 }
1392 @end lilypond
1393
1394 @seealso
1395 Referencia de funcionamiento interno:
1396 @rinternals{Contexts}.
1397
1398 @node Arquitectura flexible
1399 @unnumberedsubsec Arquitectura flexible
1400 @translationof Flexible architecture
1401
1402 Al principio escribimos el programa LilyPond completamente en el
1403 lenguaje de programación C++; la funcionalidad del programa estaba
1404 grabada en piedra por parte de los desarrolladores.  Se comprobó que
1405 esto no era satisfactorio por unas cuantas razones:
1406
1407 @itemize
1408
1409 @item Cuando LilyPond comete errores, los usuarios necesitan sobreescribir
1410 las decisiones de formateo.  Por tanto, el usuario debe tener acceso
1411 al motor de formateo.  De aquí que las reglas y los ajustes
1412 predeterminados no se puedan fijar por nuestra parte en el tiempo de
1413 compilación sino que deben estar accesibles para los usuarios en el
1414 tiempo de ejecución.
1415
1416 @item El grabado musical es cuestión de juicio visual, y por tanto está en
1417 el terreno del buen gusto.  Por más entendidos que pretendamos ser,
1418 nuestros usuarios siempre podrían discrepar de nuestras decisiones
1419 personales.  Por ello, las definiciones del estilo tipográfico debe
1420 también ser accesible para el usuario.
1421
1422 @item Finalmente, nos encontramos refinando continuamente los algoritmos de
1423 formateo, por lo que necesitamos un enfoque flexible para las reglas.
1424 El lenguaje C++ fuerza un cierto método de agrupación de las reglas
1425 que no está preparado para aplicarse al formateo de la notación
1426 musical.
1427
1428 @end itemize
1429
1430 @cindex Scheme, lenguaje de programación
1431
1432 Estos programas se han solucionado integrando un intérprete para el
1433 lenguaje de programación Scheme y reescribiendo partes de LilyPond en
1434 Scheme.  La arquitectura de formateo actual está construida alrededor
1435 de la noción de objetos gráficos, descritos por medio de variables y
1436 funciones de Scheme.  Esta arquitectura coordina las reglas de
1437 formateo, el estilo tipográfico y las decisiones de formateo
1438 individuales.  El usuario tiene acceso directo a la mayoría de esos
1439 controles.
1440
1441 Las variables de Scheme controlan las decisiones de disposición en la
1442 página.  Por ejemplo, muchos objetos gráficos tienen una variable de
1443 dirección que codifica la elección entre arriba y abajo (o izquierda y
1444 derecha).  A continuación vemos dos acordes, con acentos y símbolos de
1445 arpegio.  En el primer acorde, los objetos gráficos tienen todas las
1446 direcciones hacia abajo (o hacia la izquierda).  El segundo acorde
1447 tiene todas las direcciones hacia arriba (o hacia la derecha).
1448
1449 @lilypond[quote,ragged-right]
1450 \new Score \with {
1451    \override SpacingSpanner #'spacing-increment = #3
1452    \override TimeSignature #'transparent = ##t
1453 } \relative c' {
1454    \stemDown <e g b>4_>-\arpeggio
1455    \override Arpeggio #'direction = #RIGHT
1456    \stemUp <e g b>4^>-\arpeggio
1457 }
1458 @end lilypond
1459
1460 @cindex partitura, formateo de
1461 @cindex formateo de una partitura
1462 @cindex formateo, reglas de
1463
1464 @noindent
1465 El proceso de dar formato a una partitura comprende la lectura y
1466 escritura de las variables de los objetos gráficos.  Algunas variables
1467 tienen un valor preestablecido.  Por ejemplo, el grosor de muchas
1468 líneas (una característica del estilo tipográfico) es una variable con
1469 un valor preestablecido. Somos libres de alterar este valor, dando a
1470 nuestra partitura una impresión tipográfica distinta.
1471
1472 @lilypond[quote,ragged-right]
1473 fragment = {
1474    \clef bass f8 as8
1475    c'4-~ c'16 as g f e16 g bes c' des'4
1476 }
1477 <<
1478    \new Staff \fragment
1479    \new Staff \with {
1480       \override Beam #'beam-thickness = #0.3
1481       \override Stem #'thickness = #0.5
1482       \override Bar #'thickness = #3.6
1483       \override Tie #'thickness = #2.2
1484       \override StaffSymbol #'thickness = #3.0
1485       \override Tie #'extra-offset = #'(0 .  0.3)
1486       }
1487       \fragment
1488 >>
1489 @end lilypond
1490
1491 Las reglas de formateado también son variables preestablecidas: cada
1492 objeto tiene variables que contienen procedimientos.  Estos
1493 procedimientos realizan el formateo propiamente dicho, y mediante la
1494 sustitución de unos u otros, podemos modificar el aspecto de los
1495 objetos.  En el ejemplo siguiente, la regla que gobierna qué objetos
1496 de cabeza se utilizan para producir el símbolo de la cabeza, se cambia
1497 a lo largo del fragmento musical.
1498
1499 @lilypond[quote,ragged-right]
1500 #(set-global-staff-size 30)
1501
1502 #(define (mc-squared grob orig current)
1503   (let* ((interfaces (ly:grob-interfaces grob))
1504          (pos (ly:grob-property grob 'staff-position)))
1505     (if (memq 'note-head-interface interfaces)
1506         (begin
1507           (ly:grob-set-property! grob 'stencil
1508             (grob-interpret-markup grob
1509               (make-lower-markup 0.5
1510                 (case pos
1511                   ((-5) "m")
1512                   ((-3) "c ")
1513                   ((-2) (make-smaller-markup (make-bold-markup "2")))
1514                   (else "bla")))))))))
1515
1516 \new Voice \relative c' {
1517   \stemUp
1518   \set autoBeaming = ##f
1519   \time 2/4
1520   <d f g>4
1521   \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
1522   \once \override NoteHead #'font-size = #-7
1523   \once \override NoteHead #'font-family = #'sans
1524   \once \override NoteHead #'font-series = #'bold
1525   <d f g>4
1526   \once \override NoteHead #'style = #'cross
1527   <d f g>4
1528   \applyOutput #'Voice #mc-squared
1529   <d f g>4
1530   <<
1531     { d8[ es-( fis^^ g] fis2-) }
1532     \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
1533   >>
1534 }
1535 @end lilypond
1536
1537
1538
1539 @node Poner a LilyPond a trabajar
1540 @section Poner a LilyPond a trabajar
1541 @translationof Putting LilyPond to work
1542
1543 @cindex simple, ejemplos
1544 @cindex ejemplos simples
1545
1546 Escribimos LilyPond como un experimento sobre cómo condensar el arte
1547 del grabado musical dentro de un programa de ordenador.  Gracias a
1548 todo ese duro trabajo, ahora el programa se puede utilizar para que
1549 realice muchas tareas útiles.  La aplicación más simple es la
1550 impresión de notas.
1551
1552 @lilypond[quote,relative=1]
1553 {
1554   \time 2/4
1555   c4 c g'4 g a4 a g2
1556 }
1557 @end lilypond
1558
1559 @noindent
1560 Añadiendo nombres de acorde y la letra de la canción obtenemos una
1561 hoja guía de acordes.
1562
1563 @c KEEP LY
1564 @lilypond[quote,ragged-right]
1565 <<
1566    \chords { c2 c f2 c }
1567    \new Staff
1568    \relative c' {
1569      \time 2/4
1570      c4 c g' g a a g2
1571    }
1572    \addlyrics { Cam -- pa ni -- ta del lu -- gar }
1573 >>
1574 @end lilypond
1575
1576 También puede imprimirse notación polifónica y música para piano.  El
1577 ejemplo siguiente combina unas pocas construcciones algo más exóticas.
1578
1579 @lilypond[quote,line-width=15.9\cm]
1580 \header {
1581   title = "Screech and boink"
1582   subtitle = "Random complex notation"
1583   composer = "Han-Wen Nienhuys"
1584 }
1585
1586 \score {
1587   \context PianoStaff <<
1588     \new Staff = "up" {
1589       \time 4/8
1590       \key c \minor
1591       << {
1592         \revert Stem #'direction
1593         \change Staff = down
1594         \set subdivideBeams = ##t
1595         g16.[
1596           \change Staff = up
1597           c'''32
1598           \change Staff = down
1599           g32
1600           \change Staff = up
1601           c'''32
1602           \change Staff = down
1603           g16]
1604         \change Staff = up
1605         \stemUp
1606         \set followVoice = ##t
1607         c'''32([ b''16 a''16 gis''16 g''32)]
1608       } \\ {
1609         s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
1610       } \\ {
1611         s4 \autoBeamOff d''8.. f''32
1612       } \\ {
1613         s4 es''4
1614       } >>
1615     }
1616
1617     \new Staff = "down" {
1618       \clef bass
1619       \key c \minor
1620       \set subdivideBeams = ##f
1621       \override Stem  #'french-beaming = ##t
1622       \override Beam  #'beam-thickness = #0.3
1623       \override Stem  #'thickness = #4.0
1624       g'16[ b16 fis16 g16]
1625       << \makeClusters {
1626         as16 <as b>
1627         <g b>
1628         <g cis>
1629       } \\ {
1630         \override Staff.Arpeggio  #'arpeggio-direction =#down
1631         <cis, e, gis, b, cis>4\arpeggio
1632       }
1633     >> }
1634   >>
1635   \midi {
1636     \context {
1637       \Score
1638       tempoWholesPerMinute = #(ly:make-moment 60 8)
1639     }
1640   }
1641   \layout {
1642     \context {
1643       \Staff
1644       \consists Horizontal_bracket_engraver
1645     }
1646   }
1647 }
1648 @end lilypond
1649
1650 Los fragmentos que se muestran arriba se han escrito a mano, pero esto
1651 no es obligatorio.  Puesto que el motor de formateado es casi
1652 totalmente automático, puede servir como un medio de salida para otros
1653 programas que manipulan música.  Por ejemplo, también se puede usar
1654 para convertir bases de datos de fragmentos musicales en imágenes
1655 orientadas a su utilización en páginas web y presentaciones
1656 multimedia.
1657
1658 Este manual muestra también una aplicación: el formato de entrada es
1659 texto, y puede ser por tanto fácilmente empotrado dentro de otros
1660 formatos basados en texto como @LaTeX{}, HTML, o en el caso de este
1661 manual, Texinfo.  Utilizando el programa @command{lilypond-book}, que
1662 viene incluido con LilyPond, los fragmentos de entrada se pueden
1663 reemplazar por imágenes de la música en los archivos de salida PDF o
1664 HTML resultantes.  Otro ejemplo es la extensión (de terceras partes)
1665 OOoLilyPond para OpenOffice.org, que hace de la inclusión de ejemplos
1666 musicales dentro de los documentos, una tarea extremadamente sencilla.
1667
1668 Para ver más ejemplos de LilyPond en acción, la documentación
1669 completa, y el programa propiamente dicho, visite nuestra página
1670 principal: www.lilypond.org.
1671
1672 @page
1673 @node Ejemplos de partituras (BWV 861)
1674 @section Ejemplos de partituras (BWV 861)
1675 @translationof Engraved examples (BWV 861)
1676
1677 Esta sección contiene cuatro grabados musicales de referencia y dos
1678 versiones grabadas por ordenador de la fuga en Sol menor del libro I
1679 del Clave Bien Temperado, BWV 861, de Bach (los últimos siete
1680 compases).
1681
1682 @noindent
1683 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1684 1989):
1685
1686 @iftex
1687 @sourceimage{bwv861-baer,16cm,,}
1688 @end iftex
1689 @ifnottex
1690 @sourceimage{bwv861-baer-small,,,png}
1691 @end ifnottex
1692
1693 @noindent
1694 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1695 1989), una fuente musical alternativa.  Aparte de las diferencias
1696 textuales, esto presenta ligeras variaciones en las decisiones de
1697 grabado, incluso de la misma editorial y edición:
1698
1699 @iftex
1700 @sourceimage{bwv861-baer-alt,16cm,,}
1701 @end iftex
1702 @ifnottex
1703 @sourceimage{bwv861-baer-alt-small,,,png}
1704 @end ifnottex
1705
1706 @noindent
1707 Breitkopf & Härtel, editado por Ferruccio Busoni (Wiesbaden, 1894),
1708 disponible también a través de la Biblioteca Musical Petrucci (IMSLP
1709 #22081).  Las indicaciones editoriales (digitaciones, articulaciones,
1710 etc.)  se han suprimido para una comparación más clara con las otras
1711 ediciones que presentamos aquí:
1712
1713 @iftex
1714 @sourceimage{bwv861-breitkopf,16cm,,}
1715 @end iftex
1716 @ifnottex
1717 @sourceimage{bwv861-breitkopf-small,,,png}
1718 @end ifnottex
1719
1720 @noindent
1721 Edición Bach-Gesellschaft (Leipzig, 1866), disponible a través de la
1722 Biblioteca Musical Petrucci (IMSPL #02221):
1723
1724 @iftex
1725 @sourceimage{bwv861-gessellschaft,16cm,,}
1726 @end iftex
1727 @ifnottex
1728 @sourceimage{bwv861-gessellschaft-small,,,png}
1729 @end ifnottex
1730
1731 @noindent
1732 Finale 2008:
1733
1734 @iftex
1735 @sourceimage{pdf/bwv861-finale2008a,,,}
1736 @end iftex
1737 @ifnottex
1738 @sourceimage{bwv861-finale2008a,,,png}
1739 @end ifnottex
1740
1741 @sp 4
1742 @noindent
1743 LilyPond, versión @version{}:
1744
1745 @lilypond[staffsize=14.3,line-width=15.9\cm]
1746 global = {\key g \minor}
1747
1748 partI = \relative c' {
1749   \voiceOne
1750   fis8 d' ees g, fis4 g
1751   r8 a16 bes c8 bes16 a d8 r r4
1752   r2 r8 d16 ees f8 ees16 d
1753   ees4 ~ ees16 d c bes a4 r8 ees'16 d
1754   c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
1755   a8 d, g f ees d c bes
1756   a2 g\fermata \bar "|."
1757 }
1758
1759 partII = \relative c' {
1760   \voiceTwo
1761   d4 r4 r8 d'16 c bes8 c16 d
1762   ees8 d c ees a, r r4
1763   r8 fis16 g a8 g16 fis g2 ~
1764   g2 r8 d' ees g,
1765   fis4 g r8 a16 bes c8 bes16 a
1766   bes4. <g b>8 <a c> r <d, g> r
1767   <ees g>4 <d fis> d2
1768 }
1769 partIII = \relative c' {
1770   \voiceOne
1771   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
1772   bes2 ~ bes8 b16 a g8 a16 b
1773   c4 r r2
1774   R1
1775   r8 d ees g, fis4 g
1776   r8 a16 bes c8 bes16 a b2
1777 }
1778 partIV = \relative c {
1779   \voiceTwo
1780   d4 r r2
1781   r8 d ees g, fis4 a
1782   d,8 d'16 c bes8 c16 d ees2 ~
1783   ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
1784   d,8 d'16 c bes8 c16 d ees8 c a fis'
1785   g f ees d c bes a g
1786   c a d d, g2\fermata
1787 }
1788
1789 \score {
1790   <<
1791     % \set Score.barNumberVisibility = #all-bar-numbers-visible
1792     % required in 2.13
1793     \set Score.currentBarNumber = #28
1794     \bar ""
1795     \new PianoStaff <<
1796       \new Staff = "RH" <<
1797         \global
1798         \new Voice = "voiceI" { \partI }
1799         \new Voice = "voiceII" { \partII }
1800       >>
1801
1802       \new Staff = "LH" <<
1803         \clef "bass"
1804         \global
1805         \new Voice = "voiceIII" { \partIII }
1806         \new Voice = "voiceIV" { \partIV }
1807       >>
1808     >>
1809   >>
1810   \layout {
1811     \context {
1812       \Staff
1813       \remove "Time_signature_engraver"
1814     }
1815     \context {
1816       \PianoStaff
1817       \override StaffGrouper #'between-staff-spacing #'padding = #1
1818     }
1819   }
1820 }
1821 @end lilypond