29
1 TEMA 3. Sistemas TEMA 3. Sistemas sonoros interactivos sonoros interactivos (2) (2) 1. 1. Introducción a PD. Introducción a PD. 2. 2. Principios básicos de funcionamiento. Principios básicos de funcionamiento. 3. 3. Abstracciones Abstracciones 4. 4. Control de flujo Control de flujo 5. 5. Interfaz gráfica de usuario (IGU) Interfaz gráfica de usuario (IGU) 6. 6. Estructuras de datos en PD. Estructuras de datos en PD. 7. 7. Audio en Pd. Audio en Pd. Refrencias Refrencias Sergi Jordá. “Introducción a Pd”, pdf Sergi Jordá. “Introducción a Pd”, pdf accesible desde la página personal de accesible desde la página personal de Jordá (Taller de música electrónica) Jordá (Taller de música electrónica) http://www.tecn.upf.es/~sjorda/ http://www.tecn.upf.es/~sjorda/

1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

Embed Size (px)

Citation preview

Page 1: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

11

TEMA 3. Sistemas sonoros TEMA 3. Sistemas sonoros interactivos (2)interactivos (2)1.1. Introducción a PD.Introducción a PD.2.2. Principios básicos de funcionamiento.Principios básicos de funcionamiento.3.3. AbstraccionesAbstracciones4.4. Control de flujoControl de flujo5.5. Interfaz gráfica de usuario (IGU)Interfaz gráfica de usuario (IGU)6.6. Estructuras de datos en PD.Estructuras de datos en PD.7.7. Audio en Pd.Audio en Pd.

RefrenciasRefrenciasSergi Jordá. “Introducción a Pd”, pdf accesible desde Sergi Jordá. “Introducción a Pd”, pdf accesible desde

la página personal de Jordá (Taller de música la página personal de Jordá (Taller de música electrónica) electrónica)

http://www.tecn.upf.es/~sjorda/http://www.tecn.upf.es/~sjorda/

Page 2: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

22

Datos SimplesDatos Simples

Hasta el momento hemos visto que los datos simples que utiliza el lenguaje son: enteros (int), reales (float) y caracteres (symbol).

Existen dos mecanismos para guardar dichos datos: el uso de variables anónimas y mediante el objeto value.

6 . Estructuras de datos en Pd

Page 3: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

33

Datos SimplesDatos Simples

6 . Estructuras de datos en Pd

Page 4: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

44

ArraysArrays

Para definir un vector hay que crear el elemento array (en las opciones de put). Pulsando con el botón derecho del ratón sobre el elemento podemos modificar sus propiedades: tamaño y presentación.

6 . Estructuras de datos en Pd

Page 5: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

55

ArraysArrays Mediante mensajes podemos dotarlo de contenido.

También podemos hacer que su contenido sea el de un fichero.

En general los mensajes son de la forma:

NombreArray [acción] datos

Donde la acción puede ser:– rename– resize– normalize– read– write …

6 . Estructuras de datos en Pd

Page 6: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

66

ArraysArrays

Para acceder a sus elementos podemos usar el objeto tabread, que tiene como entrada un indice y devuelve el valor en la tabla.

6 . Estructuras de datos en Pd

Page 7: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

77

ArraysArrays

Para modificar algún valor usaremos el objeto tabwrite

6 . Estructuras de datos en Pd

Page 8: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

88

IntroducciónIntroducción

Hasta ahora hemos visto que los objetos de Pd se comunican mediante mensajes, estos se envían en momentos específicos bien por la acción del usuario (click, nota MIDI, etc.) o porque el evento ha sido programado para ocurrir (metro, delay, etc.).

Cuando la información que queremos comunicar en pd son samples de audio, los objetos se intercomunican calculando la información de audio necesaria en todo momento. A esta configuración se le llama -signal network- (red de señales).

Otra manera de entender las conexiones de señales es pensar en ellas como líneas de información que funcionan mucho más rápido que los mensajes, que circulan a intervalos del milisegundo.

7 . Audio en Pd

Page 9: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

99

IntroducciónIntroducción

El audio digital requiere ser procesado mucho mas rápido, normalmente 44100 veces por segundo cada canal de audio. Pd calcula todos los números necesarios para los siguientes milisegundos de audio (44 muestras cada milisegundo).

Todos los objetos en la red de señal están continuamente realizando cálculos para entregar el valor adecuado al siguiente objeto.

La red de audio no puede contener ciclos. Para realizar realimentaciones se usan las conexiones de señales no locales ( delread~, delwrite~, send~, receive~, throw~, catch~)

