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].
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
X divide el numero de milisegundos que hay en un minuto (sesenta mil).
En pd esto se ve asi
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.
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!!