Цифровой звук

Лирическое отступление


Думаю, стОит оговориться, что LAME - проект, создаваемый по схеме с открытыми исходными кодами, то есть любой человек потенциально может принять участие в создании кодера. Естественно, что для эффективного участия в проекте в качестве программиста необходимы знания в области технологии сжатия звука на очень высоком уровне. Тем не менее, количество программистов в LAME измеряется сотнями. Для участия в тестированиях планка уровня знаний существенно ниже, потому количество тестеров LAME измеряется тысячами и десятками тысяч. Даже если учесть, что профессионалов (музыкантов, настройщиков и т.п.) в этой массе немного - единицы процентов, - все равно получается, что доводкой проекта LAME занимается куда как больше народу, чем, скажем, кодером Fraunhofer IIS, лидером в индустрии среди коммерческих продуктов.

Мне известен документ с описанием тестирования, проведенным Fraunhofer IIS, с участием нескольких сотен экспертов. «Аж нескольких сотен!» - можем сказать мы, представив себе масштабы мероприятия и затраты на его проведение. «Всего нескольких сотен?» - можем возразить мы, вспомнив о тысячах людей по всему земному шару, делающих одно общее дело под знаменами LAME.

Таким образом, мы выделили два подхода к выбору параметров сжатия: теоретический, который хорош только для человека с большим опытом работы с mp3 и неплохими знаниями в теории рассматриваемого метода сжатия звука, и эмпирический - простой и понятный в использовании для каждого.


Очень многие считают, что именно битрейт (или средний битрейт) задает уровень качества для файлов mp3. Это не так: как уже было сказано выше, для разной музыки один и тот же битрейт даст разный уровень качества. Потому использовать битрейт в качестве оценки качества сжатия можно только при сравнении разных способов сжатия одного и того же материала. И то, из-за сложности процесса сжатия нет однозначного соответствия между шириной выходного потока и уровнем качества. Очевидно, что из двух потоков одинакового размера 1-й поток, содержащий сигнал с частотами не выше 18 кГц, содержит больше информации об исходном сигнале, нежели 2-й поток, содержащий сигнал с частотами вплоть до 21 кГц. Какой вариант покажется более качественным - 1-й с бОльшим количеством деталей или 2-й с высокими частотами - вопрос нетривиальный и не имеющий однозначного ответа.

У меня получились следующие результаты:

Параметры LAME

Файл №1

Файл №2



--preset r3mix 155 170
--alt-preset standard -q0 185 186
--alt-preset standard 186 187
--alt-preset extreme 218 226
--alt-preset insane 320 320
--alt-preset 192 198 188
--abr 192 -q0 195 193

Последний вариант параметров - это тот режим, в котором я раньше кодировал музыку для себя (если по каким-то причинам не хотел купить или переписать Audio CD).

Оказалось, что результат, меня вполне устраивающий (не хуже --abr 192 -q0), можно получить в меньшем объеме: --alt-preset standard. Работает, правда, --alt-preset втрое дольше. Кстати, такой вариант уж точно даст качество выше CBR 192 kbps, который так популярен сегодня.

Интересно, что --abr 192 -q0 недостаточно гибок: использующий тот же режим ABR --alt-preset 192 давал в результате как больший, так и меньший битрейт. Это позволяет заподозрить режим --alt-preset в более аккуратном обращении с потоком битов.

Обращает на себя внимание то, что r3mix, как и --alt-preset fast, работает примерно вдвое быстрее, чем --alt-preset. (Это объясняется использованием нового алгоритма выбора битрейта в режиме VBR: этот алгортим пока недостаточно хорошо доведен и часто дает файлы чуть большего размера или чуть более низкого качества.


Кстати, я не понимаю, почему публика жалуется на то, что Exact Audio Copy сложно настроить? В этой программе все параметры, которые касаются привода CD-ROM, отлично настраиваются с использованием функции автоопределения. Все, что вам нужно сделать, это:

  • Запустить EAC, вставить audio CD в привод CD-ROM;
  • В окне EAC | Drive options | Extraction method выберите Detect Read Features. После окончания процесса определения параметров вашего привода обязательно нажмите Apply.
  • На странице Drive этого же окна нажмите кнопку Autodetect read command now.
  • Настройка привода закончена - жмите OK.
  • Если вы хотите, чтобы переписанные с audio CD песни автоматически сжимались в mp3, настройте соответствующим образом EAC | Compression Options. Например, для использования LAME на странице External Compression установите галочку Use external program for compression, выберите в списке Parameter passing scheme: LAME MP3 Encoder, в Program, including file path, used for compression укажите полный путь к файлу lame.exe (для этого вы можете использовать кнопку Browse…) и наконец в Additional command line options укажите параметры командной строки LAME, отвечающие за выбранный вами режим сжатия. Если вы хотите, чтобы переписанная с audio CD информация в формате wav не оставалась у вас на диске, установите галочку Delete WAV after compression.
  • Все остальные параметры либо не влияют на собственно процесс кодирования, либо используются крайне редко. В подавляющем большинстве случаев после выполнения этих пяти пунктов программа начнет нормально работать.

    Мастер настройки (EAC | Configuration Wizard…), который появился в версии 0.9 beta, еще больше упрощает приведенную выше процедуру: вам лишь нужно несколько раз нажать Next. Если вас не устраивает альтернативный пресет standard, то в EAC | Compression Options | Parameter passing scheme выберите LAME MP3 Encoder, а в Additional command line options укажите параметры командной строки LAME, отвечающие за выбранный вами режим сжатия.



    Содержание раздела