laclavedefa.org / La web dedicada al contrabajo y al bajo en el jazz |
Index - Afinación - Didáctica - Blues - Lecciones - Instrumentos - Tutorial - Enlaces - Misceláneas - Acerca de |
Información recuperada del viejo sitio desde archive.org a modo expositivo. |
(cc) 2005 David Asorey Álvarez
Este documento puede difundirse libremente bajo los términos de la licencia Creative Commons.
Lilypond es un programa para crear partituras diferente a otros programas con la misma finalidad. Las notas y otros símbolos musicales se escriben en un archivo de texto plano, y después se procesa con Lilypond este archivo. El resultado es un archivo PDF (también puede generar Postscript y ficheros MIDI) con una calidad muy buena.
Presentamos brevemente las características de Lilypond. En la página web del programa, http://lilypond.org podemos encontrar una documentación muy completa, en inglés. También hay un tutorial que presenta las principales características del programa, así como su instalación.
No vamos a repetir todo lo que dice el tutorial, pero continuamente haremos referencias a él y al resto de la documentación. Es conveniente tener una copia local de la documentación o estar conectados a Internet para consultar estas referencias.
Lilypond no es un secuenciador, aunque puede generar archivos MIDI. Lo único que hace, y lo hace realmente bien, es crear partituras excelentes (en lo que a la presentación se refiere, la calidad de la música depende de quién la haya escrito :-)
Es un programa que se maneja en línea de comandos (usuarios de Windows, leer nota). Supongamos que hemos escrito nuestra pieza de música en un fichero que se llama basico.ly. Para generar la partitura, y opcionalmente, un archivo MIDI, ejecutaríamos el siguiente comando: lilypond basico.ly
Esto sería lo que veríamos:
$ lilypond basico.ly GNU LilyPond 2.6.3.1 Processing `basico.ly' Analizando... Interpreting music... Interpreting music... [1] Preprocessing graphical objects... Calculating line breaks... [2] Salida MIDI a `basico.midi'... Track... Calculating page breaks... Layout output to `basico.ps'... Converting to `basico.pdf'... $
Genial. Lilypond nos ha generado un fichero PDF con nuestra partitura y un archivo MIDI para escucharla.
basico.ly: LY PNG MIDI PDF
Comentábamos que Lilypond es una herramienta que se maneja en línea de comandos. Existe una versión para Windows, pero está algo limitada: por defecto sólo produce PDF y MIDI, y no hay una forma sencilla de generar PNG.
En Windows se instala y utiliza Lilypond de la siguiente manera:
Si se utiliza un sistema operativo tipo UNIX (como puede ser Linux) tendremos acceso a todos los comandos.
¿Y qué hay en el fichero basico.ly? Éste sería el contenido del fichero:
\version "2.6.3" \header { title = "Ejemplo básico" subtitle = "Lo más sencillo posible" composer = "David Asorey Álvarez" } \score { \new Staff { c d e f } \midi { } \layout { } } \paper { }
Ya podemos decir cómo es el formato que utiliza Lilypond. Hay cuatro elementos o secciones (no siempre hay que poner todas) en un fichero Lilypond:
Resumiendo: para hacer partituras con el programa Lilypond, hay que escribir en un fichero de texto una serie de órdenes o comandos, invocar al programa lilypond y así obtenemos nuestra partitura lista para imprimir (en PDF) o para escuchar (en MIDI).
Puede parecer arcaico a estas alturas del siglo XXI el trabajar de esta forma: escribir un texto, llamar a un programa en línea de comandos, comprobar que la partitura sale bien, etc.
Aparentemente es lento y enrevesado, además hay que aprenderse la sintaxis de Lilypond para escribir las partituras.
Veamos cuál(es) es(son) la(s) alternativa(s) para escribir una partitura y que quede bien. Si somos lo sufientemente diestros con un teclado, la solución es arrancar el secuenciador, grabar con el teclado la música y cuantizar o retocar el archivo MIDI resultante. Este archivo MIDI lo importamos en nuestro editor de partituras (si el secuenciador no trae ya uno incorporado) y ajustamos lo que queramos.
Si no sabemos tocar el teclado, la alternativa es ir "pintando" las notas con el ratón en el editor de partituras. Combinando ratón y atajos de teclado puede lograrse una buena velocidad.
La mayor parte de los músicos que utilizan Lilypond han usado anteriormente editores de partituras del tipo "visual", pero resaltan que con Lilypond son más productivos. Se escribe mucho más rápido utilizando el teclado del ordenador que con el ratón, y las operaciones de cortar y pegar son inmediatas. Por otra parte, la calidad de las partituras escritas con Lilypond es muy buena, superior en muchos casos a las que se obtienen con programas comerciales como Finale, Sibelius o similares.
No vamos a insistir más en las bondades de Lilypond. En su página web hay un documento llamado Why Lilypond? en el que explican con mucho detalle todas las ventajas de este programa.
Pasemos ahora a ver cómo se escribe un fichero .ly
Es importante poner la versión de Lilypond que estamos utilizando, ya que las versiones más recientes pueden incorporar cambios en la sintaxis. Lilyond incorpora un programa auxiliar llamado "convert-ly" que actualiza nuestros documentos .ly a la nueva versión automáticamente.
En este tutorial se ha utilizado la versión 2.6.3.1 de Lilypond.
En este bloque podemos introducir el encabezado de la partitura: título, autor o compositor, letrista, derechos de autor, etc.
La sintaxis es como se vio en el ejemplo. No todos los campos son obligatorios.
title = "Ejemplo básico" subtitle = "Lo más sencillo posible" composer = "David Asorey Álvarez"
En la documentación se explican todos los posibles encabezados:
http://lilypond.org/doc/v2.6/Documentation/user/out-www/lilypond/Creating-titles.html
Dejamos la sección \score para el final, por ser la más compleja y saltamos al bloque \paper
En este bloque se incluyen parámetros para configurar la impresión de la partitura: números de página, márgenes, etc. Los valores por defecto (papel DinA4 y márgenes automáticos) suelen funcionar bien, así que no suele ser necesario incluir nada en esta sección. De hecho, la mayoría de las veces, ni se incluye. Como siempre, en la documentación están todos los posibles parámetros:
http://lilypond.org/doc/v2.6/Documentation/user/out-www/lilypond/Creating-titles.html
En esta sección es donde más tiempo pasaremos. Recomendamos encarecidamente leer, o al menos, ojear el tutorial "oficial" de Lilypond. A partir de ahora supondremos que se ha leído al menos las primeras secciones.
Lo primero que tenemos que decidir es qué tipo de partitura queremos: un sólo pentagrama (con o sin múltimples voces en él) o varios pentragramas (para un conjunto instrumental, orquesta, coro o similar).
También podemos incorporar letras (para música vocal) y cifrados de acordes (típicos de música pop o jazz).
Comencemos con lo más sencillo: una sencilla línea melódica, monofónica.
En este caso nos podemos saltar todo lo que hemos visto hasta ahora (secciones \header, \score y \paper), escribiendo directamente las notas que queremos (encerradas entre llaves). Recordamos que c es el Do que está una octava por debajo del Do central.
Este sería nuestro fichero con un único pentagrama y una sóla voz:
% lineacromatica.ly \version "2.6.3" { \clef bass c cis d dis e f fis g gis a ais b c'1 \clef treble c'4 cis' d' dis' e' f' fis' g' gis' a' ais' b' c'' b' bes' a' aes' g' ges' f' e' ees' d' des' c'1 \clef bass c'4 b bes a aes g ges f e ees d des c1 }
lineacromatica.ly: LY PNG PDF
Como no hemos incluído el bloque \midi, no se genera un fichero MIDI.
Repasemos esta pequeña partitura: para establecer la clave, usamos lo que en Lilypond llaman un "comando". En este caso es el comando \clef. Puede ser "bass", "treble", "alto", etc.
Las notas se escriben en inglés (c d e f g a b), los sostenidos con 'is' y los bemoles con 'es'. Se puede configurar el programa para que utilice otros nombres, por ejemplo, los nombres en castellano de las notas. No es recomendable porque es más lento escribir "do" que "c". Además, si se distribuyen las partituras en formato .ly, los usuarios esperarán la notación "inglesa", más convencional.
Para subir una octava, se pone un apóstrofo (') -es el símbolo que está a la derecha del cero en un teclado en castellano- detrás de la nota. Para bajarla, se pone una coma (,). Para especificar la duración, se pone un número:
1 -> redonda, 2 -> blanca, 4 -> negra, 8 -> corchea, ...
Si no se especifica una duración, se toma la de la nota anterior. Por defecto, la primera nota es una negra si no se indica lo contrario.
A partir de ahora, los ejemplos van a tener comentarios: un símbolo % en un fichero .ly hace que el resto de la línea sea ignorado por Lilypond. Esto es útil para añadir anotaciones para los lectores humanos del fichero.
Podemos incorporar varias voces en un sólo pentagrama en forma de acordes o como voces independientes.
Para introducir acordes, se escriben las notas que componen el acorde entre < y >, y a continuación la duración del acorde (si es distinta que la nota anterior)
Acordes:% acordessimples.ly \version "2.6.3" { c' <d' f' a'> e' <f' a' c''> <c' g'>1 }
acordessimples.ly: LY PNG PDF
Polifonía:Para introducir varias voces, se utiliza el comando <<
Esta instrucción le dice a Lilypond que debe crear algo múltiples veces. Veremos que el comando << aparecerá también cuando escribamos varios pentagramas a la vez.
Escribimos entre llaves las notas para una voz, un separador (\\) y las notas de la voz inferior.
Para terminar el 'divissi', se utiliza el operador o comando >>
% polifoniasimple.ly \version "2.6.3" { % Introducimos 'divissi' con << << {a'2 b'4 g'} \\ {c' d' e'2 } >> % Cerramos el 'divissi', seguimos con una % nota suelta y un acorde. f'2 <c' e' g'> }
polifoniasimple.ly: LY PNG PDF
Como hemos visto, estas combinaciones se pueden anidar para obtener estructuras más complejas:
% polifoniayacordes.ly \version "2.6.3" { << {a'2 b'4 <c' e' g'>} \\ {c' d' <ais' c' e'>2 } >> f'2 <c' e' g'> }
polifoniayacordes.ly: LY PNG PDF
A continuación mostramos cómo pueden hacerse partituras con varios pentagramas. En este caso es recomendable escribir la sección \score (las secciones \header y la sección \paper son optativas).
% trespentagramas.ly \version "2.6.3" \score { << \new Staff { g' e' a' f' } \new Staff { e' c' f' a } \new Staff { \clef bass c2 f2 } >> }
Hemos omitido las secciones \midi y \layout, también son opcionales. Para crear varios pentagramas, se vuelve a utilizar el operador << ... >> y cada pentagrama se inicia con el comando \new Staff
A continuación, se escriben, entre llaves, las notas para cada pentagrama.
trespentagramas.ly: LY PNG PDF
Hemos visto que la nota c en Lilypond equivale al Do que hay debajo del Do central. Como es muy incómodo escribir muchos apóstrofos cuando estamos escribiendo música que está en un registro medio, se utiliza el comando \relative.
Con este comando, los apóstrofos ya no indican altura absoluta, sino relativa a la nota que establecemos como referencia. Si no se ponen apóstrofos, Lilypond interpreta la altura como la más cercana a la anterior nota.
De nuevo, en la documentación del programa viene muy bien explicado (sección 2.6 Octave entry)
Veamos un ejemplo:
% octaveentry.ly \version "2.6.3" \score { << \new Staff { % Referencia -> Do agudo \relative c'' {e c f a,} } \new Staff { % Referencia -> Do central \relative c' {g' e a f} } \new Staff { \clef bass c2 f2 } >> \midi {} }
octaveentry.ly: LY PNG MIDI PDF
Analicemos brevemente qué ocurre en cada pentagrama. En el primer pentagrama hemos establecido como referencia el c''. Las notas que escribimos a continuación son:
Hay que mantener un poco de orden al escribir los ficheros .ly. A continuación damos algunos consejos:
Cuando editamos un fichero .ly nos encontraremos muchas veces escribiendo lo mismo, o haciendo "corta-pega" muchas veces. Esto puede simplificarse utilizando las variables
¿Qué es una variable?. Es un identificador que usamos en nuestro fichero .ly y al que asignamos un valor, por ejemplo, una secuencia de notas. Más adelante, haciendo referencia a nuestra variable, se "insertará" lo que contiene la variable en el sitio donde la referenciamos.
Lo vemos en el siguiente ejemplo. Tenemos una secuencia de notas repetida (por ejemplo, un fraseo de violín muy "florido"). En vez de escribir todas las notas, las asignamos a una variable llamada "fraseo":
% usovariables.ly \version "2.6.3" % Introducimos un fraseo muy largo en una variable: fraseo = { \relative c'' { c64 d ees f g f ees d c d ees f g f ees d } } % Aquí empieza la pieza: { \key c \minor \time 3/4 \relative c'' { c4 bes aes g2. % Ahora "llamamos" a nuestra variable anteriormente definida \fraseo \fraseo \fraseo c8 b4 c8 ~ c4 } }
usovariables.ly: LY PNG PDF
Por cierto, en este ejemplo hemos introducido algunas novedades: el uso de los comandos \key y \time, así como el uso de ligaduras (con el símbolo ~).
Hasta ahora sólo hemos introducido notas, pero en las partituras a veces necesitamos escribir un cifrado de acordes o la letra si la música tiene parte vocal. Como siempre, hemos de referirnos a la documentación oficial de Lilypond: hay una colección de plantillas y ejemplos muy útiles. Están en la sección Example templates
Tenemos muchas opciones: una sóla voz con una única letra, una voz que repite la melodía con distinta letra, varias voces con la misma letra, varias voces con distinta letra, etc.
En un caso así de fácil la letra para la música se introduce con el comando \addlyrics, y se escribe la letra entre llaves. Hay que poner espacios entre las llaves y las sílabas. Si queremos hacer que una sílaba abarque más de una nota (melisma), escribiremos dos guiones bajos (__). Si queremos separar las sílabas de una palabra, utilizamos dos guiones normales (--)
Como es habitual, usamos el operador << para indicar que se anidan dos o más líneas, en este caso una de música y otra de letras. Veamos un ejemplo:
% letrasimple.ly \version "2.6.3" { << { \clef bass c d e f g a b c'( c) \breathe c d e c1 } \addlyrics { Do Re Mi Fa Sol La Si Do __ Son las no -- tas } >> }
letrasimple.ly: LY PNG PDF
De nuevo, hemos introducido nuevas características.
Ligaduras de expresión (entre el do agudo y el grave): se escribe un paréntesis abierto "(" al lado de la nota en la que empieza la ligadura y se escribe un paréntesis cerrado ")" al lado de la nota en la que termina la ligadura.
Marcas de respiración: se introducen con el comando \breathe.
En este caso, simplemente tenemos que repetir el comando \addlyrics con las letras adicionales:
% dosletrasimples.ly \version "2.6.3" { << { \clef bass c d e f g a b c'( c) \breathe c d e c1 } \addlyrics { Do Re Mi Fa Sol La Si Do __ Son las no -- tas } \addlyrics { O -- tra le -- tra va de -- ba -- jo __ Do Re Mi Do } >> }
dosletrassimples.ly: LY PNG PDF
Este caso es más complicado. De hecho, hemos creado la partitura con un editor de textos (jEdit) que incorpora un "plugin" o "añadido" para escribir ficheros .ly (ver la sección "Editores"). Es más sencillo hacerlo así, o copiando una plantilla existente que escribiendo todo desde cero. Veamos una partitura para coro sencilla:
\version "2.6.3" letrasoprano = \lyricmode { Ho -- la, ¿qué tal? } letraalto = \lyricmode { Bien, ¿y tu qué? } letratenor = \lyricmode { No -- so -- tros bien } letrabajo = \lyricmode { A -- quí bien } musicasoprano = \new Staff { \relative c'' { \context Voice = "melodiasoprano" { c b a g } } } musicaalto = \new Staff { \relative c' { \context Voice = "melodiaalto" { e d c b } } } musicatenor = \new Staff { \clef "G_8" \relative c' { \context Voice = "melodiaTenor" { g f g f } } } musicabajo = \new Staff { \clef bass \relative c { \context Voice = "melodiabajo" { c b( c) b } } } \score { << \musicasoprano \new Lyrics { \lyricsto "melodiasoprano" \letrasoprano } \musicaalto \new Lyrics { \lyricsto "melodiaalto" \letraalto } \musicatenor \new Lyrics { \lyricsto "melodiaTenor" \letratenor } \musicabajo \new Lyrics { \lyricsto "melodiabajo" \letrabajo } >> }
coro.ly: LY PNG PDF
Vemos que el fichero .ly es más complejo. Vamos punto por punto:
Este es el caso más complejo que hemos visto hasta ahora. Lo más habitual es tener un fragmento como el anterior guardado y utilizarlo como plantilla para nuestras partituras.
En música pop, rock o jazz es habitual escribir un cifrado de acordes sobre la melodía, y la sección rítmica improvisa el acompañamiento leyendo este cifrado. Veamos cómo hacer ésto con Lilypond.
El procedimiento es muy parecido al que seguíamos para introducir la melodía:
\version "2.6.3" melodia = { \key ees \minor \time 6/8 \relative c' { ees8 f ges bes c des d4. bes } } { << \chords { ees2.:m7 bes:7 } \melodia >> }
acordessimples.ly: LY PNG PDF
Los acordes se introducen con el comando \chords, entre llaves. Lilypond utiliza abreviaturas especiales para los acordes.
Para introducir un acorde, primero especificamos la nota fundamental (ees), luego su duración (ees2. -> blanca con puntillo) y por último, separado por dos puntos (:), la "calidad" del acorde ( mayor, menor, dominante, etc). Las abreviaturas para el tipo de acorde se describen en la documentación de Lilypond, en la sección "7.2.2 Chords mode"
Hemos utilizado una variable ("melodia") para guardar las notas. Como estamos introduciendo varios "contextos" en una línea (las notas y los acordes) debemos utilizar el operador << ... >>
Existe otro comando relacionado con los acordes, que es \chordmode. Este comando lo que hace es escribir explícitamente las notas de los acordes, en vez de su cifrado:
\version "2.6.3" melodia = { \key ees \minor \time 6/8 \relative c' { ees8 f ges bes c des d4. bes } } { << \chordmode { ees2.:m7 bes:7 } \melodia >> }
melodiayacordes2.ly: LY PNG PDF
Nota: en el pentagrama donde se muestran los acordes también hay que usar el comando \key.
En el siguiente ejemplo mostramos cómo unir todo lo visto hasta ahora: música, letra, acordes y cifrado.
\version "2.6.3" letrasoprano = \lyricmode { Ho -- la, ¿qué tal? } letraalto = \lyricmode { Bien, ¿y tu qué? } letratenor = \lyricmode { No -- so -- tros bien } letrabajo = \lyricmode { A -- quí bien } musicasoprano = \new Staff { \relative c'' { \context Voice = "melodiasoprano" { c b a g } } } musicaalto = \new Staff { \relative c' { \context Voice = "melodiaalto" { e d c b } } } musicatenor = \new Staff { \clef "G_8" \relative c' { \context Voice = "melodiaTenor" { g f g f } } } musicabajo = \new Staff { \clef bass \relative c { \context Voice = "melodiabajo" { c b( c) b } } } acordescif = \chords {c2:maj7 c4:6 g:7} acordesnot = \chordmode {c2:maj7 c4:6 g:7} \score { << \acordescif \musicasoprano \new Lyrics { \lyricsto "melodiasoprano" \letrasoprano } \musicaalto \new Lyrics { \lyricsto "melodiaalto" \letraalto } \musicatenor \new Lyrics { \lyricsto "melodiaTenor" \letratenor } \musicabajo \new Lyrics { \lyricsto "melodiabajo" \letrabajo } \acordesnot >> \midi {} }
coroyacordes.ly: LY MIDI PNG PDF
Como puede verse, la partitura es prácticamente igual que la partitura "coro.ly" que vimos antes. Simplemente hemos añadido el cifrado de acordes y los acordes escritos (son las variables "acordescif" y "acordesnot")
Se puede personalizar en gran medida la partitura. No hemos visto todas las posibilidades, ni muchísimo menos.
Todo viene, como siempre, explicado en el tutorial "oficial" de Lilypond. A continuación enumeramos otras características que no hemos mencionado anteriormente:
Hemos hecho un breve recorrido por lo que podemos hacer con Lilypond. Como ya hemos dicho, en la documentación de Lilypond encontraremos muchos ejemplos y plantillas con las que trabajar. Por otra parte, si utilizamos un buen editor (ver la sección "Editores" a continuación), el trabajo se nos simplificará muchísimo.
Para escribir ficheros .ly existen editores que nos pueden ayudar mucho. Uno de los más completos es jEdit. Es un editor al que se le puede instalar un "plugin" o "añadido" para editar partituras con Lilypond. Este "plugin" se llama Lilypond Tool y se instala fácilmente desde el menú "Plugins" > "Plugin manager" de jEdit:
Lilypond Tool tiene un asistente para crear partituras. Nos va preguntando datos sobre lo que queremos hacer y crea un "esqueleto" en el cual sólo nos queda introducir las notas, y, si procede, la letra y los acordes.
jEdit requiere tener instalado java para funcionar. Es el único inconveniente que tiene ;-)
Otro editor más ligero pero con menos funcionalidad es SciTE:.
Añadiendo las siguientes líneas al fichero de configuración del usuario (.SciTEUser.properties) tenemos una pequeña herramienta muy cómoda para trabajar con lilypond:
# Lilypond (en Unix/Linux) lexer.*.ly=tex command.go.*.ly=lilypond --png --pdf $(FileNameExt) command.name.1.*.ly=Ver PDF command.1.*.ly=xpdf $(FileName).pdf command.name.2.*.ly=Escuchar MIDI command.2.*.ly=timidity -ig $(FileName).midi command.name.3.*.ly=Ver PNG command.3.*.ly=display $(FileName).png
Podemos sustituir xpdf, timidity y display por nuestros visores de pdf, midi y png preferidos. En Windows estas l�neas podr�an ser como sigue (ajustar las rutas si no son iguales):
# Lilypond (en Windows) lexer.*.ly=tex command.go.*.ly=c:\Archivos de programa\Lilypond\bin\lilypond.exe --png --pdf $(FileNameExt) command.name.1.*.ly=Ver PDF command.1.*.ly=c:\Archivos de programa\Adobe\Reader\Acroread32.exe $(FileName).pdf command.name.2.*.ly=Escuchar MIDI command.2.*.ly=c:\Windows\System32\mplay32.exe -ig $(FileName).midi command.name.3.*.ly=Ver PNG command.3.*.ly=c:\Archivos de programa\Mozilla Firefox\firefox.exe $(FileName).png
Volver a www.laclavedefa.org