Использование пресетов mp3-кодера LAME

 

Введение

Пресет (от англ. preset) — предварительно заданная схема настроек параметров. Пресеты к mp3-кодеру LAME появились не вчера и даже не позавчера. Обратить мое внимание на них заставило событие, мало относящееся к собственно пресетам — выход 21 декабря 2001 года очередной стабильной версии LAME — 3.90. Среди множества новшеств, реализованных в этом кодере за последние полтора года (когда была выпущена предыдущая стабильная версия 3.70), обращают на себя внимание пресеты, параметры которых подбирались с помощью длительных прослушиваний.

14 апреля 2002 года была выпущена версия 3.92, отличающаяся исправлением пары ошибок. Далее будет описаны особенности именно этой, последней стабильной на сегодня, версии. Для более ранних версий приведенные результаты могут быть неверны — автор предупреждает вас об этом.

Также достойно упоминания появление в LAME 3.92 ACM-кодека. Это позволяет встроить mp3-кодек на базе LAME в систему Windows: так можно использовать его непосредственно из многих программ — например по работе с видео и звуком видео. Текущая версия ACM-кодека достаточно бедна функционально — в частности поддерживаются только режимы с постоянным битрейтом — однако в виде LAME ACM впервые появилась альтернатива кодеку от Fraunhofer.

О чем эта статья

Ниже я опишу полученные мною результаты, которые будут интересны для широкого круга интересующихся технологией mp3. В тексте вы сможете найти немного более, чем обещано в заголовке, однако эта информация добавлена лишь для большей прозрачности материала. Поскольку мне приходится часто отвечать на вопросы публики по рассматриваемому вопросу, постараюсь подробнее останавливаться на неочевидных аспектах, даже если они не имеют прямого отношения к тематике.

Предполагается, что читатель обладает базовыми знаниями по обсуждаемому вопросу. Достичь такого уровня вы вполне можете, ознакомившись хотя бы с одной из статей по технологии сжатия звука с потерями на основании психоакустической модели (например, Обзор MP3. Часть I., Обзор MP3. Часть II.).

Знание технических деталей совсем не обязательно для понимания основных выводов данной статьи. С другой стороны, такие знания будут полезны для понимания промежуточных рассуждений (см., например, Рекомендации по использованию стандарта сжатия mp3).

Подходы к выбору параметров сжатия

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

Второй аспект проблемы — в реальном mp3 кодере степень сжатия задается, как правило, не одним параметром. Кодер LAME (в отличие от многих коммерческих кодеров) предлагает пользователю возможность изменять десятки параметров. Таким образом, затраты на проведение прослушиваний для получения субъективной оценки возрастают еще больше.

Хочу выделить два основных подхода к определению параметров сжатия: теоретический и эмпирический. Разницу проще будет описать примером. При прочих равных качество выходного потока будет тем больше, чем больше битов в единицу времени он займет. Или тем больше, чем ниже выставлен порог слышимости (ATH, absolute threshold of hearing, сигналы ниже этого уровня вообще не вносятся в выходной поток — кодер считает, что ухо их не различит). Или тем выше, чем выше частота среза ВЧ фильтра.

Замечание для знатоков: в двух последних примерах считается, что используется VBR алгоритм, то есть ширина битового потока увеличивается, если мы сохраняем больше информации.

Как было замечено выше — таких параметров масса. Мы, конечно же, можем поставить в максимум значения всех параметров, но это приведет к очень низкой степени сжатия. Поиск компромисса в данной ситуации приведет к варьированию огромного числа параметров кодера. Поработав с теоретическим методом подбора параметров, каждый сможет получить некоторые свои эмпирические результаты, наработки, опыт: вот такая комбинация практически всегда будет давать лучшие результаты, чем какая-то другая.

При теоретическом способе выбора параметров необходимо четко понимать, на что влияет каждый параметр, и как в результате его изменения должен измениться результат сжатия. Так, например, в документации к LAME указано, что при использовании режима VBR психоакустическая модель может слишком сильно занизить битрейт, поэтому его нужно искусственно ограничивать снизу (соответствует ключу 'lame -b ', даже при использовании этого ключа акустическая тишина будет кодироваться в 32 kbps). Подавляющее большинство пользователей такими знаниями не обладает. Более того, многие даже не заглядывают в документацию для получения советов по выбору параметров кодирования.

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

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

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

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

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

Описание пресетов LAME

Как гласит документация LAME, «Presets are shortcuts for common or carefully tuned settings» (пресеты — это удобные краткие ссылки на часто используемые или аккуратно настроенные наборы входных параметров).

Основные пресеты

Основные пресеты используют режим сжатия с постоянным битрейтом, если не указан ключ '-v'. В таблице ниже указано значение, которое будет использоваться при сжатии с постоянным битрейтом. По этому значению можно получить примерное представление о качестве получаемого результата.

НазваниеБитрейтОписание
phone16 kbpsТелефонная линия
phon+24 kbpsКачественная телефонная линия
lw24 kbpsРадиотрансляция на ДВ
mw-eu24 kbpsРадиотрансляция на СВ по европейскому стандарту
sw24 kbpsРадиотрансляция на КВ
mw-us40 kbpsРадиотрансляция на СВ по американскому стандарту
voice56 kbpsОптимизирован для хранения записи речи
fm112 kbpsУКВ (FM) радиоприемник
radio128 kbpsКачественный УКВ (FM) радиоприемник
tape128 kbpsЗвучание бытового кассетного магнитофона
hifi160 kbpsЗвучание качественного кассетного магнитофона
cd192 kbpsЗвучание бытового проигрывателя компакт-дисков (CD)
studio256 kbpsЗвучание качественного проигрывателя компакт-дисков (CD)

Каждый из вас может получить подробное описание каждого из приведенных выше пресетов, запустив 'lame --preset longhelp'.

Для использования какого-либо пресета при сжатии нужно использовать команду 'lame --preset [-v] in-file.wav [out-file.mp3]'. Ключ '-v' включает режим сжатия с переменным битрейтом, что должно обеспечить заданный уровень качества при минимальном размере файла, но замедлит процесс сжатия в 2-3 раза. Если не указать имя файла для результата, то вы получите файл 'in-file.wav.mp3'.

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

Не следует также считать, что в названии пресета отражено, как надо кодировать материал, полученный с какого-либо источника: магнитофонной ленты или радиоприемника. Как раз наоборот: зашумленная информация, которую мы получим при записи с радио, грампластинки или магнитофона, намного сложнее для сжатия. Существует множество методик очистки таких записей от шумов, за подробностями отсылаю к тематическим сайтам по обработке звука, в первую очередь — www.websound.ru.

Чтобы сделать это описание полным, надо упомянуть о пресете r3mix. Этот пресет разработан сообществом форума сайта R3mix.net (вероятно, самый большой в мире форум по технологии mp3). Он использует режим VBR и призван обеспечить неплохой уровень качества при достойной скорости сжатия (всего наполовину медленнее CBR/ABR).

Альтернативные пресеты

Как гласит описание LAME, «alt- presets highly tuned for utmost quality via blind listening tests» (альтернативные пресеты были настроены при помощи прослушиваний для получения максимального качества).

НазваниеБитрейтОписание
standardв среднем 180-190 kbpsВысокое качество (ВЧ фильтр на 19 кГц)
extremeв среднем 220-240 kbpsОчень высокое качество (ВЧ фильтр на 19,7 кГц)
insane320 kbpsМаксимальное качество, доступное для сжатия mp3
в среднем kbpsМаксимальное качество, доступное для сжатия mp3 при заданном среднем битрейте

Первые два пресета используют режим кодирования с переменным битрейтом. Авторы LAME заявляют, что пресет standard дает неотличимый на слух от оригинала результат для большинства людей. Пресет extreme дает еще более высокое качество для людей с хорошим слухом и хорошим Hi-Fi оборудованием. Пресет insane, как и следует из его названия (безрассудный), всегда использует максимальный битрейт, допустимый стандартом mp3 — 320 kbps. Последний пресет использует режим ABR, который обеспечивает максимальное качество при заданном среднем битрейте. Этот режим работает в несколько раз быстрее VBR.

Для использования какого-либо альтернативного пресета при сжатии нужно использовать команду 'lame --alt-preset [fast] in-file.wav [out-file.mp3]'. Ключ 'fast' включает режим быстрого сжатия с переменным битрейтом, что ускоряет процесс сжатия, но создаст чуть больший результирующий файл с немного более низким качеством. Если не указать имя файла для результата, то вы получите файл 'in-file.wav.mp3'.

Обращаю ваше внимание, что не существует таблицы соответствия значений параметров кодера каждому из альтернативных пресетов, аналога 'lame --preset longhelp'. Альтернативные пресеты — это сложные адаптивные системы изменения параметров, которые адаптируются под сжимаемый материал с учетом заданных вами параметров (название пресета, режим fast, заданный средний ). Это же касается и пресета 'r3mix'.

Оценка применимости пресетов

Теория

Несколько лет назад я задался вопросом выбора самого качественного программного mp3 кодера. Я провел тестирование нескольких кодеров в различных режимах (см. Отчет о тестировании программных mp3 кодеров). В результате я примерно оценил максимальный уровень сжатия mp3, при котором по моему мнению качество результата не уступает качеству исходного материала. Для режима сжатия с постоянным битрейтом (CBR) это было 224 kbps (с учетом того, что музыка бывает очень разная, будем считать 192-256 kbps). Со временем технология сжатия звука оттачивалась и модернизировалась. Родилась технология сжатия с переменным битрейтом (VBR), которая долгое время развивалась и грешила посредственными результатами (вспомните оговорку про необходимость ограничить битрейт снизу). Была разработана компромиссная технология ABR, сочетавшая в себе скорость CBR и качество VBR. Основываясь именно на этих теоретических посылках, я долгое время использовал для сжатия mp3 именно режим ABR со средним битрейтом 192 kbps.

Практика

Заинтересовавшись потенциальными возможностями пресетов LAME, а также впечатлившись тем, что для настройки alt-preset'ов проводились прослушивания по двойной слепой методике с целью обеспечить максимально возможное качество, я решил проверить результат их работы на практике самостоятельно. С полки был извлечен первый попавшийся под руку CD, им оказался Play, Moby. С этого диска я отобрал две композиции, которые по моему субъективному мнению сложнее всего закодировать в mp3: это Porcelain (№1) и Everloving (№2).

Железо

Весь процесс происходил на моем домашнем компьютере, звуковой тракт которого включает в себя звуковую карту Yamaha YMF744 на кодеке SigmaTel ST AC9721TR и активные компьютерные колонки KOSS SX-100, (2 по 5W RMS, двухполосные, ВЧ динамик — 4 см, СЧ — 10 см, заявленный диапазон: 60Hz — 20kHZ).

Не совсем к железу… У меня самого пять классов музыкальной школы (фортепиано) за плечами. Активный, не воинствующий аудиофил уже лет пять-шесть. Последние года три интересуюсь технологиями сжатия звука, в частности, mp3. Это я к тому, что медведь у меня по ушам не гулял. Я также отлично знаю, что такое слепой метод тестирования, и именно так я провожу свои прослушивания.

Предварительное сравнение

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

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

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

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

Параметры LAMEФайл №1Файл №2
--preset r3mix155170
--alt-preset standard -q0185186
--alt-preset standard186187
--alt-preset extreme218226
--alt-preset insane320320
--alt-preset 192198188
--abr 192 -q0195193

Последний вариант параметров — это тот режим, в котором я раньше кодировал музыку для себя (если по каким-то причинам не хотел купить или переписать 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: этот алгортим пока недостаточно хорошо доведен и часто дает файлы чуть большего размера или чуть более низкого качества. Однако этот алгоритм работает примерно вдвое быстрее старого.)

