Cambiar el formato de archivos de música o audio en GNU/Linux

Escrito por el , actualizado el .
gnu-linux software-libre
Enlace permanente Comentarios

FFmpeg

Linux

En algún momento puede que necesitemos o queramos convertir archivos de audio a otro formato individualmente o de forma masiva. Por ejemplo convertir archivos de audio del formato de música más utilizado mp3 al formato libre de patentes ogg, o de mp3 a aac o desde otros formatos y a otros formatos como wav o ac3. Algunos formatos ofrecen mejor compresión y ocupan menos espacio con la misma calidad y este puede ser un motivo por que queramos hacer la conversión. Aún así hay que tener en cuenta que las conversiones entre formatos con pérdida como de mp3 a ogg aún ocupando menos (o más) la calidad puede empeorar, aunque para un oído no entrenado será imperceptible, para convertir a un formato con pérdida es mejor partir de un archivo sin pérdida como wav.

Si extraemos las canciones de un CD de música dependiendo del programa obtendremos los archivos en formato wav o quizá directamente en mp3, si no las queremos en mp3 para no perder calidad es mejor extraer las canciones en el formato sin pérdida wav y luego realizar la conversión al formato que queramos. En este artículo explicaré como de forma sencilla desde la línea de comandos y con FFmpeg podemos hacer las conversiones, de forma masiva para múltiples archivos y de forma recursiva en múltiples directorios queremos cambiar el formato de una biblioteca de música entera. Hay páginas que sin necesidad de tener instalar nada en el equipo salvo un navegador ofrecen como servicio hacer las conversiones pero hay que hacerlo para cada archivo de forma individual y es más lento por tener que realizar la transmisión a través de internet de algunos pocos megas.

La herramienta FFmpeg nos permite hacer las conversiones, por ejemplo para convertir de wav a mp3, de wav a ogg o de mp3 a ogg ejecutaríamos los siguientes comandos. El último de ellos permite cambiar el bitrate para que ocupen menos, se pierde algo de calidad pero hay que tener buen oído para apreciar significativamente la diferencia entre 320k y 128k, entre estas dos calidades la reducción de tamaño llega a la mitad.

1
2
3
4
$ ffmpeg -i entrada.wav -codec:a libmp3lame salida.mp3
$ ffmpeg -i entrada.wav -codec:a libvorbis salida.ogg
$ ffmpeg -i entrada.mp3 -codec:a libvorbis salida.ogg
$ ffmpeg -i entrada.mp3 -codec:a libmp3lame -b:a 128k salida.mp3
convert.sh

Con la opción -i indicamos el archivo a convertir, con la opción -acodec indicamos el códec a usar para la conversión, en este caso libmp3lame para mp3, libvorbis para ogg y el último parámetro para indicar el archivo de salida. Para convertir a otros formatos los códecs que debemos usar son:

  • mp3: libmp3lame
  • ogg: libvorbis
  • acc: libfaac
  • ac3: ac3

Para hacer la conversión no de un archivo individual sino de forma masiva o múltiple que en los casos anteriores usamos:

1
2
3
$ for f in *.wav; do ffmpeg -i "$f" -codec:a libmp3lame "${f%.wav}.mp3"; done;
$ for f in *.wav; do ffmpeg -i "$f" -codec:a libvorbis "${f%.wav}.ogg"; done;
$ for f in *.mp3; do ffmpeg -i "$f" -codec:a libvorbis "${f%.mp3}.ogg"; done;
masive-convert.sh

Para hacer un conversión masiva, recursiva y en múltiples directorios usamos:

1
2
3
$ find ./ -name "*.wav" -exec ffmpeg -i {} -codec:a libmp3lame "{}.mp3" \; -exec rename .wav.mp3 .mp3 "{}.mp3" \;
$ find ./ -name "*.wav" -exec ffmpeg -i {} -codec:a libvorbis "{}.ogg" \; -exec rename .wav.ogg .ogg "{}.ogg" \;
$ find ./ -name "*.mp3" -exec ffmpeg -i {} -codec:a libvorbis "{}.ogg" \; -exec rename .mp3.ogg .ogg "{}.ogg" \;
recursive-convert.sh

En la documentación de FFmpeg podemos encontrar más parámetros al hacer las conversiones como modificar la calidad, la tasa de bits y por tanto el tamaño del archivo o extraer ciertas partes de un audio o canción. FFmpeg no sirve solo para archivos de sonido o música también sirve para realizar conversiones entre formatos de archivos de vídeo o para extraer el audio de un vídeo pero eso quizá sea contenido para otro artículo.

Si preferimos realizar la conversión mediante una interfaz gráfica podemos usar VLC que también nos servirá para hacer la conversión tanto en Windows como en Mac OS además de GNU/Linux. Primeramente en el menu Archivo > Convertir añadimos el archivo a convertir a la lista y pulsamos botón Convertir. En el siguiente diálogo seleccionaremos el perfil de salida, en este caso Audio - Vorbis (OGG) y el nombre del archivo de salida, editando el perfil tendremos opción de modificar la tasa de bits del audio, además de la resolución y la posibilidad de aplicar algunos filtros como el normalizador de volumen.

Conversión audio de MP3 a OGG Selección de códec

Salida de conversión


Comparte el artículo: