@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond-learning.tely
@ignore
- Translation of GIT committish: 54fcdc3c1f2550992fb811183122fc1c33ff714c
+ Translation of GIT committish: bc4543c30c67f02dadc392880f27d4581e2d7681
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.51"
+@c \version "2.12.0"
@node Fundamental concepts
igualmente bellas pero más complejas.
@menu
-* How LilyPond files work::
+* How LilyPond input files work::
* Voices contain music::
* Contexts and engravers::
* Extending the templates::
@end menu
-@node How LilyPond files work
-@section How LilyPond files work
+@node How LilyPond input files work
+@section How LilyPond input files work
El formato de entrada de LilyPond es bastante libre en su forma y
concede a los usuarios con experiencia mucha flexibilidad para
constituye un útil punto de partida.
@funindex \book
+@funindex book
@funindex \score
-@cindex book
-@cindex score
+@funindex score
+@cindex book (libro)
+@cindex score (partitura)
@cindex libro
@cindex partitura
acabamos de ver.
@cindex contextos implícitos
+@cindex implícitos, contextos
@strong{¡Advertencia!} Muchos de los ejemplos que aparecen en la
documentación de LilyPond omiten las instrucciones @code{\new Staff} y
@example
@{
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...inserte aquí la partitura completa de una ópera de Wagner...}
>>
@}
@end example
@funindex \header
+@funindex header
@funindex \layout
+@funindex layout
@funindex \midi
+@funindex midi
@cindex header
@cindex layout
@cindex midi
como muestra el ejemplo que aparece al principio de la sección.
Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
-y @code{\midi @{@}}. Si aparecen tal y como se muestran aquí, hacen
+y @code{\midi @{ @}}. Si aparecen tal y como se muestran aquí, hacen
que LilyPond produzca una salida impresa y una salida MIDI,
respectivamente. Se describen con todo detalle en el manual de
Referencia de la notación, en @ruser{Score layout} y en
@ruser{Creating MIDI files}.
@cindex partituras, varias
+@cindex book, bloque implícito
+@cindex implícito, bloque book
+@funindex \book
+@funindex book
Podemos escribir varios bloques @code{\score}. Cada uno de ellos
recibirá el mismo tratamiento que una partitura independiente, pero se
Cada bloque @code{\book} crea un archivo de salida distinto (por
ejemplo, un archivo PDF). Si no hemos escrito uno de forma explícita,
LilyPond envuelve todo nuestro código de entrada dentro de un bloque
-@code{\book} de forma implícita.q
+@code{\book} de forma implícita.
Cada bloque @code{\score} es un trozo de música separado dentro de un
bloque @code{\book}.
+@cindex layout, efecto de la situación del bloque
+
Cada bloque @code{\layout} afecta al bloque @code{\score} o
@code{\book} dentro del cual aparece (es decir, un bloque
@code{\layout} dentro de un bloque @code{\score} afecta solamente a
@seealso
-
Para ver una definición completa del formato del código de entrada,
consulte @ruser{File structure}.
+
@node Score is a (single) compound musical expression
@subsection Score is a (single) compound musical expression
-@cindex expresión musical compuesta
-@cindex música, expresión compuesta de
-@funindex \score
@cindex score
@cindex partitura
+@cindex contenido del bloque score
+@cindex score, contenido del bloque
+@cindex compuesta, expresión musical
+@cindex musical, expresión, compuesta
+@cindex expresión musical compuesta
+@funindex \score
+@funindex score
En la sección anterior, @ref{Introduction to the LilyPond file
structure}, hemos podido ver la organización general de los archivos
@noindent
Para comprender lo que se entiende por expresión musical y expresión
musical compuesta, quizá encuentre útil dar un repaso al tutorial,
-@ref{Music expressions explained}. En esta sección, vimos cómo
+@ref{Music expressions explained}. En esta sección vimos cómo
elaborar grandes expresiones musicales a partir de pequeñas piezas
(comenzábamos con notas, luego acordes, etc.). Ahora partiremos de
una gran expresión musical y recorreremos el camino inverso hacia
@example
\score @{
@{ % esta llave da inicio a toda la expresión musical compuesta
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...introduzca aquí la partitura completa de una ópera de Wagner...}
>>
@} % esta llave da por terminada toda expresión musical completa
Una ópera de Wagner completa puede ser fácilmente el doble de larga
que este manual, por tanto vamos a hacer sólo un cantante y un piano.
-No necesitamos un @code{GrandStaff} para este conjunto, así que lo
-retiramos. Sin embargo, sí que @emph{necesitamos} un cantante y un
-piano.
+No necesitamos un @code{StaffGroup} (que simplemente agrupa un cierto
+número de pautas con un corchete a la izquierda) para este conjunto,
+así que lo retiramos. Sin embargo, @emph{sí} necesitamos un cantante
+y un piano.
@example
\score @{
<<
\new Staff = "cantante" <<
>>
- \new PianoStaff = piano <<
+ \new PianoStaff = "piano" <<
>>
>>
\layout @{ @}
superior (mano derecha) y un pentagrama inferior (mano izquierda).
En este momento podríamos comenzar a meter las notas. Dentro de las
-llaves que siguen a @code{\new Voice = vocal}, podríamos empezar
+llaves que siguen a @code{\new Voice = "vocal"}, podríamos empezar
escribiendo
@example
de texto cada elemento del mismo nivel comienza en la misma posición
horizontal).
-@seealso
+@seealso
Referencia de la notación:
@ruser{Structure of a score}.
@node Nesting music expressions
@subsection Nesting music expressions
+@cindex pentagramas temporales
+@cindex temporales, pentagramas
+@cindex ossias
+
No es esencial declarar todos los pentagramas al comienzo; se pueden
crear temporalmente en cualquier momento. Esto es de especial
utilidad para crear secciones de ossia (véase @rglos{ossia}). A
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
colocar por encima del pentagrama llamado @qq{main} en vez de la
posición predeterminada que sería por debajo.
-@seealso
+@seealso
Los fragmentos de ossia se escriben a menudo sin clave y sin
indicación de compás, y generalmente en un tipo más pequeño. Esto
necesitaría más instrucciones que aún no se han visto. Véase
@subsection On the un-nestedness of brackets and ties
@cindex corchetes y paréntesis, anidado de
+@cindex corchetes y paréntesis, tipos de
+@cindex corchetes y paréntesis, encerrar frente a marcar
+@cindex paréntesis y corchetes, anidado de
+@cindex paréntesis y corchetes, tipos de
+@cindex paréntesis y corchetes, encerrar frente a marcar
En la escritura del archivo de entrada de LilyPond, hemos podido ver
algunos tipos de paréntesis, llaves o ángulos de distintos tipos.
@cindex polifonía
@cindex capas
+@cindex varias voces
+@cindex voces, varias
@cindex Voice (voz), contexto de
-@cindex contexto de voz
+@cindex contexto Voice (de voz)
@cindex simultánea, música
@cindex concurrente, música
+@cindex voces frente a acordes
+@cindex acordes frente a voces
De las capas más profundas de una partitura de LilyPond, las más bajas
y más fundamentales reciben el nombre de @q{Voice contexts}
@code{@{...@}}), y combinarlas simultáneamente con ángulos dobles,
@code{<<...>>}. Los fragmentos también se deben separar mediante una
doble barra invertida, @code{\\}, para situarlos en voces separadas.
-Sin esto, las notas irían a una sola voz, lo que normalmente producirá
+Sin esto, las notas irían a una sola voz, lo que normalmente produce
errores. Esta técnica se adapta especialmente bien a piezas de música
que son mayormente monofónicas pero ocasionalmente tienen cortas
secciones de polifonía.
} >>
@end lilypond
+@cindex voces, nombrado de
+@cindex voces que cruzan corchetes
+@cindex ligaduras que cruzan corchetes
Este ejemplo tiene sólo dos voces, pero la misma construcción se puede
usar para codificar tres o más voces mediante la adición de más
de forma que las voces se puedan distinguir fácilmente. La voz uno
está establecida a rombos rojos, la voz dos a triángulos azules, la
voz tres a círculos verdes con aspas, y la voz cuatro (que no se
-utiliza aquí) a aspas color magenta. @code{\voiceNeutralStyle} (also
-not used here) reverts the style back to the default.
-Veremos más adelante cómo el usuario puede crear instrucciones como
-éstas. Véase
-@ref{Visibility and color of objects} y
-@ref{Using variables for tweaks}.
+utiliza aquí) a aspas color magenta. @code{\voiceNeutralStyle} (que
+tampoco se usa aquí) devuelve todo al estilo predeterminado. Veremos
+más adelante cómo el usuario puede crear instrucciones como éstas.
+Véase @ref{Visibility and color of objects} y @ref{Using variables for
+tweaks}.
+@cindex polifonía y modo relativo
+@cindex relativo, modo, polifonía y
La polifonía no cambia la relación de las notas dentro de un bloque
@code{\relative @{ @}}. La altura de cada nota aún se calcula con
comienzan en el mismo tiempo pero tienen distintas duraciones.
Observe las notas que comienzan en la tercera parte del primer compás.
El La bemol es una negra con puntillo, el Fa es una negra y el Re
-bemol es una blanca. Estas notas nos e pueden escribir como un acorde
+bemol es una blanca. Estas notas no se pueden escribir como un acorde
porque todas las notas de un acorde deben tener la misma duración.
Tampoco se pueden escribir como notas secuenciales, pues deben
comenzar al mismo tiempo. Esta sección del compás requiere tres
@end lilypond
@cindex plica abajo
+@cindex voces y dirección de las plicas
+@cindex plicas, voces y dirección de las
@cindex plica arriba
Las direcciones de las plicas se asignan automáticamente de forma que
problema aparcado hasta una sección posterior (véase la propiedad
@code{force-hshift} en @ref{Fixing overlapping notation}).
-@seealso
+@seealso
Referencia de la notación:
@ruser{Multiple voices}.
@funindex \voiceOne
+@funindex voiceOne
@funindex \voiceTwo
+@funindex voiceTwo
@funindex \voiceThree
+@funindex voiceThree
@funindex \voiceFour
+@funindex voiceFour
@funindex \oneVoice
+@funindex oneVoice
@funindex \new Voice
@cindex contextos de voz, creación de
>>
@end example
-Los dos ejemplos anteriores producirán:
+Los dos ejemplos anteriores producen:
@c The following example should not display the code
@lilypond[ragged-right,quote]
>>
@end lilypond
+@cindex voces, retorno a única
+@cindex retorno a voz única
+
Las instrucciones @code{\voiceXXX} establecen la dirección de las
plicas, ligaduras de expresión, ligaduras de prolongación,
articulaciones, anotaciones de texto, puntillos y digitaciones.
@lilypond[quote,ragged-right,verbatim]
\relative c'{
- % Default behaviour or behaviour after \oneVoice
+ % Default behavior or behavior after \oneVoice
c d8 ~ d e4 ( f g a ) b-> c
}
@end lilypond
@cindex anidado de expresiones musicales
@cindex anidado de construcciones simultáneas
-
+@cindex anidado de voces
@cindex voces temporales
@cindex voces, anidado de
>>
@end lilypond
+@subsubheading Note columns
+
@cindex columna de notas
+@cindex colisiones de notas
+@cindex notas, colisiones de
@cindex desplazamiento, instrucciones de
@funindex \shiftOff
+@funindex shiftOff
@funindex \shiftOn
+@funindex shiftOn
@funindex \shiftOnn
+@funindex shiftOnn
@funindex \shiftOnnn
+@funindex shiftOnnn
Las notas cercanas de un acorde, o las notas que se producen al mismo
tiempo en distintas voces, se disponen en dos (y ocasionalmente más)
desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
columnas de notas}.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Multiple voices}.
@funindex \new Lyrics
@funindex \lyricsto
+@funindex lyricsto
+@funindex Lyrics
@cindex Lyrics, creación de un contexto
@cindex letra, creación de un contexto de
@cindex letra, enlazar con una voz
@cindex letra y barrado
@cindex barrado y letra
@funindex \autoBeamOff
+@funindex autoBeamOff
El barrado automático que LilyPond usa de forma predeterminada
funciona bien para la música instrumental, pero no tan bien para
para desactivar el barrado automático.
@funindex \new ChoirStaff
+@funindex ChoirStaff
@funindex \lyricmode
+@funindex lyricmode
@cindex vocal, estructura de una partitura
+@cindex coro, sistema de
Ahora vamos a reutilizar el ejemplo anterior de «Judas Macabeo» para
ilustrar esta técnica más flexible. Primero la reescribiremos para
-que use variables de manera que la música y la letra se pueda separar
-de la estructura de pentagramas. También introduciremos una llave de
-grupo de ChoirStaff. La letra en sí se debe introducir con
+que use variables, de manera que la música y la letra se puedan
+separar de la estructura de pentagramas. También introduciremos una
+llave de grupo de ChoirStaff. La letra en sí se debe introducir con
@code{\lyricmode} para estar seguros de que se interpreta como letra y
no como música.
cuando se hagan demasiado largos.
@cindex himno, estructura de
+@cindex SATB, estructura de
+@cindex vocal, partitura, varias estrofas
+@cindex varias estrofas vocales
+@cindex estrofas, varias, vocales
A continuación podemos ver un ejemplo final de la primera línea de un
himno con cuatro estrofas, para coro SATB. En este caso la letra de
One two three four five six
}
\score {
- \new Choirstaff {
+ \new ChoirStaff {
\new Staff <<
\new Voice = "verse" {
\versenotes \break
Con esto tenemos la línea de la estrofa.
-Ahora deseamos continuar con refrainA (la primera parte del
+Ahora deseamos continuar con estribilloA (la primera parte del
estribillo) sobre el mismo pentagrama, mientras un segundo pentagrama
-aparece en paralelo con él para refrainB (estribillo, segunda parte),
+aparece en paralelo con él para estribilloB (estribillo, segunda parte),
por lo que ésta es una sección paralela que se debe situar
inmediatamente a continuación del salto de línea @code{\break} en la
voz de la estrofa. ¡Sí, @emph{dentro} de la voz de la estrofa! He
@example
<<
- \refrainnotesA
- \new Lyrics \lyricsto verse @{
- \refrainwordsA
+ \notas_estribilloA
+ \new Lyrics \lyricsto estrofa @{
+ \letra_estribilloA
@}
\new Staff <<
- \new Voice = "refrainB" @{
- \refrainnotesB
+ \new Voice = "estribilloB" @{
+ \notas_estribilloB
@}
- \new Lyrics \lyricsto "refrainB" @{
- \refrainwordsB
+ \new Lyrics \lyricsto "estribilloB" @{
+ \letra_estribilloB
@}
>>
>>
\score {
\new ChoirStaff {
\new Staff <<
- \context Voice = "verse" {
+ \new Voice = "verse" {
\versenotes \break
<<
\refrainnotesA
@cindex libro
@cindex book, ejemplo de su uso
@funindex \book
+@funindex book
Sin embargo, y aunque esto es un interesante y útil ejercicio
destinado a ayudarle a comprender cómo funcionan los bloques
}
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ruser{Vocal music}.
sin guión ni barra baja, por ejemplo:
@code{GregorianTranscriptionStaff}.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Contexts explained}.
+
@node Creating contexts
@subsection Creating contexts
@funindex \new
+@funindex new
@cindex nuevos contextos
@cindex creación de contextos
@cindex contextos, creación de
Hemos visto esto en la sección acerca de la letra, en @ref{Voices and
vocals}.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Creating contexts}.
Más adelante veremos cómo la salida de LilyPond se puede cambiar
mediante la modificación del funcionamiento de los Grabadores.
-@seealso
+@seealso
Referencia de funcionamiento interno:
@rinternals{Engravers and Performers}.
@cindex contexto, propiedades de, modificación
@cindex modificar las propiedades de contexto
@funindex \set
+@funindex set
@funindex \unset
+@funindex unset
Los contextos se responsabilizan de mantener los valores de un cierto
número de @emph{properties} de contexto. Muchas de ellas se pueden
valor Booleano, hay que escribir dos signos de cuadradillo, por
ejemplo: @code{##t}.
+@cindex propiedades que funcionan en contextos
+@cindex establecer propiedades en contextos
+
Antes de poder establecer cualquiera de estas propiedades, tenemos que
saber en qué contexto operan. A veces es algo obvio, pero en
ocasiones puede ser algo enrevesado. Si especificamos un contexto
% make note heads larger
\set fontSize = #2.5
f g
-% return to original size
+% return to default size
\unset fontSize
a b
@end lilypond
@unnumberedsubsubsec Setting context properties with @code{\with}
@funindex \with
+@funindex with
@cindex contexto, propiedades de, establecimiento con \with
Las propiedades de contexto también se pueden establecer en el momento
dinámicamente utilizando @code{\set} y ser devueltas a sus valores
predeterminados mediante @code{\unset}.
+@cindex fontSize (tamaño de la tipografía)
+@cindex fuente, tamaño de la
+@cindex tamaño de la fuente
+
La propiedad @code{fontSize} se trata de forma distinta. Si se ajusta
dentro de una cláusula @code{\with}, tiene el efecto de reiniciar el
valor predeterminado del tamaño de la fuente tipográfica. Si más
@unnumberedsubsubsec Setting context properties with @code{\context}
+@cindex contextos, establecer propiedades de, con \context
+@funindex \context
+@funindex context
+
Los valores de propiedad de los contextos se pueden establecer para
@emph{todos} los contextos de un tipo determinado, como por ejemplo
todos los contextos de @code{Staff}, con una única instrucción. El
enunciados dentro de un bloque @code{\with}, y mediante instrucciones
@code{\set} intercaladas dentro de enunciados musicales.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Changing context default settings}.
@c FIXME
@node Adding and removing engravers
@subsection Adding and removing engravers
-@cindex Grabadores, adición
-@cindex Grabadores, eliminación
+@cindex grabadores, adición
+@cindex grabadores, eliminación
+@cindex adición de grabadores
+@cindex eliminación de grabadores
@funindex \consists
+@funindex consists
@funindex \remove
+@funindex remove
Hemos visto que cada uno de los contextos contiene varios grabadores,
cada uno de los cuales a su vez es responsable de la producción de una
@subsubheading Changing all contexts of the same type
+@funindex \layout
+@funindex layout
+
Los ejemplos anteriores muestran la manera de eliminar o añadir
grabadores a los contextos individuales. También es posible eliminar
o añadir grabadores a todos los contextos de un tipo específico,
particular incluyendo la instrucción @code{\set} dentro de un bloque
@code{\context} de la misma forma.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
@subsection Soprano and cello
@cindex plantilla, modificar
+@cindex modificar plantillas
Para empezar, tome la plantilla que le parezca más parecida a aquello
que quiere conseguir. Digamos que quiere escribir algo para soprano y
\clef treble
\key c \major
\time 4/4
-
a4 b c d
}
\clef bass
\key c \major
\time 4/4
-
d4 g fis8 e d4
}
-\score{
+\score {
<<
<<
\new Voice = "one" {
}
@end lilypond
-@seealso
+@seealso
Las plantillas de inicio se pueden encontrar en el apéndice
@q{Templates}, véase @ref{Single staff}.
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@example
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" @{ \global \musicaSoprano @}
>>
\new Lyrics \lyricsto "sopranos" @{ \latraSoprano @}
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" @{ \global \musicaAlto @}
>>
\new Lyrics \lyricsto "altos" @{ \letraAlto @}
\new Staff = "tenores" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenores" @{ \global \musicaTenor @}
>>
\new Lyrics \lyricsto "tenores" @{ \letraTenor @}
\new Staff = "bajos" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "bajos" @{ \global \musicaBajo @}
>>
\new Lyrics \lyricsto "bajos" @{ \letraBajo @}
@example
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "superior" \superior
\new Staff = "inferior" \inferior
>>
>> % fin del ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@lilypond[quote,verbatim,ragged-right,addversion]
global = { \key d \major \time 4/4 }
-sopMusic = \relative c'' {
+sopranoMusic = \relative c'' {
\clef "treble"
r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
}
-sopWords = \lyricmode {
+sopranoWords = \lyricmode {
Wor -- thy is the lamb that was slain
}
altoMusic = \relative a' {
\clef "treble"
r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
}
-altoWords = \sopWords
+altoWords = \sopranoWords
tenorMusic = \relative c' {
\clef "G_8"
r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
}
-tenorWords = \sopWords
+tenorWords = \sopranoWords
bassMusic = \relative c' {
\clef "bass"
r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
}
-bassWords = \sopWords
+bassWords = \sopranoWords
upper = \relative a' {
\clef "treble"
\global
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
- \new Voice = "sopranos" { \global \sopMusic }
+ \set Staff.instrumentName = #"Soprano"
+ \new Voice = "sopranos" { \global \sopranoMusic }
>>
- \new Lyrics \lyricsto "sopranos" { \sopWords }
+ \new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@subsection Building a score from scratch
@cindex plantilla, escribir su propia
+@cindex ejemplo de escritura de una partitura
+@cindex escribir una partitura, ejemplo
+@cindex partitura, ejemplo de escritura
Después de adquirir algo de soltura en la escritura del código de
LilyPond, se dará cuenta de que es más fácil construir completamente
g4 g f ees | d2 c2 |
}
ManualOneVoiceTwoMusic = \relative c' {
- ees16 d ees8~ ees16 f ees s c8 d~ d c~ |
+ ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
c c4 b8 c8. g16 c b c d |
}
ManualTwoMusic = \relative c' {