]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/user/input.itely
Doc-es: updates from Master.
[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: 46458e0e0fafcb4dab3e8127110cef5984523e10
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.12.0"
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 Un 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
103 @seealso
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 expresiones
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 única 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 cambiar 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 variable @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
372 @seealso
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, 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}.  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 instrumento
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 elaborados:
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
815 @seealso
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 despué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.  De forma predeterminada, estos enunciados
890 @code{\include} de segundo nivel no se interpretan hasta que se
891 incorporan al archivo principal, por lo que los nombres de archivo que
892 especifican deben ser relativos al directorio que contiene el archivo
893 principal, no al directorio que contiene el archivo incluido.  Sin
894 embargo, este comportamiento se puede modificar pasando la opción
895 @code{-drelative-includes} en la línea de órdenes (o mediante la
896 adición de @code{#(ly:set-option 'relative-includes #t)} al principio
897 del archivo principal de entrada).  Con el valor de
898 @code{relative-includes} establecido, la ruta de cada instrucción
899 @code{\include} se considera relativa al archivo que contiene dicha
900 instrucción.  Este comportamiento es el recomendado y se convertirá en
901 el comportamiento predeterminado en una versión futura de lilypond.
902
903 También se pueden incluir archivos de un directorio que está en una
904 ruta de búsqueda especificada como opción al invocar a LilyPond desde
905 la línea de órdenes.  Los archivos incluidos se especifican usando
906 solamente su nombre de archivo.  Por ejemplo, para compilar mediante
907 este método un archivo @file{principal.ly} que incluye archivos
908 situados en un subdirectorio llamado @file{partes}, cambie al
909 directorio que contiene @file{principal.ly} e introduzca
910
911 @example
912 lilypond --include=partes principal.ly
913 @end example
914
915 y en @file{principal.ly} escriba
916
917 @example
918 \include "VI.ly"
919 \include "VII.ly"
920 ... etc.
921 @end example
922
923 Los archivos que se incluyen en muchas partituras se pueden poner en
924 el directorio de LilyPond @file{../ly} (la localización de este
925 directorio depende de la instalación: véase
926 @rlearning{Other sources of information}).  Estos archivos se pueden
927 incluir sencillamente por su nombre en un enunciado @code{\include}.
928 De esta forma se incluyen los archivos dependientes del idioma como
929 @file{espanol.ly}.
930
931 LilyPond incluye de forma predeterminada ciertos archivos cuando se
932 inicia el programa.  Estas inclusiones no son visibles para el
933 usuario, pero los archivos se pueden identificar ejecutando
934 @code{lilypond --verbose} desde la línea de órdenes.  Esto presentará
935 una lista de rutas y archivos que utiliza LilyPond, junto a muchas
936 otras indicaciones.  De forma alternativa, pueden verse explicaciones
937 sobre los archivos más importantes de este conjunto en
938 @rlearning{Other sources of information}.  Estos archivos se pueden
939 editar, pero los cambios realizados sobre ellos se perderán al
940 instalar una nueva versión de LilyPond.
941
942 Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
943 @rlearning{Scores and parts}.
944
945
946 @seealso
947 Manual de aprendizaje:
948 @rlearning{Other sources of information},
949 @rlearning{Scores and parts}.
950
951
952 @knownissues
953
954 Si un archivo incluido recibe un nombre igual al de uno de los
955 archivos de instalación de LilyPond, el archivo que tiene prioridad es
956 el de los archivos de instalación de LilyPond.
957
958
959 @node Different editions from one source
960 @subsection Different editions from one source
961
962 Se encuentran disponibles varios mecanismos para facilitar la
963 producción de distintas versiones de una partitura a partir de la
964 misma fuente musical.  Las variables son quizá más útiles para
965 combinar secciones extensas de música y/o anotaciones de diversas
966 formas, mientras que las etiquetas son más útiles para seleccionar una
967 de entra varias secciones de música más cortas.  Cualquiera que sea el
968 método utilizado, la separación de la notación de la estructura de la
969 partitura hará que sea más fácil cambiar la estructura dejando intacta
970 la notación.
971
972 @menu
973 * Using variables::
974 * Using tags::
975 @end menu
976
977 @node Using variables
978 @unnumberedsubsubsec Using variables
979
980 @cindex variables, uso de las
981
982 Si las secciones de la música se definen dentro de variables, se
983 pueden reutilizar en distintas partes de la partitura, véase
984 @rlearning{Organizing pieces with variables}.  Por ejemplo, una
985 partitura vocal @notation{a cappella} con frecuencia incluye una
986 reducción de piano de las partes para ensayar que es idéntica a la
987 música vocal, por lo que ésta sólo se tiene que escribir una vez.  Se
988 puede combinar sobre un solo pentagrama la música de dos variables,
989 véase @ref{Automatic part combining}.  He aquí un ejemplo:
990
991 @lilypond[verbatim,quote]
992 sopranoMusic = \relative c'' { a4 b c b8( a)}
993 altoMusic = \relative g' { e4 e e f }
994 tenorMusic = \relative c' { c4 b e d8( c) }
995 bassMusic = \relative c' { a4 gis a d, }
996 allLyrics = \lyricmode {King of glo -- ry }
997 <<
998   \new Staff = "Soprano" \sopranoMusic
999   \new Lyrics \allLyrics
1000   \new Staff = "Alto" \altoMusic
1001   \new Lyrics \allLyrics
1002   \new Staff = "Tenor" {
1003     \clef "treble_8"
1004     \tenorMusic
1005   }
1006   \new Lyrics \allLyrics
1007   \new Staff = "Bass" {
1008     \clef "bass"
1009     \bassMusic
1010   }
1011   \new Lyrics \allLyrics
1012   \new PianoStaff <<
1013     \new Staff = "RH" {
1014       \set Staff.printPartCombineTexts = ##f
1015       \partcombine
1016       \sopranoMusic
1017       \altoMusic
1018     }
1019     \new Staff = "LH" {
1020       \set Staff.printPartCombineTexts = ##f
1021       \clef "bass"
1022       \partcombine
1023       \tenorMusic
1024       \bassMusic
1025     }
1026   >>
1027 >>
1028 @end lilypond
1029
1030 Se pueden producir partituras distintas que presenten sólo las partes
1031 vocales o sólo la parte de piano, cambiando solamente los enunciados
1032 estructurales, sin modificar la notación musical.
1033
1034 Para partituras extensas, las definiciones de variable se pueden poner
1035 en archivos separados que se incluyen más tarde, véase @ref{Including
1036 LilyPond files}.
1037
1038
1039 @node Using tags
1040 @unnumberedsubsubsec Using tags
1041
1042 @funindex \tag
1043 @funindex \keepWithTag
1044 @funindex \removeWithTag
1045 @cindex etiqueta
1046 @cindex mantener música etiquetada
1047 @cindex quitar música etiquetada
1048
1049 La instrucción @code{\tag #'@var{parteA}} marca una expresión musical
1050 con el nombre @var{parteA}.  Las expresiones etiquetadas de esta
1051 manera se pueden seleccionar o filtrar más tarde por su nombre, usando
1052 bien @code{\keepWithTag #'@var{nombre}} o bien @code{\removeWithTag
1053 #'@var{nombre}}.  El resultado de la aplicación de estos filtros a la
1054 música etiquetada es como sigue:
1055
1056 @multitable @columnfractions .5 .5
1057 @headitem Filtro
1058   @tab Resultado
1059 @item
1060 Música etiquetada precedida de @code{\keepWithTag #'@var{nombre}}
1061 @tab
1062 Se incluye la música no etiquetada y la música etiquetada con
1063 @var{nombre}; se excluye la música etiquetada con cualquier otro
1064 nombre de etiqueta.
1065 @item
1066 Música etiquetada precedida de @code{\removeWithTag #'@var{nombre}}
1067 @tab
1068 Se incluye la música no etiquetada y la música etiquetada con
1069 cualquier nombre de etiqueta distinto a @var{nombre}; se excluye la
1070 música etiquetada con @var{nombre}.
1071 @item
1072 Música etiquetada no precedida de @code{\keepWithTag} ni de
1073 @code{\removeWithTag}
1074 @tab Se incluye toda la música etiquetada y no etiquetada.
1075 @end multitable
1076
1077 Los argumentos de las instrucciones @code{\tag}, @code{\keepWithTag} y
1078 @code{\removeWithTag} deben ser un símbolo (como @code{#'partitura} o
1079 @code{#'parte}), seguido de una expresión musical.
1080
1081 En el ejemplo siguiente vemos dos versiones de una pieza musical, una
1082 que muestra trinos con la notación usual y otra con los trinos
1083 expandidos explícitamente:
1084
1085 @lilypond[verbatim,quote]
1086 music = \relative g' {
1087   g8. c32 d
1088   \tag #'trills {d8.\trill }
1089   \tag #'expand {\repeat unfold 3 {e32 d} }
1090   c32 d
1091  }
1092
1093 \score {
1094   \keepWithTag #'trills \music
1095 }
1096 \score {
1097   \keepWithTag #'expand \music
1098 }
1099 @end lilypond
1100
1101 @noindent
1102 De forma alternativa, a veces es más fácil excluir secciones de música:
1103
1104 @lilypond[verbatim,quote]
1105 music = \relative g' {
1106   g8. c32 d
1107   \tag #'trills {d8.\trill }
1108   \tag #'expand {\repeat unfold 3 {e32 d} }
1109   c32 d
1110  }
1111
1112 \score {
1113   \removeWithTag #'expand
1114   \music
1115 }
1116 \score {
1117   \removeWithTag #'trills
1118   \music
1119 }
1120 @end lilypond
1121
1122 El filtrado con etiquetas se puede aplicar a articulaciones, textos,
1123 etc. anteponiendo
1124
1125 @example
1126 -\tag #'@var{mi-etiqueta}
1127 @end example
1128
1129 a una articulación.  Por ejemplo, esto define una nota con una
1130 indicación opcional de digitación y una nota con una anotación
1131 condicional:
1132
1133 @example
1134 c1-\tag #'finger ^4
1135 c1-\tag #'warn ^"¡Ojo!"
1136 @end example
1137
1138 Se pueden poner varias etiquetas sobre expresiones con varias entradas
1139 de @code{\tag}:
1140
1141 @lilypond[quote,verbatim]
1142 music = \relative c'' {
1143   \tag #'a \tag #'both { a a a a }
1144   \tag #'b \tag #'both { b b b b }
1145 }
1146 <<
1147 \keepWithTag #'a \music
1148 \keepWithTag #'b \music
1149 \keepWithTag #'both \music
1150 >>
1151 @end lilypond
1152
1153 Se pueden aplicar varios filtros @code{\removeWithTag} a una sola
1154 expresión musical para quitar varias secciones etiquetadas con nombres
1155 distintos:
1156
1157 @lilypond[verbatim,quote]
1158 music = \relative c'' {
1159 \tag #'A { a a a a }
1160 \tag #'B { b b b b }
1161 \tag #'C { c c c c }
1162 \tag #'D { d d d d }
1163 }
1164 {
1165 \removeWithTag #'B
1166 \removeWithTag #'C
1167 \music
1168 }
1169 @end lilypond
1170
1171 Dos o más filtros @code{\keepWithTag} aplicados a una sola expresión
1172 musical producen la eliminación de @emph{todas} las secciones
1173 etiquetadas, porque el primer filtro quita todas las secciones
1174 etiquetadas excepto la que se nombra, y el segundo filtro elimina
1175 incluso esa sección etiquetada.
1176
1177
1178 @seealso
1179 Manual de aprendizaje:
1180 @rlearning{Organizing pieces with variables}.
1181
1182 Referencia de la notación:
1183 @ref{Automatic part combining},
1184 @ref{Including LilyPond files}.
1185
1186
1187 @ignore
1188 @c This warning is more general than this placement implies.
1189 @c Rests are not merged whether or not they come from tagged sections.
1190 @c Should be deleted?  -td
1191
1192
1193 @knownissues
1194
1195 Multiple rests are not merged if you create a score with more
1196 than one tagged section at the same place.
1197
1198 @end ignore
1199
1200 @node Text encoding
1201 @subsection Text encoding
1202
1203 LilyPond usa el conjunto de caracteres definido por el consorcio
1204 Unicode y la norma ISO/IEC 10646.  Define un nombre único y un código
1205 para los conjuntos de caracteres que se utilizan en prácticamente
1206 todos los idiomas modernos y también en muchos otros.  Unicode se
1207 puede implementar utilizando varios esquemas de codificación
1208 distintos.  LilyPond usa la codificación UTF-8 (UTF son las siglas de
1209 @emph{Unicode Transformation Format}, o formato de transformación de
1210 Unicode) que representa todos los caracteres comunes de Latin en un
1211 solo byte, y representa otros caracteres usando un formato de longitud
1212 variable de hasta cuatro bytes.
1213
1214 El aspecto visual real de los caracteres viene determinado por los
1215 glifos que se definen en las fuentes tipográficas concretas que se
1216 tengan disponibles: una fuente tipográfica define la asignación de un
1217 subconjunto de los códigos de Unicode a glifos.  LilyPond usa la
1218 biblioteca Pango para representar y disponer tipográficamente textos
1219 multilingües.
1220
1221 Lilypond no realiza ninguna conversión en la codificación de la
1222 entrada.  Esto significa que cualquier text, ya sea el título, la
1223 letra de la canción o una instrucción musical que contenga caracteres
1224 distintos a los del conjunto ASCII, se deben codificar en UTF-8.  La
1225 forma más fácil de escribir dicho texto es utilizar un editor
1226 preparado para Unicode y guardar el archivo con la codificación UTF-8.
1227 Casi todos los editores modernos populares contemplan el UTF-8, por
1228 ejemplo lo hacen vim, Emacs, jEdit, y GEdit.  Todos los sistemas MS
1229 Windows posteriores a NT usan Unicode como codificación de caracteres
1230 nativa, de manera que incluso el accesorio Bloc de Notas (Notepad)
1231 puede editar y guardar un archivo en el formato UTF-8.  Una
1232 alternativa más funcional para Windows es BabelPad.
1233
1234 Si un archivo de entrada que contiene un carácter que no es ASCII, no
1235 se guarda en el formato UTF-8, se genera el mensaje de error
1236
1237 @example
1238 FT_Get_Glyph_Name () error: argumento inválido
1239 @end example
1240
1241 He aquí un ejemplo que muestra texto cirílico, hebreo y portugués:
1242
1243 @lilypond[quote]
1244 %c No verbatim here as the code does not display correctly in PDF
1245 % Cyrillic
1246 bulgarian = \lyricmode {
1247   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
1248 }
1249
1250 % Hebrew
1251 hebrew = \lyricmode {
1252   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
1253 }
1254
1255 % Portuguese
1256 portuguese = \lyricmode {
1257   à vo -- cê uma can -- ção legal
1258 }
1259
1260 \relative  {
1261   c2 d e f g f e
1262 }
1263 \addlyrics { \bulgarian }
1264 \addlyrics { \hebrew }
1265 \addlyrics { \portuguese }
1266 @end lilypond
1267
1268 Para introducir un carácter aislado para el que se conoce el punto de
1269 código Unicode pero no está disponible en el editor que se está
1270 usando, use @code{\char ##xhhhh} o bien @code{\char #dddd} dentro de
1271 un bloque @code{\markup}, donde @code{hhhh} es el código hexadecimal
1272 del carácter en cuestión y @code{dddd} es su valor decimal
1273 correspondiente.  Pueden omitirse los ceros iniciales, pero es
1274 costumbre indicar los cuatro caracteres en la representación
1275 hexadecimal (observe que @emph{no} debe utilizarse la codificación
1276 UTF-8 del punto de código Unicode después de @code{\char}, pues la
1277 codificación UTF-8 contiene bits adicionales que indican el número de
1278 octetos.)
1279
1280 Por ejemplo, tanto @code{\char ##x03BE} como @code{\char #958}
1281 insertan el carácter Unicode U+03BE, que tiene el nombre Unicode
1282 @qq{Letra griega Xi pequeña}.
1283
1284 Se puede escribir de esta forma cualquier punto de código Unicode, y
1285 si todos los caracteres especiales se escriben en este formato no es
1286 necesario guardar el archivo de entrada en formato UTF-8.  Por
1287 supuesto, debe estar instalada y estar disponible para Lilypond una
1288 fuente tipográfica que contenga codificados todos estos caracteres.
1289
1290 El ejemplo siguiente muestra valores hexadecimales Unicode que se usan
1291 en cuatro lugares: en una llamada de ensayo, como texto de
1292 articulación, en la letra y como texto independiente bajo la
1293 partitura:
1294
1295 @lilypond[quote,verbatim]
1296 \score {
1297   \relative c'' {
1298     c1 \mark \markup { \char ##x03EE }
1299     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
1300   }
1301   \addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
1302 }
1303 \markup { "Copyright 2008--2009" \char ##x00A9 }
1304 @end lilypond
1305
1306 Para escribir el símbolo de copyright en la nota de créditos, utilice:
1307
1308 @example
1309 \header @{
1310   copyright = \markup @{ \char ##x00A9 "2008" @}
1311 @}
1312 @end example
1313
1314
1315 @node Displaying LilyPond notation
1316 @subsection Displaying LilyPond notation
1317
1318 @funindex \displayLilyMusic
1319 La impresión textual de una expresión musical en notación de LilyPond
1320 puede hacerse usando la función musical @code{\displayLilyMusic}.  Por
1321 ejemplo,
1322
1323 @example
1324 @{
1325   \displayLilyMusic \transpose c a, @{ c e g a bes @}
1326 @}
1327 @end example
1328
1329 imprimirá
1330
1331 @example
1332 @{ a, cis e fis g @}
1333 @end example
1334
1335 De forma predeterminada, LilyPond imprime estos mensajes en la consola
1336 junto al resto de los mensajes.  Para discernir entre estos mensajes y
1337 guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
1338 salida hacia un archivo.
1339
1340 @c TODO What happens under Windows?
1341
1342 @example
1343 lilypond archivo.ly >resultado.txt
1344 @end example
1345
1346
1347
1348 @node Controlling output
1349 @section Controlling output
1350
1351 @menu
1352 * Extracting fragments of music::
1353 * Skipping corrected music::
1354 @end menu
1355
1356 @node Extracting fragments of music
1357 @subsection Extracting fragments of music
1358
1359 Es posible citar pequeños fragmentos de una partitura grande
1360 directamente a partir de la salida.  Puede compararse con la
1361 separación de una pieza de una partitura, recortándola con tijeras.
1362
1363 Esto se hace definiendo los compases que se deben recortar.  Por
1364 ejemplo, la inclusión de la siguiente definición
1365
1366 @verbatim
1367 \layout {
1368   clip-regions
1369   = #(list
1370       (cons
1371        (make-rhythmic-location 5 1 2)
1372        (make-rhythmic-location 7 3 4)))
1373 }
1374 @end verbatim
1375
1376 @noindent
1377 extrae un fragmento empezando por la mitad del quinto compás y
1378 finalizando en el séptimo compás.  El significado de @code{5 1 2} es:
1379 después de una blanca (1/2) en el compás 5, y el de @code{7 3 4}
1380 después de tres negras del compás 7.
1381
1382 Se pueden definir más zonas de recorte añadiendo más parejas de
1383 definición de tiempo rhythmic-location a la lista.
1384
1385 Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
1386 la opción @code{-dclip-systems}.  Los recortes aparecen en la salida
1387 como archivos EPS, y se convierten en PDF y PNG si estos formatos
1388 también están activados.
1389
1390 Para ver más información sobre los formatos de salida, consulte
1391 @rprogram{Invoking lilypond}.
1392
1393
1394 @node Skipping corrected music
1395 @subsection Skipping corrected music
1396
1397 @funindex skipTypesetting
1398 @funindex showFirstLength
1399 @funindex showLastLength
1400
1401 Al escribir o copiar música, normalmente sólo es interesante de ver y
1402 corregir la música cercana al final (donde estamos añadiendo las
1403 notas).  Para acelerar este proceso de corrección, es posible saltar
1404 la composición tipográfica de todos excepto unos pocos de los últimos
1405 compases.  Esto se consigue poniendo
1406
1407 @verbatim
1408 showLastLength = R1*5
1409 \score { ... }
1410 @end verbatim
1411
1412 @noindent
1413 en nuestro archivo fuente.  Esto hará que se tracen sólo los últimos
1414 cinco compases (suponiendo un compás de 4/4) de cada una de las
1415 partituras @code{\score} del archivo de entrada.  Para piezas largas,
1416 el tipografiado de únicamente una parte pequeña es con frecuencia un
1417 orden de magnitud más rápido que el de la obra completa.  Si estamos
1418 trabajando sobre el principio de una partitura que ya hemos
1419 tipografiado (p.ej., para añadir una parte instrumental nueva),
1420 también puede ser útil la propiedad @code{showFirstLength}.
1421
1422 Este mecanismo de pasar por alto partes de un partitura se puede
1423 controlar con un grano más fino mediante la propiedad
1424 @code{Score.skipTypesetting}.  Cuando su valor está establecido, no se
1425 lleva a cabo ningún tipografiado en absoluto.
1426
1427 Esta propiedad se usa también para controlar la salida al archivo
1428 MIDI.  Observe que pasa por alto todos los eventos, incluidos el tempo
1429 y los cambios de instrumento.  Está usted advertido.
1430
1431 @lilypond[quote,fragment,ragged-right,verbatim]
1432 \relative c'' {
1433   c8 d
1434   \set Score.skipTypesetting = ##t
1435   e e e e e e e e
1436   \set Score.skipTypesetting = ##f
1437   c d b bes a g c2 }
1438 @end lilypond
1439
1440 En música polifónica, @code{Score.skipTypesetting} afecta a todas las
1441 voces y pentagramas, ahorrando más tiempo incluso.
1442
1443
1444 @node MIDI output
1445 @section MIDI output
1446
1447 @cindex sonido
1448 @cindex MIDI
1449
1450 El MIDI (Musical Instrument Digital Interface, Interfase Digital para
1451 Instrumentos Musicales) es un estándar para interconectar y controlar
1452 instrumentos musicales electrónicos.  Un archivo o secuencia MIDI es
1453 una serie de notas dentro de un conjunto de pistas.  No es un archivo
1454 de sonidos reales; se necesita un programa reproductor especial para
1455 traducir la serie de notas en sonidos de verdad.
1456
1457 Cualquier música se puede convertir a archivos MIDI, de manera que
1458 podamos escuchar lo que hayamos introducido.  Esto es muy conveniente
1459 para comprobar la corrección de la música; las octavas equivocadas o
1460 las alteraciones erróneas se ponen de relieve muy claramente al
1461 escuchar la salida MIDI.
1462
1463 @c TODO Check this
1464 La salida MIDI reserva un canal por cada pentagrama, y otro para los
1465 ajustes globales.  Por ello, el archivo MIDI no debe tener más de 15
1466 pautas (o 14 si no se usa la percusión).  Otros pentagramas permanecen
1467 en silencio.
1468
1469 @menu
1470 * Creating MIDI files::
1471 * MIDI block::
1472 * What goes into the MIDI output?::
1473 * Repeats in MIDI::
1474 * Controlling MIDI dynamics::
1475 * Percussion in MIDI::
1476 @end menu
1477
1478 @node Creating MIDI files
1479 @subsection Creating MIDI files
1480
1481 Para crear un MIDI a partir de una pieza de música, escriba un bloque
1482 @code{\midi} en la partitura, por ejemplo:
1483
1484 @example
1485 \score @{
1486   @var{...música...}
1487   \midi @{ @}
1488 @}
1489 @end example
1490
1491 Si hay un bloque @code{\midi} dentro de un @code{\score} que no tenga
1492 ningún bloque @code{\layout}, solamente se producirá MIDI.  Si se
1493 necesita una notación impresa, debe haber también un bloque
1494 @code{\layout}:
1495
1496 @example
1497 \score @{
1498   @var{...música...}
1499   \midi @{ @}
1500   \layout @{ @}
1501 @}
1502 @end example
1503
1504 Se traducen correctamente a la salida MIDI la altura y duración de las
1505 notas, las ligaduras de unión, matices y cambios de tempo.  Las
1506 indicaciones dinámicas, crescendi y decrescendi se traducen a niveles
1507 de volumen MIDI.  Las marcas dinámicas se traducen a una fracción fija
1508 del rango de volumen MIDI disponible.  Los crescendi y decrescendi
1509 hacen que el volumen varía linealmente entre sus dos extremos. El
1510 efecto de las indicaciones dinámicas sobre la salida MIDI se puede
1511 eliminar por completo, véase @ref{MIDI block}.
1512
1513 El tempo inicial y los cambios de tempo posteriores se pueden
1514 especificar utilizando la instrucción @code{\tempo} dentro de la
1515 propia notación musical.  Se reflejan en cambios de tempo en la salida
1516 MIDI.  Esta instrucción normalmente hace que se imprima la indicación
1517 metronómica, pero esto se puede eliminar, véase @ref{Metronome marks}.
1518 Más abajo se describe una forma alternativa de especificar el tempo
1519 MIDI inicial o global, véase @ref{MIDI block}.
1520
1521 @unnumberedsubsubsec Instrument names
1522
1523 @cindex instrumento, nombres de
1524 @funindex Staff.midiInstrument
1525
1526 El nombre del instrumento MIDI se establece mediante la propiedad
1527 @code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
1528 de entre los que están en la lista que aparece en @ref{MIDI
1529 instruments}.
1530
1531 @example
1532 \new Staff @{
1533   \set Staff.midiInstrument = #"glockenspiel"
1534   @var{...notes...}
1535 @}
1536 @end example
1537
1538 @example
1539 \new Staff \with @{midiInstrument = #"cello"@} @{
1540   @var{...notes...}
1541 @}
1542 @end example
1543
1544 Si el instrumento elegido no coincide exactamente con uno de los
1545 instrumentos de la lista de instrumentos MIDI, se usará el instrumento
1546 Piano de Cola (@code{"acoustic grand"}).
1547
1548 @snippets
1549
1550 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1551 {changing-midi-output-to-one-channel-per-voice.ly}
1552
1553 @knownissues
1554
1555 @c In 2.11 the following no longer seems to be a problem -td
1556 @ignore
1557 Unterminated (de)crescendos will not render properly in the midi file,
1558 resulting in silent passages of music.  The workaround is to explicitly
1559 terminate the (de)crescendo.  For example,
1560
1561 @example
1562 @{ a\< b c d\f @}
1563 @end example
1564
1565 @noindent
1566 will not work properly but
1567
1568 @example
1569 @{ a\< b c d\!\f @}
1570 @end example
1571
1572 @noindent
1573 will.
1574 @end ignore
1575
1576 Los cambios del volumen MIDI sólo tienen lugar al principio de la
1577 nota, por lo que los crescendi y decrescendi no pueden afectar al
1578 volumen de una sola nota.
1579
1580 No todos los reproductores de MIDI manejar adecuadamente los cambios de
1581 tempo de la salida MIDI.  Entre los reproductores que se sabe que
1582 funcionan se encuentran el Reproductor de Medios de MS Windows y
1583 @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
1584
1585
1586 @node MIDI block
1587 @subsection MIDI block
1588
1589 @cindex bloque MIDI
1590
1591 Si se requiere una salida MIDI, debe aparecer un bloque @code{\midi}
1592 dentro de un bloque de partitura.  Es análogo al bloque layout de
1593 diseño de página, pero algo maś simple.  Con frecuencia, el bloque
1594 @code{\midi} se deja vacío, pero puede contener reorganizaciones de
1595 contextos, definiciones de contexto nuevas o código para fijar valores
1596 de propiedades.  Por ejemplo, en el ejemplo siguiente se establece el
1597 tempo inicial exportado al archivo MIDI sin hacer que se imprima una
1598 indicación de tempo:
1599
1600 @example
1601 \score @{
1602   @var{...música...}
1603   \midi @{
1604     \context @{
1605       \Score
1606       tempoWholesPerMinute = #(ly:make-moment 72 4)
1607     @}
1608   @}
1609 @}
1610 @end example
1611
1612 En este ejemplo, el tempo se establece a 72 pulsos de negra por
1613 minuto.  Esta clase de especificación de tempo no puede tomar como
1614 argumento una figura con puntillo.  Si necesitamos una figura con
1615 puntillo, dividimos la nota con puntillo en figuras más pequeñas.  Por
1616 ejemplo, un tempo de 90 negras con puntillo por minuto se puede
1617 especificar como 270 corcheas por minuto:
1618
1619 @example
1620 tempoWholesPerMinute = #(ly:make-moment 270 8)
1621 @end example
1622
1623 @cindex MIDI, definiciones de contexto
1624
1625 Las definiciones de contexto siguen con precisión la misma sintaxis
1626 que la de un bloque @code{\layout}.  Los módulos de traducción para el
1627 sonido reciben el nombre de ejecutantes.  Los contextos para la salida
1628 MIDI se definen en @file{../ly/@/performer@/-init@/.ly}, véase
1629 @rlearning{Other sources of information}.  Por ejemplo, para eliminar
1630 el efecto de los matices de la salida MIDI, inserte las líneas
1631 siguientes en el bloque @code{\midi@{ @}}.
1632
1633 @example
1634 \midi @{
1635   ...
1636   \context @{
1637     \Voice
1638     \remove "Dynamic_performer"
1639   @}
1640 @}
1641 @end example
1642
1643 La salida MIDI se crea sólo cuando se incluye un bloque @code{\midi}
1644 dentro de un bloque de partitura definido con una instrucción
1645 @code{\score}.  Si se sitúa dentro de un contexto de partitura
1646 instanciado explícitamente (es decir, dentro de un bloque @code{\new
1647 Score}) el archivo no funciona.  Para resolverlo, encierre las
1648 instrucciones @code{\new Score} y @code{\midi} dentro de un bloque
1649 @code{\score}.
1650
1651 @example
1652 \score @{
1653   \new Score @{ @dots{}notas@dots{} @}
1654   \midi @{ @}
1655 @}
1656 @end example
1657
1658 @node What goes into the MIDI output?
1659 @subsection What goes into the MIDI output?
1660
1661 @unnumberedsubsubsec Supported in MIDI
1662
1663 @cindex alturas en MIDI
1664 @cindex MIDI, alturas
1665 @cindex cuartos de tono en MIDI
1666 @cindex MIDI, cuartos de tono
1667 @cindex microtonos en MIDI
1668 @cindex MIDI, microtonos
1669 @cindex acordes, nombres de, en MIDI
1670 @cindex MIDI, nombres de
1671 @cindex duraciones en MIDI
1672 @cindex MIDI, duraciones
1673 @c TODO etc
1674
1675 Los siguientes elementos de notación se reflejan en la salida MIDI:
1676
1677 @itemize
1678 @item Alturas
1679 @item Microtonos (véase @ref{Accidentals}. La reproducción necesita un reproductor que contemple la curvatura de tono o @emph{pitch bend}.)
1680 @item Acordes escritos como nombres de acorde
1681 @item Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
1682 @item Trémolos escritos sin @q{@code{:}[@var{número}]}
1683 @item Ligaduras de unión
1684 @item Matices o indicaciones de dinámica
1685 @item Crescendi y decrescendi sobre varias notas
1686 @item Cambios de tempo insertados con una marca metronómica
1687 @item Letra de las canciones
1688 @end itemize
1689
1690 @unnumberedsubsubsec Unsupported in MIDI
1691
1692 @c TODO index as above
1693
1694 Los siguientes elementos de notación no tienen ningún efecto sobre la
1695 salida MIDI:
1696
1697 @itemize
1698 @item Duraciones escritas como anotaciones, p.ej. el swing
1699 @item Cambios de tempo escritos como anotaciones sin marca de tempo
1700 @item Staccato y otras articulaciones y ornamentos
1701 @item Ligaduras de expresión y de fraseo
1702 @item Crescendi y decrescendi sobre una nota única
1703 @item Trémolos introducidos con @q{@code{:}[@var{número}]}
1704 @item Bajo cifrado
1705 @item Acordes microtonales
1706 @end itemize
1707
1708
1709 @node Repeats in MIDI
1710 @subsection Repeats in MIDI
1711
1712 @cindex repeticiones, expandir
1713 @funindex \unfoldRepeats
1714
1715 Con un poco de trucaje, se puede hacer que cualquier tipo de
1716 repetición esté presente en la salida MIDI.  Esto se consigue mediante
1717 la aplicación de la función musical @code{\unfoldRepeats}.  Esta
1718 función cambia todas las repeticiones a repeticiones desplegadas.
1719
1720 @lilypond[quote,verbatim]
1721 \unfoldRepeats {
1722   \repeat tremolo 8 {c'32 e' }
1723   \repeat percent 2 { c''8 d'' }
1724   \repeat volta 2 {c'4 d' e' f'}
1725   \alternative {
1726     { g' a' a' g' }
1727     {f' e' d' c' }
1728   }
1729 }
1730 \bar "|."
1731 @end lilypond
1732
1733 Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
1734 MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
1735 (con repeticiones desplegadas) y otro para la notación impresa (con
1736 repeticiones de volta --primera y segunda vez--, tremolo --trémolo--,
1737 y percent --repetición de compases--).  Por ejemplo,
1738
1739 @example
1740 \score @{
1741   @var{..música..}
1742   \layout @{ .. @}
1743 @}
1744 \score @{
1745   \unfoldRepeats @var{..música..}
1746   \midi @{ .. @}
1747 @}
1748 @end example
1749
1750
1751 @node Controlling MIDI dynamics
1752 @subsection Controlling MIDI dynamics
1753
1754 La dinámica en el MIDI está implementada por medio del intérprete
1755 Dynamic_performer que reside de forma predeterminada dentro del
1756 contexto Voice.  Es posible controlar el volumen MIDI general, el
1757 volumen relativo de los matices dinámicos y el volumen relativo de los
1758 distintos instrumentos.
1759
1760 @unnumberedsubsubsec Dynamic marks
1761
1762 Los matices o indicaciones de dinámica se traducen a una fracción fija
1763 del rango de volumen MIDI disponible.  Las fracciones predeterminadas
1764 se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
1765 @notation{fffff}.  El conjunto de indicaciones dinámicas y las
1766 fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
1767 @rlearning{Other sources of information}.  Este conjunto de fracciones
1768 se puede cambiar o extender proporcionando una función que toma como
1769 argumento una indicación dinámica y devuelve la fracción requerida, y
1770 estableciendo @code{Score.dynamicAbsoluteVolumeFunction} a esta
1771 función.
1772
1773 Por ejemplo, si se requiere una indicación dinámica
1774 @notation{rinforzando}, @code{\rfz}, ésta no tiene ningún efecto
1775 predeterminado sobre el volumen MIDI, pues no está incluida en el
1776 conjunto predeterminado.  De igual manera, si se define una indicación
1777 dinámica nueva con @code{make-dynamic-script}, ésta tampoco estará
1778 incluida en el conjunto predeterminado.  El ejemplo siguiente muestra
1779 cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
1780 La función Scheme establece la fracción a 0.9 si se encuentra una
1781 indicación dinámica rfz, y en caso contrario llama a la función
1782 predeterminada.
1783
1784 @lilypond[verbatim,quote]
1785 #(define (myDynamics dynamic)
1786     (if (equal? dynamic "rfz")
1787       0.9
1788       (default-dynamic-absolute-volume dynamic)))
1789
1790 \score {
1791   \new Staff {
1792     \set Staff.midiInstrument = #"cello"
1793     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
1794     \new Voice {
1795        \relative c'' {
1796          a\pp b c-\rfz
1797        }
1798     }
1799   }
1800   \layout {}
1801   \midi {}
1802 }
1803 @end lilypond
1804
1805 Como alternativa, si se necesitara redefinir la tabla completa de
1806 fracciones, sería mejor usar el procedimiento
1807 @notation{default-dynamic-absolute-volume} que aparece en
1808 @file{../scm/midi.scm} y la tabla asociada como modelo.  El último
1809 ejemplo de esta sección muestra cómo se puede hacer esto.
1810
1811 @unnumberedsubsubsec Overall MIDI volume
1812
1813 El volumen general máximo y mínimo de las indicaciones dinámicas de
1814 MIDI se controla estableciendo valores para las propiedades
1815 @code{midiMinimumVolume} y @code{midiMaximumVolume} en el nivel de
1816 @code{Score}.  Estas propiedades tienen efecto solamente sobre las
1817 indicaciones dinámicas, por ello si queremos que tengan validez desde
1818 el comienzo de la partitura, se debe colocar allí una indicación de
1819 dinámica.  La fracción que corresponde a cada indicación dinámica se
1820 modifica con esta fórmula:
1821
1822 @example
1823 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
1824 @end example
1825
1826 En el ejemplo siguiente, el rango de intensidad dinámica del volumen
1827 general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
1828
1829 @lilypond[verbatim,quote]
1830 \score {
1831   <<
1832     \new Staff {
1833       \key g \major
1834       \time 2/2
1835       \set Staff.midiInstrument = #"flute"
1836       \new Voice \relative c''' {
1837         r2 g\mp g fis ~
1838         fis4 g8 fis e2 ~
1839         e4 d8 cis d2
1840       }
1841     }
1842     \new Staff {
1843       \key g \major
1844       \set Staff.midiInstrument = #"clarinet"
1845       \new Voice \relative c'' {
1846         b1\p a2. b8 a
1847         g2. fis8 e
1848         fis2 r
1849       }
1850     }
1851   >>
1852   \layout { }
1853   \midi {
1854     \context {
1855       \Score
1856       tempoWholesPerMinute = #(ly:make-moment 72 2)
1857       midiMinimumVolume = #0.2
1858       midiMaximumVolume = #0.5
1859     }
1860   }
1861 }
1862 @end lilypond
1863
1864 @unnumberedsubsubsec Equalizing different instruments (i)
1865
1866 Si las propiedades de volumen MIDI máximo y mínimo están establecidas
1867 en el contexto @code{Staff} se pueden controlar los volúmenes
1868 relativos de los instrumentos MIDI.  Esto proporciona un ecualizador
1869 de instrumentos básico que puede realzar significativamente la calidad
1870 de la salida MIDI.
1871
1872 En este ejemplo se reduce el volumen del clarinete con relación al de
1873 la flauta.  Debe haber una indicación dinámica en la primera nota de
1874 cada instrumento para que esto funcione correctamente.
1875
1876 @lilypond[verbatim,quote]
1877 \score {
1878   <<
1879     \new Staff {
1880       \key g \major
1881       \time 2/2
1882       \set Staff.midiInstrument = #"flute"
1883       \set Staff.midiMinimumVolume = #0.7
1884       \set Staff.midiMaximumVolume = #0.9
1885       \new Voice \relative c''' {
1886         r2 g\mp g fis ~
1887         fis4 g8 fis e2 ~
1888         e4 d8 cis d2
1889       }
1890     }
1891     \new Staff {
1892       \key g \major
1893       \set Staff.midiInstrument = #"clarinet"
1894       \set Staff.midiMinimumVolume = #0.3
1895       \set Staff.midiMaximumVolume = #0.6
1896       \new Voice \relative c'' {
1897         b1\p a2. b8 a
1898         g2. fis8 e
1899         fis2 r
1900       }
1901     }
1902   >>
1903   \layout { }
1904   \midi {
1905     \context {
1906       \Score
1907       tempoWholesPerMinute = #(ly:make-moment 72 2)
1908     }
1909   }
1910 }
1911 @end lilypond
1912
1913 @unnumberedsubsubsec Equalizing different instruments (ii)
1914
1915 Si las propiedades de volumen MIDI máximo y mínimo no están
1916 establecidas, de forma predeterminada LilyPond aplica un pequeño grado
1917 de ecualización a algunos instrumentos.  Los instrumentos y la
1918 ecualización que se aplica se muestra en la tabla
1919 @notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
1920
1921 El ecualizador básico predeterminado se puede sustituir estableciendo
1922 @code{instrumentEqualizer} en el contexto @code{Score} a un
1923 procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
1924 como único argumento y devuelva un par de fracciones que dan los
1925 volúmenes máximo y mínimo que se aplican a dicho instrumento.  Esta
1926 sustitución se hace de la misma forma que mostramos para restablecer
1927 la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
1928 al comienzo de esta sección.  El ecualizador predeterminado,
1929 @notation{default-instrument-equalizer}, en @file{../scm/midi.scm},
1930 muestra cómo se puede escribir tal procedimiento.
1931
1932 El ejemplo siguiente establece los volúmenes relativos de la flauta y
1933 del clarinete a los mismos valores que el ejemplo anterior.
1934
1935 @lilypond[verbatim,quote]
1936 #(define my-instrument-equalizer-alist '())
1937
1938 #(set! my-instrument-equalizer-alist
1939   (append
1940     '(
1941       ("flute" . (0.7 . 0.9))
1942       ("clarinet" . (0.3 . 0.6)))
1943     my-instrument-equalizer-alist))
1944
1945 #(define (my-instrument-equalizer s)
1946   (let ((entry (assoc s my-instrument-equalizer-alist)))
1947     (if entry
1948       (cdr entry))))
1949
1950 \score {
1951   <<
1952     \new Staff {
1953       \key g \major
1954       \time 2/2
1955       \set Score.instrumentEqualizer = #my-instrument-equalizer
1956       \set Staff.midiInstrument = #"flute"
1957       \new Voice \relative c''' {
1958         r2 g\mp g fis ~
1959         fis4 g8 fis e2 ~
1960         e4 d8 cis d2
1961       }
1962     }
1963     \new Staff {
1964       \key g \major
1965       \set Staff.midiInstrument = #"clarinet"
1966       \new Voice \relative c'' {
1967         b1\p a2. b8 a
1968         g2. fis8 e
1969         fis2 r
1970       }
1971     }
1972   >>
1973   \layout { }
1974   \midi {
1975     \context {
1976       \Score
1977       tempoWholesPerMinute = #(ly:make-moment 72 2)
1978     }
1979   }
1980 }
1981 @end lilypond
1982
1983 @ignore
1984 @c Delete when satisfied this is adequately covered elsewhere -td
1985
1986 @n ode Microtones in MIDI
1987 @s ubsection Microtones in MIDI
1988
1989 @cindex microtones in MIDI
1990
1991 Microtones consisting of half sharps and half flats are exported
1992 to the MIDI file and render correctly in MIDI players which support
1993 pitch bending.  See @ref{Note names in other languages}.  Here is
1994 an example showing all the half sharps and half flats.  It can be
1995 copied out and compiled to test microtones in your MIDI player.
1996
1997 @lilypond[verbatim,quote]
1998 \score {
1999   \relative c' {
2000     c cih cis cisih
2001     d dih ees eeh
2002     e eih f fih
2003     fis fisih g gih
2004     gis gisih a aih
2005     bes beh b bih
2006   }
2007   \layout {}
2008   \midi {}
2009 }
2010 @end lilypond
2011 @end ignore
2012
2013
2014 @node Percussion in MIDI
2015 @subsection Percussion in MIDI
2016
2017 La notación de los instrumentos de percusión se realiza normalmente en
2018 un contexto @code{DrumStaff} y cuando se hace de esta forma se les da
2019 salida correctamente por el canal MIDI@tie{}10, pero ciertos
2020 instrumentos de percusión de altura determinada, como el xilófono,
2021 marimba, vibráfono, timbales, etc., se tratan como instrumentos
2022 @qq{normales} y la música para estos instrumentos se debe introducir
2023 en contextos de @code{Staff} normales, no en un contexto
2024 @code{DrumStaff}, para obtener la salida MIDI correcta.
2025
2026 Ciertos sonidos de altura indeterminada que están incluidos en el
2027 estándar General MIDI, como el tom melódico, el tambor taiko, los
2028 tambores sintéticos, etc., no se pueden acceder a través del canal
2029 MIDI@tie{}10, por lo que la notación para dichos instrumentos se debe
2030 introducir también en un contexto normal de @code{Staff}, utilizando
2031 las alturas normales adecuadas.
2032
2033 Muchos instrumentos de percusión no están incluidos dentro del
2034 estándar General MIDI, p.ej. las castañuelas.  El método más
2035 fácil (aunque no satisfactorio) de producir una salida MIDI al
2036 escribir para estos instrumentos es sustituirlos por el sonido más
2037 parecido del conjunto estándar.
2038
2039 @c TODO Expand with examples, and any other issues
2040
2041 @knownissues
2042
2043 Debido a que el estándar General MIDI no contiene golpes de aro
2044 (@emph{rim shots}), para este propósito se utiliza en su lugar el
2045 golpe lateral de baqueta (@emph{sidestick}).