Наткнулся в сундуке на audio сокровища. Решил наконец разгрести, а поскольку все оказалось не совсем просто, законспектировал.
Intro
Большинство Audio CD дисков, которые доступны в сети или киосках Союзпечати, делаются в виде большого WAV файла, который является копией всех треков и CUE файла, в котором описыается порядок композиций, их название и прочая информация. WAV сжимается каким-нибудь lossless кодеком, а потом все закручивается архиватором а один архив. В принципе удобно и разумно (хотя, как мне думается, потрековая разбивка была бы удобнее), но иногда нужно не просто прописать CD и сделать копию Audio CD, с которго все было сграблено, а, например пережать все потреково в MP3. Рассказ о том, как это сделать одним из наиболее простых способов.
Что будем юзать?
С распаковкой архива проблем нет, ZIP/RAR отлично распаковываются соответствующими прогами.
Дополнительно ставим:
- cuetools, набор для работы с CUE/TOC файлами, берем тут
- shntool, нарезалка треков, понимает помимо WAV, другие lossless форматы, забираем отсюда
Теперь lossless кодеки.
Сейчас популярны три кодека, Monkey Audio (.APE файлы), FLAC (.FLAC файлы) и WavPack (.WV файлы).
Monkey Audio
Наиболее широко использующийся. Жмет на 5-7% лучше, чем FLAC, но и ресурсов жрет изрядно, распаковка/запаковка в 6-9 раз медленнее, чем у FLAC. Лицензия мутная, официально поддерживается только win32 платформа. Некий китайский программист сделал UNIX port и даже выложил на SourceForge, но скачать оттуда ничего не получается (будем надеяться что временно). Я откопал порт через FTP search и после доработки напильником собрал бинари:
- mac-3.99-u4-b5-i386-bin.gz, собственно сам кодер
- apeinfo-3.99-u4-b5-i386-bin.gz, прога для печати инфы про APE файл
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 -dFLAC
$ 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 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 оставляю в качестве домашнего задания.
Успехов!
Комментариев нет:
Отправить комментарий