# Micrófono: Grabar y reproducir archivos En este capítulo vamos a ver cómo utilizar entradas, podéis utilizar el micrófono del ordenador. Veremos como grabar el sonido que generamos en pd y como reproducir archivos de audio externos. Abrir la carpeta de material correspondiente a este capitulo. En ella encontrareis todo lo necesario para seguir la lección. ### Entrada/Micrófono. adc~ Una entrada de audio nos va a permitir meter sonidos en tiempo real al ordenador, como el sonido que capta un micrófono o el sonido que produce una guitarra eléctrica. Vamos a poder grabar, reproducir o transformar estos sonidos. Actualmente casi todos los ordenadores tienen un **micrófono integrado**, que es el que, por ejemplo, en una video llamada capta el sonido de vuestra voz. Para acceder a este micrófono o cualquier otra entrada que tengáis, en Pure Data utilizaremos el objeto "**adc~**" (analog digital converter). Las entradas en Pure Data las podéis configurar en la sección "Dispositivos de Entrada" que se encuentra en "Configuración de Audio", hemos visto cómo hacerlo en la lección ["Configuración de Audio en Pure Data y notación MIDI",](https://libros.catedu.es/books/arduino-y-pure-data-ondas-color-y-sonido/page/configuracion-de-audio-en-pure-data-y-notacion-midi) pero antes de tocar la configuración de audio vamos a probar si el micro funciona, ya que Pure Data configurara una de las entradas de vuestro ordenador por defecto, así que si recibimos señal del micrófono no tendremos que modificar la configuración. Figura 1. Persona probando un micrófono. Para comprobar si recibimos señal vamos a utilizar el VU meter y el objeto "\*~" para regular el nivel de la señal: ![image-1668762034127.PNG](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/image-1668762034127.PNG)Figura 2. patch *Micro-tengo-senial.pd*

Recordar que para que Pure Data procese señal de audio tenéis que tener **encendido el DSP** y que para visualizar correctamente el nivel de volumen en el VU meter, al outlet del objeto "env~" tenéis que restarle 100 antes de enviar ese valor al VU meter.

Si vemos nivel verde en el VU meter y cambia cuando damos palmadas es que tenemos señal de nuestro micrófono. ¡¡¡Ya estamos listos para transformar esa señal!!! ##### Distorsión La distorsión a parte de un fenómeno que en algunos casos intentamos evitar se utiliza comúnmente como un efecto sonoro por ejemplo en las guitarras eléctricas. ¿Percibís la gran diferencia entre la guitarra distorsionada y la guitarra sin distorsionar? Hemos visto en la [lección anterior](https://libros.catedu.es/books/arduino-y-pure-data-ondas-color-y-sonido/page/clip-y-distorsion) que el objeto "**clip~**" aparte de como **elemento de seguridad** nos va a servir para **distorsionar** señales de audio. Vamos a probar a distorsionar nuestra voz, para ello vamos a **aumentar excesivamente el volumen se la señal** que capta nuestro micrófono, para luego **cortarla** de forma brusca con el "clip~". Podremos regular el nivel de distorsión variando cuanto aumentamos la señal y cuanto cortamos con el "clip~". Cuanto más aumentemos y más cortemos, más distorsionada estará la señal. Vamos a probarlo: ![image-1668764166840.PNG](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/image-1668764166840.PNG)Figura 3. patch *Micro-distorsion.pd* En la figura 3 podéis ver como el clip situado en la parte de arriba limita la señal de -0,5 a 0,5. Abrir el patch *Micro-distorsion.pd*, ¿podéis escuchar vuestra voz distorsionada? Figura 4. Persona escuchando su voz distorsionada con Pure Data ##### Feedback loop ¿Habéis oído alguna vez ese sonido constante e intenso que aumenta de volumen rápidamente cuando alguien con un micrófono se acerca a los altavoces por los que sale el sonido que recoge ese micrófono? Es algo así: En este evento del cole diríamos que el micrófono se está **acoplando** con los altavoces. Esto quiere decir que la voz de los niños o cualquier sonido que capte el micrófono se amplifica y envía a los altavoces. Los altavoces devuelven ese sonido amplificado al espacio y el micrófono vuelve a captar ese sonido que ya ha sido amplificado, lo amplifica otra vez y lo envía a los altavoces que devuelven ese sonido cada vez más amplificado. Es un ciclo en el que cada vez se aumenta más el nivel de una señal hasta generar esos tonos constantes que podéis escuchar en el video y que tanto molestan a los niños. Si os sucede esto tendréis que **bajar el volumen** de los altavoces y/o **amplificar menos** la señal que captáis con el micro, alejar el micro de ellos o colocarlo en una posición donde no este afectado. Este fenómeno se conoce como "feedback loop" que en español sería algo así como **bucle de retroalimentación**. Es un fenómeno que por lo general se intenta **evitar**, especialmente cuando el objetivo de utilizar un micrófono y unos altavoces es comunicar un mensaje a una gran audiencia, ya que la voz de quien habla tiene que entenderse y ser lo más clara posible. Al igual que la distorsión se puede, y se utiliza, como un elemento estético y creativo en la producción sonora, pero puede ser difícil de controlar. Para este curso solo necesitamos saber lo que es y cómo evitarlo en caso de que vuestro micrófono se acople con vuestros altavoces. ### Grabar. writesf~ Este objeto nos va a permitir grabar señales de audio que se encuentren en Pure Data. De esa grabación vamos a obtener un archivo que podremos reproducir con casi cualquier lector de Audio. Va a ser un archivo como el de una cancion que descarguéis de internet. ¿Como funciona este objeto? Para realizar una grabación con "**writest~**" vamos a utilizar **3 mensajes**. El primero que le enviaremos va a **crear el archivo** en el que se guardara la grabación y dentro escribiremos **"open" "espacio" "nombre-de-nuestro-archivo.wav"**. Sería como meter una cinta dentro de un caset. Figura 5. Meter la cinta = Abrir el archivo. El archivo se creará en la misma carpeta en la que tengamos guardado el patch. Cuando creamos el archivo aun no estamos grabando, para **comenzar a grabar** enviaremos el mensaje "**start**". Si no habéis creado el archivo antes, el mensaje "start" no va a funcionar. Sería como poner a grabar un caset sin meter ninguna cinta. ![image-1668771753892.PNG](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/image-1668771753892.PNG)Figura 6. patch *Grabar-micro.pd* Una vez hemos comenzado a grabar, **pararemos la grabación** enviando el mensaje "**stop**" Ya está, ¡¡ya tenemos nuestra primera grabación con hecha con Pure Data!! Ir a la carpeta donde está el patch guardado. ¿Veis el archivo? hacer doble click sobre el para abrirlo. ¿Escucháis vuestra voz?

