Рубрикатор

Все материалы, относящиеся к технологиям сжатого звука.
Раздел "VQF, WMA"

(материалы даны в хронологической последовательности, как они появлялись в номерах)


из номера за 19 мая 1998

Вот сейчас я начну тему, которая очень долго будет продолжаться. И здесь я просто не смогу сразу всего описать. Потому как тема-то про оцифровку звука.

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

Но речь сейчас пойдет вот о чем. (забегу вперед - об MP4).
 

* Только народ более-менее разобрался с форматом MPEG (Layer-1,2,3) и начал усиленно перекатывать свои любимые записи в ужатый до "немогу" формат (даже появилось соответствующее железо, которое само "паковало" голимый звук в цифру), появился новый формат (эволюция, однако!) - MP4. Только назывется он теперь - VQF. (Transform-domain Weighted Interleave Vector Quantization (короче - "TwinVQ"). И ужимает на 30% сильнее "немогу". Вот так.

Но самое главное в том, что новый формат не "режет" высокие частоты, как MP3. Графиков пока нет, но я уже скачал все необходимые прилады, попробовал - и могу ответсвтенно сказать: "ВСЕ! я перехожу на VQF!". Как написано на сайте с одноименным названием (который собственно, и представляет новый формат) "MP3 умер, да здравствует VQF!".

Конечно, несколько горячевато я сказанул, но вот с переводом музыки в старый MP3 я пока тормознул. Чуть-чуть подожду (потестирую пока :-). В общем, выставляю на всеобщее обозрение: итак, собственно encoder - Encoder_v211e.zip (500kB), проигрыватель vqp251b1.exe (1.4Mb) (на рисунке). И для нетерпеливых есть готовый файлик .vqf для примера: Live-Selling_The_Drama.vqf (2.0Mb кликайте с шифтом, а то браузер не всегда понимает, чего от него хотят) Сразу скажу - файл размером 2.0 мегабайта, но по времени - 3.5 минуты. А MP3 такой же длительности будет занимать 3.5 мегабайта. Ощутимая разница. И, следовательно, поток для распаковки будет на 30-40% меньше. А это есть хорошо!

(остальной набор программ для полного счастья - в следующих номерах).

Собственно все это и многое другое есть на фирменном сервере, который и заварил эту кашу: www.vqf.com, но для того, у кого связь с Иркутском лучше, чем с забугорьем - я скачал все это сюда. (Я так смотрю вперед - ой понадобится... :-)

Ну чтож, теперь технические подробности.

"Распаковщик" проигрывателя достаточно хорошо работает и на 100-м пентиуме. Процессорного времени, конечно, пожирает больше. Но не намного - процентов на 5-10.

Кодер VQF пакует поток 80 кбит/сек или 96 кбит/сек (по 40 и 46 кбит/сек на канал). Причем, качество получается не в пример лучше, чем у MP3 на 128 кбит/сек. И высокие частоты остаются нетронутыми. Это больше всего подкупает. Почему кодер лучше? Как утверждают создатели - потому что умнее. И весь сказ. :-)

Файл получается на 30-40% процентов меньше, чем аналогичный MP3.


из номера за 22 мая 1998

Каждый человек склонен доверять какому-то конкретно известному производителю. Те, кто постоянно имеет дело с техникой, разумеется. И, самое что интересное, для разных типов железа - тяга к разным производителям. Оно и понятно. Никто не станет искать дисковод ViewSonic. Хотя бы потому, что его нет :-).

Приходит много вопросов по почте об оцифровке звука, и особенно о "сдирании" аудиотреков. Хочу еще раз отметить, что если CD-drive не поддерживает команды "ReadLong" или, попросту говоря, не может читать аудио поток в цифровом виде (т.е. минуя DAC - цифроаналоговый преобразователь), то с попытками получить что-то приемлемое на таком устройстве можно попрощаться. Хотя, есть "граберы", с помощью которых можно получить аудио трек с CD драйва, который не поддерживает указанной особенности. Audiograbber, например. (http://members.xoom.com/kandid/ - здесь есть полный обзор, а так же, можно скачать весь софт, который нужен). Но в получившемся файле будут присутствовать специфические щелчки и шумы. Фигня, короче.

Впервые я столкнулся с этим подводным камнем, когда проводил первые опыты с MP3. На счастье, у меня был драйв TOSHIBA xm3401b (SCSI). Читал все и поддерживал все. И самое главное, после 4.5 лет интенсивного использования фокусировка линз и не подумала съехать.

Вот к чему был первый абзац. Так что у меня в области выбора CD драйвов одна направленность - на фирму TOSHIBA. Поэтому, хочу описать драйв TOSHIBA xm6202s - 32-х скоростной, IDE. Причем на сервере www.toshiba.com именно его я так его и не нашел. Еще видимо не обновили. Загрузка диска осуществляется без всяких выезжающих подставок под кофе или caddy. Прямо так - всовываешь в щель - и все. Там такие две "губки" есть из специального материала, пыль собирают. Чем меньше пыли внутри - тем лучше. Но с другой стороны - пыль, которая оседает на губках - она ведь впоследствии может царапать последующие диски. Или это некритично? Может кто подскажет? (mailto:chizh@irk.ru) Хотя сам драйв мои ожидания не обманул! Скорость передачи данных 4,8 мегабайт в секунду; 85ms average random access (этот параметр лучше писать на английском :-). TOSHIBA, одним словом. (А, да! стоимость менее $100 - лучший выбор, однако!).

Чтение аудио потока он поддерживает, поэтому я его сразу и проверил. Пробовал две программы: вышеуказанный audiograbber и новую программу - WINDAC32 (290kB)(Christoph Schmelnik's Digital Audio Copy for Win32 V1.41). Последняя программа напрочь отказывается работать с драйвами, не могущих читать DA. Причем, раскручивает их так, что машина трясется (сам пробовал на "митсумике" - воет как слон!). Зато если драйв какой надо - читает влет! Очень быстро. Почти со скоростью самого драйва.

"Снимал" трек с фирменного CD. Ничего под рукой просто не оказалось, где были хоть какие высокие частоты, вот и выбрал "Herr Spiegelmann" ("Moonspell") - в этой композиции еще что-то есть вроде (анализ файла показал, что высоких частот там хватает). Потом покромсал его в CoolEdite. Получилось 50 секунд (8500kB). Сжимал двумя программами - FhG MPEG Layer 3 producer (professional - 370kB) в MP3 и в новый формат VQF сжималкой YAMAHA SoundVQ encoder - (1.7Mb). . Чтобы не было разночтений, привожу скриншоты мпегпродьюсера и ямаховской сжималки (на картинке с Yamaha soundVQ - линк на картинку нормального размера (130kB)).

Исходные параметры (WAV) - 44.100 Hz, stereo, 16 bit. WAV я здесь приводить не буду - 8.5 мегов, согласитесь - пока не для наших сетей, хотя очень бы хотелось, потому как сравнивать нужно, конечно, именно с исходным файлом, а не с самим CD звучанием, потому как сравниваем 2 формата.

Параметры для MP3 encoder'а были следующие - bitrate - 128kbit/s, stereo, 44,1kHz, 16 бит. Для Ямаховского кодера - 96kbit/s (по 48 на канал), стерео, 16 бит. Получилось (из 50 секунд): файл формата MPEG - 769kB, файл формата VQF - 578kB. Я еще пока не нашел быстрого и надежного способа проверить частотные характеристики получившихся файлов (с линейного выхода карточки придется сигнал брать или кто-нибудь подскажет лучший вариант?). Но частотную характеристику исходного wav-файла представляю (картинка). На слух я явных различий не нашел. Слушал VQF и MP3 и WAV файл - VQF мне показался ближе к оригиналу (к wav), я написал - "показался", т.к. мнение мое субъективное. Там, где тарелочки на фоне голоса играют, у VQF и MP3 разница ощущается. Но вот в VQF мне совсем не понравилось, что он "придумал" в начале какие-то посторонние шумы! Хорошо, что такой кусок попался, где можно слышать "ничего". Ага! что-то они там намудрили. В MP3 никаких посторонних подобных шумов нет! Я вот тут еще, кстати кодером мпеговским сжал тот же кусок, но уже с 96kbit/s - высоких явно не хватает. А размер - один и тот же с VQF'ом.

 

 


из номера за 6 октября 1998

В прошлом номере я делал сравнение различных кодеров для формата MPEG Layer 3. К сожалению, тогда у меня не было в наличие открытого декодера к формату TwinVQ, теперь он есть и сравнение будет достаточно полным. Пришло много писем, в которых благородным гневом звучит общая идея, что и Fraunhofer producer, де у тебя был старой версии, где Xing encoder, где вот это... , а где вот то... ??! Сейчас я подчищу и эти погрешности. Хотя, конечно, понятно, что приь ошеломляющем объеме разнообразнейших кодеров задача сравнить их все - это даже не тема - это, наверное, будет образ жизни :))
Ну, для пущей важности я еще, кроме изучения спектрально анализа  отдельно взятой композиции, изучал спектральный анализ "розового" шума и "белого " шума. Причем с разными сдвигами фаз для того, чтобы посмотреть как кодеки работают с фазовыми искажениями.
Итак, посравниваем VQF и MP3, представленные различными кодеками.

Время, естественно, абсолютно применимо к моему компьютеру (iwill, P150, 32Mb ram, OSR2). Но относительное, оно будет таким же на других компьютерах.
исходный WAV
46 Мб 100% 0:04:33 .wav 44kHz, 16bit, stereo, 
PCM, digitaly grabbed
codec размер % время свертывания тип параметры
TwinVQ 2.6 Мб  6 0:22:00 .vqf 80kbps, Q=Normal
TwinVQ 2.6 Мб  6 0:48:00 .vqf 80kbps, Q=High
TwinVQ 3.2 Мб  7 0:52:00 .vqf 96kbps, Q=High
Plugger+ v4.0 4.3 Мб  9 0:12:00 .mp3 128kbps
FhG pro v2.1 4.3 Мб  9 0:25:00 .mp3 128kbps, Q=high
Xing ae v3.0/32 4.3 Мб  9 0:02:00 .mp3 128kbps
По просьбе читателей я написал конкретное время каждого кодера, за которое он справился с 48-ми мегабайтным файлом. Для YAMAHA кодера я сделал три оцифровки (см. табл.) Сразу скажу, что абсолютно при всех тестах графики всех трех VQF совпадали практически идеально. Никаких отличий я отыскать не смог, поэтому, ради краткости представляю на графиках формат TwinVQ только параметром 40kbps (на канал) при нормальном (Normal) качестве. Самым медленным кодером оказался ямаховский. Самым быстрым - Xing. Даже быстрее в два раза, чем в реальном времени! Страдает от поспешности, конечно, качество. Но, вообще, если цифровать с ленты, то Xing - самое то...
Да, собственно, график. Лучше - увеличить стандартным образом и посмотреть. Хотя и так видно, что VQF ближе всех к спектру оригинала, причем, на частотах выше 20кГц спектр даже лучше, что наводит на мысль о таких действиях кодера, как некие добавочки, либо усиленное задирание высоких. Что в обоих случаях не приветствуется. Ну, Xing, как и следовало ожидать, съехал на 16 килогерцах. А вот у Plugger'а оказался неровный спектр по каналам в районе 19кГц. Fraunhofer честно сдался на 20кГц. Хотя версии этого кодека раньше v2.1 сдавали уже на 18кГц.
pure WAV 
VQF 
FhG pro 2.1
Plugger v4.0
Xing 3.0
Но разбор спектра частот дает лишь представление о том, насколько качественно и полностью кодек сохраняет звук по частотам. Но тут существует вот какая штука. Так как звук у нас стерео, то упаковка может производиться как по отдельным каналам, так и по обоим в совокупности. Такое кодирование называется Joint-Stereo. Говоря простым языком - "типа" стерео. Т.е. у Вас был натуральный стереозвук, а кодеку это было пофиг, и он так его упаковал, что получил искажения, вызванные влиянием одного канала на другой в результате упаковки. Вот такие искажения как раз могут быть вызваны сдвигом фаз одного канала относительно другого. Так что не у меня первого появился пункт проверки кодеков по сдвигу фаз в каналах.
Я пробовал два разных шума: т.н. "розовый"  - более близкий к реальной музыке. Он покрывает весь диапазон частот. И "белый" шум. В обоих случаях исследовались шумы с независимыми каналами и с каналами одинаковыми, только один из них был инвертирован относительно другого, чтобы добиться максимальных фазовых искажений. Сразу скажу, что при независимых каналах и при обоих случаях "розового" шума" все кодеры показали себя отлично. А вот в случае с инвертированными каналами "белого" шума кодек Fraunhofer облажался на полную катушку. См. график.

Даже Xing, который честно срезал все выше 16кГц не намудрил так со спектром, как FhG Producer pro v2.1. Впрочем, я проверил и на примере того же шума, только каналы были не инвертированы, а сдвинуты друг относительно друга на некоторое число градусов. Небольшое. Не понял опять-таки Fraunhofer. Где-то в области 10кГц.
Зато Plugger из ISO серии сжимателей показал себя достаточно неплохо. Я бы назвал его VQF в представлении MPEG'а. Абсолютно точно повторял при всех шумовых тестах линию оригинала. Сдал лишь на реальном примере. Зато время сжатия небольшое по сравнению с FhG. И уж тем более, с VQF.

Выводы: Учитывая, что время запаковки FhG MPEG pro и Yamaha TwinVQ сопоставимы, а качество у TwinVQ лучше, а еще и размер получаемого файла существенно меньше (2.6Мб против 4.3Мб), то встает вопрос о вообще целесообразности применения FhG кодка как такового супротив VQF. Тогда уж лучше Plugger, чем FhG для соревнования с TwinVQ.
Так как на слух я отличий в TwinVQ 40kbps и 48kbps не нашел, а в тестах - это вообще, одно и то же, то за исходный, видимо, надо принять 40kbps на канал при качестве равном Normal. Кстати, рекомендуемый по умолчанию Ямахой.
Ну, и Ксингом можно упаковывать лишь откровенную попсу. Самым нетерпеливым :)
О, чуть не забыл. Ямаховский кодер (TwinVQ) хоть и является коммерческим проектом, но весь софт (кодер и проигрыватель) является совершенно free.

Теперь о письмах: Приходят не просто различны письма, а самые что ни на есть полярные по мнениям. Кому-то лучше VQF'а и не придумаешь (обуславливают отсутствием фазовых искажений), а кто-то говорит, что пока 256kbps MP3 самый что ни на есть рулез, а VQF - суксь, потому как вносит непонятные звуки в оригинал.

Насчет "левых" звуков в VQF: Не во всех композициях, но есть - это абсолютно точно (даже при самых лучших параметрах). И это пока отгораживает меня от него и заставляет смотреть настороженно.
Насчет 256kbps: это конечно классно, что при 256кбитах есть настоящее стерео и качество. Но вот сжатие уже настолько далеко от идеи компрессированого звука, что меломанам, которые признают только 256кбит можно порекомендовать простой CD. Разница в объеме уже неощутима. Она и в случае 1:12 (128кбит) не очень-то хороша, а уж при 1:6 (256кбит) совсем призрачна. Т.е. насаждать только 256кбит - это просто девуалирование идеи MPEG'а.

 


из номера за 31 октября 1998

VQF via WINAMPПосмотрите на тип файла, который виден в окне Winamp'а. А? Вот так! Теперь - "в одном флаконе". Замечательный плагин, позволяющий проигрывать VQF формат сделан Chris Dunphy именно для Winamp'а совсем недавно. Создатель рекомендует версию Winamp'а 2.03 и выше, но у меня прекрасно идет и на просто 2.0. Надо отметить, что прокрутка по песне (позиционирование) не работает. Как не работает она и во всех известных проигрывателях формата vqf. Почему так? Наверное, невозможность однозначно встать на определенный кусок может зависеть от способа кодирования. Видимо, у vqf он такой, что - нельзя. Хотя это в принципе можно спокойно обойти, например быстро раскодировав весь поток "до" этого куска, не воспроизводя его. Ну, может, это не так быстро будет работать...
А с появлением плагина winamp еще сильнее потеснит остальные плейеры. Так как он более надежен, давно и сильно поддерживается, достаточно быстр, а теперь он еще и с VQF дружит! А вот по MP3 я думаю, удар будет нанесен, когда кто-нибудь сделает по-настоящему быстрый кодер для VQF. Оригинальный Ямаховский совсем пока тормоз из тормозов.
Плагин почему-то не поддерживает встроенные таги внутри файла vqf. Они, конечно находятся совсем не там, где у mp3, но почему бы, собственно и не взять их откуда надо? Может, такие вещи делает уже сам winamp и это "..им, гагарам, недоступно..."?
Скачать плагин можно и у меня (350kb). Прочтите readme из архива. Файлы, про которые там упоминается, я добавил к этому архиву, потому как у многих может их и не оказаться.