Отмечу, что standard -q0 дает результат меньшего размера, чем standard (в котором применен noise shaping level 2, соответствует -q2, по идее — более низкий уровень качества). На слух разницы не слышно — слишком она мизерна. Это уменьшение размера означает только то, что при сжатии использовались разные алгоритмы noise shaping. Какой из файлов обладает более высоким качеством — тоже вопрос открытый. Эта ситуация служит отличной иллюстрацией тому факту, что не нужно тщательно проверенные альтернативные пресеты alt-preset дополнять своими значениями каких-либо параметров. Единственное, чего вы добьетесь наверняка — это собьете те настройки, которые так долго подбирали авторы LAME. Лучше получится результат или хуже — ответить сможет только прослушивание, которое вы вряд ли станете проводить. Даже использование таких значений параметров, которые теоретически должны только улучшить результат, может привести к неоднозначной ситуации. Пример приведен в начале абзаца: вроде качество запросили повыше, а результат получили поменьше (потенциально менее качественный).

Не дополняйте пресеты своими значениями параметров — результаты будут непредсказуемы. (Если же вы можете предсказать результат добавления своих параметров — что ж, вы знаете, что делаете. Вы также знаете, чем рискуете, и кто за это в ответе.)

Таким образом, при первом знакомстве качество результата, полученного с помощью alt-preset понравилось. Да и здравый смысл подсказывает, что работа тысяч людей должна была принести какой-то результат.

Прослушивание

Для тщательного прослушивания я взял самый сложный для сжатия фрагмент из файла №2: участок длиной около минуты, начиная со второй минуты звучания композиции.

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

Я выставил две оценки. Первая — за передачу высоких частот, что включает в себя временнУю четкость ВЧ сигналов (отсутствие эхо и пре-эхо) и субъективную "прозрачность" звучания тарелок и подобных инструментов. Вторая — четкость передачи стереопанорамы, что включает четкое и верное позиционирование всех инструментов, четкая "ширина" инструмента в стереопанораме.

Оценки выставлены по пятибалльной шкале: 1 — обращающие на себя внимание огрехи, 2 — легко заметные несовпадения, 3 — немного заметные несоответствия, 4 — чтобы заметить разницу, нужно прислушиваться и искать дефекты, 5 — разница практически не слышна и появляется редко. Единица по этой шкале совсем не означает, что такой результат нельзя слушать: просто он содержит заметные на слух дефекты сжатия. Если продолжить эту шкалу, то большинство пиратских CD со сборниками mp3 (CBR 128 kbps, иногда Xing) получили бы от -4 до -2. А звуковые дорожки к фильмам на пиратских CD с DivX редко поднимутся выше -5…

Битрейт указан средний по всему фрагменту. Как уже упоминалось, он не может быть использован для сравнения как критерий качества (что легко увидеть, сравнив его с субъективными оценками). Также указана частота среза для фильтра ВЧ в килогерцах.

Параметры LAMEПередача ВЧПередача стерео-панорамыБитрейтЧастота среза ВЧ
--preset r3mix3316619,6
--alt-preset standard4419318,9
--alt-preset extreme5522119,6
--alt-preset insane5432020,3
--alt-preset 1924219319,6
--abr 192 -q02319718,9
--preset hifi -v3216017,7
--preset cd -v21187-
--preset studio -v21206-

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

Обращает на себя внимание полная и безоговорочная победа режима VBR над режимом ABR. CBR режимы со сравнимыми битрейтами даже не тестировались: они заведомо не лучше ABR.

Пресет --alt-preset standard просто восхитителен, и отличить его звучание от --alt-preset extreme можно только на сложном, аккуратно изученном звуковом материале, с использованием неплохой аппаратуры и явно придираясь к мелочам. Для повседневного использования, даже при наличии ушей, аппаратуры и прочая, пресета standard более чем достаточно.

Любопытно отметить то, что --alt-preset insane мне понравился меньше, чем --alt-preset extreme. Кажется, что во втором случае передача стереоэффектов более корректная. Есть мысль, что такое происходит из-за того, что insane очень редко использует mid-side stereo, в итоге у extreme с его joint stereo битрейт для кодирования центрального канала получается больше, чем у insane.

Пресет r3mix показал себя как отличная рабочая лошадка: вдвое быстрее, чем --alt-preset, получает результат меньшего размера и вполне достойного качества.

Битрейта в 192 kbps в режиме ABR маловато для передачи сложного стерео: --alt-preset 192 (использует joint stereo) явно не справился с задачей, а --abr 192 (использует stereo) задрал битрейт и даже при этом напортачил с тарелками и хай-хетами.

В этом тесте участвовали и самые лучшие из основных пресетов в режиме VBR (см. Основные пресеты). Хочу отметить, что эти пресеты делались давно, причем для режима CBR. Именно в таком режиме результат работы этих пресетов соответствует их названию. Параметры для режима VBR также были подобраны давно, причем создается впечатление, что подобраны они чисто теоретически. По словам одного активного участника проекта LAME эти параметры давно никто не изменял, никаких прослушиваний никто не проводил, потому использовать их крайне не рекомендуется. Тем более, что есть отличная аккуратно отточенная альтернатива в виде альтернативных пресетов (см.Альтернативные пресеты).

Из основных пресетов отмечу неплохой результат у hifi (соответствует CBR 160 kbps, средний битрейт при VBR — около 160 kbps) — в основном за счет использования режима joint stereo и низкой частоты среза ВЧ фильтра. Пресет cd (соответствует CBR 192 kbps, средний битрейт при VBR — около 190 kbps) и пресет studio (соответствует CBR 256 kbps, средний битрейт при VBR — около 210 kbps) используют режим stereo и совсем не используют ВЧ фильтра, что все вместе стало для них приговором при таком низком битрейте.

Еще раз оговорюсь — использовать основные пресеты настоятельно не рекомендуется. Они ориентированы под режим CBR и в этом режиме они хоть как-то оправдывают свое назначение. Для работы в режиме VBR эти пресеты не предназначены.

Впечатления

Мне нравится, как работают альтернативные пресеты. Приятно посмотреть: демонстрация работы алгоритмов психоакустики mp3 в действии. Так, начало у файла 1 совсем простое — инструменты включаются в мелодию по одному. На гистограмме использованных битрейтов видно, что практически все кодируется с минимально возможным битрейтом — 128 kbps. Ближе к середине песни, где звук стал достаточно сложным, самыми популярными становятся фреймы с 192 kbps и нередки фреймы бОльшего размера, вплоть до максимального — 320 kbps. Первая половина файла 2 содержит практически весь сигнал в левом канале. Вот вам результат — начало файла 2 практически полностью кодируется при помощи stereo, а вторая часть, когда звук становится более сбалансированным по стереопанораме, LAME начинает использовать mid-side stereo. В режиме joint-stereo LAME использует не только mid-side stereo. Такой режим для кодера означает, что он может использовать режим mid-side для сжатия стереосигнала, если результат будет превосходить по качеству обычный режим stereo.

Выводы

Вслед за CBR режимом сжатия mp3 на свалку истории просится ABR. VBR обеспечивает более эффективное сжатие при таком же уровне качества, а также более высокое качество при том же размере результата. С целью упростить использование таких режимов для пользователя, командой создателей LAME были разработаны несколько пресетов.

Пресет r3mix обеспечивает весьма достойный результат при скромном размере (около 160 kbps) и высокой скорости кодирования. Это отличный баланс качества и скорости, вероятно, лучший среди всех остальных вариантов настройки LAME. Этого режима вполне достаточно для хранения музыки на компьютере, если слушать ее будут на обычных компьютерных колонках. Сравнительно невысокий битрейт позволяет рекомендовать такой режим кодирования для передачи музыки через интернет, для сжатия звуковых дорожек к качественным копиям фильмов (около часа видео на один CD).

Альтернативный пресет standard создает результат отличного качества, который имеет вполне разумный размер (180 — 190 kbps). Выберите такой режим сжатия, если вас интересует качественный результат. Этот режим отлично подходит для хранения музыки, даже если у вас хорошая акустика. Именно на таком режиме сжатия я остановил свой выбор.

Альтернативный пресет extreme создает результат более чем отличного качества (220 — 240 kbps). Этот режим сжатия можно рекомендовать особо требовательным слушателям с качественной аппаратурой. Такой режим подойдет для хранения музыки в mp3, даже если слушать ее вы будете на качественном hi-fi оборудовании.

