Esto es un curso de matematicas y mucha logica.
El minimo valor del tempo es 10 y el maximo 999. Un knob normal asociado al tempo (Input) por lo tanto recorrera un valor de entre 0 y 989, a lo que se correspondera a los valores de tempo de 10 y 999. Esto quiere decir que cada valor salido del knob, FL Studio le "suma" 10 y ese es el tempo.
El tempo va a variar con el knob de forma lineal, asi que usaremos una recta. Tenemos ademas dos datos:
1. Cuando el Input sea 0 el tempo sera 70 (+10 que le suma el visor como se hablo antes, 80)
2. Cuando el Input sea 1 el tempo sera de 120 (+10 = 130)
La ecuacion de una recta es: Y = Ax +B, donde x va a ser el input e Y el tempo resultante sin sumarle los 10.
70 = A·0 +B
120 = A·1 + B
Resolviendo el sistema de ecuaciones: A= 50; B = 70. Por lo tanto nuestra recta sera:
Y = 50Input + 70
Pero como los controles internos de FL Studio van entre 0 y 1, no puedo pasarle al control del tempo un valor de 110 BPM, se volveria loco sobresaturandose. Lo que tengo que hacer es hacer la recta unitaria con respecto al maximo valor del tempo. Como se hace esto? Dividiendo el segundo miembro por el valor maximo del tempo (989), por lo tanto queda:
Y = (50Input + 70) / 989
Ahora Y sera un valor comprendido entre 0 y 1, que respondera a otro valor Y comprendido entre 0 y 1 (Input). Esa es la formula por tanto que hay que aplicar.
Ale listo