Mumble (computer software)
Encyclopedia
Mumble is a voice over IP
Voice over IP
Voice over Internet Protocol is a family of technologies, methodologies, communication protocols, and transmission techniques for the delivery of voice communications and multimedia sessions over Internet Protocol networks, such as the Internet...

 application primarily designed for use by gamers, similar to programs such as TeamSpeak
TeamSpeak
TeamSpeak is a proprietary Voice over IP software that allows users to speak on a chat channel with other users, much like a telephone conference call. A TeamSpeak user will often wear a headset with an integrated microphone...

 and Ventrilo
Ventrilo
Ventrilo is a proprietary VoIP software which includes text chat.The Ventrilo client and server are both available as freeware for use with fewer than 8 people on the same server . The server software is available for Microsoft Windows, Mac OS X, or Unix variants such as Linux, Kopi, Solaris,...

.

Mumble uses a client–server architecture where users who want to talk connect to the same server. It has a very simple administrative interface and most of the engineering effort is put into sound quality and low latency
Latency (audio)
Latency refers to a short period of delay between when an audio signal enters and when it emerges from a system...

. All communication is encrypted to ensure user privacy.

Cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 and released under the terms of the new BSD license, Mumble is free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

.

Channel hierarchy

A Mumble server (called Murmur) has a Root channel and a hierarchical tree
Tree structure
A tree structure is a way of representing the hierarchical nature of a structure in a graphical form. It is named a "tree structure" because the classic representation resembles a tree, even though the chart is generally upside down compared to an actual tree, with the "root" at the top and the...

 of channels beneath it. Users can link channels together to temporarily create large virtual channels. This is useful during larger events where a small group of users may be chatting in a channel, but they will be linked to a common channel with other users to hear announcements. It also matches well with team-based FPS
First-person shooter
First-person shooter is a video game genre that centers the gameplay on gun and projectile weapon-based combat through first-person perspective; i.e., the player experiences the action through the eyes of a protagonist. Generally speaking, the first-person shooter shares common traits with other...

 games. Each channel has an associated set of groups and access control list
Access control list
An access control list , with respect to a computer file system, is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Each entry in a typical ACL specifies a subject...

s which control user permissions. The system is fairly complex allowing many different usage scenarios, but this complexity also makes it hard to configure.

Sound quality

Mumble uses Speex
Speex
Speex is a patent-free audio compression format designed for speech and also a free software speech codec that may be used on VoIP applications and podcasts. It is based on the CELP speech coding algorithm. Speex claims to be free of any patent restrictions and is licensed under the revised BSD...

 not only as a voice codec
Codec
A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder"...

, but also for noise reduction
Noise reduction
Noise reduction is the process of removing noise from a signal.All recording devices, both analogue or digital, have traits which make them susceptible to noise...

 and automatic gain control
Automatic gain control
Automatic gain control is an adaptive system found in many electronic devices. The average output signal level is fed back to adjust the gain to an appropriate level for a range of input signal levels...

. From version 1.2 CELT
CELT
Constrained Energy Lapped Transform is an open, royalty-free audio compression format and a free software codec with especially low algorithmic delay for use in low-latency audio communication. It is a lossy codec, meaning quality is permanently degraded to reduce file size.The algorithms are...

 is also supported. Mumble is optimized for low latency
Latency (engineering)
Latency is a measure of time delay experienced in a system, the precise definition of which depends on the system and the time being measured. Latencies may have different meaning in different contexts.-Packet-switched networks:...

, resulting in faster communication. Mumble incorporates echo cancellation
Echo cancellation
'The term echo cancellation is used in telephony to describe the process of removing echo from a voice communication in order to improve voice quality on a telephone call...

, which permits the use of speakers as well as headphones. With some games, like Battlefield and Call of Duty on Windows, a plugin lets you hear the positional audio of other players.

Overlay

There is an integrated overlay for use in games. The overlay shows who is talking and what linked channel they are in. As of version 1.0, users can upload their own avatars to represent themselves in the overlay, creating a much more personalized experience. As of version 1.2, the overlay works with most Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...

 9/10 and OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 games on Windows and has OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

 support for Linux and MacOSX. DirectX 11 game support is planned, but the project manager working on the overlay does not have access to DX11 hardware to test on.

Positional audio

For certain games, Mumble can enable you to hear the people playing with you from the position they are located in the game. This not only includes giving a sense of direction, but also of distance.

To realise this, Mumble sends your own in-game position to players in the same game with every audio packet. There are two ways in which Mumble can gather the information needed to do this: it either reads the needed information directly out of the memory of the game, the way most games are supported at this point, or the games provide it themselves via the so called Link plugin interface.

The link plugin provides games with a way to expose the information needed for Positional audio themselves by included a small piece of sourcecode provided by the Mumble project. Up to this point, this interface is mostly used by open source games as they are more willing to include such modifications in their code.

A list of games which are supported for positional audio can be found at the official site.

Server integration

Mumble is designed to fit into existing technological and social structures. As such, the server is fully remote controllable over Ice
Internet Communications Engine
The Internet Communications Engine, or Ice, is an object-oriented middleware that provides object-oriented Remote Procedure Call, grid computing and Publish/subscribe functionality developed by ZeroC and dual-licensed under the GNU GPL and a proprietary license...

. Users, Channels as well as virtual server instances can be manipulated. The project provides a number of sample scripts illustrating the abilities of the interface as well as several prefabricated scripts offering features like authenticating users using an existing phpBB
PhpBB
phpBB is a popular Internet forum package written in the PHP scripting language. The name "phpBB" is an abbreviation of PHP Bulletin Board...

 or Simple Machines Forum
Simple Machines Forum
Simple Machines Forum is a free Internet forum application. The software is written in PHP and uses a MySQL database backend, although multi-database support is being developed for version 2.0...

 database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

. The murmur server uses port 64738 TCP and UDP by default.

There is an alternative minimalistic implementation of the mumble-server, called uMurmur. It is mainly aimed at being installed on embedded devices with limited resources, like for example residential gateway
Residential gateway
A residential gateway is a home networking device, used as a gateway to connect devices in the home to the Internet or other WAN.It is an umbrella term, used to cover multi-function networking computer appliances used in homes, which may combine a DSL or cable modem, a firewall, a consumer-grade...

s running OpenWrt
OpenWrt
OpenWrt is a Linux distribution primarily targeted at routing on embedded devices. It comprises a set of about 2000 software packages, installed and uninstalled via the opkg package management system. OpenWrt can be configured using the command-line interface of BusyBox ash, or the web interface...


External links

  • uMurmur Minimalistic Mumble server daemon written in C for embedded hardware
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK