Как стать автором
Обновить

Console Audio Tools — пакет утилит для проверки и конвертации аудиофайлов

Время на прочтение8 мин
Количество просмотров23K


Здравствуй, уважаемый Хабр!

Многие из нас проводили разного рода манипуляции с аудиофайлами. Часто тут хочется намного большего, чем позволяет стандартный инструмент Windows под названием «Звукозапись». Тут на помощь приходят специализированные инструменты, платные и бесплатные, которые найти не проблема. Но что делать, если требуется выполнение очень специфичных операций? Настолько специфичных, что инструменты для их выполнения стоит еще поискать? Что это могут быть за операции? Какие для этого используются инструменты? Об этом пойдет речь в этой статье, она же — обзор моего нового продукта.

Интро


Мне хотелось бы начать свое повествование с преамбулы, которая хорошо объяснит предпосылки, которые сподвигли меня к разработке данного ПО. В процессе же оказалось, что оно не имеет аналогов. Но об этом позже…

Я работаю программистом и несмотря на это слушаю тяжелую музыку (да-да, существуют программисты, слушающие тяжелую музыку), и в силу этих обстоятельств уже долгое время имею достаточно дорогое хобби — коллекционирование ее на физ. носителях. И так как некоторые вещи слишком редки для какого-либо воздействия на них, кроме как хранения в коробке, я создаю копии дисков и кассет для прослушивания их на компьютере с жесткого диска, что исключает такой неприятный момент, когда последний оставшийся во всем мире альбом оказался заслушан до дыр и просто истерся лазером привода.



Данный не очень легкий процесс осуществляется программами-рипперами, которые, по сути дела, просто снимают с диска звук в формате WAV, и, как правило, для экономии места, сжимают его без потерь (FLAC, ALAC, APE), или с потерями (mp3, ogg, wma и другие менее распространенные). Этот процесс можно сравнить с получением всем известных образов дисков. По сути, процесс снятия образов с аудио-дисков похож на снятие образов с дисков с данными, но в случае с аудио программа-риппер еще и осуществляет контроль ошибок и целостности данных и создает карту CUE, что позволяет резать один большой образ на отдельные треки на лету прямо при воспроизведении, поэтому преимущество снятия образов рипперами (что требует некоторых знаний и опыта), над простым образом диска даже не предусматривает какой-либо дискуссии и является стандартом де-факто в мире музыки. Полученные файлы называются рипами, откуда и идет название этой группы программ. Нет нужды говорить, что для того, чтобы таким образом сохранить свою коллекцию от уничтожения безжалостным временем, необходимы 100% копии материалов. Особенно при оптимальной настройке используемого для этого кодека можно добиться почти 50% сжатия аудио-материала с последующей распаковкой без каких-либо потерь в качестве (по принципу zip-архивов).

Мда… Это, пожалуй, очень важно… И чем это можно осуществить?


Данных программ существует не так много, ибо немногих заботит сохранение аудиоматериалов (очевидно, что нечего сохранять). В любом случае, безусловным и бессменным уже на протяжении нескольких лет лидером тут является программа Exact Audio Copy, благодаря своей просто параноидальной тонкости настроек. Действительно, данный продукт исключительно сложен в настройке для новичков, его оптимальные параметры для снятия самых точных рипов занимают несколько страниц, и при первом запуске нужно тщательно сверяться с ними как с предполетным журналом. Но это того стоит, ибо тут вы уверены, что ничто не осталось за бортом, и процесс пойдет так, как решили вы.

Ну отлично, программа настроена, рип сделан. Но для того, чтобы не быть коричневой массой, иногда стоит своими вещами делиться с другими (оставим за кадром возгласы правообладателей и скажем, что речь идет о большинстве редчайших вещей, которые уже и вовсе не имеют правообладателей, и это — единственный способ уберечь их от уничтожения временем или от банального небытия. Но более-менее современные и известные вещи копировать и выкладывать в интернет мало того, что незаконно, но это еще и является демонстрацией неуважения к творчеству этих коллективов). Как правило (кроме отправки в личку «В Контакте» своей девушке) это осуществляется путем выкладывания в каких-нибудь известных файлобменных сетях и торрент-трекерах, где очень заботятся о качестве сделанных рипов.

Дак о чем вообще статья?


Да-да, я чувствую, что вам уже не терпится начать работать с образами дисков из вашей коллекции, но мы уже постепенно раскрываем основные функции данного ПО. Часто бывает так, что под файлом в формате WAV выкладывают mp3, накачанные с халявного интернета у папы с работы. Особенно это практиковалось несколько лет назад, когда на RuTracker'е еще существовал рейтинг, который удваивался у автора, если его раздача была популярной и хорошо раздавалась. Поэтому под видом хороших и качественных рипов выкладывался такой шлак, который даже моя мамка слушать не будет! Такие случаи иногда бывают и ныне, но из-за более тщательной проверки качества рипов данное явление в целом сошло на нет.

Существует проблема и другого рода. Вполне логично, что на качество снимаемых рипов влияет корректность настройки риппера. При неправильной настройке рип может быть снят не верно, что будет чревато при произведении довольно неприятными для слуха посторонними звуками в виде щелчков (из-за пропуска или наслоения семплов), повторениями звуковых участков через определенное время (при повреждении разметки диска toc) и другими моментами, которые могут сильно мешать при наслаждении самой лютой жестью, которую только можно себе представить, так часто льющейся во время работы из моих мощных колонок! :/

И мы пришли к самому главному: как после снятия рипа с диска быть уверенным, что он снят верно? И как админу (или пользователям) какого-нибудь популярного ресурса понять, что %username% льет шлак в виде совершенно неслушабельных вещей, и незамедлительно настучать о нем администрации, что, мол, дескать, %username%-то балуется старыми диктофонными записями! Не проблема, скажете вы, ведь админ может скачать выложенные пользователем %username% записи и прослушать их вечерком, расслабившись после работы, на которой он тоже особо-то и не напрягался… Но вот незадача, админ слушает исключительно музыку для настоящих мужиков, поэтому наотрез отказывается слушать рипы дисков Филиппа Киркорова!



Пичаль. Может тогда попробовать проверить качество этих рипов, не слушая их? Конечно! Для этого и существуют утилиты, называемые чекерами. Основное их предназначение ясно из их названия — попытаться максимально, насколько это возможно, определить качество рипа. Одной методики для этого нет, так как проверяются несколько факторов различными методами: это считывание и сравнение контрольных сумм файлов, создание аудио-спектров и анализ частоты получаемого аудио-потока. Если рип уже создан неправильно, ни одна программа не сможет точно определить проблему (это может сделать только человеческое ухо), но определенно, при наличии соответствующих знаний и опыта, умении читать получаемые спектры частот и анализа выходных данных, можно определить, что проблема имеется. Иногда для этого достаточно даже просто просмотреть лог, который создается программой-риппером для каждого сделанного им рипа. Он может показать, что программа настроена не верно, что уже недвусмысленно намекает, что рип не отличается высокой степенью верности.

Имеет место также явление, называемое «апконверт», при котором обычные mp3-файлы просто конвертируются в WAV и даже могут сжиматься соответствующими кодеками. С виду все выглядит вполне достойно, но вот характеристики выходного файла остаются неизменными. В этом случае чекеры практически со 100% вероятностью помогут нам определить, что файл WAV на самом-то деле не является тем, чем усердно пытается себя выставить.



Отлично! Цель у нас имеется. Теперь разберемся с инструментами для ее достижения. Только вот незадача: часто все они консольные, а также сильно разрознены. Можно сказать, не существует нормального инструмента для таких целей. Они конечно же есть, но как правило требуют множества подчас ненужных действий, ибо операции такого рода как правило однообразны, и не требуют постоянного изменения условий. Но нам же не терпится слушать музыку, нам ведь некогда возиться с утилитами для крутых компьютерщиков, правда? Поэтому буду краток: однажды я решил, что почему-бы не объединить необходимые для этого консольные утилиты в одну удобную и простую оболочку? Сказать честно, я сам сторонник максимального удобства при работе и минимального количества действий. Поэтому помимо тяжелой музыки, я очень люблю консольные утилиты! Посудите сами: кидаем утилитку куда надо, пишем для нее простенький батник, тянем на него нужный файл, открывается консоль и выполняются нужные действия. Красота! Ну максимум можно понажимать y/n или цифры для выбора нужного действия… В общем, результатом этих исследований и манипуляций явилось ПО для работы с аудио-файлами Console Audio Tools.

Что-то еще?


Да, как-то так получилось, что речь в статье шла только о неизвестных большинству вещах типа проверки качества аудио-рипов, поэтому что бы устранить этот досадный недостаток, стоит рассказать, что она умеет еще:

Конвертирование аудиофайлов (инструмент convert пакета SoX). Хоть я и ярый сторонник оригинального качества без потерь, но иногда приходится прибегать к его конвертации, хоть и при неминуемых потерях. Например, ваша девушка просто без ума от коллектива романтичных молодых мальчиков из коллектива Cannibal Corpse, поющих про лубофф. Но досадно, что она никак не может освоить достаточно специфичные методы работы с образами аудио-дисков, предпочитая слушать старые добрые mp3, отказываясь даже слушать, какое это лютейшее зло! Но мы же не хотим портить с ней отношения из-за такой мелочи, правда? Не проблема, перекиньте ей их в mp3 парой кликов. В прямом смысле парой :/

Проверка качества аудио-файлов. Для рипов операция выполняется в несколько этапов, которые несколько отличаются в зависимости от формата файла, открытого в программе:

1) Осуществляется декодирование сжатого файла в WAV (если необходимо) утилитами flac или ape, в зависимости от формата рипа.
2) Выполняется получение и запись в файл хэша sha1 аудиофайла. Данный процесс осуществляется оболочкой самостоятельно.
3) Полученный файл режется на треки по карте CUE, если таковая имеется.
4) Выполняется проверка каждого трека утилитой auCDtect на соответствие формату WAV. Запись результата для аудио-рипов записывается в файл. Если осуществляется проверка обычного аудиофайла — полученные ею данные выводятся на экран.
5) Осуществляется создание спектра аудиофайла инструментом spectrum утилиты SoX в формате png.
6) Производится анализ лога снятия рипа на соответствие необходимым параметрам настройки риппера. Данный процесс осуществляется оболочкой самостоятельно. Для этого достаточно просто открыть в программе файл лога.

Создание спектров аудиофайлов. Если Вы любитель анализировать чего либо — эта функция Вам подойдет как нельзя кстати. Кстати, эта возможность — то, с чего все начиналось.

Создание профилей для внешних кодировщиков рипперов. Все вышеперечисленные действия возможно проделывать автоматически прямо при снятии рипа диска.

Нарезка аудиофайлов по CUE (инструмент split пакета shntool). Возможно скажу об этом позднее…

И чтобы как-то разбавить обзор, вашему вниманию предлагаются ее скриншоты. Вы же любите скриншоты? Я тоже люблю скриншоты. Скриншоты полиграфии моих любымых дисков! Но я отвлекся…



Главное окно программы. Это первое, что вы видите, открыв в программе какой-либо аудиофайл.
Тот минимализм, который мне так нравится!



Проверяем лог сделанного рипа аудиофайла. Сколько ошибок! Наверное, этот рип скачан с такого же некачественного файлобменника! Спасибо! Лучше я закажу диск на Амазоне и сделаю рип с него сам…



Проверяем качество отдельного аудиофайла. Вот безобразие! Под видом WAV нам подсунули мерзкий mp3! Причем программа даже не сомневается в этом (95%)!



Попробуем еще? Отлично! Вот тут нам просто несказанно повезло! Перед нами оказался чистой воды WAV!



Для любителей воспринимать звук не только ушами: SoX строит отличные спектры! Изображение кликабельно.

Ну и какой же обзор программы может обойтись без ссылки на проект в SourceForge?

Аутро


Вот такой получился обзор, он же — мои мемуары, и он же — небольшой экскурс в интересный и познавательный музыкальный мир.

Слушайте и любите музыку и программирование!

Увидимся.
Теги:
Хабы:
Всего голосов 34: ↑23 и ↓11+12
Комментарии31

Публикации

Истории

Работа

Программист C++
103 вакансии
QT разработчик
3 вакансии

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань