After more than two years of development, the Mumble 1.4 release, aimed at creating voice chats that ensure low latency and high voice quality, has been presented. The key area of application for Mumble is facilitating communication among players during video game sessions. The project code is written in C++ and distributed under the BSD license. Builds are available for Linux, Windows, and macOS.
The project consists of two modules— the Mumble client and the Murmur server. The graphical interface is based on Qt. The Opus audio codec is used for transmitting sound information. A flexible access control system is provided; for example, it allows the creation of voice chats for several isolated groups, with the option for separate communication among leaders across all groups. Data is transmitted only over an encrypted communication channel, and public-key authentication is applied by default.
Unlike centralized services, Mumble allows users to store their data on their own servers and fully control the infrastructure, enabling the connection of additional handler scripts if needed. A special API based on Ice and GRPC protocols is available for writing these scripts. Additionally, existing user databases can be used for authentication, or sound bots can be connected, which, for example, can play music. Server management is possible through a web interface. Users have access to friend search functions across different servers.
Additional applications include recording collaborative podcasts and supporting positional live sound in games (where the sound source is linked to the player and emanates from their location in the game space), even in games with hundreds of participants (e.g., Mumble is used in communities for Eve Online and Team Fortress 2). The games also support overlay mode, where the user can see exactly which player they are talking to and check FPS and local time.
Key innovations:
- The ability to develop general-purpose plugins has been implemented, which can be installed and updated independently of the main application. Unlike previously provided built-in plugins, the new mechanism can be used to implement arbitrary extensions and is not limited to extracting player location information for positional audio.
- A full dialog for searching users and channels available on server. The dialog can be invoked using the Ctrl+F combination or through the menu. Both mask search and regular expressions are supported.

- A channel listening mode has been added, allowing users to hear all sounds participants are hearing in the channel, without directly connecting to it. Listening users are reflected in the channel's participant list but marked with a special icon (only in new versions; in older clients, such users are not displayed). The mode is one-way; if a listening user wants to speak, they must connect to the channel. For channel administrators, ACL and settings are provided to prohibit connections in listening mode.

- The TalkingUI interface has been added, allowing users to see who is speaking at that moment. The interface provides a popup window listing currently speaking users, acting as an equivalent to the tooltip in gaming mode but intended for everyday use by non-players.

- Access restriction indicators have been added to the interface, allowing users to understand whether they can connect to the channel or not (for example, if the channel allows entry only by password or is tied to a specific server group).

- Support for Markdown formatting has been implemented in text messages, which can be used to send lists, code snippets, quotes, highlighting text in bold or italics, and formatting links in chat.
- The ability to play stereo sound has been added, allowing server Transmit a stereo audio stream that will not be converted to mono by the client. This feature can be used, for example, to create music bots. Sending audio from the official client is still only possible in mono mode.
- A feature has been added to assign nicknames to users, allowing for a more meaningful name to be linked to users who abuse too long names or frequently change their names. Assigned names can appear in the participant list as additional tags or completely replace the original name. Nicknames are tied to user certificates, do not depend on the selected server, and do not change after a restart.

- The server now has the ability to send welcome text in broadcast mode using the Ice protocol. Support has been added for reflecting changes in the ACL log and all changes in groups. Separate ACLs have been added for managing comment and avatar resets. By default, the use of spaces in usernames is allowed. CPU load has been reduced by enabling TCP_NODELAY mode by default.
- Plugins have been added for supporting positional audio in the game Among Us and in arbitrary games based on the Source engine. Plugins for Call of Duty 2 and GTA V have been updated.
- The Opus audio codec has been updated to version 1.3.1.
- Support for Qt4, DirectSound, and CELT 0.11.0 has been removed. The classic theme has been removed.


Source: opennet.ru





