Jugando un poco con las maneras de grabar el podcast EspacioBinario, dimos con una nueva manera de grabar y decidimos utilizarla y probar. Esto fue a través de mensajes de audio por telegram.
Pero a la hora de editar, nos percatamos de que el nivel de volumen de cada audio era completamente diferente. Algunos muy bajos y otros muy altos, y para rematar, dada la pobre calidad de nuestros dispositivos y de los locales donde grabamos, en la mayoría de los audios había un ruido ambiente insoportable.
Ante estos problemas, estuvimos investigando y buscando herramientas para mejorar la calidad de los audios y evitar tener que regrabarlos. A continuación voy a hacer un listado de las herramientas que encontramos y utilizamos.
Como todos los audios fueron grabados en telegram, esta herramienta utiliza el formato .ogg y para mejor manejo de los mismo decidimos convertirlos a .mp3
Para esto utilizamos la herramienta ffmpeg. Con esta herramienta puedes de una manera muy sencilla, convertir un audio o un listado de audios a .mp3
ffmpeg -i audio.ogg new_audio.mp3
Producto de que la mayoría de los audios contaban con diferentes niveles de volumen y al unirlos la diferencia era muy grande, decidimos normalizar los audios y ponerlos todos a un mismo nivel de volumen.
Para esto encontramos una aplicación de terminal llamada mp3gain. Con la misma puedes de manera muy sencilla normalizar el audio de un listado de ficheros mp3 e incluso normalizar el audio en un solo fichero.
En nuestro caso lo utilizamos para normalizar un listado de ficheros, y se puede hacer de la siguiente manera:
$ mp3gain -c -r *.mp3
Como también mencioné, el ruido ambiente en los audios fue otro de los problemas, y para resolver esto hicimos uso de la herramienta sox.
Para utilizar esta herramienta, deben cerciorarse de instalar sus librerías también, por tanto a la hora de instalarla haganlo de la siguiente manera
sudo apt install sox libsox-fmt-ao libsox-fmt-mp3 libsox-fmt-pulse libsox-fmt-alsa libsox-fmt-base libsox-fmt-oss
y luego para utilizarlo es de la siguiente manera:
# Crear el archivo de análisis del audio
sox audio.mp3 -n noiseprof tmp_profile
# Eliminar el ruido del audio y definir la tolerancia
# de ruido, esto va desde 0.0 hasta 1.0.
# A mayor valor en la tolerancia, más ruido elimina.
sox audio.mp3 new_audio.mp3 noisered tmp_profile 0.10
# Eliminar el archivo de análisis
rm tmp_profile
Para hacer todo esto de manera más sencilla (que somos ingenieros joder), pues creamos algunos scripts que pueden reutilizar si quisieran:
El primer script (normalize.sh) te permite convertir y normalizar un listado de archivos de audios en formato .ogg
# ejecutar en el mismo directorio donde tienes los audios
./normalize.sh
El segundo script (clean.sh) permite eliminar el ruido de un audio determinado.
# pasar como parámetros del script el audio y el nombre del nuevo audio
./clean.sh audio.mp3 without_noise.mp3
Espero te sirva de ayuda esta serie de aplicaciones para trabajar con tus audios y mejorar la calidad de los mismo así como nos fue de ayuda a nosotros.
Cualquier duda o sugerencia puedes dejarla en los comentarios y recuerda que puedes seguir nuestro podcast EspacioBinario en twitter y ayudarnos a crecer.
Happy coding!!!