Архивы: по дате | по разделам | по авторам

Нет в мире совершенства!

Архив
автор : МИХАИЛ ДУНЬКИН    13.07.1999

На столе высится стопка музыкальных дисков, взятых у приятелей на день, трещит винт, от CD-ROM-драйвa пар валит, а на экране монитора мерещатся ехидные зеленые чертики...
Это не ночной кошмар, а так, посиделки за полночь любителя музыки, лихорадочно копирующего звуковые треки, сжимающего их, копирующего, сжимающего, копирующего...


Стандартная скорость аудиопотока при прослушивании компакт-диска составляет 176400 байт/с. Понятно, что на такой скорости копировать треки с диска невозможно - надо быстрее, а слушать мы потом послушаем. С другой стороны, чем ниже скорость, тем меньше вероятность появления ошибок считывания. Хотя для нас это не так уж и важно.

Нет в мире совершенства. Как нет? А если поискать, если разобраться? Если не совершенство, так хоть тень его найти. И себе, и людям. По-человечески.

В теории все просто. Есть программа - граббер (grabber). Ее функция - превратить звуковой трек с компакта в привычный wave-файл. Частота дискретизации 44,1 кГц, разрядность 16 бит, стерео. Одна минута займет (44100 Гц х 2 канала х 2 байта х 60 секунд) более 10 Мбайт. Стандартный компакт-диск - 74 минуты звучания; 740 Мбайт - по отношению к собственному винчестеру цифра как-то непривычная (емкость компакт-диска с данными - 650 Мбайт, поскольку такие диски записываются с большей избыточностью). Типичный синдром пользователя - оставить на винчестере как можно больше свободного места. Хотя - зачем? Свободное место - неиспользуемое место, никакой отдачи, в отличие от места уже заполненного, не дает, так что согласно науке экономике - сплошной убыток. Но всегда в глубине души мысль сидит (даже не в голове!): "А вот как завтра принесут новый супер-бупер Quake XXX? Что тогда? Стирать что-то?!" Да, можно бы и стереть, вот только - что?

Можно на компакты писать? Вроде можно. Евгений Козловский на всю Россию это дело прославил и своим именем утвердил: "Дерзайте, мол, господа". Болванки нынче дешевле доллара. Да жаба давит. К тому же рекордер нужен. И вообще - лениво куда-то ходить, деньги платить. Особенно деньги. Мы лучше так, дедовским способом. То есть не дедовским, конечно, нет, - новым, самоновейшим, от именитых западных фирм. Одним словом, выдумали на Западе технологию MPEG Layer 3. Вкратце: берете wave-файл, сжимаете по специальному алгоритму и получаете файл объемом раз в десять-двенадцать меньше исходного. Для такого сжатия нужна программа-кодер (encoder). Для обратного раскодирования - в звук на лету - нужна программа-декодер (или плейер).

Ясно, что бесплатный сыр бывает только в мышеловке. За такую степень сжатия надо платить. Приходится платить - не деньгами, но качеством звука, отчего иные гурманы воротят нос: "Фи, как у вас здесь..." MP3 рассчитан на людей со средним слухом и проигрывание на технике среднего уровня. Поэтому разочарований не избежать. Не менее важно и то, чем сжимать и на чем слушать. Результаты могут получиться отличные. От всего.

И еще - чтобы потом не было обид. Проделывать все вышеуказанное лучше на Pentium, имея в живом, работающем, а не трансовом состоянии Windows 95/98/NT.

Начнем с простого. С грабберов



Лучший граббер (из числа не входящих в комплексы all-in-one) - WinDAC 1.48 (рис. 1). Сотворил сие чудо Кристоф Шмельник (Cristoph Schmelnik), а лежит оно на сайте www.windac.de. Найдя его, я не стал специально искать что-то другое. Подчеркиваю - специально, ибо все же в моих руках побывало не менее десятка грабберов. Не будем останавливаться на частностях типа "куда нажимать и что из этого получится". У WinDAC есть интересная особенность - разные режимы копирования. Обычный режим означает, что сначала производится чтение с компакта, затем запись на винчестер. Режим "синхронизация секторов" предназначен для дисководов, которые не умеют корректно позиционироваться на звуковые кадры. Наконец, режим "Burst" проверяет корректность записи в то время, когда привод читает следующий сектор с компакт-диска. Так получается много быстрее. По умолчанию включен режим "Burst".

