Пространственный звук в конференциях и групповых звонках

Автор: Николай СапуновОбновлено: август 202623 мин чтения
Содержание статьи +

Кратко

Пространственный звук в видеозвонке размещает голос каждого участника там, где на экране находится его плитка: говорящий слева слышен слева, говорящий справа – справа. Это не просто украшение: когда несколько человек говорят одновременно, мозг использует угол между голосами, чтобы выделить один из них – эффект, известный как пространственное освобождение от маскировки. Поэтому пространственный звонок ощущается заметно менее утомительным, чем обычный плоский.

Проблема в том, что преимущество проявляется только на стереонаушниках или стереоколонках, теряется на моно-динамике телефона и сегодня не работает через обычный Bluetooth в Microsoft Teams – из-за этого функция автоматически отключается чаще, чем ожидают продуктовые команды. Если ваш сервис построен на WebRTC, реализуйте пространственный звук через Web Audio API с индивидуальным позиционированием для каждого голоса. Следите также за новым кодеком 3GPP IVAS, который позволит передавать позиционированные голоса прямо в телефонные звонки, как только их поддержат операторы и устройства.

Почему это важно

Если вы развиваете продукт для видеоконференций, телемедицину, виртуальный класс или приложение для контакт-центра, ваши пользователи часами слушают несколько голосов, сведённых в один плоский канал, и устают быстрее, чем принято признавать. Пространственный звук – один из немногих апгрейдов аудио, который улучшает понимание, а не просто верность звучания: он облегчает разбор пересекающейся речи и делает очевидным, «кто это только что сказал». Эта статья – для продакт-менеджера, основателя или операционного руководителя, который решает, стоит ли это строить, и для инженера, которому это придётся собирать. К концу вы будете знать, что именно вычисляет пространственный звук, почему он окупается только при определённых условиях прослушивания, как его реализуют Teams, Zoom, Google Meet, FaceTime и LiveKit, и три ошибки, превращающие функцию в тикет поддержки вместо аргумента для продажи.

Что значит «пространственный звук в звонке»

Начнём с обычного случая, потому что апгрейд имеет смысл только на его фоне. В обычном групповом звонке голос каждого участника – моно, один канал, и приложение воспроизводит этот единственный канал в оба уха с одинаковой громкостью. Технически это head-locked, или центрированный микс: каждый голос расположен ровно по центру головы, поверх всех остальных. У мозга нет пространственной подсказки для их разделения, поэтому, когда говорят двое одновременно, слова накладываются друг на друга, и оба теряются.

Пространственный звук меняет одно: он придаёт каждому голосу позицию. Приложение определяет, где должен находиться каждый говорящий относительно вас – обычно это место совпадает с расположением его видео-плитки, – и преобразует моно-голос в стерео-пару (сигнал для левого и правого уха), которую мозг воспринимает как «звук исходит оттуда». Microsoft описывает свою реализацию именно так: когда кто-то говорит, «вы услышите его голос из соответствующей позиции на экране встречи», поэтому человек в дальнем левом углу экрана звучит слева, а сосед рядом – чуть ближе к центру.

Простейший способ – панорамирование: сделать голос громче в левом ухе и тише в правом. Уже этого достаточно, чтобы получить базовый разброс слева направо. Более убедительный метод использует head-related transfer function – измерение того, как голова и уши человека изменяют звук в зависимости от направления его прихода. Эту передаточную функцию – её почти всегда обозначают как HRTF – мы подробно рассмотрели в статье амбисоника, HRTF и бинауральный рендеринг; здесь нам нужен только результат: применение HRTF к голосу заставляет плоскую пару наушников звучать так, будто голос действительно находится в комнате – выше, ниже или позади вас, а не просто слева или справа.

Рисунок 1. При плоском миксе все голоса сводятся в центр головы, а при пространственном – каждая плитка отображается в отдельную позицию на дуге вокруг слушателя и рендерится с учётом направления (панорамирование или HRTF), поэтому пересекающиеся голоса остаются различимыми.

Почему это важно для мозга: освобождение пространства от маскировки

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

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

Есть второй, связанный выигрыш, важный для долгих встреч: пространственное снижение когнитивной нагрузки. Исследование 2017 года в Journal of the Association for Research in Otolaryngology измеряло активность префронтальной коры, пока слушатели следили за целевым голосом на фоне конкурирующего, и обнаружило, что разнесение говорящих в пространстве снижает умственное усилие при восприятии речи. То же исследование добавляет важную оговорку, которую часто упускают маркетинговые материалы: наибольший эффект наблюдался при промежуточной разнице громкости между говорящими – он ослабевал, когда один голос был значительно громче или тише другого. Проще говоря, пространственное разнесение помогает сильнее всего, когда конкурирующие голоса примерно равны по громкости – а это как раз типичная ситуация на групповом звонке, где микрофоны у всех настроены на схожий уровень.

