son0p / EscuelaDeExperimentos

Escuela de electrónicas eXtrañas
GNU General Public License v3.0
1 stars 4 forks source link

¿Cómo sincronizarnos a otro instrumento? #14

Open son0p opened 10 years ago

son0p commented 10 years ago

Tenemos música generada por código, por circuit bending, ruido mecánico etc. ¿Cómo sincronizamos esas prácticas extrañas a un beat de otros instrumentos ?

son0p commented 10 years ago

Respuestas consolidadas de los comentarios abajo

Conductor en PureData

Envía OSC, y posición del beat en el compás, tiene metrónomo visual. https://github.com/Kaziuz/codesPD/tree/master/bpmsendosc

Lectores de OSC para diferentes "instrumentos"

ChucK Recibe OSC y cuenta el tiempo entre ticks para entregar BPM https://github.com/son0p/ChucKSocial/blob/master/OSCReceiver.ck

Processing http://youtu.be/3rzbtI0uEbM

Para instrumentos mecánicos

Quizá un control de velocidad de los motores, que funcione como el pitch de un tornamesa y con eso el operador pueda ir acelerando o frenando el tempo para estar en sincronía.

Metrónomo visual

Podría ayudar a músicos de instrumentos tradicionales a un conductor electrónico. Del código de luup de Harrry Harren podríamos encontrar como extraer el metrónomo visual que trae su aplicación https://github.com/harryhaaren/openAV-Luppp/tree/master/src

Kaziuz commented 10 years ago

Tomare el referente de fede, este fin de semana y hoy estare trabajando en un patch en Puredata para que todos podamos sincronizarnos via OSC

Kaziuz commented 10 years ago

E construido el metronomo/patch en pd, ahora hago una corta descripción. Posee control de BPM (beats por segundo), posee también un control para escojer si estamos en 4/4 o 6/8, ademas de ello tiene un mute, una caja con información de la negra en la cual esta el bpm y finalmente un start/stop. Falta agregarle un control al BPM para aumentar o disminuir la velocidad por medio de las teclas del computador. La parte de OSC solo envia el tick del metronomo, ya con esa información, cada interprete puede sincronizarse con los demas musicos electronicos en vivo, ademas de los ensambles con demas musicos tradicionales. Sugerencias ?

Kaziuz commented 10 years ago

Si alguien quiere piyarlo => https://github.com/Kaziuz/codesPD/tree/master/bpmsendosc

rvega commented 10 years ago

Elegante!! Que haría un patch/programa al recibir el tick?

2014-03-01 0:32 GMT-05:00 Johnny Sepulveda notifications@github.com:

Si alguien quiere piyarlo => https://github.com/Kaziuz/codesPD/tree/master/bpmsendosc

— Reply to this email directly or view it on GitHubhttps://github.com/son0p/eeleX/issues/14#issuecomment-36416897 .

son0p commented 10 years ago

ChucK podría medir el tiempo entre un tick y otro (aun no sé como pero le trabajaré) y con ese intervalo subordinar una clase BPM que podría ser usada por los patches para andar.

rvega commented 10 years ago

Hey, ya está inventado ;) http://puredata.hurleur.com/sujet-2491-jack-synchronization

2014-03-01 11:43 GMT-05:00 federico lopez notifications@github.com:

ChucK podría medir el tiempo entre un tick y otro (aun no sé como pero le trabajaré) y con ese intervalo subordinar una clase BPM que podría ser usada por los patches para andar.

— Reply to this email directly or view it on GitHubhttps://github.com/son0p/eeleX/issues/14#issuecomment-36429362 .

rvega commented 10 years ago

https://svn.code.sf.net/p/pure-data/svn/trunk/externals/tb/jack_transport/

2014-03-01 12:01 GMT-05:00 Rafael Vega rvega@elsoftwarehamuerto.org:

Hey, ya está inventado ;) http://puredata.hurleur.com/sujet-2491-jack-synchronization

2014-03-01 11:43 GMT-05:00 federico lopez notifications@github.com:

ChucK podría medir el tiempo entre un tick y otro (aun no sé como pero le

trabajaré) y con ese intervalo subordinar una clase BPM que podría ser usada por los patches para andar.

