Приложение к статье
Глоссарий к статье
Введение
Статья посвящена выбору лучшего (в точно определенном смысле) CD-DA экстрактора. Сформулированы требования к идеальному экстрактору. Рассмотрено большое число наиболее известных программ. Разработана гибкая методика расчета рейтинга экстракторов. Юзер может легко пересчитать рейтинг, основываясь на своей оценке тех или иных "фич" экстракторов.
Для облегчения чтения весь справочный материал вынесен в Приложения. За разъяснением незнакомых терминов попытайтесь обратиться к Глоссарию. Имеющиеся в нем термины обычно выделены в тексте курсивом.
Побудило меня взяться за клавиатуру обилие экстракторов (едва ли не сотня, считая всевозможные JukeBox'ы. См. например,
далеко не полный список) вкупе с отсутствием в Сети их внятного сравнения. Встречались только утверждения, что EAC (Exact Audio Copy) лучший, но без особого обоснования.
Так как статья написана "с нуля" (т.е. без шаблона в виде аналогичной, но несколько устаревшей статьи), вполне возможны промахи. Поэтому сообщайте (
sevilho@pochtamt.ru) о своих замечаниях.
Общая постановка задачи
Главное - правильно вытянуть аудио трек...
Речь пойдет о программах - экстракторах (extractor) CD-DA треков с аудио компакт дисков. Их основная задача - вытянуть содержимое трека в файл для последующего компьютерного использования. Отсюда название экстрактор - буквально "вытягиватель". В ходу и синонимы: CD-DA риппер (ripper), CD-DA граббер (grabber). Хотя эти термины не точны и правильное название действия - DAE (Digital Audio Extraction - цифровое извлечение аудио).
Ниже, для краткости, аудио компакт диски будем называть музКД. Музыкальную композицию - содержимое аудио трека, а в дальнейшем и файла, будем называть песней, прекрасно отдавая себе отчет, что вокала может и не быть (как, например, у большинства композиций ансамбля Space, потом переименовавшегося в Транзит на конце).
МузКД, если они выпущены нормальной звукозаписывающей фирмой, являются признанными эталонами Hi-Fi в подлинном значении этого термина (high fidelity - высокая верность) и основными доступными для юзера источниками качественного музыкального материала. Их удобно приобретать, например, через Интернет-магазины, в которых можно найти те музКД, которые уже “проскочили” розничную сеть. В Сети качественные песни встречаются довольно редко.
Хороший экстрактор должен вытянуть трек по возможности без ошибок, особенно, если музКД имеет царапины. Это является далеко не тривиальной задачей в силу особенностей формата CD-DA (см. подробности в Приложении). Поэтому решаться задача должна на хорошем программно-аппаратном уровне.
...А после вытягивания - сразу же сжать
В результате трек, прикидывающийся в Проводнике CDA файлом (размером в 1 кБ, а на самом деле файлом не являющийся), вытягивается в WAV файл. Звук, имеет все тот же PCM формат, каким он и был на музКД. Этот файл также можно стандартно проигрывать, вот только размер его не лезет ни в какие ворота: в среднем 40-50 Мбайт. А треков на музКД может быть и 15 и 18 и 20. Можно представить себе, сколько займет весь альбом. Несмотря на рост емкости жестких дисков хранить так альбомы (а их может быть целая коллекция) представляется расточительством. Это, не говоря о том, что песню хотелось бы переслать по электронной почте или даже проигрывать через Сеть. Поэтому далее WAV файл сжимают, используя один из форматов психоакустического сжатия (существуют и форматы сжатия без потерь, например,
Shorten, но они менее эффективны и скорее предназначены для сжатия сэмплов). Размер уменьшается до 7 раз (!) и это при неуловимо малой потере качества. Правда, это относится к определенным музыкальным жанрам, где нет резких колебаний громкости и не слишком широкий частотный спектр. К счастью, к этим жанрам относятся популярные фолк, рок, рэп. Хуже обстоят дела с джазом и классикой (недостатки сжатия легко демонстрируются на звуках кастаньет - щелчки получаются “размытыми”). С другой стороны, разницу почувствует только человек с достаточно тонким слухом и только на хорошей (читай - дорогой) акустике.
Есть веские причины поручить сжатие самому экстрактору. Во-первых, образование и удаление WAV файлов происходит незаметно для юзера. Треки обрабатываются по одному и не надо резервировать много места под весь альбом. Далее, практически только в этом случае можно дописать в сжатый файл информационный тег - название альбома, исполнителя, ансамбля и т.д. Эти ценные метаданные песни могут выводиться плеером при ее проигрывании, использоваться при поиске и др. Ведь в имя файла можно втиснуть разве что название песни.
Эти данные экстрактор прозрачным образом возьмет из Сети, обращаясь к специальным базам данных альбомов. Там данные имеют правильный вид, так, как они напечатаны на музКД. Для названий на русском это устраняет известную неоднозначность транслитерации. Например, название ансамбля (а на самом деле теперь уже музыкального театра) “Золотое Кольцо” в Сети встречается, по крайней мере, в следующих вариациях: Zolotoe Koltso, Zolotoe Kolco, Zolotoe Koltzo, Zolotoe Kolzo, Zolotoe Kol'zo.
Используя метаданные, экстрактор присвоит имена файлам и разложит их по папкам с названиями ансамбля и / или альбома (как выберет юзер). Таким образом, не надо заниматься трудоемкой "долбежкой" имен файлов и заведением папок.
Определимся с форматами сжатия
Существует много форматов психоакустического сжатия. Краткий обзор наиболее интересных можно найти в Приложении. Из них считаю неактуальными те, которые ориентированы на высокое сжатие (mp3PRO, ATRAC3, VQF) - будет глумлением над музКД не сохранить его качество.
Для форматов, позволяющих задавать сжатие в широком диапазоне, не надо использовать сильное сжатие (чем сильнее сжатие, тем хуже качество). Заметим, что вместо коэффициента сжатия (относительно CD-DA трека) используют более удобную (и абсолютную) величину - битрейт. Чем больше битрейт, тем меньше сжатие и выше качество. Практика показала, что независимо от формата сжатия, сохранить CD качество можно только начиная с битрейта 192 (кбит/с), чтобы не утверждали разработчики формата.
Заметим, что экстрактор должен поддерживать кодер для того, чтобы записать информационный тег (передавая кодеру соответствующие параметры). Иначе тег придется вбивать руками, а это - малоинтересно.
Высокое качество способны обеспечить, например, форматы LQT, MP3, MPEGplus (MusePack), OGG.
Однако сидение за компьютером - это еще не вся жизнь. Есть еще отпуск, выходные, прогулки, время в транспорте и др. Везде можно использовать мобильный аудио плеер. Поэтому наиболее интересны высокобитрейтные форматы, которые поддерживаются и мобильными плеерами (цена на флэш память постоянно снижаются, а для других носителей - CD-R/RW или мини HDD вопрос об экономии битрейта вообще не стоит). А здесь практически только 3 формата: MP3, WMA и ATRAC1.
Что касается ATRAC1, то он рассчитан на узкий клан меломанов, присягнувших на верность компании Sony (и попавших от нее в зависимость). Во-первых, формат привязан к носителю MiniDisk, емкость которого по нынешним меркам невелика - 74 минуты (правда, цена просто прекрасная - около $2). Во-вторых, до появления аппаратов последнего поколения с поддержкой технологии NetMD, запись производилась в реальном времени, т.е. 74 минуты, что неимоверно долго , и через оптический цифровой порт - ищи звуковую карту с таким выходным портом. В NetMD плеерах появилась возможность записи по USB 1.1 со скоростью 32х. Не очень нужный оптический порт все равно остался и плеер стал еще дороже. А раз MiniDisk - вращающийся диск, то это движущиеся части в плеере. Отсюда вес и габариты по сравнению с флэшовыми моделями (у Sony есть и флэшовые модели, но на дорогой Memory Stick с низкобитрейтным форматом ATRAC3). В-третьих, сжатие треков производится “на лету”, так что прощай нормализация. Остается уповать на то, что пиковый уровень во всех треках сделан на мастер-диске как надо. Как кодер обрабатывает ошибки на музКД - тоже покрыто туманом. К тому же аппараты еще и дорогие, так как представляют собой, по сути дела, рекордеры, выпускаемые к тому же только брэндами (Sony, Panasonic, Sharp, Denon).
Итак, остались MP3, WMA. На самом деле поддержка WMA является дополнительной в "железных" MP3 плеерах и отдельных WMA плееров просто не бывает. Кроме того, битрейт WMA ограничен 192 и Lame MP3 на этом и более высоких битрейтах превосходит WMA. Кроме того, будут "заморочки" с копированием файлов. Это связанно с лицензиями, но таков уж формат. Для тех непритязательных юзеров, которых устраивает WMA, вполне подойдет обработка музКД в плеере WMP, который встроен во все современные версии Windows. Там это делается двумя щелчками мыши. Так что таким юзерам никаким выбором экстрактора можно не озадачиваться.
Итак, при всем богатстве выбора альтернативы MP3 нет. Поэтому ниже будем рассматривать возможности экстракторов по сжатию преимущественно для MP3.
Какой CD-ридер нужен
Для быстрого и безошибочного извлечения аудио треков нужен CD-ридер (так будем называть привод для считывания компакт-дисков), удовлетворяющий определенным, сформулированным ниже требованиям, а экстрактор должен уметь использовать соответствующие возможности ридера. Таким образом, задача по извлечению треков является не только программной, но и аппаратной.
Типы КД приводов
CD-ридер может быть "чистым", т.е. не уметь больше ничего, а может входить в состав более функционального привода. Юзер может выбрать то устройство, которое ему удобнее, лишь бы входящий в состав CD-ридер удовлетворял сформулированным ниже требованиям.
Рассмотрим типы приводов по возрастанию цены:
CD-ридер
Весь ход эволюции таких приводов шел под знаком гонки скоростей. Последняя же нужна была производителям только для того, чтобы удержать цены. Функционально же сверхвысокие скорости вредны: КД не имеет жесткой фиксации и высокие скорости могут повредить и диск и привод. Поэтому всегда ценились менее скоростные приводы и в дефиците были снятые с производства 24x модели. Получили распространение утилиты, ограничивающие скорость. Символично, что такие утилиты можно найти у самих производителей. Их и рекомендуем использовать. Сейчас эволюция таких приводов близка к завершению, а выбор приводов непрерывно сужается - производители переходят на выпуск более дорогих и прибыльных типов.
DVD-ридер
Обойдется немного дороже предыдущего. Рекомендуется "вешать" привод на отдельный IDE канал.
CD-рекордер
Наиболее динамически развивающийся сектор. От наращивания скорости записи CD-RW юзер получает ощутимое удобство. В то же время любителям записывать музКД рекомендуется выбирать рекордеры, имеющие опцию записи на низкой скорости: 1-2x.
Комбо DVD-ридер/CD-рекордер
Такой привод можно рекомендовать только в случае корпуса с недостаточным числом отсеков. Никаких ценовых преимуществ нет, а параметры ниже, чем у раздельных устройств (что не редкость для всех комбо).
DVD- рекордер
Я бы воздержался пока от приобретения. Война стандартов еще не закончена. Приводы еще дороги, так как не набрали массовости. Если все же есть острая необходимость, можно рекомендовать привод DVD+RW, позволяющий записывать и CD-R/RW диски.
Заметим, что, несмотря на то, что рекордер автоматически является и ридером существует рекомендация иметь на компьютере и тот, и другой. Дело в том, что чтение используется много чаще записи, неизбежно вносится грязь, что крайне отрицательно сказывается на качестве записи.
Ниже собраны требования к CD-ридеру (чистого или входящего в состав более функционального КД-привода) для задачи экстракции треков музКД. Для тех, кто хочет получить готовые рекомендации (и не вчитываться в довольно трудный материал этого раздела), укажем, что наиболее продвинутыми возможностями по DAE всегда обладали приводы от Plextor (самые дорогие, но и самые продвинутые во всех отношениях) и TEAC (цены которых несколько выше среднего уровня).
Интерфейс ATAPI, поддержка DAE
Приводы с интерфейсом ATAPI (подключаются к IDE-контроллерам) существенно дешевле, чем SCSI-приводы. Кроме того, для них в ОС Windows (начиная с версии 98SE) поддерживается цифровое чтение аудио треков и передача его на плеер или экстрактор (или другие приложения) по интерфейсному IDE кабелю.
Другие альтернативы хуже:
Передача по аналоговому кабелю на внутренний порт звуковой карты (и в случае экстракции - оцифровка). Для этого используется встроенный в привод ЦАП. Однако его качество всегда ниже, чем ЦАПа карты (т.к. изготавливается он по “остаточному” принципу, чтобы не удорожать устройство за счет второстепенных функций).
Передача с цифрового порта привода на внутренний цифровой порт карты. Указанные цифровые порты есть далеко не на всех приводах и особенно звуковых картах.
Поддержка DAE со стороны CD-ридера есть практически у всех современных приводов (и обычно указывается в спецификации). Включение режима DAE производится в ОС через свойства привода: нужно на вкладке свойств включить опцию Enable Digital CD audio for this CD-ROM device (название приведено для английской версии Windows 2000). Если опция недоступна, то это значит, что привод не поддерживает DAE.
Нужно проверить проигрывание треков после включения опции. При этом будет отключен выход на наушники на лицевой стороне привода. А еще становится лишним аналоговый кабель, но его лучше не снимать, чтобы не потерять. Заметим, что плееры в составе экстрактора, а также, например, WMP включают режим DAE сами.
Передача C2-указателей на ошибочные блоки
Разработчики формата CD Audio (Красная Книга) исходили из того, что при чтении диска вполне вероятны ошибки. Во-первых, при изготовлении некоторые питы могли просто не пропечататься. Во-вторых, диск может иметь загрязнения или даже царапины. Напомним, что CD не имеет чехла, как например, дискета, и поэтому более подвержен повреждениям.
В спецификациях приводов о поддержке C2-указателей ничего не говорится и встает важный вопрос о распознавании этой "фичи". Вот способы распознавания, перечисленные в порядке возрастания трудоемкости.
Обратиться к специализированным сайтам. Одним из них является страница www.feurio.com. В списке протестированных приводов нужно смотреть колонку C2-Error, в которой должно быть значение Yes.
Использовать утилиту, опрашивающую возможности привода. Известным средством является утилита Nero Info Tool, свободно доступная с сайта cdspeed2000.com. После распаковки архива достаточно запустить утилиту и на вкладке Drive посмотреть - есть ли галочка напротив поля C2 Errors.
К сожалению, как уже говорилось, есть приводы, которые на запрос о возможностях сообщают, что поддерживают C2-указатели, а на самом деле не поддерживают. Поэтому хлопотнее, но надежнее, чем обычный опрос, использовать утилиту, тестирующую ридер с аудио диском, имеющим царапину длиной примерно 1 см и расположенную вдоль спирали. Такую возможность имеет, например, экстрактор EAC.
Accurate Streaming
Ридеры с поддержкой Accurate Streaming способны точно извлекать аудио треки в самом быстром режиме - burst. Это наиболее подходит для новых, не поцарапанных музКД.
В спецификациях приводов о поддержке точного чтения ничего не говорится и встает важный вопрос о распознавании "фичи". Вот способы, перечисленные в порядке возрастания трудоемкости.
Страница http://pages.cthome.net/homepage/eac/drives.htm содержит список наиболее известных приводов. Нужно чтобы колонке Acc. Stream стояло Yes.
Произвести такое распознавание привода самому экстрактором EAC. Нужно вставить музКД и далее: меню EAC \ Drive options \ ОК \ вкладка Extraction Method \ кнопка Detect Read Features.
Запустить в утилите (бесплатной) Nero CD Speed тест аудио диска (меню Run Test \ DAE Quality Test). В самом низу окна отчета будет строка типа Accurate Stream: yes.
Без кэша
Это на первый взгляд выглядит нонсенсом, так как все привыкли, что кэш - это хорошо, а большой кэш - еще лучше. Однако для целей извлечения аудио треков дело обстоит с точностью до наоборот.
При экстракции сектора часто приходится перечитывать (например, в часто применяемом режиме чтения с синхронизацией или после прерывания). При наличии кэша, последний нужно каждый раз очищать. Достигается это инициализацией привода, на что уходит приличное время. Если кэша нет, то время на инициализацию терять не надо, и перечитывание происходит значительно быстрее.
Заметим, что отсутствие кэша означает только, что при считывании аудио секторов он выключается. При считывании секторов других форматов (типа CD-ROM) кэш, конечно же, включается. А еще кэш не надо путать с аппаратным буфером (который всегда есть). Кэш ведет индексы считанных данных, т.е. кэш - это надстройка над буфером.
Заметим, что кэш всегда выключается в приводах от Plextor - лидера в “приводостроении”. Последние модели рекордеров от TEAC также не имеют кэша.
Этот хитрый параметр безнадежно получить из спецификации привода. Можно обратиться к упомянутой выше web-страничке
http://pages.cthome.net/homepage/eac/drives.htm. Там в колонке Caching должно стоять No. Другой способ - исследовать привод бесплатным экстрактором EAC или другими подходящими приложениями (проверка заключается в многократном считывании все удлиняющейся цепочки секторов и вычислении скорости считывания).
Безошибочное чтение на низкой скорости
Многие приводы могут работать не только на максимальной, но еще на целом ряде меньших скоростей (именно на этом основаны утилиты ограничения скорости). Например, это может быть 4x, 8x, 16x, или даже 1x. Для целей экстракции это важно, так как даже продвинутые ридеры безошибочно считывают только на ограниченных скоростях (в принципе, чем меньше скорость, тем меньше ошибок).
В числе поддерживаемых скоростей должна быть такая, на которой ридер считывает безошибочно. Для некоторых приводов такая скорость указывается на странице
www.feurio.com. Если же данных нет, то рекомендуется использовать минимальную скорость.
Расширенное чтение (overread)
Так называется способность чтения секторов из служебных областей lead-in и lead-out как аудио данные (эти области окаймляют область данных). Необходимо это для того, чтобы экстрактор мог произвести коррекцию смещения для первого и последнего треков.
Ридеры могут вообще не поддерживать overread, поддерживать чтение только из одной из двух служебных областей, или из обеих. Возможности по overread для большого числа приводов указано на
этой странице.
Поддержка формата CD-Text
Это - расширенный формат по сравнению с CD-DA, позволяющий включать в музКД текстовую информацию. Это могут быть и метаданные музКД (так что не надо обращаться за ними в Сеть) и даже слова песен. Эта "фича" указана здесь лишь для порядка, так как все современные ридеры ее поддерживают. Однако ее ценность невелика, так как используется она пока только в зарубежных музКД, а с русскими буквами существуют большие проблемы (половинчатым решением является использование транслита).
Идеальный экстрактор
Попробуем сначала определить каким должен быть идеальный экстрактор. А потом будем сравнивать с ним реальные экстракторы. "Фичи" расположены в том порядке, в котором происходит обработка треков.
Общие параметры
БесплатностьВ "стране бесплатного Фотошопа" эта "фича" не очень важна, но все же за нее следует дать немного баллов. Причем бесплатность в этой области отнюдь не означает малую функциональность. Наоборот, иногда лучшие экстракторы - бесплатные.
Русский языкПоддержка русского также удобна и заслуживает немного баллов, главным образом из-за хелпа. Хотя это и не избавляет от необходимости изучать многочисленные англоязычные термины.
Видимость папки My DocumentsФайлы песен принято помещать в папку My Music, “параллельную” My Pictures (обе являются подпапками My Documents). Это в частности позволяет иметь каждому юзеру, заведенному на компьютере, свою папку песен. Указанная папка является корневой для звуковых файлов. Далее могут идти подпапки с жанрами или именами музыкальных коллективов. Поэтому удобно, когда в файловых диалогах экстрактора эта папка видна (ниже Desktop как это делает Проводник во всех современных версиях Windows). Иначе в Windows 2000 и ее продолжателях придется долго пробираться к этой папке через Documents and Settings. Вообще в экстракторах несколько файловых диалогов, но в других видимость указанной папки не критична.
Wizard настройкиЧисло параметров настройки экстрактора может доходить до сотни, вызывая головокружение у чайников. Например, кто бы мог подумать, что для того, чтобы пользоваться распределенной базой CDDB, нужно задать почтовый адрес, причем любой. Напрашивается wizard настройки, который провел бы юзера по критичным параметрам, объяснил бы их смысл и выдал рекомендации. Второстепенным же параметрам wizard должен присвоить умалчиваемые разумные значения. Очевидно, что такой wizard приносит большие удобства и экономит кучу времени.
Встроенный музКД плеер
Иногда полезно оценить - стоит ли извлекать тот или иной трек, прослушивая его. Встроенный плеер удобнее и нагляднее внешнего. Дополнительные удобства дают:
Регулятор громкости
Ползунок текущей позиции в треке. Он нагляднее цифровых часов. И даже позволяет повторно проигрывать отдельные места.
Работа с метаданными музКД
Как уже говорилось, метаданные альбома музКД удобно получать из Сети. Для этого производится обращение к CDDB. В настоящее время есть две CDDB: freeDB и cddb. Умение обращаться к обеим БД повышает шанс получить метаданные альбома.
Все экстракторы умеют сохранять метаданные на жестком диске. Для хранения может использоваться или локальная БД и/или файл CDPLAYER.INI. В последнем случае информация может использоваться другими приложениями. Обычно экстрактор конфигурируется на поиск метаданных сначала локально, а потом в Сети.
Некоторые экстракторы поддерживают получение метаданных, записанных на музКД в расширенном формате CD-Text. Впрочем, доля таких дисков невелика (порядка 15%), и касается это исключительно зарубежных музКД. Отечественные фирмы формат не используют, так как с русскими буквами большие проблемы, а транслит неудобен. Ввиду этого данная "фича" при сравнении не учитывается.
Часто из CDDB поступает не вся информация и отсутствует, например, год издания альбома или жанр. Экстрактор должен предоставлять возможность дополнить вручную эти поля. К счастью, эту "фичу" имеют все экстракторы, поэтому она из сравнения выведена.
Распознавание возможностей ридера
Желательно, чтобы экстрактор умел исследовать и выводить следующие возможности ридера:
Наличие/отсутствие кэширования
Поддержка Accurate Streaming
Возврат C2-указателей
Использование линейки меньших скоростей
Тип команд MMC (MMC1,.., MMC4).
В принципе, это не критично, так как эту же информацию получить другими способами (см. раздел рекомендаций по выбору ридера). Исключение составляет только MMCx.
Коррекция смещения
Это означает, что экстрактор способен компенсировать ошибку привода смещения по чтению. Компенсация в общих чертах сводится к считыванию нескольких дополнительных секторов в начале или в конце трека (и перегруппировке дискретов с учетом смещения). Для коррекции смещения экстрактору указывают в качестве корректирующего значения (-d), т.е. с обратным знаком.
Узнать значение смещения проще всего из таблицы свойств приводов на
этой странице. Другой, более трудоемкий способ, реализован в экстракторе EAC. Нужно вставить в ридер один из музКД из списка, приведенного на странице
http://www.exactaudiocopy.de/eac3.html и воспользоваться встроенной функцией экстрактора по вычислению смещения. Указывается, что для надежности нужно использовать не один, а два диска.
Понятно, что в случае положительного смещения нужно начинать чтение для первого трека в предшествующей области lead-in. Соответственно в случае отрицательного смещения нужно завершать чтение для последнего трека в последующей области lead-out. Не все ридеры поддерживает возможность чтения из этих служебных областей (overread). Поэтому экстрактор должен иметь:
Опцию чтения из служебных областей (overread, используется, если это позволяет ридер).
Опцию заполнения недостающих дискретов тишиной (для ридера, не поддерживающего overread). Это позволяет просто выдержать ту же продолжительность песни, не более.
Заметим, что на самом деле величина смещения не превышает в худших случаях одной десятой секунды, что практически незаметно. Так что ценность указанных возможностей экстрактора относительно невелика.
Режимы DAE
Все без исключения экстракторы поддерживают режимы Burst и с синхронизацией (подробнее о режимах DAE можно почитать в Приложении). Оба режима предполагают хорошее качество музКД. Для музКД, имеющих какие-либо повреждения, следует применять надежные (safe) режимы, которые имеют лишь небольшая часть экстракторов. Для надежности можно даже рекомендовать всегда применять safe режим.
Для распознавания поврежденных секторов экстрактор должен использовать C2 указатели, так как перечитывание сектора не является надежным методом такого распознавания и занимает больше времени.
Управление скоростью
Как уже говорилось, чем меньше скорость считывания, тем меньше ошибок чтения. Например, харизматический ридер TEAC CD-540E безошибочно считывает только на скорости не выше 4x. Многие приводы имеют несколько возможных скоростей. Поэтому возможность задавать скорость является важной "фичей" экстрактора.
Некоторые экстракторы идут еще дальше и динамически снижают скорость, когда встречаются ошибки. Это интересно, но не очень критично, если задавать наименьшую возможную скорость. Кроме того, эта фича есть не у всех приводов. Некоторые приводы не могут изменять скорость без выдвижения лотка. Другие приводы (как сказано в хелпе к EAC), сбрасывать скорость умеют, а вот поднимать (при отсутствии ошибок) - нет. Кроме того, момент перехода на меньшую скорость также может сопровождаться ошибками чтения. Так что ценность рассматриваемой "фичи" - не велика.
Удаление тишины и зазоров
Под тишиной понимается тихие участки, входящие в песню. Зазор же - промежуток между треками (так же являющийся тихим участком). Экстрактор обычно по умолчанию добавляет зазор в конец песни.
Теоретически удаление тишины и зазоров представляется полезным, так как экономит место в файлах (для сжатого файла немного, так как тишина кодируется с низким битрейтом 32). Однако для этого плеер должен уметь вставлять при групповом проигрывании паузы между песнями (желательно еще и заданной протяженности для гибкости).
Реально же лишь малая часть плееров умеет это делать, причем только из числа десктопных (один из них - Apollo). А “нонстоп” не всегда приятен, особенно, когда подряд идущие песни различны по характеру (например, одна мажорная, другая минорная).
Если ваш любимый плеер не умеет вставлять паузы, то лучше оставить все как есть.
Тем более, что:
Некоторые компрессоры сжимают со смещением (см. смещение кодера). Это значит, что конец песни будет "проглочен", если нет в конце тишины.
Некоторые мобильные плееры "проглатывают" начало песни.
Следует иметь в виду также то, что удаление/добавление тишины невозможно при сжатии через память, так как манипуляция производится с WAV файлом.
Нормализация вытянутого трека
О пользе нормализации Экстрактор должен уметь нормализовывать считанный в WAV-файл трек (т.е. привести его пиковую громкость к заданному уровню). Современные аудио КД, выпущенные в приличных звукозаписывающих фирмах, имеют уровень громкости чуть ниже максимального, что обеспечивает наилучшее качество. Перед сжатием рекомендуется слегка понизить уровень. Дело в том, что если пиковый уровень громкости файла близок к максимальному, то в процессе кодирования / декодирования и микширования при воспроизведении с другими звуковыми потоками уровень в некоторых местах песни превысит максимальный и гребень волны будет срезан. Эти срезы проявляются в хрипящих призвуках.
С другой стороны большое понижение уровня громкости крайне нежелательно по следующим причинам:
Уменьшится динамический диапазон файла. А это значит, возрастет вес цифрового шума.
При последующем проигрывании на большой громкости (даже без превышения максимального) диапазон тихих звуков останется “пустым” и будет заполнен белым цифровым шумом.
В принципе, достаточно только понизить у файлов уровень, превышающий, скажем, 96% до 96% (именно такой уровень рекомендует автор известного пакета утилит OSMPX). О пересчете уровня громкости из процентов в децибелы и обратно см. Приложение.
Экстракторы используют различные схемы нормализации. Однако все они пригодны для небольшого понижения (именно потому, что в альбоме уровни громкости чуть ниже максимального). Ниже эти схемы (методы) расположены по возрастанию "интеллектуальности". В обозначении X-Y первое число означает число диапазонов, на которые действует нормализация, а второе - число результирующих уровней. Желтый цвет относится к уровням, на которые действует нормализация. L, R, U - задаваемые уровни.
Схема 1-1Здесь нормализация действует на все уровни, которые приводятся к заданному уровню R, например, 95%. Таким образом, громкость любого файла приводится к этому уровню.
Схема 2-1Здесь нормализация действует, только если уровень меньше L или больше U. Оба диапазона преобразуются к уровню R. Например, L=85%, U=98%, R=95%. Диапазон громкостей между L и U не изменяется.
Схема 2-2Здесь весь диапазон ниже L преобразуются к уровню L, а весь диапазон выше U преобразуются к уровню U. Например, L=85%, U=98%. Диапазон громкостей между L и U не изменяется.
Отчет об ошибках и их коррекция
Крайне желательно, чтобы об ошибках выводился отчет (число ошибок, их позиция и др.). Далее хорошо, чтобы была возможность прослушать фрагменты с ошибками, чтобы убедиться, насколько они серьезны. Ну и совсем хорошо, когда экстрактор предоставляет инструментарий для их коррекции (например, удаление щелчков). Хотя это можно сделать и в звуковых редакторах, но оперативность будет совсем не той, подозрительные места уже будут утеряны, да и информационные теги придется добавлять вручную.
Схемы формирования имени файла
Используются комбинации элементов информационного тега. Например, это может быть "Title - artist" или "artist" или "artist\Title" для того, чтобы автоматически сортировать файлы по папкам. Заметим только, что давать именам папок названия альбомов не всегда удобно, т.к. песни в альбомах разных лет могут пересекаться. Так, артисты любят сборники "The Best" с избранными песнями.
Указанную "фичу" имеют все современные экстракторы. Поэтому она не является параметром выбора и в сравнительной таблице опущена.
Обработка треков
Потрековое сжатие. Это означает, что если на обработку переданы несколько треков, то формируется очередь по обработке каждого трека, включающая его извлечение и последующее сжатие. Вместе с опцией удаления промежуточных WAV файлов это позволяет экономить место на жестком диске. Альтернативой является копирование всех треков в WAV файлы (что требует много места на жестком диске при обработке) и последующее их сжатие. А так на жестком диске находится максимум один текущий WAV файл. Эти фичу имеют все участвующие в сравнении экстракторы, поэтому в сравнительной таблице она опущена. Более того, эта "фича" является фильтром допуска к рассмотрению.
Удаление промежуточных WAV файлов. Эта опция обеспечивает прозрачное сжатие, а также экономию места на жестком диске. Опцию имеют все отобранные экстракторы, поэтому в сравнительной таблице она опущена.
Распараллеливание обработки. Эта опция позволяет начинать экстракцию следующего трека, не дожидаясь сжатия предыдущего. Это позволяет ускорить процесс и полезно, когда нужно обработать несколько музКД. Но нужно иметь запас места на жестком диске, так как число временных WAV файлов будет не один, а несколько: экстракция осуществляется быстрее сжатия. Иногда можно даже задавать "окно" - максимальное число распараллеленных задач (число одновременных нитей).
Сжатие через память. Это означает, что сжатие производится в потоке (pipeline), через память, минуя образование WAV файла. Это возможно, т.к. сжатие осуществляется независимо, блоками. Синонимы direct rip and encode - прямое извлечение и сжатие, on the fly - на лету.
Эта опция значительно ускоряет обработку. Однако при этом будет невозможна нормализация, так как для нее требуется весь WAV файл для вычисления уровня. Другое существенное ограничение метода - невозможно использовать внешний кодер в виде EXE файла, так как последний требует аргументом WAV файл. Используется кодер в виде DLL.
Еще отмечено, что в некоторых конфигурациях метод может приводить к щелчкам при проигрывании сжатого файла.
Создание плейлиста.
При обработке музКД одновременно создается плейлист. Это позволяет потом проигрывать по альбомам. Заметим, что так как название альбома входит в инфотег, то в принципе эти плейлисты можно изготовить и позже специальными утилитами.
"Фича" является стандартной и поэтому при сравнении опущена.
Работа с ID3
Как уже говорилось, хороший экстрактор использует CDDB метаданные для формирования имен файлов и размещения их по папкам, а также запишет метаданные в информационные теги файлов. Эта "фича" является стандартной и поэтому в сравнительной таблице опущена.
В файлах MP3 используются информационные теги формата ID3 (у файлов с другими форматами сжатия используются свои теги).
Поддержка ID3 v2.
Версия ID3 v2 значительно более удобная чем прежняя ID3 v1.1. В частности, тег располагается в начале файла и немедленно доступен при проигрывании из сети.
Многие экстракторы могут одновременно записывать теги и старого, и нового форматов. Желательно, чтобы была опция поддержка новейшей версии (в настоящий момент это v2.4.0). На практике придется выбирать ту версию, которую поддерживает ваш плеер, и, скорее всего, это будет предыдущая версия (v2.3.0).
Формирование поля кодера. В версии ID3 v2 появилось поле для записи кодера, которым был сжат файл. Это полезно знать при проигрывании при подборе лучшего декодера. Например, если кодер является на самом деле и декодером (т.е. кодеком), как Lame, то понятно, что он является наилучшим декодером, т.к. заведомо знает все опции и детали кодирования.
Экстрактор должен предоставлять, как минимум, возможность вносить юзеру в это поле имя кодера. Еще лучше, если это поле будет заполняться автоматически.
Заметим еще, что стандартной "фичей" экстракторов является предоставление возможности юзеру заполнять поля комментариев, причем несколькими способами. Например, это могут быть номера треков.
Сжатие в MP3
Поддержка Lame.exe. Экстрактор должен поддерживать подключение EXE кодера. А также иметь поле для указания передаваемых параметров. Это позволяет безболезненно обновлять кодер и передавать ему произвольные (в том числе и новые) параметры. О других видах кодеров с точки зрения программного интерфейса с ними можно посмотреть в Приложении.
Однако ввиду исключительной роли Lame экстрактор еще должен поддерживать еще схему передачи ему параметров, чтобы передавать инфотег. В противном случае придется настраивать все параметры инфотега, а это крайне неудобно. Таким образом, в поле параметров должны указываются только параметры, дополнительные к инфотеговским.
Знание альтернативных пресетов Lame.
Кодер Lame как никакой другой имеет десятки опций. Поэтому для удобства юзеров он также имеет набор пресетов, каждый из которых соответствует определенному уровню качества типа хорошо, очень хорошо и пр.
Lame был снабжен таким набором пресетов, называемых стандартными. Однако они были рассчитаны в основном на постоянный битрейт и не проходили испытания прослушиванием. В последних версиях кодер был значительно усовершенствован в отношении переменного битрейта, так что использование последнего стало предпочтительнее постоянного или даже среднего битрейта. Поэтому, начиная с версии 3.90, в кодер включены очень качественные пресеты, ориентированные на переменный битрейт, под названием альтернативных. Все они прошли тестирование слепым прослушиванием. Вот их список:
standard (стандартный) - хорошее качество. Битрейт для большинства песен 180-220, в среднем примерно 192.
extreme (экстремальный) - отличное качество. 220-270, в среднем примерно 256 кб/с.
Очевидно, что только этих двух пресетов вполне достаточно для практического использования. Стандартный рекомендуется для большинства песен, экстремальный - для излюбленных.
Поэтому удобно, чтобы экстрактор позволял записать в настройки два пресета (как минимум). В противном случае придется пресет переклеивать из заранее подготовленного текстового файла или подгружать из профайла.
Для полноты картины отметим, что есть еще альтернативный пресет insane (безрассудный), где битрейт всегда максимальный - 320 кб/с, а еще есть более старый пресет r3mix (от одноименной организации) с битрейтом в среднем 170-175.
Дополнительные кодеры MP3. Основным кодером является, безусловно, Lame, и его поддерживают все экстракторы. К сожалению далеко не все мобильные плееры все могут проигрывать сжатые им файлы (отмечено для плееров со встроенным декодером от Fraunhofer). Поэтому за поддержку других более-менее приличных MP3 кодеров (BladeEnc, GoGo, MP3Enc) нужно начислять дополнительные баллы. Краткий обзор MP3 кодеров приведен в Приложении.
Заметим, что поддержка того или иного кодера сводится к знанию экстрактором схемы передачи параметров этому кодеру. Кодер же может быть реализован как EXE, так и DLL файлом и его, возможно, надо будет скачивать отдельно.
Другие форматы сжатия
Разумеется, экстрактор должен поддерживать в первую очередь формат MP3. Однако поддержка качественных форматов MusePack (MPEGplus) и OGG следует рассматривать как дополнительный плюс для десктопного использования. Особенно в связи с тем, что MP3 становится платным.
Переменные для метаданных. Все экстракторы поддерживают задание внешнего EXE кодера с возможностью передать ему произвольные параметры. В этом смысле возможности EXE кодера шире, так как для DLL кодера такая строка не предусмотрена и передаются только те параметры, которые известны экстрактору, через форму настройки. Если у экстрактора предусмотрены переменные для метаданных, хотя бы для основных, то появляется возможность использовать произвольный кодер, даже с неизвестной экстрактору схемой передачи параметров. Например, могут быть предусмотрены переменные %1 для имени артиста, %2 для имени альбома. В этом случае можно самому сформировать нужную строку параметров.
Запоминание последних пресетов для различных кодеров. Обычно экстракторы сохраняют только последний использованный пресет последнего использованного кодера. Если используются различные кодеры, то хорошо было бы сохранять хотя бы один пресет для каждого кодера. Пресет в поле настройки более удобен, чем пресет в профайле. Здесь и загрузка подольше, и имя профайлу придется придумывать. Заметим, что запоминание в поле возможно обычно только для тех кодеров, которые поддерживаются экстрактором.
Участники забега
Будут рассмотрены только “чистые экстракторы”, т.е. приложения, основным назначением которых является DAE. Функцию DAE имеют также некоторые аудио плееры и приложения рекордеры. Однако там эта функция - не основная, и поэтому выполнена на среднем уровне. В этом плане более интересна эволюция экстракторов за счет добавления новых функций, например, записи на CD-R или редактирования ошибок в WAV файле.
Далее, из-за обилия экстракторов я вынужден отфильтровать откровенно слабые, например, не поддерживающие Lame.exe, или потрековую обработку, или другие современные технологии. Кроме того, по понятным причинам не могли быть протестированы продукты, для которых требуется предварительная оплата (например, MP3 Master).
Интересно было обнаружить, что практически все экстракторы созданы программистами-одиночками.
Audiograbber
Страница продукта:
Audiograbber.com-us.net. Отличается удобным и красивым интерфейсом, а также поддержкой большого числа кодеров и форматов, в числе которых ATRAC3, и WMA v8.
Без оплаты доступна free-версия, которая отличается от зарегистрированной тем, что доступны только половина треков музКД, и эта половина выбирается случайным образом из доступных записей на компакт-диске.
Зарегистрированная версия программы стоит $20. Регистрация проводится специализированной компанией Element5 следующим образом:
1. Пользователь заполняет форму о себе и оплачивает покупку, например, по кредитной карте.
2. После оплаты пользователь получает электронное письмо с указанием пароля, серийного номера и указателя, откуда скачивать.
Может передавать EXE кодеру в виде параметров имя артиста (%1) и название альбома (%2). К сожалению, у меня не получилось использование внешнего кодера, даже когда он помещался в домашнюю папку экстрактора: последний выдавал сообщение о невозможности найти файл ("The system cannot find the file specified"). Будем надеяться, что в следующих версиях этот "баг" исправят.
CD Copy
Страница продукта:
Сdcopy.sk. Продукт имеет хороший встроенный хелп. В зарегистрированной версии доступно среди прочих возможностей запись на CD-R/RW и перекодирование между различными форматами. Интересно, что поле кодера заполняется в инфотеге автоматически.
CDex
Видимо, название раскрывается как CD extractor. Страница продукта:
Сdex.n3.net. В экстрактор встроен неплохой MP3 плеер. Можно передать в виде параметров все теги. На сайте
Diskoobmen.by.ru CDex объявлен вторым (после EAC).
CD'n'Go! Suite
Название Suite (пакет) продукт получил видимо за то, что в его состав входит также софт CD-рекордер. Страница продукта:
Cdngo.com. Экстрактор приятно удивил тем, что при первом запуске распознал страну и предложил русский интерфейс. Другой приятной неожиданностью было то, что экстрактор знает все пресеты Lame, Ogg и MusePack. Плюсом является выпуск новых версий в виде небольших патчей, что резко уменьшает время скачивания.
Некоторым минусом является то, что имя кодера записывается не в "родное" поле, а в комментарий.
EAC
Полное название: Exact Audio Copy. На многих мультимедийных сайтах объявлен как экстрактор номер 1, благодаря многочисленным и зачастую уникальным настройкам и возможностям. Бесплатный и постоянно обновляемый экстрактор. В последних версиях пользовательский интерфейс сделан на современном уровне.
Страница продукта:
Exactaudiocopy.de, откуда можно загрузить экстрактор.
Среди отличительных особенностей (как экстрактора):
- исследование возможностей CD ридера;
- визард настройки;
- коррекция ошибок с учетом C2 и повторным считыванием;
- прослушивание сомнительных участков и удаление щелчков (если выставить удаление WAV файлов, то это можно будет сделать только в процессе обработки трека, так как EAC проигрывает именно WAV файл при коррекции);
- запоминание двух пресетов внешнего EXE кодера. Выполнено в виде специальных переменных командной строки.
Существует
сайт со списком приводов, наиболее подходящих для работы с EAC.
Easy CD-DA Extractor
Страница продукта:
Poikosoft.com. Это пакет, в который входит также рекордер. Экстрактором является одноименная утилита. Продукт платный и в процессе тестирования не позволяет реально производить вытягивание.
Подключение внешнего кодера довольно глубоко запрятано: задание производится не в настройках, а в диалоге при выполнении команды экстракции. В этом диалоге нужно нажать внизу кнопку Advanced.
Хелп к приложению есть только на
этой странице.
WinDAC
Страница продукта:
Windac.de. Продукт условно бесплатный (Shareware), стоимость регистрации описываемой версии - около $23. Несмотря на предупреждение зарегистрировать не позже 30 дней экстрактор будет работать и дальше.
Среди основных минусов экстрактора:
- подключение EXE кодеров через скрипты. Это означает, что экстрактор не знает схем передачи параметров ни для Lame.exe ни для какого еще EXE кодера. Поэтому параметры придется программировать вручную, а это не так интересно;
- нет поля года альбома среди инфотегов;
- отсутствует поддержка ID3 v2;
- отсутствует встроенный хелп (а файл README весьма скуден);
Еще отметим, что автономное сжатие WAV файла невозможно.
Забег
Ввиду большого числа параметров экстракторов единственным способом выявить лучший является подсчет баллов. Разумеется, присвоение баллов за тот или иной параметр является субъективным. Но пользователь может легко произвести перерасчет на основании своей шкалы ценностей. Несмотря на то, что все числа можно было бы сократить на 10, это не упрощает, а усложняет восприятие.
Обозначения в таблице: 1 - наличие возможности, 0 - отсутствие (сделано это для удобства подсчета баллов).
Итого
Неожиданностей не произошло: с большим отрывом выиграл EAC (видимо, интуиция опытных юзеров не подводит). Второе место неожиданно (по крайней мере для меня, я ожидал здесь увидеть Audiograbber) уверенно занял не очень известный CD'n'Go! Suite. Третье место столь же уверенно занял Audiograbber.
Другие продукты
Advanced Audio CD Ripper
Страница продукта:
ссылка.
Условно бесплатный. Отфильтрован потому, что не знает ни
Lame.exe ни его альтернативные пресеты. Среди интересных "фич": режим удаления кликов ('Noise click remove' technology) из "вытянутого" файла.
Однако если вдуматься, это - борьба с уже произошедшими выпадениями секторов из-за большой скорости. Видимо, лучше предотвращать появление самих ошибок.
Интерфейс - на многих языках, в том числе и русском.
AltoMP3 Maker
Страница продукта:
ссылка.
Отфильтрован главным образом потому, что не знает ни Lame.exe ни его альтернативные пресеты. Из плюсов отметим исключительно приятную "шкурку" экстрактора.
ASPI Rip
Страница продукта:
ссылка.
По желанию можно приобрести полный пакет MPAction MP3 Tools в составе:
ASPI Rip - экстрактор;
MPAction WaveFix - редактор и нормализатор WAV файлов;
JukeBox Decoder - MP3 плеер, редактор тегов, декодер.
Экстрактор серьезный: после установки провел тесты на совместимость ASPI драйверов и привода, выдал отчеты в виде HTML файлов и методы решения проблем вместе с необходимыми линками. Этот же тест можно провести и из экстрактора. А еще исключительно приятный интерфейс со всплывающими подсказками.
Никаких экстракторных настроек нет (именно из-за этого я и отфильтровал его). Правда в хелпе на сайте сказано, что "fully automated speed, jitter and buffer adjustment with two simple error control modes", т.е. есть синхронизирующий режим, все параметры которого автоматизированы (так что возможно это гениальный продукт, который я не оценил).
Audio Catalyst
Страница продукта:
ссылка.
Продукт от компании Xing Technology, печально известной своими быстрыми, но плохими кодерами. На странице продукта сказано, что под Windows МЕ/2К/XP программа не работает; при этом за такое добро не стесняются просить $30.
Audio Crusher
Страница продукта:
ссылка.
На web-странице представлена только древняя версия, предназначенная для Windows 95/98. Размер архива (всего 275 Кбайт вместо привычных 1.5-3.5 Мбайт) также красноречиво говорит о минимальных возможностях продукта.
CD DAE
Страница продукта:
ссылка.
CD DAE от Nero является "голым" экстрактором без всякой интеграции с кодерами. Экстрактор бесплатен и очень компактен: архив "весит" менее 300 Кбайт (поэтому и возможности имеет скромные). На момент написания была доступна версия 0.4B. Умеет обращаться к CD Text и к freeDB. Однако обращение к freeDB не настраиваемое, и у меня, например, оканчивалось неудачей.
DAE имеет опцию коррекции ошибок. В обычном режиме сектор считывается дважды. При несовпадении в каком-то сэмпле берется среднее между соседними сэмплами. Если музКД сильно поврежден и встречаются сплошные ошибки, то они заменяются тишиной. Если же известно, что ридер поддерживает указатели C2, то это можно руками прописать в реестре: добавить в папку CD DAE ключ по имени C2 Pointers со значением 1 и типом REG_DWORD. После этого в настройках станет доступна опция C2 pointers, и при ее включении повторного перечитывания не будет.
CD-DA X-Tractor
Страница продукта:
ссылка.
Продукт полностью бесплатный (GNU Public License). Является оболочкой над компактным кодером командной строки, поэтому быстрый, компактный, но обладает скромными возможностями. Например, нет даже удаления после себя WAV файлов и поддержки
Lame.exe.
CD2WAV32
Страница продукта:
ссылка.
В этом приложении заявлены хорошие возможности, но help есть только на японском, и поэтому использовать продукт затруднительно. Ждем файл справки на английском.
CDDA32
Страница продукта:
ссылка.
Последняя версия датируется 2000 г., а среди поддерживаемых ОС отсутствует Windows 2000. Все это сразу напрочь убивает интерес к дальнейшему изучению.
Easy CD Ripper
Страница продукта:
ссылка.
Продукт бесплатный. Отфильтрован, так как не имеет никаких "экстракторных" настроек и не знает
Lame.exe. Интересен тем, что поддерживает как cddb, так и freeDB. Среди поддерживаемых форматов - MP3, WMA, OGG, WAV, VQF (все - через DLL).
Feurio!
Страница продукта:
ссылка.
Ориентирован в основном на запись CD. Дополнительно содержит простой Wave-редактор обложек КД. Условно бесплатен, и оценочная версия не имеет никаких ограничений. Собственно экстрактор называется Feurio! CD-Manager. Интересной особенностью является наличие базы данных по приводам. Так что если привод - от более-менее известного производителя, то о нём будет известно все. Если устройство - не опознано, то CD-Manager предлагает сам ввести его параметры, а также содержит тест распознавания всех "фич". Есть настойки выдавать сообщения об C2-ошибках при экстракции.
Отфильтрован потому что поддерживает только кодеры в виде DLL. Однако я бы посоветовал держать его как инструмент тестирования.
dBpowerAMP Music Converter
Страница продукта:
ссылка.
Фактически комбайн. Как экстрактор обладает небольшими настройками. Однако знает все пресеты
Lame. Интересно, что на этой странице приведен тест, из которого следует, что продукт в настоящее время является самым быстрым.
Fast CD Ripper
Страница продукта:
ссылка.
Условно бесплатный. Недостатком является использование только DLL-кодеров, т.е. поддержки
Lame.exe нет. Поддерживаются MP3, WMA, OGG. Есть Burst и синхронизирующие режимы. Остальные настройки - по минимуму.
MP3 CD Extractor
Страница продукта:
ссылка.
В целом обладает продуманным интерфейсом. Отфильтрован главным образом из-за отсутствия поддержки
Lame.exe и его альтернативных пресетов.
OSMPX
Страница продукта:
ссылка.
Сильной стороной являются продвинутые средства пакетной обработки аудио файлов. В то же время по удобству использования продукт не дотягивает до привычного уровня.
В качестве экстрактора используется внешняя программа CD DAE99 (предыдущая версия CD DAE, см. выше). Из-за "разорванности" этого голого экстрактора и надстройки над ним:
Экстракция и сжатие осуществляется отдельными операциями, что громоздко. Причем, какие именно треки были вытянуты, не показывается.
Папка с альбомом и именем в соответствие с инфотегами автоматически не формируется. Для этого нужно выполнять отдельную операцию (или заранее сформировать папку вручную).
Есть еще минусы:
Используется старая версия CD DAE (не использующая C2 указатели)
Довольно примитивная схема нормализации, когда громкость каждого файла уменьшается на 0.5 дБ (возможно, некоторые файлы трогать не надо)
Отсутствует передача опций к Lame.exe, а альтернативные пресеты в список выбираемых опций не включены.
Заметны и огрехи в программировании:
После обновления (с 2.10 до 2.20.b3) программа продолжает сообщать о старом номере версии
Поддержка русского и английского выполнена двумя практически идентичными EXE-шниками. Уже давно это решается языковыми файлами и единым экзешником, позволяющим даже на лету сменить язык.
Поскольку разработка - отечественная, пожелаем автору побыстрее привести продукт в современный вид, перешагнув уровень фронтэнда к "вкусным" форматам MP3, MusePack, OGG.