«Ошибка – продавать «погружение» вместо понятности. Пространственный звук в звонке – не про кинематографичность встречи. Измеримая и защитимая польза – снижение усилий при слушании и облегчение восприятия пересекающихся голосов. Подавайте это как «следите за перебиваниями без усталости», а не «перенеситесь в комнату» – второе утверждение скептичный покупатель опровергнет уже после одной демонстрации на динамиках ноутбука.»

Условие, которое всё решает: устройство прослушивания

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

Это единственное требование объясняет все ограничения платформ, о которых пойдёт речь далее. Microsoft прямо указывает: пространственный звук в Teams работает только на проводных стерео-наушниках USB, проводных стерео-колонках или встроенных стерео-динамиках устройства, но не поддерживается на Bluetooth-устройствах – поскольку классические Bluetooth-гарнитуры автоматически переключаются на низкокачественный моно-режим, как только включается микрофон. Компания отмечает, что стандарт Bluetooth следующего поколения – LE Audio, способный передавать стереозвук при активном микрофоне, будет поддерживаться. Почему классический Bluetooth переходит в моно во время звонков, мы подробно объясняем в статье эхоподавление на громкой связи, Bluetooth и AirPods, а как LE Audio решает эту проблему – в материале LC3 и LC3plus, новый стандарт Bluetooth-аудио.

Практический вывод: значительная доля пользователей – любой на обычных Bluetooth-наушниках во время звонка или на ноутбуке с крышкой под углом, когда стерео-динамики стреляют вбок, – вообще не получает пространственного эффекта. Хорошо сделанная функция распознаёт это и тихо откатывается к обычному моно-миксу, а не выдаёт сломанно звучащий стерео-образ. Teams именно так и делает, а ещё отключает пространственный звук при нехватке полосы сети или памяти устройства.

Как это делают крупные платформы в 2026

Четыре потребительские реализации и одна для разработчиков охватывают всё поле. Они отличаются не столько идеей, сколько глубиной проработки и требованиями к слушателю.

Microsoft Teams

Teams отображает голос каждого участника, размещая его на соответствующей плитке на вашем экране, и воспроизводит результат в стерео. Это метафора переговорной комнаты: голоса распределены слева направо по галерее. Ограничения те же: поддерживается только проводной стереовывод, Bluetooth не используется, а функция недоступна в звонках один на один и на встречах с более чем 100 участниками – в тех случаях, когда пространственное расположение либо не имеет смысла (один человек), либо не может быть реализовано корректно (сотня участников). Включить можно в Настройки → Устройства.

Zoom

Zoom распределяет голоса участников по стереополю в зависимости от их положения в Gallery или Immersive View. На данный момент эта функция ограничена: пространственный звук доступен только в Zoom Rooms и десктопном приложении Zoom Workplace, работает в режиме галереи или immersive-раскладки и не поддерживает беспроводные наушники. Целевой сценарий использования – переговорная комната с обычной стереопанелью динамиков, а не пользователь в наушниках.

Google Meet и Google Beam

Обычный Google Meet действовал осторожнее: в конце 2025 года добавили стерео-звук для демонстрируемых презентаций, расширяя аудиообраз для контента с экрана, а не для позиционирования участников. Более амбициозная работа в области пространственного звука реализована в Google Beam – системе 3D-телеприсутствия, которая в 2026 году была расширена на групповые встречи в Zoom и Meet и привязывает каждый голос к говорящему, изображённому в натуральную величину на экране Beam – это самая точная привязка позиции к человеку среди массовых систем, поскольку «позиция на экране» здесь – настоящий 3D-рендер человека.

Apple FaceTime

Apple идёт дальше всех в реализации бинаурального звука. FaceTime размещает голоса в соответствии с позицией каждого участника на экране и воспроизводит их с использованием HRTF и трекинга головы через AirPods – так звуковое поле остаётся стабильным при поворотах головы. Компания также предлагает персональный пространственный звук: с помощью камеры iPhone вы сканируете голову и уши, чтобы создать индивидуальный профиль HRTF вместо стандартного – это обеспечивает более чёткое и персонализированное звучание, а профиль автоматически синхронизируется между устройствами Apple. FaceTime сочетает эту технологию с режимом Voice Isolation, который подавляет фоновый шум, сохраняя чистоту позиционированных голосов – о таких системах шумоподавления мы подробно писали в статье шумоподавление: RNNoise, Krisp, NVIDIA RTX Voice.