Другая интересная особенность - возможность создания скриптов. Если вам приходится довольно часто выполнять однообразные действия по схеме "скопировать звуковую дорожку, сжать ее, переименовать и т. д.", то, написав скрипт, вы существенно облегчите себе жизнь. Я, например, раньше использовал собственноручно написанный скрипт для автоматического перекодирования из wave- в MP3-формат с помощью программы MP3Compressor, речь о которой пойдет ниже. Схема проста: пишешь скрипт, запускаешь копирование выбранных дорожек, после копирования каждой из них автоматом запускался MP3Compressor. Красота!

Но есть и минус: когда я впервые, запустив WinAmp и слушая им музыкальный диск, позволил программе добраться по Интернету до сайта с CDDB и увидел на экране абсолютно правильные названия альбома, певца и песен, то восхитился сразу. Такой штуке в WinDAC цены бы не было - не надо вводить данные о диске, к вашим услугам все глубины CDDB. Но чего нет, того нет, увы...

Кодеры

Как известно, MP3 - это сжатие с потерями. То есть оригинал всегда лучше. Чем больше скорость потока данных (bitrate), тем выше качество сжатого сигнала и тем больше объем записи. Скорость в одном и том же файле может меняться: так, звук с насыщенным спектром будет кодироваться, скажем, на 192 кбит/с, а пауза или соло малоокрашенного инструмента - на 96 кбит/с. Смысл переменной скорости ясен: где можно - сжать посильнее, чтобы сэкономить место, где нельзя - дать послабление. Существуют разные взгляды на то, какую скорость сжатия считать приемлемой; стандартом считается 128 кбит/с, и это устраивает большинство людей со средним слухом. А кто-то может отличить от оригинала и MP3-файл на 320 кбит/с. Во всяком случае, это - максимум, с чем я встречался.

Вернемся к практике. Выше я поминал программу MP3Compressor (www.chez.com/mp3hc). Я пользовался версией v0.9f от 18 июля 1997 года. Более новые варианты, к сожалению, мне в руки не попали. Немного аляповатый интерфейс, минимум настроек, умение сжимать со скоростью не выше 128 кбит/с. Я благодарен этой программе и ее автору за простоту, но когда у меня появилась возможность сравнивать, я понял, что MP3Compressor тянет, в лучшем случае, на студенческую поделку. Помимо маленькой скорости, в списке моих претензий к ней появилось и слишком долгое время сжатия. 5-6 минут на песню такой же длительности - это чересчур, понял я, когда увидел, что AudioCatalyst делает то же самое в два-три раза быстрее. Даже такой оригинальный ход, как возможность изменять степень приоритетности процесса сжатия, не спасает. Автор MP3Compressor'а, сделав возможность полного занятия всех ресурсов системы процессом кодирования, даже добавил окошко с надписью: мол, это не вирус, не пугайтесь, ничего страшного. Меня чья-либо попытка взять что-нибудь в монопольное пользование всегда раздражала, ибо непременно найдется срочная неотложная задача - отчет распечатать, программу дописать, в тетрис поиграть, а тут, понимаешь, вирус не вирус, но машины на время сжатия как бы и нет.

И все же и MP3Compressor не без достоинств. Во-первых, он понимает параметры командной строки. В паре со скриптами из WinDAC это довольно гибко позволяет управлять процессом сжатия. Во-вторых, MP3Compressor - freeware, и если у вас нет денег купить шедевр от, допустим, Xing, а крэкать - западло, то используйте MP3Compressor на здоровье.

Впрочем, и WinDAC умеет сжимать звуковые дорожки в MP3-формат. Кроме MP3, он поддерживает много чего: и Microsoft ADPCM Codec, и конвертор PCM Microsoft, и т. д. Кстати, минимальная скорость - 8 кбит/с (11025 Гц, моно) - своеобразный рекорд. Максимум - 128 кбит/с. Но! WinDAC не умеет сжимать уже записанные на винчестер wave-файлы, да и вообще, сжимает он еще медленнее MP3Compressor'a. Поэтому серьезный компрессор я его даже и не рассматривал.

Разочарование месяца с последующим очарованием

