]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/user/input.itely
Merge branch 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond into lilypond...
[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: 41ef91786a08102d9b9a839f6a2f40cec263d723
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 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
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 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
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 symbol, consulte
458 @ref{Text encoding}.
459
460 @funindex tagline
461 @item tagline
462 Cartel de propósito general en el pie de página, centrado al final de la última.
463
464 @end table
465
466 A continuación presentamos una demostración de todos los campos que
467 están disponibles.  Fíjese en que puede utilizar en la cabecera
468 cualquier instrucción de marcado de texto (Véase @ref{Formatting text}).
469
470 @lilypond[quote,verbatim,line-width=11.0\cm]
471 \paper {
472   line-width = 9.0\cm
473   paper-height = 10.0\cm
474 }
475
476 \book {
477   \header {
478     dedication = "dedicated to me"
479     title = \markup \center-column { "Title first line" "Title second line,
480 longer" }
481     subtitle = "the subtitle,"
482     subsubtitle = #(string-append "subsubtitle LilyPond version "
483 (lilypond-version))
484     poet = "Poet"
485     composer =  \markup \center-column { "composer" \small "(1847-1973)" }
486     texttranslator = "Text Translator"
487     meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "e" \huge
488 "r" }
489     arranger = \markup { \fontsize #8.5 "a" \fontsize #2.5 "r" \fontsize
490 #-2.5 "r" \fontsize #-5.3 "a" \fontsize #7.5 "nger" }
491     instrument = \markup \bold \italic "instrument"
492     piece = "Piece"
493   }
494
495   \score {
496     { c'1 }
497     \header {
498       piece = "piece1"
499       opus = "opus1"
500     }
501   }
502   \markup {
503       and now...
504   }
505   \score {
506     { c'1 }
507     \header {
508       piece = "piece2"
509       opus = "opus2"
510     }
511   }
512 }
513 @end lilypond
514
515 Como se mostró anteriormente, puede usar varios bloques
516 @code{\header}.  Cuando los mismos campos aparecen en distintos
517 bloques, tiene validez el último en definirse.  A continuación un
518 breve ejemplo.
519
520 @example
521 \header @{
522   composer = "Compositor"
523 @}
524 \header @{
525   piece = "Pieza"
526 @}
527 \score @{
528   \new Staff @{ c'4 @}
529   \header @{
530     piece = "Otra pieza"  % sobreescribe a la anterior
531   @}
532 @}
533 @end example
534
535 Si define la cabecera @code{\header} dentro del bloque @code{\score},
536 por lo general se imprimirán solamente las cabeceras @code{piece} y
537 @code{opus}.  Fíjese en que la expresión musical debe aparecer antes
538 del @code{\header}.
539
540 @lilypond[quote,verbatim,line-width=11.0\cm]
541 \score {
542   { c'4 }
543   \header {
544     title = "title"  % not printed
545     piece = "piece"
546     opus = "opus"
547   }
548 }
549 @end lilypond
550
551 @funindex print-all-headers
552 @noindent
553 Se puede cambiar este comportamiento (e imprimir todas las cabeceras
554 cuando la cabecera @code{\header} está definida dentro del bloque
555 @code{\score}) mediante la utilización de
556
557 @example
558 \paper@{
559   print-all-headers = ##t
560 @}
561 @end example
562
563 @cindex copyright
564 @cindex tagline
565
566 El pie de página por omisión se encuentra vacío, excepto para la
567 primera página, en la que se inserta el campo de @code{copyright}
568 extraído del @code{\header}, y para la última página, en la que se
569 escribe el cartel @code{tagline} sacado del bloque @code{\header}.  La
570 línea por omisión para este cartel es @qq{Music engraving by LilyPond
571 (@var{version})}.@footnote{Las partituras bien tipografiadas son una
572 magnífica promoción para nosotros, así que por favor, si puede,
573 conserve intacta la línea del letrero.}
574
575 Las cabeceras se pueden quitar completamente estableciendo su valor a
576 falso.
577
578 @example
579 \header @{
580   tagline = ##f
581   composer = ##f
582 @}
583 @end example
584
585
586 @node Custom titles
587 @subsection Custom titles
588
589 Una opción más avanzada es cambiar las definiciones de las variables
590 siguientes dentro del bloque @code{\paper} block.  El archivo de
591 inicio @file{ly/titling-init.ly} ofrece un listado de la disposición
592 predeterminada.
593
594 @table @code
595 @funindex bookTitleMarkup
596 @item bookTitleMarkup
597   Es el título que se escribe en lo alto del documento de salida
598 completo.  Normalmente contiene el compositor y el título de la pieza.
599
600 @funindex scoreTitleMarkup
601 @item scoreTitleMarkup
602   Es el título que se coloca por encima de un bloque @code{\score}.
603 normalmente contiene el nombre del movimiento (campo @code{piece}).
604
605 @funindex oddHeaderMarkup
606 @item oddHeaderMarkup
607   Es el encabezamiento de las páginas de numeración impar.
608
609 @funindex evenHeaderMarkup
610 @item evenHeaderMarkup
611   Es el encabezamiento de las páginas de numeración par.  Si se deja
612   sin especificar, se usará el encabezamiento de las páginas impares.
613
614   De forma predeterminada, los encabezamientos se definen de tal forma
615 que el número de página está en el borde exterior, y el isntrumento
616 está centrado.
617
618 @funindex oddFooterMarkup
619 @item oddFooterMarkup
620   Es el pie de las páginas de numeración impar.
621
622 @funindex evenFooterMarkup
623 @item evenFooterMarkup
624   Es el pie de las páginas de numeración par.  Si se deja sin
625   especificar, se usará en su lugar el encabezamiento de las páginas
626   impares.
627
628   De forma predeterminada, el pie de página tiene el aviso de
629 copyright en la primera página, y el cartel @code{tagline} en la
630 última.
631 @end table
632
633
634 @cindex \paper
635 @cindex encabezamiento
636 @cindex header
637 @cindex pie
638 @cindex disposición de la página
639 @cindex títulos
640
641 La definición siguiente pone el título en el extremo izquierdo, y el
642 compositor en el extremo derecho sobre una única línea.
643
644 @verbatim
645 \paper {
646   bookTitleMarkup = \markup {
647    \fill-line {
648      \fromproperty #'header:title
649      \fromproperty #'header:composer
650    }
651   }
652 }
653 @end verbatim
654
655 @node Reference to page numbers
656 @subsection Reference to page numbers
657
658 Se puede marcar un lugar determinado de una partitura utilizando la
659 instrucción @code{\label} (etiqueta), bien en lo alto de la estructura
660 o bien dentro de la música.  Posteriormente se puede hacer referencia
661 a esta etiqueta dentro de un elemento de marcado, para obtener el
662 número de la página en que se encuentra la marca, usando la
663 instrucción de marcado @code{\page-ref}.
664
665 @lilypond[verbatim,line-width=11.0\cm]
666 \header { tagline = ##f }
667 \book {
668   \label #'firstScore
669   \score {
670     {
671       c'1
672       \pageBreak \mark A \label #'markA
673       c'
674     }
675   }
676
677   \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
678   \markup { Mark A is on page \page-ref #'markA "0" "?" }
679 }
680 @end lilypond
681
682 La instrucción de marcado @code{\page-ref} toma tres argumentos:
683 @enumerate
684 @item la etiqueta, un símbolo de scheme, p.ej. @code{#'firstScore};
685 @item un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
686 @item un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
687 @end enumerate
688
689 El motivo de que se necesite un medidor es que en el momento en que se
690 están interpretando los marcados, los saltos de página aún no se han
691 producido y por tanto los números de página no se conocen todavía.
692 Para sortear este inconveniente, la interpretación real del marcado se
693 retrasa hasta un momento posterior; sin embargo, las dimensiones del
694 marcado se tienen que conocer de antemano, así que se usa el medidor
695 para decidir estas dimensiones.  Si el libro tiene entre 10 y 99
696 páginas, el medidor puede ser "00", es decir, un número de dos
697 dígitos.
698
699
700 @predefined
701 @funindex \label
702 @code{\label},
703 @funindex \page-ref
704 @code{\page-ref}.
705 @endpredefined
706
707
708 @node Table of contents
709 @subsection Table of contents
710
711 Se puede insertar un índice general o tabla de contenidos utilizando
712 la instrucción @code{\markuplines \table-of-contents}.  Los elementos
713 que deben aparecer en la tabla de contenidos se introducen con la
714 instrucción @code{\tocItem}, que se puede usar en el nivel más alto de
715 la jerarquía del código, o dentro de una expresión musical.
716
717 @verbatim
718 \markuplines \table-of-contents
719 \pageBreak
720
721 \tocItem \markup "Primera partitura"
722 \score {
723   {
724     c'  % ...
725     \tocItem \markup "Un punto concreto dentro de la primera partitura"
726     d'  % ...
727   }
728 }
729
730 \tocItem \markup "Segunda partitura"
731 \score {
732   {
733     e' % ...
734   }
735 }
736 @end verbatim
737
738 Los elementos de marcado que se usan para dar formato al índice
739 general se encuentran definidos dentro del bloque @code{\paper}.  Los
740 elementos predeterminados son @code{tocTitleMarkup}, para dar formato
741 al título de la tabla, y @code{tocItemMarkup}, para aplicar formato a
742 los elementos del índice, que consisten en el título del elemento y el
743 número de página.  Estas variables se pueden cambiar por parte del
744 usuario:
745
746 @verbatim
747 \paper {
748   %% Traducir el título del índice al español:
749   tocTitleMarkup = \markup \huge \column {
750     \fill-line { \null "Índice general" \null }
751     \hspace #1
752   }
753   %% usar una fuente mayor
754   tocItemMarkup = \markup \large \fill-line {
755     \fromproperty #'toc:text \fromproperty #'toc:page
756   }
757 }
758 @end verbatim
759
760 Observe la forma en que nos referimos al texto y al número de página
761 del elemento de índice, dentro de la definición @code{tocItemMarkup}.
762
763 También se pueden definir nuevas instrucciones y elementos de
764 marcado para crear índices generales más eleborados:
765 @itemize
766 @item en primer lugar, defina una variable de marcado nueva dentro del bloque @code{\paper}
767 @item luego defina una función de música cuyo propósito es añadir un elemento al índice general
768 utilizando esta variable de marcado del bloque @code{\paper}.
769 @end itemize
770
771 En el ejemplo siguiente se define un estilo nuevo para introducir los
772 nombres de los actos de una ópera en el índice general:
773
774 @verbatim
775 \paper {
776   tocActMarkup = \markup \large \column {
777     \hspace #1
778     \fill-line { \null \italic \fromproperty #'toc:text \null }
779     \hspace #1
780   }
781 }
782
783 tocAct =
784 #(define-music-function (parser location text) (markup?)
785    (add-toc-item! 'tocActMarkup text))
786 @end verbatim
787
788 @lilypond[line-width=11.0\cm]
789 \header { tagline = ##f }
790 \paper {
791   tocActMarkup = \markup \large \column {
792     \hspace #1
793     \fill-line { \null \italic \fromproperty #'toc:text \null }
794     \hspace #1
795   }
796 }
797
798 tocAct =
799 #(define-music-function (parser location text) (markup?)
800    (add-toc-item! 'tocActMarkup text))
801
802 \book {
803   \markuplines \table-of-contents
804   \tocAct \markup { Atto Primo }
805   \tocItem \markup { Coro. Viva il nostro Alcide }
806   \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
807   \tocAct \markup { Atto Secondo }
808   \tocItem \markup { Sinfonia }
809   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
810   \markup \null
811 }
812 @end lilypond
813
814
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 depués de la
866 instrucción @code{\include}.  Los archivos en otros lugares se pueden
867 incluir proporcionando una referencia de ruta completa o una ruta
868 relativa (pero utilice la barra inclinada normal del UNIX, /, no la
869 barra invertida de DOS/Windows, \, como separador de directorio).  Por
870 ejemplo, si @file{material.ly} está situado un directorio por encima
871 del directorio de trabajo actual, utilice
872
873 @example
874 \include "../material.ly"
875 @end example
876
877 @noindent
878 o si los archivos de las partes orquestales incluidas están todos
879 situados en un subdirectorio llamado @file{partes} dentro del
880 directorio actual, use
881
882 @example
883 \include "partes/VI.ly"
884 \include "partes/VII.ly"
885 ... etc.
886 @end example
887
888 Los archivos de inclusión también pueden contener enunciados
889 @code{\include} a su vez.  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 ees 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 manetener 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 etoiquetadas 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 flitrado 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 caracter aislado para el que se conoce la secuencia
1269 de escape de Unicode pero no está disponible en el editor que se está
1270 usando, use @code{\char ##xhhhh} dentro de un bloque @code{\markup},
1271 donde @code{hhhh} es el código hexadecimal del carácter en cuestión.
1272 Por ejemplo, @code{\char ##x03BE} inserta el carácter Unicode U+03BE,
1273 que tiene el nombre Unicode @qq{Letra griega Xi pequeña}.  Se puede
1274 sustituir cualquier código hexadecimal Unicode, y si todos los
1275 caracteres especiales se escriben en este formato no es necesario
1276 guardar el archivo de entrada en formato UTF-8.  Por supuesto, debe
1277 estar instalada y estar disponible para Lilypond una fuente
1278 tipográfica que contenga codificados todos estos caracteres.
1279
1280 El ejemplo siguiente muestra caracteres codificados en UTF-8 que se
1281 usan en cuatro lugares: en una llamada de ensayo, como texto de
1282 articulación, en la letra y como texto independiente bajo la
1283 partitura:
1284
1285 @lilypond[quote,verbatim]
1286 \score {
1287   \relative c'' {
1288     c1 \mark \markup { \char ##x03EE }
1289     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
1290   }
1291   \addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } }
1292 }
1293 \markup { "Copyright 2008--2009" \char ##x00A9 }
1294 @end lilypond
1295
1296 Para escribir el símbolo de copyright en la nota de créditos, utilice:
1297
1298 @example
1299 \header @{
1300   copyright = \markup @{ \char ##x00A9 "2008" @}
1301 @}
1302 @end example
1303
1304
1305 @node Displaying LilyPond notation
1306 @subsection Displaying LilyPond notation
1307
1308 @funindex \displayLilyMusic
1309 La impresión textual de una expresión musical en notación de LilyPond
1310 puede hacerse usando la función musical @code{\displayLilyMusic}.  Por
1311 ejemplo,
1312
1313 @example
1314 @{
1315   \displayLilyMusic \transpose c a, @{ c e g a bes @}
1316 @}
1317 @end example
1318
1319 imprimirá
1320
1321 @example
1322 @{ a, cis e fis g @}
1323 @end example
1324
1325 De forma predeterminada, LilyPond imprime estos mensajes en la consola
1326 junto al resto de los mensajes.  Para discernir entre estos mensajes y
1327 guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
1328 salida hacia un archivo.
1329
1330 @c TODO What happens under Windows?
1331
1332 @example
1333 lilypond archivo.ly >resultado.txt
1334 @end example
1335
1336
1337
1338 @node Controlling output
1339 @section Controlling output
1340
1341 @menu
1342 * Extracting fragments of music::
1343 * Skipping corrected music::
1344 @end menu
1345
1346 @node Extracting fragments of music
1347 @subsection Extracting fragments of music
1348
1349 Es posible citar pequeños fragmentos de una partitura grande
1350 directamente a partir de la salida.  Puede compararse con la
1351 separación de una pieza de una partitura, recortándola con tijeras.
1352
1353 Esto se hace definiendo los compases que se deben recortar.  Por
1354 ejemplo, la inclusión de la siguiente definición
1355
1356 @verbatim
1357 \layout {
1358   clip-regions
1359   = #(list
1360       (cons
1361        (make-rhythmic-location 5 1 2)
1362        (make-rhythmic-location 7 3 4)))
1363 }
1364 @end verbatim
1365
1366 @noindent
1367 extrae un fragmento empezando por la mitad del quinto compás y
1368 finalizando en el séptimo compás.  El significado de @code{5 1 2} es:
1369 después de una blanca (1/2) en el compás 5, y el de @code{7 3 4}
1370 después de tres negras del compás 7.
1371
1372 Se pueden definir más zonas de recorte añadiendo más parejas de
1373 definición de tiempo rhythmic-location a la lista.
1374
1375 Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
1376 la opción @code{-dclip-systems}.  Los recortes aparecen en la salida
1377 como archivos EPS, y se convierten en PDF y PNG si estos formatos
1378 también están activados.
1379
1380 Para ver más información sobre los formatos de salida, consulte
1381 @rprogram{Invoking lilypond}.
1382
1383
1384 @node Skipping corrected music
1385 @subsection Skipping corrected music
1386
1387 @funindex skipTypesetting
1388 @funindex showFirstLength
1389 @funindex showLastLength
1390
1391 Al escribir o copiar música, normalmente sólo es interesante de ver y
1392 corregir la música cercana al final (donde estams añadiendo las
1393 notas).  Para acelerar este proceso de corrección, es posible saltar
1394 la composición tipográfica de todos excepto unos pocos de los últimos
1395 compases.  Esto se consigue poniendo
1396
1397 @verbatim
1398 showLastLength = R1*5
1399 \score { ... }
1400 @end verbatim
1401
1402 @noindent
1403 en nuestro archivo fuente.  Esto hará que se tracen sólo los últimos
1404 cinco compases (suponniendo un compás de 4/4) de cada una de las
1405 partituras @code{\score} del archivo de entrada.  Para piezas largas,
1406 el tipografiado de únicamente una parte pequeña es con frecuencia un
1407 orden de magnitud más rápido que el de la obra completa.  Si estamos
1408 trabajando sobre el principio de una partitura que ya hemos
1409 tipografiado (p.ej., para añadir una parte instrumental nueva),
1410 también puede ser útil la propiedad @code{showFirstLength}.
1411
1412 Este mecanismo de pasar por alto partes de un partitura se puede
1413 controlar con un grano más fino mediante la propiedad
1414 @code{Score.skipTypesetting}.  Cuando su valor está establecido, no se
1415 lleva a cabo ningún tipografiado en absoluto.
1416
1417 Esta propiedad se usa también para controlar la salida al archivo
1418 MIDI.  Observe que pasa por alto todos los eventos, incluidos el tempo
1419 y los cambios de instrumento.  Está usted advertido.
1420
1421 @lilypond[quote,fragment,ragged-right,verbatim]
1422 \relative c'' {
1423   c8 d
1424   \set Score.skipTypesetting = ##t
1425   e e e e e e e e
1426   \set Score.skipTypesetting = ##f
1427   c d b bes a g c2 }
1428 @end lilypond
1429
1430 En música polifónica, @code{Score.skipTypesetting} afecta a todas las
1431 voces y pentagramas, ahorrando más tiempo incluso.
1432
1433
1434 @node MIDI output
1435 @section MIDI output
1436
1437 @cindex sonido
1438 @cindex MIDI
1439
1440 El MIDI (Musical Instrument Digital Interface, Interfase Digital para
1441 Instrumentos Musicales) es un estándar para interconectar y controlar
1442 instrumentos musicales electrónicos.  Un archivo o secuencia MIDI es
1443 una serie de notas dentro de un conjunto de pistas.  No es un archivoo
1444 de sonidos reales; se necesita un programa reproductor especial para
1445 traducir la serie de notas en sonidos de verdad.
1446
1447 Cualquier música se puede convertir a archivos MIDI, de manera que
1448 podamos escuchar lo que hayamos introducido.  Esto es muy conveniente
1449 para comprobar la corrección de la música; las octavas equivocadas o
1450 las alteraciones erróneas se ponen de relieve muy claramente al
1451 escuchar la salida MIDI.
1452
1453 @c TODO Check this
1454 La salida MIDI reserva un canal por cada pentagrama, y otro para los
1455 ajustes globales.  Por ello, el archivo MIDI no debe tener más de 15
1456 pautas (o 14 si no se usa la percusión).  Otros pentagramas permanecen
1457 en silencio.
1458
1459 @menu
1460 * Creating MIDI files::
1461 * MIDI block::
1462 * What goes into the MIDI output?::
1463 * Repeats in MIDI::
1464 * Controlling MIDI dynamics::
1465 * Percussion in MIDI::
1466 @end menu
1467
1468 @node Creating MIDI files
1469 @subsection Creating MIDI files
1470
1471 Para crear un MIDI a partir de una pieza de música, escriba un bloque
1472 @code{\midi} en la partitura, por ejemplo:
1473
1474 @example
1475 \score @{
1476   @var{...música...}
1477   \midi @{ @}
1478 @}
1479 @end example
1480
1481 Si hay un bloque @code{\midi} dentro de un @code{\score} que no tenga
1482 ningún bloque @code{\layout}, solamente se producirá MIDI.  Si se
1483 necesita una notación impresa, debe haber también un bloque
1484 @code{\layout}:
1485
1486 @example
1487 \score @{
1488   @var{...música...}
1489   \midi @{ @}
1490   \layout @{ @}
1491 @}
1492 @end example
1493
1494 Se traducen correctamente a la salida MIDI la altura y duración de las
1495 notas, las ligaduras de unión, matices y cambios de tempo.  Las
1496 indicaciones dinámicas, crescendi y decrescendi se traducen a niveles
1497 de volumen MIDI.  Las marcas dinámicas se traducen a una fracción fija
1498 del rango de volumen MIDI disponible.  Los crescendi y decrescendi
1499 hacen que el volumen varía linealmente entre sus dos extremos. El
1500 efecto de las indicaciones dinámicas sobre la salida MIDI se puede
1501 eliminar por completo, véase @ref{MIDI block}.
1502
1503 El tempo inicial y los cambios de tempo posteriores se pueden
1504 especificar utilizando la instrucción @code{\tempo} dentro de la
1505 propia notación musical.  Se reflejan en cambios de tempo en la salida
1506 MIDI.  Esta instrucción normalmente hace que se imprima la indicación
1507 metronómica, pero esto se puede eliminar, véase @ref{Metronome marks}.
1508 Más abajo se describe una forma alternativa de especificar el tempo
1509 MIDI inicial o global, véase @ref{MIDI block}.
1510
1511 @unnumberedsubsubsec Instrument names
1512
1513 @cindex instrumento, nombres de
1514 @funindex Staff.midiInstrument
1515
1516 El nombre del instrumento MIDI se establece mediante la propiedad
1517 @code{Staff.midiInstrument}.  El nombre del instrumento se debe elegir
1518 de entre los que están en la lista que aparece en @ref{MIDI
1519 instruments}.
1520
1521 @example
1522 \new Staff @{
1523   \set Staff.midiInstrument = #"glockenspiel"
1524   @var{...notes...}
1525 @}
1526 @end example
1527
1528 @example
1529 \new Staff \with @{midiInstrument = #"cello"@} @{
1530   @var{...notes...}
1531 @}
1532 @end example
1533
1534 Si el instrumento elegido no coincide exactamente con uno de los
1535 instrumentos de la lista de instrumentos MIDI, se usará el instrumento
1536 Piano de Cola (@code{"acoustic grand"}).
1537
1538 @snippets
1539
1540 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
1541 {changing-midi-output-to-one-channel-per-voice.ly}
1542
1543 @knownissues
1544
1545 @c In 2.11 the following no longer seems to be a problem -td
1546 @ignore
1547 Unterminated (de)crescendos will not render properly in the midi file,
1548 resulting in silent passages of music.  The workaround is to explicitly
1549 terminate the (de)crescendo.  For example,
1550
1551 @example
1552 @{ a\< b c d\f @}
1553 @end example
1554
1555 @noindent
1556 will not work properly but
1557
1558 @example
1559 @{ a\< b c d\!\f @}
1560 @end example
1561
1562 @noindent
1563 will.
1564 @end ignore
1565
1566 Los cambios del volumen MIDI sólo tienen lugar al principio de la
1567 nota, por lo que los crescendi y decrescendi no pueden afectar al
1568 volumen de una sola nota.
1569
1570 No todos los repoductores de MIDI manejar adecuadamente los cambios de
1571 tempo de la salida MIDI.  Entre los reproductores que se sabe que
1572 funcionan se encuentran el Reproductor de Medios de MS Windows y
1573 @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
1574
1575
1576 @node MIDI block
1577 @subsection MIDI block
1578
1579 @cindex bloque MIDI
1580
1581 Si se requiere una salida MIDI, debe aparecer un bloque @code{\midi}
1582 dentro de un bloque de partitura.  Es análogo al bloque layout de
1583 diseño de página, pero algo maś simple.  Con frecuencia, el bloque
1584 @code{\midi} se deja vacío, pero puede contener reorganizaciones de
1585 contextos, definiciones de contexto nuevas o código para fijar valores
1586 de propiedades.  Por ejemplo, en el ejemplo siguiente se establece el
1587 tempo inicial exportado alarchivo MIDI sin hacer que se imprima una
1588 indicación de tempo:
1589
1590 @example
1591 \score @{
1592   @var{...música...}
1593   \midi @{
1594     \context @{
1595       \Score
1596       tempoWholesPerMinute = #(ly:make-moment 72 4)
1597     @}
1598   @}
1599 @}
1600 @end example
1601
1602 En este ejemplo, el tempo se establece a 72 pulsos de negra por
1603 minuto.  Esta clase de especificación de tempo no puede tomar como
1604 argumento una figura con puntillo.  Si necesitamos una figura con
1605 puntillo, dividimos la nota con puntillo en figuras más pequeñas.  Por
1606 ejemplo, un tempo de 90 negras con puntillo por minuto se puede
1607 especificar como 270 corcheas por minuto:
1608
1609 @example
1610 tempoWholesPerMinute = #(ly:make-moment 270 8)
1611 @end example
1612
1613 @cindex MIDI, definiciones de contexto
1614
1615 Las definiciones de contexto siguen con precisión la misma sintaxis
1616 que la de un bloque @code{\layout}.  Los módulos de traducción para el
1617 sonido reciben el nombre de ejecutantes.  Los contextos para la salida
1618 MIDI se definen en @file{../ly/@/performer@/-init@/.ly}, véase
1619 @rlearning{Other sources of information}.  Por ejemplo, para eliminar
1620 el efecto de los matices de la salida MIDI, inserte las líneas
1621 siguientes en el bloque @code{\midi@{ @}}.
1622
1623 @example
1624 \midi @{
1625   ...
1626   \context @{
1627     \Voice
1628     \remove "Dynamic_performer"
1629   @}
1630 @}
1631 @end example
1632
1633 La salida MIDI se crea sólo cuando se incluye un bloque @code{\midi}
1634 dentro de un bloque de partitura definido con una instrucción
1635 @code{\score}.  Si se sitúa dentro de un contexto de partitura
1636 instanciado explícitamente (es decir, dentro de un bloque @code{\new
1637 Score}) el archivo no funciona.  Para resolverlo, encierre las
1638 instrucciones @code{\new Score} y @code{\midi} dentro de un bloque
1639 @code{\score}.
1640
1641 @example
1642 \score @{
1643   \new Score @{ @dots{}notas@dots{} @}
1644   \midi @{ @}
1645 @}
1646 @end example
1647
1648 @node What goes into the MIDI output?
1649 @subsection What goes into the MIDI output?
1650
1651 @unnumberedsubsubsec Supported in MIDI
1652
1653 @cindex alturas en MIDI
1654 @cindex MIDI, alturas
1655 @cindex cuartos de tono en MIDI
1656 @cindex MIDI, cuartos de tono
1657 @cindex microtonos en MIDI
1658 @cindex MIDI, microtonos
1659 @cindex acordes, nombres de, en MIDI
1660 @cindex MIDI, nombres de
1661 @cindex duraciones en MIDI
1662 @cindex MIDI, duraciones
1663 @c TODO etc
1664
1665 Los siguientes elementos de notación se reflejan en la salida MIDI:
1666
1667 @itemize
1668 @item Alturas
1669 @item Cuartos de tono (véase @ref{Accidentals}. La reproducción necesita un reproductor que contemple la curvatura de tono o @emph{pitch bend}.)
1670 @item Acordes escritos como nombres de acorde
1671 @item Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
1672 @item Trémolos escritos sin @q{@code{:}[@var{número}]}
1673 @item Ligaduras de unión
1674 @item Matices o indicaciones de dinámica
1675 @item Crescendi y decrescendi sobre varias notas
1676 @item Cambios de tempo insertados con una marca metronómica
1677 @item Letra de las canciones
1678 @end itemize
1679
1680 @unnumberedsubsubsec Unsupported in MIDI
1681
1682 @c TODO index as above
1683
1684 Los siguientes elementos de notación no tienen ningún efecto sobre la
1685 salida MIDI:
1686
1687 @itemize
1688 @item Duraciones escritas como anotaciones, p.ej. el swing
1689 @item Cambios de tempo escritos como anotacioens sin marca de tempo
1690 @item Staccato y otras articulaciones y ornamentos
1691 @item Ligaduras de expresión y de fraseo
1692 @item Crescendi y decrescendi sobre una nota única
1693 @item Trémolos introducidos con @q{@code{:}[@var{número}]}
1694 @item Bajo cifrado
1695 @end itemize
1696
1697
1698 @node Repeats in MIDI
1699 @subsection Repeats in MIDI
1700
1701 @cindex repeticiones, expandir
1702 @funindex \unfoldRepeats
1703
1704 Con un poco de trucaje, se puede hacer que cualquier tipo de
1705 repetición esté presente en la salida MIDI.  Esto se consigue mediante
1706 la aplicación de la función musical @code{\unfoldRepeats}.  Esta
1707 función cambia todas las repeticiones a repeticiones desplegadas.
1708
1709 @lilypond[quote,verbatim]
1710 \unfoldRepeats {
1711   \repeat tremolo 8 {c'32 e' }
1712   \repeat percent 2 { c''8 d'' }
1713   \repeat volta 2 {c'4 d' e' f'}
1714   \alternative {
1715     { g' a' a' g' }
1716     {f' e' d' c' }
1717   }
1718 }
1719 \bar "|."
1720 @end lilypond
1721
1722 Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
1723 MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
1724 (con repeticiones desplegadas) y otro para la notación impresa (con
1725 repeticiones de volta --primera y segunda vez--, tremolo --trémolo--,
1726 y percent --repetición de compases--).  Por ejemplo,
1727
1728 @example
1729 \score @{
1730   @var{..música..}
1731   \layout @{ .. @}
1732 @}
1733 \score @{
1734   \unfoldRepeats @var{..música..}
1735   \midi @{ .. @}
1736 @}
1737 @end example
1738
1739
1740 @node Controlling MIDI dynamics
1741 @subsection Controlling MIDI dynamics
1742
1743 La dinámica en el MIDI está implementada por medio del intérprete
1744 Dynamic_performer que reside de forma predeterminada dentro del
1745 contexto Voice.  Es posible controlar el volumen MIDI general, el
1746 volumen relativo de los matices dinámicos y el volumen relativo de los
1747 distintos instrumentos.
1748
1749 @unnumberedsubsubsec Dynamic marks
1750
1751 Los matices o indicaciones de dinámica se traducen a una fracción fija
1752 del rango de volumen MIDI disponible.  Las fracciones predeterminadas
1753 se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
1754 @notation{fffff}.  El conjunto de indicaciones dinámicas y las
1755 fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
1756 @rlearning{Other sources of information}.  Este conjunto de fracciones
1757 se puede cmbiar o extender proporcionando una función que toma como
1758 argumento una indicación dinámica y devuelve la fracción requerida, y
1759 estableciendo @code{Score.dynamicAbsoluteVolumeFunction} a esta
1760 función.
1761
1762 Por ejemplo, si se requiere una indicación dinámica
1763 @notation{rinforzando}, @code{\rfz}, ésta no tiene ningún efecto
1764 predeterminado sobre el voumen MIDI, pues no está incluida en el
1765 conjunto predeterminado.  De igual manera, si se define una indicación
1766 dinámica nueva con @code{make-dynamic-script}, ésta tampoco estará
1767 incluida en el conjunto predeterminado.  El ejemplo siguiente muestra
1768 cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
1769 La función Scheme establece la fracción a 0.9 si se encuentra una
1770 indicación dinámica rfz, y en caso contrario llama a la función
1771 predeterminada.
1772
1773 @lilypond[verbatim,quote]
1774 #(define (myDynamics dynamic)
1775     (if (equal? dynamic "rfz")
1776       0.9
1777       (default-dynamic-absolute-volume dynamic)))
1778
1779 \score {
1780   \new Staff {
1781     \set Staff.midiInstrument = #"cello"
1782     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
1783     \new Voice {
1784        \relative c'' {
1785          a\pp b c-\rfz
1786        }
1787     }
1788   }
1789   \layout {}
1790   \midi {}
1791 }
1792 @end lilypond
1793
1794 Como alternativa, si se necesitara redefinir la tabla completa de
1795 fracciones, sería mejor usar el procedimiento
1796 @notation{default-dynamic-absolute-volume} que aparece en
1797 @file{../scm/midi.scm} y la tabla asociada como modelo.  El último
1798 ejemplo de esta sección muestra cómo se puede hacer esto.
1799
1800 @unnumberedsubsubsec Overall MIDI volume
1801
1802 El volumen general máximo y mínimo de las indicaciones dinámicas de
1803 MIDI se controla estableciendo valores para las propiedades
1804 @code{midiMinimumVolume} y @code{midiMaximumVolume} en el nivel de
1805 @code{Score}.  Estas propiedades tienen efecto solamente sobre las
1806 indicaciones dinámicas, por ello si queremos que tengan validez desde
1807 el comienzo de la partitura, se debe colocar allí una indicación de
1808 dinámica.  La fracción que corresponde a cada indicación dinámica se
1809 modifica con esta fórmula:
1810
1811 @example
1812 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
1813 @end example
1814
1815 En el ejemplo siguiente, el rango de intensidad dinámica del volumen
1816 general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
1817
1818 @lilypond[verbatim,quote]
1819 \score {
1820   <<
1821     \new Staff {
1822       \key g \major
1823       \time 2/2
1824       \set Staff.midiInstrument = #"flute"
1825       \new Voice \relative c''' {
1826         r2 g\mp g fis ~
1827         fis4 g8 fis e2 ~
1828         e4 d8 cis d2
1829       }
1830     }
1831     \new Staff {
1832       \key g \major
1833       \set Staff.midiInstrument = #"clarinet"
1834       \new Voice \relative c'' {
1835         b1\p a2. b8 a
1836         g2. fis8 e
1837         fis2 r
1838       }
1839     }
1840   >>
1841   \layout { }
1842   \midi {
1843     \context {
1844       \Score
1845       tempoWholesPerMinute = #(ly:make-moment 72 2)
1846       midiMinimumVolume = #0.2
1847       midiMaximumVolume = #0.5
1848     }
1849   }
1850 }
1851 @end lilypond
1852
1853 @unnumberedsubsubsec Equalizing different instruments (i)
1854
1855 Si las propiedades de volumen MIDI máximo y mínimo están establecidas
1856 en el contexto @code{Staff} se pueden controlar los volúmenes
1857 relativos de los instrumentos MIDI.  Esto proporciona un ecualizador
1858 de instrumentos básico que puede realzar significativamente la calidad
1859 de la salida MIDI.
1860
1861 En este ejemplo se reduce el volumen del clarinete con relación al de
1862 la flauta.  Debe haber una indicación dinámica en la primera nota de
1863 cada instrumento para que esto funcione correctamente.
1864
1865 @lilypond[verbatim,quote]
1866 \score {
1867   <<
1868     \new Staff {
1869       \key g \major
1870       \time 2/2
1871       \set Staff.midiInstrument = #"flute"
1872       \set Staff.midiMinimumVolume = #0.7
1873       \set Staff.midiMaximumVolume = #0.9
1874       \new Voice \relative c''' {
1875         r2 g\mp g fis ~
1876         fis4 g8 fis e2 ~
1877         e4 d8 cis d2
1878       }
1879     }
1880     \new Staff {
1881       \key g \major
1882       \set Staff.midiInstrument = #"clarinet"
1883       \set Staff.midiMinimumVolume = #0.3
1884       \set Staff.midiMaximumVolume = #0.6
1885       \new Voice \relative c'' {
1886         b1\p a2. b8 a
1887         g2. fis8 e
1888         fis2 r
1889       }
1890     }
1891   >>
1892   \layout { }
1893   \midi {
1894     \context {
1895       \Score
1896       tempoWholesPerMinute = #(ly:make-moment 72 2)
1897     }
1898   }
1899 }
1900 @end lilypond
1901
1902 @unnumberedsubsubsec Equalizing different instruments (ii)
1903
1904 Si las propiedades de volumen MIDI máximo y mínimo no están
1905 establecidas, de forma predeterminada LilyPond aplica un pequeño grado
1906 de ecualización a algunos instrumentos.  Los instrumentos y la
1907 ecualización que se aplica se muestra en la tabla
1908 @notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
1909
1910 El ecualizador básico predeterminado se puede sustituir estableciendo
1911 @code{instrumentEqualizer} en el contexto @code{Score} a un
1912 procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
1913 como único argumento y devuelva un par de fracciones que dan los
1914 volúmenes máximo y mínimo que se aplican a dicho instrumento.  Esta
1915 sustitución se hace de la misma forma que mostramos para reestablecer
1916 la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
1917 al comienzo de esta sección.  El ecualizador predeterminado,
1918 @notation{default-instrument-equalizer}, en @file{../scm/midi.scm},
1919 muestra cómo se puede escribir tal procedimiento.
1920
1921 El ejemplo siguiente establece los volúmenes relativos de la flauta y
1922 del clarinete a los mismos valores que el ejemplo anterior.
1923
1924 @lilypond[verbatim,quote]
1925 #(define my-instrument-equalizer-alist '())
1926
1927 #(set! my-instrument-equalizer-alist
1928   (append
1929     '(
1930       ("flute" . (0.7 . 0.9))
1931       ("clarinet" . (0.3 . 0.6)))
1932     my-instrument-equalizer-alist))
1933
1934 #(define (my-instrument-equalizer s)
1935   (let ((entry (assoc s my-instrument-equalizer-alist)))
1936     (if entry
1937       (cdr entry))))
1938
1939 \score {
1940   <<
1941     \new Staff {
1942       \key g \major
1943       \time 2/2
1944       \set Score.instrumentEqualizer = #my-instrument-equalizer
1945       \set Staff.midiInstrument = #"flute"
1946       \new Voice \relative c''' {
1947         r2 g\mp g fis ~
1948         fis4 g8 fis e2 ~
1949         e4 d8 cis d2
1950       }
1951     }
1952     \new Staff {
1953       \key g \major
1954       \set Staff.midiInstrument = #"clarinet"
1955       \new Voice \relative c'' {
1956         b1\p a2. b8 a
1957         g2. fis8 e
1958         fis2 r
1959       }
1960     }
1961   >>
1962   \layout { }
1963   \midi {
1964     \context {
1965       \Score
1966       tempoWholesPerMinute = #(ly:make-moment 72 2)
1967     }
1968   }
1969 }
1970 @end lilypond
1971
1972 @ignore
1973 @c Delete when satisfied this is adequately covered elsewhere -td
1974
1975 @n ode Microtones in MIDI
1976 @s ubsection Microtones in MIDI
1977
1978 @cindex microtones in MIDI
1979
1980 Microtones consisting of half sharps and half flats are exported
1981 to the MIDI file and render correctly in MIDI players which support
1982 pitch bending.  See @ref{Note names in other languages}.  Here is
1983 an example showing all the half sharps and half flats.  It can be
1984 copied out and compiled to test microtones in your MIDI player.
1985
1986 @lilypond[verbatim,quote]
1987 \score {
1988   \relative c' {
1989     c cih cis cisih
1990     d dih ees eeh
1991     e eih f fih
1992     fis fisih g gih
1993     gis gisih a aih
1994     bes beh b bih
1995   }
1996   \layout {}
1997   \midi {}
1998 }
1999 @end lilypond
2000 @end ignore
2001
2002
2003 @node Percussion in MIDI
2004 @subsection Percussion in MIDI
2005
2006 La notación de los instrumentos de percusión se realiza normalmente en
2007 un contexto @code{DrumStaff} y cuando se hace de esta forma se les da
2008 salida correctamente por el canal MIDI@tie{}10, pero ciertos
2009 instrumentos de percusión de altura determinada, como el xilófono,
2010 marimba, vibráfono, timbales, etc., se tratan como instrumentos
2011 @qq{normales} y la música para estos instrumentos se debe introducir
2012 en contestos de @code{Staff} normales, no en un contexto
2013 @code{DrumStaff}, para obtener la salida MIDI correcta.
2014
2015 Ciertos sonidos de altura indeterminada que están incluidos en el
2016 estándar General MIDI, como el tom melódico, el tambor taiko, los
2017 tambores sintéticos, etc., no se pueden acceder a través del canal
2018 MIDI@tie{}10, por lo que la notación para dichos instrumentos se debe
2019 introducir también en un contexto normal de @code{Staff}, utilizando
2020 las alturas normales adecuadas.
2021
2022 Muchos instrumentos de percusión no están incluidos dentro del
2023 estándar General MIDI standard, p.ej. las castañuelas.  El método más
2024 fácil (aunque no satisfactorio) de producir una salida MIDI al
2025 escribir para estos instrumentos es sustituirlos por el sonido más
2026 parecido del conjunto estándar.
2027
2028 @c TODO Expand with examples, and any other issues
2029
2030 @knownissues
2031
2032 Debido a que el estándar General MIDI no contiene golpes de aro
2033 (@emph{rim shots}), para este propósito se utiliza en su lugar el
2034 golpe lateral de baqueta (@emph{sidestick}).