2008-10-27 16 views
12

Hace un par de semanas, mi profesor de piano y yo estábamos intercambiando ideas sobre el software de metacomposición musical. La idea era la siguiente:Meta-composición durante las actuaciones musicales

Hay un sistema que toma la entrada MIDI de un grupo de instrumentos, y envía la salida a los altavoces y las luces. El software que se ejecuta en este sistema analiza los datos midi que recibe y determina qué sonidos usar, según los disparadores configurados por el compositor (cuando toco un acorde F7 3 veces en 2 segundos, cambio del sonido de clavicémbalo al sonido de piano), pedales o análisis real de la música en tiempo real. Controlaría las luces según el rendimiento y los sonidos de los instrumentos de una manera similar (el músico solo tendría que especificar vagamente lo que deseaba) y el análisis en tiempo real de su interpretación haría el resto. Sobre la marcha, la música generada por el procedimiento también podría tocar junto con el músico. Esencialmente, el software jugaría junto con el ejecutante, con uno guiando al otro. Imagino que tomaría un poco de práctica acostumbrarse a dicho sistema, pero que podría tener resultados bastante increíbles.

Soy un gran seguidor de improv jazz. Una característica de la improvisación que falta en otras formas de arte es la temporalidad de la misma. Una pintura puede apreciarse 10 o 1000 años después de haber sido pintada, pero la música (especialmente la improvisada) se trata de la interpretación, ya que es la creación. Creo que el software que describí agregaría mucho al rendimiento, como con él, ya que tocar exactamente la misma pieza daría lugar a un espectáculo completamente diferente cada vez.

Entonces, ahora las preguntas.

¿Estoy loco?

¿Ya existe software para hacer esto o todo esto? Investigué un poco y no encontré nada. La clave de este sistema es que se ejecuta durante la ejecución.

Si tuviera que escribir algo como esto, ¿un lenguaje de scripts como Python sería lo suficientemente rápido como para hacer los cálculos que necesito? Es de suponer que se estaría ejecutando en un sistema bastante rápido, y podría aprovechar los procesadores centrales 2^n que Intel sigue lanzando.

¿Puede alguno de ustedes compartir su experiencia y consejos sobre la interfaz con instrumentos musicales y luces y similares?

¿Tienes alguna idea o sugerencia? ¿Crítica fría y dura?

Gracias por su tiempo en leer esto, y por cualquier consejo! (Y perdón por la broma en las etiquetas, no me pude resistir.)

+0

esto suena vagamente similar a los gráficos en espiral que la mayoría de los reproductores de medios generarán en base a un MP3, excepto con el componente adicional de cambiar los instrumentos, ¿o lo leí mal? – warren

+0

Creo que en su corazón, tiene razón, aunque los visualizadores son solo de una manera: música-> gráficos, donde esto sería en ambos sentidos: la música puede afectar la iluminación y similares, y el sistema puede afectar los sonidos del instrumentos. – mindvirus

Respuesta

6

La gente ha usado Max MSP para hacer este tipo de cosas con Midi y crear acompañamiento de video, o simplemente Midi. Es una aplicación completamente de dominio específico, que probablemente se inspiró en una pequeña charla o algo, que casi ningún programador real podría amar, pero los programadores músicos sí.

A pesar del texto en el sitio al que acabo de vincular, y el hecho de que "todos" usan la versión comercial, no siempre fue un producto comercial. Ircam finalmente lanzó su propio lineage. Se llama jMax. PureData, mencionado en otro post aquí, es otra reescritura de ese linaje.

También hay CSound; que no estaba destinado a ser en tiempo real, pero es probable que pueda ser bastante en tiempo real ahora que tiene una computadora decente en comparación con donde comenzó CSound.

Algunas personas también han hackeado extensiones de Macromedia Director para permitir hacer cosas midi en Lingo ... Eso es muy obsoleto, y por lo tanto, algunos de ellos se han movido a entornos de Adobe more modern.

1

he utilizado muy ampliamente PyAudio para hacer frente a las entradas de audio primas, y nos pareció que estaba muy unpythonic, que actúa mucho más como un muy envoltura delgada sobre código C. Sin embargo, si está tratando con midi, en lugar de formas de onda sin procesar, entonces sus tareas son bastante más simples, y python debería ser lo suficientemente rápido, a menos que juegue a 10000 beats por minuto :)

Algunos de los problemas : detección de simultaneidad, análisis armónico (formal, es decir, estructura de cuerda).

Esto también es un problema 80/20 que si restringe las progresiones de acordes permitidas, entonces se vuelve un poco más simple. Después de todo, ¿qué significa "jugar junto", de todos modos, ¿verdad?

(Además, en confesiones de música electrónica también he estado, hay mucha gente haciendo varios experimentos de acompañamiento en tiempo real basados ​​en el sonido y movimiento de entrada). ¡Buena suerte!

+0

Creo que como primer objetivo, el software detectaría un disparador de notas, y solo haría sonidos ambientales, quizás adivine la firma de la tecla. ¿Cuáles son los nombres de estas conferencias de música electrónica? Si otras personas están haciendo esto, sería genial ponerse en contacto con ellos. – mindvirus

+0

http://spark.cla.umn.edu/ Spark Festival of Electronic Music ... pero creo que la mayoría de las grandes escuelas de música electrónica podrían tener proyectos similares. –

2

Mire PureData. Puede hacer un extenso análisis midi y la gente lo usa para el desempeño.

De hecho, aquí hay un video que parpadea más allá de una pantalla de datos puros. Muestra a alguien interactuando con un instrumento bastante complejo usando PD.

Además, mira CSounds.

1

También puede consultar ChucK y SuperCollider, los dos lenguajes de programación musical en tiempo real más populares.

Además, puede que se sorprenda de lo mucho que puede lograr con los racks Ableton Live.

(. Y es CSound No 's' al final)

1

véase también:

tengo ni idea de si el segundo es realmente real o vale la pena mirarlo. Keykit, sin embargo, es.

1

Puede contactar a Gary Lee Nelson en el TIMARA department en Oberlin. Hace 20 años hice un proyecto que generó automáticamente la sección rítmica para blues de 12 compases y recuerdo que describió una herramienta que él conocía que básicamente hacía lo que usted describía.

1

que podría estar interesado en GenJam

0

La respuesta a su pregunta es no - no estás loco. Existen sistemas similares, pero su descripción es bonita vaga para empezar, por lo que no es una gran diferencia para juzgar.

Le sugiero que comience a escribir un prototipo y vea cómo funciona. Algo extremadamente pequeño y simple. Los sistemas existentes se condenan.

Estoy usando C++ en win32 api (no mfc). Comencé a escribir mi secuenciador en el Amiga500. No enciende luces, pero hay mucho que hacer con solo música.

Buena suerte para usted. Es un proyecto EXTREMADAMENTE divertido. Yo diría "no": modele su proyecto sobre cómo funcionan otros proyectos. Porque, si me preguntas, no funcionan tan bien;) Y lo divertido es poder hacer algo diferente.

Cuestiones relacionadas