Альтернативный пресет insane создает результат максимально возможного для mp3 качества, при этом занимает непозволительно много места (320 kbps). Как показало прослушивание — качество результата вряд ли выше альтернативного пресета extreme. Этот режим сжатия можно рекомендовать тем, кто хочет «максимальное качество, которое дает mp3; на все остальное — наплевать!». Использовать же такой пресет всем остальным я не рекомендую.

Для тех, кто хочет получить качество выше, чем может обеспечить альтернативный пресет standard, рекомендую обратить свои взоры на формат сжатия MusePack, раньше он назывался mpeg plus (он же mp+ или mpc). Среди множества альтернатив mp3 именно этот способ сжатия звука с потерями лучше всего справляется с задачей «качество повыше, чем у mp3, но размер поменьше, чем у сжатия без потерь».

Маленькая хитрость

Exact Audio Copy, лучшая на сегодня программа для копирования CD-DA, при использовании внешнего mp3 кодера учитывает значение EAC | Compression Options | External Compression | Bit rate для расчета размера конечного mp3 файла. ППри использовании VBR режима внешнего кодера для вашего же удобства в списке Bit rate окна EAC | Compression Options | External Compression надо выбрать битрейт, приблизительно равный среднему битрейту при выбранном вами режиме сжатия с присказкой «Variable Bitrate». Параметры командной строки, отвечающие за ваш режим сжатия, надо указать в Additional command line options. Например у меня в EAC установлен Bit rate в Variable Bitrate 192 kBit/s, а Additional command line options содержит '--alt-preset standard'.

Теперь в колонке Size основного окна программы вы будете видеть приблизительный размер mp3 файла, который вы получите, переписав песню с CD-DA.

Exact Audio Copy вполне можно использовать как графическую оболочку к LAME, если вам нужно закодировать в mp3 уже имеющиеся wav файлы.

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

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

  1. Запустить EAC, вставить audio CD в привод CD-ROM;
  2. В окне EAC | Drive options | Extraction method выберите Detect Read Features. После окончания процесса определения параметров вашего привода обязательно нажмите Apply.
  3. На странице Drive этого же окна нажмите кнопку Autodetect read command now.
  4. Настройка привода закончена — жмите OK.
  5. Если вы хотите, чтобы переписанные с 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, отвечающие за выбранный вами режим сжатия.

Комментарий специалиста

При работе под Windows NT/2000/XP при эксплуатации EAC возникают некоторые проблемами. Как пишет автор на своем сайте, native interface при работе под этими ОС все еще buggy, поэтому он рекомендует пользоваться ASPI, тем более, что с ним не требуется иметь администраторские права. Оказалось, что здесь не все так гладко — при работе через ASPI на заметном количестве машин с самыми разными чипсетами EAC начинал очень неуверенно распознавать вновь вставленный аудио-диск, иногда — с десятой-двадцатой попытки. Еще хуже — если на машине есть SCSI-адаптер (у меня это был Adaptec AHA2940, к нему подключена магнитооптика), то EAC полностью отказывался видеть аудио-диски, вставленные в IDE CD ROM. При этом, например, Easy CD-DA Extractor работал без запинки.

Решение приведено на сайте автора EAC: предлагается в качестве альтернативы использовать freeware заменитель под названием ASAPI, производства немецкой фирмы VOB с немецкоязычным интерфейсом. :)

Его установка полностью решила проблемы на всех моих машинах, у EAC-а в настройках («Options» -< «Interface») появляется еще один вариант: «Installed external ASAPI interface (from VOB software)», который и нужно выбрать.

Спасибо Сергею Дуброву за этот комментарий. Также рекомендую обратить внимание на прекрасный русскоязычный сайт, посвященный настройке EAC — eac.by.ru

Ссылки

Обзор MP3, Часть I, Часть II — одна из лучших известных мне популярных статей об основах mp3 на русском языке;

В разделе Мультимедиа сайта iXBT вы найдете еще множество статей про mp3 и другие технологии сжатия звука;

WebSound.ru — сайт посвященный обработке звука на компьютере;

