Edición de partituras con Lilypond


#1

Buenas, hace unos dias me estuve pegando un rato con Lilypond, y este es parte del resultado. Lilypond es un sistema de edición de partituras basado en ficheros de texto.

Lilypond es un editor de partituras que -en principio- no utiliza GUI para poner las notas en su sitio. En su lugar trabajamos ficheros de texto en los que tenemos que describir con “palabras” los diferentes elementos de la pagina.

Por ejemplo, “London is Burning”:

score {
  \header {
    title = "London is burning"
  }
  \layout { }
  \midi { }
  \new Staff
  <<
    \set Staff.midiInstrument = #"cello"
    \clef "treble"
    \time 3/4
    \key g \major
    \relative c' {
      \repeat volta 2 { d8 d8 g4 g4 d8 d8 g4 g4 \breathe a8 a8 b4 b4 a8 a8 b4 b4 \breathe d4 d2 d4 d2 \breathe d8 c8 b4 b4 d8 c8 b4 b4 }
    }
   >>
}

Una vez “compilada” la partitura, el producto es un pdf, o un png, tan bonito como este:

Tambien produce ficheros MIDI, con los que escucharemos lo que hemos transcrito. Por ejemplo, London is Burning.

Lo interesante es que a la hora de definir las notas tenemos varios modos de funcionamiento: podemos decirle la altura exacta de cada una de ellas, partiendo del DO central del piano, “c” con apostrofes o comas para subir o bajar de octava, respectivamente. Pero tambien podemos usar el modo “relativo”, en el que, partiendo de la nota de referencia que queramos, la octava es calculada en cada nueva nota a partir de la nota anterior: será aquella en la que la distancia entre ambas notas sea menor de una quinta. Esto facilita mucho la escritura de las notas, y simplifica los ficheros “fuente”, que tienen menos información prescindible.

El ejemplo es sencillo, pero la potencia del programa permite hacer partituras orquestales, transcripciones de percusión, anotaciones de jazz… Cualquier cosa que se nos pueda ocurrir.

El manual, en castellano, esta aqui. Recomendable para cualquiera que tenga que verselas con musica escrita.

…y qué ganamos con un software para escribir partituras basado en ficheros de texto? pues que podemos incorporar control de versiones en nuestro trabajo de edicion musical, y compartirlo en Github, por poner un caso. O podemos hacer que la salida de determinados algoritmos sean “notas” de forma que podamos hacer música basada en ellos… o usar nuestro lenguaje de programación favorito para hacer tratamiento automatizado de la información en partituras, buscando fraseos, alterando notas…

ah! y es multiplataforma: lo puedes instalar en cualquier ordenador.


#2

Sencillamente espectacular,
me encanta!!!


#3

Salvajisimo @goretoxo !!! Creo que le va a encantar a @josemar1992 y @Razlobo

cc: @outecran


#4

[goretoxo] goretoxo http://foro.hacklabalmeria.net/users/goretoxo
2 Septiembre

Buenas, hace unos dias me estuve pegando un rato con Lilypond, y este es
parte del resultado. Lilypond es un sistema de edición de partituras
basado en ficheros de texto.

Lilypond es un editor de partituras que -en principio- no utiliza GUI
para poner las notas en su sitio.

El mejor IDE para Lilypond, recomendado por casi todos dentro del
proyecto es Frescobaldi.

Te genera una previsualización de la partitura cada vez que compilas,
que esta muy bien porque con el asunto de la altura relativa de las
notas a veces te montas un cacao interesante, además de «enlazar» en
vivo las notas de la partitura con el código y a la inversa.

Por otro lado, pensar en altura relativa de las notas te ayuda con los
intervalos.

