Современные звуковые карты. Методы позиционирования и сжатия звука
Страница 48
В самом развитом из ISO-based кодеров, Lame, модель была значительно улучшена, причем настолько, что кодер и на низких битрейтах незначительно уступает аналогам от FhG IIS. Можно сказать, что в Lame осталась уже относительно небольшая часть исходной модели ISO.
Но на битрейтах 256kbs и 320kbs предыдущий лидер высокобитрейтных кодеров, mpegEnc, все еще спорит с Lame. Но, как оказалось, в mpegEnc модель мало отличается от исходной слабой модели ISO, просто в нем отключены некоторые ее части, что в итоге, как ни странно, привело к значительному повышению качества кодирования . только на высоких битрейтах. Возможно, более подробный анализ исходников покажет и другие изменения, но поверхностный анализ уже показал, что все главные недостатки исходной модели ISO присутствуют. Видимо, их сглаживает высокий битрейт, или же они действительно несущественны на 256kbs . 320kbs.
Текущий руководитель разработкой Lame, Марк Тейлор, не против поработать над кодированием высоких битрейтов в нем, нужно только будет провести определенные тесты. Что до кодеров от FhG IIS -- проблема исчезнет, как только найдется заинтересованная сторона, готовая это оплатить.
Какие, собственно, кодеры у нас в распоряжении
Существуют три линии развития кодеров -- кодеры от XingTech, кодеры от FhG IIS, и кодеры, основанные но исходном иллюстративном коде ISO.
Кодеры от XingTech не отличаются высоким качеством кодирования, но многим нравятся, к тому же вполне подойдут для кодирования разной бросовой электронной музыки или синтезированных семплов. Благодаря своей скорости они остаются идеальными кодерами для музыки, не требующей высокого качества кодирования. Более подробно о них -- на http://www.xingtech.com/.
Кодеры от FhG IIS известны наивысшим качеством кодирования на низких и средних битрейтах благодаря наиболее подходящей для таких битрейтов психоакустичекой модели. Из консольных кодеров данной группы наиболее предпочтителен l3enc 2.61 (не 2.71 и не 2.72, на знаю про 2.74), также пока не отброшен mp3enc 3.1, но последний никто всерьез не тестировал. Другие кодеры, такие, как AudioActive или MP3 Producer, обладают значительными недостатками, правда, в основном это ограничения возможностей настройки и неразвитость интерфейса.
Также существует старый кодек ACM pro codec авторства FhG IIS, и несколько нелегальных кодеков, код для которых выкорчеван из последних кодеров FhG IIS.
Остальные кодеры ведут свое происхождение от исходных кодов ISO. Не считая таких "ошибок эволюции", как SoundLimit, в котором значительно увеличена скорость за счет еще более значительного ухудшения качества, получаем два основных направления развития -- оптимизация кода по скорости и оптимизация алгоритма по качеству.
До недавнего времени первую линию наилучшим образом представлял кодер BladeEnc, в котором используется первоначальная модель ISO, но проведено много оптимизаций кода, а вторую -- mpegEnc, известный также и как самый медленный MP3 кодер.
Но откуда берется высокое качество mpegEnc на высоких битрейтах, я уже упомянул выше. На самом же деле серьезная оптимизация самого алгоритма впервые встречена в кодере Lame, в котором использована самостоятельно разработанная психоакустическая модель GPSYCHO.
Есть все основания считать Lame наилучшим из основанных на коде ISO кодеров. По скорости он давно догнал остальные, а по качеству скоро должен отдать последние позиции и mpegEnc . впрочем, обо всем этом я уже писал выше.
Lame может быть собран практически на любой платформе, на которой есть компилятор языка C. Скомпилированный вариант Lame в виде библиотеки dll входит в состав граббера Cdex, но предпочтительнее использовать вариант, запускаемый из командной строки, он имеет более другие возможности настройки, к тому же работает быстрее. Но его надо собирать самому. Кстати, в состав Cdex входит и свой кодер, но он и раньше никем особенно не тестировался, а сейчас это не представляется нужным.
Что такое front-end?
Front-end -- программа, пpедлагающая оконный интерфейс для повышения комфоpтности pаботы с пpогpаммами, его не имеющими. В слyчае MP3 -- с кодеpами, управляемыми из командной стpоки, или yстановленного в системе кодека.
После подачи команды на кодиpование front-end пеpедает введенные паpаметpы собственно кодеpy и ждет завеpшения его pаботы. Этот процесс может сопpовождаться как попытками пpедсказать оставшееся вpемя, так и выводом скромной таблички "Please wait".
В большинстве грабберов обеспечены средства для подключения внешних кодеров, поэтому любой из них может быть использован как front-end. В частности, при установленном ACM pro codec как таковой может быть использован любой граббер, позволяющий выбирать формат сохранения награбленного.
Что такое ACM pro codec (MP3-кодек)?
Формат WAV является метаформатом для данных любого типа. Имеет стандартный заголовок и описания областей данных, которых может быть несколько, способ же кодирования аудиосигнала может быть каким угодно. Вполне могут содержаться данные, к аудио отношения не имеющие.
Каждый метод кодирования, указываемый в заголовке, имеет собственный идентификатор, в соответствии с которым Windows и определяет, установлен ли кодек для работы с данным файлом, и если установлен -- использует его.
Кодеки, индивидуальные для каждого подформата, регистрируются в системе при их установке, после чего становится возможным использовать WAV-файлы, содержащие аудиоданные в форматах, поддерживаемых данными кодеками.
Тем не менее, хотя для MP3 тоже существует по крайней мере один кодек ACM pro codec от FhG IIS, сам по себе формат из-за потерь при кодировании непригоден на роль промежуточного, поэтому в редакторах с WAV-MP3 работать не рекомендуется. Единственным разумным применением данного кодека можно считать декодирование WAV-MP3, либо их кодирование, когда по каким-либо причинам неудобно сделать это из нормального кодера. При установленном кодеке можно применять WAV-MP3 в качестве стандартных звуков Windows.
Помимо оригинального кодека от FhG IIS, позволяющего кодирование только с битрейтом 128kbs и ниже, существуют несколько нелегальных версий кодека, сделанных группой Radium из кода, выкорчеванного из нового 'Продюсера'. Но первая версия этого кодека была нестабильной, и я не вижу оснований для того, чтобы испытывать доверие к более новым версиям. Лучше сделать еще один кодек из Lame.
Файлы какого формата можно перевести в формат MP3?
Кодирование из формата WAV PCM поддерживают все кодеры. Многими поддерживается AIFF. Mp3enc может принимать исходные данные потоком, без промежуточного файла, в фоpмате PCM. А mpegEnc и Cdex предлагают кодировать прямо с CD-ROM. Lame распространяется в виде исходных кодов и может быть обучен любому формату.
Каков статус MP3 кодеров?
Все продукты Fraunhofer IIS и Xing Tech -- коммерческие, но полные версии обычно можно найти на FTP поисковиках.
BladeEnc, mpegEnc -- freeware, но FhG IIS пожелал сделать их развитие невозможным. Сделано это очень простым методом -- за распространение кодеров нужно платить пеню FhG IIS, даже если кодер распространяется бесплатно. Поэтому свободное распространение mpegEnc невозможно, также могут возникнуть трудности с распространением BladeEnc, несмотря на особую политику страны автора по отношению к патентам на математические алгоритмы.
Lame не угрожает подобная участь, так как он распространяется в виде патча к исходному коду ISO и сам по себе кодером быть признан не может.
Каковы системные требования?
Фактически, единственное требование к системе -- наличие компилятора C. Но производительность MP3 кодеров на слабых системах оставляет желать лучшего, и из процессоров Intel не рекомендуется использовать что-либо ниже 486.
Декодиpование MP3
Cтандаpт MP3 однозначно опpеделяет, какие именно данные содеpжатся в MP3-файле. Hо сам процесс декодирования, процесс перевода аудио из MP3 в PCM, неизбежный при воспроизведении, более корректно будет назвать синтезом, чем декомпрессией. На практике он столь же неоднозначен, как и процесс кодирования.