Исследовательскую трилогию по части звуковых плееров я завершу наименее популярным в кругу энтузиастов, но широко распространенным среди рядовых пользователей плеером — Windows Media Player.
Подобные продукты Microsoft редко отличаются высокой прозрачностью и конфигурируемостью, так что фактически представляют собой черный ящик — есть только вход и выход. Что происходит внутри этого ящика — мы попытаемся узнать в ходе исследования.
Итак, имеется ОС Windows 7 SP1 Ultimate x64 с установленным Windows Media Player 12. Для чистоты эксперимента я предварительно удалил все кодеки и фильтры (т.к. данный плеер использует DirectShow, а точнее Media Foundation).
Для начала проверим плеер на тестовом несжатом WAV семпле (24 бит 96 кГц). В системе везде установим соответствующий формат данных.
На первый взгляд всё играет исправно. Регулятор громкости плеера синхронизирован с микшером Windows. RMAA также докладывает о хороших результатах, идентичных воспроизведению через ASIO 2.0. Похоже, с lossless у нас всё в порядке — поток идет напрямую от декодера к WASAPI (в режиме shared). Аналогичные результаты я получил и для WMA lossless (также в режиме 24 бит 96 кГц). Однако, давайте попробуем трюк с понижением разрядности. Установим в свойствах звукового устройства формат 16 бит и посмотрим, каким образом система выполнит преобразование 24->16.
Вверху спектр исходного 24-битного семлпа, внизу — результирующий 16-битный. Как мы видим, операционная система выполняет дизеринг, и это просто замечательно. Подобная картина наблюдается и с остальными семплрейтами, в т.ч. 44.1 кГц.
Но, что касается дизеринга — здесь есть подводные камни. Если установить в свойствах звукового устройства 16-битный формат, при воспроизведении 16-битного аудио система всё равно будет подмешивать в него дезер, что не есть хорошо. Подробнее об этом я написал в новости.
Теперь, когда за lossless мы в общем-то спокойны, можно переходить к тесту декодеров lossy.
Начнем конечно же с MP3. Кстати, экспресс тест декодеров я выкладывал на форуме.
Я закодировал тестовый файл 24 бит 44.1 кГц в MP3, затем воспроизвел его через WMP и foobar2000, записывая всё это Райтмарком. Давайте глянем в отчет.
Здесь у меня плохие новости — WMP использует для MP3 16-битное декодирование с фиксированной точкой. Во-первых это сужает динамический диапазон записи, если исходный материал имел разрядность более 16 бит, во-вторых это делает невозможным избежание клиппинга.
Что самое интересное — в WMP есть даже некоторое подобие ReplayGain, функционирующее для файлов из библиотеки, которые уже были хотя бы раз полностью проиграны. Но, опять же, клиппинг из-за фиксированной точки происходит уже в декодере, и обработчик здесь не помогает.
Но тут обнаруживается приятная неожиданность. Декодеры WMA и AAC работают с повышенной разрядностью:
Это уже хорошо — качественные рипы high-res аудио в этих форматах будут воспроизводиться с сохранением динамического диапазона. Но давайте посмотрим, как дела обстоят с клиппингом. Создадим AAC файл с превышением допустимого уровня на 6 дБ.
Превосходно! По результатам моего теста WMP использует декодирование в формате 32 бит с плавающей точкой, и в этом же формате выводит звук — в итоге с клиппингом борется limiter APO, входящий в состав WASAPI.
Должен сказать, что лимитер этот достаточно качественный. Я специально создал тестовый сигнал в виде синусоиды с частотой 60 Гц, промодулированной частотой 1 Гц и завысил уровень на 6 дБ. В то время как Advanced Limiter на этом сигнале давал слышимые срезы, limiter APO справился с клиппингом на ура.
Выводы
Итак, во многом Windows Media Player меня приятно удивил. Большей частью его достоинства обусловлены работой новой звуковой подсистемы Windows, так что вся обработка по сути происходит уже после «черного ящика». В результате мы получаем качественное воспроизведение lossless любой разрядности, возможность понижения разрядности с дизерингом, а также качественное ресемплирование. Но вот если мы захотим воспроизвести качественный MP3 файл в 16-битном режиме, то получим полный букет искажений — клиппинг, сужение динамического диапазона при декодировании в 16 бит, да еще и совершенно ненужный здесь дезер в придачу.
С другой стороны, редко когда встретишь звуковую карту без поддержки 24-битного аудио, да и MP3 из 24-битных источников попадаются совсем нечасто. А вот что касается форматов WMA и AAC — здесь у плеера полный порядок. Так что мой вердикт — вполне юзабельно.
Информация от спонсора
Protectimus Solutions предлагает широчайший спектр программных и аппаратных токенов двухфакторной аутентификации. ОТП токен обеспечит высокий уровень защиты аккаунтов Ваших пользователей.
Cкриншоты делал в "Проигрыватель Windows Media" , скидываю три примера скриншотов где улучшалось качества. Первый скрин это где было улучшение качества, а второй где обычное. Скриншоты с обычным качеством делал сегодня имено для того чтобы сравнить насколько различно качество. Так что клавишами вперед назад это будет заметно вполне.
Файлы скидываю сюда на долгое хранение в формате архива 7-Zip http://files.mail.ru/06ED225CDDDD46FE818D77432ADA142E ( до 22 июня на хранение, кто скачает, продлит на 30 дней)
Если ссылка указывает на несуществующую страницу то копируйте в адресную строку.
Формат оригинальный изображений - PNG, захватывал скрин в видео с клавишой "prt sc" когда было и улучшенное и обычное. До сих пор не могу понять как улучшалось качества видео. Видно что в "улучшенном" цвет более насыщен и ярче, больше заметна четкость и отсутствуют лишние "пыльные пиксели". Словно в "обычном" есть невидимой слой который мешает.
У вас может возникнуть ощущение что я применял фильтры это не так, я просто хочу знать почему в очень редких случаях качество изменялось в лучшую сторону, а так как на форуме есть знающие люди, хотел бы знать ваше мнение на этот счет.
Скрины взял на примере видеофайла "S01E01 - Strategy X_(fm)" 640Х480 пикселей. Обрезал скрины специально для проверки качества в Paint.NET, сохранял все в PNG не меняя форматов изображений. Парадокс в том что еще и "улучшенное" больше весит чем обычное ! Откуда улучшение ?!
Надеюсь на разъяснения, может кто знаком с таким "явлением" ?.