Me gusta mucho la verdad, podrias explicar como conseguirlo? siempre veo la misma formula abajo y se me hace raro... osea para derivar una senoidal ( un seno mismo ) su derivada deberia de ser el coseno, y digo yo, que donde pone formula deberia de estar sin y no "a" como sale a cada momento, aunque bueno repito que no se como funciona el programa.
Estoy interesado en saber como se hace la verdad, me parece muy curioso!
Un saludo crack!
Bueno en primer lugar, decir que para hacer el video, he generado las formas de onda (triangular, senoidal, rectangular...) a partir de un automation clip, que a su vez va vinculado al knob 'a' del primer formula controller del video (Funcion). De este modo puedo generar cualquier automaitzación "dibujandola" y en consecuencia, derivar cualquier forma de onda. Dicho de otro modo, el primer formula controller que aparece es a modo de "visualizador" de la automatización que nos proponemos derivar, para poder comparar gráficamente la automatización de entrada (Function) con la de salida (Derivative). No obstante, con esto se puede derivar cualquier tipo de automatización (Automation clips, formula controllers, events, peak controller...).
Por el comentario que has hecho acerca del seno y el coseno, doy por supuesto que sabes derivar funciones o que almenos lo has visto alguna vez en tu vida de estudiante, pero quizás convenga refrescar un poco de donde aflora el concepto de "derivada" para entender lo que sigue.
La derivada no es más que el estudio del incremento de una función en un intervalo muy pequeño, es decir, nos dice de forma cuantitativa la inclinación de la función en un determinado punto.
En el caso de funciones cuya variable es temporal (caso que nos ocupa), esto se reduce al estudio del incremento de la función en un periodo de tiempo suficientemente corto (1 o 5ms)
f'(t) = [f(t) - f(t-h)]/h
Donde h es dicho incremento de 1 o 5ms.
(Para funciones continuas, se estudia el límite de esta operación cuando h tiene a 0, pero para implementarla en formula controller nos será suficiente tomar los valores mencionados)
Entonces, necesitamos:
La función: f(t) AUTOMATIZACIÓN -> knob 'b'
La funcion retardada: f(t-h) AUTOMATIZACIÓN RETARDADA -> knob 'c'
Por lo tanto, en nuestro derivador (segundo formula controller del video):
1) Automatizamos el knob 'b' con la funcion que deseamos derivar: clic derecho, link to controller...
2) Automatizamos el knob 'c' con la funcion que deseamos derivar, pero LO RETRASAREMOS: clic derecho, link to controller...
3) PARA RETRASARLO, en el panel "link to controller" de el knob 'c', disponemos de la opción SMOOTHING, que sirve para suavizar automatizaciones en base a retardos. Assignamos la perila 'time' al mínimo posible, casi al centro, ligeramente hacia la izquierda: 1 Pole @ 2ms
4) Escribimos la fórmula que calcula la diferencia: (b-c)
5) Escalamos (compensamos), pues la operación anterior suele dar valores del orden de "2ms = 0,002": 100*(b-c)
6) Centramos, añadieno elevando hasta la mitad: 100*(b-c) + 1/2
7) Añadimos el knob 'a' para poder ajustar la amplitud de la derivada en caso que nos sea necesario: a*100*(b-c) + 1/2
Espero haberme explicado con claridad.
NOTA: Funciona solo para FL (extended memory). Por razones que desconozco, no funciona correctamente en FL normal.
SOLUCIÓN: En FL standard, hay que realizar el paso 3 con la siguiente modificación: Assignamos la perila 'time' al mínimo posible, casi al centro, ligeramente hacia la derecha: 3 Pole @ 10ms. Se obtiene en su lugar una buena aproximación de la derivada.
Vale vale, lo que haces con esto es hacer la Tasa de Variación Media (TMV) generando limites (cuando dices que a ser posible tendiendo a cero) y uniendo el conteo de todos los resultados que obtiene el programa como un espectro continuo.
La verdad nunca había pensado en meter matemática fuerte al sonido, o sea, se que los sintetizadores usan síntesis aditiva que se explica por Series de Fourier por ejemplo, pero no había caído en intentar pelearme con el programa para ver si podía aplicar lo que se de matemática.
Muy buen post, me has hecho dar curiosidad por hacer las cosas con más cabeza, muchas veces cuando se trastea con FL se va a la loca intentando conseguir sonidos mágicos girando perillas, cuando nos olvidamos que el sonido aparte de ser ritmo y sentimiento, también es una ciencia bastante seria y que muchas veces nos la tomamos a la ligera.
Si esto fuera Taringa te daba 100 puntos jejeje
Exactamente, TMV.
OJO! con esto no generas "sonidos", sino automatizaciones. Formula controller es como un automation clip, un control para que actue sobre knobs o faders, nada más. No obstante sí me gustaria un plugin que pudiese generar sonidos a partir de fórmulas. Lo busqué, pero no lo encontré. Yo esque le meto matemáticas hasta a las sopas de letras jaja.
Saludos!
osea que este metodo de formula controller es para generar automatizaciones exactas??
por cierto hay un plugin que se llama ogun del fl y mediante numeros y formulas alazar crea sonidos, tiene mas de 2 billones de sonidos supuestamente.
Correcto, la gran ventaja que ofrece formula controller con respecto a las demás automatizaciones es que puedes generar automatizaciones de forma EXACTA, si lo deseas. Aunque para muchos eso tampoco es una ventaja añadida, para mi sí lo es, ya que me gusta basar mi música en este tipo de cosas.
Conozco Ogun, suena muy bien para mi gusto, pero no sé qué algoritmo usa para generar el sonido a partir de el número que escribes, con lo que para mi, ese es el "defecto" que tiene ... ¡Aunque es un gran plugin eh! pero desde el punto de vista del usuario se introducen números "al azar", lo cual no nos da un control sobre la forma de onda que se va a generar una vez introducido el número. Lo de los números en Ogun lo veo como algo más bien anecdótico que cientifico (que seguramente detrás de esos numeros hay su ciencia pero no nos es accesible). Si supieramos el método que usa el plugin para generar determinado sonido a partir de determinado número, sabriamos que número introducir para conseguir determinado sonido, nose si me explico o si me repito jeje.
Con lo de un plugin que generara "sonidos a partir de fórmulas" me referia más bien a que si introducimos por ejemplo...
s(t) = sin(2*pi*220*t)*2^(-t)
...nos generase un "La" senoidal con un decay exponencial. Y bueno, eso con cualquier tipo de función matemática... supongo que habira que recurrir a mathlab y guardar las formas de onda en *.wav, nose.
Sí, sería buenísimo un plugin en el que metas la función que quieras y genere esa onda sonora! Pero, respecto a lo del formula controller, ¿Qué utilidad tiene la derivada para generar una automatización?
PD: Me encanta ver que haya gente que le gusten las matemáticas jaja
PD: Matizo algo que veo que puede no entenderse bien si no se domina el lenguaje matemático:
Auto.Delay(t) = - d/dt [Auto.Volume(t)] -> La automatización del Delay es la derivada de la automatización Volume. El signo "menos" simplemente nos dice que frente a una variación negativa de la automatización volume (hacia abajo) la derivada debe tener una respuesta positiva (pulso hacia arriba).
Oh, qué bueno tío y muchas gracias por el mensaje, se me olvidó seguir el hilo. ¿Estudiaste matemáticas o algo?
dicen que a un musico se le facilitan las matematicas por toda la teoria que tiene que estudiarse... pero evidentemente en mi caso no aplica por que no entiendo ni papa, bueno si pero hace mucho deje las matematicas y me cuesta mucho entenderlas XD