ПлатформаОткуда позицияРендерингТребование к выводуОгр. (2026)
Microsoft TeamsПозиция плиткиСтерео-панПровод. стерео / встр. стерео; нет BluetoothНет 1:1, нет встреч > 100
ZoomМесто в галерееСтерео-полеZoom Rooms / Workplace desktop; без беспровод.Для комнат, не наушников
Google MeetТолько звук презентацииРасш. стереоСтерео-выводНет позиции по участнику
Google BeamРеальный 3D-рендерПривязан к человекуОборудование BeamНужен экран Beam
Apple FaceTimeПозиция плиткиHRTF + трекинг головыAirPods / стереоЭкосистема Apple

Победитель в «рендеринге» зависит от сценария: HRTF + трекинг головы (FaceTime) – самый убедительный в наушниках; стерео-панорамирование (Teams/Zoom) – самый переносимый.

Реализация своими силами: путь WebRTC

Если у вас собственный сервис реального времени на базе WebRTC, пространственный звук бесплатно не получить – но браузер уже предоставляет необходимые инструменты. Конвейер, доставляющий голос каждого участника в браузер, мы подробно разбираем в статье конвейер аудио WebRTC целиком; пространственный звук – это этап обработки, который вы добавляете после получения каждого удалённого голоса и до его вывода на динамики.

Движок – Web Audio API, рекомендация W3C с 17 июня 2021 года, а именно его PannerNode. PannerNode принимает позицию (x, y, z) для источника звука и позицию с ориентацией (x, y, z) для слушателя, вычисляя стерео-выход. У него два режима: panningModel. Режим equalpower – простое лево-правое панорамирование: быстрый, экономичный по памяти, подходит для плоской галереи. Режим HRTF использует свёртку с измеренными импульсными характеристиками человеческого уха, создавая настоящий бинауральный эффект; в наушниках звучит значительно лучше, но требует больше памяти и вычислительных ресурсов – на это сама спецификация указывает как на проблему для слабых мобильных устройств.

Архитектура на практике, взятая из опубликованного руководства LiveKit по WebRTC, проста. Аудиотрек каждого удалённого участника становится MediaStreamAudioSourceNode. Каждому присваивается свой PannerNode. Поскольку паннер принимает только одну позицию, вы вычисляете положение каждого удалённого голоса относительно себя простым вычитанием, а затем обновляете паннер по мере перемещения участников или изменения компоновки галереи. Вот ядро логики, сведённое к основным вызовам:

// Превращаем один удалённый голос WebRTC в позиционированный стерео-источник.
const ctx = new AudioContext();
const source = ctx.createMediaStreamSource(remoteStream);
const panner = ctx.createPanner();

panner.panningModel = "HRTF";      // настоящий бинаурал; "equalpower" — ради экономии CPU
panner.distanceModel = "exponential";
panner.refDistance = 100;          // дистанция, на которой громкость не ослаблена
panner.maxDistance = 500;          // дальше — без дополнительного ослабления
panner.rolloffFactor = 2;          // как быстро громкость падает с дистанцией

source.connect(panner).connect(ctx.destination);

// Позиция = плитка удалённого минус моя позиция, то есть относительно меня.
const relX = remote.x - me.x;
const relY = remote.y - me.y;
panner.positionX.setTargetAtTime(relX, ctx.currentTime, 0.02); // плавность 20 мс
panner.positionZ.setTargetAtTime(relY, ctx.currentTime, 0.02); // 2D y → z

Две детали из этого фрагмента стоят внимания. Во-первых, модель дистанции (exponential, с refDistance, maxDistance и rolloffFactor) позволяет дальнему участнику в виртуальной комнате звучать тише – это полезно в пространственной раскладке «офис», но не имеет смысла в фиксированной галерее, где все находятся на одинаковом расстоянии. Во-вторых, вызов setTargetAtTime с малой постоянной времени (здесь – двадцать миллисекунд) плавно перемещает позицию вместо рывка, поэтому голос, перепрыгивающий плитки, не издаёт щелчков. Резкая смена позиции – частая причина артефактов.

Откуда берутся позиции? В галерее вы отображаете столбец каждой плитки по оси x между левым и правым краем. В приложении виртуального пространства – 2D-офисе или комнате в стиле игры – координаты аватара передаются паннеру напрямую, а свою позицию вы отправляете участникам через data-канал WebRTC. То, где происходит микширование – на стороне клиента или на сервере, – зависит от топологии. Мы сравниваем подходы в статье аудио в SFU, MCU и P2P: SFU пересылает каждый голос отдельным треком, что идеально подходит для клиентского пространственного рендеринга, тогда как серверный микшер (MCU) должен рендерить пространственный микс для каждого слушателя – что значительно дороже.

Разобранный пример раскладки

Допустим, в галерее четверо участников, и вы хотите распределить их голоса по дуге в 180 градусов перед слушателем. Отобразите четыре позиции по азимутам: −60°, −20°, +20° и +60°. Переведите каждый угол в координаты на единичной окружности в горизонтальной плоскости: x = sin(угол), z = −cos(угол). Для говорящего на +60°:

