Difference between revisions of "Features"

From Mumble Wiki
Jump to: navigation, search
(Positional Audio: add example image for pos audio)
(Plumble → Mumla)
 
(16 intermediate revisions by 4 users not shown)
Line 11: Line 11:
 
* Customizable for different use-cases
 
* Customizable for different use-cases
  
This page highlights the biggest and most important features. Try Mumble out and explore for yourself what else is available!
+
This page highlights the biggest and most important features. Try Mumble out for yourself and explore what else is available!
  
= Clients =
+
= Mumble Client =
We provide official source-code and binary releases for Windows, Linux and MacOSX desktops as well as an official iOS client.
+
The Mumble client supports Windows, OS X, Linux, and BSD. There is also an official [[Mumble for iOS|iOS client]]. The source code for Mumble is freely available on [https://github.com/mumble-voip/mumble/ GitHub].
  
We would love to see an android client as well, but there is no client available yet.
+
An unofficial Android client called [[Mumla]] is also available.
 +
 
 +
== Audio ==
 +
 
 +
=== Codecs ===
 +
Mumble primarily uses the [https://www.opus-codec.org/ Opus] codec. Opus is a free codec that provides low-latency high-quality audio. Opus integrates the best of Speex, CELT, and Skype's SILK codecs.
 +
 
 +
For backwards-compatibility, the previous default of CELT is also supported.
 +
 
 +
=== Noise Suppression ===
 +
Mumble supports noise suppression to filter out distractions in your background and keep attention on your voice instead.
 +
 
 +
=== Automatic Level Equalization ===
 +
Mumble automatically tries to keep everyone's mic input level the same, so one user doesn't get drowned out or deafen everyone with their individual mic level.
 +
 
 +
In Mumble 1.3, you can also manually turn individual users up or down.
 +
 
 +
=== Attenuation ===
 +
Mumble can turn down (or ''duck'') the audio of other applications while you or others are speaking. This allows you to keep other applications at an ideal volume level but also yield attention to Mumble when you need to pay attention to VoIP.
 +
 
 +
=== Priority Speakers ===
 +
A user can be marked as a "priority speaker" within a channel. When this user speaks, all other users' voices will be reduced to ensure that the priority speaker is heard over them.
 +
 
 +
== Encryption ==
 +
 
 +
Mumble uses encryption for both control messages as well as voice data. Mumble's control channel is encrypted using TLS-negotiable cipher suites and Mumble's voice channel is encrypted using OCB-AES128. OCB is used to provide both secrecy and authentication while maintaining low latency. This encryption is mandatory and cannot be disabled.
  
 
== Wizards ==
 
== Wizards ==
<span style="float:left; margin-right:5px">http://mumble.sourceforge.net/static/audio_wizard_qn_page_s.png</span>
+
[[File:audio_wizard_qn_page.png|left|350px]]
For our first time users we provide two wizards for easy and elaborative configuration of the client. They explain and ask the user to configure his set-up interactively.
+
 
 +
For first-time users Mumble provides simple setup wizards to guide you through audio tuning and certificate creation.
 +
 
 +
The audio tuning wizard guides you through configuring your audio devices, volume levels, and voice activation/push-to-talk settings.
 +
 
 +
The certificate wizard guides you through generating a user certificate or importing an already existing certificate. Your user certificate is used to authenticate you to servers and to other Mumble users.
  
The certificate wizard will guide the user through the generation of a user certificate or importing of an already existent certificate. The audio wizard on the other hand will guide the user through setting up his microphone, audio devices and levels and interaction (voice activation or push to talk?) to an optimal set-up.
 
 
<br style="clear:both"/>
 
<br style="clear:both"/>
  
 
== Overlay ==
 
== Overlay ==
<span style="float:left; margin-right:5px">[http://mumble.sourceforge.net/static/overlay123.png http://mumble.sourceforge.net/static/overlay123_s.png]</span>The official Mumble desktop client features an [[Overlay|overlay]] drawing status information in your rendered applications. This way, you can see who is listening and talking from within your game.
+
[[File:overlay123_s.png|left|link=File:overlay123.png]]
 +
 
 +
The official Mumble desktop client features an [[Overlay|overlay]] to show status information within your rendered applications. The overlay provides an in-game heads-up of who is listening and talking.
 +
 
 +
An OpenGL overlay is provided for Windows, Linux, and OS X. For Windows there is also a Direct3D 9 and 10 overlay.
  
An OpenGL overlay is provided for Windows, Linux, and MacOSX. For Windows, a Direct3D 9 and 10 overlay is provided additionally.
+
We are aware of the demand for a Direct3D 11 overlay on Windows and would appreciate any help documenting the issues on [[Overlay|overlay]] as well as help implementing it.
  
We are aware of the often wanted feature of a Direct3D 11 overlay on Windows and would appreciate any help in documenting the issues on [[Overlay|overlay]] as well as help in the development of it. Efforts have been made but the big changes between Direct3D versions as well as the licensing of DirectX SDK sample code prevent us from including it in our code-base up until now. Some more work is needed to adjust it to our code-base and needs.
 
 
<br style="clear:both"/>
 
<br style="clear:both"/>
  
 
== Authentication ==
 
== Authentication ==
As our main authentication system we use certificates since version 1.2.0. Certificates can essentially be considered very long and variable - and thus very secure - passwords. Our password-based authentication is still in place as a fall-back solution, but using certificates is the default and highly encouraged.
+
Mumble uses certificates for authentication. Certificate authentication can essentially be considered a very long and variable and thus very secure – password. Because of how a user is identified by a certificate, you can add a user as a friend on any Mumble server and they will show up as a friend on any other server, even if they're using a different username.
  
A server may even provide authentication through an pre-existant user database, meaning - in case the server provides it - you can log in to the account you registered on the hosters website/forum.
+
Alternative options for authentication are via external user databases (such as a forum or website user-base) and password-based authentication (not recommended).
  
 
== Customizability ==
 
== Customizability ==
Of course our desktop client is skin-able. Change the colouring and layout to your liking or download one of the pre-made communtiy-provided [[Skins|skins]].
+
=== Interface Customization ===
 +
The Mumble desktop interface is entirely customizable with different layouts, languages, and even custom coloring using [[Skins|skins]]. For notifications, you can configure when Mumble shows items in the client text area, when Mumble uses your OS notifications (eg "bubbles" on Windows), and when text-to-speech/custom notification sounds are used.
  
As for yourself, limited only by the servers settings, you can choose your user-name to your liking and use a custom avatar-image that will display as your user-information in the client as well as in the Overlay.
+
The [[Ice]] middleware can be used to add custom right-click menus to the interface.
  
As for feedback you can use our text-to-speech integration to hear what messages are being sent to you, or just let audio cues play. You can even customize the type on a per-message-type basis.
+
=== User Customization ===
 +
Mumble allows you to set a custom avatar that will show when your name is hovered in the client as well as in the overlay. You can also set a comment that will show up as an icon next to your name. This comment is useful to include a little bit of information about yourself such as usernames on other services or a quick bio.
  
== Persistency ==
+
== Server List ==
Additionally to our public-server list you can keep track of your most-visited servers by adding them to your favourites. And too keep track of your friends even across servers, our certificate-based authentication system allows you to add friends and you will be able to identify them even on different servers where they use different nicknames.
+
Mumble has a public server list categorized by country as well as the ability to add private servers as favorites. If a Mumble server is running on your LAN, it can be discovered using Bonjour and will also show. The server list shows your ping, the number of users online on the server, and whether the server has a valid server certificate.
  
 
== Positional Audio ==
 
== Positional Audio ==
 
[[File:Positional_Audio.gif|left|alt=Shows Audiowaves with Postional Audio in cyberspace]]
 
[[File:Positional_Audio.gif|left|alt=Shows Audiowaves with Postional Audio in cyberspace]]
We allow you to enable [[Positional-Audio|positional audio]] for your [[games]], so you can actually hear your play-partners from the direction they stand in in your game! Real 3D sound!
+
Mumble supports [[Positional-Audio|positional audio]] for your [[games]], so you can actually hear your play-partners from the direction they stand in your game! Real 3D sound!
 
 
== Audio Codecs ==
 
To implement low-latency audio communication while maintaining high audio quality choosing the audio codecs needs good evaluation and choosing.
 
  
Our development snapshow versions and thus the upcoming version [[1.2.4]] will feature the new codec Opus. It is the free and open resulting standard from a collaborative effort producing the best audio codec ever seen to date. It performs superb in all usage areas, contrary to traditional codecs. If you want to read more on the greatness of Opus, see the [https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/ Mozilla announcement] for example.
+
Some [[games]] provide native integration of Mumble, others are supported by custom readers. Unfortunately, these break with game updates most of the time. In that case, we appreciate any feedback and help in implementing a new reader with the appropriate location of positional data (see [[HackPositionalAudio]] and [[Pluginguide]]). Alternatively, asking the game developer to implement our [[Link|Link plugin]] may eventually lead to official Mumble support within the game.
  
Opus will replace our current main codec CELT, which was introduced in version [[1.2.0]]. For quite some time, CELT will still be the fall-back codec integrated into Mumble, ensuring interoperability with earlier versions of Mumble.
+
<div style="clear:both;"></div>
  
 
== G15 Keyboard ==
 
== G15 Keyboard ==
If you own a G15 keyboard (with an LCD screen) you will be able to see information of Mumble on it!
+
If you own a G15 keyboard, Mumble can show status information on the keyboard's LCD display.
 
 
== Misc ==
 
With Bonjour we provide you the option of LAN-discover-ability of Mumble servers.
 
  
= Server Administration =
+
= Murmur Server =
  
With our free software servers and liberal licensing, as well as pre-packaged server binaries we try to make it very easy and simple to set up a running server. Additionally, using encrypted connections all the time, using certificates for authentication and an always-existant SuperUser account your server will be secure from the start. The various ways of configuration and extendability - as well as the free licensing again - provide great options for any admin that wants to get more out of a server and communication platform.
+
Mumble's server component, Murmur, allows anyone to run a server of their own for public or private use, free of charge. Murmur's source code is also freely available within the [https://github.com/mumble-voip/mumble mumble GitHub repo]. Murmur supports extensive user permission configuration using access control groups (''ACLs'') and can be configured programmatically via RPC. A single Murmur daemon can also run multiple Murmur servers on different TCP/UDP ports.
  
 
== Access Control Groups ==
 
== Access Control Groups ==
 
Using ACLs as the access control structure allows for great customizability of permissions on your servers. See [[ACL and Groups]] and [[ACL Tutorial]].
 
Using ACLs as the access control structure allows for great customizability of permissions on your servers. See [[ACL and Groups]] and [[ACL Tutorial]].
  
We also allow you to allow your users to create temporary channels for a highly dynamic and descriptive usage. For a (channel-)password-like usage we provide [[Access Tokens|access tokens]]. Through priority speakers you can mark certain individuals more “important”, effectively decreasing other peoples volume when the priority speaker talks.
+
Murmur also allows you to give your users the ability to create temporary channels for a highly dynamic and descriptive usage. For a (channel-)password-like usage we provide [[Access Tokens|access tokens]].
  
 
== Scriptability ==
 
== Scriptability ==
Through providing data for the [[Ice]] middleware we allow server administrators to use scripts on their servers. Be it authenticators for authenticating against an existing website user-database, chat-command scripts, AFK-move-scripts or other fancy or playful things. [http://www.zeroc.com/ ZeroC Ice] has bindings for a number of programming languages like C++, .NET, Java, Python, PHP, Ruby.
+
Through providing data for the [[Ice]] middleware we allow server administrators to use scripts on their servers. This can be used for authenticating against an existing website user-database, chat-command scripts, AFK-move-scripts or other fancy or playful things. [http://www.zeroc.com/ ZeroC Ice] has bindings for a number of programming languages like C++, .NET, Java, Python, Objective-C, PHP, Ruby, ActionScript.
  
From version [[1.2.4]] you can even provide custom right-click menus via Ice.
+
[[Category:Documentation English]]

Latest revision as of 02:28, 15 April 2020

Mumble is an open source, low-latency, high quality voice chat software primarily intended for use while gaming.

Note: This page is work-in-progress. Previously, features were only listed as release notes on new stable releases (…, 1.2.0, …, 1.2.3).

Mumble is free software, meaning it is available at no cost and under a very liberal license. The client is called “Mumble”. The Server is known as “Mumble Server” or “Murmur”.

The main focuses of the project include:

  • Low latency
  • High audio quality
  • Staying backwards compatible as long as there is a considerable user-base with older versions
  • Customizable for different use-cases

This page highlights the biggest and most important features. Try Mumble out for yourself and explore what else is available!

Mumble Client

The Mumble client supports Windows, OS X, Linux, and BSD. There is also an official iOS client. The source code for Mumble is freely available on GitHub.

An unofficial Android client called Mumla is also available.

Audio

Codecs

Mumble primarily uses the Opus codec. Opus is a free codec that provides low-latency high-quality audio. Opus integrates the best of Speex, CELT, and Skype's SILK codecs.

For backwards-compatibility, the previous default of CELT is also supported.

Noise Suppression

Mumble supports noise suppression to filter out distractions in your background and keep attention on your voice instead.

Automatic Level Equalization

Mumble automatically tries to keep everyone's mic input level the same, so one user doesn't get drowned out or deafen everyone with their individual mic level.

In Mumble 1.3, you can also manually turn individual users up or down.

Attenuation

Mumble can turn down (or duck) the audio of other applications while you or others are speaking. This allows you to keep other applications at an ideal volume level but also yield attention to Mumble when you need to pay attention to VoIP.

Priority Speakers

A user can be marked as a "priority speaker" within a channel. When this user speaks, all other users' voices will be reduced to ensure that the priority speaker is heard over them.

Encryption

Mumble uses encryption for both control messages as well as voice data. Mumble's control channel is encrypted using TLS-negotiable cipher suites and Mumble's voice channel is encrypted using OCB-AES128. OCB is used to provide both secrecy and authentication while maintaining low latency. This encryption is mandatory and cannot be disabled.

Wizards

Audio wizard qn page.png

For first-time users Mumble provides simple setup wizards to guide you through audio tuning and certificate creation.

The audio tuning wizard guides you through configuring your audio devices, volume levels, and voice activation/push-to-talk settings.

The certificate wizard guides you through generating a user certificate or importing an already existing certificate. Your user certificate is used to authenticate you to servers and to other Mumble users.


Overlay

Overlay123 s.png

The official Mumble desktop client features an overlay to show status information within your rendered applications. The overlay provides an in-game heads-up of who is listening and talking.

An OpenGL overlay is provided for Windows, Linux, and OS X. For Windows there is also a Direct3D 9 and 10 overlay.

We are aware of the demand for a Direct3D 11 overlay on Windows and would appreciate any help documenting the issues on overlay as well as help implementing it.


Authentication

Mumble uses certificates for authentication. Certificate authentication can essentially be considered a very long and variable – and thus very secure – password. Because of how a user is identified by a certificate, you can add a user as a friend on any Mumble server and they will show up as a friend on any other server, even if they're using a different username.

Alternative options for authentication are via external user databases (such as a forum or website user-base) and password-based authentication (not recommended).

Customizability

Interface Customization

The Mumble desktop interface is entirely customizable with different layouts, languages, and even custom coloring using skins. For notifications, you can configure when Mumble shows items in the client text area, when Mumble uses your OS notifications (eg "bubbles" on Windows), and when text-to-speech/custom notification sounds are used.

The Ice middleware can be used to add custom right-click menus to the interface.

User Customization

Mumble allows you to set a custom avatar that will show when your name is hovered in the client as well as in the overlay. You can also set a comment that will show up as an icon next to your name. This comment is useful to include a little bit of information about yourself such as usernames on other services or a quick bio.

Server List

Mumble has a public server list categorized by country as well as the ability to add private servers as favorites. If a Mumble server is running on your LAN, it can be discovered using Bonjour and will also show. The server list shows your ping, the number of users online on the server, and whether the server has a valid server certificate.

Positional Audio

Shows Audiowaves with Postional Audio in cyberspace

Mumble supports positional audio for your games, so you can actually hear your play-partners from the direction they stand in your game! Real 3D sound!

Some games provide native integration of Mumble, others are supported by custom readers. Unfortunately, these break with game updates most of the time. In that case, we appreciate any feedback and help in implementing a new reader with the appropriate location of positional data (see HackPositionalAudio and Pluginguide). Alternatively, asking the game developer to implement our Link plugin may eventually lead to official Mumble support within the game.

G15 Keyboard

If you own a G15 keyboard, Mumble can show status information on the keyboard's LCD display.

Murmur Server

Mumble's server component, Murmur, allows anyone to run a server of their own for public or private use, free of charge. Murmur's source code is also freely available within the mumble GitHub repo. Murmur supports extensive user permission configuration using access control groups (ACLs) and can be configured programmatically via RPC. A single Murmur daemon can also run multiple Murmur servers on different TCP/UDP ports.

Access Control Groups

Using ACLs as the access control structure allows for great customizability of permissions on your servers. See ACL and Groups and ACL Tutorial.

Murmur also allows you to give your users the ability to create temporary channels for a highly dynamic and descriptive usage. For a (channel-)password-like usage we provide access tokens.

Scriptability

Through providing data for the Ice middleware we allow server administrators to use scripts on their servers. This can be used for authenticating against an existing website user-database, chat-command scripts, AFK-move-scripts or other fancy or playful things. ZeroC Ice has bindings for a number of programming languages like C++, .NET, Java, Python, Objective-C, PHP, Ruby, ActionScript.