8

I have thousands of music tracks in WMA format from when I used to use Windows Media Player to rip CDs. Now I'm having problems playing them on my Linux desktop at work.

Is there a good solution (for Windows or Linux) for converting all the WMAs to MP3s while leaving them in the same directories as before? I tried using iTunes to do it, but it started creating new directories to store all the converted tracks, which I don't want.

Gaff
  • 18,569
  • 15
  • 57
  • 68
Eddy
  • 3,337
  • 11
  • 42
  • 51
  • 1
    In Linux (what distro, by the way?) some combination of `find -execdir` and `ffmpeg` should do it, but I will run some test before I post an answer. – William Jackson Jun 19 '11 at 19:27
  • 2
    Be aware that any time you convert between lossy formats, you lose quality. Whether that loss in quality is audible depends on the original quality, the the encoder you're using for the transcode, your playback equipment, and your ears. If it were me, I would look at re-ripping the CDs (if possible) rather than transcoding. Even though I know that takes a lot more time. You might also consider storing your ripped CDs in a lossless format (FLAC is my favorite, but there are others), and transcoding _that_ to MP3 for your portable MP3 player, etc. That of course requires more disk space. – Flimzy Jun 19 '11 at 21:38
  • @William: At work I use openSUSE, at home I use linux mint (ubuntu) and windows 7. I'll have to check out ffmpeg when I have time and see if I can write a bash script or something. If you post an answer that works then I'll mark that – Eddy Jul 01 '11 at 11:47
  • @Flimzy: I'll try converting a few tracks and check by ear whether I notice the loss in quality. I'm not an audiophile so I suspect it will probably be ok for me, but better safe than sorry I suppose – Eddy Jul 01 '11 at 11:49
  • I use DB PowerAmp Music Converter for this, awesome software but not free (mp3 license required)...http://www.dbpoweramp.com/dmc.htm – Moab Jul 05 '11 at 12:49

6 Answers6

7

If you have thousands of files, then this will take forever.

find . -iname "*.wma" -execdir ffmpeg -i {} -ab 192k -map_metadata 0:s:0 {}.mp3 \;

(Older versions of ffmpeg may need -map_meta_data instead of -map_metadata, 0:0 instead of 0:s:0.)

(Newer versions of ffmpeg can use -map_metadata 0 -movflags use_metadata_tags instead of -map_metadata 0:s:0)

I tested this on Ubuntu 16.04. If you haven't already, you need to install the packages ffmpeg and libavcodec-extra-52.

Start this command from the parent directory that contains all your WMA files. It will search through all subdirectories for any file with a .wma extension and attempt to convert it to MP3. If the source file is named Awesome Song.wma, the new file will be Awesome Song.wma.mp3 and will be in the same directory as the source file.

If you normally user a bitrate higher or lower than 192k, change the -ab 192k flag to whatever you want.

Leahkim
  • 363
  • 2
  • 10
William Jackson
  • 8,344
  • 1
  • 37
  • 45
1

This added flag will tell ffmpeg to try and preserve the ID3 tags:

find . -iname "*.wma" -execdir ffmpeg -i {} -ab 192k **-map_metadata 0:0** {}.mp3 \;
Gaff
  • 18,569
  • 15
  • 57
  • 68
normod
  • 11
  • 1
1

This one finds the WMA files, converts them to MP3 with a clean extension name of .mp3 instead of .wma.mp3 and deletes the old file. This has been tested to work on Fedora 19 while searching WMA files through 150 GB worth of files that are arranged by artist/album/<disk number>/file.

find . -iname "*.wma" -execdir bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" && rm "$NAME"' \;
Randell
  • 1,213
  • 4
  • 20
  • 37
  • Works in a Mac, seems to preserve some metadata too. Although I got a lot of `Queue input is backward in time [mp3 @ 0x7fbffb02ba00] Application provided invalid, non monotonically increasing dts to muxer in stream` warnings. – adib Jan 07 '15 at 11:49
0

Here's the script example for a QNAP NAS that converts all of them:

find . -iname "*.wma" -exec bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" && rm "$NAME"' \;

All tags, including the embedded png cover art, are preserved.

Worthwelle
  • 4,538
  • 11
  • 21
  • 32
larry
  • 1
0

I've never tried this software but it looks promising and it's free.

http://www.freemp3wmaconverter.com/

WMA to MP3 tutorial.

bzsparks
  • 184
  • 3
0

Free Mp3 Wma Converter 1.95 will definitely get your job done.

evan.bovie
  • 3,202
  • 20
  • 30