Cómo convertir archivos ogg en mp3 mediante un script de Python

Recientemente, importé con el reproductor Banshee (en Debian) el contenido multimedia de un CD con archivos *.wav que venía con un libro de catalán que compré. El formato libre al cual convierte, por defecto, es ogg. No obstante, para que sea compatible con los reproductores físicos de bolsillo requiero que esté en el formato propietario mp3. Si ustedes se ponen a averiguar en la red cómo hacer esto probablemente se encontrarán con varias opciones para Windows; si no filtran por Linux. En Windows probablemente encontrarán ofertas con GUIs vistosas y que transformen, además de ogg, infinidad de formatos que, por ahora, ni me interesan.

Por otra parte, en Linux, se puede afinar la búsqueda de los comandos de cónsola necesarios para hacer específicamente esta tarea de manera rápida y sin muchas complicaciones. Tuve suerte al encontrar sin mucho esfuerzo, en LinuxQuestions.org, un script sencillo en Python que permite convertir todos los archivos ogg en un directorio específico a mp3. Lo coloco en mi Blog para que los usuarios de habla hispana tengan acceso a él. El script es el siguiente:

#!/usr/bin/env python

# Simple python script to convert all ogg files in a current directory to mp3 format

import os
import os.path
 
def get_files (extensions):
	files = os.listdir (os.getcwd())
	retfiles = []
	for file in files:
		for extension in extensions:
			if (file.endswith (extension)):
				retfiles.append (file)
	
	return retfiles
		
def convert_to_mp3 ():
	oggfiles = get_files ([ '.ogg', '.ogm'])
	
	for ogg in oggfiles:
		ret1 = os.spawnlp (os.P_WAIT, 'oggdec', 'oggdec', ogg)
		if (ret1 == 0):
			rawfilename = os.path.splitext (ogg)
			wavfilename = rawfilename[0] + '.wav'
			mp3filename = rawfilename[0] + '.mp3'
			ret2 = os.spawnlp (os.P_WAIT, 'lame', 'lame', wavfilename, mp3filename)
			if (ret2 == 0):
				os.spawnlp (os.P_WAIT, 'rm', 'rm', wavfilename)

convert_to_mp3 ()

Además de Python, como es obvio, se necesita tener instalado en el sistema lame y evorbis-tools (que instalé a partir de los repositorios con synaptic). Grabado como ogg2mp3.py se ejecuta con ./ogg2mp3.py (o python ogg2mp3.py) con el script ubicado en el directorio donde se tienen los ogg. Funcionó de la manera esperada.

Esta entrada fue publicada en Código Python, Debian, Software Libre. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s