вторник, 1 апреля 2008 г.

Конвертирование музыки из wma в mp3

Дневник triklozoid'a.: Конвертирование музыки из wma в mp3

31 Март 2008 г.

Предисловие.

Я поменял шаблон блога на более жизнерадостный(но правда тоже из стандартных, были мысли найти что-то пооригинальнее, но пока лень. может как-нибудь соберусь) и изменил название, посчитав его неактульным. В связи с этим возможно появление постов не связанных с GNU/Linux.

Регулярно возникает проблема, когда кто-нибудь приносит мне музыку в каком-то непонятном формате.(wma) И хотя Amarok его замечательно воспроизводит, но при прослушивании возникает какой-то дискомфорт. Еще в далекие времена, когда я использовал windows я уже не любил этот формат музыки, а уж сейчас и подавно. Но до недавнего времени я ленился подойти к этому вопросу вплотную и клянчил у мамы ноутбук с виндой, чтобы сконвертировать очередной альбомчик. Но тут все-таки решил перебороть свою лень и в течении 15 минут нашел решение проблемы.
Фактически я здесь помещаю перевод этой статьи с небольшим изменением в скрипте, потому что так "не работало".
Нам потребуется mplayer и lame. Mplayer я думаю входит в репозитории любого дистрибутива. А вот lame в мандривовском репозитории я не нашел. Но сильно не расстроился и воспользовался сайтом rpmseek.com. Нашел там пакет для 2006 версии, скачал, установил - все работает.

Последовательность действий:
1. Открываем любимым текстовым редактором новый файл скажем wmamp3.
2. Вбиваем туда следующее содержимое:

#!/bin/bash

current_directory=$( pwd )


#убираем пробелы
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done


#убираем верхний регистр

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

#распаковываем в wav и пакуем в mp3

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

#меняем расширение на правильное

for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done
rm audiodump.wav

3. Сохраняем файл, ставим на него флаг выполняемости

chmod +x wmamp3

4. Переносим куда-нибудь в /bin или /usr/bin.

sudo mv wmamp3 /usr/bin

5. И пробуем использовать примерно так:

wmamp3 file_name

6. Можно использовать для всех файлов в папке по маске:

wmamp3 *

Время на конвертацию в среднем до 20 секунд на песню.

Заранее отвечу на вопрос: "Почему не в ogg?" Мой телефон, который я изредка использую в качестве плеера, его не поддерживает.

Автор triklozoid на 10:30

4 комментария:

Анонимный комментирует...

Уточните пожалуйста 3-ий пункт "ставим на него флаг выполняемости" - как это сделать?
Сергей.

Сергей Курган комментирует...

Команда chmod +x wmamp3 делает файл исполняемым

Анонимный комментирует...

Ошибка!!!!

/usr/local/bin/wma2mp3: строка 17: ошибка синтаксиса около неожиданной лексемы `rm'
/usr/local/bin/wma2mp3: строка 17: `for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done rm audiodump.wav'

Забыл ; после последнего done

Анонимный комментирует...

зачем же такие извращения если есть pacpl? оккам покарает вас всех