Mp3-кодек lame ? продолжаем исследования

Содержание:

Параметры командной строки

Несмотря на то, что для Lame существует множество графических надстроек, позволяющих конвертировать музыкальные файлы парой кликов мышью, использование командной строки в ряде случаев является едва ли не единственным вариантом (например при использовании Linux без графических оболочек, таких как Gnome или KDE).

Кроме того, Lame обладает значительным количеством преимуществ по сравнению с другими кодеками, его настройки весьма гибкие, поэтому использование консольной программы lame.exe дает опытным пользователям возможность управлять кодированием наиболее рационально.

Параметры кодирования подразделяется в зависимости от качества получаемого MP3 файла, которое, в свою очередь, зависит от применяемого битрейта.

1. Лучшее качество MP3 — «архивное«.

Параметры командной строки:

Следует заметить, что «-b 320» — это параметр конвертации, file.mp3 — исходный файл, file2.mp3 — конечный файл. В квадратных скобках он указан только потому, чтобы читателю было видно, что этот параметр не является обязательным. Сами квадратные скобки вводить не нужно!

Полученный файл после конвертации указанным выше способом будет иметь битрейт 320 кбит/с. Артефакты звука практически отсутствуют. Несмотря на это, размер файла достаточно высок (в среднем около 7-10 мб.), поэтому в данном случае лучше использовать кодеки без потери качества (например FLAC, WavPACK и другие).

2. Высокое качество MP3 — «качество HiFi«.

Параметры командной строки:

Пояснение по качеству: используется переменный битрейт. Качество зависит от параметра «V«:

-V0 (~245 кбит/с), -V1 (~225 кбит/с), -V2 (~190 кбит/с), -V3 (~175 кбит/с).

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

3. Среднее качество MP3 — «качество для портативных плееров».

Параметры командной строки:

Пояснение по качеству: используется переменный битрейт. Качество также зависит от параметра «V«:

-V4 (~165 кбит/с), -V5 (~130 кбит/с), -V6 (~115 кбит/с).

4. Низкое качество MP3 — «качество для записи голоса, для радио и оборудования в режиме «моно».

Параметры командной строки:

Результатом является файл с низким битрейтом (вплоть до 100 кбит/с) и малым размером. Разумеется, для данного вида кодирования логичным является использование ABR технологии.

Подробнее о командах:

—preset voice доступен только для фронт-энда и присутствует здесь для совместимости.

—abr 56 -mm предполагает кодирование в режим «моно» с использованием технологии ABR.

Обзор битрейтов (базируется на результатах LAME 3.98.2)
Ключ Пресет Средний битрейт кбит/с Пределы битрейта кби/s
-b 320 —preset insane 320 320 CBR
-V 0 —preset fast extreme 245 220…260
-V 1 225 190…250
-V 2 —preset fast standard 190 170…210
-V 3 175 150…195
-V 4 —preset fast medium 165 140…185
-V 5 130 120…150
-V 6 115 100…130
-V 7 100 80…120
-V 8 85 70…105
-V 9 65 45…85

Если вам нужен файл определенного битрейта, используйте CBR и ABR.

Кроме того, при использовании определенных режимов сжатия данных в MP3 (CBR, VBR, ABR)  используются специальные параметры командной строки.

Настройки ABR (усредненного битрейта):

«Битрейт» — желаемое среднее значение, указанное в килобитах в секунду (кбит/с). Значение должно быть в пределах 8-320.

Например: —preset 160

Важно: ABR работает с битрейтом от 80 до 320 кбит/с

Настройки CBR (постоянного битрейта):

Битрейт выбирается из следующих значений: 8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256 и 320 кбит/с.

Например: -b 192

Ошибки lame_enc.dll

Ошибки lame_enc.dll возникают по нескольким причинам, например, файл может быть поврежден, удален или не найден на компьютере. Распространенные ошибки библиотек:

  • Ошибка при запуске lame_enc.dll: не найден указанный модуль.
  • Файл не предназначен или несовместим с версией Windows.
  • Отсутствует lame_enc.dll, попробуйте переустановить программу.
  • Модуль или библиотека не обнаружены на компьютере.
  • lame_enc.dll вернул код ошибки.

Чтобы исправить ошибки lame_enc.dll, скачайте файл и переустановите его в системной папке Windows. В некоторых случаях файл должен находиться в папке с игрой или программой. Подробная инструкция по установке lame_enc.dll и других библиотек находится в разделе «Помощь».

Для исправления ошибки используют два пути:

  • Установить K-Lite Codec Pack на Ваш компьютер.
  • Скачать lame_enc.dll для Windows 7/8/10 отдельно.

Основным способ для решения проблемы является установка K-Lite Codec Pack. В пакете есть нужная нам dll-библиотека lame_enc.dll. Когда файл lame_enc.dll установится вместе с K-Lite Codec Pack, его нужно перенести в системную папку Audacity. Обычно эта папка расположена на системном диске. После размещения файла компьютер рекомендуется перезагрузить.

Если первый способ не помог справиться с возникшей проблемой, то нужно скачать файл x32-64 бит lame_enc.dll (в соответствии с Вашим Windows) для Audacity бесплатно и расположить в основной папке. Теперь при сохранении аудио-файла откроется окно, где указываем путь к файлу lame_enc.dll и нажимаем «Открыть». Файл сохранится и последующие сохранения в данном формате будут автоматическими.

Это интересно: QR-код сканер онлайн: как сканировать QR-код через камеру телефона

Способ 1.

Файл Lame_enc.dll, принадлежит библиотеки K-Lite Codec, поэтому достаточно её установить если у Вас её нет, или переустановить если у Вас она повреждена.

Способ 2.

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

Examples

Fixed bit rate jstereo 128kbs encoding:

lame sample.wav sample.mp3
Fixed bit rate jstereo 128 kbps encoding, highest quality (recommended):
lame -h sample.wav sample.mp3
Fixed bit rate jstereo 112 kbps encoding:
lame -b 112 sample.wav sample.mp3
To disable joint stereo encoding (slightly faster, but less quality at bitrates <= 128 kbps):
lame -m s sample.wav sample.mp3
Fast encode, low quality (no psycho-acoustics):
lame -f sample.wav sample.mp3
Variable bitrate (use -V n to adjust quality/filesize):
lame -h -V 6 sample.wav sample.mp3
Streaming mono 22.05 kHz raw pcm, 24 kbps output:
cat inputfile | lame -r -m m -b 24 -s 22.05 — — > output
Streaming mono 44.1 kHz raw pcm, with downsampling to 22.05 kHz:
cat inputfile | lame -r -m m -b 24 —resample 22.05 — — > output
Encode with the standard preset:
lame —preset standard sample.wav sample.mp3

«Настоящее стерео» (-m s) vs Joint Stereo

Здесь мне опять придется повторять слова разработчиков:

stereo
В этом режиме кодер не использует возможность корреляции между двумя каналами. Естественно, это может негативно сказаться на количестве битов отведенных обоим каналам. В этом режиме кодер предоставляет одному из каналов меньшее количество битов если тот содержит тишину или же является менее сложным.joint stereo
В этом режиме кодер использует корреляцию между двумя каналами. Сигнал раскладывается на сумму («mid»), рассчитанную как L+R, и разницу
(«side»), рассчитанную как L-R, большее количество бит выделяется каналу mid.
Такой прием эффективно увеличивает пропускную способность для сигналов с небольшим разделением стерео и дает существенный прирост качества кодирования. В режиме joint stereo, кодер может переключаться между Left/Right и Mid/Side представлением для каждого фрейма в зависимости от его содержимого.

Добавлю, что таким образом, для фреймов имеющих минимальное различие между каналами будет выделяться чуть ли не двойной битрейт (!), для материала с независимым содержимым в двух каналах, результат не будет отличаться от обычного Stereo. И еще: если посмотреть историю версий LAME, можно увидеть, что когда-то существующие проблемы с режимом Joint устранены еще в версии 3.90. Надеюсь, Вы сможете сделать правильные выводы.

Таблица результатов

В таблицу я ко всему прочему включил результаты для LAME 3.93.1 с дополнительными ключами -k и -m s.

