Технология создания 3D звука

         

Эти библиотеки кодирования МР3 использовались



GOGO DLL v.2.3 & Lame DLL v.3.7 & Lame DLL v.3.83

Эти библиотеки кодирования МР3 использовались совместно с очень удобной программой Easy CD-DA Extractor, предназначенной для извлечения звуковых треков с музыкальных компакт-дисков. Основой для всех трех библиотек служит код первого GPL кодера LAME v.3.5 (Lame Ain't an MP3 Encoder). В свою очередь этот код изначально был основан на демонстрационном коде ISO, что делало невозможным распространение LAME под GPL. Однако в мае 2000 года последние куски "чужого" кода были полностью переписаны, и в коде LAME не осталось ничего общего с ISO. Это позволило начать распространение кода под GPL, однако именно в виде исходных текстов на C. Объясняется этот факт весьма просто: создатель МР3 IIS Fraunhofer берет со всех фирм, распространяющих кодеры, определенную сумму за использование стандарта, независимо от вида лицензии распространения. Таким образом, при распространении кодера под GPL фирма делает это себе в убыток. В то же время исходные коды не являются кодером, и поэтому не облагаются поборами со стороны IIS Fraunhofer. Откомпилированный кодер без нарушения закона может быть использован только компилировавшим его лицом, однако в интернете все равно можно найти откомпилированные версии кодера (здесь, например), так как во многих странах на лицензию IIS Fraunhofer смотрят "сквозь пальцы". Кроме того, многие фирмы используют исходные коды LAME для включения поддержки МР3 в свои продукты. Именно таким образом и появились на свет использованные библиотеки. Первая из них, по утверждению авторов, отличается от LAME v.3.5 только скоростью работы. Две оставшиеся являются не более чем прямым использованием более новых версий кода LAME в качестве plug-in к Easy CD-DA Extractor. Основной особенностью кода LAME является абсолютно новая созданная авторами проекта LAME психоакустическая модель Gpsycho. Похоже, что она оказалась более близкой к реальным особенностям человеческого слуха, чем модели конкурирующих коммерческих продуктов.

Библиотека GOGO в качестве параметров кодирования позволяет указать канальность сигнала, причем выбор осуществляется между STEREO, JOINT STEREO и MONO. Для любой канальности можно установить частоты дискретизации 44.1 и 22.05. Для 44.1 минимальный битрейт равен 112 Кбит/с, для 22.05 - 56 Кбит/с. Кроме того, для любого битрейта существует возможность включить использование VBR. В таком случае указанный битрейт становится минимальным допустимым при кодировании. Максимальным битрейтом для VBR всегда является 320 Кбит/с.

Возможности у библиотек LAME несколько иные. Они также позволяют указать канальность сигнала с аналогичным выбором между STEREO, JOINT STEREO и MONO. Однако независимо от частоты дискретизации битрейт может принимать весь спектр значений от 8 Кбит/с до 320 Кбит/с. Более того благодаря поддержке расширения стандарта MP3 MPEG Layer 2.5 проблемы с выбором частоты дискретизации отпадают - частоты дискретизации у кодированного и исходного сигнала будут совпадать. Для любой комбинации канальности и битрейта есть возможность выбрать режим работы кодера - максимально-качественный, стандартный и быстрый. Особенности различия качества этих режимов даны ниже в кратком описании Lame v.3.61.

Следует заметить одну неприятную черту LAME DLL v.3.7 - в нем есть баг, из-за которого в конец закодированного сигнала добавляется лишняя аудиоинформация. Это происходит из-за буферизации записи на диск кодированных данных, когда вместо последнего неполного блока информации, меньшего размера буфера, записывается целиком весь буфер. Однако это не влияет на качество кодирования самого сигнала, и поэтому проблем при проведении исследований не создает. Тем не менее, после проведения тестов для 256 Кбит/с было все-таки решено исключить этот кодер из исследований, так как пользователи вряд ли станут использовать кодер с такой явной ошибкой независимо от качества выдаваемого им результата.


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