WMA to MP3

Вітаю всіх!
Потрібно було мені сконвертувати вражеский WMA у більш дружній для мого плеера формат, верніше для мобілко 🙂

Етапи такі:
конвертуємо WMA у WAV а далі у що потрібно, зокрема у MP3 , хоча OGG зробити також не проблема. Робимо вигляд що прослуховуємо файл, на справді ні:)

mplayer -quiet -vo null -vc dummy -af volume=0,resample=44100:0:1 -ao pcm:waveheader:file="audiofile.wav"

mplayer -quiet -vo null -vc dummy -af volume=0,resample=44100:0:1 -ao pcm:waveheader:file=”audiofile.wav”

або

mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader mashina.wma
(у цьому випадку отримуємо файл audiodump.wav)

Залишилось сконвертувати WAV у MP3. Робимо це так:
lame audiodump.wav mashina.mp3
або
lame -h -b 192 audiodump.wav mashina.mp3
(для кращих варіантів треба читати man lame, це найкорисніше 🙂 )

Якщо ж файлів багато, то краще використовувати простий bash-скрипт, зразків їх повно в інтернеті. Наприклад такий:

#!/bin/bash

# Dump wma to mp3
for i in *.wma
do
if [ -f "$i" ]; then
rm -f "$i.wav"
mkfifo "$i.wav"
mplayer -quiet -vo null -vc dummy -af volume=0,resample=44100:0:1 -ao pcm:waveheader:file="$i.wav" "$i" &
dest=`echo "$i"|sed -e 's/wma$/mp3/'`
lame -V0 -h -b 160 --vbr-new "$i.wav" "$dest"
rm -f "$i.wav"
fi
done

або зовсім майже потужний:

#!/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

for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -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

rm audiodump.wav

done

Проблема тільки з тегами файлів. Я поки що їх забиваю easytag, бо під час корвертації вони губляться. Більш коректнішого варіанту не знайшов поки що. Хоча, той хто кодує у WMA той переважно пише “Неизвестный диск – Звуковая дорожка 1”, тому це поки що не актуально :)))

Бажаю всім наснаги та щастя, успіхів безумовно та здоров’я!!!