Convert library of WMA tracks to MP3's?

Install Soundconverter Install soundconverter

and run Soundconverter from launcher or terminal

enter image description here

The default conversion is .ogg change this to mp3 going to edit-> preferences under type of results. Format to MP3 as follow:

enter image description here

Click on add folder and then select your music folder. You may select the output folder on the above preference configuration before you clicking on convert.

Hope this will be done by two clicks :)


MPlayer is likely to be installed already. Also make sure you have lame:

sudo apt-get install mplayer lame

Then there are two ways to do it, an easy to read version, and a short and dirty script to do it:

All wma's should be in your current directory. Create a file called wmamp3 in your home directory (~/) containing:

#!/bin/bash

current_directory=$( pwd )

#remove spaces
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done

#remove uppercase
for i in *.[Ww][Mm][Aa]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done

#Rip with Mplayer / encode with LAME
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -ao pcm:waveheader $i && lame -m s audiodump.wav -o $i; done

#convert file names
for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done

#cleanup
rm audiodump.wav

chmod +x ~/wmamp3 to make it executable

sudo cp ~/wmamp3 /usr/bin to pop it somewhere useful on your path

Type "wmamp3" to run your conversion.


The short and dirty version (does exactly the same as above):

for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm -ao pcm:waveheader "$i" && lame -m j -h --vbr-new -b 160 audiodump.wav -o "`basename "$i" .wma`.mp3"; done; rm -f audiodump.wav

Mplayer and lame must be installed first:

sudo apt-get install mplayer lame

Then create the script (reference page ) and execute it:

#!/bin/bash
# By Marko Haapala
# converts wma to mp3 recursively. does not delete any static files, so 
# cleanup and renaming is needed afterwards. 
#
# requirements:
# lame    - http://lame.sourceforge.net/download.php
# mplayer - apt-get install mplayer or http://www.mplayerhq.hu/design7/dload.html


current_directory=$(pwd)
wma_files=$(find "${current_directory}" -type f -iname "*.wma")
# Need to change IFS or files with filenames containing spaces will not
# be handled correctly by for loop
IFS=$'\n' 
for wma_file in ${wma_files}; do 
    mplayer -vo null -vc dummy -af resample=44100 \
    -ao pcm -ao pcm:waveheader "${wma_file}" && lame -m s \
    audiodump.wav -o "${wma_file}".mp3
    rm audiodump.wav
done

Looks like it does exactly what you want. Bear in mind you may want to fiddle with the lame flags to ensure you get the desired quality level.