x = sin(60°)  = 0.87   (заметно вправо)
z = −cos(60°) = −0.50  (перед слушателем)

Подайте (0.87, 0, −0.50) паннеру этого участника – и его голос окажется вверху справа, совпадая с плиткой в правом верхнем углу. Повторите для каждого – и левая-правая раскладка галереи станет слышимой дугой слева направо.

Грядущая перемена: пространственный голос в самой сети

Всё выше описано рендерит пространственный звук на устройстве слушателя из моно-голосов. Другой подход приходит из мира телеком-стандартов: передавать пространственную информацию в кодеке, через сеть.

Этот кодек – IVAS, Immersive Voice and Audio Services – был стандартизован 3GPP в Release 18 (заморожен в июне 2023 года) как первый кодек, разработанный для иммерсивной связи в сетях 5G. IVAS обратно совместим с речевым кодеком EVS, который уже описан в семействе речевых кодеков, и поддерживает моно-, стерео-, многоканальный звук, амбисонику и объектное аудио. Его конференц-режим, называемый Independent Streams with Metadata, передаёт голос каждого участника отдельным аудиопотоком с метаданными о позиции, а принимающее устройство рендерит их в пространственную сцену – при этом оно может синхронизировать их с параллельно передаваемой видеосценой.

Числа, которые стоит запомнить: IVAS работает в диапазоне 13,2–512 кбит/с, а в параметрическом объектном режиме передаёт три–четыре свободно размещённых голоса всего при 24,4 или 32 кбит/с и восстанавливает их позиции на приёмнике. Это пространственные конференции почти при битрейтах обычного звонка. Проблема – в развёртывании: IVAS требует поддержки как в сети, так и в устройстве, а этот процесс на начало 2026 года ещё находится на ранней стадии – поэтому для сервиса, который вы запускаете сегодня, остаётся актуальным подход на стороне устройства через Web Audio, а IVAS – это путь, за которым стоит следить ради нативных мобильных пространственных звонков.

Когда это окупается, а когда – уловка

Пространственный звук оправдан, когда выполняются три условия: участники часто перебивают друг друга, слушатели используют стерео-наушники или стерео-колонки, а встреча длится достаточно долго, чтобы усталость стала заметной. Подходят многосторонние обсуждения, панельные сессии, занятия в классе, групповые телемедицинские консультации и мониторинг в контакт-центре. Это избыточная трата – бесполезные затраты – в других случаях: звонки один на один (перебиваний нет, разделять нечего – поэтому Teams отключает эту функцию), большие таун-холлы, где один человек выступает перед пассивной аудиторией, и любые ситуации, когда большинство пользователей подключены к одному моно-динамику.

«Ошибка – игнорировать набор устройств. Перед стройкой замерьте, на чём ваши пользователи реально слушают. Если большая часть трафика – мобильные на одном динамике телефона или на классических Bluetooth-наушниках, пространственный звук будет выключен для большинства, и инженерные затраты купят немного. Сначала инструментируйте тип устройства вывода; стройте функцию для сегмента, который её услышит.»

Где здесь Фора Софт

Мы разрабатываем реальное аудио для видеоконференций, телемедицины, онлайн-обучения и live-шопинга с 2005 года, и пространственный звук – это как раз та часть конвейера, с которой мы работаем каждый день: клиент WebRTC, SFU, пересылающий каждый голос своим треком, и условия устройства и сети, определяющие, будет ли эта функция работать или тихо отключится. В групповых продуктах повторяющиеся инженерные задачи – не самые яркие: распознать устройство вывода слушателя, корректно перейти на моно, плавно управлять позициями без артефактов и решить, рендерить пространственный звук на клиенте или на сервере под каждого слушателя. Именно эти решения отличают функцию пространственного звука, снижающую усталость от встреч, от той, что порождает тикеты в поддержке.

Главное

  • Пространственный звук размещает каждый голос рядом с его плиткой, превращая плоский микс в звуковую дугу слева направо.
  • Главная польза – в ясности: угловое разделение помогает мозгу различать пересекающиеся голоса.
  • Функция работает только при двухканальном звучании – через стерео-наушники или стерео-колонки.
  • Обычный Bluetooth переключается в моно во время звонков, поэтому Teams и другие приложения отключают эту функцию.
  • Реализуйте на WebRTC с использованием PannerNode Web Audio API – по одному каналу на удалённый голос, с позицией, рассчитанной относительно пользователя.
  • 3GPP IVAS будет передавать позиционированные голоса непосредственно в кодеке, как только сети и устройства начнут поддерживать эту технологию.

Что почитать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.