Síntesis aditiva

La síntesis aditiva es una de las primeras técnicas de síntesis, y tiene sus orígenes en la música electrónica.
Esta técnica encuentra sus fundamentos en los descubrimientos del físico francés Jean Baptiste Joseph Fourier (1768-1830), quien reveló que cualquier onda compleja periódica puede ser descompuesta en una serie de ondas simples o sinusoidales. Basada en estos principios, la síntesis aditiva consiste en construir sonidos complejos a partir de la sumatoria de sonidos sinusoidales de diferentes amplitudes, frecuencias y fases.
La síntesis aditiva, expresada en forma de ecuación, queda definida como:





Otra manera de entenderlo es a través de un diagrama de flujo :

Figura 1: esquema o gráfico de flujo de un instrumento de síntesis aditiva

Osciladores
El elemento fundamental utilizado la síntesis aditiva, al igual que en muchas otras técnicas de síntesis, es el oscilador.
Un oscilador digital es una unidad generadora que lee cíclicamente una función para generar una onda periódica. Existen dos formas de implementar un oscilador, una es especificar la forma de onda como una función matemática dependiente del tiempo. Para ello, el algoritmo tiene que calcular el valor de la función matemática para cada una de las muestras. Por ejemplo, si queremos generar una onda sinusoidal, la función que debe calcularse para cada una de las muestras es la siguiente:




Otro método utilizado, más veloz y con menor consumo de procesamiento, es el llamado oscilador de acceso a tablas (wavetable lookup oscilator), que consiste en almacenar en memoria un solo ciclo de forma de onda cualquiera. En ese bloque, o tabla, se almacenan una secuencia de números, cada una de las cuales corresponde al valor de amplitud de cada muestra de la forma de onda. El oscilador, por tanto, solo debe leer de esta tabla los valores sucesivos para generar la forma de onda correspondiente. Una vez que se lee la última muestra, el oscilador vuelve a comenzar desde el principio.

Figura 2: Tabla de onda (izquierda) de una sinusoide (derecha).

En la figura 2, observamos una tabla de onda (wavetable) cuyo tamaño es de 512 muestras. La primera columna indica los índices de cada muestra y la segunda los valores de amplitud asociados a ellas. Para obtener los valores de amplitud que representan a la onda sinusoidal, el oscilador vinculado a la tabla accede, mediante un puntero, a cada uno de los índices de la tabla. En este caso los valores de amplitud están “normalizados”, es decir que están ajustados en el rango que va entre 0 y 1. Pero también, al ser esta una onda sinusoidal bipolar, su hemiciclo negativo se encuentra entre 0 y -1. Es decir que el oscilador que lea esta tabla devolverá a una velocidad igual a la frecuencia de muestreo valores de amplitud entre 1 y -1 que representan un ciclo de una función senoidal.

En el siguiente esquema vemos la representación de un oscilador en el que se muestra la unidad generadora con un símbolo en su interior que designa la forma de onda. El valor que ingresa por la izquierda representa la amplitud pico de la señal; el valor de la derecha, la frecuencia a la que se repite el ciclo de la onda. Otro parámetro posible a determinar es la fase, que establece en qué punto de la onda el oscilador comienza a leer las muestras.



Figura 3. Esquema de un Oscilador. En este caso una sinusoide

Implementación de la síntesis aditiva en tiempo real
En el gráfico siguiente observamos la programación de una síntesis aditiva con cinco osciladores. y a la derecha la representación gráfica de su espectro, su forma de onda, y su sonograma.
En la parte superior, los objetos de mensajes especifican la frecuencia fundamental del sonido resultante (100 Hz, 350 Hz y 1500 Hz). Esta frecuencia es luego multiplicada por 1, 2, 3, 4 y 5 respectivamente para establecer la frecuencia de los parciales de cada uno de los cinco osciladores, en este caso en relación armónica (múltiplos enteros con respecto a la fundamental).
Si quisiéramos obtener un espectro inarmónico, bastaría modificar los valores de la multiplicación por números reales.
Antes de sumarse en la salida, los armónicos son multiplicados por un factor de 0.2 para evitar la saturación.


Figura 4


El ejemplo que sigue incluye el control de la amplitud de cada uno de los componentes del espectro a partir de una envolvente dinámica, cuyo perfil puede editarse de manera muy simple con el mouse.

Figura 5

Si analizamos cualquier sonido de la naturaleza, o los que provienen de los instrumentos musicales, vamos a encontrar un espectro sumamente complejo, con cientos o miles de componentes, donde cada uno de ellos evoluciona de manera diferente a lo largo del tiempo. El ejemplo anterior solo intenta demostrar el funcionamiento básico de la síntesis aditiva, y para conseguir un resultado sonoro realmente interesante, se debería utilizar una cantidad mucho mayor de osciladores.