Вышеозначенные минусы подвигли меня на поиски замены (по крайней мере, MP3Compressor'a), и по наводке Евгения Козловского я вышел на AudioCatalyst (рис. 2).



Эта программа, созданная фирмой Xing (www.xing.com), является воплощением концепции "все в одном". В смысле, что все потребные действия с музыкой формата MP3 можно совершать в пределах одной программы.

Внешне AudioCatalyst впечатляет. Красота и удобство - на пределе. Великолепный кодер. Все понятно и ясно, в качестве кодера он мне кажется лучшим в своем классе. В самом деле, возможность кодирования с переменной скоростью, с постоянной скоростью от 16 до 320 кбит/с, с одновременной записью wave- и MP3-файлов, с использованием механизма CDDB дорогого стоит. К тому же после общения с MP3Compressor скорость сжатия меня просто потрясла. Есть еще одно полезное свойство - возможность нормализации wave-файлов или звуковых дорожек при сжатии. Нормализация - это приведение уровня записи с разных компактов к одному уровню, так, чтобы песни с разных компактов звучали с одинаковой громкостью.

Но! Как всегда, не без ложки дегтя в этой замечательной бочке меда. Дело в том, что для работы под NT требуется ASPI manager (ASPI - Advanced SCSI Programming Interface). Без него AudioCatalyst будет копировать дорожки только в аналоговом режиме. ASPI manager я нашел и поставил. Но перестал запускаться сам AudioCatalyst, зависая, причем так, что даже всемогущая NT не могла его выгрузить из памяти. После пяти неудачных попыток я смирился с тем, что так, с налету, ASPI не заработает, а переустанавливать систему - это время, которого всегда нет. Кстати, под Windows 95 все прошло нормально, причем ничего инсталлировать не потребовалось. Но мне была нужна именно NT. Впрочем, уже слышу шепот по углам: "Руки кривые, неча браться было... Вот мы!.."

Ага! Я тоже сначала пенял то на себя, криворукого, то на систему и, сбитый с пути истинного, уже замышлял черное дело - снос NT под корень и замену ее на Windows 98. Но, слава богу, все утряслось. Аккурат 13 июня (а когда же еще?!) все заработало. Появился ASPI-доступ, а скорость копирования иногда зашкаливала за 10-кратную (рис. 3).



Вот так! Две недели программа мучила меня, изводила, словно сладкое яблоко на дереве, до которого не добраться, и вот - вс§, яблоко в кармане, даже и на зуб попробовал! Но самое главное: я не знаю, почему она заработала. То ли что-то я инсталлировал такое, что позволило заработать AudioCatalyst'у, то ли закончился инкубационный период, то ли, как предположил в шутку мой приятель: "Это полиморфный вирус выродился в ASPI-менеджер" (тьфу, не к ночи будь помянут! Вирус, естественно). Одним словом, ощущение того, что тебя без твоего же согласия женили. Я, конечно, не против, но - чтоб под моим контролем! А то собственная система - и не слушается. Кто в доме, бишь в системе, хозяин?!

Но полученное, можно сказать, даром яблоко на вкус оказалось весьма недурным. Кроме бешеных скоростей копирования есть и выбор режимов копирования. Выше я уже говорил о режимах копирования у WinDAC. У AudioCatalyst их будет поболее трех. Режим "Buffered Burst" означает самый быстрый и лучший, но не все CD-дисководы его поддерживают. Для таких проблемных драйвов предназначен режим "Unbuffered Burst". Теоретически он быстрее, но на практике - нет. Режим "Dynamic Synch Width" предназначен для сверхнадежного чтения данных. Ошибок чтения при его использовании быть не должно. Кстати, в режиме "Buffered Burst" ошибки появлялись только на внешних дорожках или на поврежденных. А вот режим "Unbuffered Burst" оказался рекордсменом по их количеству. Даже на первом треке, где скорость чтения минимальна, он выдал двести ошибок, в то время как остальные два режима - ни одной! Режимы же под названиями "Fixed Synch Width" предназначены для совсем капризных дисководов.

Вторая ложка дегтя последовала при моем знакомстве с проигрывателем, встроенным в AudioCatalyst. Он называется XingMP3 Player и на первый взгляд красив. Но потом замечаешь в правом углу этакий овал, - по мнению разработчиков, он должен был содержать кнопки управления проигрыванием музыки - наподобие шаттла на видеомагнитофонах. То ли это взглюк моей видеокарты (единственный пока!), то ли что-то там у них недоделано, но выглядит этот шаттл ужасно. На паре знакомых компьютеров с Win95 Xing MP3 Player вовсе не запустился, заявив о неустранимой ошибке. Подозреваю, что именно из-за этого шаттла. Плюс к этому - мало параметров настройки, отсутствие многих, привычных по WinAmp удобств типа быстрых клавиш, удобного создания списка файлов для проигрывания. Одним словом, разочаровал меня этот плейер, оставив о себе впечатление, будто разработчикам было неудобно оставлять идею "все в одном" без проигрывателя, вот и воткнули туда XingMP3 Player - для галочки.

Так вот и получилось: яркая и многообещающая, как новогодняя елка, программа лишь поманила, не дала воспользоваться тем, чего хотелось. Потому - "Разочарование месяца". Но прошел месяц, появилось и очарование. Слова из песни не выкинешь, что было, то было, а потому - разочарование и очарование в одном флаконе.

Хочу круто!

Не в том смысле, что по сложности, а по возможностям программы - именно у меня, в моей системе, реальным возможностям! - хотелось иметь крутую программу. Такую, чтобы было все. Такую я получил, но вместе с невестой приобрел и тещу - интерфейс. Злая теща, надо сказать. Не то чтобы специально она меня ненавидела, но была дамой сложной, с капризами и тонкостью поведения.



Итак, внимание! Вашему взгляду предлагается модная в нынешнем сезоне программа концепции "все в одном", с передовыми по архитектурному замыслу окнами и непрозрачным интерфейсом (рис. 4). На подиуме - MusicMatch Jukebox 3 (www.musicmatch.com). Идеология выдержана полностью - есть и граббер, и кодер, и проигрыватель. Так-то можно было бы и жить, но... Но уже по первому взгляду на экран сдается мне, что никак не предполагали авторы использования разрешения 1024х768 и выше - кнопочки и надписи такие махонькие, что попасть в них мышкой - дело не из простых. Менять размер появляющихся окон нельзя. Во-вторых, нетривиальна система составления playlist'ов. К тому же есть еще и возможность создания собственной базы данных по песням, что поначалу приводит к некоторой путанице. Как граббер программа довольно хороша, не лучше WinDAC, но все же пользоваться можно. Как кодер - имеет два минуса: нет переменной скорости сжатия, и есть странности с кодированием файлов, записанных в wave-формате на диск. Для таких файлов предельная скорость - 128 кбит/с, в то время как при копировании звуковой дорожки с компакта на винчестер сразу в MP3-формат - от 16 до 320 кбит/с. Я же предпочитаю сначала собрать с разных компактов понравившиеся песни, записать в wave-формате на винчестер, а затем можно и на ночь поставить сжимать в MP3-формат. Так что эта программа - мимо меня. Зато плейер весьма неплох, а главное - в меню есть возможность указать в качестве основного плейера не свой собственный, а WinAmp. Наконец, такая полезная вещь, как автоматический DJ. Он позволяет задать самые разные критерии группировки (до трех критериев одновременно) - автор, жанр, альбом и т. д. Так что если у вас все правильно выписано в ID3-тегах (а это можно сделать через CDDB), то все великолепно организуется. Для дискотек - неоценимо. Можно поставить музыку крутиться часиков так на десять, а самому идти пить пиво. Пенное! С раками, быть может...

Ах да! Слушать-то чем? Немного подожду с пивом, разъясню вот... Значит, так. Шедевром считается MP3-player WinAmp от Nullsoft (www.nullsoft.com). Фирма чуть ли не раз в две недели выкладывает новый вариант. Сейчас я пользуюсь версией 2.22. Вплоть до версии 2.0 я был доволен и счастлив - о преимуществах WinAmp только слепой и глухой не знает. Я даже повторять не буду - есть все: умопомрачительное количество настроек, надстроек (plugins) и оболочек (skins), понятный интерфейс и очень хорошее качество работы. Но вот в версии 2.1 куда-то исчезла поддержка MMX. То есть, вполне возможно, и не исчезала она никуда, но если раньше в настройках можно было указать, что у тебя процессор не абы какой, а Pentium MMX, то теперь - нет. Вероятно, сидит эта возможность теперь в автоматическом режиме. Но! Если раньше загрузка процессора у меня была ну никак не больше 15%, то теперь - все 30% на экран выдаются. Я понимаю - это мелочи. Я понимаю, что качество музыки отнюдь не ухудшилось, наоборот. Но все же как-то обидно.

P. S. Чтобы не было лишних вопросов - вот конфигурация моего, не brand name, компьютера, на котором все вышеперечисленное работало и работает: Pentium MMX 166, системная плата Triton VxII-Pro, 32 Мбайт ОЗУ, винчестер WD 3100, Windows NT 4.0 Workstation Rus, Service Pack 3.

P. P. S. Все, что не вошло в часть первую, я надеюсь опубликовать в следующих. Я на такие шедевры наткнулся - сам себе завидую!



Михаил Дунькин - 21 год. Студент Алтайского Государственного технического университета, 4-й курс. Область интересов: Интернет и его связь с базами данных, военно-морская история.



© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.