Voy a intentar dar una explicación de la convolución. Lee despacio, y aunque no te gusten las matemáticas, imagina lo que se quiere decir. Si odias, lo matemático, pasa diréctamente a la sección d)
a) Sistema lineal
En teoría de sistemas, una representación básica es esta:
entrada-->|sistema|-->salida
Un oscilador, es un sistema, un vsti (a veces) también, una guitarra, una botella, etc. Normalmente, en la idealización "sistema matemático" , un sistema tiene una serie de entradas, o datos que le damos, y recibimos generosamente, otros datos de salida.
En concreto cuando el sistema es lineal, ocurre que:
1) si entra la suma de dos señales, la salida será proporcional, a la suma de las dos salidas correspondientes a las dos entradas por separado.Por ejemplo
e1+e2-->|sistema|-->(s1+s2)*v
2) Si multiplicamos la entrada por un valor, obtendremos en la salida, otro valor multiplicado también proporcionalemente
b) Convolución
es una operación matemática. Definida como una integral que multiplica, con unas condiciones especiales dos funciones--> I(f(t-x)*g(x)dx) entre 0 y t. Bueno para comprenderlo, esto es lo de menos. Es una multiplicación especial...
c) Convolución en la teoría de sistemas.
Hay un teorema matemático, que dice que si un sistema es lineal, aun sin conocer su funcionamiento interno, podemos saber que salida daría a una entrada determinada SÓLO sabiendo su respuesta a un impulso (llamado en matemática delta de Dirac)
entrada impulso-->|sistema|-->salida al impulso
Es decir, si conozco cómo responde el sistema a un impulso en la entrada. Independientemente cómo funcione, puedo saber que "sacará" por la salida para cualquier entrada. ¿cómo?. Haciendo la operación matemática convolución de la entrada, con la salida a la función impulso.
d) Cocktel con lo anterior:
Un sistema, puede ser una unidad de reverb, un amplificador, un resonador, etc...Si construyo en algoritmo en forma de "sistema lineal", sólo tengo que conocer cómo se comporta ante un impulso, para poder predecir, cómo se comportará ante cualquier señal de entrada.
Ventajas: Conociendo la reverb de una sala, cuando "toco" un impulso (chasquido), estoy conociendo, como se comporta la sala como si fuera un sistema lineal. Para saber cómo se comportaría la sala ante otro sonido, sólo tengo que convolucionar el sonido con la respuesta al impulso. Igual ocurre con filtros de imágenes, moduladores, y otras cosas que no tienen que ver con el sonido.
Inconvenientes: El cálculo integral, debe hacerse "en tiempo real". Además, si el chasquido (la teoría habla de un chasquido imposible ideal, los reales, siempre son aproximaciones...) no es bueno, tampoco lo será la simulación.
(Usar la convolución en imagen es aun más difícil, pues hay que trabajar con matrices grandes.....)