HQ BTM player

HQ BTM player
В начале 2010х, когда движок CMS WordPress на котором работает BackToMusic был относительно прост, его встроенный плеер играл достаточно прилично. Тогда выянилось, что в среднем потери в звучании при прослушивании музыки онлайн были меньше, чем если скачивать файл и слушать его на компьютере. К середине 2020х WordPress превратился в очень сложную платформу и продолжает усложняться с каждым новым обновлением, соответственно, снижается ясность звучания WP плеера.

Чтобы исправить ситуацию на Javascript был написан максимально простой с точки зрения кода плеер, работающий независимо от движка WordPress. В стартовой версии плеера код Javascript нуждался в дополнительной библиотеке JQuery, которую приходилось загружать вместе с каждой страницей сайта. Несмотря на это, сравнительное прослушивание показало явные преимущества нового плеера в сравнении со встроенным плеером WordPress, плеер получил название «HQ BTM PLAYER». Позже плеер был переписан на чистом Vanilla Javascript, разницу в звучании плееров можно оценить ниже на примере качественных мп3.

17-02-24 — HQ BTM Player 1.0

0:00/0:00
... треков 00:00
...

Плеер WordPress


В последствии код плеера еще не раз переписывался, как ради расширения его технических возможностей, так и для дальнейшего улучшения звучания. Текущая версия плеера отображается над блоком его управления в формате «X.YY-NN», где X.YY — это версия плеера, а NN — номер плейлиста. Описание основных новых функций см. в комментариях.

Антон Степичев

Комментарии

  • V-4.33
    В плеер добавлен регулируемый ФНЧ, реализованный с помощью Web Audio API. После тщательных тестов из трех базовых систем (BiquadFilterNode, AudioWorkletProcessor, Scriptprocessor) и множества вариантов их реализации был выбран наипростейший BiquadFilterNode фильтр первого порядка. Из его недостатков надо отметить заметный резонанс на частоте среза, в остальном все удалось реализовать достаточно прилично. Код написан таким образом, что если изначально не нажимать кнопку ФНЧ, то он не оказывает на звук никакого влияния. Однако после первого включения ФНЧ некоторые вспомогательные процессы, необходимые для работы ФНЧ уже невозможно выгрузить из системы и несмотря на то, что технически в выключенном состоянии ФНЧ полностью исключен из пути аудиосигнала, остаточные процессы все еще влияют на звук и несколько снижают ясность. В большинстве случаев это не принципиально, однако если вас что-то не устраивает, достаточно просто перезагрузить страницу, чтобы вернуть звучание плеера в исходное состояние.
    К сожалению компьютеры и смартфоны Apple плохо работают с Web Audio API, поэтому для MacOS/iOS фунция ФНЧ недоступна. Глючность MacOS/iOS Safari хорошо известна программистам, занимающимся аудио. Она так же хорошо известна и разработчикам софта Apple, однако даже после того, как в 2018 году Apple официально объявила о полной поддежке Web Audio, многие ошибки в их коде так и остаются не исправленными.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Максимальный размер загружаемого файла: 10 МБ. Вы можете загрузить: изображение, аудио, документ, текст, архив. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файлы сюда