Pure Data: Botón Tap Tempo

Que tal, volvio a salir otra pregunta con respecto a pure data. Esta vez fue como hacer un boton tap tempo y esto fue lo primero que se me ocurrio.

Pure Data tiene un objeto que se llama [timer] que se encarga de medir cuantos milisegundos se tarda uno en dar 2 bangs, asi que creamos un par de bangs y conectamos estos dos bangs, uno al inlet izquierdo y otro al inlet derecho del objeto [timer].

 

Photobucket

Una cosa que hay que recalcar es que este objeto rompe con la lógica de pure data al manejar datos. Por lo general la información hacia los objetos se tiene que dar de derecha a izquierda, ya sea un bang, número, lista, símbolo... lo que sea. [timer] es todo lo contrario, primero debe de recibir un bang en el inlet izquierdo y luego en el inlet derecho para obtener el resultado. Una vez que obtengamos el resultado en milisegundos necesitamos convertirlo a bpm, para eso usamos un objeto [expr] con la siguiente formula

 

Photobucket

X divide el numero de milisegundos que hay en un minuto (sesenta mil).

En pd esto se ve asi

Photobucket

Con esto deberia de ser suficiente pero es un poco incomodo estar moviendose entre dos bangs asi que mi solucion fue usar dos objetos [sel] uno con el argumento 0 y otro con el argumento uno y conectar un objeto [toggle] a los dos. Recordemos que el [toggle] saca un 1 como valor al "prenderlo" y un 0 al "apagarlo". Finalmente los objetos [sel] los conectamos a sus respectivos bangs y listo! asi solucionamos el problema de estar moviendonos entre 2 bangs.


Photobucket

Si dudan de la exactitud de nuestro nuevo botón tap tempo pueden conectar un objeto [metro] con un argumento de 1000 para que saque un bang cada segundo y al final el bpm les debe de dar 60. Eso es todo por hoy. Nos vemos en el proximo post...

 

EXPERIMENTEN!!

Roberto Aramburu
EL AUTOR

Roberto es una criatura que siente curiosidad sobre todo aquello a lo que la gente llama sonido, audio, programación, electrónica DIY y hacking.

¿Te gustó este artículo?
0
Comentarios
  • #1 por Nico Auvieux el 30/07/2011
    Buenisimo! Muchas gracias de nuevo! ;)
  • #2 por Nico Auvieux el 31/07/2011
    Estuve "experimentando" ;) con esto del tap tempo y encontre otras opciones parecidas para hacerlo y parece que funcionan tambien.

    http://files.soniccdn.com/images/photos/640/22458.jpg

    Solo me queda la duda de si es lo mismo usar dos [sel] que uno solo.

    Saludos :teclear:
  • avatar
    #3 por --117771-- el 31/07/2011
    yahuuu!!

    la que me dejo pensando es el que usa el objeto [trigger], jamas se me hubiera imaginado usarlo ya que en mi cabeza [trigger] siempre mandaba los bangs de derecha a izquierda y [timer] no recibe los bangs asi pero parece que si funciona... todavia no le entiendo si me puedes explicar estaria muy bien.
    Usar un [sel] creo que seria mas elegante y se ve mas limpio el patch.
    Gracias y saludos! :birras:
  • #4 por Nico Auvieux el 01/08/2011
    En realidad primero probe conectando [trigger] y [timer] cruzados, la salida izq de [trigger] a la entrada der de [timer] y viceversa, pero no funciono :?
    Entonces se me ocurrio conectarlos directos (izq con izq y der con der) y ahi funcionó!!!

    Pero en realidad no se bien por que :-k

    El problema que tienen estos patchs es que siempre hay que hacer tres bangs por lo menos, el primero resetea [timer] y los otros dos sirven para calcular el tiempo...

    Seguiremos investigando! jeje
    Saludos y a experimentar!!!