Skip to content

Repository files navigation

Pulse Light Hub

Platform Device Device Network DSP License Release

Pulse Light Hub — высокопроизводительный автономный музыкальный визуализатор для RGB подсветки Awakening Halo смартфона Realme GT 5. Приложение анализирует системный звук или сигнал с микрофона в реальном времени с нулевой задержкой и управляет четырьмя сегментами глифа через прямой нативный интерфейс аппаратного контроллера.


Ключевые особенности

  • Прямой доступ к аппаратному драйверу: управление подсветкой через Binder IPC транзакцию 75 службы IPowerManager без рут-прав, без фоновых демонов и без сторонних утилит.
  • Профессиональный DSP движок: многополосный спектральный анализ на базе алгоритмов aubio HFC и среднеквадратичной интеграции энергии RMS.
  • Разделение партий ударных: независимое распознавание бочки, баса, рабочего барабана, хлопков и хай-хэтов с компенсацией спектрального спада энергии высоких частот.
  • Сверхнизкая задержка: кадровый рендеринг до 120 FPS с мгновенной атакой импульса и экспоненциальным затуханием.
  • Синхронизация задержки Bluetooth: плавная регулировка оффсета от 0 до 600 мс для устранения рассинхронизации подсветки с беспроводными наушниками и колонками.
  • Круговой выбор цвета Color Picker: плавный селектор «Свой цвет» с калибровкой всех оттенков аппаратного HAL контроллера.
  • Аппаратная калибровка сине-фиолетового спектра: поддержка системных профилей ColorOS, включая королевский ультрамарин 0x8B73BBFF из Always-On, индиго и бархатный фиолетовый.
  • Поканальная настройка глифов: раздельная раскраска четырех независимых сегментов или единый синхронный режим.
  • Динамический режим Rainbow: переключение на новый яркий цвет на каждый новый удар бита.
  • Интеллектуальная автокалибровка: автоматическая настройка чувствительности, порогов и времени затухания под динамику играющего трека.
  • Менеджер пресетов: сохранение пользовательских конфигураций, экспорт и импорт готовых профилей в формате JSON.
  • Полная аппаратная и сетевая безопасность: стопроцентно автономная работа без сетевых разрешений и без передачи данных.

Важные предостережения и приватность

Уведомление о трансляции и записи экрана

При включении захвата внутреннего звука системы Android выводит стандартное системное уведомление: «Идет запись экрана» или «Трансляция звука».

Почему это происходит:

  • В современных версиях Android захват звука других приложений через AudioPlaybackCaptureConfiguration требует наличия системного разрешения MediaProjection.
  • Операционная система Android считает любой запуск проекции потенциальной записью медиапотока и обязана выводить визуальное предупреждение в строке состояния.

Реальное поведение приложения:

  • Pulse Light Hub выполняет только цифровой захват аудиоданных из аудиомикшера системы.
  • Приложение не производит видеозапись, не захватывает изображение с дисплея, не создает скриншотов и не имеет доступа к графическому содержимому экрана.

Стопроцентная автономность: 0 сетевых запросов

  • В манифесте AndroidManifest.xml полностью отсутствуют разрешения INTERNET и ACCESS_NETWORK_STATE.
  • Приложение на аппаратном уровне операционной системы лишено технической возможности открывать сетевые сокеты, совершать HTTP запросы или передавать телеметрию.
  • Весь цикл спектрального анализа аудиосигнала и вычисления яркости глифов выполняется исключительно локально в памяти процессора вашего смартфона.

Подробное руководство по параметрам

1. Основные регуляторы

  • Чувствительность: глобальный множитель усиления входящего звукового сигнала. Определяет общую реакцию визуализатора на тихие и громкие композиции. Значения выше единицы усиливают слабые звуки, значения ниже единицы предотвращают перегрузку на громких треках.
  • Время затухания: интервал плавного угасания свечения светодиодов в миллисекундах. Короткие значения создают резкие стробоскопические вспышки, длинные значения формируют мягкое неоновое свечение.

2. Частотный эквалайзер и разделение битов

