viernes, 14 de octubre de 2016

Convertir WAV a MP3 por comando

Me resulta útil automatizar la conversión de WAVs a MP3. Muchos profesores tienen recursos WAV en la red en las carpetas del centro, y así ahorro espacio.

El siguiente script BASH recorre el directorio actual y genera archivos .mp3 por cada .wav encontrado:

SAVEIFS=$IFS; IFS=$(echo -en "\n\b")
for i in `ls *.wav`; do lame -h -m j -b 192 "$i"; done
IFS=$SAVEIFS

  • Hay que tener instalado lame. En este caso el comando se lanza con alta calidad, joint stereo y a 192kbps, más que sobrado para locuciones.
  • Al inicio del script, se define el "punto y coma" como delimitador de nombres de fichero. De esta forma no habrá problemas si los ficheros contienen espacios en blanco en su nombre. Al final del script, se restaura.
Por otro lado, si el formato del WAV resulta no entendible (me ha ocurrido en algunas fuentes de grabación chinas de calidad dudosa), lo he conseguido usando ffmpeg en lugar de lame:

#!/bin/bash
SAVEIFS=$IFS; IFS=$(echo -en "\n\b")

for i in `ls *.WAV`; do
   NAME=`basename $i | cut -f1 -d'.'`;
   ffmpeg -i "$i" "${NAME}.mp3";
done

IFS=$SAVEIFS 
  • Hay que tener instalado el paquete ffmpeg. 
  • También sirve para convertir videos, rotarlos, etc. Pero eso ya para otro post.

Comenzamos

Ficheros textuales, howtos, anotaciones, listas de correo con decenas de miles de mensajes... Basta!

Inspirado en lo útil que me resulta estar suscrito a los blogs de otros administradores informáticos, voy a empezar a anotar por aquí cosas interesantes que me serán de ayuda en un futuro próximo. Espero que a otros compañeros también les sirva.

Según evolucione el uso de esta web, planeo incluir procedimientos a compartir con profesores y alumnos, siempre que puedan ser de dominio público.

Por supuesto, el contenido será 99% Linux y todo lo que le rodea.