Cuando queráis realizar una nueva grabación acordaros de cambiar en el mensaje open el nombre del archivo para no sobre escribir y perder grabaciones anteriores. Esto sería como sacar la cinta en la que ya habéis grabado del caset y preparar una nueva.

En la carpeta de material de esta lección os dejado la grabación que he hecho yo con este patch. ### Reproducir. readsf~ Este objeto nos va a permitir introducir en Pure Data señales de audio que se encuentran en archivos externos. Por ejemplo, la grabación que acabamos de hacer, o la grabación del golpe de una baqueta en un tambor. Figura 7. Meter la cinta y apretar al play = Abrir el archivo y enviar un "1". "**readsf~**" funciona de una manera muy similar a "writesf~". Tendremos primero que **abrir el archivo** que se encuentra alojado en la carpeta de nuestro patch utilizando el mensaje **"open nombre-del-archivo.wav"** (meter la cinta en el reproductor de casetes). Una vez el archivo está abierto **comenzamos la reproducción** enviando un "**1**" al objeto (apretar al botón play). Para **parar** la reproducción enviaremos un "0" (apretar al botón de parar).

Los archivos que grabemos y reproduzcamos en pure data van a esta en formato WAV

![image-1668773387841.PNG](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/image-1668773387841.PNG)Figura 8. patch *Reproducir-Grabar-Micro.pd* Hay que **volver a abrir** el archivo cada vez que queramos reproducirlo. Si queremos que un archivo que está siendo reproducido vuela a empezar, habrá que **pararlo, volver a abrirlo** y comenzar de nuevo su reproducción cada vez que queramos reproducirlo de nuevo.

Recordar que el orden en el que conectáis las cajitas va a influir en el orden en el que se realizan los envíos. Para controlar ese orden de manera más precisa y visible en caso de necesidad podéis utilizar un delay con un tiempo muy pequeño.

Y como ya os podéis imaginar, para escucharlo por los altavoces tendréis que hacer llegar la señal que acabáis de introducir el Pure Data al "dac~" En la carpeta de material de esta lección os dejado la carpeta "musicradar-drum-samples" con grabaciones de sonidos de percusión que podéis utilizar.

Ejercicio 8: Explicar la función que tiene el delay de la figura 8. Añadir otro delay para aseguraros que el orden de los mensajes permite volver a reproducir un archivo cada vez que activemos el bang, aunque este archivo se esté reproduciendo.

Figuras: Figura 1. Persona probando un micrófono. [https://giphy.com/gifs/polyvinylrecords-is-this-thing-on-anna-burch-tell-me-whats-true-QWYFDsf7qOxlS7FrHn](https://giphy.com/gifs/polyvinylrecords-is-this-thing-on-anna-burch-tell-me-whats-true-QWYFDsf7qOxlS7FrHn) Figura 2. patch *Micro-tengo-senial.pd* Figura 3. patch *Micro-distorsion.pd* Figura 4. Persona escuchando su voz distorsionada con Pure Data. Figura 5. Meter la cinta = Abrir el archivo. [https://giphy.com/gifs/vhs-vaporwave-retrowave-VHktKwkD9OEVaX4kq2](https://giphy.com/gifs/vhs-vaporwave-retrowave-VHktKwkD9OEVaX4kq2) Figura 6. patch *Grabar-micro.pd* Figura 7. Meter la cinta y apretar al play = Abrir el archivo y enviar un "1". [https://giphy.com/gifs/XxHVJxuogNP32](https://giphy.com/gifs/XxHVJxuogNP32) Figura 8. patch *Reproducir-Grabar-Micro.pd*