PRACTICA 3. PD y AUDIO (1) Objetos de control de tiempo

Slides:



Advertisements
Presentaciones similares
Configurar un foro Moodle.
Advertisements

Tarea Es un trabajo que asignamos a nuestros alumnos obviamente con posibilidad de ser archivado digitalmente pero no siempre, ten en cuenta la actividad.
Unidad 5 El vídeo didáctico. La cámara de vídeo Esta formada por: 1-Micrófono: recoge nuestras voces y los sonidos. 2-Objetivo: es el lugar por donde.
Diseño de Circuitos Lógicos Secuenciales1
FACTORIZACIÓN LU Bachilleres:
Profesora Sara Salinas
Debemos ingresar a la página
LOS CONECTORES En Lingüística, Se denomina conector a una palabra que une partes de un mensaje y establece una relación lógica entre oraciones. 
TUTORIAL YOUTUBE ANA ROMANO 07/04/2014. La página de acceso a youtube en español es una vez en ella tendremos que registrarnos.
Convertidores A/D y D/A
DIFERENTE Autor: Juan P Fernández Escudero
ECUACIONES DE 2º GRADO.
PROGRAMACION DE ESTRUCTURAS DE DATOS
Teoría Musical.
INGENIERIA ELECTRICA Y ELECTRONICA
Ejemplo: Creación y mutación de procesos
LOS ELEMENTOS DEL LENGUAJE MUSICAL
Las variables en PHP Programación en Internet II.
Universidad Autónoma San Francisco
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
MICROSOFT EXCEL TUTORIAL
Cómo hacer una página web Basado en la presentación de Ana Isabel Álvarez.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Ingeniero Anyelo Quintero
ESTRUCTURAS DE CONTROL
Potencias de exponente natural mayor que 1
TRADUCTOR DE UN PROGRAMA
Igor Santos Grueiro. Ahora tenemos datos y datos …
Programación de Computadores
ANALISIS DE DATOS CON EXCEL
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
Cap. 9 Sistemas de Partículas
Computación Aplicada Facultad de Ingeniería Universidad Autónoma de Querétaro Ma. Teresa García Ramírez 1.
Es la tercera etiqueta de Excel de la banda de opciones.
TAMAÑO Y ORIENTACIÓN DEL PAPEL
Aplicación de estructuras de datos
el Desplazamiento (Dx)
Tomás Mata García.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Informática Ingeniería en Electrónica y Automática Industrial
Microsoft Office Excel
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
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.
Ecuaciones de primer grado Similar al ejercicio 1 propuesto
Movie Maker es un programa que sirve para capturar y editar medios digitales en el equipo, de tal manera que luego puedas utilizar este material en tus.
1 PRACTICA 4. PD y Midi 1.Configuración 2.Objetos midi. 3.Objetos de control de tiempo 4.Secuenciación de una composición 5.Ejercicios 6.Enunciado del.
PROGRAMACION CON MSWLOGO
Ordenamiento en lenguaje c
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
LOS CONDENSADORES El condensador es un dispositivo muy utilizado en aplicaciones de circuitos electrónicos. Pero, ¿qué función cumple el condensador en.
PHP con Bases de Datos Tema 5 Funciones Introducción Valor de una Función Función para obtener fecha actual. Documentación de Funciones Funciones de Usuario.
Hoja de Cálculo EXCEL Introducción a la informática
UNIDAD V Bibliotecas de Funciones L.I. & M.S.C. OSCAR RAMÍREZ CORTÉS PROGRAMACIÓN DE SISTEMAS.
Práctica Profesional PHP.
Introducción al lenguaje PROCESSING para ARDUINO
Música electrónica con PureData Dr. Alfonso Alba Cadena Facultad de Ciencias, UASLP.
P.G.F Ventana de trabajo del S7 Manager P.G.F
Objetivos del tema. Hemos visto lo que es la estructura de un programa, los datos, que esos datos en realidad se convierten en variables de distinto.
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
Vamos a hacer las vistas de la pieza 3. Para ello metemos la pieza en la caja y sacamos fotos desde todas las posiciones. Haz clic para empezar. Hemos.
¿Cómo programar un Botón para agregar registros a una base de datos?
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
CB303 Es un módulo de sonido analógico, en el que se ha intentado mantener el sonido duro y la estética en la serigrafía de la maravillosa máquina de los.
MOVIMIENTO ARMÓNICO SIMPLE PROBLEMAS RESUELTOS CURSO 2015/16
P O W E R P O I N T CONCEPTOS BÁSICOS 1.
Tratamientos Secuenciales Generalizados II Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 19 Versión
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
OPERACIONES BASICAS CON TABLAS.  Para introducir datos en una tabla, podemos elegir entre: · Hacer doble clic sobre el nombre de la tabla en el Panel.
Escuela Superior Politécnica de Chimborazo Facultad de Administración de Empresas Escuela de Ingeniería en Marketing Jonathan Yamasca Tercero 2.
Transcripción de la presentación:

PRACTICA 3. PD y AUDIO (1) Objetos de control de tiempo Cargar y reproducir ficheros de sonido Modificar la frecuencia de reproducción Efecto scratch Construcción de bucles (loops) Ejercicios Bibliografía Miller Pukette. “Theory and Techniques of Electronic Music”. Sergi Jordá. “Apuntes, prácticas y paches de ejemplo en PD”.

Práctica 3 Objetivo Aprender a desarrollar patch de audio en pd

1 . Objetos de control de tiempo El objeto metro

1 . Objetos de control de tiempo El objeto delay

1 . Objetos de control de tiempo El objeto random El objeto random es similar a las funciones de generación de números aleatorios de los lenguajes de programación.

1 . Objetos de control de tiempo El objeto moses El objeto moses evalúa una condición > =. Tiene como entrada un número si es >= que el valor que tiene almacenado saca el mismo número por su salida derecha, si es menor lo saca por la izquierda.

Preliminares 2 . Cargar y reproducir ficheros de sonido Cada sonido en PD se almacena en un array propio, por lo que tendremos tantos arrays como sonidos queramos utilizar en una pieza. Para reproducir un sonido almacenado en un array, se utiliza el objeto tabread4~. Dispondremos como mínimo de tantos objetos de este tipo, como sonidos simultáneos queramos utilizar en una composición Para facilitar el mecanismo de carga del fichero en el array se puede utilizar el objeto soundfiler Un solo objeto permite cargar todos los sonidos necesarios.

Cargar el fichero Declarar un array. 2 . Cargar y reproducir ficheros de sonido Cargar el fichero Declarar un array. Llenarlo con un fichero WAV, utilizando el objeto soundfiler tal como se muestra en la figura:

Cargar el fichero 2 . Cargar y reproducir ficheros de sonido El flag -resize es fundamental, ya que sinó el array sólo cargará la parte de sonido que quepa en su memoria, lo cual dependerá del tamaño inicial del array. No utilizaremos –resize cuando sepamos el tamaño deseado de un loop, independientemente del sonido original. En este caso, indicaremos el tamaño deseado al declarar el array. prueba.wav es el nombre del fichero WAV que queremos cargar. vector1 es el nombre del array destino, declarado en el paso 1. soundfiler devuelve el número de muestras del fichero, y en el array se dibujará la onda que hemos cargado. El objeto soundfiler admite otros mensajes y flags. Permite cargar ficheros sin formato, saltar un número determinado de muestras iniciales, cargar hasta un tamaño máximo, normalizar los ficheros a cargar, etc.

Reproducir el sonido 2 . Cargar y reproducir ficheros de sonido Para reproducirlo, utilizaremos el objeto tabread4~ que tendrá como argumento el nombre del array a reproducir. Este argumento (nombre del array) se puede escribir de antemano en el objeto, pero también es posible ir cambiando de array, enviando a tabread4~ el mensajeset otro_array. Podemos pues pensar que cada objeto tabread4~ es como un canal de un multipistas. Para que se reproduzca este sonido, tabread4~ debe ir recibiendo los índices de las muestras de forma permanente. Esto se puede conseguir con el objeto line~.

Reproducir el sonido 2 . Cargar y reproducir ficheros de sonido Para reproducirlo, utilizaremos el objeto tabread4~ que tendrá como argumento el nombre del array a reproducir. Este argumento (nombre del array) se puede escribir de antemano en el objeto, pero también es posible ir cambiando de array, enviando a tabread4~ el mensaje set otro_array. Podemos pues pensar que cada objeto tabread4~ es como un canal de un multipistas. Para que se reproduzca este sonido, tabread4~ debe ir recibiendo los índices de las muestras de forma permanente. Esto se puede conseguir con el objeto line~.

2 . Cargar y reproducir ficheros de sonido Reproducir el sonido

Reproducir el sonido 2 . Cargar y reproducir ficheros de sonido Este ejemplo completo (sampler1.pd) es un poco más sofisticado, y permite reproducir un sonido integro, de principio a fin, y a la altura y velocidad correctas, cada vez que se clica el bang. Para ello, cuando se carga el sonido en el array, se manda a pack, un mensaje que guardará el valor del último índice (igual al tamaño) y la duración del sonido en ms (tamaño/44.1) (si el sonido fuera a 22.050 Hz hubiésemos dividido por 22.05). El bang, manda primero un cero (line~ se coloca al principio) y después el mensaje con los dos valores.