Аудиодвижок разделяет звуковой спектр на четыре изолированные частотные полосы:

  • Полоса 0 — Sub Bass: диапазон от 20 до 80 Гц. Отвечает за инфранизкий саб-бас, дропы и вибрацию. Управляет верхним сегментом глифа.
  • Полоса 1 — Kick: диапазон от 80 до 200 Гц. Отвечает за ударную бочку, плотный панч и основной ритмический пульс. Управляет правым сегментом глифа.
  • Полоса 2 — Snare и Clap: диапазон от 200 до 3500 Гц. Отвечает за рабочий барабан, хлопки, вокальные форманты и средние транзиенты. Управляет нижним сегментом глифа.
  • Полоса 3 — Hi-Hat и Percussion: диапазон от 3500 до 18000 Гц. Отвечает за хай-хэты, тарелки и перкуссионный воздух. Для этой полосы активен алгоритм aubio HFC с линейным взвешиванием бинов для преодоления естественного спада энергии высоких частот. Управляет левым сегментом глифа.

Для каждой полосы доступны индивидуальные настройки:

  • Гейн полосы: индивидуальный множитель чувствительности от 0.1x до 3.0x для тонкой балансировки громкости отдельных инструментов.
  • Порог срабатывания: уровень спектрального потока, необходимый для фиксации удара и зажигания диода. Позволяет полностью изолировать случайные шумы.

3. Фильтры и защита от залипания

  • Шлюз громкости: Silence Gate: порог отсечения тишины в процентах от среднеквадратичной громкости. Если уровень звука в треке опускается ниже установленного порога, подсветка моментально отключается. Это предотвращает случайные вспышки от фонового шума в паузах между треками.
  • Минимальное время горения на бит: Min Hold Time: гарантированная длительность импульса свечения. Обеспечивает полное раскрытие пиковой яркости светодиода даже при сверхкоротких щелчках и транзиентах.
  • Максимальное время горения на бит: Max Hold Time: жесткое ограничение непрерывного горения сегмента. Предотвращает превращение светодиодов в непрерывно горящий фонарик при затяжных перегруженных басовых партиях.

4. Режимы работы движка

  • Быстрый режим: Fast: размер буфера 512 точек с кадровой частотой 120 FPS. Идеален для динамичной электронной музыки, скоростного ритма и ритм-игр с минимальной задержкой отклика.
  • Глубокий режим: Deep: размер буфера 1024 точки с удвоенным частотным разрешением. Рекомендуется для сложных акустических композиций, рока и джаза с детальным спектральным разделением инструментов.

5. Автокалибровка и пресеты

  • Автокалибровка: за 3 секунды анализирует динамический диапазон, пиковые всплески и ритмический темп текущей композиции, автоматически выставляя идеальный баланс полос, пороги и оптимальное время затухания.
  • Пресеты: сохранение собственных уникальных стилей анимации, быстрый экспорт конфигурации в буфер обмена в формате JSON и импорт пресетов других пользователей.

6. Управление цветом и глиф-студия

  • Главный переключатель «Все глифы»: единая палитра для всей светодиодной матрицы либо раздельное управление четырьмя сегментами: Верхний, Нижний, Левый, Правый.
  • Палитра 3x5: 10 одиночных заводских цветов и 5 градиентных дуэтов HAL.
  • Круговой Color Picker «Свой цвет»: плавный выбор любого спектрального оттенка с калиброванной белой отметкой и естественными переходами.
  • Аппаратная калибровка фиолетового спектра: точная интеграция регистров Qualcomm HAL для синего 0x8B74BBFF, ультрамарина 0x8B73BBFF, индиго 0x8B72BBFF, бархатного фиолетового 0x8B71BBFF, пурпурного 0x8BFFA8FF и неонового розового 0x8BFFA7FF.
  • Динамический режим Rainbow: мгновенная смена цвета на каждый удар бита с автоматическим визуальным затемнением элементов управления.

Архитектура прямого драйвера

В отличие от стандартных системных решений, Pulse Light Hub не требует модификации системных библиотек или установки сторонних модулей:

  • Прямой вызов интерфейса IPowerManager через Binder IPC: код транзакции 75.
  • Передача битовой маски сегментов:
    • LED A: верхний сегмент, маска 0x01.
    • LED B: правый сегмент, маска 0x02.
    • LED C: нижний сегмент, маска 0x04.
    • LED D: левый сегмент, маска 0x08.
  • Передача 24-битного цвета RGB для каждого активного светодиода.

Сборка из исходного кода

Проект спроектирован по сверхлегковесной офлайн-архитектуре без тяжелых зависимостей Gradle:

# Сборка, выравнивание, подпись и установка через Android SDK CLI:
powershell -ExecutionPolicy Bypass -File .\build.ps1

Лицензия

Проект распространяется под свободной лицензией MIT. Подробности смотрите в файле LICENSE.

About

Offline music visualizer for Realme GT 5 Awakening Halo RGB glyphs using aubio HFC and RMS DSP

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages