Derivadas con FL Studio

  • 1
SG-Bass
#1 por SG-Bass el 12/09/2012
Bueno esto sirve para obtener la derivada de una automatización. Se ha usado el plugin formula controller que viene con FL Studio.
En el primer Formula controller tenemos la automatización (función), y en segundo su derivada.

Espero que les guste. A los interesados les explico como crearlo.
Subir
OFERTASVer todas
  • -7%
    Modal Argon8 (B-Stock)
    559 €
    Ver oferta
  • -26%
    Slate Digital ML-1 Matte Black
    325 €
    Ver oferta
  • -40%
    Roland SPD-20 Pro BK Octapad
    398 €
    Ver oferta
mr_bluejay
#2 por mr_bluejay el 12/09/2012
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!
Subir
SG-Bass
#3 por SG-Bass el 12/09/2012
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.
Subir
SG-Bass
#4 por SG-Bass el 12/09/2012
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.
Subir
mr_bluejay
#5 por mr_bluejay el 12/09/2012
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
Subir
SG-Bass
#6 por SG-Bass el 12/09/2012
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!
Subir
geminis
#7 por geminis el 13/09/2012
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.
Subir
SG-Bass
#8 por SG-Bass el 13/09/2012
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.
Subir
geminis
#9 por geminis el 14/09/2012
si por eso nunca uso ogun XD por que temo que el sonido que me guste despues no lo encuentre jamas :P
muy bien lo del formulla controller,
Subir
albergonzago
#10 por albergonzago el 23/09/2012
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
Subir
SG-Bass
#11 por SG-Bass el 23/09/2012
75b21ee0265d85cf1609aada2d6bd-3379497.png

En la imagen vemos un fade-out (Volume) de un sample de voz. justo donde empieza el fade-out, se activa una automatización que controla el input de un módulo de delay.

Si sabemos algo de matemáticas, podemos ver que la automatización del delay guarda relación con la derivada de la automatización Volume. La relación es la siguiente:
Auto.Delay(t) = - d/dt [Auto.Volume(t)]
...con lo que nos podemos "ahorrar" una automatización. Si en nuestra canción siempre que nosotros hagamos un fade-out en ese sample de voz lo acompañaremos de un delay, programando el fórmula controller de forma adecuada nos podemos despreocupar de la automatización "delay", pues SIEMPRE irá en consonancia con la automatización Volume. Ya sabemos que donde haya una "rampa" se activará el delay.
Subir
SG-Bass
#12 por SG-Bass el 23/09/2012
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).
Subir
albergonzago
#13 por albergonzago el 02/10/2012
Oh, qué bueno tío y muchas gracias por el mensaje, se me olvidó seguir el hilo. ¿Estudiaste matemáticas o algo?
Subir
SG-Bass
#14 por SG-Bass el 02/10/2012
Sigo estudiando, así que todo este tema lo llevo fresco :-)
Subir
geminis
#15 por geminis el 03/10/2012
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
Subir
Nuevo post

Regístrate o para poder postear en este hilo