Notación musical en Linux

Dave Phillips

Antes de lanzarme al informe, debo añadir unas palabras sobre LilyPond y su especial relación con los programas revisados aquí.

Ya he escrito sobre el asombroso LilyPond en artículos anteriores, y me hace feliz informar de que el proyecto sigue vivo y floreciente, en la versión 2.12 de su rama estable. Las funciones de desarrollo y mantenimiento las lleva a cabo una numerosa comunidad de usuarios y programadores, y se trata de un proyecto maduro. Muchos usuarios se han pasado a LilyPond desde otros populares programas de notación, a pesar de la interfaz basada en texto y la operativa desde línea de comandos. La calidad de la salida de LilyPond es así de atractiva.

Dado que la interfaz está basada en texto ASCII, muchos usuarios buscan una interfaz gráfica alternativa para LilyPond. La mayor parte de los programas presentados en este artículo pueden ser considerados front ends a LilyPond, pero varían en la clase y nivel de soporte a LilyPond. Los hay entornos de edición de texto especializados en notación y secuenciación. En todos los casos LilyPond es el motor que proporciona la capacidad de notación. En algunos casos se requiere cierto conocimiento de LilyPond, mientras que en otros la presencia de LilyPond está oculta por completo al usuario.

Comentarios generales

Programar una aplicación de notación pone en problemas a los desarrolladores. Un programa de notación completo implica un motor gráfico complejo, entrada y salida de audio y MIDI y soporte para importar y exportar una gran variedad de formatos de ficheros. Mas aún, el desarrollador debe decidir si su programa va a servir como ayuda al compositor o simplemente como máquina de escribir del músico. Esta distinción impone importantes aspectos del diseño básico de la aplicación, especialmente a nivel de interfaz de usuario.

Hay paquetes que combinan los dos factores de diseño con éxito, pero la necesidad de esa máquina de escribir de calidad profesional siempre demanda una aplicación dedicada. La música imprimida desde un secuenciador de uso general es útil, pero raramente es favorable la comparación con la salida de una aplicación dedicada como es LilyPond.

Los requisitos esenciales para las aplicaciones de notación incluyen funciones de trazado de partitura, métodos de entrada de datos, paletas de símbolos musicales, soporte para salida de audio y opciones para impresión de la partitura finalizada. Los programas básicos pueden incluir sólo un subconjunto de las características posibles, mientras que aplicaciones más profesionales facilitan un mayor control sobre los detalles del trabajo. Por supuesto que mayor control implica mayor complejidad. Los diseñadores de aplicaciones de notación trabajan duro para compensar la facilidad de uso con una plétora de características.

Considérense las necesidades de distintos tipos de usuario; los compositores de escritorio pueden requerir sólo una paleta de notación simple, pero podrían necesitar soporte para entrada MIDI, desde fichero o desde un teclado, y una representación precisa de ess datos. Compositores avanzados podrían no necesitar MIDI pero características como una amplia paleta de símbolos, extracción de partes, o incluso soporte para la manipulación de partituras desde rutinas programadas en Python u otros lenguajes de propósito general. El mundo comercial del software musical ofrece programas que cubren estas necesidades. Finale y Sibelius son dos de las aplicaciones de notación completas más conocidas en el mundo Windows y Mac, y otras aplicaciones más económicas y con menos características están también disponibles.

En los secuenciadores de audio y MIDI modernos se dispone de notación musical, pero la implementación es necesariamente limitada. Un programa de notación completo tiene que ser una aplicación independiente, aunque debe admitirse que las herramientas de notación en aplicaciones como Cubase o Rosegarden son adecuadas para tareas como las hojas principales, las guías de acordes y para piezas relativamente cortas. Un trabajo más ambicioso puede llevarse a cabo con estos programas, pero sus características de notación son sólo un componente de un diseño multipropósito. Debo señalar que los desarrolladores de Rosegarden han prestado gran atención a sus características de notación, y merece la pena recordar que Rosegarden dispone de exportación al formato LilyPond.