Codec

Bitrate, kbps

Track Peak

Track Gain,
dB

Dif.Signal Peak

Dif.Signal Gain,
dB

Original WAV

2822

0.831764

-4.52

LAME 3.93.1

320

0.918462

-4.51

0.178046

+21.13

LAME 3.93.1 (-k -m s)

320

0.923214

-4.51

0.169717

+21.09

LAME 3.90.3

320

0.949861

-4.51

0.188262

+20.70

LAME 3.99

320

0.900963

-4.52

0.166792

+20.64

LAME 3.98.4 float

320

0.904212

-4.51

0.137791

+19.90

LAME 3.98.3

320

0.904212

-4.51

0.137791

+19.90

LAME 3.98.2

320

0.890929

-4.51

0.149641

+19.53

LAME 3.97

320

0.983258

-4.51

0.151495

+18.96

Sony MP3 3.0.0.7379

320

0.922235

-4.44

0.196102

+14.96

Таблица обновляется по мере выхода новых версий кодеров. Обновление остальных скриншотов и отчетов не гарантируется.

LAME 3.93.1: (0.22 МБ)

Информация от спонсора

ZODIKAM Video System: WiFi IP камеры видеонаблюдения. Узнайте Подробнее об ассортименте устройств в каталоге сайта.

Description

Wrapper for to add MP3 encoding support to NAudio on Windows.

IMPORTANT: Because this wraps Windows native DLLs it will not work on any operating system. It may
function with Windows emulation layers but I have never tested this.

Includes both 32-bit and 64-bit versions of Windows native (named and respectively), both of which will be copied to the output folder on build.
If you are compiling for a specific CPU target – or – then you only need to distribute the appropriate version.

The project is the interface to both 32-bit and 64-bit version of the native DLLs, and is compiled for both targets.
Both versions are compiled into resources in .
At runtime the version for the current process bit width is loaded from resources, which then references the appropriate native library.

Please note that native library loading will fail if for any reason the application’s binary path is not in the current search path.
This will happen for example in ASP.NET projects.

MP3Pro

Расширенная версия от Coding Technologies, которая использует Spectral Band Replicaton (отражение спектральной полосы частот) — SBR, чтобы повысить его эффективность для битрейтов ниже 96 kbps stereo. Не будучи частью MPEG стандарта, поддержка mp3PRO обеспечивается только некоторыми программными и аппаратными продуктами, например Thomson демо плеер/кодировщик и input plugin для Winamp, MusicMatch JukeBox, Nero, dbPowerAMP, JetAudio, Steinberg myMP3PRO, Impload, Spacial Audio, Audion 3, RCA Lyra портируемый и DVD плеер. Это возможно не изменится в будущем, тем не менее некоторые слуховые тесты показали хорошую производительность на низких битрейтах по сравнению с другими кодеками.

mp3DirectCut — удобная программа для обрезки аудио

В нашем сегодняшнем обзоре мы рассмотрим бесплатную программу для обрезки аудиофайлов mp3DirectCut.

Основные функции mp3DirectCut.

mp3DirectCut, как можно догадаться из названия, предназначена для вырезания определенных кусков из аудиофайлов формата MP3. Однако, функционал программы намного шире. Давайте рассмотрим его более подробно.

Программа позволяет проводить следующие основные манипуляции с аудиофайлами:

  • копирование, удаление, вставка фрагментов (частей, отрезков) аудиофайлов из одного в другой;
  • регулировка громкости звуковой дорожки
  • запись файла MP3 с помощью аудиокодеков LAME и ACM;
  • обрезка файлов формата MP3;
  • редактирование ID3-тегов.

Помимо этого, в программе реализована поддержка формата AAC, горячих клавиш, командной строки, разделения файла по его имени, присутствует также автоматизация разделения MP3 файла в новый файл.

Как пользоваться mp3DirectCut?

Несмотря на то, что программа достаточно проста в освоении, у некоторых пользователей, особенно тех, кто запускает ее впервые, возникают вопросы как ей пользоваться.