из номера за 5 мая 1999

Итак, ASF. Когда все усиленно делают свои кодеки для музыки (самый 'бум' сейчас), как же майкрософт останется в стороне! Но не стоит наверное, думать, что Microsoft, что называется, "спохватился". Отнюдь. Скорее, он присматривался, примеривался, чтобы сделать нечто, могущее быть конкурентноспособным хоть на 3-4 года вперед. Да и ведь не за неделю же кодек сваяли - по качеству это чувствуется.
Вот против mp3 и TwinVQ вышло неплохо. ASF 96kbps могут вполне поспорить с обоими форматами. Windows media playerПри том, что ASF все-таки новый формат, который MS будет усиленно толкать. Не надо забывать и о том, что это ведь не только сжатие звука, а целая концепция сжатия информации вообще. Там и видео и картинки и... да практически все. Звук - это только часть. Новый windows media player уже сам по себе поддерживает всяческие snd, au, mpg, mpeg, ну и mp3 само собой. Надо признаться, при весьма неплохом качестве (лучшем - это точно, чем mp3) и таком размахе, как у MS, формат сжатия ASF для звука куда как резче войдет в жизнь, чем другие звуковые кодеры.
Попытаться сравнить АЧХ у меня не получилось, то ли я до сих пор торможу и не всек, как обратно из ASF сделать wav, то ли декодера просто пока нет. Но, с другой стороны, я и сторонник того, что картина АЧХ не говорит о качестве именно в случае кодирования с помощью построения психоаккустической модели. Единственно, про что АЧХ может сказать точно - это про явные изменения частот на каком-либо участке спектра. Как это было в случае с Xing'ом.
Т.е. можно АЧХ не глядеть - я не думаю, что ASF уподобился Xing'у и чирикает верхние частоты.
Остается единственное - оценивать субъективно. Причем, этот метод оценки сейчас только и используется. А как иначе?! Сиди и слушай...
Как раз тут наткнулся на диск Cybertribe, когда мучился в подбирании композиции. Вообще, хотелось бы попробовать на "металле", но там надо, опять же, иезуитски подбирать вещь - необходимо ведь быть в роли "русского мужика" чтоб издеваться над японской бензопилой :)
ASF "делается" программой NetShow Encoder (входящей в пакет NetShowTools - скачать можно и у меня - 4.3Mb). Сделано там все в стиле MS - последовательные введения параметров, имен файлов и пр. В принципе, неплохо для неискушенных юзеров - нажми это, выбери то. Вот Liquifier, с этой стороны, как-то посерьезнее сделан.
Запускаем NetShow Encoder:

Ну, начинается стандартно - выбираем так, чтобы самим управлять.


Выбор следующих параметров очевиден. 96kbps в данном случае - соревнуемся с Liquid.
Получился у меня вот такой файл (180kb) - ASF, 96kbps, 44.1kHz, 16bit, stereo.
Для preview (180kb) я сделал LQT из того же WAV файла, параметры, естественно, такого же ранга, как и у сравниваемого asf - 96kbps (AAC 96-best quality), 44.1kHz, 16bit, stereo. 12 секундного отрывка хватило, чтобы услышать между ними разницу - тем более, что сравнивал я еще и с оригиналом.
Можете послушать сами - для того и выложил. В ASF я не так хорошо услышал 'погремушки' в начале отрывка - а вот в LQT их слышно отлично, как в оригинале.
Но, не стану делать скоропалительных выводов, нужно все таки еще немного потестировать. Ограничиваться одной композицией было бы ошибочно.
С другой стороны, ASF, все таки, лучше чем mp3, и поддерживаться будет усиленно (и навсегда, разумеется), да еще и бесплатен. А вот Liquifier - сугубо коммерческий продукт. И вот мне кажется, что создатели Liquid даже могли специально пойти на распространение пиратским образом своего кодека ради популяризации (может, они его еще и shareware сделают?:). Ладно, оставлю в стороне паранойю, будем думать, что Liquid не будет заброшен своими создателями. Пока он, все таки, мне показался лучше чем ASF.

 


из номера за 7 мая 1999

В ответ на мой возглас о том, что ASF как-то не очень хочет обратно в WAV декодироваться, мне прислали ссылочку на _совершенно_ очевидную варезу!! Ведь просто все - берем, пишем прогу, которая будет перехватывать output от какого-либо проигрывателя к виндузному sound driver'у.
Называется программа TotalRecorder. Так именно и делает. Скачать можно и у меня (400kb), кряк вот (5kb).
После распаковки надо запустить виртуальный драйвер - это отдельная программа. После этого в настройках "Multimedia" в "Панели управления" можете поглядеть, чего там "встало". А сама программа для записи - это отдельная тулза. При записи у вас могут быть проскакивания в самом проигрывателе, но это - следствие, скорее, недостаточности скорости передачи потока из драйвера в драйвер - ничего страшного, в итоге WAV получается нормальный. Необыкновенной полезности, конечно программа, тем более, что в этой версии она может брать поток не только _от_ драйвера плейера, но и _из_ драйвера карточки, таким образом можно "хватать" все потоки. При IP-телефонии, например.
И, конечно, получим WAV, который "до" звуковой карты - это есть гуд, потому как нафига нам искажения от карточки? Ну, а когда работа драйвера не нужна, можно залезть в "Панель Управления - Мультимедиа" и изменить audioouput и input на старые установки (чтоб ничего не тормозило). Т.к. драйвер totalrecorder'а уже установлен, то впредь нужно будет менять только это значение.

линк и кряк прислал Ilya Rudev

Вернусь таки к ASF. Отличить действительно сложно Voxware и LQT - или нужен куда лучший слух, чем у меня, или... случай! Помогла композиция King Diamond'а "Two little girls" - в начале композиции звуки перемежаются с тишиной и прекрасно слышны "левые" квакания у Voxware codec. Которых нет у Liquid'а. Сказывается наследие безумного Ларри (ссылка - кивок в сторону Ильи Рудева), от которого (от Ларри, а не от Ильи) по легендам пошел и TwinVQ и Voxware audiocodec. VQF-то как раз был болен тем, что загрязнял получившийся файл левыми звуками в пустотах. У Voxware та же беда. Ну, на слух, по крайней мере - очень уж похожие квакания в VQF :))
Тем кто хочет попробовать послушать сам - я выкладываю два маленьких кусочка вышеупомянутой композиции в ASF формате и в LQT.
part_of_LQT - 96kbps, 44kHz, stereo, 16bit, (275kb)
part_of_ASF - 96kbps, 44kHz, stereo, 16bit, (275kb)
Оригинальный WAV, разумеется, один и тот же. Я эти два кусочка помещаю еще и из-за того, чтобы не было писем типа "...какие ваши доказательства?..".

Так что, теперь можно сказать вполне определенно - перевес пока в сторону Liquid.
Да, и небольшая поправка - ASF - это не формат сжатия - это формат передачи потока (звук, видео, картинки и пр.). Просто все так называют для удобства. Я в прошлом номере неправильно несколько написал. Каюсь. А формат сжатия аудио - это WMT 4.0 от Voxware - он как раз и используется в данном случае.



 Пишите! Мне интересно будет Ваше мнение, замечания и пожелания. Указывайте в письме НЕсогласие на опубликование. Если ничего не будет указано - публикую по своему усмотрению. Если письмо не личное, конечно...

Журнал поддерживается ISP Деловая Сеть Иркутск