Я не программист. Я из тех, кто любит технологии и интересные решения и иногда собирает что‑то своими руками, чтобы проверить идею. Эта статья о том, как маленький домашний эксперимент со звуком привёл меня к вопросу, который сейчас, по‑моему, никто толком не задаёт: где должен жить ИИ‑помощник?

Началось всё с одного моего проекта, тоже про звук и про реальное движение человека: телефон в кармане ловит шаги, и в наушниках каждый шаг звучит как по снегу, лесной тропе или под каменными сводами. Пространственный звук там уже работает вживую.

По ходу этой работы я нашёл способ двигать звук вокруг головы: поставить его слева, справа, впереди, вдалеке. Как в ASMR, только место выбираю я сам, прямо пальцем на экране. Поигрался — и заметил одну вещь, которую не встречал как готовый инструмент для слушателя. О ней и хочу рассказать.

Звук, который забирает всё внимание

Когда я задумался, как вообще устроено производство музыки и кино, я увидел общую закономерность. Почти всё рассчитано на то, чтобы полностью захватить внимание слушателя. И желательно, чтобы слушатель при этом сидел на месте.

Сели — слушаем альбом. Сели — смотрим фильм. Надели наушники — и звук заполняет всю голову, от уха до уха. Это прекрасно, когда ты хочешь погрузиться. Но это плохо работает, когда нужно параллельно думать о чём‑то своём: писать, считать, работать руками.

Что уже есть в мире

Потом я полез искать и выяснил, что ничего принципиально нового в самой технике нет. Управлять тем, откуда звучит звук, умеют давно: стерео, бинауральные записи, ASMR, “3D‑аудио” в кино и играх. Это умеет даже обычный браузер, встроенными средствами, без всяких специальных программ.

Но везде одна и та же картина: звуковую сцену заранее строит автор. Звукорежиссёр фильма решил, что вертолёт пролетит слева направо. Автор ASMR‑ролика решил, что шёпот будет у правого уха. А слушателю остаётся одно — принять готовое решение и слушать желательно сидя на месте.

В наушниках с «пространственным звуком» у больших компаний тоже так: эффект можно включить или выключить. Выбрать, где именно будет звучать музыка, — нельзя.

Справедливости ради: сама мысль о музыке, которая не требует внимания, тоже не нова. Брайан Ино ещё в 70-х придумал эмбиент — музыку, которую можно слушать, а можно и не слушать, как часть обстановки. Да и влияние фоновой музыки на работу давно изучают. Но и там место звука в пространстве выбирает не слушатель.

Что я нашёл: звук можно вынести из центра внимания

Вот ради чего я всё это пишу. Когда я начал крутить точку звука, я заметил: если вывести звук из центра головы, меняется сам способ, которым ты его воспринимаешь.

Пока музыка звучит «внутри», от уха до уха, она забирает всё внимание. Стоит отодвинуть её в сторону и немного вдаль — она перестаёт быть главной. Она начинает работать как фон и оставляет голову свободной для других дел.

Это похоже на радио на подоконнике. Оно играет где‑то сбоку, а ты сидишь за компьютером и работаешь. Слышишь его, но оно тебе не мешает. Вот прямо сейчас, пока я пишу этот текст, музыка висит у меня впереди слева, далеко — а я спокойно работаю над текстом.

И одно отличие от настоящего радио, которое мне понравилось ещё больше: эта «колонка» ходит вместе со мной. Встал, пошёл по комнате — звук остаётся там же, где я его поставил относительно себя, с той же громкостью. Мозг быстро привыкает считать собственную голову «комнатой», и точка у правого уха воспринимается именно там.

Ещё одно наблюдение. Если пустить звук летать вокруг головы — по кругу, по спирали, медленно или быстро, — со временем начинаешь лучше различать, где «впереди», а где «сзади». Получается своего рода тренировка слуха и внимания.

Wisp Player: что получилось

Из этих игр вырос проект, который я назвал Wisp Player — «эхо на плече». Первая ассоциация, когда звук заиграл у меня на плече, была пират с попугаем. Попугай остался персонажем, его и назвал Wisp, а еще можно Whispering Immersive Sound Partner.

Это плеер, который работает прямо в браузере телефона. Ничего ставить не нужно. Что он умеет:

  • Радар. В центре — вы. Перетаскиваете пальцем метку (попугая) — и звук переезжает туда: на плечо, вперёд, за спину, вдаль до 3 метров.

  • Даль. Чем дальше точка, тем тише и глуше звук, а при желании добавляется немного «простора», как в комнате.

  • Орбита. Звук сам летает вокруг головы по выбранной фигуре: круг, овал, восьмёрка, спираль, комета, маятник, свободное блуждание. Скорость и размер настраиваются.

  • Аудиокниги. Можно открыть файлы или целую папку. Плеер помнит, где вы остановились в каждой главе.

  • Интернет‑радио. Можно добавить станцию по прямой ссылке на поток.

  • Удобства: скорость 1–1,5×, таймер сна, замок радара, чтобы в кармане ничего не сдвинулось, и кнопка «3D выкл», чтобы сравнить с обычным стерео.

  • Скины, как в старом добром Winamp. Они меняют весь вид плеера, а не только цвета. Скин — это файл, его можно сохранить, переделать и передать другу.

Как это устроено

Всё сделано на Web Audio — это звуковой «конструктор», который встроен в любой современный браузер. Отдельный сервер не нужен: плеер — одна HTML‑страница, а ваши файлы никуда не уходят и играют прямо на телефоне. Код я собирал вместе с ИИ‑ассистентом: я придумывал и проверял на слух, он писал. Код открыт: github.com/knz75/wisp‑player, лицензия MIT.

Цепочка простая:

  1. Свести звук в моно. Иначе стереозапись звучит размыто: «полкниги здесь, полкниги там». Моно превращает звук в точку.

  2. Поставить точку в пространство. Для этого есть модель HRTF — она описывает, как голова и ушные раковины окрашивают звук, идущий с разных сторон. Браузер даёт её готовой, усреднённой.

  3. Добавить даль. Дальше — значит тише, глуше (срезаются высокие частоты, на 3 метрах остаётся до 5 кГц) и чуть больше «простора», то есть короткого затухающего эха.

  4. Двигать плавно. Точка меняет положение через плавный переход, иначе при перетаскивании появляются щелчки.

Орбита — это та же точка, которая каждые 40 мс сдвигается по формуле фигуры. Круг — синус и косинус. Комета летит по законам Кеплера: медленно висит вдали и быстро проносится у головы.

Сердце плеера выглядит примерно так:

javascript

const ctx = new AudioContext();
const src = ctx.createMediaElementSource(audio); // наш <audio>

const mono = ctx.createGain();          // стерео → моно: звук становится точкой
mono.channelCount = 1;
mono.channelCountMode = 'explicit';

const far = ctx.createBiquadFilter();   // даль: срезаем высокие частоты
far.type = 'lowpass';

const panner = ctx.createPanner();      // ставим точку в пространство
panner.panningModel = 'HRTF';

src.connect(mono).connect(far).connect(panner).connect(ctx.destination);

// попугай на правом плече, чуть впереди (метры: x - вправо, z - назад)
panner.positionX.value = 0.6;
panner.positionZ.value = -0.2;

Честно об ограничениях

  • Нужны наушники. Без них никакого пространства не будет.

  • Все слышат по‑разному. Браузер использует «усреднённые уши». Лево и право слышат все, а «впереди» и «сзади» некоторые путают — это обычная история для наушников. Движение звука помогает: по моему опыту, со временем различать становится легче.

  • Звук привязан к голове, а не к комнате. Повернули голову — звук повернулся вместе с вами. Это сознательное решение, почему — в разделе про ИИ.

  • Радио — не все станции. Двигать звук можно, только если станция это разрешает. Остальные играют обычным стерео, плеер честно об этом пишет. И нужна прямая ссылка на поток на https.

  • Быстрые орбиты у части людей через пару минут могут вызвать лёгкое головокружение. Поэтому по умолчанию скорость спокойная.

  • Это проект одного человека, сделанный в свободное время. Где‑то он наверняка ещё неидеален.

Что дальше

  • Ползунки вместо выключателей. Сколько «простора» и насколько глухо звучит даль — каждый подстроит под свои уши.

  • Мини‑калибровка на полминуты. Звук играет спереди и сзади, вы отвечаете, где слышите, и плеер подстраивается.

  • Мечта на будущее — приложение для Android, где сообщения и уведомления тихо шепчутся с плеча. Это уже не браузер, а отдельная большая задача.

Так где же всетаки живёт ИИ?

И тут игры со звуком неожиданно сошлись с тем, что происходит вокруг. Нам со всех сторон предлагают цифровых помощников: Алиса, Siri, Gemini, ChatGPT, недавние «доты» от OpenAI — агенты, которые работают постоянно и сами зовут тебя, когда нужно твоё решение.

Но все они живут снаружи: в экране, в колонке на полке, в телефоне. Говорить с ними голосом уже нормально — я и сам так делаю на улице. А вот ответ снова приходит либо на экран, либо в наушники «на всю голову», где забирает всё внимание.

А пространство вокруг собственной головы почти никто не использует. И там такому помощнику можно дать постоянное место — например, на плече. Часть этих помошников и так называют голосовыми, а значит их основная комуникация звук, а где лучше всего слышно, естественно как можно ближе к уху. И желательно чтобы он не врывался в голову диким будильником, а тихо подсказывал со стороны, как попутчик.

Поэтому я сознательно не привязываю звук к комнате или улице. Голова всё время крутится: тело идёт вперёд, а взгляд успевает обойти всё вокруг. Голос помощника должен быть частью тебя, а не частью мира — как попугай на плече у пирата, который поворачивается вместе с хозяином.

Мысль раскладывать звук вокруг человека не нова: ещё в конце 90-х в MIT был проект Nomadic Radio, где почта и новости звучали в пространстве вокруг слушателя. Но тогда это было громоздкое железо. Сегодня хватает телефона, любых наушников и браузера.

Пример под рукой: у меня есть бот‑аудиогид. По геолокации он находит интересные места рядом, ИИ пишет о них короткий рассказ и озвучивает его. Пока я слушаю эти рассказы обычным образом. Но это ровно тот момент, когда хочется чтоб такой мини гид тихонько нашоптывал тебе интересную историю пока ти идёшь, смотришь на здания, по сторонам, а не в экран, и этот рассказ пливет рядом с тобой.

Люди разные, кому‑то мешает даже радио. Поэтому главное, по‑моему: человек сам решает, где звучит его помощник. А помощников куда‑то девать придётся. Я бы посадил их на плечо.

Wisp Player — моя маленькая попытка показать, как это может ощущаться уже сейчас.

Почему я выношу это на обсуждение

Можно было поиграться и забыть. Но мне кажется, что эффект «звук в стороне не забирает внимание» — это не просто моя субъективная штука. И такой вариант использования имеет место на жизнь.

Плеер бесплатный, живёт по адресу wispplayer.com. Наденьте наушники, откройте любую аудиокнигу, музыку или радио и поставьте звук в стороне.

Мне очень интересны ответы на три вопроса:

  1. Где вы слышите точку «впереди»: впереди, сзади или внутри головы?

  2. Мешает ли вам музыка в стороне работать или думать — меньше, чем обычно, или так же?

  3. Вернулись ли вы к плееру на следующий день?

Пишите в комментариях, ругайте, предлагайте. Отдельно буду рад тем, кто попробует и отпишется как с восприятием «орбиты», «кометы» или «блуждание» при прогулках на улице.

Комментарии (0)