Не даем заснуть колонкам
На выходных задумался, что за последний год у меня сильно изменился шаблон поведения в совершенно стандартных сценариях использования продуктов. Если раньше, встречая какое-то мелкое неудобство, я пробовал его решить настройками или чьим-то готовым решением, то сейчас я начинаю думать — “А нельзя ли это устранить вообще? Что посоветует AI?”. И по результатам небольшого чата вполне может последовать радикальная перенастройка системы или даже написание программы, которая решит проблему.
Я относительно недавно купил себе очередные мониторные колонки для компьютера — KRK GoAux 4. Я понимаю, что использование этих колонок как компьютерных не очень распространено — они недешевы и даже избыточны для проигрывания аудио, но плохой звук для меня неприемлем, а, если я монтирую видео или подкаст, я должен всё слышать хорошо. И колонки прекрасные — в комплект даже входит измерительный микрофон для их настройки точно по месту, где сидит слушатель. Есть только одна проблема — как многие электронные устройства, продающиеся на территории ЕС, они выполняют какую-то директиву по экономии энергии и через некоторый период неактивности отключаются. И это дополнительно неудобно еще и тем, что включаются они не мгновенно, а тратят на процесс несколько секунд.
Описания этой проблемы в сети единодушны — отключить такую “экономию” невозможно, можно лишь обмануть систему, подавая в колонки звук, желательно неслышимый человеку, например, частотой 10 Hz. Кто-то даже сделал страницу, где такой звук воспроизводится — но это какая-то дополнительная процедура, о которой надо помнить.
Однако мозговой штурм вместе с AI обнаружил маленькую программу, которая проигрывает очень тихий звук — это предназначалось для поддержания активности в старых оптических соединениях. Звук играется постоянно, на 1% громкости, и вроде бы должен предотвращать засыпание колонок. И вот тут я себя поймал на мысли — вот же репозиторий с программой, надо поставить, на всякий случай пусть AI всё проверит, а заодно и пооптимизирует.
Примерно через час неторопливого общения с Claude Code была готова нативная (под Apple Silicon) версия программы, в которую мы заодно добавили окно настроек с выбором играть не постоянный звук, а давать импульс раз в N минут.
Правда, тестировать пришлось уже на следующий день — было поздно. Примерно час наблюдений за логами и колонками показал, что программа работает, но колонки засыпают. Пришлось отправить Claude Code в поиск и он нашел, что идея рабочая, но воспроизводить надо сигнал частотой 10 Hz (человек его не слышит) в течение пары секунды и на чуть более высокой громкости. Заодно подобрали, что конкретно этим колонкам надо его играть раз минут в 15.
И вот уже сутки всё работает исправно — колонки не спят, если не спит компьютер, а я уже не должен выполнять ритуал “Включить воспроизведение, обнаружить, что колонки уснули, остановить воспроизведение, вернуть назад, включить колонки, подождать несколько секунд, включить воспроизведение”.
Исходная программа называется MacOS Audio Keepalive, а вот свою пока не покажу — она самоподписанная, смысл ее раздавать?