]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/essay/engraving.itely
Doc-es: some updates.
[lilypond.git] / Documentation / es / essay / engraving.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2
3 @ignore
4     Translation of GIT committish: fe2cae0fa47ec4ec0184e6b3d15572fbcba881cf
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         {
526           \once \override DynamicText #'X-offset = #-3
527           <ees g c>2.~->^\f
528           <ees g c>4.~ <ees g c>8
529         } \\ {
530           <c g c,>2.~
531           <c g c,>4.~ <c g c,>8
532         }
533       >>
534       r8 r16 <f, c' aes'>16
535       <f c' aes'>4.-> <c' g'>8 r r
536     }
537   >>
538 >>
539 @end lilypond
540 @end ignore
541
542 @node ¿Para qué tanto esfuerzo?
543 @unnumberedsubsec ¿Para qué tanto esfuerzo?
544 @translationof Why work so hard?
545
546 Los músicos están normalmente más absortos en su interpretación que en
547 el estudio del aspecto gráfico de una partitura impresa, por lo que
548 las minucias sobre los detalles tipográficos pueden parecer
549 académicas.  Pero no lo son.  La música impresa es material de
550 interpretación: todo se hace para ayudar al músico a tocar mejor, y
551 todo aquello que no está claro o no es agradable se convierte en un
552 obstáculo.
553
554 La música grabada de forma tradicional utiliza símbolos gruesos sobre
555 pautas de líneas pesadas para producir una notación de aspecto fuerte
556 y equilibrado que adquiere gran presencia cuando el papel está lejos
557 del lector: por ejemplo, sobre un atril.  Una distribución cuidadosa
558 del espacio vacío permite que la música se pueda disponer de forma muy
559 apretada sin aglomerar los símbolos entre sí.  El resultado reduce a
560 un mínimo el número de saltos de página, lo que es una gran ventaja.
561
562 Ésta es una característica común de la tipografía.  La disposición
563 sobre la página debe ser bonita, no sólo por sí misma, sino
564 especialmente porque ayuda al lector en su cometido.  Para las
565 partituras musicales esto es de doble importancia porque los músicos
566 tienen una cantidad de atención limitada.  Cuanta menos atención
567 necesitan para leer, más pueden centrarse en tocar la música.  En
568 otras palabras, una mejor tipografía lleva a mejores interpretaciones.
569
570 Estos ejemplos demuestran que la tipografía musical es un arte sutil y
571 complejo, y que producirla requiere una considerable experiencia, algo
572 que los músicos no suelen tener.  LilyPond es el resultado de nuestro
573 esfuerzo para llevar a la era de los ordenadores la excelencia gráfica
574 de la música grabada a mano, y ponerla a disposición de los músicos
575 normales.  Hemos ajustado nuestros algoritmos, el diseño de nuestras
576 fuentes tipográficas y los valores predeterminados del programa para
577 producir una impresión que iguala en calidad a la de las antiguas
578 ediciones que tanto nos gusta ver y a partir de las que tanto nos
579 gusta tocar.
580
581
582 @node Grabado automatizado
583 @section Grabado automatizado
584 @translationof Automated engraving
585
586 @cindex grabado automatizado
587 @cindex automatizado, grabado
588
589 Aquí describimos lo que se necesita para crear un software que pueda
590 recrear la disposición de las partituras grabadas: un método de
591 explicar las buenas disposiciones al ordenador, y gran cantidad de
592 comparaciones detalladas con grabados de música reales.
593
594 @menu
595 * Concursos de belleza::
596 * Mejoras por medio de pruebas::
597 * Hacer las cosas bien::
598 @end menu
599
600 @node Concursos de belleza
601 @unnumberedsubsec Concursos de belleza
602 @translationof Beauty contests
603
604 ¿Cómo realizamos las decisiones de formateo?  En otras palabras, ¿cuál
605 de las tres configuraciones elegiríamos para la siguiente ligadura?
606
607 @lilypond
608 \relative c {
609   \clef bass
610   \once \override Slur #'positions = #'(1.5 . 1)
611   e8[( f] g[ a b d,)] r4
612   \once \override Slur #'positions = #'(2 . 3)
613   e8[( f] g[ a b d,)] r4
614   e8[( f] g[ a b d,)] r4
615 }
616 @end lilypond
617
618 Están a nuestra disposición unos cuantos libros sobre el arte del
619 grabado musical.  Desgraciadamente, contienen unas sencillas reglas
620 prácticas y unos pocos ejemplos.  Dichas reglas pueden ser
621 instructivas, pero están muy lejos de constituir un algoritmo
622 preparado para poderlo implementar dentro de un programa.  Siguiendo
623 las instrucciones de esta literatura nos lleva a algoritmos con gran
624 cantidad de excepciones codificadas manualmente.  Hacer todo este
625 análisis de casos es mucho trabajo, y a menudo no todos los casos
626 están cubiertos completamente:
627
628 @quotation
629 @iftex
630 @sourceimage{ross-beam-scan,7cm,,}
631 @end iftex
632 @ifnottex
633 @sourceimage{ross-beam-scan,,,.jpg}
634 @end ifnottex
635 @end quotation
636
637 (Fuente de la imagen: Ted Ross, @emph{The Art of Music Engraving})
638
639 En lugar de intentar escribir detalladas reglas de disposición para
640 cada uno de los escenarios posibles, únicamente tenemos que describir
641 los objetivos lo suficientemente bien como para que LilyPond pueda
642 juzgar el nivel de atractivo visual de varias alternativas.  Después,
643 para cada posible configuración calculamos una puntuación de
644 fealdad y seleccionamos la configuración menos fea.
645
646 Por ejemplo, tenemos aquí tres configuraciones posibles para la
647 ligadura, y LilyPond ha otorgado una puntuación a cada una en
648 @q{puntos de fealdad}.  El primer ejemplo obtiene 15.39 puntos por
649 rozar la cabeza de una de las figuras:
650
651 @lilypond
652 \relative c {
653   \clef bass
654   \once \override Slur #'positions = #'(1.5 . 1)
655   e8[(_"15.39" f] g[ a b d,)] r4
656 }
657 @end lilypond
658
659 El segundo es mejor, pero la ligadura no comienza ni termina sobre la
660 cabeza de las notas.  Obtiene 1.71 puntos por el lado izquierdo y 9.37
661 puntos por el lado derecho, más otros 2 puntos porque la ligadura
662 asciende mientras la melodía desciende, dando un total de 13.08 puntos
663 de fealdad:
664
665 @lilypond
666 \relative c {
667   \clef bass
668   \once \override Slur #'positions = #'(2 . 3)
669   e8[(_"13.08" f] g[ a b d,)] r4
670 }
671 @end lilypond
672
673 La ligadura final obtiene 10.04 puntos por el salto de la derecha y 2
674 puntos por la inclinación hacia arriba, pero es la más atractiva de
675 las tres configuraciones, así que LilyPond selecciona ésta:
676
677 @lilypond
678 \relative c {
679   \clef bass
680   e8[(_"12.04" f] g[ a b d,)] r4
681 }
682 @end lilypond
683
684 Esta técnica es bastante general, y se utiliza para tomar decisiones
685 óptimas para la configuración de las barras, ligaduras y puntillos de
686 los acordes, saltos de línea y saltos de página.  El resultado de
687 estas decisiones se puede juzgar por comparación con grabados reales.
688
689 @node Mejoras por medio de pruebas
690 @unnumberedsubsec Mejoras por medio de pruebas
691 @translationof Improvement by benchmarking
692
693 La salida de LilyPond ha mejorado paulatinamente con el tiempo, y
694 continúa mejorando mediante su comparación con partituras grabadas a
695 mano.
696
697 Por ejemplo, he aquí una línea de una pieza utilizada como banco de
698 pruebas procedente de una edición realizada a mano (Bärenreiter
699 BA320):
700
701 @iftex
702 @sourceimage{baer-sarabande-hires,16cm,,}
703 @end iftex
704 @ifnottex
705 @sourceimage{baer-sarabande,,,png}
706 @end ifnottex
707
708 @noindent
709 y el mismo fragmento grabado tal y como lo hacía una versión muy
710 antigua de LilyPond (versión 1.4, mayo de 2001):
711
712 @iftex
713 @sourceimage{pdf/lily14-sarabande,16cm,,}
714 @end iftex
715 @ifnottex
716 @sourceimage{lily14-sarabande,,,png}
717 @end ifnottex
718
719 @noindent
720 Ciertamente, la salida de LilyPond 1.4 es legible pero una comparación
721 detenida con la partitura hecha a mano mostraba numerosos errores en
722 los detalles de formateo:
723
724 @iftex
725 @sourceimage{lily14-sarabande-annotated-hires,16cm,,}
726 @end iftex
727 @ifnottex
728 @sourceimage{lily14-sarabande-annotated,,,png}
729 @end ifnottex
730
731 @itemize @bullet
732 @item hay demasiado espacio antes de la indicación de compás
733 @item las plicas de las notas unidas por una barra son muy largas
734 @item los compases segundo y cuarto son muy estrechos
735 @item la ligadura tiene un aspecto extraño
736 @item el símbolo del trino es demasiado grande
737 @item las plicas son delgadas
738 @end itemize
739
740 @noindent
741 (También faltaban dos cabezas de nota y varias anotaciones
742 editoriales, y ¡la altura de una nota era incorrecta!)
743
744 Mediante el ajuste de las reglas de disposición y del diseño de la
745 fuente tipográfica, la salida ha mejorado de forma considerable.
746 Compare la misma partitura de referencia y la salida de la versión
747 actual de LilyPond (@version{}):
748
749 @iftex
750 @sourceimage{baer-sarabande-hires,16cm,,}
751 @end iftex
752 @ifnottex
753 @sourceimage{baer-sarabande,,,png}
754 @end ifnottex
755
756 @lilypond[staffsize=17.5,line-width=15.9\cm]
757 \relative c {
758   \clef "bass"
759   \key d \minor
760   \time 3/4
761   \mergeDifferentlyDottedOn
762   <<
763     { \slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e) }
764      \\
765     { d4_2 a2 }
766   >>
767   \slurDashed
768   <f' a, d,>4. e8( d c)
769   \slurSolid
770   bes8 g' f e16( f g_1 a_2 bes_3 d,_2)
771   \slurDashed
772   cis4.-\trill b8_3( a g)
773   <<
774     { \slurDashed d'8.( e16) e4.-\trill( d16 e) }
775      \\
776     { <f, a>4 a2 }
777   >>
778 }
779 @end lilypond
780
781 @noindent
782 La salida actual no es un clon de la edición de referencia, pero está
783 mucho más cerca de la calidad de publicación que la salida más
784 antigua.
785
786 @node Hacer las cosas bien
787 @unnumberedsubsec Hacer las cosas bien
788 @translationof Getting things right
789
790 También podemos medir la capacidad de LilyPond para tomar decisiones
791 de grabado musical automáticamente comparando su salida con la de un
792 producto de software comercial.  En este caso hemos elegido Finale
793 2008, que es uno de los editores de partituras comerciales más
794 populares, especialmente en los Estados Unidos.  Sibelius es su
795 principal competidor y parece tener especial presencia en el mercado
796 europeo.
797
798 Para nuestra comparación elegimos la fuga en Sol menor del Clave bien
799 temperado de Bach, libro I, BWV 861, cuyo sujeto inicial es
800
801 @lilypond
802 \relative c' {
803   \key g \minor
804   \clef "treble_8"
805   r8 d ees g, fis4 g
806   r8 a16 bes c8 bes16 a bes8
807 }
808 @end lilypond
809
810 @noindent
811
812 Hemos realizado nuestra comparación grabando los últimos siete
813 compases de la pieza (28 al 34) en Finale y en LilyPond.  Éste es el
814 punto de la pieza en que el sujeto vuelve a aparecer en un estrecho a
815 tres partes y conduce a la sección conclusiva.  En la versión de
816 Finale, hemos resistido la tentación de hacer cualquier ajuste sobre
817 la salida predeterminada porque tratamos de mostrar qué cosas hace
818 bien cada programa sin ayuda.  Las únicas manipulaciones de
819 importancia que hemos hecho ha sido los ajustes del tamaño de la
820 página para que se corresponda con este ensayo y forzar que la música
821 quepa en dos sistemas para facilitar la comparación.  De forma
822 predeterminada, Finale habría compuesto dos sistemas de tres compases
823 cada uno y un último sistema de plena anchura con un solo compás.
824
825 Muchas de las diferencias entre los dos grabados son visibles en los
826 compases 28 al 29, como se muestra aquí con Finale en primer lugar y
827 LilyPond en segundo:
828
829 @iftex
830 @sourceimage{pdf/bwv861mm28-29,14cm,,}
831 @end iftex
832 @ifnottex
833 @sourceimage{bwv861mm28-29,,,png}
834 @end ifnottex
835
836 @lilypond[staffsize=19.5,line-width=14\cm]
837 global = { \key g \minor }
838
839 partI = \relative c' {
840   \voiceOne
841   fis8 d' ees g, fis4 g
842   r8 a16 bes c8 bes16 a d8 r r4
843 }
844
845 partII = \relative c' {
846   \voiceTwo
847   d4 r4 r8 d'16 c bes8 c16 d
848   ees8 d c ees a, r r4
849 }
850 partIII = \relative c' {
851   \voiceOne
852   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
853 }
854 partIV = \relative c {
855   \voiceTwo
856   d4 r r2
857   r8 d ees g, fis4 a
858 }
859
860 \score {
861   <<
862     % \set Score.barNumberVisibility = #all-bar-numbers-visible
863     % required in 2.13
864     \set Score.currentBarNumber = #28
865     \bar ""
866     \new PianoStaff <<
867       \new Staff = "RH" <<
868         \global
869         \new Voice = "voiceI" { \partI }
870         \new Voice = "voiceII" { \partII }
871       >>
872       \new Staff = "LH"
873       <<
874         \clef "bass"
875         \global
876         \new Voice = "voiceIII" { \partIII }
877         \new Voice = "voiceIV" { \partIV }
878       >>
879     >>
880   >>
881   \layout {
882     \context {
883       \Staff
884       \remove "Time_signature_engraver"
885     }
886     \context {
887       \PianoStaff
888       \override StaffGrouper #'between-staff-spacing #'padding = #1
889     }
890   }
891 }
892 @end lilypond
893
894 Entre algunos de los puntos negativos de la salida sin retocar de
895 Finale se encuentran los siguientes:
896 @itemize @bullet
897 @item Casi todas las barras se salen demasiado del pentagrama.
898 Una barra que apunta hacia el centro del pentagrama debe tener una
899 longitud de una octava aproximadamente, pero los grabadores acortan
900 esta longitud cuando la barra apunta hacia fuera de la pauta en música
901 de varias voces.  El barrado de Finale se puede mejorar fácilmente con
902 su complemento de barras de Patterson, pero hemos decidido saltarnos
903 ese paso para este ejemplo.
904 @item Finale no ajusta las posiciones de las cabezas que se bloquean mutuamente,
905 lo que hace a la música extremadamente difícil de leer cuando las
906 voces superior e inferior intercambian temporalmente sus posiciones:
907
908 @c KEEP LY
909 @lilypond
910 collide = \once \override NoteColumn #'force-hshift = #0
911 \new Score <<
912   \new Voice = "sample" \relative c''{
913     \key g \minor
914     <<
915       { \voiceOne g4 \collide g4 }
916       \new Voice { \voiceTwo bes \collide bes }
917     >>
918   }
919   \new Lyrics \lyricsto "sample" \lyricmode { "bien " " mal" }
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 en acortar
971 algunas de las plicas, así que aún hay lugar 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 casi todas las situaciones más
978 comunes correctamente, esto ya constituirá una enorme ventaja sobre
979 los programas existentes.  Con el transcurso de los años, software se
980 puede refinar de forma que realice más y más cosas automáticamente de
981 forma que los ajustes manuales sean también cada vez menos necesarios.
982 Donde se necesitan ajustes manuales, la estructura de LilyPond está
983 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,relative=1]
1045 f4
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 c'' {
1110     \key g \major
1111     \time 3/4
1112     d4 g,8 a b c d4 g, g
1113   }
1114   \new Staff \relative c' {
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 c''' {
1156       \time 3/4
1157       \voiceOne
1158       \times 6/7 { g8 g g g g g g }
1159       \oneVoice
1160       r4 <b,, fis' g bes> r4\fermata
1161     }
1162     \new Voice = "II" \relative c' {
1163       \voiceTwo
1164       c4
1165       \times 4/5 {
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 c' {
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 "Beam_engraver"
1245       \remove "Auto_beam_engraver"
1246     }
1247     \context {
1248       \Staff
1249       \remove "Accidental_engraver"
1250       \remove "Key_engraver"
1251       \remove "Clef_engraver"
1252       \remove "Bar_engraver"
1253       \remove "Time_signature_engraver"
1254       \remove "Staff_symbol_engraver"
1255       \consists "Pitch_squash_engraver"
1256     }
1257   }
1258 }
1259 @end lilypond
1260
1261 @noindent
1262 A continuación, un grabador del pentagrama, el
1263 @code{Staff_symbol_engraver}, añade la pauta:
1264
1265 @lilypond[quote,ragged-right]
1266 \include "engraver-example.ily"
1267
1268 \score {
1269   \topVoice
1270   \layout {
1271     \context {
1272       \Voice
1273       \remove "Stem_engraver"
1274       \remove "Phrasing_slur_engraver"
1275       \remove "Slur_engraver"
1276       \remove "Script_engraver"
1277       \remove "Beam_engraver"
1278       \remove "Auto_beam_engraver"
1279     }
1280     \context {
1281       \Staff
1282       \remove "Accidental_engraver"
1283       \remove "Key_engraver"
1284       \remove "Clef_engraver"
1285       \remove "Bar_engraver"
1286       \consists "Pitch_squash_engraver"
1287       \remove "Time_signature_engraver"
1288     }
1289   }
1290 }
1291 @end lilypond
1292
1293 @noindent
1294 el grabador de la clave o @code{Clef_engraver} define un punto de
1295 referencia para el pentagrama:
1296
1297 @lilypond[quote,ragged-right]
1298 \include "engraver-example.ily"
1299
1300 \score {
1301   \topVoice
1302   \layout {
1303     \context {
1304       \Voice
1305       \remove "Stem_engraver"
1306       \remove "Phrasing_slur_engraver"
1307       \remove "Slur_engraver"
1308       \remove "Script_engraver"
1309       \remove "Beam_engraver"
1310       \remove "Auto_beam_engraver"
1311     }
1312     \context {
1313       \Staff
1314       \remove "Accidental_engraver"
1315       \remove "Key_engraver"
1316       \remove "Bar_engraver"
1317       \remove "Time_signature_engraver"
1318     }
1319   }
1320 }
1321 @end lilypond
1322
1323 @noindent
1324 y el grabador de las plicas @code{Stem_engraver} añade las plicas.
1325
1326 @lilypond[quote,ragged-right]
1327 \include "engraver-example.ily"
1328
1329 \score {
1330   \topVoice
1331   \layout {
1332     \context {
1333       \Voice
1334       \remove "Phrasing_slur_engraver"
1335       \remove "Slur_engraver"
1336       \remove "Script_engraver"
1337       \remove "Beam_engraver"
1338       \remove "Auto_beam_engraver"
1339     }
1340     \context {
1341       \Staff
1342       \remove "Accidental_engraver"
1343       \remove "Key_engraver"
1344       \remove "Bar_engraver"
1345       \remove "Time_signature_engraver"
1346     }
1347   }
1348 }
1349 @end lilypond
1350
1351 @noindent
1352 El grabador @code{Stem_engraver} que traza las plicas recibe una
1353 notificación por cada nota que le llega.  Cada vez que se ve la cabeza
1354 de una nota (o más, en el caso de un acorde), se crea un objeto plica
1355 y se conecta a la cabeza.  Añadiendo grabadores para las barras,
1356 ligaduras, acentos, alteraciones, líneas divisorias, la indicación de
1357 compás y la armadura, obtenemos un fragmento de notación musical
1358 completo.
1359
1360 @lilypond[quote,ragged-right]
1361 \include "engraver-example.ily"
1362 \score { \topVoice }
1363 @end lilypond
1364
1365 @cindex polifonía
1366 @cindex grabado de varias voces
1367 @cindex contextos
1368
1369 Este sistema funciona bien para la música a una voz, pero ¿qué tal
1370 para la polifonía? En la notación polifónica, muchas voces pueden
1371 llegar a compartir el mismo pentagrama.
1372
1373 @lilypond[quote,ragged-right]
1374 \include "engraver-example.ily"
1375 \new Staff << \topVoice \\ \botVoice >>
1376 @end lilypond
1377
1378 En esta situación, las alteraciones accidentales y la pauta se
1379 comparten, pero las plicas, ligaduras, barras, etc., son privadas para
1380 cada voz.  De aquí que los grabadores deban estar agrupados.  Los
1381 grabadores de la cabeza de las notas, plicas, ligaduras, etc., van a
1382 un grupo llamado @q{contexto de voz}, mientras que los grabadores de
1383 la armadura, las alteraciones, los compases, etc., van a un grupo
1384 llamado @q{contexto de pauta}.  En el caso de la polifonía, un solo
1385 contexto de pauta contiene más de un contexto de voz.  De forma
1386 similar, varios contextos de pentagrama se pueden reunir dentro de un
1387 único contexto de partitura.  El contexto de partitura es el contexto
1388 de notación del nivel más alto que hay.
1389
1390 @lilypond[quote,ragged-right]
1391 \include "engraver-example.ily"
1392 \score {
1393    <<
1394       \new Staff << \topVoice \\ \botVoice >>
1395       \new Staff << \pah \\ \hoom >>
1396    >>
1397 }
1398 @end lilypond
1399
1400 @seealso
1401 Referencia de funcionamiento interno:
1402 @rinternals{Contexts}.
1403
1404 @node Arquitectura flexible
1405 @unnumberedsubsec Arquitectura flexible
1406 @translationof Flexible architecture
1407
1408 Al principio escribimos el programa LilyPond completamente en el
1409 lenguaje de programación C++; la funcionalidad del programa estaba
1410 grabada en piedra por parte de los desarrolladores.  Se comprobó que
1411 esto no era satisfactorio por unas cuantas razones:
1412
1413 @itemize
1414
1415 @item Cuando LilyPond comete errores, los usuarios necesitan sobreescribir
1416 las decisiones de formateo.  Por tanto, el usuario debe tener acceso
1417 al motor de formateo.  De aquí que las reglas y los ajustes
1418 predeterminados no se puedan fijar por nuestra parte en el tiempo de
1419 compilación sino que deben estar accesibles para los usuarios en el
1420 tiempo de ejecución.
1421
1422 @item El grabado musical es cuestión de juicio visual, y por tanto está en
1423 el terreno del buen gusto.  Por más entendidos que pretendamos ser,
1424 nuestros usuarios siempre podrían discrepar de nuestras decisiones
1425 personales.  Por ello, las definiciones del estilo tipográfico debe
1426 también ser accesible para el usuario.
1427
1428 @item Finalmente, nos encontramos refinando continuamente los algoritmos de
1429 formateo, por lo que necesitamos un enfoque flexible para las reglas.
1430 El lenguaje C++ fuerza un cierto método de agrupación de las reglas
1431 que no está preparado para aplicarse al formateo de la notación
1432 musical.
1433
1434 @end itemize
1435
1436 @cindex Scheme, lenguaje de programación
1437
1438 Estos programas se han solucionado integrando un intérprete para el
1439 lenguaje de programación Scheme y reescribiendo partes de LilyPond en
1440 Scheme.  La arquitectura de formateo actual está construida alrededor
1441 de la noción de objetos gráficos, descritos por medio de variables y
1442 funciones de Scheme.  Esta arquitectura coordina las reglas de
1443 formateo, el estilo tipográfico y las decisiones de formateo
1444 individuales.  El usuario tiene acceso directo a la mayoría de esos
1445 controles.
1446
1447 Las variables de Scheme controlan las decisiones de disposición en la
1448 página.  Por ejemplo, muchos objetos gráficos tienen una variable de
1449 dirección que codifica la elección entre arriba y abajo (o izquierda y
1450 derecha).  A continuación vemos dos acordes, con acentos y símbolos de
1451 arpegio.  En el primer acorde, los objetos gráficos tienen todas las
1452 direcciones hacia abajo (o hacia la izquierda).  El segundo acorde
1453 tiene todas las direcciones hacia arriba (o hacia la derecha).
1454
1455 @lilypond[quote,ragged-right]
1456 \new Score \with {
1457    \override SpacingSpanner #'spacing-increment = #3
1458    \override TimeSignature #'transparent = ##t
1459 } \relative c' {
1460    \stemDown <e g b>4_>-\arpeggio
1461    \override Arpeggio #'direction = #RIGHT
1462    \stemUp <e g b>4^>-\arpeggio
1463 }
1464 @end lilypond
1465
1466 @cindex partitura, formateo de
1467 @cindex formateo de una partitura
1468 @cindex formateo, reglas de
1469
1470 @noindent
1471 El proceso de dar formato a una partitura comprende la lectura y
1472 escritura de las variables de los objetos gráficos.  Algunas variables
1473 tienen un valor preestablecido.  Por ejemplo, el grosor de muchas
1474 líneas (una característica del estilo tipográfico) es una variable con
1475 un valor preestablecido. Somos libres de alterar este valor, dando a
1476 nuestra partitura una impresión tipográfica distinta.
1477
1478 @lilypond[quote,ragged-right]
1479 fragment = {
1480    \clef bass f8 as8
1481    c'4-~ c'16 as g f e16 g bes c' des'4
1482 }
1483 <<
1484    \new Staff \fragment
1485    \new Staff \with {
1486       \override Beam #'beam-thickness = #0.3
1487       \override Stem #'thickness = #0.5
1488       \override Bar #'thickness = #3.6
1489       \override Tie #'thickness = #2.2
1490       \override StaffSymbol #'thickness = #3.0
1491       \override Tie #'extra-offset = #'(0 .  0.3)
1492       }
1493       \fragment
1494 >>
1495 @end lilypond
1496
1497 Las reglas de formateado también son variables preestablecidas: cada
1498 objeto tiene variables que contienen procedimientos.  Estos
1499 procedimientos realizan el formateo propiamente dicho, y mediante la
1500 sustitución de unos u otros, podemos modificar el aspecto de los
1501 objetos.  En el ejemplo siguiente, la regla que gobierna qué objetos
1502 de cabeza se utilizan para producir el símbolo de la cabeza, se cambia
1503 a lo largo del fragmento musical.
1504
1505 @lilypond[quote,ragged-right]
1506 #(set-global-staff-size 30)
1507
1508 #(define (mc-squared grob orig current)
1509   (let* ((interfaces (ly:grob-interfaces grob))
1510          (pos (ly:grob-property grob 'staff-position)))
1511     (if (memq 'note-head-interface interfaces)
1512         (begin
1513           (ly:grob-set-property! grob 'stencil
1514             (grob-interpret-markup grob
1515               (make-lower-markup 0.5
1516                 (case pos
1517                   ((-5) "m")
1518                   ((-3) "c ")
1519                   ((-2) (make-smaller-markup (make-bold-markup "2")))
1520                   (else "bla")))))))))
1521
1522 \new Voice \relative c' {
1523   \stemUp
1524   \set autoBeaming = ##f
1525   \time 2/4
1526   <d f g>4
1527   \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
1528   \once \override NoteHead #'font-size = #-7
1529   \once \override NoteHead #'font-family = #'sans
1530   \once \override NoteHead #'font-series = #'bold
1531   <d f g>4
1532   \once \override NoteHead #'style = #'cross
1533   <d f g>4
1534   \applyOutput #'Voice #mc-squared
1535   <d f g>4
1536   <<
1537     { d8[ es-( fis^^ g] fis2-) }
1538     \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
1539   >>
1540 }
1541 @end lilypond
1542
1543
1544
1545 @node Poner a LilyPond a trabajar
1546 @section Poner a LilyPond a trabajar
1547 @translationof Putting LilyPond to work
1548
1549 @cindex simple, ejemplos
1550 @cindex ejemplos simples
1551
1552 Escribimos LilyPond como un experimento sobre cómo condensar el arte
1553 del grabado musical dentro de un programa de ordenador.  Gracias a
1554 todo ese duro trabajo, ahora el programa se puede utilizar para que
1555 realice muchas tareas útiles.  La aplicación más simple es la
1556 impresión de notas.
1557
1558 @lilypond[quote,relative=1]
1559 {
1560   \time 2/4
1561   c4 c g'4 g a4 a g2
1562 }
1563 @end lilypond
1564
1565 @noindent
1566 Añadiendo nombres de acorde y la letra de la canción obtenemos una
1567 hoja guía de acordes.
1568
1569 @c KEEP LY
1570 @lilypond[quote,ragged-right]
1571 <<
1572    \chords { c2 c f2 c }
1573    \new Staff
1574    \relative c' {
1575      \time 2/4
1576      c4 c g' g a a g2
1577    }
1578    \addlyrics { Cam -- pa ni -- ta del lu -- gar }
1579 >>
1580 @end lilypond
1581
1582 También puede imprimirse notación polifónica y música para piano.  El
1583 ejemplo siguiente combina unas pocas construcciones algo más exóticas.
1584
1585 @lilypond[quote,line-width=15.9\cm]
1586 \header {
1587   title = "Screech and boink"
1588   subtitle = "Random complex notation"
1589   composer = "Han-Wen Nienhuys"
1590 }
1591
1592 \score {
1593   \context PianoStaff <<
1594     \new Staff = "up" {
1595       \time 4/8
1596       \key c \minor
1597       << {
1598         \revert Stem #'direction
1599         \change Staff = down
1600         \set subdivideBeams = ##t
1601         g16.[
1602           \change Staff = up
1603           c'''32
1604           \change Staff = down
1605           g32
1606           \change Staff = up
1607           c'''32
1608           \change Staff = down
1609           g16]
1610         \change Staff = up
1611         \stemUp
1612         \set followVoice = ##t
1613         c'''32([ b''16 a''16 gis''16 g''32)]
1614       } \\ {
1615         s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
1616       } \\ {
1617         s4 \autoBeamOff d''8.. f''32
1618       } \\ {
1619         s4 es''4
1620       } >>
1621     }
1622
1623     \new Staff = "down" {
1624       \clef bass
1625       \key c \minor
1626       \set subdivideBeams = ##f
1627       \override Stem  #'french-beaming = ##t
1628       \override Beam  #'beam-thickness = #0.3
1629       \override Stem  #'thickness = #4.0
1630       g'16[ b16 fis16 g16]
1631       << \makeClusters {
1632         as16 <as b>
1633         <g b>
1634         <g cis>
1635       } \\ {
1636         \override Staff.Arpeggio  #'arpeggio-direction =#down
1637         <cis, e, gis, b, cis>4\arpeggio
1638       }
1639     >> }
1640   >>
1641   \midi {
1642     \context {
1643       \Score
1644       tempoWholesPerMinute = #(ly:make-moment 60 8)
1645     }
1646   }
1647   \layout {
1648     \context {
1649       \Staff
1650       \consists Horizontal_bracket_engraver
1651     }
1652   }
1653 }
1654 @end lilypond
1655
1656 Los fragmentos que se muestran arriba se han escrito a mano, pero esto
1657 no es obligatorio.  Puesto que el motor de formateado es casi
1658 totalmente automático, puede servir como un medio de salida para otros
1659 programas que manipulan música.  Por ejemplo, también se puede usar
1660 para convertir bases de datos de fragmentos musicales en imágenes
1661 orientadas a su utilización en páginas web y presentaciones
1662 multimedia.
1663
1664 Este manual muestra también una aplicación: el formato de entrada es
1665 texto, y puede ser por tanto fácilmente empotrado dentro de otros
1666 formatos basados en texto como @LaTeX{}, HTML, o en el caso de este
1667 manual, Texinfo.  Utilizando el programa @command{lilypond-book}, que
1668 viene incluido con LilyPond, los fragmentos de entrada se pueden
1669 reemplazar por imágenes de la música en los archivos de salida PDF o
1670 HTML resultantes.  Otro ejemplo es la extensión (de terceras partes)
1671 OOoLilyPond para OpenOffice.org, que hace de la inclusión de ejemplos
1672 musicales dentro de los documentos, una tarea extremadamente sencilla.
1673
1674 Para ver más ejemplos de LilyPond en acción, la documentación
1675 completa, y el programa propiamente dicho, visite nuestra página
1676 principal: www.lilypond.org.
1677
1678 @page
1679 @node Ejemplos de partituras (BWV 861)
1680 @section Ejemplos de partituras (BWV 861)
1681 @translationof Engraved examples (BWV 861)
1682
1683 Esta sección contiene cuatro grabados musicales de referencia y dos
1684 versiones grabadas por ordenador de la fuga en Sol menor del libro I
1685 del Clave Bien Temperado, BWV 861, de Bach (los últimos siete
1686 compases).
1687
1688 @noindent
1689 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1690 1989):
1691
1692 @iftex
1693 @sourceimage{bwv861-baer,16cm,,}
1694 @end iftex
1695 @ifnottex
1696 @sourceimage{bwv861-baer-small,,,png}
1697 @end ifnottex
1698
1699 @noindent
1700 Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
1701 1989), una fuente musical alternativa.  Aparte de las diferencias
1702 textuales, esto presenta ligeras variaciones en las decisiones de
1703 grabado, incluso de la misma editorial y edición:
1704
1705 @iftex
1706 @sourceimage{bwv861-baer-alt,16cm,,}
1707 @end iftex
1708 @ifnottex
1709 @sourceimage{bwv861-baer-alt-small,,,png}
1710 @end ifnottex
1711
1712 @noindent
1713 Breitkopf & Härtel, editado por Ferruccio Busoni (Wiesbaden, 1894),
1714 disponible también a través de la Biblioteca Musical Petrucci (IMSLP
1715 #22081).  Las indicaciones editoriales (digitaciones, articulaciones,
1716 etc.)  se han suprimido para una comparación más clara con las otras
1717 ediciones que presentamos aquí:
1718
1719 @iftex
1720 @sourceimage{bwv861-breitkopf,16cm,,}
1721 @end iftex
1722 @ifnottex
1723 @sourceimage{bwv861-breitkopf-small,,,png}
1724 @end ifnottex
1725
1726 @noindent
1727 Edición Bach-Gesellschaft (Leipzig, 1866), disponible a través de la
1728 Biblioteca Musical Petrucci (IMSPL #02221):
1729
1730 @iftex
1731 @sourceimage{bwv861-gessellschaft,16cm,,}
1732 @end iftex
1733 @ifnottex
1734 @sourceimage{bwv861-gessellschaft-small,,,png}
1735 @end ifnottex
1736
1737 @noindent
1738 Finale 2008:
1739
1740 @iftex
1741 @sourceimage{pdf/bwv861-finale2008a,,,}
1742 @end iftex
1743 @ifnottex
1744 @sourceimage{bwv861-finale2008a,,,png}
1745 @end ifnottex
1746
1747 @sp 4
1748 @noindent
1749 LilyPond, versión @version{}:
1750
1751 @lilypond[staffsize=14.3,line-width=15.9\cm]
1752 global = {\key g \minor}
1753
1754 partI = \relative c' {
1755   \voiceOne
1756   fis8 d' ees g, fis4 g
1757   r8 a16 bes c8 bes16 a d8 r r4
1758   r2 r8 d16 ees f8 ees16 d
1759   ees4 ~ ees16 d c bes a4 r8 ees'16 d
1760   c8 d16 ees d8 e16 fis g8 fis16 g a4 ~
1761   a8 d, g f ees d c bes
1762   a2 g\fermata \bar "|."
1763 }
1764
1765 partII = \relative c' {
1766   \voiceTwo
1767   d4 r4 r8 d'16 c bes8 c16 d
1768   ees8 d c ees a, r r4
1769   r8 fis16 g a8 g16 fis g2 ~
1770   g2 r8 d' ees g,
1771   fis4 g r8 a16 bes c8 bes16 a
1772   bes4. <g b>8 <a c> r <d, g> r
1773   <ees g>4 <d fis> d2
1774 }
1775 partIII = \relative c' {
1776   \voiceOne
1777   r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
1778   bes2 ~ bes8 b16 a g8 a16 b
1779   c4 r r2
1780   R1
1781   r8 d ees g, fis4 g
1782   r8 a16 bes c8 bes16 a b2
1783 }
1784 partIV = \relative c {
1785   \voiceTwo
1786   d4 r r2
1787   r8 d ees g, fis4 a
1788   d,8 d'16 c bes8 c16 d ees2 ~
1789   ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a
1790   d,8 d'16 c bes8 c16 d ees8 c a fis'
1791   g f ees d c bes a g
1792   c a d d, g2\fermata
1793 }
1794
1795 \score {
1796   <<
1797     % \set Score.barNumberVisibility = #all-bar-numbers-visible
1798     % required in 2.13
1799     \set Score.currentBarNumber = #28
1800     \bar ""
1801     \new PianoStaff <<
1802       \new Staff = "RH" <<
1803         \global
1804         \new Voice = "voiceI" { \partI }
1805         \new Voice = "voiceII" { \partII }
1806       >>
1807
1808       \new Staff = "LH" <<
1809         \clef "bass"
1810         \global
1811         \new Voice = "voiceIII" { \partIII }
1812         \new Voice = "voiceIV" { \partIV }
1813       >>
1814     >>
1815   >>
1816   \layout {
1817     \context {
1818       \Staff
1819       \remove "Time_signature_engraver"
1820     }
1821     \context {
1822       \PianoStaff
1823       \override StaffGrouper #'between-staff-spacing #'padding = #1
1824     }
1825   }
1826 }
1827 @end lilypond