Dopo oltre due anni di sviluppo, è stato presentato il rilascio della piattaforma Mumble 1.4, progettata per la creazione di chat vocali che garantiscono basse latenza e alta qualità di trasmissione vocale. Un'area chiave di applicazione di Mumble è l'organizzazione della comunicazione tra i giocatori durante le sessioni di gioco. Il codice del progetto è scritto in C++ ed è distribuito sotto licenza BSD. Sono disponibili versioni per Linux, Windows e macOS.
Il progetto è composto da due moduli: il client mumble e il server murmur. L'interfaccia grafica è basata su Qt. Per la trasmissione delle informazioni audio viene utilizzato il codec audio Opus. È fornito un sistema flessibile di gestione degli accessi, ad esempio, è possibile creare chat vocali per diversi gruppi isolati, offrendo la possibilità di comunicazione separata tra i leader di tutti i gruppi. I dati vengono trasmessi esclusivamente su canali di comunicazione crittografati, con autenticazione basata su chiavi pubbliche per impostazione predefinita.
A differenza dei servizi centralizzati, Mumble consente di memorizzare i dati degli utenti sui propri server e di avere il completo controllo sull'infrastruttura, collegando script di elaborazione aggiuntivi se necessario, per la scrittura dei quali è disponibile un'API speciale basata sui protocolli Ice e GRPC. È possibile utilizzare banche dati utenti esistenti per l'autenticazione o collegare bot audio che, ad esempio, possono riprodurre musica. È possibile gestire il server tramite un'interfaccia web. Gli utenti possono utilizzare funzionalità di ricerca di amici su diversi server.
Tra le applicazioni aggiuntive si menzionano la registrazione di podcast condivisi e il supporto per suono spaziale in tempo reale nei giochi (la fonte del suono è collegata al giocatore e proviene dalla sua posizione nello spazio di gioco), inclusi giochi con centinaia di partecipanti (ad esempio, Mumble è utilizzato nelle comunità di giocatori di Eve Online e Team Fortress 2). Nei giochi è anche supportata la modalità overlay, in cui l'utente vede con quale giocatore specifico sta parlando e può controllare FPS e ora locale.
Novità principali:
- È stata implementata la possibilità di sviluppare plugin di uso generale, che possono essere installati e aggiornati indipendentemente dall'applicazione principale. A differenza dei plugin integrati forniti in precedenza, il nuovo meccanismo può essere applicato per realizzare estensioni arbitrari e non è limitato agli strumenti per estrarre informazioni sulla posizione del giocatore per la realizzazione del suono posizionale.
- Aggiunta una ricerca avanzata per utenti e canali, disponibili su server. La finestra di dialogo può essere attivata tramite la combinazione Ctrl+F o tramite il menu. È supportata sia la ricerca per maschera che l'uso di espressioni regolari.

- Aggiunta la modalità di ascolto del canale, che consente all'utente di sentire tutti i suoni che sentono i partecipanti al canale, ma senza effettivamente connettersi al canale. Gli utenti in modalità ascolto saranno visibili nella lista dei partecipanti al canale, ma contrassegnati con un'icona speciale (solo nelle versioni più recenti; nelle versioni precedenti gli utenti in ascolto non sono mostrati). La modalità è unidirezionale, cioè se l'utente in ascolto desidera intervenire, dovrà connettersi al canale. Per gli amministratori del canale sono stati forniti ACL e impostazioni per vietare la connessione in modalità ascolto.

- Aggiunta l'interfaccia TalkingUI, che consente di capire chi sta parlando in quel momento. L'interfaccia fornisce una finestra pop-up con l'elenco degli utenti che stanno parlando al momento, simile a un suggerimento pop-up in modalità di gioco, ma destinato a un uso quotidiano non da parte dei giocatori.

- Sono stati aggiunti indicatori di restrizioni di accesso, che permettono di comprendere se l'utente può connettersi al canale o meno (ad esempio, se il canale consente solo l'ingresso tramite password o è legato a un determinato gruppo sul server).

- Nei messaggi di testo è stata implementata una supporto per la formattazione Markdown, che ad esempio può essere utilizzata per inviare in chat elenchi, frammenti di codice, citazioni, evidenziare parti di testo in grassetto o corsivo, e formattare collegamenti.
- È stata aggiunta la possibilità di riprodurre suoni stereo, che consente server inviare un flusso audio in modalità stereo, che non verrà convertito dal client in mono. Questa opzione può essere utilizzata, ad esempio, per creare bot musicali. L'invio di audio dal client ufficiale è ancora possibile solo in modalità mono.
- È stata aggiunta la possibilità di assegnare ai utenti dei nickname, permettendo di associare un nome più comprensibile agli utenti che abusano di nomi troppo lunghi o cambiano nome frequentemente. I nomi assegnati possono apparire nell'elenco dei partecipanti come etichette aggiuntive o sostituire completamente il nome originale. I nickname sono legati ai certificati dell'utente, non dipendono dal server scelto e non cambiano dopo il riavvio.

- Sul server è stata introdotta la funzione di invio di un testo di benvenuto in modalità broadcast tramite il protocollo Ice. È stata aggiunta la supporto per il logging delle ACL e tutte le modifiche nei gruppi. Sono state aggiunte ACL separate per gestire il ripristino dei commenti e degli avatar. Di default, è consentito l'uso degli spazi nei nomi utenti. È stata ridotta il carico sulla CPU attivando la modalità TCP_NODELAY per impostazione predefinita.
- Sono stati aggiunti plugin per supportare il suono posizionale nel gioco Among Us e in qualsiasi gioco basato sul motore Source. I plugin per i giochi Call of Duty 2 e GTA V sono stati aggiornati.
- Il codec audio Opus è stato aggiornato alla versione 1.3.1.
- È stato rimosso il supporto per Qt4, DirectSound e CELT 0.11.0. È stato rimosso il tema classico.


Fonte: opennet.ru





