]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/user/input.itely
Add @endpredefined everywhere.
[lilypond.git] / Documentation / es / user / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond.tely
3 @ignore
4     Translation of GIT committish: f24b56a3274da3642348d075502ced7a2a84ecb5
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.11.61"
11
12 @node General input and output
13 @chapter General input and output
14
15 Esta sección trata de asuntos relacionados con la entrada y salida
16 generales de LilyPond, más que con la notación específica.
17
18 @menu
19 * Input structure::
20 * Titles and headers::
21 * Working with input files::
22 * Controlling output::
23 * MIDI output::
24 @end menu
25
26
27 @node Input structure
28 @section Input structure
29
30 El formato principal de entrada para LilyPond son archivos de texto.
31 Por convenio, el nombre de estos archivos termina en @code{.ly}.
32
33 @menu
34 * Structure of a score::
35 * Multiple scores in a book::
36 * File structure::
37 @end menu
38
39
40 @node Structure of a score
41 @subsection Structure of a score
42
43 @funindex \score
44
45 Ub bloque @code{\score} debe contener una expresión musical única
46 delimitada por un par de llaves:
47
48 @example
49 \score @{
50 ...
51 @}
52 @end example
53
54 @c outer?
55 @warning{Sólo puede haber @strong{una} expresión musical dentro del
56 bloque @code{\score}, y @strong{debe} estar encerrada entre llaves.}
57
58 Esta expresión musical única puede tener cualquier tamaño, y puede
59 contener otras expresiones musicales hasta cualquier grado de
60 complejidad.  Todos los siguientes ejemplos son expresiones musicales:
61
62 @example
63 @{ c'4 c' c' c' @}
64 @end example
65
66 @lilypond[verbatim,quote]
67 {
68   { c'4 c' c' c'}
69   { d'4 d' d' d'}
70 }
71 @end lilypond
72
73 @lilypond[verbatim,quote]
74 <<
75   \new Staff { c'4 c' c' c' }
76   \new Staff { d'4 d' d' d' }
77 >>
78 @end lilypond
79
80 @example
81 @{
82   \new GrandStaff <<
83     \new StaffGroup <<
84       \new Staff @{ \flute @}
85       \new Staff @{ \oboe @}
86     >>
87     \new StaffGroup <<
88       \new Staff @{ \violinI @}
89       \new Staff @{ \violinII @}
90     >>
91   >>
92 @}
93 @end example
94
95 Los comentarios son una excepción a esta regla general (para ver otras
96 excepciones, consulte @ref{File structure}).  Tanto los comentarios de
97 una línea como los que están delimitados por @code{%@{ .. %@}} se
98 pueden escribir en cualquier lugar dentro del archivo de entrada.  Se
99 pueden escribir dentro o fuera del bloque @code{\score}, y dentro o
100 fuera de la expresión musical única dentro del bloque @code{\score}.
101
102 @seealso
103
104 Manual de aprendizaje:
105 @rlearning{Working on input files},
106 @rlearning{Music expressions explained},
107 @rlearning{Score is a (single) compound musical expression}.
108
109
110 @node Multiple scores in a book
111 @subsection Multiple scores in a book
112
113 @funindex \book
114 @cindex movimientos, varios
115
116 Un documento puede contener varias piezas de música y texto.  Son
117 ejemplos un libro de estudios o una parte orquestal con varios
118 movimientos.  Cada movimiento se introduce con un bloque
119 @code{\score}:
120
121 @example
122 \score @{
123   @var{..música..}
124 @}
125 @end example
126
127 y los textos se introducen con un bloque @code{\markup}:
128
129 @example
130 \markup @{
131   @var{..texto..}
132 @}
133 @end example
134
135 @funindex \book
136
137 Todos los movimientos y textos que aparecen en el mismo archivo
138 @code{.ly} se tipografían normalmente en la forma de un solo archivo
139 de salida.
140
141 @example
142 \score @{
143   @var{..}
144 @}
145 \markup @{
146   @var{..}
147 @}
148 \score @{
149   @var{..}
150 @}
151 @end example
152
153 Sin embargo, si queremos varios archivos de salida a partir del mismo
154 archivo @code{.ly}, podemos escribir varios bloques @code{\book},
155 donde cada uno de estos bloques @code{\book} dará como resultado un
156 archivo de salida distinto.  Si no especificamos ningún bloque
157 @code{\book} en el archivo,, LilyPond trata implícitamente todo el
158 archivo como un solo bloque @code{\book}, véase @ref{File structure}.
159 Una excepción importante se da dentro de los documentos de
160 lilypond-book, en los que tenemos que escribir explícitamente un
161 bloque @code{\book}, pues en caso contrario sólo aparecerá en la
162 salida el primer @code{\score} o @code{\markup}.
163
164 El encabezamiento de cada pieza se puede poner dentro del bloque
165 @code{\score}.  Antes de cada movimiento, se imprime el nombre de la
166 pieza (@code{piece}) extraído del encabezamiento.  El título del libro
167 entero se puede poner dentro del bloque @code{\book}, pero si no está
168 presente se inserta el encabezamiento @code{\header} que está al
169 principio del archivo.
170
171 @example
172 \header @{
173   title = "Ocho miniaturas"
174   composer = "Igor Stravinsky"
175 @}
176 \score @{
177   @dots{}
178   \header @{ piece = "Romanze" @}
179 @}
180 \markup @{
181    ..texto de la segunda estrofa..
182 @}
183 \markup @{
184    ..texto de la tercera estrofa..
185 @}
186 \score @{
187   @dots{}
188   \header @{ piece = "Menuetto" @}
189 @}
190 @end example
191
192
193 @funindex \bookpart
194
195 Se pueden agrupar distintas piezas de música en partes de un libro
196 utilizando bloques @code{\bookpart}.  Las partes de libro se separan
197 por medio de saltos de página, y pueden dar comienzo con un título,
198 como el libro propiamente dicho, mediante la especificación del bloque
199 @code{\header}.
200
201 @example
202 \bookpart @{
203   \header @{
204     title = "Título del libro"
205     subtitle = "Primera parte"
206   @}
207   \score @{ @dots{} @}
208   @dots{}
209 @}
210 \bookpart @{
211   \header @{
212     subtitle = "Segunda parte"
213   @}
214   \score @{ @dots{} @}
215   @dots{}
216 @}
217 @end example
218
219
220 @node File structure
221 @subsection File structure
222
223 @funindex \paper
224 @funindex \midi
225 @funindex \layout
226 @funindex \header
227 @funindex \score
228 @funindex \book
229 @funindex \bookpart
230
231 Un archivo @code{.ly} puede contener cualquier número de expresions
232 del nivel superior, donde una expresión del nivel superior es una de
233 las siguientes posibilidades:
234
235 @itemize @bullet
236 @item
237 Una definición de salida, como @code{\paper}, @code{\midi} y
238 @code{\layout}.  Tal definición en el nivel más alto cambia los
239 ajustes predeterminados para todo el libro.  Si se introduce más de
240 una de estas definiciones del mismo tipo en el nivel más alto,
241 cualquier definición en una expresión posterior tiene prioridad.
242
243 @item
244 Una expresión directa de Scheme, como
245 @code{#(set-default-paper-size "a7" 'landscape)} o
246 @code{#(ly:set-option 'point-and-click #f)}.
247
248 @item
249 Un bloque @code{\header}.  Esto establece el bloque de encabezamiento
250 global.  Es el bloque que contiene las definiciones de los ajustes
251 para todo el libro, como el compositor, título, etc.
252
253 @item
254 Un bloque @code{\score}.  Esta partitura se reúne con otras partituras
255 del nivel superior, y se combina con ellas formando un @code{\book}
256 (libro) único.  Este comportamiento se puede cambiar estableciendo el
257 valor de la variable @code{toplevel-score-handler} en el nivel
258 superior.  El @emph{handler} predeterminado se define en el archivo de
259 inicio @file{../scm/@/lily@/.scm}.
260
261 @item
262 Un bloque @code{\book} combina lógicamente varios movimientos (es
263 decir, varios bloques @code{\score}) en un solo documento.  Si hay
264 varias partituras @code{\score}, se crea un solo archivo de salida
265 para cada bloque @code{\book}, en el que se concatenan todos los
266 movimientos correspondientes.  La únca razón para especificar
267 explícitamente bloques @code{\book} en un archivo de entrada
268 @code{.ly} es si queremos crear varios archivos de salida a partir de
269 un único archivo de entrada.  Una excepción se da dentro de los
270 documentos de lilypond-book, en los que tenemos que escribir
271 explícitamente un bloque @code{\book} si queremos tener más de una
272 única partitura @code{\score} o marcado @code{\markup} en el mismo
273 ejemplo.  Se puede cmbiar este comportamiento estableciendo el valor
274 de la variable @code{toplevel-book-handler} en el nivel superior.  El
275 @emph{handler} predeterminado se define en el archivo de inicio
276 @file{../scm/@/lily@/.scm}.
277
278 @item
279 Un bloque @code{\bookpart}.  Un libro puede dividirse en varias
280 partes, utilizando bloques @code{\bookpart}, con objeto de facilitar
281 la inserción de saltos de página o usar distintos ajustes de
282 @code{\paper} en las distintas partes.
283
284 @item
285 Una expresión musical compuesta, como
286 @example
287 @{ c'4 d' e'2 @}
288 @end example
289
290 Esto añade la pieza al @code{\score} y la conforma dentro de un libro
291 único junto a todas las demás partituras @code{\score} y expresiones
292 musicales del nivel superior.  En otras palabras, un archivo que
293 contiene sólo la expresión musical anterior se traduce a
294
295 @example
296 \book @{
297   \score @{
298     \new Staff @{
299       \new Voice @{
300         @{ c'4 d' e'2 @}
301       @}
302     @}
303   @}
304         \layout @{ @}
305         \header @{ @}
306 @}
307 @end example
308
309 Se puede cambiar este comportamiento estableciendo el valor de la
310 bariable @code{toplevel-music-handler} en el nivel más alto.  El
311 @emph{handler} predeterminado se define en el archivo de inicio
312 @file{../scm/@/lily@/.scm}.
313
314 @item
315 Un texto de marcado, por ejemplo una estrofa
316 @example
317 \markup @{
318    2.  Estrofa dos, línea uno
319 @}
320 @end example
321
322 Los textos de marcado se colocan encima, en medio o debajo de las
323 partituras o expresiones musicales, según donde aparezcan escritos.
324
325 @cindex variables
326
327 @item
328 Una variable, como
329 @example
330 fulano = @{ c4 d e d @}
331 @end example
332
333 Esto se puede utilizar más tarde en el archivo escribiendo
334 @code{\fulano}.  El nombre de las variables ha de ser exclusivamente
335 alfabético; sin números, guiones ni barras bajas.
336
337 @end itemize
338
339 El ejemplo siguiente muestra tres cosas que se pueden introducir en el
340 nivel superior:
341
342 @example
343 \layout @{
344   % No justificar la salida
345   ragged-right = ##t
346 @}
347
348 \header @{
349    title = "Do-re-mi"
350 @}
351
352 @{ c'4 d' e2 @}
353 @end example
354
355 En cualquier punto del archivo se pueden introducir cualquiera de las
356 instrucciones léxicas siguientes:
357
358 @itemize
359 @item @code{\version}
360 @item @code{\include}
361 @item @code{\sourcefilename}
362 @item @code{\sourcefileline}
363 @item
364 Un comentario de una línea, determinado por un símbolo @code{%} al principio.
365
366 @item
367 Un comentario de varias líneas, delimitado por @code{%@{ .. %@}}.
368
369 @end itemize
370
371 @seealso
372
373 Manual de aprendizaje:
374 @rlearning{How LilyPond input files work}.
375
376
377 @node Titles and headers
378 @section Titles and headers
379
380 Casi toda la música impresa tiene un título y el nombre del
381 compositor; ciertas piezas tienen mucha más información.
382
383 @menu
384 * Creating titles::
385 * Custom titles::
386 * Reference to page numbers::
387 * Table of contents::
388 @end menu
389
390
391 @node Creating titles
392 @subsection Creating titles
393
394 Se crean títulos para cada uno de los bloques @code{\score} así como
395 para todo el archivo de entrada (o bloque @code{\book}, libro) y las
396 partes de libro (creadas mediante bloques @code{\bookpart}).
397
398 El contenido de cada título se extrae a partir de los bloques
399 @code{\header} (cabecera).  El bloque de cabecera de un libro
400 contempla lo siguiente:
401
402 @table @code
403 @funindex dedicatoria
404 @item dedication
405 El dedicatario de la música, centrado en lo alto de la primera página.
406
407 @funindex title
408 @item title
409 El título de la música, centrado justo debajo de la
410 dedicatoria.
411
412 @funindex subtitle
413 @item subtitle
414 Subtítulo, centrado debajo del título.
415
416 @funindex subsubtitle
417 @item subsubtitle
418 Sub-subtítulo, centrado debajo del subtítulo.
419
420 @funindex poet
421 @item poet
422 Nombre del poeta, a la izquierda, debajo del subtítulo.
423
424 @funindex composer
425 @item composer
426 Nombre del compositor, a la derecha, debajo del subtítulo.
427
428 @funindex meter
429 @item meter
430 Texto de la medida, a la izquierda, debajo del poeta.
431
432 @funindex opus
433 @item opus
434 Nombre del Opus, a la derecha, debajo del compositor.
435
436 @funindex arranger
437 @item arranger
438 Nombre del arreglista, a la derecha, debajo del Opus.
439
440 @funindex instrument
441 @item instrument
442 Nombre del instrumento, centrado, debajo del arreglista.  También
443 aparece centrado en lo alto de cada página (aparte de la primera).
444
445 @funindex piece
446 @item piece
447 Nombre de la pieza, a la izquierda, debajo del instrumento.
448
449 @cindex página, saltos, forzar
450 @funindex breakbefore
451 @item breakbefore
452 Esto fuerza que el título comience sobre una página nueva (establézcalo a ##t o a ##f).
453
454 @funindex copyright
455 @item copyright
456 Aviso de Copyright, centrado en la parte inferior de la primera
457 página.  Para insertar el símbolo de copyright symbol, consulte
458 @ref{Text encoding}.
459
460 @funindex tagline
461 @item tagline
462 Cartel de propósito general en el pie de página, centrado al final de la última.
463
464 @end table
465
466 A continuación presentamos una demostración de todos los campos que
467 están disponibles.  Fíjese en que puede utilizar en la cabecera
468 cualquier instrucción de marcado de texto (Véase @ref{Formatting text}).
469
470 @lilypond[quote,verbatim,line-width=11.0\cm]
471 \paper {
472   line-width = 9.0\cm
473   paper-height = 10.0\cm
474 }
475
476 \book {
477   \header {
478     dedication = "dedicated to me"
479     title = \markup \center-column { "Title first line" "Title second line,
480 longer" }
481     subtitle = "the subtitle,"
482     subsubtitle = #(string-append "subsubtitle LilyPond version "
483 (lilypond-version))
484     poet = "Poet"
485     composer =  \markup \center-column { "composer" \small "(1847-1973)" }
486     texttranslator = "Text Translator"
487     meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
488 "r" }
489     arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
490 #-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
491     instrument = \markup \bold \italic "instrument"
492     piece = "Piece"
493   }
494
495   \score {
496     { c'1 }
497     \header {
498       piece = "piece1"
499       opus = "opus1"
500     }
501   }
502   \markup {
503       and now...
504   }
505   \score {
506     { c'1 }
507     \header {
508       piece = "piece2"
509       opus = "opus2"
510     }
511   }
512 }
513 @end lilypond
514
515 Como se mostró anteriormente, puede usar varios bloques
516 @code{\header}.  Cuando los mismos campos aparecen en distintos
517 bloques, tiene validez el último en definirse.  A continuación un
518 breve ejemplo.
519
520 @example
521 \header @{
522   composer = "Compositor"
523 @}
524 \header @{
525   piece = "Pieza"
526 @}
527 \score @{
528   \new Staff @{ c'4 @}
529   \header @{
530     piece = "Otra pieza"  % sobreescribe a la anterior
531   @}
532 @}
533 @end example
534
535 Si define la cabecera @code{\header} dentro del bloque @code{\score},
536 por lo general se imprimirán solamente las cabeceras @code{piece} y
537 @code{opus}.  Fíjese en que la expresión musical debe aparecer antes
538 del @code{\header}.
539
540 @lilypond[quote,verbatim,line-width=11.0\cm]
541 \score {
542   { c'4 }
543   \header {
544     title = "title"  % not printed
545     piece = "piece"
546     opus = "opus"
547   }
548 }
549 @end lilypond
550
551 @funindex print-all-headers
552 @noindent
553 Se puede cambiar este comportamiento (e imprimir todas las cabeceras
554 cuando la cabecera @code{\header} está definida dentro del bloque
555 @code{\score}) mediante la utilización de
556
557 @example
558 \paper@{
559   print-all-headers = ##t
560 @}
561 @end example
562
563 @cindex copyright
564 @cindex tagline
565
566 El pie de página por omisión se encuentra vacío, excepto para la
567 primera página, en la que se inserta el campo de @code{copyright}
568 extraído del @code{\header}, y para la última página, en la que se
569 escribe el cartel @code{tagline} sacado del bloque @code{\header}.  La
570 línea por omisión para este cartel es @qq{Music engraving by LilyPond
571 (@var{version})}.@footnote{Las partituras bien tipografiadas son una
572 magnífica promoción para nosotros, así que por favor, si puede,
573 conserve intacta la línea del letrero.}
574
575 Las cabeceras se pueden quitar completamente estableciendo su valor a
576 falso.
577
578 @example
579 \header @{
580   tagline = ##f
581   composer = ##f
582 @}
583 @end example
584
585
586 @node Custom titles
587 @subsection Custom titles
588
589 Una opción más avanzada es cambiar las definiciones de las variables
590 siguientes dentro del bloque @code{\paper} block.  El archivo de
591 inicio @file{ly/titling-init.ly} ofrece un listado de la disposición
592 predeterminada.
593
594 @table @code
595 @funindex bookTitleMarkup
596 @item bookTitleMarkup
597   Es el título que se escribe en lo alto del documento de salida
598 completo.  Normalmente contiene el compositor y el título de la pieza.
599
600 @funindex scoreTitleMarkup
601 @item scoreTitleMarkup
602   Es el título que se coloca por encima de un bloque @code{\score}.
603 normalmente contiene el nombre del movimiento (campo @code{piece}).
604
605 @funindex oddHeaderMarkup
606 @item oddHeaderMarkup
607   Es el encabezamiento de las páginas de numeración impar.
608
609 @funindex evenHeaderMarkup
610 @item evenHeaderMarkup
611   Es el encabezamiento de las páginas de numeración par.  Si se deja
612   sin especificar, se usará el encabezamiento de las páginas impares.
613
614   De forma predeterminada, los encabezamientos se definen de tal forma
615 que el número de página está en el borde exterior, y el isntrumento
616 está centrado.
617
618 @funindex oddFooterMarkup
619 @item oddFooterMarkup
620   Es el pie de las páginas de numeración impar.
621
622 @funindex evenFooterMarkup
623 @item evenFooterMarkup
624   Es el pie de las páginas de numeración par.  Si se deja sin
625   especificar, se usará en su lugar el encabezamiento de las páginas
626   impares.
627
628   De forma predeterminada, el pie de página tiene el aviso de
629 copyright en la primera página, y el cartel @code{tagline} en la
630 última.
631 @end table
632
633
634 @cindex \paper
635 @cindex encabezamiento
636 @cindex header
637 @cindex pie
638 @cindex disposición de la página
639 @cindex títulos
640
641 La definición siguiente pone el título en el extremo izquierdo, y el
642 compositor en el extremo derecho sobre una única línea.
643
644 @verbatim
645 \paper {
646   bookTitleMarkup = \markup {
647    \fill-line {
648      \fromproperty #'header:title
649      \fromproperty #'header:composer
650    }
651   }
652 }
653 @end verbatim
654
655 @node Reference to page numbers
656 @subsection Reference to page numbers
657
658 Se puede marcar un lugar determinado de una partitura utilizando la
659 instrucción @code{\label} (etiqueta), bien en lo alto de la estructura
660 o bien dentro de la música.  Posteriormente se puede hacer referencia
661 a esta etiqueta dentro de un elemento de marcado, para obtener el
662 número de la página en que se encuentra la marca, usando la
663 instrucción de marcado @code{\page-ref}.
664
665 @lilypond[verbatim,line-width=11.0\cm]
666 \header { tagline = ##f }
667 \book {
668   \label #'firstScore
669   \score {
670     {
671       c'1
672       \pageBreak \mark A \label #'markA
673       c'
674     }
675   }
676
677   \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
678   \markup { Mark A is on page \page-ref #'markA "0" "?" }
679 }
680 @end lilypond
681
682 La instrucción de marcado @code{\page-ref} toma tres argumentos:
683 @enumerate
684 @item la etiqueta, un símbolo de scheme, p.ej. @code{#'firstScore};
685 @item un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
686 @item un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
687 @end enumerate
688
689 El motivo de que se necesite un medidor es que en el momento en que se
690 están interpretando los marcados, los saltos de página aún no se han
691 producido y por tanto los números de página no se conocen todavía.
692 Para sortear este inconveniente, la interpretación real del marcado se
693 retrasa hasta un momento posterior; sin embargo, las dimensiones del
694 marcado se tienen que conocer de antemano, así que se usa el medidor
695 para decidir estas dimensiones.  Si el libro tiene entre 10 y 99
696 páginas, el medidor puede ser "00", es decir, un número de dos
697 dígitos.
698
699
700 @predefined
701 @funindex \label
702 @code{\label},
703 @funindex \page-ref
704 @code{\page-ref}.
705 @endpredefined
706
707
708 @node Table of contents
709 @subsection Table of contents
710
711 Se puede insertar un índice general o tabla de contenidos utilizando
712 la instrucción @code{\markuplines \table-of-contents}.  Los elementos
713 que deben aparecer en la tabla de contenidos se introducen con la
714 instrucción @code{\tocItem}, que se puede usar en el nivel más alto de
715 la jerarquía del código, o dentro de una expresión musical.
716
717 @verbatim
718 \markuplines \table-of-contents
719 \pageBreak
720
721 \tocItem \markup "Primera partitura"
722 \score {
723   {
724     c'  % ...
725     \tocItem \markup "Un punto concreto dentro de la primera partitura"
726     d'  % ...
727   }
728 }
729
730 \tocItem \markup "Segunda partitura"
731 \score {
732   {
733     e' % ...
734   }
735 }
736 @end verbatim
737
738 Los elementos de marcado que se usan para dar formato al índice
739 general se encuentran definidos dentro del bloque @code{\paper}.  Los
740 elementos predeterminados son @code{tocTitleMarkup}, para dar formato
741 al título de la tabla, y @code{tocItemMarkup}, para aplicar formato a
742 los elementos del índice, que consisten en el título del elemento y el
743 número de página.  Estas variables se pueden cambiar por parte del
744 usuario:
745
746 @verbatim
747 \paper {
748   %% Traducir el título del índice al español:
749   tocTitleMarkup = \markup \huge \column {
750     \fill-line { \null "Índice general" \null }
751     \hspace #1
752   }
753   %% usar una fuente mayor
754   tocItemMarkup = \markup \large \fill-line {
755     \fromproperty #'toc:text \fromproperty #'toc:page
756   }
757 }
758 @end verbatim
759
760 Observe la forma en que nos referimos al texto y al número de página
761 del elemento de índice, dentro de la definición @code{tocItemMarkup}.
762
763 También se pueden definir nuevas instrucciones y elementos de
764 marcado para crear índices generales más eleborados:
765 @itemize
766 @item en primer lugar, defina una variable de marcado nueva dentro del bloque @code{\paper}
767 @item luego defina una función de música cuyo propósito es añadir un elemento al índice general
768 utilizando esta variable de marcado del bloque @code{\paper}.
769 @end itemize
770
771 En el ejemplo siguiente se define un estilo nuevo para introducir los
772 nombres de los actos de una ópera en el índice general:
773
774 @verbatim
775 \paper {
776   tocActMarkup = \markup \large \column {
777     \hspace #1
778     \fill-line { \null \italic \fromproperty #'toc:text \null }
779     \hspace #1
780   }
781 }
782
783 tocAct =
784 #(define-music-function (parser location text) (markup?)
785    (add-toc-item! 'tocActMarkup text))
786 @end verbatim
787
788 @lilypond[line-width=11.0\cm]
789 \header { tagline = ##f }
790 \paper {
791   tocActMarkup = \markup \large \column {
792     \hspace #1
793     \fill-line { \null \italic \fromproperty #'toc:text \null }
794     \hspace #1
795   }
796 }
797
798 tocAct =
799 #(define-music-function (parser location text) (markup?)
800    (add-toc-item! 'tocActMarkup text))
801
802 \book {
803   \markuplines \table-of-contents
804   \tocAct \markup { Atto Primo }
805   \tocItem \markup { Coro. Viva il nostro Alcide }
806   \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
807   \tocAct \markup { Atto Secondo }
808   \tocItem \markup { Sinfonia }
809   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
810   \markup \null
811 }
812 @end lilypond
813
814 @seealso
815
816 Archivos de inicio:
817 @file{ly/@/toc@/-init@/.ly}.
818
819
820 @predefined
821 @funindex \table-of-contents
822 @code{\table-of-contents},
823 @funindex \tocItem
824 @code{\tocItem}.
825 @endpredefined
826
827
828 @node Working with input files
829 @section Working with input files
830
831 @menu
832 * Including LilyPond files::
833 * Different editions from one source::
834 * Text encoding::
835 * Displaying LilyPond notation::
836 @end menu
837
838
839 @node Including LilyPond files
840 @subsection Including LilyPond files
841
842 @funindex \include
843 @cindex including files
844
845 Un proyecto grande se puede dividir en varios archivos.  Para
846 referirse a otro archivo, utilice
847
848 @example
849 \include "otroarchivo.ly"
850 @end example
851
852 La línea @code{\include "otroarchivo.ly"} equivale a pegar todo el
853 contenido de @file{otroarchivo.ly} en el archivo actual en el lugar en
854 que aparece el @code{\include}.  Por ejemplo, en un proyecto grande
855 podríamos querer archivos distintos para cada parte instrumental y
856 crear un archivo de @qq{partitura completa} que reúne los archivos
857 individuales de los instrumentos.  Normalmente el archivo incluido
858 define un cierto número de variables que a partir de entonces quedan
859 disponibles para poderlas utilizar en el archivo de la partitura
860 completa.  En los archivos incluidos se pueden marcar las secciones
861 etiquetadas para ayudar a hacerlas utilizables en distintos lugares de
862 la partitura, véase @ref{Different editions from one source}.
863
864 Los archivos que están en el directorio de trabajo actual se pueden
865 referenciar simplemente especificando el nombre depués de la
866 instrucción @code{\include}.  Los archivos en otros lugares se pueden
867 incluir proporcionando una referencia de ruta completa o una ruta
868 relativa (pero utilice la barra inclinada normal del UNIX, /, no la
869 barra invertida de DOS/Windows, \, como separador de directorio).  Por
870 ejemplo, si @file{material.ly} está situado un directorio por encima
871 del directorio de trabajo actual, utilice
872
873 @example
874 \include "../material.ly"
875 @end example
876
877 @noindent
878 o si los archivos de las partes orquestales incluidas están todos
879 situados en un subdirectorio llamado @file{partes} dentro del
880 directorio actual, use
881
882 @example
883 \include "partes/VI.ly"
884 \include "partes/VII.ly"
885 ... etc.
886 @end example
887
888 Los archivos de inclusión también pueden contener enunciados
889 @code{\include} a su vez.  Estos enunciados @code{\include} de segundo
890 nivel no se interpretan hasta que se incorporan al archivo principal,
891 por lo que los nombres de archivo que especifican deben ser relativos
892 al directorio que contiene el archivo principal, no al directorio que
893 contiene el archivo incluido.
894
895 También se pueden incluir archivos de un directorio que está en una
896 ruta de búsqueda especificada como opción al invocar a LilyPond desde
897 la línea de órdenes.  Los archivos incluidos se especifican usando
898 solamente su nombre de archivo.  Por ejemplo, para compilar mediante
899 este método un archivo @file{principal.ly} que incluye archivos
900 situados en un subdirectorio llamado @file{partes}, cambie al
901 directorio que contiene @file{principal.ly} e introduzca
902
903 @example
904 lilypond --include=partes principal.ly
905 @end example
906
907 y en @file{principal.ly} escriba
908
909 @example
910 \include "VI.ly"
911 \include "VII.ly"
912 ... etc.
913 @end example
914
915 Los archivos que se incluyen en muchas partituras se pueden poner en
916 el directorio de LilyPond @file{../ly} (la localización de este
917 directorio depende de la instalación: véase @rlearning{Other sources
918 of information}).  Estos archivos se pueden incluir sencillamente por
919 su nombre en un enunciado @code{\include}.  De esta forma se incluyen
920 los archivos dependientes del idioma como @file{english.ly}.
921
922 LilyPond incluye de forma predeterminada ciertos archivos cuando se
923 inicia el programa.  Estas inclusiones no son visibles para el
924 usuario, pero los archivos se pueden identificar ejecutando
925 @code{lilypond --verbose} desde la línea de órdenes.  Esto presentará
926 una lista de rutas y archivos que utiliza LilyPond, junto a muchas
927 otras indicaciones.  De forma alternativa, pueden verse explicaciones
928 sobre los archivos más importantes de este conjunto en
929 @rlearning{Other sources of information}.  Estos archivos se pueden
930 editar, pero los cambios realizados sobre ellos se perderán al
931 instalar una nueva versión de LilyPond.
932
933 Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
934 @rlearning{Scores and parts}.
935
936 @seealso
937
938 Manual de aprendizaje:
939 @rlearning{Other sources of information},
940 @rlearning{Scores and parts}.
941
942 @knownissues
943
944 Si un archivo incluido recibe un nombre igual al de uno de los
945 archivos de instalación de LilyPond, el archivo que tiene prioridad es
946 el de los archivos de instalación de LilyPond.
947
948
949 @node Different editions from one source
950 @subsection Different editions from one source
951
952 Se encuentran disponibles varios mecanismos para facilitar la
953 producción de distintas versiones de una partitura a partir de la
954 misma fuente musical.  Las variables son quizá más útiles para
955 combinar secciones extensas de música y/o anotaciones de diversas
956 formas, mientras que las etiquetas son más útiles para seleccionar una
957 de entra varias secciones de música más cortas.  Cualquiera que sea el
958 método utilizado, la separación de la notación de la estructura de la
959 partitura hará que sea más fácil cambiar la estructura dejando intacta
960 la notación.
961
962 @menu
963 * Using variables::
964 * Using tags::
965 @end menu
966
967 @node Using variables
968 @unnumberedsubsubsec Using variables
969
970 @cindex variables, uso de las
971
972 Si las secciones de la música se definen dentro de variables, se
973 pueden reutilizar en distintas partes de la partitura, véase
974 @rlearning{Organizing pieces with variables}.  Por ejemplo, una
975 partitura vocal @notation{a cappella} con frecuencia incluye una
976 reducción de piano de las partes para ensayar que ees idéntica a la
977 música vocal, por lo que ésta sólo se tiene que escribir una vez.  Se
978 puede combinar sobre un solo pentagrama la música de dos variables,
979 véase @ref{Automatic part combining}.  He aquí un ejemplo:
980
981 @lilypond[verbatim,quote]
982 sopranoMusic = \relative c'' { a4 b c b8( a)}
983 altoMusic = \relative g' { e4 e e f }
984 tenorMusic = \relative c' { c4 b e d8( c) }
985 bassMusic = \relative c' { a4 gis a d, }
986 allLyrics = \lyricmode {King of glo -- ry }
987 <<
988   \new Staff = "Soprano" \sopranoMusic
989   \new Lyrics \allLyrics
990   \new Staff = "Alto" \altoMusic
991   \new Lyrics \allLyrics
992   \new Staff = "Tenor" {
993     \clef "treble_8"
994     \tenorMusic
995   }
996   \new Lyrics \allLyrics
997   \new Staff = "Bass" {
998     \clef "bass"
999     \bassMusic
1000   }
1001   \new Lyrics \allLyrics
1002   \new PianoStaff <<
1003     \new Staff = "RH" {
1004       \set Staff.printPartCombineTexts = ##f
1005       \partcombine
1006       \sopranoMusic
1007       \altoMusic
1008     }
1009     \new Staff = "LH" {
1010       \set Staff.printPartCombineTexts = ##f
1011       \clef "bass"
1012       \partcombine
1013       \tenorMusic
1014       \bassMusic
1015     }
1016   >>
1017 >>
1018 @end lilypond
1019
1020 Se pueden producir partituras distintas que presenten sólo las partes
1021 vocales o sólo la parte de piano, cambiando solamente los enunciados
1022 estructurales, sin modificar la notación musical.
1023
1024 Para partituras extensas, las definiciones de variable se pueden poner
1025 en archivos separados que se incluyen más tarde, véase @ref{Including
1026 LilyPond files}.
1027
1028
1029 @node Using tags
1030 @unnumberedsubsubsec Using tags
1031
1032 @funindex \tag
1033 @funindex \keepWithTag
1034 @funindex \removeWithTag
1035 @cindex etiqueta
1036 @cindex manetener música etiquetada
1037 @cindex quitar música etiquetada
1038
1039 La instrucción @code{\tag #'@var{parteA}} marca una expresión musical
1040 con el nombre @var{parteA}.  Las expresiones etoiquetadas de esta
1041 manera se pueden seleccionar o filtrar más tarde por su nombre, usando
1042 bien @code{\keepWithTag #'@var{nombre}} o bien @code{\removeWithTag
1043 #'@var{nombre}}.  El resultado de la aplicación de estos filtros a la
1044 música etiquetada es como sigue:
1045
1046 @multitable @columnfractions .5 .5
1047 @headitem Filtro
1048   @tab Resultado
1049 @item
1050 Música etiquetada precedida de @code{\keepWithTag #'@var{nombre}}
1051 @tab
1052 Se incluye la música no etiquetada y la música etiquetada con
1053 @var{nombre}; se excluye la música etiquetada con cualquier otro
1054 nombre de etiqueta.
1055 @item
1056 Música etiquetada precedida de @code{\removeWithTag #'@var{nombre}}
1057 @tab
1058 Se incluye la música no etiquetada y la música etiquetada con
1059 cualquier nombre de etiqueta distinto a @var{nombre}; se excluye la
1060 música etiquetada con @var{nombre}.
1061 @item
1062 Música etiquetada no precedida de @code{\keepWithTag} ni de
1063 @code{\removeWithTag}
1064 @tab Se incluye toda la música etiquetada y no etiquetada.
1065 @end multitable
1066
1067 Los argumentos de las instrucciones @code{\tag}, @code{\keepWithTag} y
1068 @code{\removeWithTag} deben ser un símbolo (como @code{#'partitura} o
1069 @code{#'parte}), seguido de una expresión musical.
1070
1071 En el ejemplo siguiente vemos dos versiones de una pieza musical, una
1072 que muestra trinos con la notación usual y otra con los trinos
1073 expandidos explícitamente:
1074
1075 @lilypond[verbatim,quote]
1076 music = \relative g' {
1077   g8. c32 d
1078   \tag #'trills {d8.\trill }
1079   \tag #'expand {\repeat unfold 3 {e32 d} }
1080   c32 d
1081  }
1082
1083 \score {
1084   \keepWithTag #'trills \music
1085 }
1086 \score {
1087   \keepWithTag #'expand \music
1088 }
1089 @end lilypond
1090
1091 @noindent
1092 De forma alternativa, a veces es más fácil excluir secciones de música:
1093
1094 @lilypond[verbatim,quote]
1095 music = \relative g' {
1096   g8. c32 d
1097   \tag #'trills {d8.\trill }
1098   \tag #'expand {\repeat unfold 3 {e32 d} }
1099   c32 d
1100  }
1101
1102 \score {
1103   \removeWithTag #'expand
1104   \music
1105 }
1106 \score {
1107   \removeWithTag #'trills
1108   \music
1109 }
1110 @end lilypond
1111
1112 El flitrado con etiquetas se puede aplicar a articulaciones, textos,
1113 etc. anteponiendo
1114
1115 @example
1116 -\tag #'@var{mi-etiqueta}
1117 @end example
1118
1119 a una articulación.  Por ejemplo, esto define una nota con una
1120 indicación opcional de digitación y una nota con una anotación
1121 condicional:
1122
1123 @example
1124 c1-\tag #'finger ^4
1125 c1-\tag #'warn ^"¡Ojo!"
1126 @end example
1127
1128 Se pueden poner varias etiquetas sobre expresiones con varias entradas
1129 de @code{\tag}:
1130
1131 @lilypond[quote,verbatim]
1132 music = \relative c'' {
1133   \tag #'a \tag #'both { a a a a }
1134   \tag #'b \tag #'both { b b b b }
1135 }
1136 <<
1137 \keepWithTag #'a \music
1138 \keepWithTag #'b \music
1139 \keepWithTag #'both \music
1140 >>
1141 @end lilypond
1142
1143 Se pueden aplicar varios filtros @code{\removeWithTag} a una sola
1144 expresión musical para quitar varias secciones etiquetadas con nombres
1145 distintos:
1146
1147 @lilypond[verbatim,quote]
1148 music = \relative c'' {
1149 \tag #'A { a a a a }
1150 \tag #'B { b b b b }
1151 \tag #'C { c c c c }
1152 \tag #'D { d d d d }
1153 }
1154 {
1155 \removeWithTag #'B
1156 \removeWithTag #'C
1157 \music
1158 }
1159 @end lilypond
1160
1161 Dos o más filtros @code{\keepWithTag} aplicados a una sola expresión
1162 musical producen la eliminación de @emph{todas} las secciones
1163 etiquetadas, porque el primer filtro quita todas las secciones
1164 etiquetadas excepto la que se nombra, y el segundo filtro elimina
1165 incluso esa sección etiquetada.
1166
1167 @seealso
1168
1169 Manual de aprendizaje:
1170 @rlearning{Organizing pieces with variables}.
1171
1172 Referencia de la notación:
1173 @ref{Automatic part combining},
1174 @ref{Including LilyPond files}.
1175
1176 @ignore
1177 @c This warning is more general than this placement implies.
1178 @c Rests are not merged whether or not they come from tagged sections.
1179 @c Should be deleted?  -td
1180
1181 @knownissues
1182
1183 Multiple rests are not merged if you create a score with more
1184 than one tagged section at the same place.
1185
1186 @end ignore
1187
1188 @node Text encoding
1189 @subsection Text encoding
1190
1191 LilyPond usa el conjunto de caracteres definido por el consorcio
1192 Unicode y la norma ISO/IEC 10646.  Define un nombre único y un código
1193 para los conjuntos de caracteres que se utilizan en prácticamente
1194 todos los idiomas modernos y también en muchos otros.  Unicode se
1195 puede implementar utilizando varios esquemas de codificación
1196 distintos.  LilyPond usa la codificación UTF-8 (UTF son las siglas de
1197 @emph{Unicode Transformation Format}, o formato de transformación de
1198 Unicode) que representa todos los caracteres comunes de Latin en un
1199 solo byte, y representa otros caracteres usando un formato de longitud
1200 variable de hasta cuatro bytes.
1201
1202 El aspecto visual real de los caracteres viene determinado por los
1203 glifos que se definen en las fuentes tipográficas concretas que se
1204 tengan disponibles: una fuente tipográfica define la asignación de un
1205 subconjunto de los códigos de Unicode a glifos.  LilyPond usa la
1206 biblioteca Pango para representar y disponer tipográficamente textos
1207 multilingües.
1208
1209 Lilypond no realiza ninguna conversión en la codificación de la
1210 entrada.  Esto significa que cualquier text, ya sea el título, la
1211 letra de la canción o una instrucción musical que contenga caracteres
1212 distintos a los del conjunto ASCII, se deben codificar en UTF-8.  La
1213 forma más fácil de escribir dicho texto es utilizar un editor
1214 preparado para Unicode y guardar el archivo con la codificación UTF-8.
1215 Casi todos los editores modernos populares contemplan el UTF-8, por
1216 ejemplo lo hacen vim, Emacs, jEdit, y GEdit.  Todos los sistemas MS
1217 Windows posteriores a NT usan Unicode como codificación de caracteres
1218 nativa, de manera que incluso el accesorio Bloc de Notas (Notepad)
1219 puede editar y guardar un archivo en el formato UTF-8.  Una
1220 alternativa más funcional para Windows es BabelPad.
1221
1222 Si un archivo de entrada que contiene un carácter que no es ASCII, no
1223 se guarda en el formato UTF-8, se genera el mensaje de error
1224
1225 @example
1226 FT_Get_Glyph_Name () error: argumento inválido
1227 @end example
1228
1229 He aquí un ejemplo que muestra texto cirílico, hebreo y portugués:
1230
1231 @lilypond[quote]
1232 %c No verbatim here as the code does not display correctly in PDF
1233 % Cyrillic
1234 bulgarian = \lyricmode {
1235   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
1236 }
1237
1238 % Hebrew
1239 hebrew = \lyricmode {
1240   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
1241 }
1242
1243 % Portuguese
1244 portuguese = \lyricmode {
1245   à vo -- cê uma can -- ção legal
1246 }
1247
1248 \relative  {
1249   c2 d e f g f e
1250 }
1251 \addlyrics { \bulgarian }
1252 \addlyrics { \hebrew }
1253 \addlyrics { \portuguese }
1254 @end lilypond
1255
1256 Para introducir un caracter aislado para el que se conoce la secuencia
1257 de escape de Unicode pero no está disponible en el editor que se está
1258 usando, use @code{\char ##xhhhh} dentro de un bloque @code{\markup},
1259 donde @code{hhhh} es el código hexadecimal del carácter en cuestión.
1260 Por ejemplo, @code{\char ##x03BE} inserta el carácter Unicode U+03BE,
1261 que tiene el nombre Unicode @qq{Letra griega Xi pequeña}.  Se puede
1262 sustituir cualquier código hexadecimal Unicode, y si todos los
1263 caracteres especiales se escriben en este formato no es necesario
1264 guardar el archivo de entrada en formato UTF-8.  Por supuesto, debe
1265 estar instalada y estar disponible para Lilypond una fuente
1266 tipográfica que contenga codificados todos estos caracteres.
1267
1268 El ejemplo siguiente muestra caracteres codificados en UTF-8 que se
1269 usan en cuatro lugares: en una llamada de ensayo, como texto de
1270 articulación, en la letra y como texto independiente bajo la
1271 partitura:
1272
1273 @lilypond[quote,verbatim]
1274 \score {
1275   \relative c'' {
1276     c1 \mark \markup { \char ##x03EE }
1277     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
1278   }
1279   \addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
1280 }
1281 \markup { "Copyright 2008" \char ##x00A9 }
1282 @end lilypond
1283
1284 Para escribir el símbolo de copyright en la nota de créditos, utilice:
1285
1286 @example
1287 \header @{
1288   copyright = \markup @{ \char ##x00A9 "2008" @}
1289 @}
1290 @end example
1291
1292
1293 @node Displaying LilyPond notation
1294 @subsection Displaying LilyPond notation
1295
1296 @funindex \displayLilyMusic
1297 La impresión textual de una expresión musical en notación de LilyPond
1298 puede hacerse usando la función musical @code{\displayLilyMusic}.  Por
1299 ejemplo,
1300
1301 @example
1302 @{
1303   \displayLilyMusic \transpose c a, @{ c e g a bes @}
1304 @}
1305 @end example
1306
1307 imprimirá
1308
1309 @example
1310 @{ a, cis e fis g @}
1311 @end example
1312
1313 De forma predeterminada, LilyPond imprime estos mensajes en la consola
1314 junto al resto de los mensajes.  Para discernir entre estos mensajes y
1315 guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
1316 salida hacia un archivo.
1317
1318 @c TODO What happens under Windows?
1319
1320 @example
1321 lilypond archivo.ly >resultado.txt
1322 @end example
1323
1324
1325
1326 @node Controlling output
1327 @section Controlling output
1328
1329 @menu
1330 * Extracting fragments of music::
1331 * Skipping corrected music::
1332 @end menu
1333
1334 @node Extracting fragments of music
1335 @subsection Extracting fragments of music
1336
1337 Es posible citar pequeños fragmentos de una partitura grande
1338 directamente a partir de la salida.  Puede compararse con la
1339 separación de una pieza de una partitura, recortándola con tijeras.
1340
1341 Esto se hace definiendo los compases que se deben recortar.  Por
1342 ejemplo, la inclusión de la siguiente definición
1343
1344 @verbatim
1345 \layout {
1346   clip-regions
1347   = #(list
1348       (cons
1349        (make-rhythmic-location 5 1 2)
1350        (make-rhythmic-location 7 3 4)))
1351 }
1352 @end verbatim
1353
1354 @noindent
1355 extrae un fragmento empezando por la mitad del quinto compás y
1356 finalizando en el séptimo compás.  El significado de @code{5 1 2} es:
1357 después de una blanca (1/2) en el compás 5, y el de @code{7 3 4}
1358 después de tres negras del compás 7.
1359
1360 Se pueden definir más zonas de recorte añadiendo más parejas de
1361 definición de tiempo rhythmic-location a la lista.
1362
1363 Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
1364 la opción @code{-dclip-systems}.  Los recortes aparecen en la salida
1365 como archivos EPS, y se convierten en PDF y PNG si estos formatos
1366 también están activados.
1367
1368 Para ver más información sobre los formatos de salida, consulte
1369 @rprogram{Invoking lilypond}.
1370
1371
1372 @node Skipping corrected music
1373 @subsection Skipping corrected music
1374
1375 @funindex skipTypesetting
1376 @funindex showFirstLength
1377 @funindex showLastLength
1378
1379 Al escribir o copiar música, normalmente sólo es interesante de ver y
1380 corregir la música cercana al final (donde estams añadiendo las
1381 notas).  Para acelerar este proceso de corrección, es posible saltar
1382 la composición tipográfica de todos excepto unos pocos de los últimos
1383 compases.  Esto se consigue poniendo
1384
1385 @verbatim
1386 showLastLength = R1*5
1387 \score { ... }
1388 @end verbatim
1389
1390 @noindent
1391 en nuestro archivo fuente.  Esto hará que se tracen sólo los últimos
1392 cinco compases (suponniendo un compás de 4/4) de cada una de las
1393 partituras @code{\score} del archivo de entrada.  Para piezas largas,
1394 el tipografiado de únicamente una parte pequeña es con frecuencia un
1395 orden de magnitud más rápido que el de la obra completa.  Si estamos
1396 trabajando sobre el principio de una partitura que ya hemos
1397 tipografiado (p.ej., para añadir una parte instrumental nueva),
1398 también puede ser útil la propiedad @code{showFirstLength}.
1399
1400 Este mecanismo de pasar por alto partes de un partitura se puede
1401 controlar con un grano más fino mediante la propiedad
1402 @code{Score.skipTypesetting}.  Cuando su valor está establecido, no se
1403 lleva a cabo ningún tipografiado en absoluto.
1404
1405 Esta propiedad se usa también para controlar la salida al archivo
1406 MIDI.  Observe que pasa por alto todos los eventos, incluidos el tempo
1407 y los cambios de instrumento.  Está usted advertido.
1408
1409 @lilypond[quote,fragment,ragged-right,verbatim]
1410 \relative c'' {
1411   c8 d
1412   \set Score.skipTypesetting = ##t
1413   e e e e e e e e
1414   \set Score.skipTypesetting = ##f
1415   c d b bes a g c2 }
1416 @end lilypond
1417
1418 En música polifónica, @code{Score.skipTypesetting} afecta a todas las
1419 voces y pentagramas, ahorrando más tiempo incluso.
1420
1421
1422 @node MIDI output
1423 @section MIDI output
1424
1425 @cindex sonido
1426 @cindex MIDI
1427
1428 El MIDI (Musical Instrument Digital Interface, Interfase Digital para
1429 Instrumentos Musicales) es un estándar para interconectar y controlar
1430 instrumentos musicales electrónicos.  Un archivo o secuencia MIDI es
1431 una serie de notas dentro de un conjunto de pistas.  No es un archivoo
1432 de sonidos reales; se necesita un programa reproductor especial para
1433 traducir la serie de notas en sonidos de verdad.
1434
1435 Cualquier música se puede convertir a archivos MIDI, de manera que
1436 podamos escuchar lo que hayamos introducido.  Esto es muy conveniente
1437 para comprobar la corrección de la música; las octavas equivocadas o
1438 las alteraciones erróneas se ponen de relieve muy claramente al
1439 escuchar la salida MIDI.
1440
1441 @c TODO Check this
1442 La salida MIDI reserva un canal por cada pentagrama, y otro para los
1443 ajustes globales.  Por ello, el archivo MIDI no debe tener más de 15
1444 pautas (o 14 si no se usa la percusión).  Otros pentagramas permanecen
1445 en silencio.
1446
1447 @menu
1448 * Creating MIDI files::
1449 * MIDI block::
1450 * What goes into the MIDI output?::
1451 * Repeats in MIDI::
1452 * Controlling MIDI dynamics::
1453 * Percussion in MIDI::
1454 @end menu
1455
1456 @node Creating MIDI files
1457 @subsection Creating MIDI files
1458
1459 Para crear un MIDI a partir de una pieza de música, escriba un bloque
1460 @code{\midi} en la partitura, por ejemplo:
1461
1462 @example
1463 \score @{
1464   @var{...música...}
1465   \midi @{ @}
1466 @}
1467 @end example
1468
1469 Si hay un bloque @code{\midi} dentro de un @code{\score} que no tenga
1470 ningún bloque @code{\layout}, solamente se producirá MIDI.  Si se
1471 necesita una notación impresa, debe haber también un bloque
1472 @code{\layout}:
1473
1474 @example
1475 \score @{
1476   @var{...música...}
1477   \midi @{ @}
1478   \layout @{ @}
1479 @}
1480 @end example
1481
1482 Se traducen correctamente a la salida MIDI la altura y duración de las
1483 notas, las ligaduras de unión, matices y cambios de tempo.  Las
1484 indicaciones dinámicas, crescendi y decrescendi se traducen a niveles
1485 de volumen MIDI.  Las marcas dinámicas se traducen a una fracción fija
1486 del rango de volumen MIDI disponible.  Los crescendi y decrescendi
1487 hacen que el volumen varía linealmente entre sus dos extremos. El
1488 efecto de las indicaciones dinámicas sobre la salida MIDI se puede
1489 eliminar por completo, véase @ref{MIDI block}.
1490
1491 El tempo inicial y los cambios de tempo posteriores se pueden
1492 especificar utilizando la instrucción @code{\tempo} dentro de la
1493 propia notación musical.  Se reflejan en cambios de tempo en la salida
1494 MIDI.  Esta instrucción normalmente hace que se imprima la indicación
1495 metronómica, pero esto se puede eliminar, véase @ref{Metronome marks}.
1496 Más abajo se describe una forma alternativa de especificar el tempo
1497 MIDI inicial o global, véase @ref{MIDI block}.
1498
1499 @unnumberedsubsubsec Instrument names
1500
1501 @cindex instrumento, nombres de
1502 @funindex Staff.midiInstrument
1503
1504 El nombre del instrumento MIDI se establece mediante la propiedad
1505 @code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
1506 de entre los que están en la lista que aparece en @ref{MIDI
1507 instruments}.
1508
1509 @example
1510 \new Staff @{
1511   \set Staff.midiInstrument = "glockenspiel"
1512   @var{...notes...}
1513 @}
1514 @end example
1515
1516 @example
1517 \new Staff \with @{midiInstrument = "cello"@} @{
1518   @var{...notes...}
1519 @}
1520 @end example
1521
1522 Si el instrumento elegido no coincide exactamente con uno de los
1523 instrumentos de la lista de instrumentos MIDI, se usará el instrumento
1524 Piano de Cola (@code{"acoustic grand"}).
1525
1526 @snippets
1527
1528 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1529 {changing-midi-output-to-one-channel-per-voice.ly}
1530
1531 @knownissues
1532
1533 @c In 2.11 the following no longer seems to be a problem -td
1534 @ignore
1535 Unterminated (de)crescendos will not render properly in the midi file,
1536 resulting in silent passages of music.  The workaround is to explicitly
1537 terminate the (de)crescendo.  For example,
1538
1539 @example
1540 @{ a\< b c d\f @}
1541 @end example
1542
1543 @noindent
1544 will not work properly but
1545
1546 @example
1547 @{ a\< b c d\!\f @}
1548 @end example
1549
1550 @noindent
1551 will.
1552 @end ignore
1553
1554 Los cambios del volumen MIDI sólo tienen lugar al principio de la
1555 nota, por lo que los crescendi y decrescendi no pueden afectar al
1556 volumen de una sola nota.
1557
1558 No todos los repoductores de MIDI manejar adecuadamente los cambios de
1559 tempo de la salida MIDI.  Entre los reproductores que se sabe que
1560 funcionan se encuentran el Reproductor de Medios de MS Windows y
1561 @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
1562
1563
1564 @node MIDI block
1565 @subsection MIDI block
1566
1567 @cindex bloque MIDI
1568
1569 Si se requiere una salida MIDI, debe aparecer un bloque @code{\midi}
1570 dentro de un bloque de partitura.  Es análogo al bloque layout de
1571 diseño de página, pero algo maś simple.  Con frecuencia, el bloque
1572 @code{\midi} se deja vacío, pero puede contener reorganizaciones de
1573 contextos, definiciones de contexto nuevas o código para fijar valores
1574 de propiedades.  Por ejemplo, en el ejemplo siguiente se establece el
1575 tempo inicial exportado alarchivo MIDI sin hacer que se imprima una
1576 indicación de tempo:
1577
1578 @example
1579 \score @{
1580   @var{...música...}
1581   \midi @{
1582     \context @{
1583       \Score
1584       tempoWholesPerMinute = #(ly:make-moment 72 4)
1585     @}
1586   @}
1587 @}
1588 @end example
1589
1590 En este ejemplo, el tempo se establece a 72 pulsos de negra por
1591 minuto.  Esta clase de especificación de tempo no puede tomar como
1592 argumento una figura con puntillo.  Si necesitamos una figura con
1593 puntillo, dividimos la nota con puntillo en figuras más pequeñas.  Por
1594 ejemplo, un tempo de 90 negras con puntillo por minuto se puede
1595 especificar como 270 corcheas por minuto:
1596
1597 @example
1598 tempoWholesPerMinute = #(ly:make-moment 270 8)
1599 @end example
1600
1601 @cindex MIDI, definiciones de contexto
1602
1603 Las definiciones de contexto siguen con precisión la misma sintaxis
1604 que la de un bloque @code{\layout}.  Los módulos de traducción para el
1605 sonido reciben el nombre de ejecutantes.  Los contextos para la salida
1606 MIDI se definen en @file{../ly/@/performer@/-init@/.ly}, véase
1607 @rlearning{Other sources of information}.  Por ejemplo, para eliminar
1608 el efecto de los matices de la salida MIDI, inserte las líneas
1609 siguientes en el bloque @code{\midi@{ @}}.
1610
1611 @example
1612 \midi @{
1613   ...
1614   \context @{
1615     \Voice
1616     \remove "Dynamic_performer"
1617   @}
1618 @}
1619 @end example
1620
1621 La salida MIDI se crea sólo cuando se incluye un bloque @code{\midi}
1622 dentro de un bloque de partitura definido con una instrucción
1623 @code{\score}.  Si se sitúa dentro de un contexto de partitura
1624 instanciado explícitamente (es decir, dentro de un bloque @code{\new
1625 Score}) el archivo no funciona.  Para resolverlo, encierre las
1626 instrucciones @code{\new Score} y @code{\midi} dentro de un bloque
1627 @code{\score}.
1628
1629 @example
1630 \score @{
1631   \new Score @{ @dots{}notas@dots{} @}
1632   \midi @{ @}
1633 @}
1634 @end example
1635
1636 @node What goes into the MIDI output?
1637 @subsection What goes into the MIDI output?
1638
1639 @unnumberedsubsubsec Supported in MIDI
1640
1641 @cindex alturas en MIDI
1642 @cindex MIDI, alturas
1643 @cindex cuartos de tono en MIDI
1644 @cindex MIDI, cuartos de tono
1645 @cindex microtonos en MIDI
1646 @cindex MIDI, microtonos
1647 @cindex acordes, nombres de, en MIDI
1648 @cindex MIDI, nombres de
1649 @cindex duraciones en MIDI
1650 @cindex MIDI, duraciones
1651 @c TODO etc
1652
1653 Los siguientes elementos de notación se reflejan en la salida MIDI:
1654
1655 @itemize
1656 @item Alturas
1657 @item Cuartos de tono (véase @ref{Accidentals}. La reproducción necesita un reproductor que contemple la curvatura de tono o @emph{pitch bend}.)
1658 @item Acordes escritos como nombres de acorde
1659 @item Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
1660 @item Trémolos escritos sin @q{@code{:}[@var{número}]}
1661 @item Ligaduras de unión
1662 @item Matices o indicaciones de dinámica
1663 @item Crescendi y decrescendi sobre varias notas
1664 @item Cambios de tempo insertados con una marca metronómica
1665 @item Letra de las canciones
1666 @end itemize
1667
1668 @unnumberedsubsubsec Unsupported in MIDI
1669
1670 @c TODO index as above
1671
1672 Los siguientes elementos de notación no tienen ningún efecto sobre la
1673 salida MIDI:
1674
1675 @itemize
1676 @item Duraciones escritas como anotaciones, p.ej. el swing
1677 @item Cambios de tempo escritos como anotacioens sin marca de tempo
1678 @item Staccato y otras articulaciones y ornamentos
1679 @item Ligaduras de expresión y de fraseo
1680 @item Crescendi y decrescendi sobre una nota única
1681 @item Trémolos introducidos con @q{@code{:}[@var{número}]}
1682 @item Bajo cifrado
1683 @end itemize
1684
1685
1686 @node Repeats in MIDI
1687 @subsection Repeats in MIDI
1688
1689 @cindex repeticiones, expandir
1690 @funindex \unfoldRepeats
1691
1692 Con un poco de trucaje, se puede hacer que cualquier tipo de
1693 repetición esté presente en la salida MIDI.  Esto se consigue mediante
1694 la aplicación de la función musical @code{\unfoldRepeats}.  Esta
1695 función cambia todas las repeticiones a repeticiones desplegadas.
1696
1697 @lilypond[quote,verbatim]
1698 \unfoldRepeats {
1699   \repeat tremolo 8 {c'32 e' }
1700   \repeat percent 2 { c''8 d'' }
1701   \repeat volta 2 {c'4 d' e' f'}
1702   \alternative {
1703     { g' a' a' g' }
1704     {f' e' d' c' }
1705   }
1706 }
1707 \bar "|."
1708 @end lilypond
1709
1710 Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
1711 MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
1712 (con repeticiones desplegadas) y otro para la notación impresa (con
1713 repeticiones de volta --primera y segunda vez--, tremolo --trémolo--,
1714 y percent --repetición de compases--).  Por ejemplo,
1715
1716 @example
1717 \score @{
1718   @var{..música..}
1719   \layout @{ .. @}
1720 @}
1721 \score @{
1722   \unfoldRepeats @var{..música..}
1723   \midi @{ .. @}
1724 @}
1725 @end example
1726
1727
1728 @node Controlling MIDI dynamics
1729 @subsection Controlling MIDI dynamics
1730
1731 La dinámica en el MIDI está implementada por medio del intérprete
1732 Dynamic_performer que reside de forma predeterminada dentro del
1733 contexto Voice.  Es posible controlar el volumen MIDI general, el
1734 volumen relativo de los matices dinámicos y el volumen relativo de los
1735 distintos instrumentos.
1736
1737 @unnumberedsubsubsec Dynamic marks
1738
1739 Los matices o indicaciones de dinámica se traducen a una fracción fija
1740 del rango de volumen MIDI disponible.  Las fracciones predeterminadas
1741 se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
1742 @notation{fffff}.  El conjunto de indicaciones dinámicas y las
1743 fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
1744 @rlearning{Other sources of information}.  Este conjunto de fracciones
1745 se puede cmbiar o extender proporcionando una función que toma como
1746 argumento una indicación dinámica y devuelve la fracción requerida, y
1747 estableciendo @code{Score.dynamicAbsoluteVolumeFunction} a esta
1748 función.
1749
1750 Por ejemplo, si se requiere una indicación dinámica
1751 @notation{rinforzando}, @code{\rfz}, ésta no tiene ningún efecto
1752 predeterminado sobre el voumen MIDI, pues no está incluida en el
1753 conjunto predeterminado.  De igual manera, si se define una indicación
1754 dinámica nueva con @code{make-dynamic-script}, ésta tampoco estará
1755 incluida en el conjunto predeterminado.  El ejemplo siguiente muestra
1756 cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
1757 La función Scheme establece la fracción a 0.9 si se encuentra una
1758 indicación dinámica rfz, y en caso contrario llama a la función
1759 predeterminada.
1760
1761 @lilypond[verbatim,quote]
1762 #(define (myDynamics dynamic)
1763     (if (equal? dynamic "rfz")
1764       0.9
1765       (default-dynamic-absolute-volume dynamic)))
1766
1767 \score {
1768   \new Staff {
1769     \set Staff.midiInstrument = "cello"
1770     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
1771     \new Voice {
1772        \relative c'' {
1773          a\pp b c-\rfz
1774        }
1775     }
1776   }
1777   \layout {}
1778   \midi {}
1779 }
1780 @end lilypond
1781
1782 Como alternativa, si se necesitara redefinir la tabla completa de
1783 fracciones, sería mejor usar el procedimiento
1784 @notation{default-dynamic-absolute-volume} que aparece en
1785 @file{../scm/midi.scm} y la tabla asociada como modelo.  El último
1786 ejemplo de esta sección muestra cómo se puede hacer esto.
1787
1788 @unnumberedsubsubsec Overall MIDI volume
1789
1790 El volumen general máximo y mínimo de las indicaciones dinámicas de
1791 MIDI se controla estableciendo valores para las propiedades
1792 @code{midiMinimumVolume} y @code{midiMaximumVolume} en el nivel de
1793 @code{Score}.  Estas propiedades tienen efecto solamente sobre las
1794 indicaciones dinámicas, por ello si queremos que tengan validez desde
1795 el comienzo de la partitura, se debe colocar allí una indicación de
1796 dinámica.  La fracción que corresponde a cada indicación dinámica se
1797 modifica con esta fórmula:
1798
1799 @example
1800 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
1801 @end example
1802
1803 En el ejemplo siguiente, el rango de intensidad dinámica del volumen
1804 general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
1805
1806 @lilypond[verbatim,quote]
1807 \score {
1808   <<
1809     \new Staff {
1810       \key g \major
1811       \time 2/2
1812       \set Staff.midiInstrument = #"flute"
1813       \new Voice \relative c''' {
1814         r2 g\mp g fis ~
1815         fis4 g8 fis e2 ~
1816         e4 d8 cis d2
1817       }
1818     }
1819     \new Staff {
1820       \key g \major
1821       \set Staff.midiInstrument = #"clarinet"
1822       \new Voice \relative c'' {
1823         b1\p a2. b8 a
1824         g2. fis8 e
1825         fis2 r
1826       }
1827     }
1828   >>
1829   \layout { }
1830   \midi {
1831     \context {
1832       \Score
1833       tempoWholesPerMinute = #(ly:make-moment 72 2)
1834       midiMinimumVolume = #0.2
1835       midiMaximumVolume = #0.5
1836     }
1837   }
1838 }
1839 @end lilypond
1840
1841 @unnumberedsubsubsec Equalizing different instruments (i)
1842
1843 Si las propiedades de volumen MIDI máximo y mínimo están establecidas
1844 en el contexto @code{Staff} se pueden controlar los volúmenes
1845 relativos de los instrumentos MIDI.  Esto proporciona un ecualizador
1846 de instrumentos básico que puede realzar significativamente la calidad
1847 de la salida MIDI.
1848
1849 En este ejemplo se reduce el volumen del clarinete con relación al de
1850 la flauta.  Debe haber una indicación dinámica en la primera nota de
1851 cada instrumento para que esto funcione correctamente.
1852
1853 @lilypond[verbatim,quote]
1854 \score {
1855   <<
1856     \new Staff {
1857       \key g \major
1858       \time 2/2
1859       \set Staff.midiInstrument = #"flute"
1860       \set Staff.midiMinimumVolume = #0.7
1861       \set Staff.midiMaximumVolume = #0.9
1862       \new Voice \relative c''' {
1863         r2 g\mp g fis ~
1864         fis4 g8 fis e2 ~
1865         e4 d8 cis d2
1866       }
1867     }
1868     \new Staff {
1869       \key g \major
1870       \set Staff.midiInstrument = #"clarinet"
1871       \set Staff.midiMinimumVolume = #0.3
1872       \set Staff.midiMaximumVolume = #0.6
1873       \new Voice \relative c'' {
1874         b1\p a2. b8 a
1875         g2. fis8 e
1876         fis2 r
1877       }
1878     }
1879   >>
1880   \layout { }
1881   \midi {
1882     \context {
1883       \Score
1884       tempoWholesPerMinute = #(ly:make-moment 72 2)
1885     }
1886   }
1887 }
1888 @end lilypond
1889
1890 @unnumberedsubsubsec Equalizing different instruments (ii)
1891
1892 Si las propiedades de volumen MIDI máximo y mínimo no están
1893 establecidas, de forma predeterminada LilyPond aplica un pequeño grado
1894 de ecualización a algunos instrumentos.  Los instrumentos y la
1895 ecualización que se aplica se muestra en la tabla
1896 @notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
1897
1898 El ecualizador básico predeterminado se puede sustituir estableciendo
1899 @code{instrumentEqualizer} en el contexto @code{Score} a un
1900 procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
1901 como único argumento y devuelva un par de fracciones que dan los
1902 volúmenes máximo y mínimo que se aplican a dicho instrumento.  Esta
1903 sustitución se hace de la misma forma que mostramos para reestablecer
1904 la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
1905 al comienzo de esta sección.  El ecualizador predeterminado,
1906 @notation{default-instrument-equalizer}, en @file{../scm/midi.scm},
1907 muestra cómo se puede escribir tal procedimiento.
1908
1909 El ejemplo siguiente establece los volúmenes relativos de la flauta y
1910 del clarinete a los mismos valores que el ejemplo anterior.
1911
1912 @lilypond[verbatim,quote]
1913 #(define my-instrument-equalizer-alist '())
1914
1915 #(set! my-instrument-equalizer-alist
1916   (append
1917     '(
1918       ("flute" . (0.7 . 0.9))
1919       ("clarinet" . (0.3 . 0.6)))
1920     my-instrument-equalizer-alist))
1921
1922 #(define (my-instrument-equalizer s)
1923   (let ((entry (assoc s my-instrument-equalizer-alist)))
1924     (if entry
1925       (cdr entry))))
1926
1927 \score {
1928   <<
1929     \new Staff {
1930       \key g \major
1931       \time 2/2
1932       \set Score.instrumentEqualizer = #my-instrument-equalizer
1933       \set Staff.midiInstrument = #"flute"
1934       \new Voice \relative c''' {
1935         r2 g\mp g fis ~
1936         fis4 g8 fis e2 ~
1937         e4 d8 cis d2
1938       }
1939     }
1940     \new Staff {
1941       \key g \major
1942       \set Staff.midiInstrument = #"clarinet"
1943       \new Voice \relative c'' {
1944         b1\p a2. b8 a
1945         g2. fis8 e
1946         fis2 r
1947       }
1948     }
1949   >>
1950   \layout { }
1951   \midi {
1952     \context {
1953       \Score
1954       tempoWholesPerMinute = #(ly:make-moment 72 2)
1955     }
1956   }
1957 }
1958 @end lilypond
1959
1960 @ignore
1961 @c Delete when satisfied this is adequately covered elsewhere -td
1962
1963 @n ode Microtones in MIDI
1964 @s ubsection Microtones in MIDI
1965
1966 @cindex microtones in MIDI
1967
1968 Microtones consisting of half sharps and half flats are exported
1969 to the MIDI file and render correctly in MIDI players which support
1970 pitch bending.  See @ref{Note names in other languages}.  Here is
1971 an example showing all the half sharps and half flats.  It can be
1972 copied out and compiled to test microtones in your MIDI player.
1973
1974 @lilypond[verbatim,quote]
1975 \score {
1976   \relative c' {
1977     c cih cis cisih
1978     d dih ees eeh
1979     e eih f fih
1980     fis fisih g gih
1981     gis gisih a aih
1982     bes beh b bih
1983   }
1984   \layout {}
1985   \midi {}
1986 }
1987 @end lilypond
1988 @end ignore
1989
1990
1991 @node Percussion in MIDI
1992 @subsection Percussion in MIDI
1993
1994 La notación de los instrumentos de percusión se realiza normalmente en
1995 un contexto @code{DrumStaff} y cuando se hace de esta forma se les da
1996 salida correctamente por el canal MIDI@tie{}10, pero ciertos
1997 instrumentos de percusión de altura determinada, como el xilófono,
1998 marimba, vibráfono, timbales, etc., se tratan como instrumentos
1999 @qq{normales} y la música para estos instrumentos se debe introducir
2000 en contestos de @code{Staff} normales, no en un contexto
2001 @code{DrumStaff}, para obtener la salida MIDI correcta.
2002
2003 Ciertos sonidos de altura indeterminada que están incluidos en el
2004 estándar General MIDI, como el tom melódico, el tambor taiko, los
2005 tambores sintéticos, etc., no se pueden acceder a través del canal
2006 MIDI@tie{}10, por lo que la notación para dichos instrumentos se debe
2007 introducir también en un contexto normal de @code{Staff}, utilizando
2008 las alturas normales adecuadas.
2009
2010 Muchos instrumentos de percusión no están incluidos dentro del
2011 estándar General MIDI standard, p.ej. las castañuelas.  El método más
2012 fácil (aunque no satisfactorio) de producir una salida MIDI al
2013 escribir para estos instrumentos es sustituirlos por el sonido más
2014 parecido del conjunto estándar.
2015
2016 @c TODO Expand with examples, and any other issues
2017
2018 @knownissues
2019
2020 Debido a que el estándar General MIDI no contiene golpes de aro
2021 (@emph{rim shots}), para este propósito se utiliza en su lugar el
2022 golpe lateral de baqueta (@emph{sidestick}).