Taller Pure Data ASAB

Con el propósito de afianzar lo visto y de poner en práctica los conocimientos adquiridos en clase, el presente taller contiene una serie de pasos a seguir para que se produzca un resultado similar para todas las resoluciones, pero con cierto grado de diferencia que permita reconocer la individualidad creativa.

1. Al final de este post encontrarán un listado de números que serán usados con el objeto textfile. Cópielo y péguelo en el bloc de notas para guardarlo con el nombre pasos.txt.

2. Se crearán tres abstracciones y un subpatch, para el envío del trabajo al correo no olvide adjuntar las abstracciones que va a crear.

3. Lea atentamente todos los pasos identificando las posibles variables, constantes y posibles definiciones de función.

Vamos a crear un patch que nos permita secuenciar tanto automáticamente como manualmente las instrucciones enviadas a tres tipos de síntesis diferentes.

a. La primera abstracción que debe crear es una para síntesis aditiva, en la cual se pueda especificar una frecuencia como fundamental y que internamente cuente con 5 componentes (con cualquier factor decidido por cada estudiante). La intensidad de cada componente será especificada de forma constante por cada estudiante. Debe agregarse un generador de envolventes que permita tener un tiempo de ataque, un periodo de sostenimiento y uno de decaimiento, adicionalmente también debe ser posible definir la intensidad máxima para la envolvente. Todo el proceso debe ser coordinado con un bang.

b. La segunda abstracción debe ser para realizar síntesis FM. En este caso los sonidos producidos tendrán una intensidad fija y una envolvente corta que se explicará en el siguiente párrafo. Se debe poder especificar la frecuencia portadora, la frecuencia moduladora, un índice inicial y uno final. Todo el proceso debe ser coordinado por un bang.

La envolvente que se producirá tiene la siguiente forma:



Es posible generarlo con objeto line~ y la función coseno. Para hacerlo se debe considerar que 0 = 0 pi y 1 = 2 pi. Si enviamos un mensaje que permita crear una línea de 0 a 1 en 80 milisegundos y esa línea la enviamos a la entrada de la función coseno (cos~)  el resultado será la función coseno generada en 80 ms.



No podemos aplicar el resultado anterior inmediatamente como forma de envolvente, primero debemos ajustar su amplitud, dirección y eje.  Para ajustar la amplitud debemos tener en cuenta el rango máximo sobre el cual queremos que se ejecute la función, como vamos a crear una envolvente el mínimo debe ser cero y el máximo cualquier número entre 0 y 1. En este caso usaremos el número 1. Basta con multiplicar la salida de la función por -0.5 para ajustar la función a una amplitud entre -0.5 y 0.5, adicionalmente, al haber multiplicado por un número negativo obtendremos la forma de la función en espejo.



El último paso es ajustar el eje. En este caso es simplemente realizar una suma que concluya la operación de ajustar la amplitud a los números deseados (entre 0 y 1). En este caso es sumar 0.5.




En Pure Data esta programación resulta bastante sencilla. Es la siguiente:



c. La tercer abstracción será para realizar síntesis AM, en este caso usaremos la unipolar. se debe poder especificar la frecuencia portadora, una moduladora inicial y una moduladora final, es decir, la moduladora va a variar en un tiempo especificado y que coincide con el tiempo de la envolvente. La envolvente tendrá un sólo valor especificado, que será el de ataque. Para el decaimiento siempre tendrá un tiempo de 50 milisegundos. Todo el proceso debe ser coordinado con un bang.

Al terminar las tres abstracciones proceda a programar el secuenciador, el cual debe ser programado en un subpatch. Debe permitir llamar diferentes listas a textfile. El formato que usará dependerá de la abstracción que va a usar. Para la abstracción de síntesis aditiva usará el 1 como primer elemento, 2 para síntesis FM, 3 para síntesis AM y 4 para indicar el tiempo de espera para la siguiente instrucción. Después de tal número se indicarán los parámetros que entrarán a la abstracción y después un cero que se traducirá a un bang que activará la abstracción.


Al enviar un bang a textfile a través del objeto metro se enviará un mensaje que se enrutará según el número inicial. Como se quita el primer número de la lista al pasar por el objeto route quedará listo el mensaje para ser procesado por la abstracción.

En el  patch se verá de esta forma:


La lista de instrucciones es la siguiente:

4 1;
1 440 0.5 100 400 1000 0;
4 2000;
4 1;
2 1000 70 1 3 0;
4 500;
4 1;
3 500 50 150 2000 0;
4 2500;
4 1;
1 440 0.5 100 400 1000 0;
4 1;
4 10;
2 1000 7 3 1 0;
4 100;
3 500 50 150 2000 0;

Antes de enviar el taller resuelto revise que adjunte los siguientes archivos:

taller.pd ----> patch principal
abstracción-aditiva.pd --->abstracción para síntesis aditiva
abstracción-FM.pd ----> abstracción para síntesis FM
abstracción-AM.pd ---> abstracción para síntesis AM

El límite de envío al correo es el día martes 6 de noviembre a las 11:59 pm.

Comentarios

Entradas populares de este blog

Conociendo lo básico de Pure Data

Pure data - Vanilla, lo básico, añadir externos

Síntesis aditiva