[…]

  \repeat volta 2 { d8 d8 g4 g4 d8 d8 g4 g4 

¿No utilizas los nombres de las notas en español?

A día de hoy las leo bien en inglés pero para mi es mucho más claro
leerlas en español.

Una vez “compilada” la partitura, el producto es un pdf, o un png, tan
bonito como este:

No es solo bonito, Francisco Vila, profesor del conservatorio de
Badajoz, ha escrito una tesis en la que demuestra que la superior
calidad de la impresión de partituras creadas con Lilypond mejora en la
lectura de la música, y todos los músicos sabemos que a mejor leer,
mejor tocar.

[…]

Lo interesante es que a la hora de definir las notas tenemos varios
modos de funcionamiento: podemos decirle la altura exacta de cada una de
ellas, partiendo del DO central del piano, “c” con apostrofes o comas
para subir o bajar de octava, respectivamente. Pero tambien podemos usar
el modo “relativo”, en el que, partiendo de la nota de referencia que
queramos, la octava es calculada en cada nueva nota a partir de la nota
anterior: será aquella en la que la distancia entre ambas notas sea
menor de una quinta. Esto facilita mucho la escritura de las notas, y
simplifica los ficheros “fuente”, que tienen menos información prescindible.

El modo relativo es el modo por defecto, el otro no se ni como se declara.

El ejemplo es sencillo, pero la potencia del programa permite
hacerpartituras orquestales
http://lilypond.org/doc/v2.19/Documentation/learning/orchestra-choir-and-piano,
transcripciones de percusión, anotaciones de jazz… Cualquier cosa que
se nos pueda ocurrir.

En la lista de Lilypond en español, de vez en cuando ponen algún enlace
a libros o partituras realizados con Lilypond… simplemente impresionantes.

El manual, en castellano, esta aqui
http://lilypond.org/manuals.es.html. Recomendable para cualquiera que
tenga que verselas con musica escrita.

Mi gran crítica a Lilypond es, precisamente la documentación.

Cuando atranco en algo soy incapaz de resolver sin dar muchas,
muchísimas vueltas, creo que la documentación esta totalmente pensada
para músicos y, como no sepas música, estas perdido. En mi caso, que
estoy aprendiendo, conforme avanzo en mi conocimiento menos atranque pero…

Un ejemplo de esto son las agrupaciones especiales: tresillos,
cuatrillos, quintillos…

tuplet 2/3 {do re mi}

El problema es que hay que saber a cuantas notas «reales» sustituye la
agrupación y en que tiempo… por mi parte, no siempre lo tengo claro.

Lilypond es muy potente y, precisamente por esa potencia, la curva de
aprendizaje (para algo más allá de lo básico) no es fácil.

Como digo, hecho en falta más documentación, algo así como manuales para
torpes, de iniciación, que vaya progresando desde lo simple hasta lo
complejo.

En ese sentido, de nuevo Francisco Vila -traductor principal de la
documentación- tiene algo hecho por ahí:

http://www.paconet.org/wiki/index.php?title=30_ejercicios_semanales_de_LilyPond

http://www.paconet.org/wiki/index.php?title=LilyPond_por_ejemplo

…y qué ganamos con un software para escribir partituras basado en
ficheros de texto? pues que podemos incorporar control de versiones en
nuestro trabajo de edicion musical, y compartirlo
https://github.com/cellist/Lilypond-Sheet-Music en Github, por poner
un caso. O podemos hacer que la salida de determinados algoritmos
http://lilypondblog.org/2015/04/using-lilypond-in-the-platonic-music-engine/
sean “notas” de forma que podamos hacer música basada en ellos… o usar
nuestro lenguaje de programación favorito
https://pypi.python.org/pypi/python-ly para hacer tratamiento
automatizado de la información en partituras, buscando fraseos,
alterando notas…

Precisamente eso que comentas al final es algo que llevo pensando desde
que me metí a fondo con Lilypond (conocerlo hará ya 10 o 12 años, antes,
incluso, de empezar a estudiar música) y todavía tengo pendiente de
investigar.

Lo veo muy interesante para crear partituras de enseñanza, con saltos
aleatorios entre notas y cambios de figuras con la idea de mejorar la
lectura rítmica.

Al respecto del uso de Git, en los enlaces anteriores de Paco ya habéis
visto su utilización, pero también hay otros proyectos -recuerdo una
opera libre- que utilizan el control de versiones con Lilypond.

Sin lugar a dudas, una gran herramienta, compleja, eso si.

Me alegra ver que hay alguien más que la usa por aquí, mi proselitismo
en el conservatorio poco ha fructificado, aunque es cierto que mi
profesora utiliza MuseScore, que también hace su trabajo, ciertamente.

Por cierto, ¿te ha funcionado alguna vez la exportación de Tuxguitar a
Lilypond? (Suponiendo que utilizas Tuxguitar, claro.)

Salud y Revolución.

Lobo.


#5

por partes:
el uso de los nombres de notas abc es algo que tengo de tiempo, desde que dediqué esfuerzo y horas a compilar todo el repertorio que tenia de aquella para gaita en formato ABC (que es extremadamente mas simple que el de lilypond), pero sirve para despues leer transcripciones de acordes, lineas de bajos, etc… el haber tocado repertorio irlandes de flauta travesera tambien ayuda a acercarse al ABC

en relacion con esto, el empezar con lilypond en realidad fue hace años, cuando me metí a fondo con ABC, pero para aquello era demasiado complejo.

una de las pruebas que he hecho estos dias ha sido abc2ly, uno de los programas accesorios de lilypond, para convertir mi coleccion de ABC a lilypond. El resultado ha sido bueno, pero con un problema: las colecciones de ABC las tengo en ficheros de muchas partituras (ten en cuenta que una “pieza” de repertorio tradicional para gaita son 16 compases, apenas dos lineas de pentagramas) y abc2ly solo trabaja con una pieza por fichero. Me tocará separarlo en ficheros por melodia.

sobre la documentacion sí que me he encontrado con cierta dificultad, por ejemplo ante la necesidad de transcribir una melodia para chelo con una linea de bajos escrita con letras (“Am”, “E”, “F”), de forma que cada acorde caiga en el comienzo de un compas, y que toda la linea de bajos se escriba ENCIMA de la partitura… pero visto que en los ejemplos de la documentacion se hacen cosas tan increibles, tengo claro que lo que quiero hacer es posible, solo que hay que dar con la tecla…

sobre IDE, me pasa como siempre: prefiero no usar IDE, y hacer un makefile en el directorio del proyecto que compile, muestre y hasta lance la reproduccion de audio de la melodia. He visto el frescobaldi, pero me siento más cómodo con la “simplicidad” de vim.

y si: el leer solfeo entonando ayuda, y el pensar en intervalos entre notas -en lugar de altura de cada nota como algo independiente- ayuda tambien.

y si: como recurso infinito para el profesor de musica, me parece incomparable. El tiempo que se tarda en coger un template, y escribir dos docenas de notas, usando el teclado, en comparación con el equivalente de un interfaz raton es minimo.

Y busquedas por patrones, e indices de frases iniciales… (!) te imaginas un archivo de repertorio tradicional con, digamos todo el repertorio irlandés tradicional (https://thesession.org/tunes), y donde puedes buscar por conjuntos de notas?? Este tipo de posibilidades, con partituras en “formatos WYSIWYG” son impensables. …y ademas con el IDE que comentas TAMBIEN se puede tener WYSIWYG con Lilypond!

Por cierto, que igual el punto para convencer a los usuarios de otros softwares de edicion de partituras es por el manejo de un IDE potente, no se si Frescobaldi se puede asimilar a eso?


#6

En esta web es mucho mas fácil. Os la dejo por si os sirve.https://www.partituras-para.com/


#7

Perdona @Jorge1, pero no se que es mucho más fácil en esa web, aparte de bajarte partituras.

En esta entrada estamos hablando de editar partituras.

@goretoxo, por cierto, este curso estoy cursando (valga la redundancia) informática musical en el conservatorio y me he puesto las pilas con Lilypond, ahora lo controlo bastante bien, puedes darle un vistazo a mi repo en Gitlab, donde estoy subiendo los ejercicios:

https://gitlab.com/rugoma/ejercicios_informatica_musical

Salud y Revolución.

Lobo.


#8

oh! interesante…

el trabajar con lilypond es iniciativa personal, o entra dentro de los contenidos estandar de esa asignatura?


#9

En la programación de la asignatura esta la edición de partituras.

El trabajar con Lilypond es iniciativa personal (y moral que diríamos).

A ese respecto, más que interesante el podcast que mantuvimos la gente
de KDE España con Paco Vila el lunes, que pone los puntos sobre las íes
a este respecto.

Puedes encontrar el enlace en el hilo de la 5ª
temporada
.

Salud y Revolución.

Lobo.


#10

que grandes sois!!