|
ПЛАН ЭМПЕТРИФИКАЦИИ
КАК КОДИРОВАТЬ MP3-ФАЙЛЫ БЕЗ ПОСТОРОННЕЙ ПОМОЩИ И
С НАИЛУЧШИМИ РЕЗУЛЬТАТАМИ
Дмитрий ЛОВКОВСКИЙ
В ПРОШЛОМ МАТЕРИАЛЕ РУБРИКИ («ОГРАБЛЕНИЕ БЕЗ НАКАЗАНИЯ»)
МЫ ГОВОРИЛИ О ТОМ, КАК ПРАВИЛЬНО «СЛИВАТЬ» АУДИОИНФОРМАЦИЮ С МУЗЫКАЛЬНЫХ
КОМПАКТ-ДИСКОВ НА ВИНЧЕСТЕР КОМПЬЮТЕРА. СЛИТЬ-ТО МЫ СЛИЛИ, ДАЖЕ
НАЗВАНИЯ ПЕСЕН ПРОПИСАЛИ, НЕ ПРИКАСАЯСЬ К КЛАВИАТУРЕ, ТЕПЕРЬ ВОПРОС,
КУДА ЭТО ДАЛЬШЕ ДЕВАТЬ. МОЖНО, КОНЕЧНО, ЗАКАТАТЬ ЭТО НА БОЛВАНКУ
«ОДИН К ОДНОМУ», НО ВСЕ СИЛЬНЕЕ СОБЛАЗН ПОИГРАТЬ С НОВЫМИ ФОРМАТАМИ.
ПОТОМУ ЧТО «ГОЛОВЫ» С ПОДДЕРЖКОЙ MP3 УЖЕ НА ПОРОГЕ НАШИХ МАШИН.
А У МНОГИХ ЭТОТ ПОРОГ ОНИ УЖЕ ПЕРЕШАГНУЛИ...
Помнится, был давным-давно в «Фитиле» сюжет: корреспондент
киноальманаха заказал в буфете «два по 150», буфетчица отмерила
ему драгоценную жидкость в два 250-граммовых граненых стакана. Потом
покупатель слил содержимое второго сосуда в первый, и – о, чудо!
– обе порции легко уместились в одном сосуде.
Когда мы сжимаем музыку в mp3 со скоростью потока
256 кб/с, то пытаемся, в сущности, превзойти подвиг той буфетчицы
и влить в 250-граммовый стакан целый литр информации.
Конечно, это всего лишь фокус, и я уже писал (в позапрошлом
номере) о том, что полностью сохранить оригинальное качество звучания
при кодировании в mp3 даже с высокими битрейтами невозможно. Ну
и ладно. Фокусы показывают не для того, чтобы опровергнуть законы
физики, а для удовольствия. Уж чего-чего, а удовольствия от музыки
в mp3 можно получить немало. Естественно, если делать все грамотно,
стараясь по возможности не пролить ни капли нектара при разливании
музыки в мелкую тару.
БЕСПЛАТНЫЙ КАМАМБЕР
Ну, если быть уж совсем точным, немало капель (к
счастью, не крови) все-таки прольется – психоакустическая модель,
которая непременно используется при кодировании в mp3, основана
на постулате, что в музыкальном сигнале есть некая избыточная информация,
которую можно безболезненно обрезать, и никто этого не заметит.
Наверное, так и было бы на самом деле, если бы эта самая «модель»
была столь же совершенна, как Синди Кроуфорд или хотя бы барышни,
которые врут про погоду на «Метео-ТВ». Мало того, алгоритмы, по
которым осуществляется сжатие музыкальной информации, тоже отнюдь
не красавцы. Когда-нибудь их, может быть, доведут до окончательной
кондиции, однако пока приходится работать тем, что есть.
Само собой разумеется, разные кодеры имеют и разную
степень «кривизны». Классический, из первоисточника, кодер от Фраунгоферовского
института безнадежно устарел, а новые творения тамошних умельцев
больше заточены под достижение максимальной скорости работы и степени
сжатия для передачи файлов через Интернет. К тому же все более или
менее приличное, что выходит из стен Fraunhofer IIS, стоит немалых
денег, институт запатентовал сам алгоритм кодирования в mp3 и настырно,
вплоть до суда, требует оброка с любого компрессора. К слову сказать,
это одна из причин того, что формат mp3 развивается просто очень
быстро, а не суперстремительно, как того требуют законы технического
прогресса.
Нашлись, однако, на планете толковые программисты,
учредившие оригинальный проект под названием LAME, что расшифровывается
как Lame Ain’t an Mp3 Encoder, буквально – «Лэйм – это вам не кодер
в mp3». Программа распространяется исключительно в исходных кодах
– это необходимо, чтобы обойти ограничения фраунгоферовского патента.
Другие добрые люди (кому потребно) компилируют этот исходный код
в нормальную исполняемую программу, а это, извините, не предосудительно
и вполне законно. Как это странно – мы ведь привыкли, что все самое
лучшее можно получить только за деньги, а бесплатный сыр бывает
только в мышеловках. А здесь бесплатен не простой сыр, а самый лучший
и изысканный. Именно LAME является на сегодняшний день наиболее
качественным и продвинутым кодером в mp3, это подтверждают многочисленные
практические испытания. Можете им поверить, или – если вам больше
нечего делать – проведите собственные. Уже готовый, скомпилированный
LAME самой свежей версии можно найти по адресу: http://mitiok.cjb.net
В архиве, который, я надеюсь, вам удастся без проблем
скачать, обнаружится масса файлов – там будет весьма подробная документация
на английском языке – на случай, если возникнет желание в совершенстве
овладеть этим инструментом. На самом же деле из всего архива нам
понадобятся только два файла – lame.exe и lame_enc.dll – перепишите
их куда-нибудь на жесткий диск, и дело в шляпе.
КУДА СЛИВАТЬ БУДЕМ?
Прежде чем приступать собственно к кодированию в
mp3, желательно внимательно изучить инструкцию к своему проигрывателю,
чтобы определить, с каким максимальным битрейтом он способен воспроизводить
файлы и поддерживает ли он VBR. Во втором номере за этот год я уже
объяснял, что это такое. Возможно, у вас этого номера нет – ничего,
бывает, повторю, только очень коротко.
Битрейт (или скорость потока) – это такой параметр,
который определяет в совокупности качество звучания и размер mp3-файла.
Чем выше битрейт, тем лучше звук, но больше размер файла. При битрейте
128 кб/с достигается десятикратное сжатие – исходный звуковой файл
размером 10 Мб ужимается до 1-мегабайтного mp3. Качество при этом
сопоставимо со звучанием FM-радиостанции, чуть получше. При кодировании
со скоростью потока 256 кб/с цифровая информация ужимается примерно
в 5 раз, однако и звук при этом становится похожим на компакт-диск
нормального коммерческого разбора.
При выборе битрейта есть смысл плясать от того носителя,
который используется в вашем ресивере. Если это, например, Panasonic,
а флэш-карточки у вас емкостью 64 Мб, то на нее уместится около
лишь около часа mp3-музыки, сжатой со скоростью 128 кб/с – вряд
ли есть смысл заливать в такую тесную «емкость» что-то более солидное.
В случае с компакт-диском (наиболее сейчас распространенным) «жилплощадь»
позволяет развернуться во всю ширину плеч, можно кодировать и со
скоростью 256 и даже 320 кб/с, если, конечно, ваш аппарат их принимает.
Еще один существенный момент – это выбор CBR, VBR
или ABR, то есть кодирование с постоянным (constant), переменным
(variable) или усредненным (average) битрейтом. Файлы с первым проигрываются
любым плеером, но отличаются невысоким к.п.д. При кодировании в
VBR задается не скорость потока, а желаемый уровень качества, размер
файла при этом непредсказуем. Наконец, при использовании ABR изначально
задается некий средний битрейт, который затем динамически меняется
в зависимости от характера музыкального сигнала, – этот режим считается
наиболее прогрессивным и позволяет получить приличное качество при
разумных размерах файлов. Итак, если на носителе хватает места и
аппарат способен проигрывать файлы с VBR (а значит, и с ABR) и достаточно
большим битрейтом, то и кодировать надо, соответственно, в ABR со
скоростью 256 – 320 кб/с. Приступим?
ИНСТРУМЕНТ!
При всех достоинствах у LAME все же есть один малюсенький
недостаток, который, впрочем, легко превращается в еще одно достоинство.
У него нет собственного графического интерфейса, то есть он работает
из командной строки. Зато имеются внешние графические интерфейсы,
которые дают нам свободу выбора. Пусть иллюзорную, но все же.
В прошлом номере, когда я описывал работу с EAC,
сознательно скрыл от читателей одно его приятное свойство. А именно
– способность не просто извлекать цифровую информацию с аудиодисков,
но и сразу кодировать ее в mp3. Спрашивается, зачем потребовалось
разделять весь процесс на два этапа – грабление и кодирование, когда
можно совместить это все в один, благо программа это позволяет?
Затем, что разделение на два процесса дает нам при необходимости
возможность поработать с wav-файлом – подрезать его, почистить,
подправить уровень. Делается это все в программе-редакторе (например,
Sound Forge, Cool Edit и т.д.). Соответственно, и кодирование можно
осуществлять двумя способами – на выбор: вместе с граблением или
по отдельности.
СПОСОБ ПЕРВЫЙ: ДЛЯ ЛЕНИВЫХ
Если требуется закодировать целый диск и нет желания
при этом что-либо исправлять и редактировать, лучше и вправду сделать
mp3 в «один проход» с помощью EAC.
В этом случае надо залезть у программы в меню >
EAC > Compression Options. Откроется окно с множеством закладок,
но из них всех нам нужна только одна – External Compression. Ставим
сразу галочку в боксике Use external program for compression. Чуть
ниже в окошечке с надписью Parameter passing scheme ставим LAME
mp3 Encoder. В окошке еще ниже указываем место на винчестере, куда
мы положили наш кодер, например D:\LAME\lame.exe. Далее идет очень
важный пункт, озаглавленный Additional command line options – в
него надо вписать необходимые нам параметры. К примеру, у меня там
написано:
-m s -q 0 -lowpass 20.0 -abr 256
Это значит:
-m s – работаем в режиме стерео;*
-q 0 – качество кодирования будет максимальным (-q
2 – хорошее качество, -q 5 – среднее, -q 9 – самое паршивое), однако
и скорость преобразования будет самой медленной;
-lowpass 20.0 – включается фильтр, который отрубает
все частоты выше 20 кГц – это способствует уменьшению шумов, искажений
и размера файла, не сказываясь при этом на качестве звучания;
-abr 256 – кодирование будет осуществляться в режиме
ABR со средним потоком 256 кб/с (если вместо этого параметра поставить
-b 256, то битрейт будет постоянным 256 кб/с).
Обратите внимание, что у одних переключателей дефис
одинарный, а у других – двойной. Так надо.
Следующий пункт – Bit rate. Поставьте в нем то же
самое значение, которое ставили в Additional command line options.
Далее идет боксик Delete WAV after compression –
если его отметить, промежуточный wav-файл будет безжалостно удален
после преобразования. Наконец, в самом низу есть боксик Add ID3
tag – его просто непременно нужно отметить галочкой – тогда названия
исполнителя, диска и песен, которые вы скачали из итернетовской
базы данных CDDB (см. статью в прошлом номере) будут автоматически
внесены в тэги mp3-файла и, соответственно, будут показываться на
дисплее вашего аппарата при проигрывании.
Когда настройка завершена, можно приступать к делу
– выбираем в основном окне EAC интересующие нас треки и жмем на
большую кнопку слева с надписью mp3. Процесс пошел.
СПОСОБ ВТОРОЙ: ДЛЯ ПРИЛЕЖНЫХ
Он состоит в том, что сначала мы грабим wav-файлы
на диск, затем их обрабатываем, если есть в этом необходимость,
а потом кодируем. Вполне возможно, что вам никогда не потребуется
так усложнять себе жизнь. Но на всякий случай эту технологию лучше
знать. К примеру, если захочется приготовить mp3 из дедушкиных виниловых
пластинок.
Великий и могучий EAC может работать и как графическая
оболочка к LAME, то есть с его помощью можно кодировать уже готовые
wav-файлы. Более того, у него есть встроенный звуковой редактор
(простенький, зато бесплатный и даже не ворованный), которым можно
подправить уровень, подрезать «хвосты» и «носы» и т.д. Однако редактирование
звуковых файлов тянет на отдельную статью. Поэтому ограничимся лишь
кратким описанием.
Залезаем в пункт меню Tools > Process WAV. Открывается
окно – в нем мы выбираем файл, который собираемся обрабатывать.
Выбрали? Появляется окно собственно редактора, в котором файл представлен
в виде wave-формы, отражающей уровень и частоту звуковых колебаний.
В данный момент для нас представляют наибольший интерес пункты меню
Process File и Process Selection. В первом находим Normalize – этот
инструмент позволяет привести уровень сигнала к стандартным 98 процентам
– многие диски пишутся сейчас с уровнем 100 процентов, что дает
более плотное, «телесное» звучание, однако при этом возможен клиппинг,
специфические искажения, возникающие, если уровень цифрового сигнала
оказывается выше нулевой отметки. Однако и сама «нормализация» вносит
искажения в сигнал, поэтому прибегать к ней следует в крайнем случае,
когда, например, вы составляете сборник из вещей с разных дисков
и с разным уровнем записи.
Далее мы находим в том же пункте меню раздел Correct
DC Offset – очень полезная штука. DC Offset – это смещение wave-формы
относительно оси, что приводит к уменьшению динамического диапазона,
а при больших значениях – создает неприятные «клики» между треками.
Чаще всего DC Offset возникает при оцифровке аналогового сигнала,
но может присутствовать и в файлах, полученных с компакт-дисков.
Убирается он так: заходим в раздел Correct DC Offset и жмем кнопочку
Autodetect – программа проводит исследование и выдает в окошках
результат: если в одном из них обнаруживается какое-нибудь значение,
кроме нуля, например -1, жмем кнопку OK, и тогда программа вносит
необходимые изменения. Кстати, эффективность определения и коррекции
DC Offset у EAC даже выше, чем у некоторых специализированных утилит
и мощных звуковых редакторов.
Кроме этого в пункте Process File для нас представляет
интерес раздел Remove: заглянув туда, мы получим возможность удалить
тишину в начале и конце файла. Соответственно, раздел Add позволит
нам ее добавить.
В пункте Process Selection мы обнаружим инструменты,
с помощью которых можно удалить трески и щелчки, смикшировать начало
или конец трека и т.д. Есть там даже 8-полосный эквалайзер. Однако
для того, чтобы воспользоваться всеми этими богатыми возможностями,
следует выделить какой-то фрагмент файла.
В любом случае редактором нужно пользоваться крайне
осторожно – большинство цифровых обработок (кроме разве что коррекции
DC Offset) могут ухудшить звучание.
Ну вот, наигравшись с улучшением своих файлов, приступим
к кодированию.
Параметры преобразования настраиваются точно так
же, как и в «Способе первом» – через пункт меню EAC > Compression
Options.
А для того чтобы запустить процесс, заходим в пункт
меню Tools > Compress WAVs. Открывается окно, в котором нам предлагают
выбрать файлы для компрессии, потом – место, куда должны упасть
уже закодированные. Говорим OK, и процесс пошел.
После того как дело сделано, нас ждет небольшое разочарование
– обнаруживается, что тэги автоматически не прописаны, как это произошло
в «Способе первом». Придется все делать вручную. Смирившись с этим,
получаем вдогонку разочарование второе, тоже, правда, не гигантское.
Редактор тэгов в EAC’е предельно прост и примитивен.
Именно поэтому я сам для отдельного от грабления
кодирования в mp3 использую не EAC, а другую оболочку. Называется
она OrlSoft MPeg eXtension и живет по этому адресу: http://orlsoft.km.ru/osmpx.asp
Первым делом идем в пункт меню Tools > Options
> LAME presets – здесь мы имеем возможность определить три собственных
пресета для кодера, которыми будем пользоваться наиболее часто.
Далее в основном окне программы мы должны выбрать wav-файлы, которые
собираемся кодировать. Затем идем в пункт меню Audio > Advanced
Encoding. Там мы сразу забиваем все ID3-тэги, при этом если мы кодируем
трэки с одного диска, то нам придется вводить название исполнителя
и диска только один раз. В верхнем правом углу выбираем режим работы
кодера – можем воспользоваться одним из готовых пресетов или взять
один из трех своих. Если мы поставим галочку в боксике Trim silence
before encoding, тишина в начале и конце каждого трека будет удалена.
При желании мы можем отметить галочкой и пункт Normalize – тогда
программа выполнит операцию нормализации, то есть приведет уровень
цифрового сигнала к стандартному значению. Если же гулять по полной,
то можно (к примеру) включить опцию уменьшения уровня на 0,5 дБ,
дать программе указание удалить после кодирования исходный файл
и даже выключить компьютер после выполнения работы. Теперь нажмем
кнопочку Encode, и процесс начнется. К слову сказать, программа
существует в двух версиях, русской и английской, так что разобраться
в ней несложно.
OrlSoft MPeg eXtension является самодостаточным пакетом,
это не просто графическая оболочка к LAME и другим кодерам, он умет
выполнять и DAE, то есть уже знакомый нам процесс грабления. Однако
в этом своем качестве он, на мой взгляд, сильно уступает EAC. Более
того, в Windows XP этот модуль может вызывать «синий экран смерти».
Не знаете, что это такое? И слава Богу!
Поэтому наиболее рационально грабить с помощью EAC,
а кодировать потом – в OrlSoft MPeg eXtension, если, конечно, не
воспользоваться «Способом первым», честно говоря, самым простым
и оптимальным. Что ни говорите, а именно лень – двигатель прогресса.
Если бы не она, мы бы до сих пор добывали огонь трением и слыхом
бы не слыхивали об mp3.
|


АРИСТОКРАТИЧЕСКИЕ ЦВЕТА КОНСОЛИ – LAME ЗА РАБОТОЙ.

ORLSOFT MPEG EXTENTION: ОБРЕЗАНИЕ КОНЦОВ И НАЧАЛ –
ТИШИНА В КОДИРОВАНИИ НЕ НУЖДАЕТСЯ.

EAC: ПАРАМЕТРЫ КОДИРОВАНИЯ.

ЭТО НЕ ГУСЕНИЦЫ ШЕЛКОПРЯДА – СЕЙЧАС В РЕАДКТОРЕ EAC’А
БУДЕМ ФАЙЛ ЧИСТИТЬ.

В РЕДАКТОРЕ EAC’А ЕСТЬ СВОЙ ЭКВАЛАЙЗЕР. ГЛАВНОЕ – НИЧЕГО
В НЕМ НЕ ТРОГАТЬ!
*Если вместо s поставить буковку j, то кодер переключится
в режим joint stereo, в котором будет использовать корреляцию между
каналами. Сумма каналов (центр) и разница между ними обрабатываются
по-разному – центр кодируется с большим битрейтом. Это дает возможность
повысить качество звучания у тех фрагментов, которые не отличаются
большим разделением между каналами. Ортодоксальные поборники качественного
mp3 предпочитают кодирование в режиме «стерео».

ORLSOFT MPEG EXTENTION: ДВА ФАЙЛА УЖЕ ЗАКОДИРОВАНЫ:
СТЕПЕНЬ СЖАТИЯ – НАЛИЦО.

В ЭТОМ БОЛЬШОМ ОКНЕ САМОЕ ВАЖНОЕ – МАЛЕНЬКАЯ КНОПОЧКА
В НИЖНЕМ ПРАВОМ УГЛУ.
|