понедельник, 31 марта 2008 г.

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

Предисловие.
Я поменял шаблон блога на более жизнерадостный(но правда тоже из стандартных, были мысли найти что-то пооригинальнее, но пока лень. может как-нибудь соберусь) и изменил название, посчитав его неактульным. В связи с этим возможно появление постов не связанных с 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?" Мой телефон, который я изредка использую в качестве плеера, его не поддерживает.

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

Петро Нек комментирует...

спасибо, интересная заметка

Unknown комментирует...

@triklozoid
Я поменял шаблон блога на более жизнерадостный

оранжевый энергичней смотрится ;)

Регулярно возникает проблема, когда кто-нибудь приносит мне музыку в каком-то непонятном формате.(wma)

! Более того, есть DRM WMA ._.
так что надо бороться с гадиной

Сам пользую nautilus-script-audio-convert; nautilus-script-manager;
Так сказать, handle all formats, причём можно указывать битрейт, но форматы ограничены установленными кодеками (lame, acc, ape, flac, etc..) ogg всегда есть, в него и конвертирую, рипаю диски.

P.S. Для кода попробуй прикрутить syntaxhighlighter, здорово будет смотрется ;)

Unknown комментирует...

SoundConverter 1.0.1 (Преобразование звуковых файлов в GNOME)
а вот эта штука не затирает теги при конвертации, оказывается удобнее скрипта для наутилуса