Overtone: crea música programando reprodúcela con una JVM
Overtone es un proyecto opensource que ha creado una API para Clojure, un lenguaje que corre sobre la máquina virtual Java, para sintetizar música. Overtone cuenta con una librería con funciones musicales para sintetizar escalas, acordes, ritmos… así como mecanismos para determinar exactamente en qué momento debe producirse cada sonido. También tiene capacidad para soportar entrada y salida a dispositivos midi. Y también cuenta con una API para acceder a sonidos de http://www.freesound.org/.
Overtone ha elegido Clojure como lenguaje de programación porque la síntesis de música requiere de complejos mecanismos de sincronización entre las distintas funciones que deben comenzar a producir el sonido y parar en el momento adecuado para componer la música. Una de las fortalezas de este lenguaje de programación es precisamente la programación concurrente, y de ahí la elección de este lenguaje. Internamente, Overtone se basa en SuperCollider.
Aquí tenéis un video introductorio:
Aquí tenéis un ejemplo de una pequeña melodía escrita en Overtone; si queréis "escucharla" podréis hacerlo en el video que está encima de estas líneas:
El objetivo del proyecto es doble. Por un lado, permitir a los programadores que empleen sus habilidades de programación para componer música. Esto resulta especialmente interesante si tenemos en cuenta que muchos programadores suelen tener vocación musical, a nivel de hobby o incluso profesional. Segundo, quieren convertir a la música en algo que se puede compartir y modificar de modo sencillo. Que exista una forma fácil de que alguien coja una canción o un sonido que ha creado otra persona y que lo extienda y lo modifique. Y convirtiendo ese sonido o canción en un fragmento de código fuente, definitivamente lo han conseguido.
Sin duda, se trata de una de las cosas más originales que he visto últimamente en la plataforma Java. Si alguno de vosotros quiere jugar con él, aquí tiene las instrucciones de instalación.
Reader Comments (3)
parece clojure-rehash de haskore (http://www.haskell.org/haskellwiki/Haskore) que ha comienzado en 2006. asi que no es tan original.
JFugue http://jfugue.org/ existe desde hace mucho tiempo, aunque no ha tenido mucha difusión.
Es una demostración de que la composición musical puede hacerse perfectamente en Java.
No conocía esos proyectos. Cuando he encontrado este me ha parecido algo muy interesante. Y parece estar bastante activo.
En general, me atrae bastante la idea porque parece haber cierta correlación entre gusto/capacidad musical y ser un buen programador.