- 1 About Mumble
- 2 Audio Features
- 2.1 How does the positional sound work?
- 2.2 Why does Mumble sound so much better than other voice products?
- 2.3 Where is the volume control?
- 2.4 The text-to-speech quality is horrible!
- 2.5 Why do some voices sound metallic?
- 2.6 Why doesn't the voice activity detect my voice any more?
- 2.7 What is this weird echo I hear of myself from other users?
- 3 Server
- 3.1 What sort of bandwidth will I need for the server?
- 3.2 Where do I configure the welcome message, listen port and so on?
- 3.3 Can I run multiple servers on one host?
- 3.4 How do the ACLs work?
- 3.5 Where is the administrator account?
- 3.6 How can I reset the database?
- 3.7 How can I add an user?
- 3.8 How can I change a users password?
- 3.9 How do I backup the database?
- 3.10 How do I run Murmur as a Linux/Unix Sys V service?
- 4 Common Problems and Resolutions
- 4.1 Can't find Push to Talk button
- 4.2 Can't hear other users/users can't hear me
- 4.3 Server connection rejected: Invalid Password.
- 4.4 Server connection failed: Host not found.
- 4.5 Server connection failed: Connection refused.
- 4.6 I get disconnected from the server as soon as I connect.
- 4.7 I've Tried the above but it will not connect
- 4.8 I tried but the port is open and it still will not connect
- 5 Compilation / installation problems
- 6 Language translation
What is Mumble?
Mumble is a voice chat application for groups. While it can be used for any kind of activity, it is primarily intended for gaming. It can be compared to programs like Ventrilo or TeamSpeak.
What platforms does it run on?
The client, Mumble, runs on Windows, Mac OS X and Linux.
The server component, Murmur, should run on anything you can compile Qt 4 on.
What are the system requirements?
The client runs on any Windows, Linux or Mac OS X machine. You also need a microphone. The server is mostly bandwidth bound, so as long as your network hardware is sufficient it should run on pretty much anything.
Please note that the Windows binaries distributed from SourceForge are compiled for SSE (Pentium 3 or Athlon-XP). Mumble is a VOIP solution for gaming, and as most modern games require at least that good a CPU it makes little sense for us not to optimize for it.
What makes Mumble better?
Mumble has very low latency combined with good sound quality; it uses Speex extensively, not just the voice compression technology, but also the voice preprocessing to remove noise and improve clarity. Mumble also has positional audio for supported games, meaning the other players' voice will come from the direction their character is in game.
What are the bandwidth requirements?
From 0.9.1, this is highly variable, and mostly up to the user. With top quality, minimum latency and positional information sent, it is 64.6 kbit/s including the IP and UDP overhead. With 80 ms transmission delay, the lowest quality speech and no positional information, it is 11.0 kbit/s (again with IP and UDP overhead). The default uses 45.4 kbit/s; we did not hear any noticable improvement in quality from the last 20 kbit/s. When comparing with other products, remember to compare the total bandwidth use and not just the bitrate of the audio encoding.
There are two parts to tuning the bandwidth; the audio bitrate per audio frame (20ms) and the amount of frames to put in each packet. Each transmitted packet has a overhead of 28 bytes from IP and UDP alone, so at the highest transmission rate (50 packets per second), that is 1400 bytes of data for raw network overhead alone. You should try to find a balance that works well for you, but we generally recommend sacrificing high audio bitrate for lower latency; Mumble sounds quite good even on the lowest quality setting.
There is no way to adjust the amount of incoming bandwidth; you will have to have enough to sustain the total amount of speaking players. This should be a minor issue; most players these days are on asymetric lines and hence it is only upload that is a bottleneck.
What tools did you use to make this?
See Development Tools.
How can I help or contact you?
A good start would be just using Mumble. If you like it, tell all your friends. If you do not like it, tell us what is wrong so we can fix it. You can do so via the forums or meet us on IRC at irc://irc.freenode.org/mumble
How does the positional sound work?
Your position ingame is transmitted along with every audio packet, and Mumble uses standard DirectSound 3D to position the audio on the receiver side. Only games for which a plug-in has been written get positional audio. All other games will work as well, you just will not get 3D sound.
Why does Mumble sound so much better than other voice products?
One word: Denoising. This is a standard part of Speex 1.1 and above, and any voice product already implementing speex should be able to trivially include the same filtering. Removing the noise from the input means that the audio will be clearer and that the needed bitrate will decrease. It takes fewer bits to model clear voice than it does to accurately represent the noise, so in any noisy transmission a large share of the bits will be noise modelling.
Where is the volume control?
Mumble uses the default volume you have configured in your operating system. There is no support for amplifying incoming voices, and there probably will not be, as this will decrease audio quality, something we are very reluctant to do.
The text-to-speech quality is horrible!
We use the standard MS Speech API, and the included voices are not all that good. If you have installed either MS Office or the Speech SDK, you will get more voices which can be configured from the Speech control panel. You can also buy a commercial Text-To-Speech engine; as long as it's SAPI5 compatible it can be used by Mumble. The main developers are currently using NeoSpeech Kate (buyable standalone from NextUp).
Why do some voices sound metallic?
Mumble uses Speex noise filtering, and if the environment of the sender is especially noisy, some parts of the voice will be filtered as well. The alternative would be noisy sound, meaning precious bandwidth would be used to encode noise and the clarity of the voice would also decrease.
Why doesn't the voice activity detect my voice any more?
If you change your audio environment suddenly and drastically, by for example disconnecting and reconnecting your microphone or dragging a piece of paper directly over the microphone, you will throw the voice preprocessor off balance. It will recover, but it will take time.
To reset the preprocessor, choose 'Reset' from the 'Audio' menu.
What is this weird echo I hear of myself from other users?
Unfortunately, a lot of popular headsets produce tiny traces of echo. In other VOIP products, you will not notice it because the echo is lower than the noise level, but as Mumble dutifully removes all noise, the echo suddenly becomes clear. There is little the person hearing the echo can do, but there are a few things the person producing the echo can do. The easy solution is to use ASIO and enable echo cancellation, however this requires that the headset is of the analog type (no USB) and a very high quality soundcard.
The more troublesome solution is to modify the headset. If it is possible to pry the arm with the microphone from the headphones, do so and reattach it with a thick piece of rubber tape; this should insulate it from vibrations. If your headset is open (no large earmuffs), there exists an echo path through air from the headphones to the microphone. You can fix this by attaching anything foam-like to the front of the headphones to muffle the sound heard outside them, but this will most likely ruin the ergonomics of the headset as well as look somewhat odd.
We might put up a page of "tested headsets" if anyone wants it.
What sort of bandwidth will I need for the server?
Worst case scenario: Number of users × Number of talking users × 60 kbit/s. With less aggressive quality settings, it's ~20 kbit/s, and the bare minimum is 12kbit/s. Note that Mumble is geared towards social gaming; its quality enables people to talk naturally to each other instead of just barking short commands, so the amount of "users talking at the same time" can be somewhat higher than expected.
This means that a server with 20 players and 2 players talking at once requires 0.8-2.4 Mbit/s, depending on quality settings. In the server's .ini file, you can specify the maximum allowed bitrate for users as well as the maximum number of clients to allow.
Where do I configure the welcome message, listen port and so on?
murmur.ini, it is self-documenting.
Can I run multiple servers on one host?
Yes, Murmur supports virtual servers. See Running_Murmur
How do the ACLs work?
See ACL and Groups
Where is the administrator account?
The topmost user in the Mumble hierarchy is the useraccount "SuperUser", which bypasses all permission checks and is always allowed to do anything. SuperUser can't be used as a normal user account (it can't talk) and should only be used for initial configuration or to recover from misconfiguration.
To set the superuser password, start murmur with
murmur.exe -supw supersecretpw
murmurd -supw supersecretpw
How can I reset the database?
Delete the murmur.sqlite file.
Rerun the command:
murmur -supw <password>
How can I add an user?
How can I change a users password?
How do I backup the database?
Shut down the server (kill the process), and make a copy of murmur.sqlite. That file is the database.
How do I run Murmur as a Linux/Unix Sys V service?
Common Problems and Resolutions
Solution: When you set Push to talk in Configure > Settings > Basic Audio, you then need to also bind a key to PTT. You do this in Configure > Settings > Shortcuts.
Can't hear other users/users can't hear me
This seems to be fixable by experimenting with the "Use TCP mode" checkbox in "Basic Audio" settings.
Also this problem can happen if you have server with multible IP's, you need to use server PRIMARY IP or you will experience random "can't hear you, but you can hear me" issues. Not sure is it possible to bind murmur just use one IP from box.
Server connection rejected: Invalid Password.
This simply means the server password was incorrect, next time make sure you type in the password in the password box on the connect window.
Server connection failed: Host not found.
This means that there is no computer at that ip address, double check this is the right IP
Server connection failed: Connection refused.
This means there is a computer there but that is the incorrect port, double check the IP to make sure that this is the right computer, if it is then check what port you are supposed to connect on and put that in the port box on the connect screen.
I get disconnected from the server as soon as I connect.
This can be due to a version mismatch between the server and the client. Ask the server owner about the version that its being used, and get that version.
I've Tried the above but it will not connect
Are you on a Network make sure the port is open and the same if the host is on a network.
I tried but the port is open and it still will not connect
Then you should enable port forwarding on your router to your computer for the port. To get your LAN IP address:
- Windows: press run then type "cmd" (no quotes) and type in "ipconfig" and it will display your IP address next to IP Address.
- Linux and other unixes: On a console, type ifconfig. Your IP is next to inet addr:
Compilation / installation problems
mumble.pri:8: Unknown test function: CONFIG
Mumble requires Qt version 4.3 or better; you are running qmake from Qt 3
Error message in murmur.cgi line 118
You need an MTA on localhost unless you have defined a different SMTP server.
Mumble currently (as of 09-01-2008) supports eight different languages. As more people use Mumble, the more languages must be added. If you know another language that is not one of the eight that are currently supported (even if you know one of the eight you can still be beneficial, as more features are added/changed to Mumble the text for them must be revised or changed) read this guide on how to add language support to Mumble.
First you will need Qt Linguist. You can find it here. Extract it to a folder called "linguist" on your Desktop.
Now you will need a language file to use. These are called ts files. A ts file is a file that you can open in Qt Linguist and then change the language on each entry. You can find the various language files here. It is recommended that you use a language file such as mumble_de.ts or mumble_es.ts as these have characters that are recognized by Qt Linguist and it is easier to manage the various entries because of this. Right click on the language file you want and click "Save Link As..." Now put this on your Desktop as well.
Find the linguist folder on your Desktop and open it, then open the bin folder contained therein. You should see linguist.exe. Double click it and the program should start. Now click File -> open and select the ts file on your Desktop. Now just expand each entry and edit the translated language entry to the language you know. When you are done with the entire translation, click File -> Save As... -> name it mumble_<two letter acronym (e.g. if it was spanish it would be mumble_es.ts)>.ts. Submit this file to the Mumble Developers and they will add it to Mumble.
If you are planning on translating a language, please make sure and accurately translate it completely, and when it is added to Mumble, run Mumble and check over all the text, ensuring that it is accurately and properly translated. If it is not then revise the text and resubmit it.