LilyPond
LilyPond es un programa informático y un formato de archivo para grabar música. Uno de los principales objetivos de LilyPond es producir partituras grabadas con reglas de diseño tradicionales, que reflejen la época en que las partituras se grababan a mano.
LilyPond es multiplataforma y está disponible para varios sistemas operativos comunes; lanzado bajo los términos de la Licencia Pública General GNU, LilyPond es software libre y parte del Proyecto GNU.
Historia
El proyecto LilyPond fue iniciado en 1996 por Han-Wen Nienhuys y Jan Nieuwenhuizen, luego de que decidieran abandonar el trabajo en MPP (MusiXTeX PreProcessor), un proyecto en el que comenzaron a colaborar en 1995. Su nombre se inspiró tanto en el proyecto Rosegarden y una conocida de Nienhuys y Nieuwenhuizen llamada Suzanne, un nombre que significa lirio en hebreo (שׁוֹשַׁנָּה).
Versión 1.0
LilyPond 1.0 se lanzó el 31 de julio de 1998 y destaca el desarrollo de una fuente de música personalizada, Feta, y la separación completa de LilyPond de MusiXTeX.
Versión 2.0
LilyPond 2.0 se lanzó el 24 de septiembre de 2003 y anunció un modelo de sintaxis simplificado y un conjunto de funciones mucho más completo para anotar varios estilos de música.
Diseño
LilyPond está escrito principalmente en C++ y utiliza Scheme (interpretado por GNU Guile) como lenguaje de extensión, lo que permite la personalización del usuario. Tiene una base de código relativamente grande; a partir del 10 de marzo de 2017, el código 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.
Utiliza una notación de texto simple para la entrada de música, que LilyPond interpreta y procesa en una serie de etapas. En la etapa final, la notación musical se envía 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, en estos sistemas se incluye de manera predeterminada una GUI "LilyPad" basada en un editor de texto para Windows y MacOS). Sin embargo, tiene un lenguaje de entrada flexible que se esfuerza por ser simple, facilitando la curva de aprendizaje. para nuevos usuarios. LilyPond se adhiere al paradigma WYSIWYM; el flujo de trabajo para componer notas musicales con LilyPond es similar al de preparar documentos con LaTeX.
LilyPond es compatible con la notación musical experimental. Sus instalaciones de guitarra admiten afinaciones alternativas, como la afinación de tercios mayores.
Características del software
El objetivo principal de LilyPond es producir resultados comparables a las partituras grabadas profesionalmente en lugar de resultados que parezcan mecánicos y generados por computadora. Un ensayo del sitio web de LilyPond, escrito por desarrolladores de LilyPond, explica algunos problemas tipográficos abordados por LilyPond:
- Escalada de fuentes ópticas: dependiendo del tamaño del personal, el diseño de la fuente de música está ligeramente alterado; esta es una característica que la fuente Computer Modern de Donald Knuth es conocida por. Como resultado, las cabezas de nota se vuelven más redondeadas, y las líneas de personal se vuelven más gruesas.
- Espaciamiento óptico: las direcciones de tallo se tienen en cuenta al espacir notas posteriores.
- Manejo de línea de libro mayor especial: líneas del libro mayor se acortan cuando los accidentes están cerca, mejorando así la legibilidad.
- Espaciamiento proporcional: notas se pueden colocar de tal manera que exactamente refleja su duración. Por ejemplo, con esta configuración, el espacio entre notas trimestrales consecutivas es cuatro veces mayor que entre las 16 notas consecutivas.
Resumen de la sintaxis de entrada
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 el código Scheme dentro de un archivo fuente de LilyPond permite extensiones arbitrarias al idioma de entrada y ayuda con la composición algorítmica. Algunas características sintácticas generales se enumeran a continuación.
- Los comentarios de una sola línea comienzan con un signo de porcentaje
%. - Las notas están representadas pitch-duration formato: lanzamiento se especifica con la notación de campo Helmholtz, y duración se especifica con un sistema basado en numeral. La semántica de la pitch-duration cambio de formato dependiendo del modo de entrada activo; esto se explica en profundidad en el manual de LilyPond. Por ejemplo, en modo absoluto,
a'4es una A, una octava arriba de la base A (A3 en notación de lanzamiento científico), de longitud de nota trimestral. - Los comandos generalmente comienzan con una reacción posterior (como
time, oslurUp). 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 la nota. - Algunos comandos comunes están representados simbólicamente para facilitar la escritura. Un ejemplo es con las manchas, donde
(y)indicar el comienzo y el final de un bazo, respectivamente. Otro ejemplo es con viga manual, donde[y]indicar el alcance de la viga.
La interfaz de LilyPond con Pango requiere que la codificación de caracteres de entrada sea UTF-8. Una ventaja de esto es que se puede incluir más de un idioma en el mismo archivo fuente.
Ejemplo de archivo de entrada de LilyPond
version "2.22.2"include "english.ly"header {} Título = markup {} "Extract from" italic "fibonacci" } compositor = "Patrick McCarty" % copyright = markup fontsize #-5 % {} % Copyright © 2009. % Tiposet con GNU LilyPond. % Publicado en dominio público por el compositor. % }}paper {} papel-altura = 4.6in papel ancho = 8,5in indent = #0 cuenta del sistema = #2}score {} new PianoStaff = "pianostaff" .. new Personal = "RH" relative c ' {} accidentalStyle Puntuación.piano clef "treble" time 2/4 set Puntuación.actualBarNumber = #51 tempo "Despacio y estable" 4 = 60 .e gs,■4 acciaccatura {} c16[ ds] } .e gs,■4 Silencio % m. 51 .ds gs,■4 acciaccatura {} e16[ ds] } .c g■4 Silencio % m. 52 .c g■4 acciaccatura {} ds16[ c] } .c g■4 Silencio % m. 53 .c g■4 acciaccatura {} ds16[ e] } .es bs g■4 Silencio % m. 54 .e gs,■4 acciaccatura {} c16[ ds] } e16 f g a Silencio % m. 55 .g c,■8 acciaccatura {} como16[ g] } .es b■8 ~ .es b■16 ds b como Silencio % m. 56 b16 d8 bf32 f ' g16 af bf c Silencio % m. 57 .df df,■16 () c af ) .e ' e,■ () ds b ) .g ' g,■ () ds Silencio % m. 58 time 3/4 .g gs,■16 ) noBeam d,16 f g a16 e f b c16 d, () f g Silencio % m. 59 a16 b ) e, () f g16 b c ) f () g16 como b c ) Silencio % m. 60 } new Dinámica = "Dynamics_pf" {} s4 p . s4 Silencio % m. 51 s4 s4 Silencio % m. 52 s4 mp s4 Silencio % m. 53 s4 s4 ! Silencio % m. 54 s4 p s4 Silencio % m. 55 s1 * 2/4 Silencio % m. 56 s4 . s4 Silencio % m. 57 s4 s4 Silencio % m. 58 override DynamicText.extra-spacing-width = #'()-0.75 . 0,75) s16 mf s16 p s8 s4 s4 Silencio % m. 59 s2. Silencio % m. 60 } new Personal = "LH" relative c, {} clef "Bass" time 2/4 c4. c8 Silencio % m. 51 c4. d8 Silencio % m. 52 f4. a8 Silencio % m. 53 f4. d8 Silencio % m. 54 c4. c8 Silencio % m. 55 d4 ds Silencio % m. 56 g4. bf,8 Silencio % m. 57 f '4 b, Silencio % m. 58 time 3/4 d4. d8 ~ d4 Silencio % m. 59 ef2 f4 Silencio % m. 60 } >}Salida correspondiente
Resultados más complejos
Lilypond también puede crear resultados ampliamente personalizados. Un ejemplo es el breve extracto de una pieza para piano de Karlheinz Stockhausen a continuación.
Colaboración con otros proyectos
Varios compositores gráficos, como Rosegarden, NoteEdit, Canorus, Denemo y TuxGuitar, pueden exportar archivos directamente al formato de LilyPond. Otras aplicaciones gráficas sirven como interfaces para LilyPond, incluidos Frescobaldi y el complemento LilyPondTool para jEdit. Denemo integra la salida PDF de LilyPond en su pantalla, lo que permite algunas operaciones de edición en la partitura final compuesta.
El Proyecto Mutopia, que distribuye partituras de contenido gratuito, utiliza LilyPond para componer su música, al igual que Musipedia, una enciclopedia de música colaborativa.
Emacs' org-mode contiene soporte para incrustar puntuaciones de LilyPond en documentos.
OOoLilyPond, una extensión de LibreOffice proporciona soporte para llamar a LilyPond para incrustar partituras en documentos.
Integración en MediaWiki
Lilypond está disponible en MediaWiki a través del código de extensión Score. Esto, por ejemplo, transforma la notación
* sonido="1"■relative c' { f d f d f e d cis a cis e a g f e }■/scoreen

El extracto anterior es una versión simplificada del Solfeo en do menor de C.P.E. Llevar una vida de soltero. Las partituras más complejas, incluidas las letras, también son posibles dentro de las wikis de MediaWiki.
Integración en texto usando lilypond-book
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 de LilyPond. Esto permite a los usuarios incorporar elementos musicales en los textos, como musicología, folletos de canciones, hojas de trabajo para la enseñanza y exámenes escolares.
Integración en LaTeX
Para la integración en el sistema de preparación de documentos LaTeX, lyLuaTeX se ha desarrollado como LuaLa TeX paquete para incrustar elementos musicales dentro de los textos. Incluye funciones para hacer coincidir el diseño y la apariencia de los elementos musicales con el documento de texto circundante. 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.
Comparación con otros compositores
Finale y Sibelius son dos compositores propietarios que a menudo se comparan con LilyPond. Andrew Hawryluk, un usuario de LilyPond, escribió una serie de artículos que comparan la calidad de salida entre Finale y LilyPond.
Otro marcador con características comparables a las de LilyPond es SCORE, pero SCORE se basa más en el posicionamiento manual que Lilypond.
Ver también Comparación de compositores.
Contenido relacionado
Impresora braille
Harris Tweed
Tela de oro