— Reply to this email directly or view it on GitHubhttps://github.com/son0p/eeleX/issues/14#issuecomment-36429362 .

rvega commented 10 years ago

Hmm. pero se me olvidaba que también hay que conectar a chuck.... :/ Tal vez si con el tick también mandás el bpm y el tipo de compás?

2014-03-01 12:04 GMT-05:00 Rafael Vega rvega@elsoftwarehamuerto.org:

https://svn.code.sf.net/p/pure-data/svn/trunk/externals/tb/jack_transport/

2014-03-01 12:01 GMT-05:00 Rafael Vega rvega@elsoftwarehamuerto.org:

Hey, ya está inventado ;)

http://puredata.hurleur.com/sujet-2491-jack-synchronization

2014-03-01 11:43 GMT-05:00 federico lopez notifications@github.com:

ChucK podría medir el tiempo entre un tick y otro (aun no sé como pero le

trabajaré) y con ese intervalo subordinar una clase BPM que podría ser usada por los patches para andar.

— Reply to this email directly or view it on GitHubhttps://github.com/son0p/eeleX/issues/14#issuecomment-36429362 .

Kaziuz commented 10 years ago

El BPM construido en Pd, manda el tick, su posición y el tipo de compás, pero solo manda el número de arriba, que es el que informa cuantos pulsos hay en cada compás. Me parece que el número de abajo, que es el que informa cuantas figuras caben en el compás, se puede sacar por intuición.

Kaziuz commented 10 years ago

http://www.youtube.com/watch?v=3rzbtI0uEbM&feature=youtu.be

rotativa commented 10 years ago

me pueden confirmar la hora de l reunion el lunes, gracias

2014-03-01 16:01 GMT-05:00 Johnny Sepulveda notifications@github.com:

http://www.youtube.com/watch?v=3rzbtI0uEbM&feature=youtu.be

Reply to this email directly or view it on GitHubhttps://github.com/son0p/eeleX/issues/14#issuecomment-36436485 .

Kaziuz commented 10 years ago

logre conectar el patch de pd a un juguete de dani. Esta funcionando re-brutal. Comparto el esquematico en github por medio de fritzing.https://github.com/Kaziuz/codesPD/tree/master/bpmsendosc/Conexion%20Arduino Rafa -> nose si podramos quemar el pcb que hice en el programa, además nose si este bien, para ahorrarnos espacio y esa telaraña de cables que siempre se hace.

Es algo parecido a esto: http://www.youtube.com/watch?v=MTgn4PLPB0Y

Creo que en el viernes habiamos quedado a las dos para reunirnos el lunes ?

rotativa commented 10 years ago

ok 2 :pm gracias

El 1 de marzo de 2014, 20:15, Johnny Sepulveda notifications@github.comescribió:

logre conectar el patch de pd a un juguete de dani. Esta funcionando re-brutal. Comparto el esquematico en github por medio de fritzing. https://github.com/Kaziuz/codesPD/tree/master/bpmsendosc/Conexion%20Arduino Rafa -> nose si podramos quemar el pcb que hice en el programa, además nose si este bien, para ahorrarnos espacio y esa telaraña de cables que siempre se hace.

Es algo parecido a esto: http://www.youtube.com/watch?v=MTgn4PLPB0Y

Creo que en el viernes habiamos quedado a las dos para reunirnos el lunes ?

Reply to this email directly or view it on GitHubhttps://github.com/son0p/eeleX/issues/14#issuecomment-36442700 .

son0p commented 10 years ago

Un intento rudimentario para que ChucK calcule los BPM a partir de la duración entre ticks que llegan por OSC, no es muy preciso por ahora pero sirve para cosas que no sean percusión https://github.com/son0p/ChucKSocial/blob/master/OSCReceiver.ck

Video : http://youtu.be/L0SUHs7PSw8

son0p commented 10 years ago

Ya tenemos un posible conductor en PureData, que conecta con ChucK y eventualmente con cualquier cosa que lea OSC, Johnny además del conductor hizo algo para arduino que conectaría los jugetes de Daniel Luna y si arduino mueve motores pues estaría también solucionada la sincronización con Pedro y sus artefactos mecánicos.

¿Pipe .. podrías investigar como controlar el tempo de AbletonLive desde OSC?

por acá ya estan trabajando en un external para Pd que integra ZeroMQ, ya veremos si eso es una alternativa para OSC que ventajas y desventajas tiene.

https://github.com/sansculotte/pd-zmq

rvega commented 10 years ago

Puede servir, alguna vez lo usé: http://createdigitalmusic.com/2010/03/hacking-ableton-live-unofficial-osc-scripting-for-more-control/

2014-03-03 10:30 GMT-05:00 federico lopez notifications@github.com:

Ya tenemos un posible conductor en PureData, que conecta con ChucK y eventualmente con cualquier cosa que lea OSC, Johnny además del conductor hizo algo para arduino que conectaría los jugetes de Daniel Luna y si arduino mueve motores pues estaría también solucionada la sincronización con Pedro y sus artefactos mecánicos.

¿Pipe .. podrías investigar como controlar el tempo de AbletonLive desde OSC?

por acá ya estan trabajando en un external para Pd que integra ZeroMQ, ya veremos si eso es una alternativa para OSC que ventajas y desventajas tiene.

https://github.com/sansculotte/pd-zmq

— Reply to this email directly or view it on GitHubhttps://github.com/son0p/eeleX/issues/14#issuecomment-36520779 .

Kaziuz commented 10 years ago

Desde este lunes y venido ensayando el BPM que hice en pd, pero nose si sea yo o la programación echa en pd ( creo mas bien que es en la programación). Resulta que e puesto diversidad de música a reproducirse en el computador y con un Tap sincronizar el bpm de pd a oido con lo que se esta oyendo. Aquí viene lo malo, los primeros 4 golpes se sincronizan, de resto el bpm se desincroniza con la musica y a las 4 o 5 vueltas se resincroniza solo. Otro experimento que hice fue abrir ableton live y sincronizar su Tempo con una canción reproducida en VLC, y este bpm también tiene el mismo error.

Creo fervientemente que un bpm para sincronizarnos con músicos no funcionara. Encontre una alternativa para esto, se trata de un programa que trabaja con externals en pd, voy hay explicarles como entendi. Es algo que funciona con reconocimiento de patrones e inteligencia artificial. No sabria como hacer una implementación de esto para resolver nuestro problema. adjunto el texto por aqui. https://docs.google.com/document/d/1UajJkH3n9xPCylRlRFlaYi-sQHUXA3DDw5pcMTg_tOo/edit

son0p commented 10 years ago

No me dió acceso al documento, interesante el experimento de reconocimiento de patrones e inteligencia artificial.

Por ahora para nuestro ejercicio es perfecto el Tempo y el incremento preciso por pasos (como el pitch del tornamesa) que desarrollaste en Pd.

El operador va ajustando el tempo durante el ensamble de acuerdo al director (humano), lo he hecho y es muy fácil.

El descuadre del tempo te pasará con cualquier tap, no solo en pd, .. el tap tempo te da un acercamiento al tempo pero para ajustarlo y mantenerlo es necesario los incrementos manuales en pequeños pasos, el tap es muy impreciso.. sirve como para tener una primera noción.

Con el incremento manual preciso .. con flotante, a veces puedes lograr que el pd se quede sincronizado durante toda la canción (ej: 120.65) .. obviamente si la canción a la que te estas pegando fue grabada con un tempo estable, en algunos géneros es usual cambiar un poco el tempo de la canción .. ej en la salsa ..en la parte de la campana (el mambo) algunos productores le suben dos puntos al tempo.

electropipe commented 10 years ago

Desde mi DAW (Sonar X2) se puede sincronizar con otros dispositivos mediante Midi, y puede funcionar como Master o como esclavo!http://www.youtube.com/watch?v=ap95kJw_3gs ...pero necesito hacer pruebas con el Metrónomo de PD de John!

Con respecto a el resto de la conversación, estoy sano, soy una mente inferior en este tema.

DanielLuna commented 10 years ago

Una solución análoga sería cerrar y abrir las salidas de audio (si el sonido es constante) con relés controlados por arduino