LAME Win32 binaries — сайт, где вы можете найти собранные под Windows последние версии LAME, тут же есть ссылки на другие аналогичные сайты;

Exact Audio Copy, лучшая на сегодня программа для копирования аудио CD. Может быть использована как графическая оболочка к LAME.

R3mix.net — крупнейший в мире форум по технологиям сжатия звука, mp3 в частности, на английском языке;

Project Mayhem — второй по величине форум по технологиям сжатия звука, mp3 в частности, на английском языке;

MP3 Forum — единственный известный мне на сегодня форум по mp3 на русском языке.

Apollo mp3 player — сайт одного из самых популярных проигрывателей mp3 опять переехал.

Сайт о формате MusePack — тут же есть набор ссылок на другие сайты, посвященные этому формате сжатия звука.

Благодарности

Хочу поблагодарить всех участников MP3 Forum'a — за несколько лет тут собрался коллектив весьма компетентных энтузиастов с теплой дружеской атмосферой. Мне сложно выделить самого знающего или самого полезного участника — каждый из них обладает уникальным набором знаний. Я не хочу называть имен, не хочу никого особо выделять или наоборот, обидеть. Спасибо вам, ребята. Я очень ценю ваше мнение.

 

4 августа 2002 Г.

mp3- LAME

mp3- LAME

 

( . preset) — . mp3- LAME . , — 21 2001 LAME — 3.90. , ( 3.70), , .

14 2002 3.92, . , , . — .

LAME 3.92 ACM-. mp3- LAME Windows: — . ACM- — — LAME ACM Fraunhofer.

, mp3. , , . , , .

, . , (, MP3. I., MP3. II.).

. , (., , mp3).

, - , : , . , - . -, . -, "". «, , », . , , ( , , ). — , , "a b, b c".

— mp3 , , . LAME ( ) . , .

: . . , . , (ATH, absolute threshold of hearing, — , ). , .

: , VBR , , .

— . , , , . . , , , : , - .

, , . , , LAME , VBR , ( 'lame -b <bitrate>', 32 kbps). . , .

, , : , , , , . . , (preset). , — . , .

, , LAME — , , . , . , LAME . , LAME . , (, ..) — , — , LAME , , , Fraunhofer IIS, .

, Fraunhofer IIS, . « !» — , . « ?» — , , LAME.

, : , mp3 , — .

LAME

LAME, «Presets are shortcuts for common or carefully tuned settings» ( — ).

, '-v'. , . .

phone 16 kbps
phon+ 24 kbps
lw 24 kbps
mw-eu 24 kbps
sw 24 kbps
mw-us 40 kbps
voice 56 kbps
fm 112 kbps (FM)
radio 128 kbps (FM)
tape 128 kbps
hifi 160 kbps
cd 192 kbps - (CD)
studio 256 kbps - (CD)

, 'lame --preset longhelp'.

- 'lame --preset <preset-name> [-v] in-file.wav [out-file.mp3]'. '-v' , , 2-3 . , 'in-file.wav.mp3'.

, (), . , mp3 ( , ), .

, , , - : . : , , , . , , — www.websound.ru.

, r3mix. R3mix.net (, mp3). VBR ( CBR/ABR).

LAME, «alt- presets highly tuned for utmost quality via blind listening tests» ( ).

standard 180-190 kbps ( 19 )
extreme 220-240 kbps ( 19,7 )
insane 320 kbps , mp3
<bitrate> <bitrate> kbps , mp3

. LAME , standard . extreme Hi-Fi . insane, (), , mp3 — 320 kbps. ABR, . VBR.

- 'lame --alt-preset [fast] <preset-name> in-file.wav [out-file.mp3]'. 'fast' , , . , 'in-file.wav.mp3'.

, , 'lame --preset longhelp'. — , ( , fast, <bitrate>). 'r3mix'.

mp3 . (. mp3 ). mp3, . (CBR) 224 kbps ( , , 192-256 kbps). . (VBR), ( ). ABR, CBR VBR. , mp3 ABR 192 kbps.

LAME, , alt-preset' , . CD, Play, Moby. , mp3: Porcelain (1) Everloving (2).