El equipo de pruebas

He elegido un sistema sencillo Ubuntu 8.10 con el kernel 2.6.27-9 como plataforma de pruebas. Mi decisión ha estado influida en parte por la disponibilidad de los paquetes en sus repositorios, donde dispongo además de cualquier utilidad de desarrollo para satisfacer dependencias avanzadas. El soporte realtime en este caso no es obligatorio, aunque en ese caso mejoraría la calidad de la salida de audio.

Denemo

Denemo es a la vez un editor con interfaz de usuario para compositores con editor de partituras LilyPond y un entorno basado en notación para la composición con MIDI. El trabajo reciente en Denemo ha mejorado la interfaz de usuario y la estabilidad general de la aplicación, y en la versión pública 0.8.0 se han añadido muchas nuevas características. El trabajo de desarrollo es intenso y el equipo está siempre abierto a sugerencias para nuevas e incluso inhabituales funciones.

La intefaz de Denemo opta por un sistema de menús en lugar de por paletas gráficas que presenten la colección de símbolos de notación. A primera vista puede pensarse que este diseño impide un trabajo rápido, pero el punto clave para la productividad en Denemo es su uso extensivo de atajos de teclado. Casi cualquier función del programa está disponible desde el teclado del ordenador, y una vez que el usuario se acostumbra a la asignación de atajos, el trabajo es muy rápido.

Es posible la entrada de datos utilizando MIDI, en tiempo real o desde fichero, ya sea un fichero existente de Denemo, una partitura de LilyPond, o incluso audio en tiempo real (!). Además, Denemo puede extenderse mediante el lenguaje de programación Scheme. El usuario puede definir y visualizar nuevas opciones de menú para el programa, dándole así a Denemo una posición única entre los programas de ayuda para LilyPond que se presentan en este artículo. Scheme no es un lenguaje difícil de aprender —es una variedad de Lisp— y aprender al menos un poco facilita un gran poder al usuario de Denemo.

Denemo está repleto de herramientas molonas para compositores. Puedes cambiar entre edición gráfica o basada en texto, se soportan símbolos de acordes para bajo y guitarra, y el soporte a Scheme permitiría incluso la composición algorítmica —para los desarrolladores de Denemo; ¡esto molaría un montón!—. Puedes definir qué aplicaciones externas usarás para reproducir audio y MIDI, incluyendo la remarcable posibilidad de utilizar Csound como motor de audio. Los compositores pueden así acceder a las increibles características de Csound desde una aplicación de notación estándar. El secuenciador Rosegarden puede ser usado también como aplicación de notación para Csound, pero no facilita una conexión con Csouns tan integrada. Denemo es la única aplicación que facilita este tipo de conexión para la salida de audio.

Los ficheros pueden ser cargados y salvados en el formato XML propio de Denemo o en el formato nativo de LilyPond. Es posible también exportar a PDF. En el momento de escribir esto, no se soporta MusicXML para importar o exportar, pero la aplicación musicxml2ly de LilyPond permite la traducción de ficheros entre MusicXML y LilyPond.

Versiones anteriores de Denemo sufrían de problemas de estabilidad, y de una imponente curva de aprendizaje. Me alegra informar de que la estabilidad ya no es unproblema, y de que existe mucho material de referencia actualizado, ficheros de ejemplo y documentación para el usuario.

Frescobaldi

Frescobaldi es una obra de los desarrolladores de la fantástica aplicación lilypond-kde4. Frescobaldi no es en sí mismo un editor de notación. Más bien facilita un entorno especializado para editar partituras en el formato nativo basado en texto de LilyPond. Facilita amenidades como resaltado de sintaxis, ayuda inmediata —tanto para LilyPond como para el propio Frescobaldi— y previsualización de la partitura. La interfaz de usuario está refinada, es atractiva, y el programa se domina sin dificultad.

El último Frescobaldi requiere de KDE4 actualizado, y no es probable que esté disponible desde repositorios para sistemas Linux algo antiguos —como 64 Studio 2.1 ó JAD 1.0—. Está incluso ausente de mis repositorios para Ubuntu 8.10 pero, como mencioné antes, el sistema está lo suficientemente actualizado como para facilitar su compilación. Las dependencias perdidas las resuelve Synaptic fácilmente, y no he tenido problemas para compilar e instalar versiones recientes de la aplicación.

Aún así tengo sugerencias para los desarrolladores. En la actualidad el flujo de trabajo te requiere salvar las ediciones antes de previsualizarlas. Me gustaría un modo de edición con previsualización tras un clic, que no requiera de un salvado explícito, si esto es posible. Tengo otro inconveniente con la función de impresión de Frescobaldi. Según escribo esto, Frescobaldi sólo imprime a PDF o PostScript. Me gustaría poder utilizar la impresora de mi sistema desde el propio programa. Por último, dado que LilyPond es capaz de generar un fichero MIDI desde su formato nativo, ¿por qué no facilitar una función de reproducción MIDI?

Aparte de mis deseos, me gusta Frescobaldi y voy a seguir su desarrollo de cerca. Si buscabas un editor LilyPond dedicado —y no te atreves a aprender Emacs— deberías probar Frescobaldi.

Canorus

Canorus comenzó como fork del proyecto NoteEdit que describiré en la segunda parte de este artículo. En un momento dado pareció que el programador de NoteEdit iba a abandonar el proyecto, así que Reinhard Katzmann formó un nuevo grupo de desarrolladores para el mismo. Canorus es el resultado de su esfuerzo para proporcionar «un editor de partituras libre y extensible que soporte escritura de notas, importación y exportación de distintos formatos de fichero, entrada y salida MIDI, scripting y más». La última beta de Canorus 0.7 es su última parada antes de la meta.

El sitio de la aplicación reconoce que el software es calidad beta. Aunque cada nuevo lanzamiento incluye características no disponibles en versiones anteriores, podría no ser tan fantásticamente estable como la versión pública 0.5. Resumiendo, las versiones beta no deberían considerarse para un trabajo serio en este punto. Eres bienvenido a probarlas, los desarrolladores quieren informes de sus usuarios, pero si te subes a la ola, ten cuidado.

Se facilitan versiones estables y en desarrollo desde los enlaces en el sitio de la aplicación. Están disponibles paquetes instalables para Debian y Windows, así como paquetes con fuentes independientes de la plataforma en formatos zip y tarball.

Construir la aplicación completa requiere de ciertas dependencias, incluyendo Qt4 reciente y la utilidad cmake. Son necesarios LaTeX y el visualizador LyX para construir la documentación, pero las versiones que he encontrado en Ubuntu 8.10 son inutilizables con Canorus, así que me quedé sin dicha documentación. Por suerte se trata de un paso opcional, así que si el compilado parece fallar con la documentación, simplemente sigue con el resto de pasos. No dispondrás de la ayuda para el usuario en el menú Help, pero esta carencia se ve mitigada por los avisos de la interfaz de usuario, y por la relativa sencillez de uso de la aplicación.

Me doy cuenta de que estoy probando una versión beta y de que la documentación estará disponible en la versión pública final, pero creo que sería sabio por parte de los desarrolladores facilitar la documentación ya compilada en este tipo de versiones previas. Me sorprende que un sistema tan reciente como Ubuntu 8.10 no facilite una cadena de herramientas de compilado que funcione para construir la documentación de Canorus, y me gustaría poder descargar esa documentación del sitio de Canorus. Sea lo que sea que se incluya en el paquete final, una versión HTML simple en el sitio web sería un feliz aporte al material disponible.

El instalador no añadió un icono a mi menú de aplicaciones, así que inicié el programa escribiendo canorus en mi ventana de terminal. No hay ayuda a la línea de comandos utilizando -h ó –help. Cuando se inicia Canorus, verás una pantalla splash durante unos segundos, y después un lienzo con una marca de inicio sencilla.

Canorus adopta y extiende las características que ya se encontraban en NoteEdit. Como características resaltables se incluyen un excelente método de entrada para notación polifónica, conectividad MIDI con el secuenciador ALSA —esto es, entrada y salida MIDI multiplexada—, scripting con Python o Ruby, una rica selección de símbolos estándar y soporte para eventos definidos por el usuario.

Canorus funciona en los modos de selección o edición. En el último, los símbolos musicales se incluyan y se borran de forma definible por el usuario tanto con el ratón como con atajos de teclado típicos de Emacs —Del para borrar el símbolo seleccionado, Ctrl-Z para undo, Ctrl-A para seleccionar todo, etc.—. Puedes dividir un proyecto en distintas hojas. Cada una incluye controles para canales MIDI y asignaciones típicas de instrumentos General MIDI. Se prescinde de menús de contexto a favor de menús desplegables, lo que puede frustrar a algunos usuarios. En mi opinión en cambio ese diseño deja la pantalla libre de saturaciones molestas.

Sobre el soporte a ficheros; pueden importarse ficheros MIDI o en el formato MusicXML. Puedes salvar tu trabajo en el formato de projecto canorus .can o en el formato basado en XML, o exportarlo para LilyPond o como MusicXML. Puedes también exportar tu trabajo como fichero MIDI o como fichero gráfico en formato PDF o SVG. Canorus imprime tu notación filtrándola a través de LilyPond. Designas el binario LilyPond en el menú Tools/Settings, donde también seleccionas tu visualizador PDF favorito —el formato de salida por defecto en LilyPond—.

Canorus se parece a su excelente predecesor en su clara presentación y en su sencillez de uso. Como he mencionado, las versiones beta requieren probadores, así que si te apetece algo de riesgo, puedes ayudar con el desarrollo de este fantástico programa.

Visto en Linux Journal.

¿Te pareció interesante? Sé tan amable de menear este artículo.

alsa Audio Debian kde4 kernel Linux midi musica notacion pdf Ubuntu xml

Bookmark and Share votar

6 Respuestas to “Notación musical en Linux”

  1. Felicidades por el artículo. Por si no lo conoces, hay un solido proyecto de un programa de notación de música de software libre, tanto para windows como para linux (pronto tb para mac). Se llama MuseScore, y tiene soporte para lilypond, musicxml y otros.

    Lo llevo siguiendo desde hace tiempo y la verdad, esta muy muy bien. Echale un vistazo!!

  2. Muchas gracias, hace poco necesité escribir música, y no sabía que opciones libres tenía, muchas gracias por la recopilación. Un saludo

  3. Un buen artículo, la verdad es que le daré un vistazo a Frescobaldi.

    Una cosa que si que hecho en falta, es para mí, uno de los mejores programas de edición musical para GNU/Linux: MuseScore.

    Te dejo el enlace por si quieres pasarte: MuseScore

    Un saludo.

  4. Muchas gracias por los comentarios. Sí, apuesto a que en la segunda parte de este artículo el protagonista absoluto será MuseScore.

  5. Sería de mucha utilidad que no descuides la segunda parte amigo ivalladt, para conocer mas de estas herramientas. Un buen trabajo de recopilacion.

  6. Información Bitacoras.com…

    Valora en Bitacoras.com: Dave Phillips Antes de lanzarme al informe, debo añadir unas palabras sobre LilyPond y su especial relación con los programas revisados aquí. Ya he escrito sobre el asombroso LilyPond en artículos anteriores, y me hace feli…

Deja una Respuesta

El enlace de tu firma no es válido para los buscadores. Cualquier intento por tu parte de hacer spam no tendrá el resultado esperado. Haz un comentario interesante y contribuye a la discusión.