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