Pregunta

Hace un par de semanas, mi profesor de piano y yo estábamos intercambiando ideas sobre el software de música de composición. La idea fue esta:

Hay un sistema que toma la entrada midi de un grupo de instrumentos y empuja la salida a los altavoces y las luces. El software que se ejecuta en este sistema analiza los datos midi que está obteniendo 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 clave al sonido de piano ), pedales, o análisis en tiempo real real de la música. Controlaría las luces en función de la interpretación y los sonidos de los instrumentos de manera similar (el músico solo tendría que especificar vagamente lo que querían) y el análisis en tiempo real de su interpretación haría el resto. Sobre la marcha, la música generada de manera procesal también puede tocar junto con el músico. Esencialmente, el software jugaría junto con el ejecutante, con uno guiando al otro. Me imagino que tomaría algo de práctica acostumbrarse a un sistema así, pero que podría tener resultados bastante increíbles.

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

Entonces, ahora para las preguntas.

¿Estoy loco?

¿Ya existe software para hacer algo o todo esto? He investigado un poco y no he encontrado nada. La clave de este sistema es que se ejecuta durante el desempeño.

Si escribiera algo como esto, ¿un lenguaje de scripts como Python sería lo suficientemente rápido para hacer los cálculos que necesito? Presumiblemente, se ejecutaría 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 cómo interactuar con instrumentos musicales, luces y similares?

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

¡Gracias por su tiempo en leer esto y por todos y cada uno de los consejos! (Y perdón por la broma en las etiquetas, no pude resistirme).

¿Fue útil?

Solución

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

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

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

Algunas personas también han pirateado las extensiones de Macromedia Director para permitir hacer cosas de midi en Lingo ... Eso es muy anticuado, y por lo tanto, algunas de ellas se han mudado a más modernos entornos Adobe.

Otros consejos

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

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

También, consulte CSounds .

He usado PyAudio bastante extensamente para tratar con entradas de audio sin procesar, y encontré que es muy poco hippónico, actuando mucho más como una envoltura delgada muy sobre el código C. Sin embargo, si estás tratando con midi, en lugar de formas de onda sin procesar, entonces tus tareas son bastante más simples, y Python debería ser lo suficientemente rápido, a menos que juegues a 10000 latidos por minuto :)

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

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

(También, en música electrónica conf. También he estado, hay muchas personas haciendo varios experimentos de acompañamiento en tiempo real basados ??en el sonido de entrada y el movimiento). Buena suerte!

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

Además, es posible que se sorprenda de cuánto puede lograr con los racks Ableton Live .

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

vea también:

No tengo idea de si el segundo es real o vale la pena verlo. Keykit, sin embargo, es.

Puede ponerse en contacto con Gary Lee Nelson en el departamento de TIMARA en Oberlin. Hace 20 años hice un proyecto que generó automáticamente la sección rítmica para 12 compases de blues y lo recuerdo describiendo una herramienta que él sabía que hacía esencialmente lo que estás describiendo.

Te puede interesar GenJam

La respuesta a tu pregunta es no, no estás loco. Existen sistemas similares, pero su descripción es bonita. vago, para empezar, por lo que no es una especificación para juzgar en contra.

Le sugiero que comience a escribir un prototipo y vea cómo lo hace. Algo extremadamente pequeño y sencillo. Los sistemas existentes están condenados.

Estoy usando c ++ en win32 api (no mfc). Comencé a escribir mi secuenciador de nuevo en el Amiga500. No hace luces, pero hay mucho que hacer solo en la música.

Buena suerte para ti. Es un proyecto extremadamente divertido. Yo diría -no- modelar su proyecto sobre cómo funcionan otros proyectos. Porque, si me preguntas, no funcionan tan bien;) Y la diversión es poder hacer algo diferente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top