1 / 29

TEMA 3. Sistemas sonoros interactivos (2)

TEMA 3. Sistemas sonoros interactivos (2). Introducción a PD. Principios básicos de funcionamiento. Abstracciones Control de flujo Interfaz gráfica de usuario (IGU) Estructuras de datos en PD. Audio en Pd. Refrencias

kali
Download Presentation

TEMA 3. Sistemas sonoros interactivos (2)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 6 . Estructuras de datos en Pd Datos 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.

  3. 6 . Estructuras de datos en Pd Datos Simples

  4. 6 . Estructuras de datos en Pd Arrays • 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.

  5. 6 . Estructuras de datos en Pd Arrays • 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. 6 . Estructuras de datos en Pd Arrays • Para acceder a sus elementos podemos usar el objeto tabread, que tiene como entrada un indice y devuelve el valor en la tabla.

  7. 6 . Estructuras de datos en Pd Arrays • Para modificar algún valor usaremos el objeto tabwrite

  8. 7 . Audio en Pd Introducció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.

  9. 7 . Audio en Pd Introducció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~)

  10. 7 . Audio en Pd Introducció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).

  11. 7 . Audio en Pd Entrada 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.

  12. 7 . Audio en Pd Entrada y salida de audio • Además deberemos activar el sistema de audio mediante el siguiente mensaje:

  13. 7 . Audio en Pd Reproducción y grabación • Para reproducir y grabar ficheros de audio sin almacenamiento previo tendremos los objetos readsf~ y writesf~.

  14. 7 . Audio en Pd Reproducción y grabación • Cuando queremos grabar una señal digital tendremos que tener en cuenta el formato de salida. Algunos de los argumentos que puede tener el mensaje open son: • -wave • -aiff • -bytes numero • -rate numero

  15. 7 . Audio en Pd Almacenamiento en tablas • Si lo que queremos es almacenar los samples de audio en una tabla a partir de un fichero, tendremos que utilizar el objeto soundfiler. En el caso que el fichero sea estéreo tendremos que usar dos tablas una para cada uno de los canales.

  16. 7 . Audio en Pd Almacenamiento en tablas • Para reproducir un fichero de sonido que esta almacenado en una tabla usaremos el objeto tabplay~. • Existen otros objetos para el almacenamiento y extracción de señales de audio en tablas tabread~, tabwrite~, tabreceive~, tabsend~.

  17. 7 . Audio en Pd Almacenamiento en tablas

  18. 7 . Audio en Pd Almacenamiento en tablas • En el ejemplo de la ayuda de pd anterior el objeto sig~, convierte números a señales de audio y el objeto snapshot~ hace lo contrario, traduce un sample de audio a un número. • El objeto tabread4~, realiza una interpolación lineal de 4 puntos, es similar a tabread pero con interpolación. • Los objetos tabsend~ y tabreceive~ trabajan de forma similar pero mediante bloques.

  19. 7 . Audio en Pd Objetos matemáticos • Como en los mensajes también con señales de audio se pueden realizar operaciones matemáticas, sumar dos ondas, multiplicar … • Los objetos matemáticos para el tratamiento de señales son: +~, *~, -~, /~, max~ y min~. • También hay varios objetos para realizar conversiones entre datos por ejemplo mtof~ y ftom~, convierten frecuencias midi (0..127) a frecuencias de audio.

  20. 7 . Audio en Pd Osciladores • Los osciladores producen una señal con una forma de onda determinada y a una frecuencia determinada. Se usan habitualmente para construir sintetizadores. Dependiendo de la forma de onda determinaremos el timbre final (cantidad de armónicos). • Las formas de onda más habituales son: sinusoidal, diente de sierra, triangular y cuadrada. • Existen varios objetos en pd que generan esos tipos de onda, el objeto osc~ genera ondas sinusoidales y el objeto phasor~ de diente de sierra

  21. 7 . Audio en Pd Osciladores

  22. 7 . Audio en Pd Ruido • También la mayoría de los sintetizadores ofrecen la posibilidad de generar ruido. Podemos distinguir dos tipos de ruido: • El ruido rosa es un tipo de ruido aleatorio en el que su contenido de energía disminuye en 3 dB por octava de frecuencia. Se usa mucho como señal de prueba en pruebas acústicas. • El ruido blanco es un ruido cuyo nivel es constante en todas las frecuencias. • En pd tenemos un objeto para generar ruido blanco es noise~.

  23. 7 . Audio en Pd Rampas • Para generar una rampa de amplitud podemos usar el objeto line~, la rampa puede ser ascendente o descendente dependiendo de los valores que usemos.

  24. 7 . Audio en Pd Filtros

  25. 7 . Audio en Pd Líneas retrasadas • Para trabajar sobre líneas retrasadas pd tiene los objetos delwrite~, que crea la línea retrasada y el objeto delread~ que la lee.

  26. 7 . Audio en Pd Líneas retrasadas

  27. 7 . Audio en Pd Ejemplos

  28. 7 . Audio en Pd Ejemplo adsr • Para generar una envolvente típica de algunos instrumentos musicales tendremos que hacer uso del objeto generador de rampa line~ y algunos objetos más. • Los argumentos que vamos a manejar son pico máximo, tiempo de ataque, tiempo de caída, nivel sostenido, pico de sostenido y tiempo de desvanecimiento.

  29. 7 . Audio en Pd Ejemplo adsr

More Related