Après plus de deux ans de développement, la version 1.4 de la plateforme Mumble est maintenant disponible, axée sur la création de conversations vocales offrant de faibles latences et une haute qualité de transmission vocale. L'un des principaux domaines d'application de Mumble est l'organisation de la communication entre les joueurs pendant leurs sessions de jeu. Le code du projet est écrit en C++ et est distribué sous licence BSD. Des versions sont disponibles pour Linux, Windows et macOS.
Le projet se compose de deux modules : le client Mumble et le serveur Murmur. L'interface graphique est basée sur Qt. L'audiocodex Opus est utilisé pour la transmission de l'information sonore. Un système flexible de gestion des accès est proposé, permettant, par exemple, de créer des conversations vocales pour plusieurs groupes isolés avec la possibilité d'un dialogue séparé pour les leaders de tous les groupes. Les données sont transmises uniquement par canal de communication chiffré, l'authentification par clés publiques étant appliquée par défaut.
Contrairement aux services centralisés, Mumble permet de stocker les données des utilisateurs sur ses propres serveurs et de contrôler entièrement l'infrastructure, avec la possibilité d'ajouter des scripts de traitement supplémentaires, pour lesquels une API spéciale basée sur les protocoles Ice et GRPC est disponible. Il est également possible d'utiliser des bases d'utilisateurs existantes pour l'authentification ou d'intégrer des bots vocaux, capables par exemple de jouer de la musique. La gestion du serveur se fait via une interface web. Des fonctionnalités de recherche d'amis sur différents serveurs sont accessibles aux utilisateurs.
Parmi les applications supplémentaires, on note l'enregistrement de podcasts collaboratifs et le support du son spatial en temps réel dans les jeux (la source sonore étant liée au joueur et émanant de sa position dans l'espace de jeu), y compris dans des jeux accueillant des centaines de participants (par exemple, Mumble est utilisé dans les communautés de joueurs d'Eve Online et Team Fortress 2). Dans les jeux, un mode superposition est également pris en charge, permettant à l'utilisateur de voir avec quel joueur il converse et de vérifier le FPS et l'heure locale.
Les principales nouveautés :
- La possibilité de développer des plugins génériques a été mise en œuvre, pouvant être installés et mis à jour indépendamment de l'application principale. Contrairement aux plugins intégrés précédemment fournis, le nouveau mécanisme peut être utilisé pour mettre en œuvre des compléments arbitraires et n'est pas limité aux moyens d'extraction des informations de localisation du joueur pour réaliser un son directionnel.
- Un dialogue de recherche complet pour les utilisateurs et les canaux disponibles sur le serveur. Le dialogue peut être invoqué via la combinaison Ctrl+F ou à partir du menu. La recherche par motif et l'utilisation d'expressions régulières sont prises en charge.

- Un mode d'écoute du canal a été ajouté, permettant à l'utilisateur d'entendre tous les sons entendus par les participants au canal, sans se connecter directement au canal. Les utilisateurs écoutants sont affichés dans la liste des participants au canal, mais sont marqués par une icône spéciale (uniquement dans les nouvelles versions, dans les anciennes versions, ces utilisateurs ne sont pas affichés). Le mode est unidirectionnel, c'est-à-dire que si l'utilisateur écoutant souhaite prendre la parole, il devra se connecter au canal. Pour les administrateurs de canal, des ACL et des paramètres sont fournis pour interdire la connexion en mode écoute.

- Une interface TalkingUI a été ajoutée, permettant de savoir qui parle actuellement. L'interface fournit une fenêtre contextuelle avec une liste des utilisateurs parlant en ce moment, agissant comme une infobulle en mode jeu, mais destinée à un usage quotidien non joueur.

- Des indicateurs de restriction d'accès ont été ajoutés à l'interface, permettant de savoir si l'utilisateur pourra se connecter au canal ou non (par exemple, si le canal n'accepte que les connexions par mot de passe ou est lié à un groupe spécifique sur le serveur).

- Le support de la syntaxe Markdown a été ajouté aux messages textuels, que l'on peut par exemple utiliser pour envoyer des listes, des extraits de code, des citations, souligner des parties de texte en gras ou en italique, et formater des liens.
- La possibilité de jouer du son stéréo a été ajoutée, permettant serveur Envoyer un flux audio en mode stéréo, qui ne sera pas converti en mono par le client. Cette fonctionnalité peut être utilisée, par exemple, pour créer des robots musicaux. L'envoi de son depuis le client officiel reste possible uniquement en mode mono.
- Ajout de la possibilité d'attribuer des pseudonymes aux utilisateurs, ce qui permet d'associer un nom plus compréhensible aux utilisateurs qui abusent de noms trop longs ou changent souvent de nom. Les noms attribués peuvent apparaître dans la liste des participants comme des étiquettes supplémentaires ou remplacer complètement le nom d'origine. Les pseudonymes sont liés aux certificats de l'utilisateur, ne dépendent pas du serveur choisi et ne changent pas après un redémarrage.

- Le serveur dispose désormais d'une fonction d'envoi de texte d'accueil en mode diffusion via le protocole Ice. Prise en charge du reflet dans le journal ACL et de tous les changements dans les groupes. Des ACL distinctes ont été ajoutées pour gérer la réinitialisation des commentaires et des avatars. Par défaut, l'utilisation d'espaces dans les noms d'utilisateur est autorisée. La charge CPU a été réduite grâce à l'activation par défaut du mode TCP_NODELAY.
- Des plugins ont été ajoutés pour prendre en charge le son positionnel dans le jeu Among Us et dans d'autres jeux basés sur le moteur Source. Les plugins pour les jeux Call of Duty 2 et GTA V ont été mis à jour.
- Le codec audio Opus a été mis à jour vers la version 1.3.1.
- Support de Qt4, DirectSound et CELT 0.11.0 supprimé. Le thème classique a été retiré.


Source : opennet.ru





