@node Nichteuropäische Notenbezeichnungen und Versetzungszeichen
@subsection Nichteuropäische Notenbezeichnungen und Versetzungszeichen
-@translationof Non-Western notation and tuning systems
+@translationof Common notation for non-Western music
Viele nicht-europäische Musik (und auch manche europäische Volksmusik)
benutzt alternative oder erweiterte Skalen (Tonleitern), die man
occidental.
@menu
-* Sistemas de notación y afinación no occidentales::
+* Notación común para músicas no occidentales::
* Música árabe::
* Música clásica de Turquía::
@end menu
-@node Sistemas de notación y afinación no occidentales
-@subsection Sistemas de notación y afinación no occidentales
-@translationof Non-Western notation and tuning systems
+@node Notación común para músicas no occidentales
+@subsection Notación común para músicas no occidentales
+@translationof Common notation for non-Western music
-@c TODO: adapt & expand. -vv
+Esta sección estudia la forma de introducir e imprimir partituras
+musicales que no pertenecen a la tradición clásica occidental, también
+conocida como @notation{Período de la práctica común}.
-Muchas músicas no occidentales (y algunas folclóricas y tradicionales
-occidentales) emplean sistemas de afinación alternativos o extendidos
-que no encajan directamente dentro de la notación clásica estándar.
-
-En algunos casos aún se usa la notación estándar estando implícitas
-las diferencias de afinación. Por ejemplo, la notación de la música
-árabe se hace con alteraciones estándar de semitono y de cuarto de
-tono, estando las modificaciones de altura exactas determinadas por el
-contexto. Otras necesitan notaciones ampliadas o específicas.
-
-@notation{La música clásica turca}, o música otomana, emplea formas
-melódicas conocidas como @notation{makamlar}, cuyos intervalos están
-basados en divisiones del tono en novenos. Desde el punto de vista de
-la notación moderna, es conveniente utilizar las notas (do, re, mi,
-...) de un pentagrama occidental estándar con alteraciones
-accidentales específicas de la música turca. Estas alteraciones están
-definidas en @file{makam.ly} (para encontrar este archivo en su
-sistema, consulte @rlearning{Otras fuentes de información}). La tabla
-siguiente relaciona sus nombres, el sufijo de la alteración que se
-debe escribir detrás de las notas, y su alteración de altura como una
-fracción del tono.
-
-@c TODO: can we include the actual accidentals in this table?
-@quotation
-@multitable {@b{büyük mücenneb (sostenido)}} {@b{suffix}} {@b{alteración de altura}}
-@headitem Nombre de la alteración
- @tab Sufijo @tab Alteración de altura
-
-@item büyük mücenneb (sostenido)
- @tab -bm @tab +8/9
-@item kücük mücenneb (sostenido)
- @tab -k @tab +5/9
-@item bakiye (sostenido)
- @tab -b @tab +4/9
-@item koma (sostenido)
- @tab -c @tab +1/9
-
-@item koma (bemol)
- @tab -fc @tab -1/9
-@item bakiye (bemol)
- @tab -fb @tab -4/9
-@item kücük mücenneb (bemol)
- @tab -fk @tab -5/9
-@item büyük mücenneb (bemol)
- @tab -fbm @tab -8/9
-@end multitable
-@end quotation
+@menu
+* Extensión de la notación y los sistemas de afinación::
+@end menu
-Para ver más información sobre la música clásica turca y los makamlar,
-consulte @ref{Música clásica de Turquía}.
+@node Extensión de la notación y los sistemas de afinación
+@unnumberedsubsubsec Extensión de la notación y los sistemas de afinación
+@translationof Extending notation and tuning systems
+
+La notación clásica estándar (también conocida como la notación del
+@notation{Período de la práctica común}) se usa normalmente en todo
+tipo de música, sin limitación a la música occidental @q{clásica}.
+Esta notación se estudia en @ref{Escritura de notas}, y los distintos
+nombres de las notas que se pueden utilizar están explicados en
+@ref{Nombres de las notas en otros idiomas}.
+
+Sin embargo, muchos tipos de música no occidental (y algunas clases de
+música folk occidental y tradicional) emplea sistemas de afiniación
+altenativos o extendidos que no encajan inmediatamente dentro de la
+notación clásica estándar.
+
+En algunos casos aún se usa la notación estándar, estando implícitas
+las diferencias de altura. Por ejemplo, la notación de la
+@notation{música árabe} se realiza con alteraciones accidentales de
+semitono y de cuarto de tonoc, estando determinadas por el contexto
+las exactas alteraciones de altura. Se usan por lo general los
+nombres de nota italianos, mientras que el archivo de inicio
+@file{arabic.ly} proporciona un conjunto adecuado de macros y
+definiciones que extienden la notación estándar. Para ver más
+detalles, consulte @ref{Música árabe}.
+
+@cindex afinación no occidental
+
+Otros tipos de música requieren notaciones extendidas o singulares.
+La @notation{música clásica turca} o música otomana, por ejemplo,
+emplea formas melódicas conocidas como @notation{makamlar}, cuyos
+intervalos están basados en divisiones de 1/9 de tono. Se siguen
+usando las notas del pentagrama occidental, pero con alteraciones
+accidentales exclusivas de la música turca, que están definidas en el
+archivo @file{makam.ly}. Para ver más información sobre la música
+clásica turca y los makamlar, consulte @ref{Música clásica de
+Turquía}.
+
+PAra localizar los archivos de inicio como @file{arabic.ly} o
+@file{makam.ly} en su sistema, consulte @rlearning{Otras fuentes de
+información}.
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{makam-example.ly}
+@seealso
+Glosario musical:
+@rglos{Common Practice Period},
+@rglos{makamlar}.
+
+Manual de aprendizaje:
+@rlearning{Otras fuentes de inforamción}.
+
+Referencia de la notación:
+@ref{Escritura de notas},
+@ref{Nombres de las notas en otros idiomas},
+@ref{Música árabe},
+@ref{Música clásica de Turquía}.
+
@node Música árabe
@subsection Música árabe
@itemize
@item Los nombres de las notas y sus alteraciones (entre ellos, cuartos de
-tono) se pueden realizar como se estudia en @ref{Sistemas de notación y afinación no occidentales}.
+tono) se pueden realizar como se estudia en @ref{Notación común para
+músicas no occidentales}.
@item Las armaduras adicionales también pueden realizarse como se describe
en @ref{Armadura de la tonalidad}.
@seealso
Referencia de la notación:
-@ref{Sistemas de notación y afinación no occidentales},
+@ref{Notación común para músicas no occidentales},
@ref{Armadura de la tonalidad},
@ref{Barras manuales}.
ello no se utilizan. Los nombres ingleses de las notas no son muy
familiares dentro de la educación musical árabe, por lo que en su
lugar se utilizan los nombres italo-franco-españoles o del solfeo
-(@code{do, re, mi, fa, sol, la, si}). También se pueden utilizar los
-modificadores (alteraciones), como se estudia en @ref{Sistemas de notación y afinación no occidentales}.
+(@code{do, re, mi, fa, sol, la, si}); también se pueden utilizar
+modificadores (alteraciones). Los nombres italianos de las notas y
+las alteraciones accidentales están explicados en @ref{Nombres de las
+notas en otros idiomas}; el usao de la notación occidental estándar
+para realizar la notación de música no occidental se discute en
+@ref{Notación común para músicas no occidentales}.
Por ejemplo, así es como puede ser la notación de la escala árabe
@notation{rast}:
@seealso
Referencia de la notación:
-@ref{Sistemas de notación y afinación no occidentales}.
+@ref{Note names in other languages},
+@ref{Notación común para músicas no occidentales}.
Fragmentos de código:
@rlsr{World music}.
@seealso
+Glosario musical:
+@rglos{maqam},
+@rglos{bayati},
+@rglos{rast},
+@rglos{sikah},
+@rglos{iraq},
+@rglos{kurd}.
+
Referencia de la notación:
@ref{Armadura de la tonalidad}.
puede derivar en una agrupación automática de las notas muy distinta a
la de las partituras impresas existentes, donde las notas pueden no
estar agrupadas sobre el pulso, sino de una forma difícil de emular
-ajustando el barrado automático. Este comportamiento se puede
-sobreescribir desactivando el barrado automático e indicándolo
-manualmente. Cuando no es problema la coincidencia con partituras
-impresas existentes, aún podemos ajustar el comportamiento del barrado
-y/o utilizar compases compuestos.
+ajustando el barrado automático. La alternativa sería desactivar el
+barrado automático y realizar un barrado manual de las notas. Incluso
+si no es necesaria una correspondencia con música escrita ya
+existente, puede seguir siendo deseable ajustar el comportamiento del
+barrado automático y/o utilizar indicaciones de compás compuestas.
@snippets
@seealso
+Glosario musical:
+@rglos{semai},
+@rglos{taqasim}.
+
Referencia de la notación:
@ref{Barras manuales},
@ref{Barras automáticas},
@cindex plantilla música árabe
A continuación aparece una plantilla que emplea también el comienzo de
-un Semai turco muy común en la educación musical árabe con el objeto
-de ilustrar algunas de las peculiaridades de la notación árabe, como
-los intervalos intermedios y los modos poco usuales que tratamos en
-esta sección.
+un @notation{Semai} turco muy común en la educación musical árabe con
+el objeto de ilustrar algunas de las peculiaridades de la notación
+árabe, como los intervalos intermedios y los modos poco usuales que
+tratamos en esta sección.
@lilypond[quote,verbatim]
\include "arabic.ly"
@enumerate
@item
-@emph{The music of the Arabs}, de Habib Hassan Touma [Amadeus Press, 1996],
-contiene un tratado de los maqams y sus formas de agrupación.
+@emph{The music of the Arabs}, de Habib Hassan Touma [Amadeus Press,
+1996], contiene un tratado de los maqams y sus formas de agrupación.
También existen varios sitios web que explican los maqams, y algunos
de ellos ofrecen ejemplos de audio, como:
maqams concretos. Sin embargo, es usual utilizar una armadura por
grupo, más que una armadura distinta para cada maqam concreto.
-Varios métodos de los siguientes autores para el @dfn{Ud}, el laúd árabe,
-contienen ejemplos de composiciones turcas y árabes, principalmente.
+Varios métodos de los siguientes autores para el @dfn{Ud}, el laúd
+árabe, contienen ejemplos de composiciones turcas y árabes,
+principalmente.
@itemize @bullet
@item
se tratan en otras partes:
@itemize
-@item Los nombres de las notas y las alteraciones se dan en
-@ref{Sistemas de notación y afinación no occidentales}.
+@item Los nombres especiales de las notas y las alteraciones se dan en
+@ref{Notación común para músicas no occidentales}.
@end itemize
utilizar las notas occidentales (do, re, mi, ... ó c, d, e, ...) con
alteraciones especiales que elevan o bajan las notas en intervalos de
1/9, 4/9, 5/9 y 8/9 de tono. Esetas alteraciones están definidas en
-el archivo @file{makam.ly} (para encontrar este archivo en su sistema,
-consulte @rlearning{Otras fuentes de información}). Se da una
-descripción más detallada en @ref{Sistemas de notación y afinación no occidentales}.
+el archivo @file{makam.ly}.
+
+
+La tabla siguiente relaciona:
+@itemize
+@item
+el nombre de estas alteraciones accidentales especiales,
+@item
+el sufijo de la alteración que se debe escribir detrás de las notas, y
+@item
+su alteración en altura expresada como una fracción de un tono.
+@end itemize
+
+@quotation
+@multitable {@b{büyük mücenneb (sharp)}} {@b{suffix}} {@b{pitch alteration}}
+@headitem Nombre de la alteración
+ @tab sufijo @tab alteración de altura
+
+@item büyük mücenneb (sostenido)
+ @tab -bm @tab +8/9
+@item kücük mücenneb (sostenido)
+ @tab -k @tab +5/9
+@item bakiye (sostenido)
+ @tab -b @tab +4/9
+@item koma (sostenido)
+ @tab -c @tab +1/9
+
+@item koma (bemol)
+ @tab -fc @tab -1/9
+@item bakiye (bemol)
+ @tab -fb @tab -4/9
+@item kücük mücenneb (bemol)
+ @tab -fk @tab -5/9
+@item büyük mücenneb (bemol)
+ @tab -fbm @tab -8/9
+@end multitable
+@end quotation
+
+Para ver una explicación más general sobre la notación musical no
+occidental, consulte @ref{Notación común para músicas no
+occidentales}.
+
+@seealso
+Glosario musical:
+@rglos{makam},
+@rglos{makamlar}.
+
+Referencia de la notación:
+@ref{Notación común para músicas no occidentales}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 7fdd64899c9931d8d5f66786bdf49459a1a0ac53
+ Translation of GIT committish: 75ecb09ff2cc7bf40113d406091f37f7f000bddf
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c used for news about the upcoming release; see CG 10.2
+@newsItem
+@subsubheading Cuarta versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.38! @emph{31 de octubre de 2010}
+
+Ha salido LilyPond 2.13.38; ésta es la tercera versión alfa de la
+inminente versión estable 2.14. Se invita a los usuarios a que hagan
+experimentos con esta versión. Las funcionalidades nuevas desde
+2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
+sección @ref{Desarrollo} de estas páginas.
+
+Aún permanecen algunos problemas calificados como Críticos
+en esta versión: el espaciado vertical sorprende en
+dos casos, y lilypond puede salir de manera abrupta frente
+a algunos códigos de entrada extraños. Si se decide a probar
+2.13.38, no se sorprenda al descubrir problemas; tan sólo
+envíenos @ref{Informes de fallos} educados.
+
+@newsEnd
+
+
@newsItem
@subsubheading Tercera versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.37! @emph{25 de octubre de 2010}
todos a que hagan sus comentarios y contribuciones!
@newsEnd
+
* don't duplicate entries from news-front.itexi
@end ignore
+@newsItem
+@subsubheading Segunda versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.35! @emph{29 de septiembre de 2010}
+
+Ha salido LilyPond 2.13.35; ésta es la segunda versión alfa de la
+inminente versión estable 2.14. Se invita a los usuarios a que hagan
+experimentos con esta versión. Las funcionalidades nuevas desde
+2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
+sección @ref{Desarrollo} de estas páginas.
+
+Aún existen tres regresiones conocidas contra 2.12.3:
+@uref{http://code.google.com/p/lilypond/issues/detail?id=1173,
+Problema número 1173 - No se pueden alinear las MetronomeMarks sobre
+una nota si existe un silencio multicompás en otra voz}, y dos fallos
+de espaciado:
+@uref{http://code.google.com/p/lilypond/issues/detail?id=1240,
+Problema 1240} y
+@uref{http://code.google.com/p/lilypond/issues/detail?id=1252,
+Problema 1252} pero esperamos encontrar más. Si se decide a probar
+2.13.35, no se sorprenda al encontrar problemas; tan sólo envíenos
+@ref{Informes de fallos} educados.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading Versión de pruebas Alfa de 2.14: ¡Lanzado LilyPond 2.13.34! @emph{21 de septiembre de 2010}
+
+Ha salido LilyPond 2.13.34; ésta es la primera versión alfa de la
+inminente versión estable 2.14. Se invita a los usuarios a que hagan
+experimentos con esta versión. Las funcionalidades nuevas desde
+2.12.3 están relacionadas en el manual de @qq{Cambios} dentro de la
+sección @ref{Desarrollo} de estas páginas.
+
+Aún existe una regresión conocida contra 2.12.3:
+@uref{http://code.google.com/p/lilypond/issues/detail?id=1173,
+Problema número 1173 - No se pueden alinear las MetronomeMarks sobre una
+nota si existe un silencio multicompás en otra voz}, pero esperamos
+encontrar más. Si se decide a probar 2.13.34, no se sorprenda al
+encontrar problemas; tan sólo envíenos @ref{Informes de fallos}
+educados.
+
+@newsEnd
+
+
+@newsItem
+@subsubheading ¡Lanzado LilyPond 2.13.33! @emph{10 de septiembre de 2010}
+
+Nos complace anunciar el lanzamiento de LilyPond 2.13.33. Esta
+versión contiene el conjunto habitual de correcciones de fallos. Sin
+embargo, aún quedan algunos problemas críticos, por lo que esta
+versión está orientada solamente a los desarrolladores.
+
+@newsEnd
@newsItem
@node Noms de note et altérations non-occidentaux
@subsection Noms de note et altérations non-occidentaux
-@translationof Non-Western notation and tuning systems
+@translationof Common notation for non-Western music
De nombreuses musiques autres qu'occidentales -- et même certaines
formes de musique traditionnelle occidentales -- ont recours à des
* Musical terms A-Z::
* Duration names notes and rests::
* Pitch names::
+* Non-Western terms A-Z::
Appendices
FI: ?.
@c TODO:
-This is a stubs for Common Practice Period (CPP).
+This is a stub for Common Practice Period (CPP).
@seealso
@ruser{Note names in other languages}.
@end multitable
+@node Non-Western terms A-Z
+@chapter Non-Western terms A-Z
+
+@menu
+* bayati::
+* iraq::
+* kurd::
+* makam::
+* makamlar::
+* maqam::
+* rast::
+* semai::
+* sikah::
+* taqasim::
+@end menu
+
+
+@node bayati
+@section bayati
+
+@c TODO
+This is a stub for @code{bayati}.
+
+@seealso
+Notation Reference:
+@ruser{Arabic key signatures}.
+
+
+@node iraq
+@section iraq
+
+@c TODO
+This is a stub for @code{iraq}.
+
+@seealso
+Notation Reference:
+@ruser{Arabic key signatures}.
+
+
+@node kurd
+@section kurd
+
+@c TODO
+This is a stub for @code{kurd}.
+
+@seealso
+Notation Reference:
+@ruser{Arabic key signatures}.
+
+
+@node makam
+@section makam
+
+@c TODO
+This is a stub for @code{makam}.
+
+@seealso
+Notation Reference:
+@ruser{Turkish classical music}.
+
+
+@node makamlar
+@section makamlar
+
+@c TODO
+This is a stub for @code{makamlar}.
+
+@seealso
+Notation Reference:
+@ruser{Turkish classical music}.
+
+
+@node maqam
+@section maqam
+
+@c TODO
+This is a stub for @code{maqam}.
+
+@seealso
+Notation Reference:
+@ruser{Arabic music},
+@ruser{Arabic key signatures}.
+
+
+@node rast
+@section rast
+
+@c TODO
+This is a stub for @code{rast}.
+
+@seealso
+Notation Reference:
+@ruser{Arabic key signatures}.
+
+
+@node semai
+@section semai
+
+@c TODO
+This is a stub for @code{semai}.
+
+@seealso
+Notation Reference:
+@ruser{Arabic key signatures}.
+
+
+@node sikah
+@section sikah
+
+@c TODO
+This is a stub for @code{sikah}.
+
+@seealso
+Notation Reference:
+@ruser{Arabic key signatures}.
+
+
+@node taqasim
+@section taqasim
+
+@c TODO
+This is a stub for @code{taqasim}.
+
+@seealso
+Notation Reference:
+@ruser{Arabic key signatures}.
+
+
@node Literature used
@appendix Literature used
staves. Each part that should be on its own staff, is preceded with
@code{\new Staff}.
-@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
+@lilypond[quote,verbatim,relative=2,ragged-right]
<<
\new Staff { c4 c }
\new Staff { d4 d }
example which removes @code{Time_signature_engraver} and
@code{Clef_engraver} from a @code{Staff} context,
-@lilypond[quote,relative=1,verbatim,fragment]
+@lilypond[quote,relative=1,verbatim]
<<
\new Staff {
f2 g
Suppose we want to move the fingering indication in the fragment
below:
-@lilypond[quote,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
c-2
\stemUp
f
Recall that we wanted to change the position of the @b{2} in
-@lilypond[quote,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
c-2
\stemUp
f
Inserting this command before the Fingering object is created,
i.e., before @code{c2}, yields the following result:
-@lilypond[quote,relative=2,fragment,verbatim]
+@lilypond[quote,relative=2,verbatim]
\once \override Voice.Fingering #'padding = #3
c-2
\stemUp
* The override command::
* The tweak command::
* set versus override::
+* Modifying alists::
@end menu
applies to the current staff. Other staves will keep their normal
appearance. Here we see the command in action:
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
c4
\override Staff.Stem #'thickness = #4.0
c4
causing the default context @code{Voice} to be used. Adding
@code{\once} applies the change during one timestep only.
-@lilypond[quote,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
c4
\once \override Stem #'thickness = #4.0
c4
or beams, the @code{\override} command must be executed at the moment
when the object is created. In this example,
-@lilypond[quote,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
\override Slur #'thickness = #3.0
c8[( c
\override Beam #'beam-thickness = #0.6
For example, multimeasure rests will be combined into a single bar
if the context property @code{skipBars} is set to @code{#t}:
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
R1*2
\set Score.skipBars = ##t
R1*2
set in the current bottom context (typically @code{ChordNames},
@code{Voice}, @code{TabVoice}, or @code{Lyrics}).
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
\set Score.autoBeaming = ##f
<<
{
@code{Voice}, will have no effect, because skipBars is a property of
the @code{Score} context.
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
R1*2
\set skipBars = ##t
R1*2
Properties that have been set in enclosing contexts will
not be altered by an unset in an enclosed context:
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
\set Score.autoBeaming = ##t
<<
{
Preceding a @code{\set} command by @code{\once} makes the
setting apply to only a single time-step:
-@lilypond[quote,verbatim,relative=2,fragment]
+@lilypond[quote,verbatim,relative=2]
c4
\once \set fontSize = #4.7
c4
overriding the @code{thickness} property of the @code{Stem}
object:
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote,verbatim,relative=2]
c4 c
\override Voice.Stem #'thickness = #3.0
c4 c
If no context is specified in an @code{\override}, the bottom
context is used:
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote,verbatim,relative=2]
{ \override Staff.Stem #'thickness = #3.0
<<
{
The effects of @code{\override} can be undone by @code{\revert}:
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote,verbatim,relative=2]
c4
\override Voice.Stem #'thickness = #3.0
c4 c
The effects of @code{\override} and @code{\revert} apply to all
grobs in the affected context from the current time forward:
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote,verbatim,relative=2]
{
<<
{
@code{\once} can be used with @code{\override}
to affect only the current time step:
-@lilypond[quote, verbatim, relative=2, fragment]
+@lilypond[quote,verbatim,relative=2]
{
<<
{
@end ignore
+
+@node Modifying alists
+@subsection Modifying alists
+
+Some user-configurable properties are internally represented as
+@emph{alists} (association lists), which store pairs of
+@emph{keys} and @emph{values}. The structure of an alist is:
+
+@example
+#((@var{key1} . @var{value1})
+ (@var{key2} . @var{value2})
+ (@var{key3} . @var{value3})
+ @dots{})
+@end example
+
+If an alist is a grob property or @code{\paper} variable, its keys
+can be modified individually without affecting other keys.
+
+For example, to reduce the space between adjacent staves in a
+system, use the @code{between-staff-spacing} property of the
+@code{StaffGrouper} grob. The property is an alist with four
+keys: @code{padding}, @code{space}, @code{minimum-distance}, and
+@code{stretchability}. Three of the four keys have initialized
+default values, which are defined (along with all the other grob
+properties) in the file @file{scm/define-grobs.scm}:
+
+@example
+(between-staff-spacing . ((padding . 1)
+ (space . 9)
+ (minimum-distance . 7)))
+@end example
+
+One way to bring the staves closer together is by reducing the
+value of the @code{space} key (@code{9}) to match the value of
+@code{minimum-distance} (@code{7}). To modify a single key
+individually, use a nested declaration:
+
+@lilypond[quote,verbatim]
+% default space between staves
+\new PianoStaff <<
+ \new Staff { \clef treble c''1 }
+ \new Staff { \clef bass c1 }
+>>
+
+% reduced space between staves
+\new PianoStaff \with {
+ \override StaffGrouper #'between-staff-spacing #'space = #7
+} <<
+ \new Staff { \clef treble c''1 }
+ \new Staff { \clef bass c1 }
+>>
+@end lilypond
+
+Using a nested declaration will update the specified key
+(@code{space} in the above example) without altering any other
+keys already set for the same property.
+
+Now suppose we want the staves to be as close as possible without
+overlapping. The simplest way to do this is to set all four alist
+keys to zero. In that case, it is not necessary to set each key
+individually with nested declarations. Instead, the property can
+be completely re-defined with one declaration, as an alist:
+
+@lilypond[quote,verbatim]
+\new PianoStaff \with {
+ \override StaffGrouper #'between-staff-spacing =
+ #'((padding . 0)
+ (space . 0)
+ (minimum-distance . 0)
+ (stretchability . 0))
+} <<
+ \new Staff { \clef treble c''1 }
+ \new Staff { \clef bass c1 }
+>>
+@end lilypond
+
+Note that any keys not explicitly listed in the alist definition
+will be reset to their @emph{default-when-unset} values. In the
+case of @code{between-staff-spacing}, any unset key-values would
+be reset to zero (except @code{stretchability}, which takes the
+value of @code{space} when unset). Thus the following two
+declarations are equivalent:
+
+@example
+\override StaffGrouper #'between-staff-spacing =
+ #'((space . 7))
+
+\override StaffGrouper #'between-staff-spacing =
+ #'((padding . 0)
+ (space . 7)
+ (minimum-distance . 0)
+ (stretchability . 7))
+@end example
+
+One (possibly unintended) consequence of this is the removal of
+any @emph{initialized} default values that are set in an
+initialization file and loaded each time an input file is
+compiled. In the above example, the initialized default values
+for @code{padding} and @code{minimum-distance} (defined in
+@file{scm/define-grobs.scm}) are reset to their default-when-unset
+values (zero for both keys). Defining a property or variable as
+an alist (of any size) will always reset all unset key-values to
+their default-when-unset values. Unless this is the intended
+result, it is safer to update key-values individually with a
+nested declaration.
+
+@warning{Nested declarations will not work for context property
+alists (such as @code{beamExceptions}, @code{keySignature},
+@code{timeSignatureSettings}, etc.). These properties can only be
+modified by completely re-defining them as alists.}
+
+
@node Useful concepts and properties
@section Useful concepts and properties
This is a markup that is evaluated to yield the stencil. It is used
to put @i{cresc.}, @i{tr} and other text on horizontal spanners.
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
\override TextSpanner #'(bound-details left text)
= \markup { \small \bold Slower }
c2\startTextSpan b c a\stopTextSpan
if @code{to-barline} is true and a bar line occurs before the next
note.
-@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
+@lilypond[verbatim,quote,ragged-right,relative=2]
\endSpanners
c2 \startTextSpan c2 c2
\endSpanners
@item @code{1 2 8 16}
@tab durations
@tab
-@lilypond[fragment,relative=2,notime]
+@lilypond[relative=2,notime]
\set Staff.autoBeaming = ##f
\override Staff.Clef #'break-visibility = #all-invisible
c1 c2 c8 c16
@item @code{c4. c4..}
@tab augmentation dots
@tab
-@lilypond[fragment,relative=2,notime]
+@lilypond[relative=2,notime]
\override Staff.Clef #'break-visibility = #all-invisible
c4. c4..
@end lilypond
@item @code{c d e f g a b }
@tab scale
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
c d e f g a b
@end lilypond
@item @code{fis bes}
@tab alteration
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
fis bes
@end lilypond
@item @code{\clef treble \clef bass }
@tab clefs
@tab
-@lilypond[fragment,notime]
+@lilypond[relative=1,notime]
\clef treble
s4_" "
\clef bass
@item @code{\time 3/4 \time 4/4 }
@tab time signature
@tab
-@lilypond[fragment]
+@lilypond[relative=1]
\override Staff.Clef #'stencil = #empty-stencil
\time 3/4
s4_" "
@item @code{r4 r8}
@tab rest
@tab
-@lilypond[relative=2,notime,fragment]
+@lilypond[relative=2,notime]
\override Staff.Clef #'break-visibility = #all-invisible
r4 r8
@end lilypond
@item @code{d ~ d}
@tab tie
@tab
-@lilypond[relative=2,notime,fragment]
+@lilypond[relative=2,notime]
\set Score.timing = ##f
\set Staff.autoBeaming = ##f
d ~ d
@item @code{\key es \major }
@tab key signature
@tab
-@lilypond[notime,fragment]
+@lilypond[notime,relative=1]
\clef treble
\key es \major
\hideNotes
@item @var{note}@code{'}
@tab raise octave
@tab
-@lilypond[relative=2,notime,fragment]
+@lilypond[relative=2,notime]
\set Score.timing = ##f
\set Staff.autoBeaming = ##f
a a'
@item @var{note}@code{,}
@tab lower octave
@tab
-@lilypond[relative=2,notime,fragment]
+@lilypond[relative=2,notime]
\set Score.timing = ##f
\set Staff.autoBeaming = ##f
c c,
@item @code{c( d e)}
@tab slur
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Score.timing = ##f
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\set Staff.autoBeaming = ##f
@item @code{c\( c( d) e\)}
@tab phrasing slur
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Score.timing = ##f
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\set Staff.autoBeaming = ##f
@item @code{a8[ b]}
@tab beam
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Score.timing = ##f
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\set Staff.autoBeaming = ##f
@item @code{<< \new Staff ... >>}
@tab more staves
@tab
-@lilypond[fragment]
+@lilypond[relative=1]
<< \new Staff {
\set Staff.implicitTimeSignatureVisibility = #all-invisible
- c'1
+ c1
}
\new Staff {
\set Staff.implicitTimeSignatureVisibility = #all-invisible
- c'1
+ c1
} >>
@end lilypond
@item @code{c-> c-.}
@tab articulations
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
c-> c-.
@end lilypond
@item @code{c2\mf c\sfz}
@tab dynamics
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
c2\mf c\sfz
@end lilypond
@item @code{a\< a a\!}
@tab crescendo
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Score.timing = ##f
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\set Staff.autoBeaming = ##f
@item @code{a\> a a\!}
@tab decrescendo
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Score.timing = ##f
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\set Staff.autoBeaming = ##f
@item @code{< >}
@tab chord
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
<c e>
@end lilypond
@item @code{\partial 8}
@tab pickup / upbeat
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\partial 8
f8 c2 d e
@end lilypond
@item @code{\times 2/3 @{f g a@}}
@tab triplets
@tab
-@lilypond[relative=1,fragment]
+@lilypond[relative=1]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\times 2/3 { f8 g a }
@end lilypond
@item @code{\grace}
@tab grace notes
@tab
-@lilypond[relative=2,fragment]
+@lilypond[relative=2]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\context Voice { \grace b16 c4 }
@end lilypond
@item @code{\new Lyrics}
@tab printing lyrics
@tab
-@lilypond[fragment]
+@lilypond[relative=1]
\new Lyrics \lyricmode { twinkle }
@end lilypond
@item @code{twin -- kle}
@tab lyric hyphen
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
<<
{ g'1 g }
@item @code{\chordmode @{ c:dim f:maj7 @}}
@tab chords
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\chordmode { c:dim f:maj7 }
@end lilypond
@item @code{\context ChordNames}
@tab printing chord names
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\chords { c:dim f:maj7 }
@end lilypond
@item @code{<<@{e f@} \\ @{c d@}>>}
@tab polyphony
@tab
-@lilypond[fragment,relative=2]
+@lilypond[relative=2]
\set Staff.implicitTimeSignatureVisibility = #all-invisible
\context Staff <<{e f} \\ {c d}>>
@end lilypond
describe chords. More information on different input modes can be
found at @ref{Input modes}.
-@lilypond[verbatim,quote,ragged-right,relative=1]
+@lilypond[verbatim,quote,ragged-right]
\chordmode { c1 g a g c }
@end lilypond
Major triads are entered by including the root and an
optional duration:
-@lilypond[verbatim,quote,relative=1,ragged-right]
+@lilypond[verbatim,quote,ragged-right]
\chordmode { c2 f4 g }
@end lilypond
Minor, augmented, and diminished triads are entered by placing
@code{:} and a quality modifier string after the duration:
-@lilypond[verbatim,quote,ragged-right,relative=1]
+@lilypond[verbatim,quote,ragged-right]
\chordmode { c2:m f4:aug g:dim }
@end lilypond
Seventh chords can be created:
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+@lilypond[quote,ragged-right,verbatim]
\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
@end lilypond
added. The largest possible value for the extent is 13. Any
larger value is interpreted as 13.
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+@lilypond[quote,ragged-right,verbatim]
\chordmode {
c1:2 c:3 c:4 c:5
c1:6 c:7 c:8 c:9
unaltered 13, the 11 is removed from a @code{:13} chord (unless it
is added explicitly).
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+@lilypond[quote,ragged-right,verbatim]
\chordmode {
c1:13 c:13.11 c:m13
}
step added to a chord is the minor or flatted seventh, rather than
the major seventh.
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim]
\chordmode {
c1:5.6 c:3.7.8 c:3.6.13
}
Added steps can be as high as desired.
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim]
\chordmode {
c4:5.15 c:5.20 c:5.25 c:5.30
}
sign to the number. To alter a step that is automatically included
as part of the basic chord structure, add it as an altered step.
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim]
\chordmode {
c1:7+ c:5+.3- c:3-.5-.7-
}
removed are separated by @code{.} following the
initial @code{^}.
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim]
\chordmode {
c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
}
chord. @code{sus} is equivalent to @code{^3}; @code{sus4} is
equivalent to @code{.4^3}.
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,ragged-right,verbatim]
\chordmode {
c1:sus c:sus2 c:sus4 c:5.4^3
}
chord) and added bass notes can be specified by appending
@code{/}@var{pitch} to the chord.
-@lilypond[quote,ragged-right,fragment,verbatim, relative=2]
+@lilypond[quote,ragged-right,verbatim]
\chordmode {
c1 c/g c/f
}
A bass note that is part of the chord can be added, instead of
moved as part of an inversion, by using @code{/+}@var{pitch}.
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,ragged-right,verbatim]
\chordmode {
c1 c/g c/+g
}
simply produces the augmented chord, since @code{5+} is
interpreted last.
-@lilypond[quote,ragged-right,verbatim,fragment]
+@lilypond[quote,ragged-right,verbatim]
\chordmode { c1:5.5-.5+ }
@end lilypond
note. The first inversion requires changing the root of
the chord.
-@lilypond[quote,ragged-right,verbatim,fragment]
+@lilypond[quote,ragged-right,verbatim]
\chordmode {
c'1: c':/g e:6-3-^5 e:m6-^5
}
Chord names are printed in the @code{ChordNames} context:
-@lilypond[verbatim,quote,relative=1,ragged-right]
+@lilypond[verbatim,quote,ragged-right]
\new ChordNames {
\chordmode {
c2 f4. g8
@code{\chords @{ ... @}} is a shortcut notation for
@code{\new ChordNames @{ \chordmode @{ ... @} @}}.
-@lilypond[verbatim,quote,ragged-right, relative=1]
+@lilypond[verbatim,quote,ragged-right]
\chords {
c2 f4.:m g8:maj7
}
@end lilypond
-@lilypond[verbatim,quote,ragged-right, relative=1]
+@lilypond[verbatim,quote,ragged-right]
\new ChordNames {
\chordmode {
c2 f4.:m g8:maj7
without any @var{m} suffix. This can be obtained by setting the
@code{chordNameLowercaseMinor} property:
-@lilypond[verbatim,quote,ragged-right, relative=1]
+@lilypond[verbatim,quote,ragged-right]
\chords {
\set chordNameLowercaseMinor = ##t
c2 d:m e:m f
LilyPond has support for figured bass, also called thorough bass
or basso continuo:
-@lilypond[quote,ragged-right,verbatim,fragment]
+@lilypond[quote,ragged-right,verbatim]
<<
\new Voice { \clef bass dis4 c d ais g fis}
\new FiguredBass {
In figure mode, a group of bass figures is delimited by
@code{<} and @code{>}. The duration is entered after the @code{>}.
-@lilypond[verbatim,quote,ragged-right,fragment]
+@lilypond[verbatim,quote,ragged-right]
\new FiguredBass {
\figuremode {
<6 4>2
Accidentals (including naturals) can be added to figures:
-@lilypond[verbatim,quote,ragged-right,fragment]
+@lilypond[verbatim,quote,ragged-right]
\figures {
<7! 6+ 4-> <5++> <3-->
}
Augmented and diminished steps can be indicated:
-@lilypond[verbatim,quote,ragged-right,fragment]
+@lilypond[verbatim,quote,ragged-right]
\figures {
<6\+ 5/> <7/>
}
A backward slash through a figure (typically used for raised
sixth steps) can be created:
-@lilypond[verbatim,quote,ragged-right,fragment]
+@lilypond[verbatim,quote,ragged-right]
\figures {
<6> <6\\>
}
Vertical spaces and brackets can be included in figures:
-@lilypond[verbatim,quote,ragged-right,fragment]
+@lilypond[verbatim,quote,ragged-right]
\figures {
<[12 _!] 8 [6 4]>
}
Any text markup can be inserted as a figure:
-@lilypond[verbatim,quote,ragged-right,fragment]
+@lilypond[verbatim,quote,ragged-right]
\figures {
<\markup { \tiny \number 6 \super (1) } 5>
}
Continuation lines can be used to indicate repeated figures:
-@lilypond[verbatim,quote,ragged-right,fragment]
+@lilypond[verbatim,quote,ragged-right]
<<
{
\clef bass
In this case, the extender lines replace existing figures,
unless the continuation lines have been explicitly terminated.
-@lilypond[verbatim,quote,ragged-right,fragment]
+@lilypond[verbatim,quote,ragged-right]
<<
\figures {
\bassFigureExtendersOn
When displayed in a @code{FiguredBass} context, the vertical location
of the figures is independent of the notes on the staff.
-@lilypond[verbatim,ragged-right,fragment,quote]
+@lilypond[verbatim,ragged-right,quote]
<<
\relative c'' {
c4 c'8 r8 c,4 c'
directly. In this case, the vertical position of the
figures is adjusted automatically.
-@lilypond[verbatim,ragged-right,fragment,quote]
+@lilypond[verbatim,ragged-right,quote]
<<
\new Staff = myStaff
\figuremode {
When added in a @code{Staff} context, figured bass can be displayed above
or below the staff.
-@lilypond[verbatim,ragged-right,fragment,quote]
+@lilypond[verbatim,ragged-right,quote]
<<
\new Staff = myStaff
\figuremode {
safest to use the same rhythm in the figure line as in
the bass line.
-@lilypond[verbatim,ragged-right,fragment,quote]
+@lilypond[verbatim,ragged-right,quote]
<<
{
\clef bass
When using extender lines, adjacent figures with the same number in
a different figure location can cause the figure positions to invert.
-@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+@lilypond[verbatim,ragged-right,quote,relative=1]
<<
- { fis4 g g, e' }
+ { fis4 g g, e' }
\figures {
\bassFigureExtendersOn
<6 5>4 <5\! 4> < 5 _!> <6>
To avoid this problem, simply turn on extenders after the figure that
begins the extender line and turn them off at the end of the extender line.
-@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+@lilypond[verbatim,ragged-right,quote,relative=1]
<<
- { fis4 g g, e' }
+ { fis4 g g, e' }
\figures {
<6 5>4 <5 4>
\bassFigureExtendersOn
@c due to crazy intervals of banjo music, absolute pitch is recommended
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,ragged-right,verbatim]
\new TabStaff <<
\set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
\set TabStaff.stringTunings = #banjo-open-g-tuning
it skips all events, including tempo and instrument changes. You have
been warned.
-@lilypond[quote,fragment,ragged-right,verbatim]
-\relative c'' {
- c8 d
- \set Score.skipTypesetting = ##t
- e8 e e e e e e e
- \set Score.skipTypesetting = ##f
- c8 d b bes a g c2
-}
+@lilypond[quote,relative=2,ragged-right,verbatim]
+c8 d
+\set Score.skipTypesetting = ##t
+e8 e e e e e e e
+\set Score.skipTypesetting = ##f
+c8 d b bes a g c2
@end lilypond
In polyphonic music, @code{Score.skipTypesetting} will affect all
However, the default @code{\drummode} does not include the
@code{Parenthesis_engraver} plugin which allows this.
-@lilypond[quote,ragged-right,verbatim,fragment]
+@lilypond[quote,ragged-right,verbatim]
\new DrumStaff \with {
\consists "Parenthesis_engraver"
}
engraved in the octave below middle C.
@c don't use c' here.
-@lilypond[verbatim,quote,fragment]
-\clef bass
-c d e f
-g a b c
-d e f g
+@lilypond[verbatim,quote]
+{
+ \clef bass
+ c4 d e f
+ g4 a b c
+ d4 e f g
+}
@end lilypond
@cindex octave changing mark
pitch by one octave; each@tie{}@code{,} lowers the pitch by an
octave.
-@lilypond[verbatim,quote,fragment]
-\clef treble
-c' c'' e' g
-d'' d' d c
-\clef bass
-c, c,, e, g
-d,, d, d c
+@lilypond[verbatim,quote]
+{
+ \clef treble
+ c'4 c'' e' g
+ d''4 d' d c
+ \clef bass
+ c,4 c,, e, g
+ d,,4 d, d c
+}
@end lilypond
Western classical music, also referred to as
@notation{Common Practice Period}. However, alternate
pitches and tuning systems are also supported: see
-@ref{Non-Western notation and tuning systems}.
+@ref{Common notation for non-Western music}.
@seealso
@rglos{Common Practice Period}.
Notation Reference:
-@ref{Non-Western notation and tuning systems}.
+@ref{Common notation for non-Western music}.
Snippets:
@rlsr{Pitches}.
eliminate collisions.
@end itemize
-
-@subsubheading Modifying spacing alists for @code{\paper} variables
-
-To set or modify a single key for a dimension variable, use a
-nested declaration:
+Specific methods for modifying alists are discussed in
+@ref{Modifying alists}. The flexible vertical @code{\paper}
+dimensions variables can only be set within a @code{\paper} block.
+The following example demonstrates the two ways these alists can
+be modified:
@example
\paper @{
- system-system-spacing #'space = #10
-@}
-@end example
-
-This will update the specified key without altering any other keys
-already set for the same variable. To completely re-define a
-variable with one declaration, define it as an alist:
+ % updating one key-value individually
+ system-system-spacing #'space = #8
-@example
-\paper @{
- system-system-spacing =
+ % completely re-defining a variable
+ score-system-spacing =
#'((padding . 1)
(space . 12)
- (minimum-distance . 8)
+ (minimum-distance . 6)
(stretchability . 12))
@}
@end example
-However, note that any keys not listed in an alist definition will
-still be overwritten; they will be reset to zero (except
-@code{stretchability}, which takes the value of @code{space}).
-Thus the following two declarations are equivalent:
-
-@example
-system-system-spacing =
- #'((space . 10))
-
-system-system-spacing =
- #'((padding . 0)
- (space . 10)
- (minimum-distance . 0)
- (stretchability . 10))
-@end example
-
-One possibly unintended consequence of the above example is the
-removal of the default values for @code{padding} and
-@code{minimum-distance}. Defining a variable as an alist (of any
-size) will always reset all its default key-values. Default
-settings for the flexible vertical @code{\paper} dimensions are
-defined in @file{ly/paper-defaults-init.ly}.
+The initialized default settings for these variables are defined
+in @file{ly/paper-defaults-init.ly}.
@subsubheading Flexible vertical dimension @code{\paper} variables
Line breaks can only occur if there is a @q{proper} bar line. A note
which is hanging over a bar line is not proper, such as
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
c4 c2 << c2 {s4 \break } >> % this does nothing
c2 c4 | % a break here would work
c4 c2 c4 ~ \break % as does this break
with the lower @code{outside-staff-priority} will be placed closer to
the staff.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
c4_"Text"\pp
r2.
\once \override TextScript #'outside-staff-priority = #1
previously-positioned grobs can be controlled with
@code{outside-staff-padding}.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
\once \override TextScript #'outside-staff-padding = #0
a'^"This text is placed very close to the note"
\once \override TextScript #'outside-staff-padding = #3
causes an object to be offset vertically so that such a situation
doesn't occur.
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
% the markup is too close to the following note
c4^"Text"
c4
8th notes; the eighth note is followed by 1 note head width (NHW).
The quarter note is followed by 2 NHW, the half by 3 NHW, etc.
-@lilypond[quote,fragment,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
c2 c4. c8 c4. c8 c4. c8 c8
c8 c4 c4 c4
@end lilypond
the common shortest note. So if we were to add only a few 16th notes
to the example above, they would be followed by half a NHW:
-@lilypond[quote,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
@end lilypond
In the following example, the time signature change introduces a new
section, and hence the 16ths notes are spaced wider.
-@lilypond[relative,fragment,verbatim,quote]
+@lilypond[relative=1,verbatim,quote]
\time 2/4
c4 c8 c
c8 c c4 c16[ c c8] c4
When @code{strict-note-spacing} is set, notes are spaced without
regard for clefs, bar lines, and grace notes,
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim]
\override Score.SpacingSpanner #'strict-note-spacing = ##t
\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
@end lilypond
@itemize
@item
-Most styles of vocal music use written text as lyrics. An introduction
-to this notation is to be found in @rlearning{Setting simple songs}.
+Most styles of vocal music use written text as lyrics. An
+introduction to this notation is to be found in
+@rlearning{Setting simple songs}.
@item
-Vocal music is likely to require the use of @code{markup} mode, either
-for lyrics of for other text elements (character's names, etc.).
-This syntax is described in @ref{Text markup introduction}.
+Vocal music is likely to require the use of @code{markup} mode,
+either for lyrics or for other text elements (characters' names,
+etc.) This syntax is described in @ref{Text markup introduction}.
@item
-@notation{Ambitus} may be added at the beginning of vocal staves, as explained
-in @ref{Ambitus}.
+@notation{Ambitus} may be added at the beginning of vocal staves,
+as explained in @ref{Ambitus}.
+
+@item
+Dynamic markings by default are placed below the staff, but in
+choral music they are usually placed above the staff in order to
+avoid the lyrics, as explained in @ref{Score layouts for choral}.
@end itemize
Music Glossary:
@rglos{ambitus}.
+Learning Manual:
+@rlearning{Setting simple songs}.
+
+Notation Reference:
+@ref{Text markup introduction},
+@ref{Ambitus},
+@ref{Score layouts for choral}.
+
Snippets:
@rlsr{Vocal music}.
@code{\addlyrics} sections:
-@lilypond[ragged-right,verbatim,fragment,quote]
-\time 3/4
-\relative c' { c2 e4 g2. }
-\addlyrics { play the game }
-\addlyrics { speel het spel }
-\addlyrics { joue le jeu }
+@lilypond[ragged-right,verbatim,quote]
+{
+ \time 3/4
+ \relative c' { c2 e4 g2. }
+ \addlyrics { play the game }
+ \addlyrics { speel het spel }
+ \addlyrics { joue le jeu }
+}
@end lilypond
The command @code{\addlyrics} cannot handle polyphonic settings.
sure to have a font (like DejaVuLGC) installed that includes this
glyph.
-@lilypond[quote,ragged-right,fragment,verbatim]
-\time 3/4
-\relative c' { c2 e4 g2 e4 }
-\addlyrics { gran- de_a- mi- go }
-\addlyrics { pu- "ro y ho-" nes- to }
-\addlyrics { pu- ro~y~ho- nes- to }
+@lilypond[quote,ragged-right,verbatim]
+{
+ \time 3/4
+ \relative c' { c2 e4 g2 e4 }
+ \addlyrics { gran- de_a- mi- go }
+ \addlyrics { pu- "ro y ho-" nes- to }
+ \addlyrics { pu- ro~y~ho- nes- to }
+}
@end lilypond
To increase the spacing between lyrics, set the @code{minimum-distance}
property of @code{LyricSpace}.
-@lilypond[relative,verbatim,fragment,quote,ragged-right]
+@lilypond[relative=1,verbatim,quote,ragged-right]
{
c c c c
\override Lyrics.LyricSpace #'minimum-distance = #1.0
Stanza numbers can be added by setting @code{stanza}, e.g.,
-@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
+@lilypond[quote,ragged-right,verbatim,relative=2]
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
the line, just like instrument names. They are created by setting
@code{vocalName}. A short version may be entered as @code{shortVocalName}.
-@lilypond[fragment,ragged-right,quote,verbatim,relative=2]
+@lilypond[ragged-right,quote,verbatim,relative=2]
\new Voice {
\time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
that are relevant to traditions outside the Western tradition.
@menu
-* Non-Western notation and tuning systems::
+* Common notation for non-Western music::
* Arabic music::
* Turkish classical music::
@end menu
-@node Non-Western notation and tuning systems
-@subsection Non-Western notation and tuning systems
+@node Common notation for non-Western music
+@subsection Common notation for non-Western music
-@c TODO: adapt & expand. -vv
+This section discusses how to enter and print music scores
+that do not belong to the Western classical tradition,
+also referred to as @notation{Common Practice Period}.
-Many non-Western musics (and some Western folk and
-traditional musics) employ alternative or extended tuning
-systems that do not fit readily into standard classical
-notation.
-
-In some cases standard notation is still used, with the
-pitch differences being implicit. For example, Arabic
-music is notated with standard semitone and quarter-tone
-accidentals, with the precise pitch alterations being
-determined by context. Others require extended or unique
-notations.
-
-@notation{Turkish classical music}, or Ottoman music,
-employs melodic forms known as @notation{makamlar}, whose
-intervals are based on 1/9 divisions of the whole tone.
-From a modern notational point of view, it is convenient
-to use the standard Western staff notes (c, d, e, ...)
-with special accidentals unique to Turkish music. These
-accidentals are defined in @file{makam.ly} (to locate this
-file on your system, see
-@rlearning{Other sources of information}). The following
-table gives their names, the accidental suffix that must
-be added to notes, and their pitch alteration as a
-fraction of one whole tone.
+@menu
+* Extending notation and tuning systems::
+@end menu
-@c TODO: can we include the actual accidentals in this table?
-@quotation
-@multitable {@b{büyük mücenneb (sharp)}} {@b{suffix}} {@b{pitch alteration}}
-@headitem Accidental name
- @tab suffix @tab pitch alteration
-@item büyük mücenneb (sharp)
- @tab -bm @tab +8/9
-@item kücük mücenneb (sharp)
- @tab -k @tab +5/9
-@item bakiye (sharp)
- @tab -b @tab +4/9
-@item koma (sharp)
- @tab -c @tab +1/9
+@node Extending notation and tuning systems
+@unnumberedsubsubsec Extending notation and tuning systems
-@item koma (flat)
- @tab -fc @tab -1/9
-@item bakiye (flat)
- @tab -fb @tab -4/9
-@item kücük mücenneb (flat)
- @tab -fk @tab -5/9
-@item büyük mücenneb (flat)
- @tab -fbm @tab -8/9
-@end multitable
-@end quotation
+Standard classical notation (also known as
+@notation{Common Practice Period} notation) is commonly
+used in all sorts of music, not limited to @q{classical}
+Western music. This notation is discussed in
+@ref{Writing pitches}, and the various note names
+that may be used are explained in
+@ref{Note names in other languages}.
-For further information on Turkish classical music and
-makamlar, see @ref{Turkish classical music}.
+However, many types of non-Western music (and
+some types of Western folk and traditional music) employ
+alternative or extended tuning systems that do not fit
+readily into standard classical notation.
+In some cases standard notation is still used, with the
+pitch differences being implicit. For example,
+@notation{Arabic music} is notated with standard
+semitone and quarter-tone accidentals, with the precise
+pitch alterations being determined by context. Italian
+note names are typically used, while the init file
+@file{arabic.ly} provides a suitable set of macros
+and definitions extending the standard
+notation. For more details, see
+@ref{Arabic music}.
+
+@cindex tuning, non-Western
+
+Other types of music require extended or unique notations.
+@notation{Turkish classical music} or Ottoman music, for
+example, employs melodic forms known as @notation{makamlar},
+whose intervals are based on 1/9 divisions of the whole tone.
+Standard Western staff notes are still used, but with special
+accidentals unique to Turkish music, that are defined in the file
+@file{makam.ly}. For further information on Turkish classical
+music and makamlar, see
+@ref{Turkish classical music}.
+
+To locate init files such as @file{arabic.ly} or @file{makam.ly}
+on your system, see
+@rlearning{Other sources of information}.
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{makam-example.ly}
+@seealso
+Music Glossary:
+@rglos{Common Practice Period},
+@rglos{makamlar}.
+
+Learning Manual:
+@rlearning{Other sources of information}.
+
+Notation Reference:
+@ref{Writing pitches},
+@ref{Note names in other languages},
+@ref{Arabic music},
+@ref{Turkish classical music}.
+
@node Arabic music
@subsection Arabic music
@itemize
@item Note names and accidentals (including quarter tones) can be
-tailored as discussed in @ref{Non-Western notation and tuning systems}.
+tailored as discussed in @ref{Common notation for non-Western music}.
@item Additional key signatures can also be tailored as described
in @ref{Key signature}.
@seealso
Notation Reference:
-@ref{Non-Western notation and tuning systems},
+@ref{Common notation for non-Western music},
@ref{Key signature},
@ref{Manual beams}.
not suitable for the purpose of music writing, so they are not
used. English note names are not very familiar in Arabic music
education, so Italian or Solfege note names (@code{do, re, mi, fa,
-sol, la, si}) are used instead. Modifiers (accidentals) can also
-be used, as discussed in
-@ref{Non-Western notation and tuning systems}.
+sol, la, si}) are used instead; modifiers (accidentals) can also
+be used. Italian note names and accidentals are explained in
+@ref{Note names in other languages}; the use of standard
+Western notation to notate non-Western music is discussed in
+@ref{Common notation for non-Western music}.
For example, this is how the Arabic @notation{rast} scale can be
notated:
@seealso
Notation Reference:
-@ref{Non-Western notation and tuning systems}.
+@ref{Note names in other languages},
+@ref{Common notation for non-Western music}.
Snippets:
@rlsr{World music}.
@seealso
+Music Glossary:
+@rglos{maqam},
+@rglos{bayati},
+@rglos{rast},
+@rglos{sikah},
+@rglos{iraq},
+@rglos{kurd}.
+
Notation Reference:
@ref{Key signature}.
may lead to an automatic grouping of notes that is quite different
from existing typeset music, where notes may not be grouped on the
beat, but in a manner that is difficult to match by adjusting
-automatic beaming. You can override this by switching off
-automatic beaming and beaming the notes manually. Where matching
-existing typeset music is not an issue, you may still want to
-adjust the beaming behaviour and/or use compound time signatures.
+automatic beaming. The alternative is to switch off automatic
+beaming and beam the notes manually. Even if a match to existing
+typeset music is not required, it may still be desirable to adjust
+the automatic beaming behaviour and/or use compound time signatures.
@snippets
@seealso
+Music Glossary:
+@rglos{semai},
+@rglos{taqasim}.
+
Notation Reference:
@ref{Manual beams},
@ref{Automatic beams},
@cindex Arabic music template
@cindex Template Arabic music
-Here is a template that also uses the start of a Turkish Semai
+Here is a template that also uses the start of a Turkish @notation{Semai}
that is familiar in Arabic music education in order to illustrate
some of the peculiarities of Arabic music notation, such as medium
intervals and unusual modes that are discussed in this section.
elsewhere:
@itemize
-@item Note names and accidentals are provided in
-@ref{Non-Western notation and tuning systems}.
+@item Special note names and accidentals are explained in
+@ref{Common notation for non-Western music}.
@end itemize
use the standard Western staff notes (c, d, e, ...) with
special accidentals that raise or lower notes by intervals
of 1/9, 4/9, 5/9 and 8/9 of a tone. These accidentals are
-defined in the file @file{makam.ly} (to locate this file on
-your system, see @rlearning{Other sources of information}).
-A more detailed description is provided in
-@ref{Non-Western notation and tuning systems}.
+defined in the file @file{makam.ly}.
+The following table lists:
+@itemize
+@item
+the name of these special accidentals,
+@item
+the accidental suffix that must be added to notes,
+@item
+and their pitch alteration as a
+fraction of one whole tone.
+@end itemize
+
+@quotation
+@multitable {@b{büyük mücenneb (sharp)}} {@b{suffix}} {@b{pitch alteration}}
+@headitem Accidental name
+ @tab suffix @tab pitch alteration
+
+@item büyük mücenneb (sharp)
+ @tab -bm @tab +8/9
+@item kücük mücenneb (sharp)
+ @tab -k @tab +5/9
+@item bakiye (sharp)
+ @tab -b @tab +4/9
+@item koma (sharp)
+ @tab -c @tab +1/9
+
+@item koma (flat)
+ @tab -fc @tab -1/9
+@item bakiye (flat)
+ @tab -fb @tab -4/9
+@item kücük mücenneb (flat)
+ @tab -fk @tab -5/9
+@item büyük mücenneb (flat)
+ @tab -fbm @tab -8/9
+@end multitable
+@end quotation
+
+For a more general explanation of non-Western music notation, see
+@ref{Common notation for non-Western music}.
+
+@seealso
+Music Glossary:
+@rglos{makam},
+@rglos{makamlar}.
+
+Notation Reference:
+@ref{Common notation for non-Western music}.
char *p = start + n;
while (--p >= start)
{
- *p = tolower (*p); /* a macro on some compilers */
+ *p = (char)tolower (*p); /* a macro on some compilers */
}
return start;
}
char *p = start + n;
while (--p >= start)
{
- *p = toupper (*p); /* a macro on some compilers */
+ *p = (char)toupper (*p); /* a macro on some compilers */
}
return start;
}
Rational::to_double () const
{
if (sign_ == -1 || sign_ == 1 || sign_ == 0)
- return ((double)sign_) * num_ / den_;
+ return (double)sign_ * (double)num_ / (double)den_;
if (sign_ == -2)
return -HUGE_VAL;
else if (sign_ == 2)
int
Rational::to_int () const
{
- return (int) num () / den ();
+ return (int)(num () / den ());
}
int
String_convert::bin2hex (Byte bin_char)
{
string str;
- str += to_string ((char) nibble2hex_byte (bin_char >> 4));
+ str += to_string ((char) nibble2hex_byte ((Byte)(bin_char >> 4)));
str += to_string ((char) nibble2hex_byte (bin_char++));
return str;
}
Byte const *byte = (Byte const*)bin_string.data ();
for (ssize i = 0; i < bin_string.length (); i++)
{
- str += to_string ((char)nibble2hex_byte (*byte >> 4));
+ str += to_string ((char)nibble2hex_byte ((Byte)(*byte >> 4)));
str += to_string ((char)nibble2hex_byte (*byte++));
}
return str;
String_convert::nibble2hex_byte (Byte byte)
{
if ((byte & 0x0f) <= 9)
- return (byte & 0x0f) + '0';
+ return (Byte)((byte & 0x0f) + '0');
else
- return (byte & 0x0f) - 10 + 'a';
+ return (Byte)((byte & 0x0f) - 10 + 'a');
}
/**
Convert an integer to a string
}
bool
-Grob::pure_is_visible (int start, int end) const
+Grob::pure_is_visible (int /* start */, int /* end */) const
{
return true;
}
#include "music-sequence.hh"
#include "warn.hh"
-typedef enum Outlet_type
+enum Outlet_type
{
CONTEXT_ONE, CONTEXT_TWO,
CONTEXT_SHARED, CONTEXT_SOLO,
#include "translator.icc"
-typedef enum Pedal_type {SOSTENUTO, SUSTAIN, UNA_CORDA, NUM_PEDAL_TYPES};
+enum Pedal_type {SOSTENUTO, SUSTAIN, UNA_CORDA, NUM_PEDAL_TYPES};
/**
perform Piano pedals
characters_.clear ();
int c;
while ((c = fgetc (stdin)) != EOF)
- characters_.push_back (c);
+ characters_.push_back ((char)c);
}
/*