Загоняем музыкальную коллекцию lossless в wavpack

Согласитесь, не очень удобно держать в музыкальной коллекции сотни альбомов, раскиданных по папкам, где лежат вместе файлы с расширениями .cue, .ape, .flac, .log, да ещё хаотично разбросанные сканы диска. Нам на помощь придёт кодировщик wavpack, в котором есть возможность записывать в выходной файл теги APE v2. Это значит, что разметку .cue, лог рипа и картинки можно встроить в единый файл с расширением .wv (по спецификации размер метаданных файла не должен превышать 1 МБ, чего вполне хватит для встраивания обложек в невысоком разрешении). Один альбом — один файл, чем не unix-way? :) Естественно, ни о какой потере качества звука речи не идёт, это не mp3 с его алгоритмами компрессии звука, фактически wavpack контейнер, проще говоря — архиватор несжатого PCM потока.
Вкратце про ситуацию с поддержкой плеерами файлов, закодированных моим способом: без вывода дорожек воспроизводят mplayer и VLC (почему разработчики до сих пор не удосужились впилить поддержку cue — загадка, однако mplayer в консоли выводит содержимое cue). Треки видит DeaDBeeF, с некоторых пор этот плеер подключается через репозитарий разработчика. Виндовый foobar2000 конечно тоже читает без проблем. Я был немало удивлён наличию в Android читающего по трекам плеера — Neutron, к тому же он поддерживает CIFS и я крайне рад, что могу слушать коллекцию в своём телефоне прямиком с домашней сетевой шары.
Устанавливаем пакет wavpack, который есть в репозитариях любого линукса. Процесс кодирования будет состоять из нескольких этапов:
1) Распаковка в wav из .ape, .flac исходников. Способов много, я поведаю про свой в одной из следующих статей.
2) Правка .cue (здесь важный момент — укажите в редакторе имя wav-файла, каким вы желаете видеть его в коллекции, а распакованный wav можно даже не переименовывать). Также потребуется лог извлечения EAC сохранить в юникоде (UTF-8), иначе foobar2000 не покажет в свойствах файла лог извлечения на русском.
3) Уменьшение размера картинок, чтобы все они в итоге не превысили лимит в 1 МБ, затем переименование их в front.jpg, back.jpg, cd.jpg. Я это делаю скриптом для Наутилуса, быстро и просто (требует установленного imagemagic).
4) Собственно кодирование, процедура целиком пакетная, нужно лишь ткнуть на контекстное меню Nautilus-а (или Caja в среде Mate; Thunar из XFCE4 также можно приспособить под это дело) по wav файлу, подождать пару минут, отслеживая окончание загрузки процессора:
wvtools
На выходе мы получим монолитный .wv, читаемый всеми указанными плеерами; его надо будет переименовать, чтобы имя соответствовало указанному в cue-файле *.wav
Скачиваем архив, распаковываем папку со скриптами в директорию ~/.config/caja/scripts , теперь по вызову контекстного меню в Caja откроется пункт Сценарии > wavpack_tools, где будет несколько моих шаблонных скриптов, в том числе один для извлечения исходных файлов из уже запакованных в wavpack. В скриптах правим пути сохранения под свои, шаблон выбираем исходя из наличия заготовленных обложек.
В Windows приготовить аналогичный .wv можно в конвертере foobar2000. Мне показалось, что на это уходит больше телодвижений.
В сети большинство рипов в wavpack на трекерах имеют другой формат, двойное расширение .iso.wv намекает, что эти файлы могут быть прочитаны и распакованы архиватором или примонтированы как образ диска. Может и удобно, но выложенный мною скрипт или конвертер фубара в любом случае справятся с извлечением.
Перед тем как кодировать диск, желательно проверить совпадение его с базой AccurateRip. Для чего это нужно и как делается — попробую описать в следующей статье.

(оценок: 0, средняя оценка: 0.00, рейтинг: 0%)