# Room EQ для Mini 2 Калибровка воспроизводит короткий свип через Mini 2. Анализ выравнивает запись по двум меткам, проверяет шум, перегрузку и рассинхронизацию, затем строит сглаженную относительную АЧХ. Фильтры работают на музыкальном входе PulseAudio. На ответы ассистента коррекция не влияет. Тестовый сигнал ограничен −16 dBFS и запускается при громкости станции от 10 до 65% и поставленном на паузу Spotify. ## Подготовка Запускай команды из корня репозитория. Для автоматической записи на Mac нужны Swift из Xcode Command Line Tools и разрешение macOS на микрофон. Чтобы использовать USB-микрофон, выбери его как вход в настройках звука macOS. У `calibrate.py` можно передать `--host`, `--port`, `--identity` перед командой. ```sh python3 -m venv room-eq/.venv room-eq/.venv/bin/pip install -r room-eq/requirements.txt mkdir -p room-eq/results # Для первой установки на колонку нужны Zig, curl, ar и tar. room-eq/build.sh room-eq/.venv/bin/python room-eq/calibrate.py install ``` ## Встроенные микрофоны Сними аппаратное отключение микрофона. На время записи голосовой клиент уступит доступ к ALSA и затем запустится снова. ```sh room-eq/.venv/bin/python room-eq/calibrate.py capture room-eq/results/placement.raw room-eq/.venv/bin/python room-eq/calibrate.py fit --internal room-eq/results/placement.raw --output room-eq/results/placement ``` Чтобы измерить именно эффект установки у стены или в углу, сначала запиши колонку на открытом месте, сохранив громкость и ориентацию, а затем там, где она обычно стоит. Передай открытую запись через `--reference room-eq/results/open.raw` в конец команды `fit`. Четыре встроенных микрофона видят прежде всего ближнее поле. Этот режим ищет широкие повторяющиеся пики в районе 150–500 Гц и ограничивает срез до 3 дБ. ## Внешний микрофон Расположи микрофон на высоте ушей. Начни с обычной точки прослушивания и добавь ещё две точки на расстоянии примерно 30–50 см или в других местах, где обычно сидишь. Сохраняй громкость, ориентацию и выбранный вход. На время каждого замера сохраняй тишину. ```sh room-eq/.venv/bin/python room-eq/calibrate.py record-mac room-eq/results/seat-1.wav room-eq/.venv/bin/python room-eq/calibrate.py record-mac room-eq/results/seat-2.wav room-eq/.venv/bin/python room-eq/calibrate.py record-mac room-eq/results/seat-3.wav room-eq/.venv/bin/python room-eq/calibrate.py fit room-eq/results/seat-[123].wav --output room-eq/results/room room-eq/.venv/bin/python room-eq/calibrate.py plot room-eq/results/room.csv room-eq/results/room.png ``` На телефоне открой [страницу записи](https://miniapp.pepega.systems/room-mic) в обычном браузере, начни запись и сразу запусти `calibrate.py play` на компьютере, подключённом к станции. Перенеси скачанные WAV на компьютер. Запись обрабатывается на устройстве. Если браузер сообщает об активной автоматической обработке микрофона, используй Mac или USB-микрофон. Кривые нормируются по диапазону 750–1900 Гц, поэтому показывают относительный баланс, без абсолютного SPL и поправки на АЧХ конкретного микрофона. Внешний режим ищет пики примерно от 125 до 920 Гц. Медиана показывает общий баланс, а разброс и нижний квартиль помогают отсеять пики, характерные для одной точки. Цель имеет лёгкий наклон в сторону тёплого звучания. Провалы не поднимаются. Суммарный срез ограничен 6 дБ, а по одной записи применяются более строгие ограничения. Если безопасных фильтров нет, команда оставит список пустым. ## Прослушивание и повторный замер При наличии фильтров загрузи профиль. По умолчанию музыкальный тракт остаётся в исходном режиме. Включи знакомую музыку и запусти слепое сравнение. Команда `ab` подбирает приближённо равный уровень и при выходе возвращает исходный тракт. ```sh room-eq/.venv/bin/python room-eq/calibrate.py apply room-eq/results/room.json room-eq/.venv/bin/python room-eq/calibrate.py ab ``` Снова поставь Spotify на паузу и запиши исходные точки в том же порядке с `record-mac … --preset corrected`. Для телефона запусти `play corrected`, для встроенного микрофона — `capture … --preset corrected`. Проверь, где изменилось звучание, а не только среднее отклонение по комнате. ```sh room-eq/.venv/bin/python room-eq/calibrate.py verify room-eq/results/room.csv room-eq/results/after-[123].wav --output room-eq/results/check room-eq/.venv/bin/python room-eq/calibrate.py plot room-eq/results/check.csv room-eq/results/check.png ``` Включить сохранённую коррекцию можно командой `eq`, вернуть исходный тракт — `off`, удалить профиль — `disable`. Скрипт Spotify восстанавливает выбранный режим при запуске PulseAudio. После перестановки колонки имеет смысл снять новый замер.