LilyPond es un programa informático y un formato de archivo para el grabado de música . Uno de los principales objetivos de LilyPond es producir partituras grabadas con reglas de diseño tradicionales, que reflejen la época en la que las partituras se grababan a mano.
LilyPond es multiplataforma y está disponible para varios sistemas operativos comunes ; publicado bajo los términos de la Licencia Pública General de GNU , LilyPond es software libre y parte del Proyecto GNU .
El proyecto LilyPond fue iniciado en 1996 por Han-Wen Nienhuys y Jan Nieuwenhuizen, después de que decidieran abandonar el trabajo en MPP ( MusiXTeX PreProcessor), un proyecto en el que comenzaron a colaborar en 1995. [7] [8] Su nombre se inspiró tanto en el proyecto Rosegarden como en una conocida de Nienhuys y Nieuwenhuizen llamada Suzanne, un nombre que significa lirio en hebreo ( שׁוֹשַׁנָּה ). [9]
LilyPond 1.0 se lanzó el 31 de julio de 1998, destacando el desarrollo de una fuente musical personalizada, Feta, y la separación completa de LilyPond de MusiXTeX. [10]
LilyPond 2.0 se lanzó el 24 de septiembre de 2003, anunciando un modelo de sintaxis simplificado y un conjunto mucho más completo de facilidades para la notación de varios estilos de música. [11]
LilyPond está escrito principalmente en C++ y utiliza Scheme (interpretado por GNU Guile ) como su lenguaje de extensión, lo que permite la personalización del usuario. [12] Tiene una base de código relativamente grande ; al 10 de marzo de 2017, la fuente incluye más de 600.000 líneas de C++, 140.000 líneas de Scheme y 120.000 líneas de código Python . [13]
Utiliza una notación de texto simple para la entrada de música, que LilyPond interpreta y procesa en una serie de etapas. [14] En la etapa final, la notación musical se exporta a PDF (a través de PostScript ) u otros formatos gráficos, como SVG o PNG . LilyPond también puede generar archivos MIDI que corresponden a la salida de notación musical.
LilyPond es una aplicación basada en texto , por lo que no contiene su propia interfaz gráfica de usuario para ayudar con la creación de partituras. (Sin embargo, una GUI basada en editor de texto "LilyPad" para Windows y MacOS se incluye de forma predeterminada en estos sistemas). Sin embargo, tiene un lenguaje de entrada flexible que se esfuerza por ser simple, lo que facilita la curva de aprendizaje para los nuevos usuarios. LilyPond se adhiere al paradigma WYSIWYM ; el flujo de trabajo para componer notación musical con LilyPond es similar al de preparar documentos con LaTeX .
LilyPond admite notación musical experimental . Sus funciones de guitarra admiten afinaciones alternativas , como la afinación de terceras mayores . [15]
El objetivo principal de LilyPond es producir resultados comparables a partituras grabadas profesionalmente en lugar de resultados que parezcan mecánicos y generados por computadora. Un ensayo del sitio web de LilyPond, escrito por los desarrolladores de LilyPond, explica algunos problemas tipográficos abordados por LilyPond: [16]
El lenguaje de entrada nativo de LilyPond es completo y consta de muchos comandos necesarios para expresar cualquier tipo de articulación, dinámica, métrica, etc. Es similar al de TeX . La capacidad de incrustar código Scheme dentro de un archivo fuente de LilyPond permite extensiones arbitrarias al lenguaje de entrada y ayuda con la composición algorítmica . A continuación se enumeran algunas características sintácticas generales.
%
. [18]a'4
es un A, una octava por encima de la base A (A3 en notación de tono científica ), de duración de negra. [19]\time
, o \slurUp
). La función del comando en cuestión determina dónde se coloca el comando; por ejemplo, si el comando se utiliza para indicar una dinámica fija en una nota específica, se coloca después de la nota. [20](
y )
indican el comienzo y el final de una ligadura, respectivamente. [21] Otro ejemplo es con el haz manual , donde [
y ]
indican la extensión del haz. [22]La interfaz de LilyPond con Pango requiere que la codificación de caracteres de entrada sea UTF-8 . [23] Un beneficio de esto es que se puede incluir más de un idioma en el mismo archivo fuente.
\versión "2.22.2" \include "english.ly" \header { title = \markup { "Extracto de" \italic "fibonacci" } composer = "Patrick McCarty" % copyright = \markup \fontsize #-5 % { % Copyright © 2009. % Composición tipográfica con GNU LilyPond. % Publicado en el dominio público por el compositor. % } } \paper { altura-papel = 4.6 \in ancho-papel = 8.5 \in sangría = # 0 recuento-sistema = # 2 } \score { \new PianoStaff = "pianostaff" << \new Staff = "RH" \relative c' { \accidentalStyle Score . piano \clef "treble" \time 2/4 \set Score . currentBarNumber = # 51 \tempo "Lento y constante" 4 = 60 < e gs, > 4 \acciaccatura { cs 16 [ ds ] } < e gs, > 4 | % m. 51 < ds gs, > 4 \acciaccatura { e 16 [ ds ] } < cs gs > 4 | % m. 52 < cs gs > 4 \acciaccatura { ds 16 [ cs ] } < do g > 4 | % m. 53 < cs gs > 4 \acciaccatura { ds 16 [ e ] } < es bs gs > 4 | % m. 54 < e gs, > 4 \acciaccatura { cs 16 [ ds ] } e 16 f gs a | % m. 55 < gs c, > 8 \acciaccatura { as 16 [ gs ] } < es b > 8 ~ < es b > 16 ds b as | % m. 56 b 16 d 8 bf 32 f' g 16 af bf c | % m. 57 < gl gl, > 16 ( c af ) < e' e, > ( ds b ) < g' g, > ( ds | % m. 58 \tiempo 3/4 < gs gs, > 16 ) \noViga d, 16 f gs a 16 e f b c 16 d, ( f gs | % m. 59 a 16 b ) e, ( f gs 16 b c ) f, ( gs 16 como b c ) | % m. 60 } \new Dinámica = "Dinámica_pf" { s 4 \p \< s 4 | % m. 51 s 4 s 4 | % m. 52 s 4 \mp \> s 4 | % m. 53 s 4 s 4 \! | % m. 54 s 4 \p s 4 | % m. 55 s 1 * 2/4 | % m. 56 s 4 \< s 4 | % m. 57 s 4 s 4 | % m. 58 \override DynamicText . ancho-de-espaciado-extra = # ' ( -0.75 . 0.75 ) s 16 \mf s 16 \p s 8 s 4 s 4 | % m. 59 s 2. | % m. 60 } \new Staff = "LH" \c relativa , { \clef "bajo" \time 2/4 cs 4. cs 8 | % m. 51 cs 4. re 8 | % m. 52 f 4. la 8 | % m. 53 f 4. re 8 | % m. 54 cs 4. cs 8 | % m. 55 d 4 ds | % m. 56 gs 4. bf, 8 | % m. 57 f' 4 b, | % m. 58 \tiempo 3/4 d 4. d 8 ~ d 4 | % m. 59 ef 2 f 4 | % m. 60 } >> }
Lilypond también puede crear resultados altamente personalizados. Un ejemplo es el breve extracto de una pieza para piano de Karlheinz Stockhausen que aparece a continuación.
Varios programadores gráficos de partituras (como Rosegarden , NoteEdit , Canorus, Denemo y TuxGuitar ) pueden exportar archivos directamente al formato LilyPond. Otras aplicaciones gráficas sirven como interfaz para LilyPond, como Frescobaldi y el complemento LilyPondTool para jEdit . Denemo integra la salida PDF de LilyPond en su pantalla, lo que permite realizar algunas operaciones de edición en la partitura tipográfica final.
El Proyecto Mutopia , que distribuye partituras de contenido gratuito , utiliza LilyPond para componer su música, al igual que Musipedia, una enciclopedia musical colaborativa.
El modo org de Emacs contiene soporte para incorporar partituras de LilyPond en documentos. [24]
OOoLilyPond, una extensión de LibreOffice, proporciona soporte para llamar a LilyPond para incrustar partituras en documentos. [25]
Lilypond está disponible en MediaWiki a través del código de extensión Score. Esto, por ejemplo, transforma la notación
<score sound= "1" > \ c' relativo {
\clave d \mayor fis4 fis g a a g fis e d d e fis fis4. e8 e2 } </score>
en
Lo anterior es un extracto de la Novena Sinfonía de Ludwig van Beethoven, conocida comúnmente como "Oda a la Alegría". También es posible crear partituras más complejas, incluidas las letras, en los wikis de MediaWiki.
La integración de elementos musicales de LilyPond en varios formatos de documentos (tanto sistemas basados en TeX como LaTeX y Texinfo , como también páginas DocBook y HTML ) se admite de forma nativa a través del programa complementario lilypond-book , desarrollado y mantenido por la comunidad LilyPond. [26] Esto permite a los usuarios integrar elementos musicales dentro de textos, como musicología, cuadernillos de canciones, hojas de trabajo para la enseñanza y exámenes escolares.
Para su integración en el sistema de preparación de documentos LaTeX , se ha desarrollado lyLuaTeX como un paquete LuaLaTeX para incorporar elementos musicales en los textos. Incluye funciones para hacer coincidir el diseño y la apariencia de los elementos musicales con el documento de texto circundante. [27] Los elementos musicales pueden consistir en símbolos musicales, letras de canciones, diagramas de acordes de guitarra, partituras principales, extractos musicales, tablaturas de guitarra o partituras de varias páginas.
Finale y Sibelius son dos programas de creación de partituras patentados que suelen compararse con LilyPond. Andrew Hawryluk, un usuario de LilyPond, escribió una serie de artículos en los que comparaba la calidad de salida entre Finale y LilyPond. [28]
Otro generador de partituras con características comparables a LilyPond es SCORE , pero SCORE depende del posicionamiento manual más que Lilypond.
Véase también Comparación de autores de partituras .