Skip to main content

Configuración y Objetos de Audio básicos

Recomendacion: trabajar con altavoces, no con cascos. El sonido puede hacer daño a los oidos y es muy importante.

Cuando hablemos de sonido en el ámbito digital, por ejemplo, dentro de un programa, nos referimos a una representación del sonido dentro de este entorno. Es una representación que podemos manipular de esta manera podemos diseñar sonidos desde un ordenador, pero sonido como tal solo sera lo que el altavoz produce. Para diferenciarlo llamaremos a esta representación señal de audio, ya que es una señal cuyo ultimo propósito sera hacer vibrar la membrana de un altavoz para generar esa onda mecánica que conocemos como sonido   

Configuración en menu 

Explicar objetos de audio

audio math

sample rate = número de valores por segundo que definen una onda, por defecto 44100

Cuando hablemos de señal nos estamos refiriendo a una onda, que en el programa se representa como una rápida secuencia de numeros. Digamos que estos valores indican la posición de un punto de la onda en el momento en que se generan 

MIDI

explicar que es el MIDI y equivalencias con las notas, poner la función y que es una función exponencial. El midi es un numero entero por cada medio tono

mtof = "midi to frequency" convierte valores de Hz a MIDI

ftom = "frequency to midi" convierte valores de MIDI a Hz

notein

noteout

makenote

Appendix B: Pitch to MIDI to Frequency Chart (indiana.edu)

image-1663841295232.png

Ejercicio 1 con MIDI

Generales

image-1663753630466.PNG

dac~ = "digital to analog converter" Este objeto representa la puerta de conversion entre los números que componen esas señales de audio a las que vamos a dar forma en pure data y el movimiento de la membrana del altavoz que va a generar el sonido. Nuestra tarjeta de sonido va a convertir estos datos en variaciones de corriente eléctrica que van a hacer que nuestro altavoz se mueva. 

Este objeto sera nuestra connexion con los altavoces y todo lo que enviemos al dac~ sera reproducido por nuestros altavoces. El dac~ enviara informacion a nuestros altavoces para que estos generen sonido.

image-1663753686187.PNG

adc~ = "analog to digital converter" Este objeto realiza la función inversa al dac~ y es la puerta que nos permite acceder a la conversion del movimiento de la membrana de un micrófono a números con los que podremos trabajar en el mundo digital, recordar que vimos que la programacion se basa en fujos de datos que podremos almacenar y transformar.

image-1663753702398.PNG

sig~

line

image-1663753713136.PNG


El objeto line~ genera rampas lineales entre dos valores en un tiempo determinado. Estos parámetros se determinan por los mensajes recibidos en los inlets de line. Por ejemplo, generar una secuencia de valores entre 2 y 5 en 100 milisegundos. Enviando un mensaje al inlet izquierdo podremos configurar los valores de partida, destino y el tiempo de nuestra rampa. El tiempo también podremos configurarlo con el inlet derecho.

Veamos como tenemos que construir los mensajes del inlet izquierdo para controlar nuestra rampa:

Un mensaje con único valor indicara el valor del destino. El line de la imagen ira al valor 5 en 64 milisegundos.

image-1666021298249.PNG

Cuando enviemos un mensaje con dos valores separados por un espacio; el primer valor del mensaje indicara el valor del destino y el segundo valor el tiempo que se tomara en llegar a ese valor de destino. El line de la imagen siguiente ira al valor 5 en 100 milisegundos.

image-1666021553733.PNG

Enviamos un mensaje con tres valores, los dos primeros separados por "coma" "espacio" y el segundo y el tercero por un "espacio"; el primer valor indicara el valor de partida, el segundo el valor de destino y el tercero el tiempo requerido para ir desde el valor de partida al valor de destino. El line de la imagen siguiente ira desde el valor 2 al valor 5 en 100 milisegundos.

image-1666021667146.PNG

Si no especificamos el tiempo, saltara directamente al valor de destino. Si queremos detener la progresión de la rapa enviaremos un mensaje con la palabra "stop", el ultimo valor generado antes de parar la progresión, o el valor de destino de la rampa en caso de que la progresión no se detenga, quedara almacenado y cuando no especifiquemos un valor de partida tomara como valor de partida ese valor almacenado en la interacción anterior. Cuando no haya habido una interacción anterior el valor de partida por defecto sera 0. El line de la imagen siguiente ira desde el valor 2 al valor 5 en 100 milisegundos, si recibe el mensaje stop, detendrá la progresión.

image-1666021910428.PNG

Crea un patch con el objeto line~ o abre su patch de ayuda y prueba su funcionamiento. Enviarme un mensaje si hay alguna duda.

 

snapshot~

image-1666023347650.png

El snapshot~ permite convertir una señal de audio en valores numéricos. Esto nos sera muy util cuando queramos enviar valores procedentes de una señal de audio a un objeto que no sea de audio, ya que los objetos que nos son de audio (no tienen la ~) no aceptan señales de audio. Nos sera util para visualizar que sucede con nuestras señales de audio. Cada vez que recibe un bang registra el valor en tiene en ese momento la señal de audio. 

image-1666023066176.PNG

poner ejemplo con el line

tabwrite~

Generadores de Audio


image-1663753827592.PNG

noise~

image-1663753838864.PNG

phasor~

image-1663753851791.PNG coseno


cos~

image-1663753930903.png oscilador

El objeto osc~ es un generador de ondas sinusoidales, también conocidas como ondas puras. Debe recibir en su inlet izquierdo la frecuencia de la onda que queramos generar en valores en Hz. Este objeto va a generar una onda con una amplitud de 1, generar valore de -1 a 1.  ve valores que van de -1 a 1.


Imagen de una onda que va -1 a 1


Filtros

image-1663754201953.PNG

hip~

image-1663754212987.PNG

lop~

image-1663754226750.PNG

bp~

image-1663754239230.PNG

env~

image-1663754250139.PNG

vcf~