2010-02-05 8 views
27

Nota: esta NO es una pregunta de "música para programar".Sintetizando programáticamente la música de programación?

Mi pregunta es:

Quiero escribir un programa de ordenador que se pueden sintetizar ritmos repetitivos (que yo puedo controlar a través de la línea de comandos) a la música tubo en mis oídos.

Tengo curiosidad por saber si hay herramientas existentes para hacer esto (y si no, qué librerías usar).

La idea general es:

1) el equipo sabe lo que estoy haciendo (por los comandos que estoy corriendo - si estoy en Vim, si mis programas están recopilando, etc ..)

2) el equipo sabe que mi estado de ánimo general (contar el número de fracasos del compilador debido a 'make'; número de violaciones de segmento, los códigos no de salida cero; número de confirmaciones Git)

3) el equipo conoce mi estado cerebral (dependiendo de la velocidad de tipeo; estoy codificando o pensando)

Me encantaría utilizarlos para algún tipo de bio-feedback para controlar la música.

Esta es también la razón por la cual la música necesita ser sintetizada programáticamente (en lugar de solo algunas pistas existentes).

+0

Impresionante. char min fill ... – bsneeze

+0

Wow ... esta es una idea muy inteligente ... fav. y +1. Estoy interesado en ver cómo va esto. Mantenga algunas actualizaciones sobre su progreso o publique un enlace para obtener más información ... – IAbstract

+0

Creo que me gusta la idea de la música orquestada por el software espía :) – Dolph

Respuesta

11

Para el lado de la música real de las cosas, echa un vistazo a Chuck. Te permite sintetizar sonidos por programa. Here's un video de YouTube que muestra un ejemplo de Chuck en el trabajo. Another video destacando cómo funciona Chuck y cómo producir sonidos básicos.

+0

+1 por ChucK ... ideal para una prueba de concepto, ya que está disponible en abierto fuente. Aunque los desarrolladores parecen admitir abiertamente que podría explotar, usted tiene la oportunidad de ver con qué está trabajando y podría realizar mejoras. – IAbstract

+0

Solo desearía que mi tarjeta de sonido no estuviera rota para poder escuchar los clips de YouTube ...:/ – IAbstract

8

Tienes que:

  • recoger los datos de entrada que va a basar su música.

  • decidir cómo esas variables de entrada afectarían la música

  • subir con los algoritmos para crear las melodías y los ritmos

  • código de todo en un paquete de música de sintetizador

Sus artículos "conozca su estado de ánimo" y "conozca su estado cerebral", ¡son probablemente problemas de investigación abiertos que valen la pena un doctorado si usted logra un progreso significativo en ellos!

Una vez que llegue a ese último paso, sugiero Csound.

Csound es un sistema de diseño de sonido, la síntesis de la música y el procesamiento de señales, proporcionar instalaciones para la composición y el rendimiento en una amplia gama de plataformas. No se limita a ningún estilo de música, ya que se ha utilizado durante muchos años en la creación de música clásica, pop, techno, ambiental, experimental y (por supuesto) informática, así como música para cine y televisión.

Como acotación al margen, una vez tuve la visión de que la sala de servidores debe debe reflejar ambiently el estado de los servidores. Así que configuro las fichas de cricket con frecuencia en función del promedio de carga, aullidos de lobo para eventos de inicio de sesión vistos en el registro del sistema y búho ulula por (en ese momento relativamente infrecuente) hits de páginas web ...

En ese caso solo era abofeteado en Python con un raspado de registro básico ....

0

No sé cómo lo haría, pero podría echar un vistazo a Bootchart, que hace un montón de monitoreo del proceso. Es posible que pueda ser útil para averiguar qué está sucediendo en este momento.

1

Consulte Boodler, la "herramienta de paisajes sonoros de código abierto".

1

JFugue es una biblioteca de código abierto (Java/JVM) para "programar música sin las complejidades de MIDI". see article

Es fácil de iniciar y puede servir como base para su programa, tanto para los ritmos como para la melodía.

+0

De hecho, JFugue tiene una clase de ritmo que puede proporcionarle exactamente lo que necesita. –

2

Music as Data es un proyecto muy interesante, aparentemente inspirado en SuperCollider y Chuck.

Está diseñado específicamente para que sea fácil de hackear/experimentar en vivo, básicamente un conjunto de herramientas para crear DSL musicales.

Cuestiones relacionadas