ogg-кодирование сграбленных с audioCD треков с "правильными" именами

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

ogg-кодирование сграбленных с audioCD треков с "правильными" именами

Сообщение t.t »

Я тут сегодня приступил таки к "грабежу" своих старых аудиодисков; как выяснилось, наилучшее качество для плохих дисков, по сравнению со всеми опробованными мною грабилками, даёт xmms'овский плагин записи на диск. Но он пишет wav, причём под неказистыми именами типа "Track XX.wav". Сразу хочется всё это дело перегнать в более компактный формат, например в ogg, заодно раскладывая по каталогам и называя как надо. Вот наваял сейчас скриптец, который вытягивает с cddb-сервера информацию об альбоме (диск должен стоять в приводе) и кодирует треки, лежащие в указанном каталоге (по умолчанию ~/music) под вышеназванными неказистыми именами в файлы в подкаталоге того же каталога типа Artist-Album/##.TackName (## -- номер трека). Вот выкладываю, под GPL :), может ещё кому пригодится. Проверил пока только на паре дисков, если будут какие ошибки -- отписывайте здесь. Скрипту требуются для работы утилиты cdown и oggenc из пакетов cdtool и vorbis-tools соответственно.

Код: Выделить всё

#!/bin/bash
dir="$1"
if [ "$dir" = "" ]; then
    dir=$HOME/music
fi
cdown >/tmp/cdtracks.info || exit 1
cur_dir=`pwd`
cd $dir
cdname="`grep ^artist /tmp/cdtracks.info|cut -c 8-`-`grep ^cdname /tmp/cdtracks.info|cut -c 8-`"
mkdir "$cdname"
grep "^track " /tmp/cdtracks.info|cut -c 7- >/tmp/cdtracks.list
rm -f /tmp/cdtracks.info
for i in Track*.wav; do
    track_num=`echo $i|sed -e "s/Track\s*//;s/.wav//"`
    oggenc -o "$cdname/$track_num. `head -n $track_num /tmp/cdtracks.list|tail -n 1`.ogg" "$i" &&
        rm -f "$i"
done
rm -f /tmp/cdtracks.list
cd $cur_dir
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: