Конвертирование аудио файлов
Конвертируем музыку из аудио CD в .wav:
Нам понадобится cdparanoia. Если не установлена, ставим
sudo apt-get install cdparanoiacdparanoia -Qвыведет список треков на диске и время звучания.
Скидываем треки на жесткий диск:
cdparanoia -B -S 24 -Z 1-7 /home/virtdiver/cd1/где:
-B - записываем каждый трек отдельным файлом
-S 24 - указываем скорость считывания
-Z - даем команду не восстанавливать поврежденные треки (царапины на диске и проч.) в целях увеличения скорости
1-7 сохраняем с 1ого по 7ой трек
в простейшем виде команда конвертирования аудио cd в wav выглядит так:
cdparanoia -BКонвертируем из wav в mp3:
Нам потребуется утилита-кодер lame. ставим:
sudo apt-get install lameКонвертируем командой:
lame -b 192 track01.cdda.wav 1.mp3В данном случае мы получили файл 1.mp3 с постоянным битрейтом 192 kbps.
битрейт можно указать любой из данного ряда значений 32 40 48 56 64 80 96 112 128 160 192 224 256 320
Конвертируем из cd-аудио в mp3 без создания промежуточных wav:
cdparanoia -B 1 - | lame -b 192 - 1.mp3Данная команда снимает с диска трек посредством утилиты cdparanoia и автоматически передает результат ее работы утилите lame. В данной записи мы получим файл 1.mp3 с постоянным битрейтом 192 kbps с трека № 1 CD-диска.
Символы тире перед метасимволом | и после команды lame указывают на то, что вывод работы утилиты cdparanoia должен осуществляться не в файл, как рассматривалось в предыдущих примерах, а в стандартный канал вывода (stdout), а входными данными для утилиты lame должен быть стандартный канал ввода (stdin).
Добавляем цикл и получаем:
for i in `seq 2 10`; do cdparanoia -B $i - | lame -b 192 - $i.mp3; doneэтой командой перегоняем в mp3 треки со 2ого по 10ый. Обращаю внимание что seq 2 10 заключен не в обычные кавычке а в те что на клавише с буквой "Ё".
или пример без кавычек:
for i in seq 1 2 3 10; do cdparanoia -B $i - | lame -b 192 - $i.mp3; doneбудут сконвертированы 1ый, 2ой, 3ий и 10ый треки.
Конвертирование из wav в mp3 или из mp3 в mp3 с изменением битрейта.
как то возникла задача - перекинуть на мп3плеер тысячу треков разбитых на альбомы (т.е. в разных дирректориях) понизив битрейт, иначе не влезало. запускать конвертирование для каждой папки было очень долго и не удобно, так как папок было много. Придумал такое решение:
find ~/ -iname "*.mp3" -exec lame -b 128 '{}' '{}'. ';' && find ~/ -iname "*.mp3" -exec rm '{}' ';' && find ~/ -iname "*.mp3." -exec mv '{}' '{}'mp3 ';'Эта команда осуществляет конвертирование в мп3 с битрейтом 128 в текущей дирректории и во всех вложенных в нее.
Рассмотрим подробнее:
1. Ищем утилитой find все файлы с расширением .mp3 и передаем их с помощью ключа -exec кодировщику lame. '{}' в данном случае содержит название файла, найденного командой find. Кодировщик конвертит в файл вида "*.mp3." .
2. Ищем утилитой find все файлы с расширением .mp3 и удаляем их командой rm, так как они нам больше не нужны.
3. Находим наши отконвертированные файлы вида "*.mp3." и переименовываем их в файлы вида "*.mp3.mp3" .
Немножко корявый способ, появляется в названии лишнее "mp3", кто подскажет способ лучше - буду рад.
Для рекурсивного перекодирования из wav в mp3 все проще:
find ~/ -iname "*.wav" -exec lame -b 128 '{}' '{}' ';' && find ~/ -iname "*.wav" -exec rm '{}' ';'команда конвертирует из wav в mp3, затем удаляет wav.
April 24, 2010