Итак, чтобы вырезать, скопировать или вставить фрагмент следует пользоваться пункты меню «Вырезать», «Копировать», «Вставить» меню «Правка».

Для изменения уровня громкости можно воспользоваться меню «Правка -> Уровень».

Для более наглядного обучения тому, как пользоваться mp3DirectCut, рекомендуем посмотреть следующее видео.

Как увеличить громкость в mp3DirectCut?

Как обрезать аудиофайл в mp3DirectCut?

Параметры командной строки mp3DirectCut.

Для тех, кто привык пользоваться консолью, пригодятся следующие команды:

Программой в консоли следует пользоваться следующим образом:

Параметры:

  • /normalize — нормализация до 0 dB или уровня, определенного пользователем;
  • /split — разрезает аудиофайл. При указания пути нарезанный файл будет сохраняться туда;
  • /pausesplit — очень удобная функция, позволяющая разрезать файл на столько частей, сколько пауз в нем присутствует;
  • /autocue — авторасстановка cue-меток;
  • /save — пересохранение файла;
  • /rec запись, в том числе по таймеру;
  • /overwrite — замена оригинального mp3-файла при операциях нормализации и сохранения.

mp3directcut не сохраняет в mp3 и другие проблемы.

Как правило, работа с программой не вызывает проблем. Однако, иногда трудности возникают. Чаще всего пользователи сталкиваются с тем, что программа не сохраняет файл. Это связано, как правило, что библиотека lame_enc.dll отсутствует в каталоге с программой. Скопируйте ее в папку mp3DirectCut.

Если m3DirectCut не устанавливается, проверьте, хватает ли прав для распаковки архива с программой в системную папку Program Files. Если это не так, измените папку на другую.

На нашем сайте вы можете скачать mp3DirectCut вместе с библиотекой lame_enc.dll и распаковать архив в любую папку.

На момент написания этой статьи самая свежая версия mp3DirectCut имела номер 2.21.

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

Скачать mp3DirectCut 2.21 для Windows. Версия программы, не требующая установки.

FAQ — top

What are these version numbers ?

The versions are numbers as follows : X.Y.Z. And the X,Y and Z numbers move as follows :

  • X : A major change in the program that lead to incompatibilities with previous final versions
  • Y : A feature addition, or design change (visual or coding)
  • Z : A bug correction or improvement

out_lame doesn’t work — no MP3 file is generated.

You are probably playing a DRM protected. If you hear the file play as normal then the input plugin and/or Winamp is sending the audio directly to the soundcard for output instead of using out_lame. If you don’t hear anything and no file is generated, then Winamp and/or the input plugin is not allowing out_lame to be used. out_lame simply passes raw PCM audio data to LAME and doesn’t care where it came from.

Why doesn’t out_lame work with WMA files?

See above, you are probably playing a DRM protected file. Unprotected WMA files should work. In any case, the problem is with Winamp and/or in_wm not allowing out_lame to be used.

Кратко о редакторе и библиотеке

Приложение является одним из лучших среди freeware-программ для непрофессиональной обработки аудиофайлов:

  • конвертирование в другие форматы;
  • микширование;
  • сведение композиций;
  • изменение настроек эквалайзера;
  • обрезка треков;
  • захват аудио с иных приложений;
  • наложение звуковых эффектов и много другого.

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

Lame_enc.dll входит в состав пакета для конвертирования звуковых файлов и потока в формат mp3. Файл не является неотъемлемой частью приложения, а подключается извне. Не поставляется вместе с программой по причинам лицензионных прав и прочей бюрократической волокиты. Зато библиотеку можно свободно загрузить с нашего или официального сайта и установить для Audacity. Как это сделать, мы и хотим показать.

Кодек LAME

История создания и описание MP3 кодека LAME

LAME MP3 Encoder является лучшим на данный момент кодером для создания файлов формата MP3. Данный кодировщик служит для конвертирования музыкальных файлов разных форматов в формат MP3. Стоит отметить, что аудиокодек Lame содержит большое количество настроек и параметров и дает возможность создавать файлы в популярном формате MP3, которые по качеству трудно отличить от оригинальных саундтреков.

Характеристики кодека Lame MP3 Encoder:

  • поддержка различных библиотек и платформ: (Linux/UNIX), ACM codec (Windows) или DLL;
  • CD-дорожки в файлы МР3 формата конвентируются с высокой скоростью;
  • поддержка переменного битрейта (VBR) с верхним порогом 320kbps;
  • свободный формат декорирования/кодирования.

Разрабатывать кодек Lame начали примерно в середине 1998 года. Начал разработку Mike Cheng с патча исходников MP3-кодера. Определенное время Lame был обычным набором патчей на код ISO, распространяющийся отдельно, именно отсюда и появилось имя «LAME Ain’t an MP3 Encoder». Демонстрационный код ISO был доступен без оплаты, хотя имел ограничивающую лицензию. После того, как Майк получил ряд предложений и вопросов от других людей, он решил на основе исходников dist10 создать свой кодер. Началась ветвь этого кодера с версии LAME 2.0. Однако в мае 2000 года проект LAME произвел замену последнего кода ISO, и с этого времени Lame является абсолютно новой реализацией, доступной под лицензией LGPL; больше не требуются исходники ISO для компиляции последних версий LAME, что и делает LAME абсолютно новой программой, а вовсе не патчем существующего кодера.

Несмотря на некую «социальность» проекта Ченга, он достаточно быстро был превращен в проект командный. В итоге Mike Cheng решил оставить свое лидерство над этим проектом и занялся разработкой tooLAME — кодера MP2. Лидером LAME стал Mark Taylor, который спустя некоторое время смог представить версию 3.0, где была применена технология gpsycho, которая является психоакустической моделью его же разработки.
Проекту LAME MP3 Encoder пришлось пережить некоторые трудности, которые были связаны с патентом Fraunhofer’s на алгоритмы, применяемые при сжатии MP3, включая иностранные аналоги и патент США № 5579430. Получены были данные патенты для предотвращения создания MP3 кодека без выплат лицензионных отчислений, непосредственно, Fraunhofer’у, что на самом деле очень сложно сделать для открытой программы, которой пользуются люди, проживающие в десятках стран, некоторые из которых не могут признать патенты на алгоритмы.

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

Программа LAME была лицензирована под GNU Lesser General Public License (LGPL). В ноябре 2005 года стали появляться сообщения, в которых говорилось, что программное обеспечение Extended Copy Protection, которое включено в часть компакт-дисков SONY, содержит в нарушение условий LGPL части библиотеки LAME. Косвенно это можно расценивать как уникальность и функционал кодека.

На данный момент LAME – лучший mp3 кодек на средних битрейтах. Он обладает самой лучшей реализацией VBR (переменного битрейта) среди других кодеков. Поблагодарить за все это следует разработчиков LAME: Naoki Shibata, Takehiro Tominaga, Gabriel Bouvigne, Robert Hegemann, Darin Morrison и других. Разработка кодека не прекращается, добавляются новые функции и улучшаются уже существующие.

Other Versions of the Lame_enc.dll File link

The latest version of the Lame_enc.dll file is 3.99.2.3 version released for use on 2013-07-31 for 32 Bit and 0.0.0.0 version for 64 Bit. Before this, there were 7 versions released. All versions released up till now are listed below from newest to oldest

  1. 3.99.2.3 – 32 Bit (x86) (2013-07-31) Download directly this version now
  2. 3.99.2.3 – 32 Bit (x86) Download directly this version now
  3. 3.93.1.0 – 32 Bit (x86) (2010-03-31) Download directly this version now
  4. 3.93.1.0 – 32 Bit (x86) Download directly this version now
  5. 0.0.0.0 – 32 Bit (x86) (2011-11-30) Download directly this version now
  6. 0.0.0.0 – 32 Bit (x86) Download directly this version now
  7. 0.0.0.0 – 64 Bit (x64) Download directly this version now
  8. Unknown – 32 Bit (x86) Download directly this version now

Тестирование

Итак, пришло время взглянуть на результаты.

Спектральный анализ искажений

Попытаемся выяснить, как же проявили себя сделанные изменения в частотном диапазоне на логарифмической шкале.

