Об этом проекте

eqMac — это приложение для macOS для общесистемной эквализации звука и микширования громкости. В README репозитория отмечено, что код здесь соответствует версии 1.3.2 без Pro-функций, а более новые релизы разрабатываются в приватном форке; поддержка открытой разделённой версии бесплатных частей требовала слишком больших усилий. Среди перечисленных текущих функций: бесплатная системная обработка звука, усилитель громкости, поддержка громкости HDMI и баланс громкости для всех устройств, включая HDMI. Варианты эквализации варьируются от базового управления низкими/средними/высокими частотами и фиксированного продвинутого 10-полосного эквалайзера до Pro-экспертного эквалайзера с неограниченным количеством настраиваемых полос (тип фильтра, частота, усиление, ширина полосы). Также указан Pro-анализатор спектра. Интеграция AutoEQ обеспечивает автоматическую эквализацию наушников на основе частотных характеристик, доступную для продвинутого эквалайзера бесплатно и в составе Pro-экспертного эквалайзера. Pro-функции дополнительно включают размещение AudioUnit для сторонних эффектов в аудиоцепочке, симуляцию пространственного звука для имитации условий прослушивания и микшер громкости для отдельных приложений. Пользовательский интерфейс можно настраивать изменением цветов (Pro) и видимостью функций (бесплатно), а настройка расположения упомянута как «скоро». Дорожная карта описывает цель стать универсальным набором аудиоинструментов для macOS и перечисляет такие идеи, как эффекты для входных аудиоисточников для устройств вроде гитары или микрофона, виртуальный выход, горячие клавиши, рекордер, удалённое управление с телефона, раздельный эквалайзер для левого и правого каналов, WebSocket API, а также воспроизведение и рендеринг файлов. Поддержка пользователей осуществляется через GitHub Issues и сообщество Discord, а Pro-клиентам предлагается поддержка через контактную форму на веб-сайте. Технически eqMac состоит из нативного бэкенда приложения, отвечающего за обработку звука, доступ к файловой системе, управление окнами, API и жизненный цикл; веб-интерфейса, созданного на Angular и TypeScript, который размещается удалённо для обновлений по воздуху и кэшируется для автономного использования; а также системного драйвера аудио-петли/сквозной передачи, основанного на примере Apple Null Audio Server Driver Plug-in. Драйвер написан на Swift и работает в пользовательском пространстве, а не в ядре, что в README описывается как более безопасное и стабильное решение по сравнению с более ранними драйверами на уровне ядра, такими как SoundFlower. Он захватывает системный аудиопоток и отправляет его в приложение через защищённый туннель памяти для обработки и вывода на соответствующее аудиоустройство.