Transformando wma a mp3 en Linux

11 02 2009

En esta entrada tratare de explicar la manera de convertir un archivo de audio codificado en formato wma (windows media audio, diseñado por Microsoft y propio de Windows Media Player), a formato mp3, el cual es mas libre y flexible.

Intalando elementos basicos.
Instalamos win32codec:

1. Descarga el archivo .deb de win32codecs. Para descargarlo da click aqui y descarga: “w32codecs_20071007-0medibuntu3_i386.deb“

2. Luego de haberlo descargado ejecutalo y click en “instalar paquete”.

Ahora necesitamos dos programas basicos (mplayer y lame) , el primero lo instalamos desde consola con la siguente instruccion:

$ sudo apt-get install mplayer

Despues entramos a la web de lame y descarga el programa.

Cuando tengamos el archivador (de lame) descargado, procedemos a extraerlo, entramos a la carpeta que se creo despues de la extraccion y dentro de ella en una consola ejecutamos :
# chmod +x configure
# ./configure
# make
# make install

Con esto ya tendremos lo necesario para pasar a realizar nuestra conversion.

Conversión

El proceso consiste principalmente en lo sigueinte:

  1. Pasamos el archivo wma a wav. En esta parte es donde mPlayer entra en accion.
  2. Pasar el wav a mp3. Lame se encarga de esta tarea.

En terminos de consola, seria de la siguiente forma:
$ mplayer nombre_archivo.wma -ao pcm
$ lame archivo_convertido.wav

Pero ojo, hay algunas cuestiones que se tienen que tomar en cuenta:

  • No se aceptan archivos que en sus nombres tengan espacios en blancos.
  • Al hacer la convercion de wma a wav, se crea un archivo de salida llamado audiodump.wav, por lo que le pasamos a lame como parametro este archivo.
  • Al codificar el wav a mp3 el resultado es un archivo con extencion .wma.wav.mp3 (que es nuestro mp3 final).

Ejemplo:

Conversion wav:
fredy@g-laptop:/media/F-RED-Y/Arjona$ mplayer 04_Minutos.wma -ao pcm
MPlayer 1.0rc2-4.3.2 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Atom(TM) CPU N270 @ 1.60GHz (Family: 6, Model: 28, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing 04_Minutos.wma.
ASF file format detected.
[asfheader] Audio stream found, -aid 1
Clip info:
name: Minutos
author: Ricardo Arjona
==========================================================================
Forced audio codec: mad
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16002->176400)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
==========================================================================
[AO PCM] File: audiodump.wav (WAVE)
PCM: Samplerate: 44100Hz Channels: Stereo Format s16le
[AO PCM] Info: Faster dumping is achieved with -vc null -vo null -ao pcm:fast
[AO PCM] Info: To write WAVE files use -ao pcm:waveheader (default).
AO: [pcm] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 250.1 (04:10.0) of 250.0 (04:10.0) 1.0%
Exiting... (End of file)

Haciendo un “ls” podemos ver el archivo audiodump.wav:
fredy@g-laptop:/media/F-RED-Y/Arjona$ ls
04_Minutos.wma audiodump.wav

Ahora pasamos este archivo como parametro a lame:
fredy@g-laptop:/media/F-RED-Y/Arjona$ lame audiodump.wav
LAME 3.98 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding audiodump.wav to audiodump.wav.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
9517/9517 (100%)| 0:54/ 0:54| 0:54/ 0:54| 4.5987x| 0:00
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
128.0 11.1 88.9 97.6 1.4 0.9
Writing LAME Tag...done
ReplayGain: -10.4dB

Ejecutamos un “ls” y ya podemos ver nuestro archivo mp3 final:
fredy@g-laptop:/media/F-RED-Y/Arjona$ ls
04_Minutos.wma audiodump.wav audiodump.wav.mp3

Inconvenientes de este metodo:

  • Es algo complicado hacer esto cuando se trada de varios archivos wma.
  • El archivo final no preserva el nombre del original.
  • Tendremos que quitar los espacios en blanco a mano de los archivos a convertir.

Script para Nautilus:

Para resolver estos inconvenientes y hacer todo el proceso de manera grafica, con la ventaja de transformar los archivos de un directorio (por ejemplo donde tengas un album) con un solo click y sin preocuparte de los espacios en blanco en el nombre de los archivos; realizamos el siguiente proceso:

1.- :
Creamos un archivo en el directorio “~/.gnome2/nautilus-scripts” con el nombre “convertir wma a mp3”, ejecutando lo siguiente (o puedes hacerlo de forma grafica si lo deseas):
fredy@g-laptop:~$ gedit ~/.gnome2/nautilus-scripts/convertir\ wma\ a\ mp3

2-:
Se abrira el archivo, y dentro de el pegamos el siguiente codigo (esta comentado para que noten los pasos que va realizando):
#!/bin/sh
#########################
# Renombramos los espacios blancos de los archivos a _
find . -name '* *' | sort | while read FILE
do
NEWFILE=`echo ${FILE} | sed 's/ /_/g;'`
mv "${FILE}" ${NEWFILE}
echo ${NEWFILE}
done
###########################
# Convertimos wma a mp3, parte fundamental...
for f in *.wma
do
#La variable "f" almacena el nombre_archivo
#Transformando a wav
mplayer $f -ao pcm
#Renombrando audiodump.wav a nombre_archivo.wav
mv audiodump.wav $f.wav
#Transformando nombre_archivo.wav a nombre_archivo.mp3
lame $f.wav
#Eliminando nombre_archivo.wav
rm $f.wav
done
############################
# Renombramos wma.wav.mp3 a mp3
find . -name '*wma.wav.mp3*' | sort | while read FILE
do
NEWFILE=`echo ${FILE} | sed 's/wma.wav.mp3/mp3/g;'`
mv "${FILE}" ${NEWFILE}
done

Guardamos y asignamos permisos para ejecutar el archivo:
fredy@g-laptop:~$ chmod +x ~/.gnome2/nautilus-scripts/convertir\ wma\ a\ mp3

Y listo, navegamos hasta el directorio donde este la musica en formato wma, damos click derecho sobre algun archivo, en el submenu scripts seleccionamos “convertir wma a mp3”, en unos cuantos minutos tendras tu musica en formato mp3, con el nombre original y sin mas complicaciones.

Espero te sea de utilidad este sencillo manual, dudas y comentarios mas abajo.

Vive Libre!!!


Acciones

Information

One response

6 05 2009
panzerfausten

Gracias me ha servido de mucho! =)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

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




A %d blogueros les gusta esto: