Если вы долго сидите за Mac в обычных наушниках — будь то студийные Beyerdynamic/Sennheiser, полноразмерные Sony/Bose или любимые проводные IEM — вы наверняка замечали усталость ушей через пару часов. Причина проста: обычное стерео изначально сводится для колонок в комнате, где левое ухо слышит и левый, и (с микрозадержкой и фильтрацией головой) правый монитор. В наушниках же каналы изолированы на 100%, из‑за чего сцена схлопывается прямо внутри черепной коробки (in‑head localization).
В macOS уже много лет встроен первоклассный аппаратно‑ускоренный бинауральный движок Apple HRTFHQ (kAudioUnitSubType_SpatialMixer). Но на уровне пользовательского интерфейса Apple заблокировала системное пространственное аудио исключительно для владельцев AirPods и некоторых моделей Beats.
Платные «улучшайзеры» звука за 60 часто вешают в систему тяжелые фоновые демоны и портят АЧХ агрессивным эквалайзером или дешевым ревербератором. Поэтому я решил написать легковесную нативную Menu Bar утилиту на чистом Swift (<1% CPU, ~25 МБ RAM), которая берет системный звук macOS, пропускает его через оригинальный бинауральный фильтр Apple HRTFHQ и выносит звуковую сцену из головы вперед — как будто перед вами на столе стоят два студийных монитора.
В этой статье расскажу, как устроен низкоуровневый аудиопайплайн в macOS и какие подводные камни CoreAudio пришлось обойти: