Skip to main content

Configuración de Audio en Pure Data y notación MIDI

RECOMENDACIÓN: os aconsejo trabajar con altavoces, no con cascos. El sonido puede hacer daño a los oídos si no controláis el volumen.

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. Se trata de 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 será hacer vibrar la membrana de un altavoz para generar esa onda mecánica que conocemos como sonido.   

¿Qué es una tarjeta de sonido?

Es la parte del hardware de vuestro ordenador que se encarga de gestionar el procesamiento de audio y, sobre todo, de convertir datos en señales eléctricas que permitan controlar el movimiento de un altavoz, o de traducir a datos digitales las señales eléctricas generadas por un micrófono que registra el sonido de una voz.

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

Vuestros ordenadores tienen una tarjeta de audio integrada, pero existen también tarjetas de audio externas que se pueden conectar al ordenador.

Si no sabéis si tenéis una tarjeta de audio interna o externa, quiere decir que tenéis una tarjeta de audio interna, que está dentro del ordenador. 

Configuración del audio en Pure Data

Vamos a ver dónde está la configuración de Audio de Pure Data y si tenéis que cambiar algo.

La ventana de configuración de audio está en Menu horizontal>Archivo>Preferencias>Audio...

Sample rate o frecuencia de sampleo

Es el número de valores por segundo que definen una onda. La mayoría de las tarjetas de sonido funcionan a 44.000 Hz, que es la frecuencia que viene predeterminada en la configuración de Pure data, o a 48.000 Hz. Tendréis que configurar este parámetro para que coincida con el de vuestra tarjeta de sonido. En mi caso utilizo una tarjeta de sonido externa que actualmente tengo configurada a 48 kHz, por lo que utilizaré la misma frecuencia en mi configuración de Pure Data.

image-1668523996756.PNGFigura 1. Configuración de audio de Pure Data (izquierda), configuración de tarjeta de sonido externa (derecha)


Latencia, Retardo o delay

Es el tiempo que tarda desde el momento en que se ejecuta una acción hasta que percibimos su resultado, por ejemplo; desde que apretamos el botón de play hasta que el sonido sale por los altavoces y podemos escucharlo. Las latencias cortas transmiten la sensación de mayor responsive, ya que el resultado de una acción es percibido inmediatamente. Sin embargo, una latencia demasiado corta puede provocar interrupciones o errores en el sonido (clics, pums, craks ...), ya que el ordenador no tiene tiempo suficiente para terminar de procesar los datos antes de enviarlos. Así que, si os encontráis con este problema, probad a aumentar la latencia.

En mi caso configuraré la latencia en 80 milisegundos


Tamaño de Bloque o Buffer Size.

Este parámetro está relacionado con la latencia y vamos a dejarlo en 64.


Dispositivos de Entrada

Aquí, podemos configurar qué entradas y a través de qué tarjeta vamos a recibir señal de audio en Pure Data, por ejemplo, el micrófono interno de vuestro ordenador. En mi caso, es la entrada que aparece configurada en la Figura 2. Fijaros que la cajita de la izquierda este activada.

image-1668530335189.PNGFigura 2. Dispositivos de entrada y salida en la configuración de audio de Pure Data.


Dispositivos de Salida

Este apartado nos permitir configurar a través de qué salidas se enviará el audio que creemos en Pure Data. En mi caso como tengo una tarjeta de audio externa a la que tengo conectados mis altavoces, la salida que selecciono será la de mi tarjeta de sonido: OUT 1-2 (MOTU M Series)

Los dispositivos de salida y entrada en vuestros ordenadores van a tener diferentes nombres dependiendo del ordenador o tarjeta que tengáis, así que, no esperéis encontrar los mismos que aparecen en las imágenes que os pongo.

Cuando empecemos a trabajar con sonido, si algo no va bien, volveremos a esta página para revisar nuestra configuración de audio


MIDI

" MIDI (siglas de Musical Instrument Digital Interface) es un estándar tecnológico que describe un protocolo, una interfaz digital y conectores que permiten que varios instrumentos musicales electrónicos, ordenadores y otros dispositivos relacionados se conecten y comuniquen entre sí.​" (Wikipedia)

"El sistema MIDI transporta mensajes de eventos que especifican notación musical, tono y velocidad (intensidad); señales de control para parámetros musicales como lo son la dinámica, el vibrato, panoramización en dos dimensiones, cues y señales de reloj que establecen y sincronizan el tempo entre varios dispositivos." (Wikipedia)

A nosotros, del MIDI nos interesa la codificación de la frecuencia que utiliza para las notas musicales, para trabajar con la escala musical diatónica (Do, Re, Mi ...).

En MIDI a cada nota de la escala musical se le asigna un número del 0 al 127. Siendo el 0 igual al DO de la octava -1, que a su vez es una onda de 8,175799 Hz. La nota MIDI 127 corresponde con un Sol de la octava 9, y la frecuencia de esta onda es de 12.543,853516 Hz.

Tabla de equivalencia MIDI:

image-1663841295232.pngFigura 3. Tabla de equivalencia MIDI (Nota | Valor MIDI | Frecuencia en Hz)


Como habíamos visto en la página "Las Ondas y el Sonido", la frecuencia es lo que determina qué tan agudo o grave suena un sonido. Determina el tono, la nota. 

Cuando trabajemos con osciladores en Pure Data tendremos que introducir la frecuencia de la onda que queramos generar en Hz, por lo que si queremos trabajar con la notación MIDI necesitaremos un objeto que traduzca de MIDI a Hz.

El objeto "mtof" (midi to frequency) convierte valores de MIDI a Hz. Y si queremos pasar de Hz a MIDI utilizaremos el objeto "ftom" que convierte valores de Hz a MIDI.  Estos objetos reciben valores numéricos y devuelven valores numéricos. Inlet (float), outlet (float). Abrir el patch MIDI-Hz-Tono-Frecuencia.pd para probar estos objetos.

image-1668533488324.PNGFigura 4. patch MIDI-Hz-Tono-Frecuencia.pd.


Los que tengáis un controlador MIDI podéis conectarlo a Pure Data, pero en este curso no lo vamos a explicar. Podéis buscar información en internet de cómo hacerlo o preguntar en una tutoría.



Figuras:

Figura 1. Configuración de audio de Pure Data (izquierda), configuración de tarjeta de sonido externa (derecha).

Figura 2. Dispositivos de entrada y salida en la configuración de audio de Pure Data.

Figura 3. Tabla de equivalencia MIDI (Nota | Valor MIDI | Frecuencia en Hz). https://cmtext.indiana.edu/appendices/appendix_B.php  

Figura 4. patch MIDI-Hz-Tono-Frecuencia.pd.


Referencias:

https://es.wikipedia.org/wiki/MIDI

https://archive.flossmanuals.net/pure-data/getting-started/configuring.html