2 . Cargar y reproducir ficheros de sonido El subpatch salida

Frecuencia de reproducción 3 . Modificar la frecuencia de reproducción Frecuencia de reproducción Tal sólo deberemos cambiar la duración que recibe line~. Si el valor fuese la mitad, el sonido tardaría la mitad en reproducirse integro y sonaría una octava más agudo. Si el valor fuese el doble è sonaría una octava más grave.

Frecuencia de reproducción 3 . Modificar la frecuencia de reproducción Frecuencia de reproducción

4 . Efecto Scratch Efecto Scratch El típico efecto scratch se consigue modificando de forma continua la velocidad de reproducción (i.e. la duración), mientras suena el sonido y sin volver cada vez al inicio. Estudiar el siguiente ejemplo, la novedad está enmarcada en rojo.

4 . Efecto Scratch Efecto Scratch

Efecto Scratch 4 . Efecto Scratch Cuando modificamos el primer valor (recuadro azul), estamos cambiando dinámicamente el índice destino. Cada vez que la posición aumente tocará hacía delante, y cuando disminuya tocará hacía atrás, en ambos casos con una velocidad mayor o menor según sea el salto que le estemos dando (en realidad es algo más complicado pues que avance o retroceda, no depende de la diferencia entre el nuevo valor introducido y el anterior, sino de la diferencia de este nuevo valor con la posición actual). El segundo valor (por defecto a 100 ms) indica en cierta forma el grano temporal o la resolución del sistema. También condiciona el tiempo que el fichero seguirá sonando si no introducimos ningún nuevo valor azul.

Loops 5 . Construcción de bucles (loops) Hasta ahora cada vez que queremos disparar el sonido de nuevo debemos pulsar bang. ¿Cómo hacer que el sonido se reproduzca en loop de forma continua? Hay varias formas de conseguirlo, y una de ellas es sustituir el objeto line~ por el objeto phasor~. Phasor~ es un oscilador diente de sierra. Su salida varía entre 0 y 1 (no da valores negativos), y puede utilizarse como oscilador de alta frecuencia (para producir sonido, de forma comparable a osc~), pero también como oscilador de baja frecuencia (LFO), para control. La idea es que el principio de un nuevo ciclo de phasor~ coincida con el inicio de una nueva vuelta del loop. Por lo tanto, la frecuencia de phasor~ dependerá de la duración del sonido que queremos reproducir.

5 . Construcción de bucles (loops)

Loops 5 . Construcción de bucles (loops) Por una lado, se divide 44100 por el tamaño del fichero en muestras, con lo cual se obtiene la frecuencia a la cual se repite el ciclo completo (i.e. si un sonido dura 2 segundos, su frecuencia de reproducción será 0,5 Hz). Por otro lado, debemos multiplicar la salida de phasor~, que varía entre 0 y 1, por el tamaño del fichero, para que varíe entre 0 y el último índice del fichero.

Ejercicios 6 . Ejercicios Probar hasta entender perfectamente los patches planteados en la práctica. Se adjuntan con la práctica. En el patch salida se producen ciertos errores, localizarlos y tratar de resolverlos. Nota los ejemplos tratar de entender la lógica del pd output del ejemplo sampler3loop.pd. Encapsular la parte correspondiente del patch de modificación de la frecuencia en un objeto sampler lo más funcional posible y sencillo de utilizar. Lo mismo para el scratch y el loop.

Ejercicios con loops 6 . Ejercicios Duración variable del loop: otro posible ejercicio es hacer un control de duración del loop opcional, que sea independiente de la duración del fichero. Zigzag: una tercera posibilidad sería tratar de que el loop fuera hacía adelante y hacia atrás, es decir que una vez finalizado el sonido lo reprodujera hacia atrás en zigzag (adelante-atrás-adelante-atrás...) Control del inicio del loop: hasta ahora hemos reproducido los ficheros siempre desde el principio. Podemos poner un nuevo control que decida dinámicamente el inicio del loop. Jungle drums: hay muchas posibles variaciones sobre el principio del loop, como hacer que un sonido se vaya reproduciendo “hacia delante”, pero “enganchándose” de vez en cuando en pequeños loops internos. Este es (más o menos) el típico efecto de loop de batería jungle (consultar objeto samphold~)

Otros ejercicios 6 . Ejercicios Realizar un patch reutilizable que sea un mezclador con control de ganancia., para cada uno de los canales. Añadir al patch anterior el control de balance. Diseñar un patch reutilizable que aplique el efecto de delay. Otro del chorus. Realizar un patch reutilizable que sea un secuenciador de bang (no un metrónomo), para lanzar distintos sonidos procesados en función de diferentes instantes del transcurso del tiempo. Con todo lo visto realizar una pequeña composición.