7 . Audio en Pd

Page 10: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1010

IntroducciónIntroducción

Existen objetos que vinculan mensajes con señales de audio y traducen entre el ritmo de control de datos y la cadencia del audio.

Por ejemplo line~ reciben mensajes en sus entradas y genera señales en sus salidas (genera envolventes).

Otros objetos, como snapshot~, se conectan la red de señal y entregan un valor determinado de esta como máximo cada milisegundo.

Por ultimo hay objetos que manejan mensajes y señales como el dac~ o osc~ que puede recibir en su entrada tanto mensajes numéricos como señales.

En el caso de que el objeto pueda recibir tanto mensajes como señales, estas tienen prioridad frente a los mensajes, ya que la señal del -signal network- le hace estar recaulculando y recibiendo valores continuamente (44100 veces por segundo).

7 . Audio en Pd

Page 11: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1111

Entrada y salida de audioEntrada y salida de audio

En general todos los objetos de pd relacionados con el tratamiento de las señales de audio acaban con el símbolo ~.

Los objetos para obtener señal de la tarjeta de sonido y enviarla son adc y dac. Podemos añadir mediante argumentos hasta 64 salidas/entradas.

7 . Audio en Pd

Page 12: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1212

Entrada y salida de audioEntrada y salida de audio

Además deberemos activar el sistema de audio mediante el siguiente mensaje:

7 . Audio en Pd

Page 13: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1313

Reproducción y grabaciónReproducción y grabación

Para reproducir y grabar ficheros de audio sin almacenamiento previo tendremos los objetos readsf~ y writesf~.

7 . Audio en Pd

Page 14: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1414

Reproducción y grabaciónReproducción y grabación Cuando queremos grabar una señal digital tendremos Cuando queremos grabar una señal digital tendremos

que tener en cuenta el formato de salida. Algunos de los que tener en cuenta el formato de salida. Algunos de los argumentos que puede tener el mensaje open son:argumentos que puede tener el mensaje open son:– -wave-wave– -aiff-aiff– -bytes numero-bytes numero– -rate numero-rate numero

7 . Audio en Pd

Page 15: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1515

Almacenamiento en Almacenamiento en tablastablas Si lo que queremos es almacenar los samples de audio Si lo que queremos es almacenar los samples de audio

en una tabla a partir de un fichero, tendremos que en una tabla a partir de un fichero, tendremos que utilizar el objeto soundfiler. En el caso que el fichero sea utilizar el objeto soundfiler. En el caso que el fichero sea estéreo tendremos que usar dos tablas una para cada estéreo tendremos que usar dos tablas una para cada uno de los canales.uno de los canales.

7 . Audio en Pd

Page 16: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1616

Almacenamiento en Almacenamiento en tablastablas Para reproducir un fichero de sonido que esta Para reproducir un fichero de sonido que esta

almacenado en una tabla usaremos el objeto tabplay~.almacenado en una tabla usaremos el objeto tabplay~. Existen otros objetos para el almacenamiento y Existen otros objetos para el almacenamiento y

extracción de señales de audio en tablas tabread~, extracción de señales de audio en tablas tabread~, tabwrite~, tabreceive~, tabsend~.tabwrite~, tabreceive~, tabsend~.

7 . Audio en Pd

Page 17: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1717

Almacenamiento en Almacenamiento en tablastablas

7 . Audio en Pd

Page 18: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1818

Almacenamiento en Almacenamiento en tablastablas En el ejemplo de la ayuda de pd anterior el objeto sig~, En el ejemplo de la ayuda de pd anterior el objeto sig~,

convierte números a señales de audio y el objeto convierte números a señales de audio y el objeto snapshot~ hace lo contrario, traduce un sample de audio snapshot~ hace lo contrario, traduce un sample de audio a un número.a un número.

El objeto tabread4~, realiza una interpolación lineal de 4 El objeto tabread4~, realiza una interpolación lineal de 4 puntos, es similar a tabread pero con interpolación.puntos, es similar a tabread pero con interpolación.

Los objetos tabsend~ y tabreceive~ trabajan de forma Los objetos tabsend~ y tabreceive~ trabajan de forma similar pero mediante bloques. similar pero mediante bloques.

7 . Audio en Pd

Page 19: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

1919

Objetos matemáticosObjetos matemáticos Como en los mensajes también con señales de audio se Como en los mensajes también con señales de audio se

pueden realizar operaciones matemáticas, sumar dos pueden realizar operaciones matemáticas, sumar dos ondas, multiplicar …ondas, multiplicar …

Los objetos matemáticos para el tratamiento de señales Los objetos matemáticos para el tratamiento de señales son: +~, *~, -~, /~, max~ y min~.son: +~, *~, -~, /~, max~ y min~.

También hay varios objetos para realizar conversiones También hay varios objetos para realizar conversiones

entre datos por ejemplo mtof~ y ftom~, convierten entre datos por ejemplo mtof~ y ftom~, convierten frecuencias midi (0..127) a frecuencias de audio. frecuencias midi (0..127) a frecuencias de audio.

7 . Audio en Pd

Page 20: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2020

OsciladoresOsciladores Los osciladores producen una señal con una forma de onda Los osciladores producen una señal con una forma de onda

determinada y a una frecuencia determinada. Se usan determinada y a una frecuencia determinada. Se usan habitualmente para construir sintetizadores. Dependiendo de la habitualmente para construir sintetizadores. Dependiendo de la forma de onda determinaremos el timbre final (cantidad de forma de onda determinaremos el timbre final (cantidad de armónicos).armónicos).

Las formas de onda más habituales son: sinusoidal, diente de Las formas de onda más habituales son: sinusoidal, diente de sierra, triangular y cuadrada.sierra, triangular y cuadrada.

Existen varios objetos en pd que generan esos tipos de onda, el Existen varios objetos en pd que generan esos tipos de onda, el objeto osc~ genera ondas sinusoidales y el objeto phasor~ de objeto osc~ genera ondas sinusoidales y el objeto phasor~ de diente de sierra diente de sierra

7 . Audio en Pd

Page 21: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2121

OsciladoresOsciladores

7 . Audio en Pd

Page 22: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2222

RuidoRuido También la mayoría de los sintetizadores ofrecen la También la mayoría de los sintetizadores ofrecen la

posibilidad de generar ruido. Podemos distinguir dos posibilidad de generar ruido. Podemos distinguir dos tipos de ruido:tipos de ruido:

El ruido rosa es un tipo de El ruido rosa es un tipo de ruido aleatorioruido aleatorio en el que su en el que su contenido de energía disminuye en 3 dB por octava de contenido de energía disminuye en 3 dB por octava de frecuencia. Se usa mucho como señal de prueba en frecuencia. Se usa mucho como señal de prueba en pruebas acústicas.pruebas acústicas.

El ruido blanco es un ruido cuyo nivel es constante en El ruido blanco es un ruido cuyo nivel es constante en todas las frecuencias. todas las frecuencias.

En pd tenemos un objeto para generar ruido blanco es En pd tenemos un objeto para generar ruido blanco es noise~.noise~.

7 . Audio en Pd

Page 23: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2323

RampasRampas Para generar una rampa de amplitud podemos usar el Para generar una rampa de amplitud podemos usar el

objeto line~, la rampa puede ser ascendente o objeto line~, la rampa puede ser ascendente o descendente dependiendo de los valores que usemos.descendente dependiendo de los valores que usemos.

7 . Audio en Pd

Page 24: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2424

FiltrosFiltros

7 . Audio en Pd

Page 25: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2525

Líneas retrasadasLíneas retrasadas Para trabajar sobre líneas retrasadas pd tiene los objetos Para trabajar sobre líneas retrasadas pd tiene los objetos

delwrite~, que crea la línea retrasada y el objeto delwrite~, que crea la línea retrasada y el objeto delread~ que la lee. delread~ que la lee.

7 . Audio en Pd

Page 26: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2626

Líneas retrasadasLíneas retrasadas

7 . Audio en Pd

Page 27: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2727

EjemplosEjemplos

7 . Audio en Pd

Page 28: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2828

Ejemplo adsrEjemplo adsr Para generar una envolvente típica de algunos Para generar una envolvente típica de algunos

instrumentos musicales tendremos que hacer uso del instrumentos musicales tendremos que hacer uso del objeto generador de rampa line~ y algunos objetos más.objeto generador de rampa line~ y algunos objetos más.

Los argumentos que vamos a manejar son pico máximo, Los argumentos que vamos a manejar son pico máximo, tiempo de ataque, tiempo de caída, nivel sostenido, pico tiempo de ataque, tiempo de caída, nivel sostenido, pico de sostenido y tiempo de desvanecimiento. de sostenido y tiempo de desvanecimiento.

7 . Audio en Pd

Page 29: 1 TEMA 3. Sistemas sonoros interactivos (2) 1.Introducción a PD. 2.Principios básicos de funcionamiento. 3.Abstracciones 4.Control de flujo 5.Interfaz

2929

Ejemplo adsrEjemplo adsr

7 . Audio en Pd