Хотя сегодня MP3 и не самый качественный lossy аудио кодек, он бесспорно является лидером за счёт своей огромной популярности и совместимости с практически любыми аппаратными и программными плеерами.
LAME (аббревиатура от LAME Ain’t an MP3 Encoder) — это свободное приложение для кодирования аудио в формат MP3 (MPEG-1/2/2.5 Layer 3). По показателям качества LAME даёт лучший результат среди кодеров МР3.
Настройка
Использование
lame.exe [параметры] [входной файл] [выходной файлы]Параметры
- --abr n кодирование в режиме среднего битрейта
- Включает кодирование с заданным в килобитах целевым средним битрейтом (Avareage BitRate) с поддержкой фреймов разных размеров. Допустимые значения — целые числа от 8 до 320. Может быть использовано с ключами ограничения максимального и минимального битрейта, например:
lame --abr 123 -b 64 -B 192 a.wav a.mp3
— данная комбинация ключей установит ограничение битрейта в пределах 64—192 кбит/с. - -b n целевой битрейт/ограничить битрейт снизу
- Для режима постоянного битрейта (используется по умолчанию, если не указаны ключи --abr или -Vn) задаёт целевой битрейт. Для MPEG-1 Layer III доступны целые значения от 32 до 320 с шагом в 8 кбит/с. Значение по умолчанию (MPEG-1 Layer III) — 128 кбит/с для стерео и 64 для моно. В режимах ABR и VBR этот ключ задаёт минимальный битрейт фрейма и должен использоваться только для проблемных устройств, не поддерживающих значения битрейтов ниже заданного (в данном случае также используйте ключ -F).
- -B ограничение максимального битрейта
- Используйте, если ваш плеер имеет проблемы воспроизведения фреймов с битрейтом выше определённого.
- -F форсировать ограничение битрейта снизу
- По умолчанию, даже если вы ограничиваете минимальный битрейт ключом -b, для цифровой тишины будет использоваться минимальный размер фрейма. Если из-за этих фреймов на вашем плеере возникают проблемы воспроизведения, ключом -F вы можете включить ограничение и для цифровой тишины.
- --highpass частота ФВЧ (кГц или Гц)
- Устанавливает частоту фильтра высоких частот. Частоты ниже указанной будут обрезаны. Довольно бесполезный ключ, так как в текущей версии минимальное значение равно 1.0887 % от частоты дискретизации (0.481 кГц для 44.1 кГц).
- --highpass-width крутизна ФВЧ
- Регулирует крутизну фильтра высоких частот путём задания ширины спада в кГц. По умолчанию установлено наименьшее значение (наибольшая крутизна), равное 1/64 от частоты дискретизации.
- --lowpass частота ФНЧ
- Устанавливает частоту фильтрации низких частот в кГц. Частоты выше указанной будут обрезаны.
- --lowpass-width крутизна ФНЧ
- Регулирует крутизну фильтра высоких частот путём задания ширины спада в кГц. По умолчанию установлено наименьшее значение (наибольшая крутизна), равное 1/64 от частоты дискретизации.
- -m s/j/f/d/m режим кодирования каналов
-
Устанавливает режим кодирования стерео (или моно):
stereo
Кодер не использует возможность корреляции между двумя каналами, что может негативно сказаться на качестве в режиме CBR/ABR или неоправданно повысить битрейт для VBR. В этом режиме кодер предоставляет одному из каналов меньшее количество битов, если тот содержит тишину или же является менее сложным.
joint stereo
Кодер использует корреляцию между двумя каналами. Сигнал раскладывается на сумму Mid, рассчитанную как L+R, и разницу Side, рассчитанную как L-R, приоритет при распределении битов имеет канал Mid.
Такой прием эффективно увеличивает пропускную способность для сигналов с небольшим разделением стерео и даёт существенный прирост качества кодирования. Использование режима joint stereo совершенно безопасно, так как кодер может переключаться между Left/Right и Mid/Side представлениями на основе анализа степени разделения стерео (используется достаточно сложный алгоритм, описанный в документации ISO). Посмотреть количество фреймов для разных режимов можно, например, с помощью EncSpot.
forced joint stereo
Этот режим принудительно включает joint stereo для всех фреймов. Немного более быстрый, чем обычный joint stereo, использование рекомендуется только в тех случаях, когда вы уверены, что кодируемый сигнал имеет очень незначительное разделение стерео.
dual channels
В этом режиме 2 канала кодируются совершенно независимо. Каждому каналу выделяется ровно половина битрейта. Режим разработан для таких случаев, как, например, двуязычное кодирование (один язык в левом канале, другой язык — в правом). Использование данного режима для обычных стерео файлов приведет к более низкому качеству кодирования.
mono
Входной сигнал будет кодирован как моно. Если сигнал изначально являлся стерео, он будет сведен в моно. Сведение производится суммированием каналов со смягчением в 6 дБ (уменьшение амплитуд в два раза, что исключает клиппинг). - -p защита от ошибок
- Добавляет в каждый фрейм циклический избыточный код CRC, позволяющий детектировать ошибки передачи, которые могут произойти в MP3 потоке. Код занимает 16 бит каждого фрейма, которые в противном случае были бы использованы для кодирования, в результате чего качество звучания несколько уменьшится.
- --preset <x> предустановленные настройки
-
Включает использование предустановленных настроек качества кодирования. На данный момент предустановки устарели и настоятельно не рекомендуются к использованию. Cоответствие пресетов параметрам:
--preset medium -V 5 --vbr-old --preset standard -V 2 --vbr-old --preset extreme -V 0 --vbr-old --preset insane -b 320 --preset fast xxx включает режим --vbr-new (если не использовать пресеты, он включён по умолчанию) - -q 0..9 качество алгоритмов
- Настройка позволяет регулировать баланс между скоростью и качеством кодирования путём изменения коэффициентов масштабирования и сложности алгоритмов кодирования Хаффмана. Ниже приведено описание разных установок для режимов CBR и ABR с оценкой скорости (скорость кодирования 64-битной версией 3.99.5 на Intel Core i3 530).
q0: использовать самые медленные и максимально качественные алгоритмы: наилучшее сжатие по Хаффману, полный внешний цикл (full outer loop), максимальная точность для некоторых параметров. -q 0 и -q 1 являются медленными и могут не дать значительного прироста качества. Оценка скорости: 7x.
q1..4: схожи с нулевой установкой, но без полного вншнего цикла и со снижением точности параметров. По умолчанию используется q3. q2 может быть рекомендован для небольшого повышения качества. Оценка скорости: q1 — 15x, q2 — 20x, q3 — 41x, q4 — 42x.
q5, 6 (идентичны): пониженная сложность алгоритмов Хаффмана, психоакустика (оценка шума квантования) используется только для переключения типов блоков (чтоб уменьшить пре-эхо) и режима стерео. Оценка скорости: 53x.
q7..9 (идентичны): аналогично ключу -f. То же, что и q6, но дополнительно отключена формаовка шума. Оценка скорости: 83x.
Для VBR:
q0..4 (идентичны, по умолчанию): использовать самые медленные и максимально качественные алгоритмы. Оценка скорости: 38x.
q5..6 (идентичны): снижает сложность сжатия по Хаффману. Оценка скорости: 44x.
q7..9 (идентичны): аналогично ключу -f, отключает субблоковое усиление, психоакустика (оценка шума квантования) используется только для переключения типов блоков (чтоб уменьшить пре-эхо) и режима стерео. Оценка скорости: 57x. - --resample <n> передискретизация
- Ресемплирование в одну из доступных частот дискретизации: 8/11.025/12/16/22.05/24/32/44.1/48 кГц. Качество ресемплера довольно неплохое, но при необходимости ресемплирования всё же лучше воспользоваться качественным DSP SoX Resampler (тем более, что он работает быстрее). Заметьте, что LAME автоматически ресемплирует входной сигнал при использовании низких битрейтов.
- --silent / --quiet тихий режим
- Отключить вывод информации о процес кодирования в консоль. Полезно при кодировании, например, через foobar2000 — его конвертер скрывает консоль.
- -V 0..9 VBR кодирование
- Включает режим кодирования с переменным битрейтом и заданным целевым качеством (при этом точно результирюущий битрейт предсказать нельзя). 0 соответствует максимальному качеству, значение по умолчанию — 4.
Рекомендации и примеры (для конвертера foobar2000)
--silent -V 2 --noreplaygain - %d
--silent -V 0 --noreplaygain - %d
--silent -b 320 --noreplaygain - %d
--silent -q 2 -b 320 --noreplaygain - %d
--silent -b 320 -q 0 --noreplaygain - %d
Полезные ссылки
Информация от спонсора
TRONIC: высокотехнологичные производственные комплексы. Кроме всего прочего компания предоставляет услуги по проектированию чистых помещений для производства. На сайте компании вы можете узнать о необходимых исходных данных и основных этапах проектирования.