После более двух лет разработки представлен релиз платформы Mumble 1.4, ориентированной на создание голосовых чатов, обеспечивающих низкие задержки и высокое качество передачи голоса. Ключевой областью применения Mumble является организация общения игроков в процессе прохождения компьютерных игр. Код проекта написан на языке С++ и распространяется под лицензией BSD. Сборки подготовлены для Linux, Windows и macOS.
Проект состоит из двух модулей – клиента mumble и сервера murmur. Графический интерфейс базируется на Qt. Для передачи звуковой информации применяется аудиокодек Opus. Предоставляется гибкая система разграничения доступа, например, возможно создание голосовых чатов для нескольких изолированных групп с предоставлением возможности
отдельного общения лидеров во всех группах. Данные передаются только по шифрованному каналу связи, по умолчанию применяется аутентификация на основе открытых ключей.
В отличие от централизованных сервисов Mumble позволяет хранить данные пользователей на собственных серверах и полностью контролировать работу инфраструктуры, при необходимости подключая дополнительные скрипты-обработчики, для написания которых доступен специальный API на основе протоколов Ice и GRPC. В том числе можно использовать существующие базы пользователей для аутентификации или подключать звуковых ботов, которые, например, могут проигрывать музыку. Возможно управление сервером через web-интерфейс. Для пользователей доступны функции поиска друзей на разных серверах.
Из дополнительных применений упоминается запись совместных подкастов и поддержка позиционного живого звука в играх (источник звука связан с игроком и исходит от его местоположения в игровом пространстве), включая игры насчитывающие сотни участников (например, Mumble используется в сообществах игроков в Eve Online и Team Fortress 2). В играх также поддерживается режим оверлея, при котором пользователь видит с каким именно игроком он разговаривает и может посмотреть FPS и локальное время.
Основные новшества:
- Реализована возможность разработки плагинов общего назначения, которые можно устанавливать и обновлять, независимо от основного приложения. В отличие от ранее предоставляемых встроенных плагинов, новый механизм может применяться для реализации произвольных дополнений и не ограничен средствами для извлечения информации о местонахождении игрока для реализации позиционного звука.
- Добавлен полноценный диалог поиска пользователей и каналов, доступных на сервере. Диалог может вызываться через комбинацию Ctrl+F или через меню. Поддерживается как поиск по маске, так и использование регулярных выражений.
- Добавлен режим прослушивания канала, позволяющий пользователю слышать все звуки, которые слышат участники канала, но без непосредственного подключения к каналу. При этом слушающие пользователи отражаются в списке участников канала, но помечены специальным значком (только в новых версиях, в старых клиентах подобные пользователи не отображаются). Режим однонаправленный, т.е. если слушающий пользователь захочет высказаться, ему необходимо будет подключиться к каналу. Для администраторов канала предоставлены ACL и настройки для запрета подключения в слушающем режиме.
- Добавлен интерфейс TalkingUI, позволяющий понять кто именно сейчас говорит. Интерфейс предоставляет всплывающее окно со списком говорящих в данный момент пользователей, выступающее аналогом всплывающей подсказки в игровом режиме, но предназначенное для повседневного использования не игроками.
- В интерфейс добавлены индикаторы ограничения доступа, позволяющие понять сможет пользователь подключиться к каналу или нет (например, если канал допускает только вход по паролю или привязан к определённой группе на сервере).
- В текстовых сообщениях реализована поддержка разметки Markdown, которую например, можно использовать для отправки в чат списков, отрывков кода, цитат, подсвечивания частей текста жирным или курсивом, оформления ссылок.
- Добавлена возможность воспроизведения стереозвука, позволяющая серверу отправлять звуковой поток в режиме стерео, который не будет преобразовываться клиентом в моно. Указанная возможность может применяться например для создания музыкальных ботов. Отправка звука из официального клиента по-прежнему возможна только в режиме моно.
- Добавлена возможность назначения пользователям ников, что даёт возможность привязать более понятное имя к пользователям, которые злоупотребляют слишком длинными именами или часто меняют имя. Назначенные имена могут показываться в списке участников как дополнительные метки или полностью заменять исходное имя. Ники привязываются к сертификатам пользователя, не зависят от выбранного сервера и не меняются после перезапуска.
- На сервере появилась функции отправки приветственного текста в широковещательном режиме при помощи протокола
Ice. Добавлена поддержка отражения в логе ACL и всех изменений в группах. Добавлены отдельные ACL для управления сбросом комментариев и аватаров. По умолчанию разрешено использование пробелов в именах пользователей. Снижена нагрузка на CPU благодаря включению по умолчанию режима TCP_NODELAY. - Добавлены плагины для поддержки позиционного звука в игре Among Us и в произвольных играх на базе движка Source. Обновлены плагины для игр Call of Duty 2 и GTA V.
- Звуковой кодек Opus обновлён до версии 1.3.1.
- Удалена поддержка Qt4, DirectSound и CELT 0.11.0. Удалена классическая тема оформления.