Сделаю небольшое пояснение: версии 3.97 + 3.98.4 и 3.99.5 + 3.100 практически полностью слились в два графика (жёлтый и синий).

Версия 3.98.4 для пресета extreme привнесла только совсем небольшое увеличение искажений на частоте около 19 кГц. Что мне показалось довольно странным, учитывая количество проделанной работы над качеством. Но давайте посмотрим дальше, версия 3.99.5 позволила сильно снизить уровень искажений на частотах выше 16 кГц, а также слегка от 13 до 16 кГц. И, обратившись к списку исправлений в 3.99.5, можно предположить, что в данном случае в версии 3.98.4 просто не включился модернизированный VBR режим:

И, тем не менее, на частотах от 7 до 13 кГц уровень искажений в 3.99.5 слегка увеличился, что тоже можно списать на изменения в психоакустической модели. Это совсем слабое ухудшение, но немного досадно, что оно произошло на частотах, которые уже достаточно неплохо улавливаются человеческим ухом.

Версию 3.100 в этом разделе рассматривать не имеет смысла, она не внесла никаких изменений в уровень искажений на всём спектре частот.

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

Годы разработки явно дали свои плоды, и мы видим, как время кодирования снизилось на 38% с 11.2 до 7 секунд, а декодирования в почти 3 раза с 5.3 до 1.8 секунд! Отличные показатели, тут разработчики явно постарались на славу. Интересно, что в 3.98.4 мы явно столкнулись с какой-то регрессией производительности (а может быть и проблемами запуска в Wine или недостаточной статистической выборкой).

Эффективность сжатия

Что касается размера итогового файла, то тут произошли совсем небольшие изменения, всего 0.6% при переходе 3.98.4 → 3.99.5. Но, тем не менее, тоже результат, учитывая сниженный уровень искажений на высоких частотах.

Installing the FFmpeg Import/Export Library on Windows

Recommended Installer

  1. Go to the external download page Left-click this link, do not right-click .
  2. Directly underneath «TO DOWNLOAD Lame and FFmpeg for Windows, click links BELOW:», left-click the link ffmpeg-win-2.2.2.exe and save the file anywhere on your computer.
  3. Double-click ffmpeg-win-2.2.2.exe to launch the installer (you can safely ignore any warnings that the «publisher could not be verified»).
  4. Read the License and click Next, Next and Install to install the required files to C:Program FilesFFmpeg for Audacity (orC:Program Files (x86)FFmpeg for Audacity on a 64-bit version of Windows).

Alternative zip download for FFmpeg 2.2.2

  1. Go to the external download page Left-click this link, do not right-click .
  2. Under «TO DOWNLOAD Lame and FFmpeg for Windows, click links BELOW:», left-click the link ffmpeg-win-2.2.2.zip and save the file anywhere on your computer.
  3. Extract the entire contents of the downloaded ZIP file to a folder called «ffmpeg-win-2.2.2» anywhere on your computer, then follow the instructions below to locate the file «avformat-55.dll» using the Libraries Preferences.

Locating the FFmpeg library manually

If you installed FFmpeg while Audacity was running, or if you installed FFmpeg to a non-default location, Audacity will ask you to configure Preferences to locate the FFmpeg library. To do this, access Preferences then the «Libraries» tab on the left:

As seen in the image above, the «FFmpeg Library Version» will say «not found». To correct this:

  1. Click the Locate. button to right of «FFmpeg Library: «
  2. If a «Success » message indicates Audacity has now automatically detected val >No , then OK to close Preferences
  3. If the «Locate FFmpeg » dialog appears, click Browse.
  4. Navigate to the folder that contains FFmpeg, and select the file avformat-55.dll
  5. Click Open then OK and OK again to close Preferences.

FFmpeg Library Version

should now show a set of three version numbers for the sub-libraries of FFmpeg («F» for libavformat version, «C» for libavcodec version and «U» for libavutil version).

If you still see «not found», you may have installed the wrong libraries. Click the Download. button to obtain the correct library for your operating system. You can also choose Help > Diagnostics > Show Log. to see diagnostic information about FFmpeg detection.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector