Linux. Сказ про образы Audio дисков
Наткнулся в сундуке на audio сокровища. Решил наконец разгрести, а поскольку
все оказалось не совсем просто, законспектировал.
Intro
Большинство Audio CD дисков, которые доступны в сети или киосках Союзпечати,
делаются в виде большого WAV файла, который является копией всех треков и CUE
файла, в котором описыается порядок композиций, их название и прочая информация.
WAV сжимается каким-нибудь lossless кодеком, а потом все закручивается архиватором а один архив.
В принципе удобно и разумно (хотя, как мне думается, потрековая разбивка была бы удобнее),
но иногда нужно не просто прописать CD и сделать копию Audio CD, с которго все было сграблено,
а, например пережать все потреково в MP3. Рассказ о том, как это сделать одним из наиболее
простых способов.
Что будем юзать?
С распаковкой архива проблем нет, ZIP/RAR отлично распаковываются соответствующими прогами.
Дополнительно ставим:
- cuetools, набор для работы с CUE/TOC файлами, берем тут
- shntool, нарезалка треков, понимает помимо WAV, другие lossless форматы, забираем отсюда
Установка обычная (./configure; make && make install).
Теперь lossless кодеки.
Сейчас популярны три кодека, Monkey Audio (.APE файлы), FLAC (.FLAC файлы) и WavPack (.WV файлы).
Monkey Audio
Наиболее широко использующийся. Жмет на 5-7% лучше, чем FLAC, но и ресурсов жрет
изрядно, распаковка/запаковка в 6-9 раз медленнее, чем у FLAC. Лицензия мутная, официально поддерживается только win32 платформа. Некий китайский программист сделал UNIX port
и даже выложил на SourceForge, но
скачать оттуда ничего не получается (будем надеяться что временно). Я откопал порт через FTP search
и после доработки напильником собрал бинари:
Оба файла слинкованы статически для Linux/i386.
FLAC (Free Lossless Audio Codec)
Самый разумный, на мой взгляд. Кроссплатформенный, внятная лицензия, отличная скорость работы. В среднем
размер WAV уменьшается вдвое. Качаем тут.
Сборка обычная, за исключением того, что может быть ругань на ассемблер. Я не стал ставить
новый asm, а просто запретил asm оптимизацию (./configure --disable-asm-optimizations).
WavPack
Еще один lossless кодек, зачем его использовать - не знаю.
Жмет хуже, чем Monkey Audio, работает тоже неспешно, может хранить
CUE внутри архива, гнездится тут.
Сборка стандартная, на всякий случай бинари:
Ну вот,
архив развернут, внутри находится .CUE файл и какой-то .APE (или .FLAC).
При упаковке WavPack'ом внутри может быть только один файл вроде file-bla-bla.wv.iso.wv.
Нужно вначале распаковать этот файл обратно в WAV. В случае WV нужно еще и вытащить CUE.
APE
$ mac file.ape file.wav -d
FLAC
$ flac -d file.flac
После распаковки в каталоге появится файл file.wav.
WavPack
$ wvunpack -cc Queen_1973_At_The_Beeb_eac_wv_iso_cue_log_covers_tags.wv.iso.wv
WVUNPACK Hybrid Lossless Audio Decompressor Linux Version 4.41.0
Copyright (c) 1998 - 2007 Conifer Software. All Rights Reserved.
extracted cuesheet file Queen_1973_At_The_Beeb_eac_wv_iso_cue_log_covers_tags.wv.iso.cue
restored Queen_1973_At_The_Beeb_eac_wv_iso_cue_log_covers_tags.wv.iso.wav in 175.82 secs (lossless, 41.09%)
В этом примере после распаковки в каталоге появятся WAV и CUE файлы.
Далее
WAV нужно нарезать на треки, мой пример:
$ cuebreakpoints Pink_Floyd_Animals.cue | shnsplit -o wav Pink_Floyd_Animals.wav
Splitting [Pink_Floyd_Animals.wav] (41:40.05) --> [split-track01.wav] (1:25.35) : 100% OK
Splitting [Pink_Floyd_Animals.wav] (41:40.05) --> [split-track02.wav] (17:04.10) : 100% OK
Splitting [Pink_Floyd_Animals.wav] (41:40.05) --> [split-track03.wav] (11:21.60) : 100% OK
Splitting [Pink_Floyd_Animals.wav] (41:40.05) --> [split-track04.wav] (10:23.68) : 100% OK
Splitting [Pink_Floyd_Animals.wav] (41:40.05) --> [split-track05.wav] (1:24.57) : 100% OK
Теперь
хорошей идеей будет переименовать все эти split-track*.wav в соответствии с
названиями треков в CUE. Забираем скрипт cue_rename.plx отсюда. Кроме
собственно переименования он дополнительно перекодирует русские имена в латиницу.
Запускаем:
$ cue_rename.plx Pink_Floyd_Animals.cue
Found information for file 'Pink_Floyd_Animals.wav'
Track 01 -> '01_Pigs_On_The_Wing__Part_One'
Track 02 -> '02_Dogs'
Track 03 -> '03_Pigs__Three_Different_Ones'
Track 04 -> '04_Sheep'
Track 05 -> '05_Pigs_On_The_Wing__Part_Two'
Renaming ...
split-track01.wav --> 01_Pigs_On_The_Wing__Part_One.wav
split-track02.wav --> 02_Dogs.wav
split-track03.wav --> 03_Pigs__Three_Different_Ones.wav
split-track04.wav --> 04_Sheep.wav
split-track05.wav --> 05_Pigs_On_The_Wing__Part_Two.wav
*** Done! ***
В результате получаем набор WAV'ов с нормальными именами.
Перегонку в MP3/OGG оставляю в качестве домашнего задания.
Успехов!
Tags: audio convert flac wv ape mp3
Назад в оглавление
|