1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
4 Translation of GIT committish: c20bed72fb602fabf67087649df283f1978a9d94
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
13 @node Entrada y salida generales
14 @chapter Entrada y salida generales
15 @translationof General input and output
17 Esta sección trata de asuntos relacionados con la entrada y salida
18 generales de LilyPond, más que con la notación específica.
21 * Estructura del código de entrada::
22 * Títulos y cabeceras::
23 * Trabajar sobre los archivos de entrada::
24 * Controlar la salida::
26 * Extraer información musical::
30 @node Estructura del código de entrada
31 @section Estructura del código de entrada
32 @translationof Input structure
34 El formato principal de entrada para LilyPond son archivos de texto.
35 Por convenio, el nombre de estos archivos termina en @file{.ly}.
38 * Estructura de una partitura::
39 * Varias partituras en un libro::
40 * Varios archivos de salida a partir de uno de entrada::
41 * Nombres de los archivos de salida::
42 * Estructura del archivo::
46 @node Estructura de una partitura
47 @subsection Estructura de una partitura
48 @translationof Structure of a score
52 Un bloque @code{\score} debe contener una expresión musical única
53 delimitada por un par de llaves:
62 @warning{Sólo puede haber @strong{una} expresión musical dentro del
63 bloque @code{\score}, y @strong{debe} estar encerrada entre llaves.}
65 Esta expresión musical única puede tener cualquier tamaño, y puede
66 contener otras expresiones musicales hasta cualquier grado de
67 complejidad. Todos los siguientes ejemplos son expresiones musicales:
73 @lilypond[verbatim,quote]
80 @lilypond[verbatim,quote]
82 \new Staff { c'4 c' c' c' }
83 \new Staff { d'4 d' d' d' }
91 \new Staff @{ \flute @}
92 \new Staff @{ \oboe @}
95 \new Staff @{ \violinI @}
96 \new Staff @{ \violinII @}
102 Los comentarios son una excepción a esta regla general (para ver otras
103 excepciones, consulte @ref{Estructura del archivo}). Tanto los comentarios de
104 una línea como los que están delimitados por @code{%@{ .. %@}} se
105 pueden escribir en cualquier lugar dentro del archivo de entrada. Se
106 pueden escribir dentro o fuera del bloque @code{\score}, y dentro o
107 fuera de la expresión musical única dentro del bloque @code{\score}.
109 Recuerde que incluso dentro de un archivo que contenga solamente un
110 bloque @code{\score}, éste se encuentra incluido implícitamente dentro
111 de un bloque @code{\book}. Un bloque @code{\book} dentro de un
112 archivo fuente produce al menos un archivo de salida, y de forma
113 predeterminada el nombre del archivo de salida que se produce está
114 derivado del nombre del archivo de entrada, de forma que
115 @file{fandangoforelephants.ly} da como resultado
116 @file{fandangoforelephants.pdf}.
118 (Para ver más detalles acerca de los bloques @code{\book}, consulte
119 @ref{Varias partituras en un libro}, @ref{Varios archivos de salida a
120 partir de uno de entrada} y @ref{Estructura del archivo}.)
123 Manual de aprendizaje:
124 @rlearning{Trabajar sobre los archivos de entrada},
125 @rlearning{Explicación de las expresiones musicales},
126 @rlearning{La partitura es una (única) expresión musical compuesta}.
129 @node Varias partituras en un libro
130 @subsection Varias partituras en un libro
131 @translationof Multiple scores in a book
134 @cindex movimientos, varios
136 Un documento puede contener varias piezas de música y texto. Son
137 ejemplos un libro de estudios o una parte orquestal con varios
138 movimientos. Cada movimiento se introduce con un bloque
147 y los textos se introducen con un bloque @code{\markup}:
157 Todos los movimientos y textos que aparecen en el mismo archivo
158 @file{.ly} se tipografían normalmente en la forma de un solo archivo
173 Una excepción importante se da dentro de los documentos de
174 lilypond-book, en los que tenemos que escribir explícitamente un
175 bloque @code{\book}, pues en caso contrario sólo aparecerá en la
176 salida el primer @code{\score} o @code{\markup}.
178 El encabezamiento de cada pieza se puede poner dentro del bloque
179 @code{\score}. Antes de cada movimiento, se imprime el nombre de la
180 pieza (@code{piece}) extraído del encabezamiento. El título del libro
181 entero se puede poner dentro del bloque @code{\book}, pero si no está
182 presente se inserta el encabezamiento @code{\header} que está al
183 principio del archivo.
187 title = "Ocho miniaturas"
188 composer = "Igor Stravinsky"
192 \header @{ piece = "Romanze" @}
195 ..texto de la segunda estrofa..
198 ..texto de la tercera estrofa..
202 \header @{ piece = "Menuetto" @}
208 Se pueden agrupar distintas piezas de música en partes de un libro
209 utilizando bloques @code{\bookpart}. Las partes de libro se separan
210 por medio de saltos de página, y pueden dar comienzo con un título,
211 como el libro propiamente dicho, mediante la especificación del bloque
217 title = "Título del libro"
218 subtitle = "Primera parte"
225 subtitle = "Segunda parte"
233 @node Varios archivos de salida a partir de uno de entrada
234 @subsection Varios archivos de salida a partir de uno de entrada
235 @translationof Multiple output files from one input file
237 Si queremos varios archivos de salida a partir del mismo archivo
238 @file{.ly}, podemos escribir varios bloques @code{\book}, donde cada
239 uno de estos bloques @code{\book} dará como resultado un archivo de
240 salida distinto. Si no especificamos ningún bloque @code{\book} en el
241 archivo, LilyPond trata implícitamente todo el archivo como un solo
242 bloque @code{\book}, véase @ref{Estructura del archivo}.
244 Al producir varios archivos a partir de un solo archivo fuente,
245 Lilypond se asegura de que ninguno de los archivos de salida de ningún
246 bloque @code{\book} sobreescribe el archivo de salida producido por un
247 @code{\book} anterior del mismo archivo de entrada.
249 Lo hace añadiendo un sufijo al nombre de la salida para cada libro
250 @code{\book} que utiliza el nombre del archivo de salida
251 predeterminado, derivado del archivo fuente de entrada.
253 El comportamiento predeterminado es añadir un sufijo con el número de
254 versión para cada nombre que pueda coincidir; así:
259 \layout @{ @dots{} @}
263 \layout @{ @dots{} @}
267 \layout @{ @dots{} @}
271 en el archivo fuente @file{eightminiatures.ly}, produce
275 @file{eightminiatures.pdf},
277 @file{eightminiatures-1.pdf} y
279 @file{eightminiatures-2.pdf}.
283 @node Nombres de los archivos de salida
284 @subsection Nombres de los archivos de salida
285 @translationof Output file names
287 @funindex \bookOutputSuffix
288 @funindex \bookOutputName
290 Lilypond le ofrece unos mecanismos que le permiten controlar los
291 nombres de archivo que se utilizan por parte de los diversos motores
292 finales al producir los archivos de salida.
294 En la sección anterior vimos cómo Lilypond evita las coincidencias de
295 nombres al producir varias salidas a partir de un único archivo fuente
296 de entrada. También podemos especificar nuestros propios sufijos para
297 cada bloque @code{\book}, de manera que podemos producir, por ejemplo,
298 archivos con los nombres @file{eightminiatures-Romanze.pdf},
299 @file{eightminiatures-Menuetto.pdf} y
300 @file{eightminiatures-Nocturne.pdf} añadiendo una declaración
301 @code{\bookOutputSuffix} dentro de cada bloque @code{\book}.
305 \bookOutputSuffix "Romanze"
307 \layout @{ @dots{} @}
310 \bookOutputSuffix "Menuetto"
312 \layout @{ @dots{} @}
315 \bookOutputSuffix "Nocturne"
317 \layout @{ @dots{} @}
321 También podemos especificar un nombre de archivo de salida diferente
322 para cada bloque @code{book}, mediante la utilización de declaraciones
323 @code{\bookOutputName}:
327 \bookOutputName "Romanze"
329 \layout @{ @dots{} @}
332 \bookOutputName "Menuetto"
334 \layout @{ @dots{} @}
337 \bookOutputName "Nocturne"
339 \layout @{ @dots{} @}
343 El código anterior produce los siguientes archivos de salida:
349 @file{Menuetto.pdf} y
355 @node Estructura del archivo
356 @subsection Estructura del archivo
357 @translationof File structure
367 Un archivo @file{.ly} puede contener cualquier número de expresiones
368 del nivel superior, donde una expresión del nivel superior es una de
369 las siguientes posibilidades:
373 Una definición de salida, como @code{\paper}, @code{\midi} y
374 @code{\layout}. Tal definición en el nivel más alto cambia los
375 ajustes predeterminados para todo el libro. Si se introduce más de
376 una de estas definiciones del mismo tipo en el nivel más alto,
377 the definitions are combined, but in
378 conflicting situations the later definitions take precedence. For
379 details of how this affects the @code{\layout} block see
380 @ref{The \layout block}.
383 Una expresión directa de Scheme, como
384 @code{#(set-default-paper-size "a7" 'landscape)} o
385 @code{#(ly:set-option 'point-and-click #f)}.
388 Un bloque @code{\header}. Esto establece el bloque de encabezamiento
389 global. Es el bloque que contiene las definiciones de los ajustes
390 para todo el libro, como el compositor, título, etc.
393 Un bloque @code{\score}. Esta partitura se reúne con otras partituras
394 del nivel superior, y se combina con ellas formando un @code{\book}
395 (libro) único. Este comportamiento se puede cambiar estableciendo el
396 valor de la variable @code{toplevel-score-handler} en el nivel
397 superior. El @emph{handler} predeterminado se define en el archivo de
398 inicio @file{../scm/lily.scm}.
401 Un bloque @code{\book} combina lógicamente varios movimientos (es
402 decir, varios bloques @code{\score}) en un solo documento. Si hay
403 varias partituras @code{\score}, se crea un solo archivo de salida
404 para cada bloque @code{\book}, en el que se concatenan todos los
405 movimientos correspondientes. La única razón para especificar
406 explícitamente bloques @code{\book} en un archivo de entrada
407 @file{.ly} es si queremos crear varios archivos de salida a partir de
408 un único archivo de entrada. Una excepción se da dentro de los
409 documentos de lilypond-book, en los que tenemos que escribir
410 explícitamente un bloque @code{\book} si queremos tener más de una
411 única partitura @code{\score} o marcado @code{\markup} en el mismo
412 ejemplo. Se puede cambiar este comportamiento estableciendo el valor
413 de la variable @code{toplevel-book-handler} en el nivel superior. El
414 @emph{handler} predeterminado se define en el archivo de inicio
415 @file{../scm/lily.scm}.
418 Un bloque @code{\bookpart}. Un libro puede dividirse en varias
419 partes, utilizando bloques @code{\bookpart}, con objeto de facilitar
420 la inserción de saltos de página o usar distintos ajustes de
421 @code{\paper} en las distintas partes.
424 Una expresión musical compuesta, como
429 Esto añade la pieza al @code{\score} y la conforma dentro de un libro
430 único junto a todas las demás partituras @code{\score} y expresiones
431 musicales del nivel superior. En otras palabras, un archivo que
432 contiene sólo la expresión musical anterior se traduce a
449 Se puede cambiar este comportamiento estableciendo el valor de la
450 variable @code{toplevel-music-handler} en el nivel más alto. El
451 @emph{handler} predeterminado se define en el archivo de inicio
452 @file{../scm/lily.scm}.
455 Un texto de marcado, por ejemplo una estrofa
458 2. Estrofa dos, línea uno
462 Los textos de marcado se colocan encima, en medio o debajo de las
463 partituras o expresiones musicales, según donde aparezcan escritos.
470 fulano = @{ c4 d e d @}
473 Esto se puede utilizar más tarde en el archivo escribiendo
474 @code{\fulano}. El nombre de las variables ha de ser exclusivamente
475 alfabético; sin números, guiones ni barras bajas.
479 El ejemplo siguiente muestra tres cosas que se pueden introducir en el
484 % No justificar la salida
495 En cualquier punto del archivo se pueden introducir cualquiera de las
496 instrucciones léxicas siguientes:
499 @item @code{\version}
500 @item @code{\include}
501 @item @code{\sourcefilename}
502 @item @code{\sourcefileline}
504 Un comentario de una línea, determinado por un símbolo @code{%} al principio.
507 Un comentario de varias líneas, delimitado por @code{%@{ .. %@}}.
511 @cindex espacios en blanco
513 Por lo general se ignoran los espacios entre elementos del flujo de
514 entrada, y se pueden omitir o aumentar tranquilamente para mejorar la
515 legibilidad. Sin embargo, los espacios se deben utilizar siempre para
516 evitar errores, en las siguientes situaciones:
519 @item Alrededor de todas y cada una de las llaves curvas de apertura y cierre.
520 @item A continuación de las instrucciones y variables, es decir, todos los elementos
521 que comienzan con un signo @code{\} de barra invertida.
522 @item A continuación de todo elemento que se deba interpretar como expresión
523 de Scheme, es decir, todo elemento que comience por un signo@tie{}@code{#}.
524 @item Para separar los elementos de una expresión de Scheme.
525 @item Dentro de @code{lyricmode} para separar todos los términos de las instrucciones
526 @code{\override} y @code{\set}. Concretamente, hay que usar espacios
527 alrededor del punto y el signo igual en instrucciones como
528 @code{\override Score . LyricText #'font-size = #5} y antes y después
529 de la instrucción completa.
534 Manual de aprendizaje:
535 @rlearning{Cómo funcionan los archivos de entrada de LilyPond}.
538 @ref{The \layout block}.
540 @node Títulos y cabeceras
541 @section Títulos y cabeceras
542 @translationof Titles and headers
544 Casi toda la música impresa tiene un título y el nombre del
545 compositor; ciertas piezas tienen mucha más información.
548 * Crear títulos cabeceras y pies de página::
549 * Cabeceras pies y títulos personalizados::
550 * Crear notas al pie::
551 * Referencia a números de página::
556 @node Crear títulos cabeceras y pies de página
557 @subsection Crear títulos, cabeceras y pies de página
558 @translationof Creating titles headers and footers
561 * Explicación de los bloques de títulos::
562 * Presentación predeterminada de los bloques de título del libro y la partitura::
563 * Disposición predeterminada de las cabeceras y pies de página::
567 @node Explicación de los bloques de títulos
568 @unnumberedsubsubsec Explicación de los bloques de títulos
569 @translationof Title blocks explained
571 @c TODO: figure out how \bookpart titles work
573 Existen dos clases de bloques de títulos: el bloque principal de
574 títulos que aparece encima del primer bloque @code{\score} de un
575 libro, y los bloques individuales de título que aparecen dentro de
576 cada bloque @code{\score}. Los campos de texto para los dos tipos de
577 bloque se introducen mediante un bloque @code{\header}.
579 Si el libro tiene una única partitura, el bloque @code{\header} se
580 puede situar dentro o fuera del bloque @code{\score}.
582 @warning{Recuerde que al añadir un bloque @bs{}@code{header} dentro de
583 un bloque @bs{}@code{score}, la expresión musical debe aparecer antes
584 del bloque @bs{}@code{header}.}
586 @lilypond[papersize=a5,quote,verbatim,noragged-right]
589 composer = "J. S. Bach."
593 \new Staff \relative g, {
596 \repeat unfold 2 { g16( d' b') a b d, b' d, } |
597 \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
605 \new Staff \relative b {
609 <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
610 d16( b g fis) g( e d c) b(c d e) fis( g a b) |
618 Los campos de texto extraídos del bloque prinicipal de título de un
619 libro se pueden imprimir en todos los bloques @code{\score}, o
620 suprimirse manualmente:
622 @lilypond[papersize=a5,quote,verbatim,noragged-right]
625 print-all-headers = ##t
628 title = "DAS WOHLTEMPERIRTE CLAVIER"
630 % Do not display the tagline for this book
633 \markup { \vspace #1 }
637 \new Staff { \clef "bass" s1 }
640 title = "PRAELUDIUM I"
642 % Do not display the subtitle for this score
649 \new Staff { \clef "bass" s1 }
653 subsubtitle = "A 4 VOCI"
655 % Do not display the subtitle for this score
663 Referencia de la notación:
664 @ref{Estructura del archivo},
665 @ref{Personalización de los bloques de título}.
668 @node Presentación predeterminada de los bloques de título del libro y la partitura
669 @unnumberedsubsubsec Presentación predeterminada de los bloques de título del libro y la partitura
670 @translationof Default layout of book and score title blocks
672 La disposición y formato de los bloques de título están controlados
673 por medio de dos variables de @code{\paper}: @code{bookTitleMarkup}
674 para el bloque de título @code{\header} principal y
675 @code{scoreTitleMarkup} para los bloques @code{\header} individuales
676 dentro de un bloque @code{\score}.
678 @lilypond[papersize=a6,quote,verbatim,noragged-right]
680 % The following fields are centered
681 dedication = "Dedication"
683 subtitle = "Subtitle"
684 subsubtitle = "Subsubtitle"
685 instrument = "Instrument"
687 % The following fields are left-aligned on the left side
691 % The following fields are right-aligned on the right side
692 composer = "Composer"
693 arranger = "Arranger"
699 % The following fields are placed at opposite ends of the same line
706 @c Is the bit about \null markups true? -mp
708 Los campos de texto que se dejan sin establecer dentro de un bloque
709 @code{\header} se sustituyen por elementos de marcado nulos
710 @code{\null} de manera que no ocupen espacio innecesariamente.
712 Los ajustes predeterminados para @code{scoreTitleMarkup} sitúan los
713 campos de texto @code{piece} y @code{opus} en extremos opuestos de la
718 Utilice la variable @code{breakbefore} dentro de un bloque
719 @code{\header} que está propiamente dentro de un bloque @code{\score}
720 para hacer que los títulos del bloque @code{\header} del nivel
721 superior aparezcan ocupando toda la primera página, empezando la
722 música (definida en el bloque @code{\score}) en la página siguiente.
724 @lilypond[papersize=a8landscape,verbatim,noragged-right]
727 title = "This is my Title"
728 subtitle = "This is my Subtitle"
729 copyright = "This is the bottom of the first page"
732 \repeat unfold 4 { e'' e'' e'' e'' }
734 piece = "This is the Music"
742 Manual de aprendizaje:
743 @rlearning{Cómo funcionan los archivos de entrada de LilyPond}
745 Referencia de la notación:
746 @ref{Estructura del archivo}.
749 @file{ly/titling-init.ly}.
752 @node Disposición predeterminada de las cabeceras y pies de página
753 @unnumberedsubsubsec Disposición predeterminada de las cabeceras y pies de página
754 @translationof Default layout of headers and footers
756 Las @emph{cabeceras} y los @emph{pies} de página son líneas de texto
757 que aparecen en la parte más alta y en la más baja de las páginas
758 separadas del texto principal de un libro. Se controlan mediante las
759 siguientes variables de @code{\paper}:
762 @item @code{oddHeaderMarkup} (marcado de cabecera impar)
763 @item @code{evenHeaderMarkup} (marcado de cabecera par)
764 @item @code{oddFooterMarkup} (marcado de pie impar)
765 @item @code{evenFooterMarkup} (marcado de pie par)
768 Estas variables de marcado sólo pueden acceder a los campos de texto
769 extraídos de bloques @code{\header} del nivel superior (que se aplican
770 a todas las partituras del libro) y se definen en el archivo
771 @file{ly/titling-init.ly}. De forma predeterminada:
776 los números de página se sitúan automáticamente en el extremo superior
777 izquierdo (si es par) o superior derecho (si es impar), a partir de la
781 el campo de texto @code{instrument} se sitúa en el centro en cada
782 página, a partir de la segunda página.
785 el texto de @code{copyright} se centra en la parte baja de la primera
789 la línea @code{tagline} se centra al final de la última página, y
790 debajo del texto de @code{copyright} si sólo hay una página.
794 @lilypond[papersize=a8landscape]
804 La línea de etiqueta tagline predeterminada se puede cambiar añadiendo un campo
805 @code{tagline} en el bloque @code{\header} del nivel superior.
807 @lilypond[papersize=a8landscape,verbatim]
810 tagline = "... music notation for Everyone"
820 Para eliminar la línea @code{tagline}, establezca su valor a
824 @node Cabeceras pies y títulos personalizados
825 @subsection Cabeceras, pies y títulos personalizados
826 @translationof Custom headers footers and titles
828 @c TODO: somewhere put a link to header spacing info
829 @c (you'll have to explain it more in NR 4).
832 * Formateo personalizado del texto de los bloques de título::
833 * Personalización de los bloques de título::
834 * Disposición personalizada de cabeceras y pies de página::
838 @node Formateo personalizado del texto de los bloques de título
839 @unnumberedsubsubsec Formateo personalizado del texto de los bloques de título
840 @translationof Custom text formatting for title blocks
842 Se pueden usar instrucciones @code{\markup} estándar para personalizar
843 el texto de cualquier cabecera, pie o título dentro del bloque
846 @lilypond[quote,verbatim,noragged-right]
850 piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
851 subtitle = \markup { \italic "(Excerpt)" }
857 Referencia de la notación:
858 @ref{Formatear el texto}.
861 @node Personalización de los bloques de título
862 @unnumberedsubsubsec Personalización de los bloques de título
863 @translationof Custom layout for title blocks
865 Las instrucciones @code{\markup} dentro del bloque @code{\header} son
866 útiles para dar un formato simple al texto, pero no permiten un
867 control preciso sobre la colocación de los títulos. Para personalizar
868 la colocación de los campos de texto, use una o las dos variables de
869 @code{\paper} siguientes:
872 @item @code{bookTitleMarkup} (marcado de título del libro)
873 @item @code{scoreTitleMarkup} (marcado de título de la partitura)
876 Estas variables de marcado se estudian en
877 @ref{Presentación predeterminada de los bloques de título del libro y la partitura}.
879 Los ajustes predeterminados para @code{scoreTitleMarkup} tal y como
880 están definidos en el archivo @file{ly/titling-init.ly} son:
883 scoreTitleMarkup = \markup @{ \column @{
884 \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
886 \fromproperty #'header:piece
887 \fromproperty #'header:opus
893 Esto sitúa los campos de texto @code{piece} y @code{opus} en extremos
894 opuestos de la misma línea:
896 @lilypond[quote,verbatim,noragged-right]
900 piece = "PRAELUDIUM I"
906 Este ejemplo redefine @code{scoreTitleMarkup} de manera que el campo
907 de texto @code{piece} aparece centrado y en un tipo de letra grande y
910 @lilypond[papersize=a5,quote,verbatim,noragged-right]
914 scoreTitleMarkup = \markup {
917 \fontsize #4 \bold \fromproperty #'header:piece
918 \fromproperty #'header:opus
922 \header { tagline = ##f }
926 piece = "PRAELUDIUM I"
933 Los campos de texto reservados normalmente para el bloque principal de
934 título se pueden insertar dentro de los bloques de título de las
935 partituras individuales con la variable @code{print-all-headers}
936 establecida dentro del bloque @code{\paper}. Una desventaja de la
937 utilización de este método es que los campos de texto que están
938 orientados específicamente para el bloque @code{\header} del nivel
939 superior han de suprimirse manualmente en cada uno de los bloques
940 @code{\score}. Véase @ref{Explicación de los bloques de títulos}.
942 Para evitarlo, añada el campo de texto deseado a la definición de
943 @code{scoreTitleMarkup}. En el ejemplo siguiente, el campo de texto
944 @code{composer} (asociado normalmente con @code{bookTitleMarkup}) se
945 añade a @code{scoreTitleMarkup}, permitiendo que cada partitura
946 muestre un compositor diferente:
948 @lilypond[papersize=a5,quote,verbatim,noragged-right]
952 scoreTitleMarkup = \markup {
955 \fontsize #4 \bold \fromproperty #'header:piece
956 \fromproperty #'header:composer
960 \header { tagline = ##f }
965 composer = "Christian Petzold"
972 composer = "François Couperin"
978 También podemos crear nuestros propios campos de texto personalizados,
979 y referirnos a ellos en la definición del elemento de marcado.
981 @lilypond[papersize=a5,quote,verbatim,noragged-right]
985 scoreTitleMarkup = \markup {
988 \override #`(direction . ,UP) {
990 \center-align \fontsize #-1 \bold
991 \fromproperty #'header:mycustomtext %% User-defined field
992 \center-align \fontsize #4 \bold
993 \fromproperty #'header:piece
996 \fromproperty #'header:opus
1000 \header { tagline = ##f }
1005 mycustomtext = "A 4 VOCI" %% User-defined field
1013 Referencia de la notación:
1014 @ref{Explicación de los bloques de títulos}.
1017 @node Disposición personalizada de cabeceras y pies de página
1018 @unnumberedsubsubsec Disposición personalizada de cabeceras y pies de página
1019 @translationof Custom layout for headers and footers
1021 @c can make-header and make-footer be removed from
1022 @c paper-defaults-init.ly? -mp
1024 Las instrucciones @code{\markup} dentro del bloque @code{\header} son
1025 de utilidad para dar formato al texto de una manera sencilla, pero no
1026 permiten un control preciso sobre la colocación de las cabeceras y los
1027 pies de página. Para personalizar la colocación de los campos de
1028 texto, use una o más de las siguientes variables de @code{\paper}:
1031 @item @code{oddHeaderMarkup} (marcado de encabezamiento impar)
1032 @item @code{evenHeaderMarkup} (marcado de encabezamiento par)
1033 @item @code{oddFooterMarkup} (marcado de pie de página impar)
1034 @item @code{evenFooterMarkup} (marcado de pie de página par)
1037 @cindex markup, conditional
1039 @funindex \on-the-fly
1041 The @code{\markup} command @code{\on-the-fly} can be used to add
1042 markup conditionally to header and footer text defined within the
1043 @code{\paper} block, using the following syntax:
1046 @code{variable} = @code{\markup} @{
1048 @code{\on-the-fly} #@var{procedure} @var{markup}
1053 The @var{procedure} is called each time the @code{\markup} command
1054 in which it appears is evaluated. The @var{procedure} should test
1055 for a particular condition and interpret (i.e. print) the
1056 @var{markup} argument if and only if the condition is true.
1058 A number of ready-made procedures for testing various conditions are
1062 @multitable {print-page-number-check-first-----} {should this page be printed-----}
1064 @headitem Procedure name @tab Condition tested
1066 @item print-page-number-check-first @tab should this page number be printed?
1067 @item create-page-number-stencil @tab 'print-page-numbers true?
1068 @item print-all-headers @tab 'print-all-headers true?
1069 @item first-page @tab first page in the book?
1070 @item (on-page nmbr) @tab page number = nmbr?
1071 @item last-page @tab last page in the book?
1072 @item not-first-page @tab not first page in the book?
1073 @item part-first-page @tab first page in the book part?
1074 @item part-last-page @tab last page in the book part?
1075 @item not-single-page @tab pages in book part > 1?
1080 El ejemplo siguiente centra los números de página en la parte baja de
1081 las páginas. En primer lugar, los ajustes predeterminados para
1082 @code{oddHeaderMarkup} y @code{evenHeaderMarkup} se eliminan
1083 definiéndolos como un marcado @emph{nulo}. Después de esto, se
1084 redefine @code{oddFooterMarkup} con el número de página centrado.
1085 Finalmente, @code{evenFooterMarkup} recibe la misma disposición
1086 definiéndola como @code{\oddFooterMarkup}:
1088 @lilypond[papersize=a8,quote,verbatim,noragged-right]
1091 print-page-number = ##t
1092 print-first-page-number = ##t
1093 oddHeaderMarkup = \markup \null
1094 evenHeaderMarkup = \markup \null
1095 oddFooterMarkup = \markup {
1097 \on-the-fly #print-page-number-check-first
1098 \fromproperty #'page:page-number-string
1101 evenFooterMarkup = \oddFooterMarkup
1104 \new Staff { s1 \break s1 \break s1 }
1109 Several @code{\on-the-fly} conditions can be combined with an
1110 @q{and} operation, for example,
1113 @code{\on-the-fly #first-page}
1114 @code{\on-the-fly #last-page}
1115 @code{@{ \markup ... \fromproperty #'header: ... @}}
1118 determines if the output is a single page.
1121 Referencia de la notación:
1122 @ref{Explicación de los bloques de títulos},
1123 @ref{Presentación predeterminada de los bloques de título del libro y la partitura}.
1126 @file{../ly/titling-init.ly}.
1129 @node Crear notas al pie
1130 @subsection Crear notas al pie
1131 @translationof Creating footnotes
1133 Se pueden crear dos tipos de notas al pie: automáticas y manuales.
1136 * Panorámica de las notas al pie::
1137 * Notas al pie automáticas::
1138 * Notas al pie manuales::
1141 @node Panorámica de las notas al pie
1142 @unnumberedsubsubsec Panorámica de las notas al pie
1143 @translationof Footnotes overview
1145 Las notas al pie automáticas crean indicadores numéricos crecientes;
1146 en cambio las notas al pie manuales permiten crear un indicador
1147 personalizado. Normalmente, las notas al pie se aplican como
1148 @code{\tweak}s y por ello se pueden colocar directamente sobre los
1149 grobs (objetos gráficos) creados por la mayor parte de los elementos y
1150 post-eventos musicales. En los casos en que esto no funciona así
1151 (como con las líneas divisorias y los cambios de compás, donde los
1152 grobs se producen como consecuencia de cambios en propiedades), las
1153 notas al pie se pueden también especificar como un evento musical
1154 independiente que afecta a todos los grobs de un tipo dado en un punto
1157 La forma completa de una instrucción de nota al pie es
1160 \footnote @var{marca} @var{desplazamiento} @var{grob} @var{nota}
1164 Los elementos son como sigue:
1168 es un elemento de marcado o cadena que especifica la nmarca de nota al
1169 pie que se usa tanto para señalar el punto de referencia como la nota
1170 en sí en la parte inferior de la página. Se puede omitir (o, de forma
1171 equivalente, sustituirse con @code{\default}) en cuyo caso se genera
1172 un número en secuencia.
1173 @item desplazamiento
1174 es una pareja de números como @samp{#(2 . 1)} que especifica los
1175 desplazamientos X e Y a partir del punto de referencia en que se
1178 especifica, por su nombre, un tipo de objeto gráfico o grob que marcar
1179 (como @samp{#'Flag} para el corchete de una nota). Si se da, el grob
1180 respectivo se usa como punto de referencia incluso en el caso de que
1181 su @q{causa} no sea la propia @var{música} referenciada sino un grob
1182 creado a partir de ella. Se puede omitit (o sustituirse por
1183 @code{\default}), y entonces sólo se anotará un grob creado
1186 Esta cadena o elemento de marcado especifica el texto de la nota que
1187 utilizar en la parte inferior de la página.
1189 Éste es el elemento, evento musical o componente de un acorde o
1190 post-evento, que se está anotando. Aunque no puede omitirse, @emph{sí
1191 puede} sustituirse por @code{\default} en cuyo caso la nota al pie no
1192 se adjunta a una expresión musical dada, sino a un momento de tiempo.
1193 Es obligatorio en este caso utilizar el argumento @var{grob} para
1194 seleccionar un tipo de grob afectado, como @samp{#'TimeSignature}
1195 (indicación de compás).
1198 Como ocurre con @code{\tweak}, si nuestra @code{\footnote} se aplica a
1199 un post-evento o articulación, tendrá que ser ella misma precedida de
1200 @code{-} para que el analizador sintáctico adjunte el resultado a la
1201 nota o silencio precedente.
1204 @node Notas al pie automáticas
1205 @unnumberedsubsubsec Notas al pie automáticas
1206 @translationof Automatic footnotes
1208 Las notas al pie automáticas toman cuatro argumentos: la posición
1209 @samp{(x . y)} del indicador, el nombre opcional del @var{grob} que
1210 especifica el objeto de presentación que se anota, el elemento de
1211 marcado de la porpia @var{nota} que aparecerá en la parte inferior de
1212 la página, y por supuesto la @var{música} a que adjuntar la nota al
1215 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1217 \header { tagline = ##f }
1219 \footnote #'(0.5 . -2)
1220 \markup { The first note }
1222 \footnote #'(0.5 . 1) #'Flag
1223 \markup { The third note }
1229 Las notas en acorde no ofrecen ninguna dificultad especial:
1231 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1233 \header { tagline = ##f }
1236 \footnote #'(1 . -1.25) "Here is a C" c
1237 \footnote #'(2 . -0.25) \markup { \italic "An E-flat" } es
1238 \footnote #'(2 . 3) \markup { \bold "This is a G" } g
1244 @warning{Cuando las notas al pie tienen la misma posición vertical, se
1245 imprimen en orden de descendencia: cuando más alta es la nota al pie,
1246 más arriba está en la lista.}
1248 He aquí unos ejemplos más de grobs con notas al pie, que
1249 muestran también la posición relativa de las notas respecto de la
1250 línea informativa y la línea de copyright.
1252 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1254 \header { copyright = \markup { "Copyright 1970" } }
1256 a'4-\footnote #'(-3 . 0) \markup { \bold Forte } \f
1257 -\footnote #'(0 . 1.5) \markup { A slur } (
1258 b8)-\footnote #'(0 . -2) \markup { Beam } [ e]
1259 \footnote #'(1 . -1) #'Stem
1260 \markup { \teeny { This is a stem } }
1262 \footnote #'(0 . 0.5) #'AccidentalCautionary
1263 \markup \italic { A cautionary accidental }
1264 \footnote #'(1 . 1) "The note itself"
1265 dis?4-\footnote #'(0.5 . -0.5) \markup \italic { Slow Down }
1271 Para los elementos @code{\markup} del nivel superior, se requiere el
1272 uso de la instrucción @code{\auto-footnote}:
1274 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1276 \header { tagline = ##f }
1277 \markup { \auto-footnote "A simple tune" \italic "By me" }
1285 @node Notas al pie manuales
1286 @unnumberedsubsubsec Notas al pie manuales
1287 @translationof Manual footnotes
1289 @cindex notas al pie manuales
1291 Las notas al pie marcadas manualmente toman un primer argumento
1292 adicional de marcado, @var{marca} para construir la marca de
1293 referencia. A diferencia de las marcas de notas al pie generadas
1294 automáticamente, no aparecen antes del elemento de marcado @var{nota}
1295 en la parte inferior de la página: el establecimiento de la conexión
1296 visual se deja para el usuario. LilyPond sólo asegura que el marcado
1297 correspondiente aparece en la parte inferior de la misma página.
1299 Aparte de esto, su uso es idéntico al de las notas al pie numeradas
1302 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1304 \header { tagline = ##f }
1308 \markup { \italic "1. The first note" }
1312 \markup { \bold "2" } #'(0.5 . 1)
1313 "2. The second note"
1316 d-\footnote "3" #'(0.5 . -1) "3. Piano" \p
1321 Para anotar notas de acordes con notas al pie manuales:
1323 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1325 \header { tagline = ##f }
1328 \footnote "1" #'(1 . -1.25) "1. C" c
1330 \markup { \bold "b" } #'(2 . -0.25) "b. E-flat" es
1331 \footnote "3" #'(2 . 3) \markup { \italic "iii. G" } g
1337 @warning {Cuando las notas al pie tienen la misma posición vertical, las
1338 anotaciones se imprimen en orden de descendencia; cuanto más alta es
1339 la nota al pie, más arriba está en la lista.}
1341 He aquí algunos ejemplos de grobs anotados manualmente, mostrando
1342 también la posición relativa de las notas al pie respecto a la línea
1343 informativa a la de copyright:
1345 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1347 \header { tagline = ##f }
1350 \markup { \teeny 1 } #'(-3 . 0)
1351 \markup { 1. \bold Forte } \f
1353 \markup { \teeny b } #'(0 . 1.5)
1354 \markup { b. A slur } (
1356 \markup { \teeny 3 } #'(0 . -2)
1357 \markup { 3. Beam } [
1360 \markup { 4 } #'(1 . -1) #'Stem
1361 \markup { \bold 4. { This is a stem } }
1364 \markup \concat \teeny { "sharp (v)" }
1365 #'(0 . 0.5) #'AccidentalCautionary
1366 \markup \italic { v. A cautionary accidental }
1368 \markup \concat \teeny { "a" } #'(0.5 . -0.5)
1369 \markup \italic { a. Slow Down } _"rit."
1371 \markup { \teeny \musicglyph #"rests.4" }
1373 \markup { \null } \breathe
1378 Para anotar manualmente un elemento @code{\markup} del nivel superior:
1380 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1382 \header { tagline = ##f }
1383 \markup { "A simple tune" \footnote "*" \italic "* By me" }
1391 Manual de aprendizaje:
1392 @rlearning{Objetos e interfaces}.
1394 Referencia de la notación:
1395 @ref{Globos de ayuda},
1396 @ref{Disposición de la página},
1397 @ref{Indicaciones de texto},
1398 @ref{Guiones de texto},
1399 @ref{Títulos y cabeceras}.
1401 Referencia de funcionamiento interno:
1402 @rinternals{FootnoteEvent},
1403 @rinternals{FootnoteItem},
1404 @rinternals{FootnoteSpanner},
1405 @rinternals{Footnote_engraver}.
1408 Varias notas al pie en la misma página solo pueden ir apiladas unas
1409 sobre otras, y no se pueden imprimir en la misma línea. Las notas al
1410 pie no se pueden adjuntar a elementos de silencio multicompás
1411 @code{MultiMeasureRests}, y pueden colisionar con el objeto
1412 @code{Staff}, objetos de @code{\markup} y otras anotaciones
1413 @code{footnote}. Cuando use una cualquiera de las instrucciones
1414 @code{footnote} se requiere un bloque @code{\paper} que contenga
1415 @code{footnote-auto-number = ##f}.
1418 @node Referencia a números de página
1419 @subsection Referencia a números de página
1420 @translationof Reference to page numbers
1422 Un lugar determinado de una partitura puede señalizarse usando la
1423 instrucción @code{\label} (etiqueta), ya sea en el nivel superior o
1424 dentro de la música. Podemos referirnos a esta etiqueta más tarde
1425 dentro de un elemento de marcado, para obtener el número de la página
1426 en la que se sitúa el punto señalizado, usando la instrucción de
1427 marcado @code{\page-ref}.
1430 \header { tagline = ##f }
1436 \pageBreak \mark A \label #'markA
1440 \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
1441 \markup { Mark A is on page \page-ref #'markA "0" "?" }
1445 La instrucción de marcado @code{\page-ref} toma tres argumentos:
1447 @item la etiqueta, un símbolo de scheme, p.ej. @code{#'firstScore};
1448 @item un elemento de marcado que se usará como medidor para estimar las dimensiones del marcado;
1449 @item un elemento de marcado que se utilizará en sustitución del número de página si la etiqueta es desconocida.
1452 El motivo de que se necesite un medidor es que en el momento en que se
1453 están interpretando los marcados, los saltos de página aún no se han
1454 producido y por tanto los números de página no se conocen todavía.
1455 Para sortear este inconveniente, la interpretación real del marcado se
1456 retrasa hasta un momento posterior; sin embargo, las dimensiones del
1457 marcado se tienen que conocer de antemano, así que se usa el medidor
1458 para decidir estas dimensiones. Si el libro tiene entre 10 y 99
1459 páginas, el medidor puede ser "00", es decir, un número de dos
1470 @node Índice general
1471 @subsection Índice general
1472 @translationof Table of contents
1474 Se puede insertar un índice general o tabla de contenidos utilizando
1475 la instrucción @code{\markuplist \table-of-contents}. Los elementos
1476 que deben aparecer en la tabla de contenidos se introducen con la
1477 instrucción @code{\tocItem}, que se puede usar en el nivel más alto de
1478 la jerarquía del código, o dentro de una expresión musical.
1481 \markuplist \table-of-contents
1484 \tocItem \markup "Primera partitura"
1488 \tocItem \markup "Un punto concreto dentro de la primera partitura"
1493 \tocItem \markup "Segunda partitura"
1501 Los elementos de marcado que se usan para dar formato al índice
1502 general se encuentran definidos dentro del bloque @code{\paper}. Los
1503 elementos predeterminados son @code{tocTitleMarkup}, para dar formato
1504 al título de la tabla, y @code{tocItemMarkup}, para aplicar formato a
1505 los elementos del índice, que consisten en el título del elemento y el
1506 número de página. Estas variables se pueden cambiar por parte del
1511 %% Traducir el título del índice al español:
1512 tocTitleMarkup = \markup \huge \column {
1513 \fill-line { \null "Índice general" \null }
1516 %% usar una fuente mayor
1517 tocItemMarkup = \markup \large \fill-line {
1518 \fromproperty #'toc:text \fromproperty #'toc:page
1523 Observe la forma en que nos referimos al texto y al número de página
1524 del elemento de índice, dentro de la definición @code{tocItemMarkup}.
1526 También se pueden definir nuevas instrucciones y elementos de
1527 marcado para crear índices generales más elaborados:
1529 @item en primer lugar, defina una variable de marcado nueva dentro del bloque @code{\paper}
1530 @item luego defina una función de música cuyo propósito es añadir un elemento al índice general
1531 utilizando esta variable de marcado del bloque @code{\paper}.
1534 En el ejemplo siguiente se define un estilo nuevo para introducir los
1535 nombres de los actos de una ópera en el índice general:
1539 tocActMarkup = \markup \large \column {
1541 \fill-line { \null \italic \fromproperty #'toc:text \null }
1547 #(define-music-function (parser location text) (markup?)
1548 (add-toc-item! 'tocActMarkup text))
1551 @lilypond[line-width=11.0\cm]
1552 \header { tagline = ##f }
1554 tocActMarkup = \markup \large \column {
1556 \fill-line { \null \italic \fromproperty #'toc:text \null }
1562 #(define-music-function (parser location text) (markup?)
1563 (add-toc-item! 'tocActMarkup text))
1566 \markuplist \table-of-contents
1567 \tocAct \markup { Atto Primo }
1568 \tocItem \markup { Coro. Viva il nostro Alcide }
1569 \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1570 \tocAct \markup { Atto Secondo }
1571 \tocItem \markup { Sinfonia }
1572 \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1577 Se pueden añadir puntos de relleno entre un elemento y su número de página:
1579 @lilypond[verbatim,quote]
1580 \header { tagline = ##f }
1582 tocItemMarkup = \tocItemWithDotsMarkup
1586 \markuplist \table-of-contents
1587 \tocItem \markup { Allegro }
1588 \tocItem \markup { Largo }
1595 @file{ly/toc-init.ly}.
1598 @funindex \table-of-contents
1599 @code{\table-of-contents},
1605 @node Trabajar sobre los archivos de entrada
1606 @section Trabajar sobre los archivos de entrada
1607 @translationof Working with input files
1610 * Inclusión de archivos de LilyPond::
1611 * Distintas ediciones a partir de una misma fuente::
1612 * Caracteres especiales::
1616 @node Inclusión de archivos de LilyPond
1617 @subsection Inclusión de archivos de LilyPond
1618 @translationof Including LilyPond files
1621 @cindex including files
1623 Un proyecto grande se puede dividir en varios archivos. Para
1624 referirse a otro archivo, utilice
1627 \include "otroarchivo.ly"
1630 La línea @code{\include "otroarchivo.ly"} equivale a pegar todo el
1631 contenido de @file{otroarchivo.ly} en el archivo actual en el lugar en
1632 que aparece el @code{\include}. Por ejemplo, en un proyecto grande
1633 podríamos querer archivos distintos para cada parte instrumental y
1634 crear un archivo de @qq{partitura completa} que reúne los archivos
1635 individuales de los instrumentos. Normalmente el archivo incluido
1636 define un cierto número de variables que a partir de entonces quedan
1637 disponibles para poderlas utilizar en el archivo de la partitura
1638 completa. En los archivos incluidos se pueden marcar las secciones
1639 etiquetadas para ayudar a hacerlas utilizables en distintos lugares de
1640 la partitura, véase @ref{Distintas ediciones a partir de una misma fuente}.
1642 Los archivos que están en el directorio de trabajo actual se pueden
1643 referenciar simplemente especificando el nombre después de la
1644 instrucción @code{\include}. Los archivos en otros lugares se pueden
1645 incluir proporcionando una referencia de ruta completa o una ruta
1646 relativa (pero utilice la barra inclinada normal del UNIX, /, no la
1647 barra invertida de DOS/Windows, \, como separador de directorio). Por
1648 ejemplo, si @file{material.ly} está situado un directorio por encima
1649 del directorio de trabajo actual, utilice
1652 \include "../material.ly"
1656 o si los archivos de las partes orquestales incluidas están todos
1657 situados en un subdirectorio llamado @file{partes} dentro del
1658 directorio actual, use
1661 \include "partes/VI.ly"
1662 \include "partes/VII.ly"
1666 Los archivos de inclusión también pueden contener enunciados
1667 @code{\include} a su vez. De forma predeterminada, estos enunciados
1668 @code{\include} de segundo nivel no se interpretan hasta que se
1669 incorporan al archivo principal, por lo que los nombres de archivo que
1670 especifican deben ser relativos al directorio que contiene el archivo
1671 principal, no al directorio que contiene el archivo incluido. Sin
1672 embargo, este comportamiento se puede modificar pasando la opción
1673 @option{-drelative-includes} en la línea de órdenes (o mediante la
1674 adición de @code{#(ly:set-option 'relative-includes #t)} al principio
1675 del archivo principal de entrada). Con el valor de
1676 @code{relative-includes} establecido, la ruta de cada instrucción
1677 @code{\include} se considera relativa al archivo que contiene dicha
1678 instrucción. Este comportamiento es el recomendado y se convertirá en
1679 el comportamiento predeterminado en una versión futura de lilypond.
1681 También se pueden incluir archivos de un directorio que está en una
1682 ruta de búsqueda especificada como opción al invocar a LilyPond desde
1683 la línea de órdenes. Los archivos incluidos se especifican usando
1684 solamente su nombre de archivo. Por ejemplo, para compilar mediante
1685 este método un archivo @file{principal.ly} que incluye archivos
1686 situados en un subdirectorio llamado @file{partes}, cambie al
1687 directorio que contiene @file{principal.ly} e introduzca
1690 lilypond --include=partes principal.ly
1693 y en @file{principal.ly} escriba
1701 Los archivos que se incluyen en muchas partituras se pueden poner en
1702 el directorio de LilyPond @file{../ly} (la localización de este
1703 directorio depende de la instalación: véase
1704 @rlearning{Otras fuentes de información}). Estos archivos se pueden
1705 incluir sencillamente por su nombre en un enunciado @code{\include}.
1706 De esta forma se incluyen los archivos dependientes del idioma como
1709 LilyPond incluye de forma predeterminada ciertos archivos cuando se
1710 inicia el programa. Estas inclusiones no son visibles para el
1711 usuario, pero los archivos se pueden identificar ejecutando
1712 @code{lilypond --verbose} desde la línea de órdenes. Esto presentará
1713 una lista de rutas y archivos que utiliza LilyPond, junto a muchas
1714 otras indicaciones. De forma alternativa, pueden verse explicaciones
1715 sobre los archivos más importantes de este conjunto en
1716 @rlearning{Otras fuentes de información}. Estos archivos se pueden
1717 editar, pero los cambios realizados sobre ellos se perderán al
1718 instalar una nueva versión de LilyPond.
1720 Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
1721 @rlearning{Partituras y particellas}.
1724 Manual de aprendizaje:
1725 @rlearning{Otras fuentes de información},
1726 @rlearning{Partituras y particellas}.
1729 Si un archivo incluido recibe un nombre igual al de uno de los
1730 archivos de instalación de LilyPond, el archivo que tiene prioridad es
1731 el de los archivos de instalación de LilyPond.
1734 @node Distintas ediciones a partir de una misma fuente
1735 @subsection Distintas ediciones a partir de una misma fuente
1736 @translationof Different editions from one source
1738 Se pueden usar varios métodos para generar la producción de distintas
1739 versiones de una partitura a partir de la misma fuente musical. Las
1740 variables son quizá el más útil para combinar secciones extensas de
1741 música y/o anotaciones. Las etiquetas son más útiles para seleccionar
1742 una sección de entre varias secciones de música alternativas, más
1743 cortas, y se pueden usar también para dividir piezas de música en
1746 Cualquiera que sea el método utilizado, la separación de la notación
1747 de la estructura de la partitura hará que sea más fácil cambiar la
1748 estructura dejando intacta la notación.
1751 * Uso de las variables::
1752 * Uso de etiquetas::
1753 * Uso de ajustes globales::
1756 @node Uso de las variables
1757 @unnumberedsubsubsec Uso de las variables
1758 @translationof Using variables
1760 @cindex variables, uso de las
1762 Si las secciones de la música se definen dentro de variables, se
1763 pueden reutilizar en distintas partes de la partitura, véase
1764 @rlearning{Organizar las piezas mediante variables}. Por ejemplo, una
1765 partitura vocal @notation{a cappella} con frecuencia incluye una
1766 reducción de piano de las partes para ensayar que es idéntica a la
1767 música vocal, por lo que ésta sólo se tiene que escribir una vez. Se
1768 puede combinar sobre un solo pentagrama la música de dos variables,
1769 véase @ref{Combinación automática de las partes}. He aquí un ejemplo:
1771 @lilypond[verbatim,quote]
1772 sopranoMusic = \relative c'' { a4 b c b8( a) }
1773 altoMusic = \relative g' { e4 e e f }
1774 tenorMusic = \relative c' { c4 b e d8( c) }
1775 bassMusic = \relative c' { a4 gis a d, }
1776 allLyrics = \lyricmode {King of glo -- ry }
1778 \new Staff = "Soprano" \sopranoMusic
1779 \new Lyrics \allLyrics
1780 \new Staff = "Alto" \altoMusic
1781 \new Lyrics \allLyrics
1782 \new Staff = "Tenor" {
1786 \new Lyrics \allLyrics
1787 \new Staff = "Bass" {
1791 \new Lyrics \allLyrics
1794 \set Staff.printPartCombineTexts = ##f
1800 \set Staff.printPartCombineTexts = ##f
1810 Se pueden producir partituras distintas que presenten sólo las partes
1811 vocales o sólo la parte de piano, cambiando solamente los enunciados
1812 estructurales, sin modificar la notación musical.
1814 Para partituras extensas, las definiciones de variable se pueden poner
1815 en archivos separados que se incluyen más tarde, véase @ref{Inclusión de archivos de LilyPond}.
1818 @node Uso de etiquetas
1819 @unnumberedsubsubsec Uso de etiquetas
1820 @translationof Using tags
1823 @funindex \keepWithTag
1824 @funindex \removeWithTag
1825 @funindex \pushToTag
1826 @funindex \appendToTag
1828 @cindex mantener música etiquetada
1829 @cindex quitar música etiquetada
1830 @cindex división en música etiquetada
1832 La instrucción @code{\tag #'@var{parteA}} marca una expresión musical
1833 con el nombre @var{parteA}. Las expresiones etiquetadas de esta
1834 manera se pueden seleccionar o filtrar más tarde por su nombre, usando
1835 bien @code{\keepWithTag #'@var{nombre}} o bien @code{\removeWithTag
1836 #'@var{nombre}}. El resultado de la aplicación de estos filtros a la
1837 música etiquetada es como sigue:
1839 @multitable @columnfractions .5 .5
1843 Música etiquetada precedida de @code{\keepWithTag #'@var{nombre}}
1845 Se incluye la música no etiquetada y la música etiquetada con
1846 @var{nombre}; se excluye la música etiquetada con cualquier otro
1849 Música etiquetada precedida de @code{\removeWithTag #'@var{nombre}}
1851 Se incluye la música no etiquetada y la música etiquetada con
1852 cualquier nombre de etiqueta distinto a @var{nombre}; se excluye la
1853 música etiquetada con @var{nombre}.
1855 Música etiquetada no precedida de @code{\keepWithTag} ni de
1856 @code{\removeWithTag}
1857 @tab Se incluye toda la música etiquetada y no etiquetada.
1860 Los argumentos de las instrucciones @code{\tag}, @code{\keepWithTag} y
1861 @code{\removeWithTag} deben ser un símbolo (como @code{#'partitura} o
1862 @code{#'parte}), seguido de una expresión musical.
1864 En el ejemplo siguiente vemos dos versiones de una pieza musical, una
1865 que muestra trinos con la notación usual y otra con los trinos
1866 expandidos explícitamente:
1868 @lilypond[verbatim,quote]
1869 music = \relative g' {
1871 \tag #'trills { d8.\trill }
1872 \tag #'expand { \repeat unfold 3 { e32 d } }
1877 \keepWithTag #'trills \music
1880 \keepWithTag #'expand \music
1885 De forma alternativa, a veces es más fácil excluir secciones de música:
1887 @lilypond[verbatim,quote]
1888 music = \relative g' {
1890 \tag #'trills { d8.\trill }
1891 \tag #'expand {\repeat unfold 3 { e32 d } }
1896 \removeWithTag #'expand
1900 \removeWithTag #'trills
1905 El filtrado con etiquetas se puede aplicar a articulaciones, textos,
1909 -\tag #'@var{mi-etiqueta}
1912 a una articulación. Por ejemplo, esto define una nota con una
1913 indicación opcional de digitación y una nota con una anotación
1918 c1-\tag #'warn ^"¡Ojo!"
1921 Se pueden poner varias etiquetas sobre expresiones con varias entradas
1924 @lilypond[quote,verbatim]
1925 music = \relative c'' {
1926 \tag #'a \tag #'both { a4 a a a }
1927 \tag #'b \tag #'both { b4 b b b }
1930 \keepWithTag #'a \music
1931 \keepWithTag #'b \music
1932 \keepWithTag #'both \music
1936 Se pueden aplicar varios filtros @code{\removeWithTag} a una sola
1937 expresión musical para quitar varias secciones etiquetadas con nombres
1940 @lilypond[verbatim,quote]
1941 music = \relative c'' {
1942 \tag #'A { a4 a a a }
1943 \tag #'B { b4 b b b }
1944 \tag #'C { c4 c c c }
1945 \tag #'D { d4 d d d }
1954 Dos o más filtros @code{\keepWithTag} aplicados a una sola expresión
1955 musical producen la eliminación de @emph{todas} las secciones
1956 etiquetadas, porque el primer filtro quita todas las secciones
1957 etiquetadas excepto la que se nombra, y el segundo filtro elimina
1958 incluso esa sección etiquetada.
1960 A vecespodemos desear dividir la música en un determinado lugar dentro
1961 de una expresión musical existente. Podemos usar @code{\pushToTag} y
1962 @code{\appendToTag} para añadir material delante o al final de los
1963 @code{elements} de una construcción musical existente. No toda
1964 construcción musical tiene la parte @code{elements}, pero las músicas
1965 secuenciaes y simultáneas son dos apuestas seguras:
1967 @lilypond[verbatim,quote]
1968 test = { \tag #'here { \tag #'here <<c''>> } }
1971 \pushToTag #'here c'
1972 \pushToTag #'here e'
1973 \pushToTag #'here g' \test
1974 \appendToTag #'here c'
1975 \appendToTag #'here e'
1976 \appendToTag #'here g' \test
1980 Las dos instrucciones admiten una etiqueta, el material que dividir en
1981 cada ocurrencia de la etiqueta, y la expresión etiquetada. Las
1982 instrucciones aseguran que se copia todo lo que cambian, de forma que
1983 el código original @code{\test} retiene su significado.
1986 Manual de aprendizaje:
1987 @rlearning{Organizar las piezas mediante variables}.
1989 Referencia de la notación:
1990 @ref{Combinación automática de las partes},
1991 @ref{Inclusión de archivos de LilyPond}.
1994 @c This warning is more general than this placement implies.
1995 @c Rests are not merged whether or not they come from tagged sections.
1996 @c Should be deleted? -td
1999 Multiple rests are not merged if you create a score with more
2000 than one tagged section at the same place.
2004 @node Uso de ajustes globales
2005 @unnumberedsubsubsec Uso de ajustes globales
2006 @translationof Using global settings
2008 @cindex include-settings
2010 Se pueden incluir ajustes globales a partir de un archivo distinto:
2013 lilypond -dinclude-settings=MIS_AJUSTES.ly MI_PARTITURA.ly
2016 En archivos diferentes se pueden almacenar grupos de ajustes como
2017 el tamaño de la página o las fuentes tipográficas. Ello permite
2018 hacer diferentes ediciones de la mism a partitura así como aplicar
2019 ajustes estándar a muchas partituras, simplemente por medio de la
2020 especificación del archivo de ajustes adecuado.
2022 Esta técnica también funciona bien con el uso de hojas de estilo,
2023 como se estudia en @rlearning{Hojas de estilo}.
2026 Manual de aprendizaje:
2027 @rlearning{Organizar las piezas mediante variables},
2028 @rlearning{Hojas de estilo}.
2030 Referencia de la notación:
2031 @ref{Inclusión de archivos de LilyPond}.
2034 @node Caracteres especiales
2035 @subsection Caracteres especiales
2036 @translationof Special characters
2038 @cindex caracteres especiales
2039 @cindex caracteres no ASCII
2042 * Codificación del texto::
2048 @node Codificación del texto
2049 @unnumberedsubsubsec Codificación del texto
2050 @translationof Text encoding
2054 LilyPond usa el conjunto de caracteres definido por el consorcio
2055 Unicode y la norma ISO/IEC 10646. Define un nombre único y un código
2056 para los conjuntos de caracteres que se utilizan en prácticamente
2057 todos los idiomas modernos y también en muchos otros. Unicode se
2058 puede implementar utilizando varios esquemas de codificación
2059 distintos. LilyPond usa la codificación UTF-8 (UTF son las siglas de
2060 @emph{Unicode Transformation Format}, o formato de transformación de
2061 Unicode) que representa todos los caracteres comunes de Latin en un
2062 solo byte, y representa otros caracteres usando un formato de longitud
2063 variable de hasta cuatro bytes.
2065 El aspecto visual real de los caracteres viene determinado por los
2066 glifos que se definen en las fuentes tipográficas concretas que se
2067 tengan disponibles: una fuente tipográfica define la asignación de un
2068 subconjunto de los códigos de Unicode a glifos. LilyPond usa la
2069 biblioteca Pango para representar y disponer tipográficamente textos
2072 LilyPond no realiza ninguna conversión en la codificación de la
2073 entrada. Esto significa que cualquier text, ya sea el título, la
2074 letra de la canción o una instrucción musical que contenga caracteres
2075 distintos a los del conjunto ASCII, se deben codificar en UTF-8. La
2076 forma más fácil de escribir dicho texto es utilizar un editor
2077 preparado para Unicode y guardar el archivo con la codificación UTF-8.
2078 Casi todos los editores modernos populares contemplan el UTF-8, por
2079 ejemplo lo hacen vim, Emacs, jEdit, y GEdit. Todos los sistemas MS
2080 Windows posteriores a NT usan Unicode como codificación de caracteres
2081 nativa, de manera que incluso el accesorio Bloc de Notas (Notepad)
2082 puede editar y guardar un archivo en el formato UTF-8. Una
2083 alternativa más funcional para Windows es BabelPad.
2085 Si un archivo de entrada que contiene un carácter que no es ASCII, no
2086 se guarda en el formato UTF-8, se genera el mensaje de error
2089 FT_Get_Glyph_Name () error: argumento inválido
2092 He aquí un ejemplo que muestra texto cirílico, hebreo y portugués:
2095 %c No verbatim here as the code does not display correctly in PDF
2097 bulgarian = \lyricmode {
2098 Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2102 hebrew = \lyricmode {
2103 זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2107 portuguese = \lyricmode {
2108 à vo -- cê uma can -- ção legal
2114 \addlyrics { \bulgarian }
2115 \addlyrics { \hebrew }
2116 \addlyrics { \portuguese }
2121 @unnumberedsubsubsec Unicode
2125 Para introducir un carácter aislado para el que se conoce el punto de
2126 código Unicode pero no está disponible en el editor que se está
2127 usando, use @code{\char ##xhhhh} o bien @code{\char #dddd} dentro de
2128 un bloque @code{\markup}, donde @code{hhhh} es el código hexadecimal
2129 del carácter en cuestión y @code{dddd} es su valor decimal
2130 correspondiente. Pueden omitirse los ceros iniciales, pero es
2131 costumbre indicar los cuatro caracteres en la representación
2132 hexadecimal (observe que @emph{no} debe utilizarse la codificación
2133 UTF-8 del punto de código Unicode después de @code{\char}, pues la
2134 codificación UTF-8 contiene bits adicionales que indican el número de
2135 octetos). Hay tablas de códigos Unicode y un índice de nombres de
2136 caracteres que da el punto de código en hexadecimal para cualquier
2137 carácter en el portal del Consorcio Unicode,
2138 @uref{http://www.unicode.org/}.
2140 Por ejemplo, tanto @code{\char ##x03BE} como @code{\char #958}
2141 insertan el carácter Unicode U+03BE, que tiene el nombre Unicode
2142 @qq{Letra griega Xi pequeña}.
2144 Se puede escribir de esta forma cualquier punto de código Unicode, y
2145 si todos los caracteres especiales se escriben en este formato no es
2146 necesario guardar el archivo de entrada en formato UTF-8. Por
2147 supuesto, debe estar instalada y estar disponible para LilyPond una
2148 fuente tipográfica que contenga codificados todos estos caracteres.
2150 El ejemplo siguiente muestra valores hexadecimales Unicode que se usan
2151 en cuatro lugares: en una llamada de ensayo, como texto de
2152 articulación, en la letra y como texto independiente bajo la
2155 @lilypond[quote,verbatim]
2158 c1 \mark \markup { \char ##x03EE }
2159 c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
2161 \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2163 \markup { "Copyright 2008--2012" \char ##x00A9 }
2166 @cindex copyright, símbolo de
2168 Para escribir el símbolo de copyright en la nota de créditos, utilice:
2172 copyright = \markup @{ \char ##x00A9 "2008" @}
2177 @node Alias de ASCII
2178 @unnumberedsubsubsec Alias de ASCII
2179 @translationof ASCII aliases
2181 Se puede incluir una lista de alias de ASCII para caracteres
2184 @lilypond[quote,verbatim]
2186 #(include-special-characters)
2189 \markup "&flqq; – &OE;uvre incomplète… &frqq;"
2192 \new Staff { \repeat unfold 9 a'4 }
2194 This is al -- so wor -- kin'~in ly -- rics: –_&OE;…
2199 "The replacement can be disabled:"
2200 "– &OE; …"
2201 \override #'(replacement-alist . ()) "– &OE; …"
2205 También podemos hacer nuestros propios alias, ya sea de forma global:
2207 @lilypond[quote,verbatim]
2209 #(add-text-replacements!
2210 '(("100" . "hundred")
2211 ("dpi" . "dots per inch")))
2213 \markup "A 100 dpi."
2218 @lilypond[quote,verbatim]
2219 \markup \replace #'(("100" . "hundred")
2220 ("dpi" . "dots per inch")) "A 100 dpi."
2224 Referencia de la notación:
2225 @ref{Lista de caracteres especiales}.
2227 Archivos instalados:
2228 @file{ly/text-replacements.ly}.
2231 @node Controlar la salida
2232 @section Controlar la salida
2233 @translationof Controlling output
2236 * Extracción de fragmentos de música::
2237 * Saltar la música corregida::
2238 * Formatos de salida alternativos::
2239 * Sustituir la tipografía de la notación::
2243 @node Extracción de fragmentos de música
2244 @subsection Extracción de fragmentos de música
2245 @translationof Extracting fragments of music
2247 Es posible citar pequeños fragmentos de una partitura grande
2248 directamente a partir de la salida. Puede compararse con la
2249 separación de una pieza de una partitura, recortándola con tijeras.
2251 Esto se hace definiendo los compases que se deben recortar. Por
2252 ejemplo, la inclusión de la siguiente definición
2259 (make-rhythmic-location 5 1 2)
2260 (make-rhythmic-location 7 3 4)))
2265 extrae un fragmento empezando por la mitad del quinto compás y
2266 finalizando en el séptimo compás. El significado de @code{5 1 2} es:
2267 después de una blanca (1/2) en el compás 5, y el de @code{7 3 4}
2268 después de tres negras del compás 7.
2270 Se pueden definir más zonas de recorte añadiendo más parejas de
2271 definición de tiempo rhythmic-location a la lista.
2273 Para poder utilizar esta funcionalidad, LilyPond se debe invocar con
2274 la opción @option{-dclip-systems}. Los recortes aparecen en la salida
2275 como archivos EPS, y se convierten en PDF y PNG si estos formatos
2276 también están activados.
2278 Para ver más información sobre los formatos de salida, consulte
2279 @rprogram{Invocar a LilyPond}.
2282 @node Saltar la música corregida
2283 @subsection Saltar la música corregida
2284 @translationof Skipping corrected music
2286 @funindex skipTypesetting
2287 @funindex showFirstLength
2288 @funindex showLastLength
2290 Al escribir o copiar música, normalmente sólo es interesante de ver y
2291 corregir la música cercana al final (donde estamos añadiendo las
2292 notas). Para acelerar este proceso de corrección, es posible saltar
2293 la composición tipográfica de todos excepto unos pocos de los últimos
2294 compases. Esto se consigue poniendo
2297 showLastLength = R1*5
2302 en nuestro archivo fuente. Esto hará que se tracen sólo los últimos
2303 cinco compases (suponiendo un compás de 4/4) de cada una de las
2304 partituras @code{\score} del archivo de entrada. Para piezas largas,
2305 el tipografiado de únicamente una parte pequeña es con frecuencia un
2306 orden de magnitud más rápido que el de la obra completa. Si estamos
2307 trabajando sobre el principio de una partitura que ya hemos
2308 tipografiado (p.ej., para añadir una parte instrumental nueva),
2309 también puede ser útil la propiedad @code{showFirstLength}.
2311 Este mecanismo de pasar por alto partes de un partitura se puede
2312 controlar con un grano más fino mediante la propiedad
2313 @code{Score.skipTypesetting}. Cuando su valor está establecido, no se
2314 lleva a cabo ningún tipografiado en absoluto.
2316 Esta propiedad se usa también para controlar la salida al archivo
2317 MIDI. Observe que pasa por alto todos los eventos, incluidos el tempo
2318 y los cambios de instrumento. Está usted advertido.
2320 @lilypond[quote,relative=2,ragged-right,verbatim]
2322 \set Score.skipTypesetting = ##t
2324 \set Score.skipTypesetting = ##f
2328 En música polifónica, @code{Score.skipTypesetting} afecta a todas las
2329 voces y pentagramas, ahorrando más tiempo incluso.
2332 @node Formatos de salida alternativos
2333 @subsection Formatos de salida alternativos
2334 @translationof Alternative output formats
2336 @cindex salida de gráficos de vector escalables
2338 @cindex salida de PostScript encapsulado
2340 @cindex PostScript encapsulado, salida de
2342 Los formatos de salida predeterminados para la partitura impresa son
2343 el formato de documento portátil (PDF) y PostScript (PS). Los
2344 formatos de salida Gráficos de vector escalables (SVG), PostScript
2345 encapsulado (EPS) y Gráficos de red portátiles (PNG) también están
2346 disponibles a través de opciones de la línea de órdenes, véase
2347 @rprogram{Opciones básicas de la línea de órdenes para LilyPond}.
2350 @node Sustituir la tipografía de la notación
2351 @subsection Sustituir la tipografía de la notación
2352 @translationof Replacing the notation font
2354 Gonville es una alternativa a la tipografía Feta que se utiliza en
2355 LilyPond y se puede descargar de:
2357 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2360 Aquí presentamos algunos compases de muestra tipografiados con la
2363 @c NOTE: these images are a bit big, but that's important
2364 @c for the font comparison. -gp
2365 @sourceimage{Gonville_after,,,}
2367 Aquí hay unos compases de muestra tipografiados en la fuente Feta de
2370 @sourceimage{Gonville_before,,,}
2372 @subsubheading Instrucciones de instalación para MacOS
2374 Descargue y extraiga el archivo zip. Copie la carpeta @code{lilyfonts}
2375 a @file{@var{SHARE_DIR}/lilypond/current}; para más información,
2376 consulte @rlearning{Otras fuentes de información}. Renombre la carpeta
2377 @code{fonts} existente a @code{fonts_orig} y la carpeta
2378 @code{lilyfonts} a @code{fonts}. Para volver a la fuente Feta,
2379 invierta el proceso.
2382 Manual de aprendizaje:
2383 @rlearning{Otras fuentes de información}.
2387 Gonville no se puede usar para tipografiar notación de @q{Música
2388 Antigua} y es probable que cualquier nuevo glifo en versiones
2389 posteriores de LilyPond no existan en la familia
2390 tipográfica Gonville. Diríjase a la página web del autor para obtener más
2391 información sobre éste y otros asuntos, entre ellos el régimen de
2392 licencias de Gonville.
2396 @section Salida MIDI
2397 @translationof MIDI output
2402 El MIDI (Musical Instrument Digital Interface, Interfase Digital para
2403 Instrumentos Musicales) es un estándar para interconectar y controlar
2404 instrumentos musicales electrónicos. Un archivo o secuencia MIDI es
2405 una serie de notas dentro de un conjunto de pistas. No es un archivo
2406 de sonidos reales; se necesita un programa reproductor especial para
2407 traducir la serie de notas en sonidos de verdad.
2409 Cualquier música se puede convertir a archivos MIDI, de manera que
2410 podamos escuchar lo que hayamos introducido. Esto es muy conveniente
2411 para comprobar la corrección de la música; las octavas equivocadas o
2412 las alteraciones erróneas se ponen de relieve muy claramente al
2413 escuchar la salida MIDI.
2415 La salida estándar de MIDI es un poco primitiva; de forma opcional, se
2416 encuentra disponible una salida MIDI mejorada y mucho más realista,
2417 por medio de @ref{El script Articulate}.
2419 La salida MIDI reserva un canal por cada pentagrama, y reserva
2420 el canal 10 para la percusión. Sólo hay 16 canales MIDI por cada
2421 dispositivo, por lo que si la partitura tiene más de 15 pautas, los
2422 canales MIDI se reutilizarán.
2425 * Crear archivos MIDI::
2427 * ¿Qué sale por el MIDI?::
2428 * Repeticiones y MIDI::
2429 * Control de los matices en el MIDI::
2430 * Percusión en MIDI::
2431 * El script Articulate::
2435 @node Crear archivos MIDI
2436 @subsection Crear archivos MIDI
2437 @translationof Creating MIDI files
2439 Para crear un MIDI a partir de una pieza de música, escriba un bloque
2440 @code{\midi} en la partitura, por ejemplo:
2449 Si hay un bloque @code{\midi} dentro de un @code{\score} que no tenga
2450 ningún bloque @code{\layout}, solamente se producirá MIDI. Si se
2451 necesita una notación impresa, debe haber también un bloque
2462 Se traducen correctamente a la salida MIDI la altura y duración de las
2463 notas, las ligaduras de unión, matices y cambios de tempo. Las
2464 indicaciones dinámicas, crescendi y decrescendi se traducen a niveles
2465 de volumen MIDI. Las marcas dinámicas se traducen a una fracción fija
2466 del rango de volumen MIDI disponible. Los crescendi y decrescendi
2467 hacen que el volumen varía linealmente entre sus dos extremos. El
2468 efecto de las indicaciones dinámicas sobre la salida MIDI se puede
2469 eliminar por completo, véase @ref{El bloque MIDI}.
2471 El tempo inicial y los cambios de tempo posteriores se pueden
2472 especificar utilizando la instrucción @code{\tempo} dentro de la
2473 propia notación musical. Se reflejan en cambios de tempo en la salida
2474 MIDI. Esta instrucción normalmente hace que se imprima la indicación
2475 metronómica, pero esto se puede eliminar, véase @ref{Indicaciones metronómicas}.
2476 Más abajo se describe una forma alternativa de especificar el tempo
2477 MIDI inicial o global, véase @ref{El bloque MIDI}.
2479 Debido a ciertas limitaciones de Windows, la extensión predeterminada
2480 para los archivos MIDI en Windows es @code{.mid}. Otros sistemas
2481 operativos utilizan la extensión @code{.midi}. Si prefiere una
2482 extensión diferente, inserte la siguiente línea en el nivel jerárquico
2483 superior del archivo de entrada, antes del inicio de cualquier bloque
2484 @code{\book}, @code{\bookpart} o @code{\score}:
2487 #(ly:set-option 'midi-extension "midi")
2490 La línea anterior establece la extensión predeterminada para los
2491 archivos MIDI a @code{.midi}.
2493 De forma alternativa, esta opción se puede también proporcionar en la
2497 lilypond … -dmidi-extension=midi archivoLily.ly
2501 @unnumberedsubsubsec Nombres de instrumentos
2503 @cindex instrumento, nombres de
2504 @funindex Staff.midiInstrument
2506 El nombre del instrumento MIDI se establece mediante la propiedad
2507 @code{Staff.midiInstrument}. El nombre del instrumento se debe elegir
2508 de entre los que están en la lista que aparece en @ref{Instrumentos MIDI}.
2512 \set Staff.midiInstrument = #"glockenspiel"
2518 \new Staff \with @{midiInstrument = #"cello"@} @{
2523 Si el instrumento elegido no coincide exactamente con uno de los
2524 instrumentos de la lista de instrumentos MIDI, se usará el instrumento
2525 Piano de Cola (@code{"acoustic grand"}).
2529 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2530 {changing-midi-output-to-one-channel-per-voice.ly}
2534 @c In 2.11 the following no longer seems to be a problem -td
2536 Unterminated (de)crescendos will not render properly in the midi file,
2537 resulting in silent passages of music. The workaround is to explicitly
2538 terminate the (de)crescendo. For example,
2545 will not work properly but
2548 @{ a4\< b c d\!\f @}
2555 Los cambios del volumen MIDI sólo tienen lugar al principio de la
2556 nota, por lo que los crescendi y decrescendi no pueden afectar al
2557 volumen de una sola nota.
2559 No todos los reproductores de MIDI manejar adecuadamente los cambios de
2560 tempo de la salida MIDI. Entre los reproductores que se sabe que
2561 funcionan se encuentran el Reproductor de Medios de MS Windows y
2562 @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2565 @node El bloque MIDI
2566 @subsection El bloque MIDI
2567 @translationof MIDI block
2571 Si se requiere una salida MIDI, debe aparecer un bloque @code{\midi}
2572 dentro de un bloque de partitura. Es análogo al bloque layout de
2573 diseño de página, pero algo más simple. Con frecuencia, el bloque
2574 @code{\midi} se deja vacío, pero puede contener reorganizaciones de
2575 contextos, definiciones de contexto nuevas o código para fijar valores
2576 de propiedades. Por ejemplo, en el ejemplo siguiente se establece el
2577 tempo inicial exportado al archivo MIDI sin hacer que se imprima una
2578 indicación de tempo:
2589 En este ejemplo, el tempo se establece a 72 pulsos de negra por
2590 minuto. @code{\tempo} is actually a music command for
2591 setting properties during the interpretation of music: in the
2592 context of output definitions like a @code{\midi} block, as a matter of
2593 courtesy those are reinterpreted as if they were context modifications.
2595 @cindex MIDI, definiciones de contexto
2597 Las definiciones de contexto siguen con precisión la misma sintaxis
2598 que la de un bloque @code{\layout}. Los módulos de traducción para el
2599 sonido reciben el nombre de ejecutantes. Los contextos para la salida
2600 MIDI se definen en @file{../ly/performer-init.ly}, véase
2601 @rlearning{Otras fuentes de información}. Por ejemplo, para eliminar
2602 el efecto de los matices de la salida MIDI, inserte las líneas
2603 siguientes en el bloque @code{\midi@{ @}}.
2610 \remove "Dynamic_performer"
2615 La salida MIDI se crea sólo cuando se incluye un bloque @code{\midi}
2616 dentro de un bloque de partitura definido con una instrucción
2621 @{ @dots{}notas@dots{} @}
2627 @node ¿Qué sale por el MIDI?
2628 @subsection ¿Qué sale por el MIDI?
2629 @translationof What goes into the MIDI output?
2631 @unnumberedsubsubsec Contemplado en el MIDI
2633 @cindex alturas en MIDI
2634 @cindex MIDI, alturas
2635 @cindex cuartos de tono en MIDI
2636 @cindex MIDI, cuartos de tono
2637 @cindex microtonos en MIDI
2638 @cindex MIDI, microtonos
2639 @cindex acordes, nombres de, en MIDI
2640 @cindex MIDI, nombres de
2641 @cindex duraciones en MIDI
2642 @cindex MIDI, duraciones
2643 @cindex Articlulate, scripts
2644 @cindex MIDI, articulaciones
2645 @cindex articulaciones en MIDI
2646 @cindex trinos en MIDI
2647 @cindex grupetos en MIDI
2648 @cindex rallentando en MIDI
2649 @cindex accelerando en MIDI
2652 Los siguientes elementos de notación se reflejan en la salida MIDI:
2656 @item Microtonos (véase @ref{Alteraciones accidentales}. La reproducción necesita un reproductor que contemple la curvatura de tono o @emph{pitch bend}.)
2657 @item Acordes escritos como nombres de acorde
2658 @item Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
2659 @item Trémolos escritos sin @q{@code{:}[@var{número}]}
2660 @item Ligaduras de unión
2661 @item Matices o indicaciones de dinámica
2662 @item Crescendi y decrescendi sobre varias notas
2663 @item Cambios de tempo insertados con una marca metronómica
2664 @item Letra de las canciones
2667 Utilizando @ref{El script Articulate}, a la lista anterior se añaden
2668 una serie de elementos:
2671 @item Articulaciones (ligaduras de expresión, picados, etc)
2672 @item Trinos, mordentes circulares
2673 @item Rallentando y accelerando
2677 @unnumberedsubsubsec No contemplado en el MIDI
2679 @c TODO index as above
2681 Los siguientes elementos de notación no tienen ningún efecto sobre la
2682 salida MIDI, a no ser que utilicemos @ref{El script Articulate}:
2685 @item Duraciones escritas como anotaciones, p.ej. el swing
2686 @item Cambios de tempo escritos como anotaciones sin marca de tempo
2687 @item Staccato y otras articulaciones y ornamentos
2688 @item Ligaduras de expresión y de fraseo
2689 @item Crescendi y decrescendi sobre una nota única
2690 @item Trémolos introducidos con @q{@code{:}[@var{número}]}
2692 @item Acordes microtonales
2696 @node Repeticiones y MIDI
2697 @subsection Repeticiones y MIDI
2698 @translationof Repeats in MIDI
2700 @cindex repeticiones, expandir
2701 @funindex \unfoldRepeats
2703 Con un poco de trucaje, se puede hacer que cualquier tipo de
2704 repetición esté presente en la salida MIDI. Esto se consigue mediante
2705 la aplicación de la función musical @code{\unfoldRepeats}. Esta
2706 función cambia todas las repeticiones a repeticiones desplegadas.
2708 @lilypond[quote,verbatim]
2710 \repeat tremolo 8 { c'32 e' }
2711 \repeat percent 2 { c''8 d'' }
2712 \repeat volta 2 { c'4 d' e' f' }
2721 En partituras con varias voces, el desplegado de las repeticiones en
2722 la salida MIDI solo se produce correctamente si @emph{todas y cada
2723 una} de las voces incluye las repeticiones de manera completa y
2726 Al crear un archivo de partitura que use @code{\unfoldRepeats} para el
2727 MIDI, es necesario hacer dos bloques @code{\score}: uno para el MIDI
2728 (con repeticiones desplegadas) y otro para la notación impresa (con
2729 repeticiones de volta --primera y segunda vez--, tremolo --trémolo--,
2730 y percent --repetición de compases--). Por ejemplo,
2738 \unfoldRepeats @var{..música..}
2744 @node Control de los matices en el MIDI
2745 @subsection Control de los matices en el MIDI
2746 @translationof Controlling MIDI dynamics
2748 La dinámica en el MIDI está implementada por medio del intérprete
2749 Dynamic_performer que reside de forma predeterminada dentro del
2750 contexto Voice. Es posible controlar el volumen MIDI general, el
2751 volumen relativo de los matices dinámicos y el volumen relativo de los
2752 distintos instrumentos.
2754 @unnumberedsubsubsec Indicaciones dinámicas
2756 Los matices o indicaciones de dinámica se traducen a una fracción fija
2757 del rango de volumen MIDI disponible. Las fracciones predeterminadas
2758 se extienden desde 0.25 para @notation{ppppp} hasta 0.95 para
2759 @notation{fffff}. El conjunto de indicaciones dinámicas y las
2760 fracciones asociadas pueden verse en @file{../scm/midi.scm}, véase
2761 @rlearning{Otras fuentes de información}. Este conjunto de fracciones
2762 se puede cambiar o extender proporcionando una función que toma como
2763 argumento una indicación dinámica y devuelve la fracción requerida, y
2764 estableciendo @code{Score.dynamicAbsoluteVolumeFunction} a esta
2767 Por ejemplo, si se requiere una indicación dinámica
2768 @notation{rinforzando}, @code{\rfz}, ésta no tiene ningún efecto
2769 predeterminado sobre el volumen MIDI, pues no está incluida en el
2770 conjunto predeterminado. De igual manera, si se define una indicación
2771 dinámica nueva con @code{make-dynamic-script}, ésta tampoco estará
2772 incluida en el conjunto predeterminado. El ejemplo siguiente muestra
2773 cómo hay que añadir el volumen MIDI para estas indicaciones dinámicas.
2774 La función Scheme establece la fracción a 0.9 si se encuentra una
2775 indicación dinámica rfz, y en caso contrario llama a la función
2778 @lilypond[verbatim,quote]
2779 #(define (myDynamics dynamic)
2780 (if (equal? dynamic "rfz")
2782 (default-dynamic-absolute-volume dynamic)))
2786 \set Staff.midiInstrument = #"cello"
2787 \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2799 Como alternativa, si se necesitara redefinir la tabla completa de
2800 fracciones, sería mejor usar el procedimiento
2801 @notation{default-dynamic-absolute-volume} que aparece en
2802 @file{../scm/midi.scm} y la tabla asociada como modelo. El último
2803 ejemplo de esta sección muestra cómo se puede hacer esto.
2805 @unnumberedsubsubsec Volumen maestro MIDI
2807 El volumen general máximo y mínimo de las indicaciones dinámicas de
2808 MIDI se controla estableciendo valores para las propiedades
2809 @code{midiMinimumVolume} y @code{midiMaximumVolume} en el nivel de
2810 @code{Score}. Estas propiedades tienen efecto solamente sobre las
2811 indicaciones dinámicas, por ello si queremos que tengan validez desde
2812 el comienzo de la partitura, se debe colocar allí una indicación de
2813 dinámica. La fracción que corresponde a cada indicación dinámica se
2814 modifica con esta fórmula:
2817 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fracción
2820 En el ejemplo siguiente, el rango de intensidad dinámica del volumen
2821 general MIDI está limitado al intervalo desde 0.2 hasta 0.5.
2823 @lilypond[verbatim,quote]
2829 \set Staff.midiInstrument = #"flute"
2830 \new Voice \relative c''' {
2838 \set Staff.midiInstrument = #"clarinet"
2839 \new Voice \relative c'' {
2851 midiMinimumVolume = #0.2
2852 midiMaximumVolume = #0.5
2858 @unnumberedsubsubsec Balance entre instrumentos (i)
2860 Si las propiedades de volumen MIDI máximo y mínimo están establecidas
2861 en el contexto @code{Staff} se pueden controlar los volúmenes
2862 relativos de los instrumentos MIDI. Esto proporciona un ecualizador
2863 de instrumentos básico que puede realzar significativamente la calidad
2866 En este ejemplo se reduce el volumen del clarinete con relación al de
2867 la flauta. Debe haber una indicación dinámica en la primera nota de
2868 cada instrumento para que esto funcione correctamente.
2870 @lilypond[verbatim,quote]
2876 \set Staff.midiInstrument = #"flute"
2877 \set Staff.midiMinimumVolume = #0.7
2878 \set Staff.midiMaximumVolume = #0.9
2879 \new Voice \relative c''' {
2887 \set Staff.midiInstrument = #"clarinet"
2888 \set Staff.midiMinimumVolume = #0.3
2889 \set Staff.midiMaximumVolume = #0.6
2890 \new Voice \relative c'' {
2904 @unnumberedsubsubsec Balance entre instrumentos (ii)
2906 Si las propiedades de volumen MIDI máximo y mínimo no están
2907 establecidas, de forma predeterminada LilyPond aplica un pequeño grado
2908 de ecualización a algunos instrumentos. Los instrumentos y la
2909 ecualización que se aplica se muestra en la tabla
2910 @notation{instrument-equalizer-alist} en @file{../scm/midi.scm}.
2912 El ecualizador básico predeterminado se puede sustituir estableciendo
2913 @code{instrumentEqualizer} en el contexto @code{Score} a un
2914 procedimiento Scheme nuevo que acepte el nombre de un instrumento MIDI
2915 como único argumento y devuelva un par de fracciones que dan los
2916 volúmenes máximo y mínimo que se aplican a dicho instrumento. Esta
2917 sustitución se hace de la misma forma que mostramos para restablecer
2918 la fracción de volumen absoluto @code{dynamicAbsoluteVolumeFunction}
2919 al comienzo de esta sección. El ecualizador predeterminado,
2920 @notation{default-instrument-equalizer}, en
2921 @file{../scm/midi.scm}, muestra cómo se puede escribir tal
2924 El ejemplo siguiente establece los volúmenes relativos de la flauta y
2925 del clarinete a los mismos valores que el ejemplo anterior.
2927 @lilypond[verbatim,quote]
2928 #(define my-instrument-equalizer-alist '())
2930 #(set! my-instrument-equalizer-alist
2933 ("flute" . (0.7 . 0.9))
2934 ("clarinet" . (0.3 . 0.6)))
2935 my-instrument-equalizer-alist))
2937 #(define (my-instrument-equalizer s)
2938 (let ((entry (assoc s my-instrument-equalizer-alist)))
2947 \set Score.instrumentEqualizer = #my-instrument-equalizer
2948 \set Staff.midiInstrument = #"flute"
2949 \new Voice \relative c''' {
2957 \set Staff.midiInstrument = #"clarinet"
2958 \new Voice \relative c'' {
2973 @c Delete when satisfied this is adequately covered elsewhere -td
2975 @n ode Microtones in MIDI
2976 @s ubsection Microtones in MIDI
2978 @cindex microtones in MIDI
2980 Microtones consisting of half sharps and half flats are exported
2981 to the MIDI file and render correctly in MIDI players which support
2982 pitch bending. See @ref{Nombres de las notas en otros idiomas}. Here is
2983 an example showing all the half sharps and half flats. It can be
2984 copied out and compiled to test microtones in your MIDI player.
2986 @lilypond[verbatim,quote]
3003 @node Percusión en MIDI
3004 @subsection Percusión en MIDI
3005 @translationof Percussion in MIDI
3007 La notación de los instrumentos de percusión se realiza normalmente en
3008 un contexto @code{DrumStaff} y cuando se hace de esta forma se les da
3009 salida correctamente por el canal MIDI@tie{}10, pero ciertos
3010 instrumentos de percusión de altura determinada, como el xilófono,
3011 marimba, vibráfono, timbales, etc., se tratan como instrumentos
3012 @qq{normales} y la música para estos instrumentos se debe introducir
3013 en contextos de @code{Staff} normales, no en un contexto
3014 @code{DrumStaff}, para obtener la salida MIDI correcta.
3016 Ciertos sonidos de altura indeterminada que están incluidos en el
3017 estándar General MIDI, como el tom melódico, el tambor taiko, los
3018 tambores sintéticos, etc., no se pueden acceder a través del canal
3019 MIDI@tie{}10, por lo que la notación para dichos instrumentos se debe
3020 introducir también en un contexto normal de @code{Staff}, utilizando
3021 las alturas normales adecuadas.
3023 Muchos instrumentos de percusión no están incluidos dentro del
3024 estándar General MIDI, p.ej. las castañuelas. El método más
3025 fácil (aunque no satisfactorio) de producir una salida MIDI al
3026 escribir para estos instrumentos es sustituirlos por el sonido más
3027 parecido del conjunto estándar.
3029 @c TODO Expand with examples, and any other issues
3033 Debido a que el estándar General MIDI no contiene golpes de aro
3034 (@emph{rim shots}), para este propósito se utiliza en su lugar el
3035 golpe lateral de baqueta (@emph{sidestick}).
3038 @node El script Articulate
3039 @subsection El script Articulate
3040 @translationof The Articulate script
3042 Es posible obtener una salida MIDI más real si se utiliza el script
3043 Articulate. Éste trata de tener en cuenta las articulaciones
3044 (ligaduras de expresión, picados, etc), mediante la sustitución de las
3045 notas con secuencias musicales de silencios y notas escaladas en el
3046 tiempo de forma apropiada. También trata de desplegar los trinos,
3047 grupetos circulares, etc. y responder a las indicaciones de
3048 rallentando y accelerando.
3050 Para utilizar el script Articulate, tenemos que incluirlo al principio
3051 de nuestro archivo de entrada:
3054 \include "articulate.ly"
3057 y en la sección @code{\score}, hacer lo siguiente:
3060 \unfoldRepeats \articulate <<
3061 resto de la partitura...
3065 Después de alterar el código de entrada de esta manera el resultado
3066 visual se altera profundamente, pero el bloque @code{\midi} estándar
3067 produce un archivo MIDI mejorado.
3069 Si bien no es esencial para que funcione el script Articulate, podemos
3070 insertar la instrucción @code{\unfoldRepeats} según aparece en el
3071 ejemplo anterior, dado que habilita la ejecución de abreviaturas tales
3072 como los @notation{trinos}.
3076 Articulate acorta los acordes, y ciertos fragmentos de música
3077 (especialmente la música de órgano) es posible que suene peor.
3080 @node Extraer información musical
3081 @section Extraer información musical
3082 @translationof Extracting musical information
3084 Además de crear un resultado visual y MIDI,
3085 LilyPond es capaz de presentar información
3086 musical en forma de texto.
3089 * Impresión del código de notación de LilyPond::
3090 * Impresión de las expresiones musicales de Scheme::
3091 * Guardar los eventos musicales en un archivo::
3095 @node Impresión del código de notación de LilyPond
3096 @subsection Displaying LilyPond notation
3097 @translationof Displaying LilyPond notation
3099 @funindex \displayLilyMusic
3100 La impresión textual de una expresión musical en notación de LilyPond
3101 puede hacerse con la función musical @code{\displayLilyMusic}.
3102 Para ver el resultado, lo más usual es llamar a LilyPond
3103 mediante la línea de órdenes. Por ejemplo,
3107 \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3111 imprime lo siguiente:
3114 @{ a,4 cis e fis g @}
3117 De forma predeterminada, LilyPond imprime estos mensajes en la consola
3118 junto al resto de los mensajes de la compilación de LilyPond.
3119 Para discernir entre estos mensajes y
3120 guardar el resultado de @code{\display@{MATERIAL@}}, redireccione la
3121 salida hacia un archivo.
3124 lilypond archivo.ly >resultado.txt
3128 @node Impresión de las expresiones musicales de Scheme
3129 @subsection Impresión de las expresiones musicales de Scheme
3130 @translationof Displaying scheme music expressions
3132 Véase @rextend{Presentación de las expresiones musicales}.
3135 @node Guardar los eventos musicales en un archivo
3136 @subsection Guardar los eventos musicales en un archivo
3137 @translationof Saving music events to a file
3139 Los eventos musicales se pueden guardar en un archivo pentagrama a
3140 pentagrama mediante la inclusión de un archivo en nuestra partitura
3144 \include "event-listener.ly"
3147 De esta forma se crean uno o más archivos llamados
3148 @file{FILENAME-STAFFNAME.notes} ó @file{FILENAME-unnamed-staff.notes}
3149 para cada pentagrama. Observe que si tiene más de un pentagrama sin
3150 nombre, los eventos de todos los pentagramas se mezclarán entre sí
3151 dentro del mismo archivo. El resultado tiene el aspecto siguiente:
3154 0.000 note 57 4 p-c 2 12
3156 0.250 note 62 4 p-c 7 12
3157 0.500 note 66 8 p-c 9 12
3158 0.625 note 69 8 p-c 14 12
3163 La sintaxis consiste en una línea delimitada por caracteres de
3164 tabulación, con dos campos fijos en cada línea seguidos de parámetros
3168 @var{tiempo} @var{tipo} @var{...parámetros...}
3171 Esta información se puede leer fácilmente por parte de otros programas
3172 como guiones de Python, y pueden ser muy útiles para aquellos
3173 investigadores que desean realizar un análisis musical o hacer
3174 experimientos de reproducción con LilyPond.
3177 No todos los eventos musicales de lilypond están contemplados por
3178 @file{event-listener.ly}. Se pretende que sea una @qq{prueba de
3179 concepto} bien realizada. Si algunos eventos que quiere ver no
3180 aparecen incluidos, copie @file{event-listener.ly} en su carpeta de
3181 lilypond y modifique el archivo de forma que produzca la información