Skip to main content

Envelope

Que conceptos nuevos necesitaremos conocer?


Que es un envelope o envolvente?

El envelope va a determinar la variación de los niveles de una señal a lo largo del tiempo. Para nosotros va a ser una herramienta que nos permitirá darle forma/esculpir al sonido con el que estemos trabajando, desde el volumen a la frecuencia. En lo que a síntesis de sonido se refiere el envelope es una curva que nos va a permitir controlar algún parámetro de una señal (Wilczek, 2022). Ya lo hemos utilizado anteriormente, pero de una manera muy sencilla cuando utilizamos el line para suavizar los cambios de volumen en el apartado tal, utilizando una sola rampa. 

Los envelopes se componen por varios segmentos y en cada segmento encontraremos una rampa diferente. Vamos ver el envelope ADSR, que es uno de los mas utilizados. Este envelope consiste en cuatro segmentos: A=attack, D=decay, S=sustain y R=release.


image-1667301544169.webpFigura 1. ADSR envelope

 El Attack es el segmento en el que el valor aumenta desde el mínimo hasta el máximo que va a alcanzar el envelope. El decay es el segmento en el que el envelope cae desde el pico máximo que se alcanza en el ataque/attack hasta un valor que se mantendrá constante en el segmento conocido como Sustain. El realease es el último segmento del envelope en el cual el valor desciende a 0. 

Por ejemplo, utilizaremos el ADSR para controlar la amplitud de una señal, en este caso estaremos dando forma al volumen de esta señal. Aqui teneis un ejemplo de ADSR modulando la amplitud:


Ahora vamos a aprender como hacer envelopes en pure data 

Que elementos nuevos de Pure data necesitaremos conocer?

Delay

Este objeto nos va a permitir enviar un bang después de un tiempo de espera determinado. Digamos que nos va a permitir retener y retrasar el envío de un bang. 

image-1667295580433.PNG

El tiempo que se retrase el bang lo configuraremos en el argumento del objeto o a traves del inlet derecho. A traves del inlet izquierdo también podemos configurar el tiempo e iniciar el delay, sin embargo cuando configuremos un tiempo a traves del inlet derecho el delay no empezara hasta recibir un bang en el inlet izquierdo. Por defecto la unidades son milisegundos, si queremos trabajar con otra unidad como por ejemplo segundos, tendremos que especificarlo en el mensaje que configura el tempo del delay. Si queremos detener el delay enviaremos un mensaje de stop.

image-1667297083579.PNG

En la imagen superior el primer delay retrasara el bang medio segundo y el segundo delay 1 segundo. Tras mandar el mensaje configurando el tempo en segundos el tercer delay retrasará el bang medio segundo, si no enviamos ese mensaje configurando el tempo el delay se retrasará medio milisegundo.


Delay + line

Como vimos anteriormente el objeto line nos permite crear rampas (incluir un dibujo de una rampa en la explicacion del line antes). Crear una progresión lineal desde un valor a otro en un tiempo determinado. Combinando delay y line vamos a poder combinar rampas para crear progresiones mas complejas, con diferentes direcciones. Por ejemplo ir de 1 a 0.5 en 500 milisegundos y al llegar a 0.5, ir a 0 en 800 milisegundos.


vline

Este objeto nos va a permitir construir rampas de la misma forma que la combinación de delay y line

Figuras:

Figura 1. ADSR envelope. https://thewolfsound.com/envelopes/ 

Referencias:

Wilczek, J. (2022, Julio 3) Envelopes in Sound Synthesis: The Ultimate Guide. WolfSound. https://thewolfsound.com/envelopes/