, Yamaha YMF744 SigmaTel ST AC9721TR KOSS SX-100, (2 5W RMS, , — 4 , — 10 , : 60Hz — 20kHZ).

… () . , -. , , 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: . .)

, standard -q0 , standard ( noise shaping level 2, -q2, — ). — . , noise shaping. — . , alt-preset - . , — , LAME. — , . , , . : , ( ).

— . ( — , , . , , .)

, , alt-preset . , - .

2: , .

: ( ), , , , . ( ).

. — , ( -) "" . — , , "" .

: 1 — , 2 — , 3 — , 4 — , , 5 — . , : . , CD mp3 (CBR 128 kbps, Xing) -4 -2. CD DivX -5

. , ( , ). .

LAME -
--preset r3mix 3 3 166 19,6
--alt-preset standard 4 4 193 18,9
--alt-preset extreme 5 5 221 19,6
--alt-preset insane 5 4 320 20,3
--alt-preset 192 4 2 193 19,6
--abr 192 -q0 2 3 197 18,9
--preset hifi -v 3 2 160 17,7
--preset cd -v 2 1 187 -
--preset studio -v 2 1 206 -

, audio CD mp3, (. ). — , . audio CD - .

VBR ABR. CBR : ABR.

--alt-preset standard , --alt-preset extreme , , . , , , standard .

, --alt-preset insane , --alt-preset extreme. , . , - , insane mid-side stereo, extreme joint stereo , insane.

r3mix : , --alt-preset, .

192 kbps ABR : --alt-preset 192 ( joint stereo) , --abr 192 ( stereo) -.

VBR (. ). , , CBR. . VBR , , . LAME , , . , (. ).

hifi ( CBR 160 kbps, VBR — 160 kbps) — joint stereo . cd ( CBR 192 kbps, VBR — 190 kbps) studio ( CBR 256 kbps, VBR — 210 kbps) stereo , .

. CBR - . VBR .

, . : mp3 . , 1 — . , — 128 kbps. , , 192 kbps , — 320 kbps. 2 . — 2 stereo, , , LAME mid-side stereo. joint-stereo LAME mid-side stereo. , mid-side , stereo.

CBR mp3 ABR. VBR , . , LAME .

r3mix ( 160 kbps) . , , LAME. , . , ( CD).

standard , (180 — 190 kbps). , . , . .

extreme (220 — 240 kbps). . mp3, hi-fi .

insane mp3 , (320 kbps). — extreme. , « , mp3; — !». .

, , standard, MusePack, mpeg plus ( mp+ mpc). mp3 « , mp3, , ».

Exact Audio Copy, CD-DA, mp3 EAC | Compression Options | External Compression | Bit rate mp3 . VBR Bit rate EAC | Compression Options | External Compression , «Variable Bitrate». , , Additional command line options. EAC Bit rate Variable Bitrate 192 kBit/s, Additional command line options '--alt-preset standard'.

Size mp3 , , CD-DA.

Exact Audio Copy LAME, mp3 wav .

, , , Exact Audio Copy ? , CD-ROM, . , , :

  1. EAC, audio CD CD-ROM;
  2. EAC | Drive options | Extraction method Detect Read Features. Apply.
  3. Drive Autodetect read command now.
  4. — OK.
  5. , 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, .

Windows NT/2000/XP EAC . , native interface buggy, ASPI, , . , — ASPI EAC -, — - . — SCSI- ( Adaptec AHA2940, ), EAC -, IDE CD ROM. , , Easy CD-DA Extractor .

EAC: freeware ASAPI, VOB . :)

, EAC- («Options» -< «Interface») : «Installed external ASAPI interface (from VOB software)», .

. , EAC — eac.by.ru

MP3, I, II — mp3 ;

iXBT mp3 ;

WebSound.ru — ;

LAME Win32 binaries — , Windows LAME, ;

Exact Audio Copy, CD. LAME.

R3mix.net — , mp3 , ;

Project Mayhem — , mp3 , ;

MP3 Forum — mp3 .

Apollo mp3 player — mp3 .

MusePack — , .

MP3 Forum'a — . — . , , . , . .