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