Difference between revisions of "FAQ/English"

From Mumble Wiki
< FAQ
Jump to: navigation, search
(Shortcuts don't work on Linux)
(added linux sound issue using tts and mumble)
Line 219: Line 219:
  
 
You can try changing the Speed/Rate slider and disabling the key repetition (first checkbox)
 
You can try changing the Speed/Rate slider and disabling the key repetition (first checkbox)
 +
 +
== Sound issue on Linux ==
 +
I want to have festival and mumble on the same soundcard, but either i don't hear festival, or mumble puts out this error:
 +
ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to open slave
 +
I tried every alsa device listed in mumble, but it makes no difference
 +
 +
Solution:
 +
You have to use the dmix plugin, which allows simultaneous access on this device from different applications. Open ~/.config/Mumble/Mumble.conf and replace the output entry by
 +
output="plug:\"dmix:CARD=2\""
 +
(please adept the cardnumber according to your system configuration)
 +
 +
After this you have to edit/create your festival configruation, which is located at ~/.festivalrc.
 +
(Parameter.set 'Audio_Command "aplay -D plug:dmix:2 $FILE")
 +
(Parameter.set 'Audio_Required_Format "snd")
 +
(Parameter.set 'Audio_Method 'Audio_Command)
 +
(again, adept the cardnumber)

Revision as of 12:28, 10 March 2008

This Document in other Languages

This Document is available in following Languages:
English   Deutsch


About Mumble

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.

What platforms does it run on?

The client, Mumble, runs on Windows XP and Linux. The server component, Murmur, should run on anything you can compile Qt 4.0 on.

What are the system requirements?

The client runs on any Linux or Windows XP machine, and 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 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.

Installing Mumble

Prebuilt binary packages can be downloaded from SourceForge[1] if you're running Windows or an i386 Linux distribution with the Debian package manager installed. Installation sources:

  • Windows: SourceForge
  • Linux:
    • Debian, Ubuntu, etc: SourceForge (.deb) or Treviño repository ([2])
    • RPM based distro's: You could try a rpm found in the forum.
    • Gentoo: emerge mumble should do it (You'll need sqlite and/or sqlite3 flags enabled, and reemerge qt4 if it was emerged without them)
    • Archlinux: You can find a PKGBUILD in the AUR: [3]

Disclaimer: Only the files are SourceForge are official. Be careful with the other ones.

For those who need to (or want to), here are two good tutorials for compiling Mumble/Murmur for your system:

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?

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.

Audio Features

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.

Server

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.

How do the ACLs work?

See ACL and Groups

mumble.pri:8: Unknown test function: CONFIG

Mumble requires Qt version 4.3 or better; you are running qmake from Qt 3

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

or

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?

See Registering_users

How can I change a users password?

$ sqlite3 murmur.sqlite
sqlite> UPDATE players SET pw = 'newpassword' WHERE name = 'playername';
sqlite> <Ctrl-D>

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?

See Murmur Init Script


How can I use an external database for Murmur?

See Murmur and PostgreSQL

Common Problems and Resolutions

Problem: Webserver not able to write to DB when using murmur.cgi.

Solution: Make sure both DB and directory that DB is in is writing be the webserver user.

Problem: Error message in murmur.cgi line 118

Solution: You need an MTA on localhost unless you have defined a different SMTP server.

Problem: Connecting, but not able to create/join channels

Solution: You currently cannot use the 0.9.1 client with the CVS version of the server (0.9.2).

Problem: Can't find Push to Talk button

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.

Failure to load mumble_ol.dll

If you are running Win XP with SP2, this is due to a outdated DirectX. DirectX is actually updated each and every month, which is why you see every game trying to update your DirectX. So while the version may be 9.0c, what you want to look at is the release date. The latest version may be found at http://www.microsoft.com/windows/directx/default.mspx

Downloaded, extracted and installed this package and it fixed this problem for me: DirectX End-User Runtimes (June 2007) --Iam8up 08:01, 10 July 2007 (PDT)

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.

Shortcuts don't work on Linux

There are two alternatives: Either use native input or Xevie.

For native input make sure that the user running Mumble has read permissions on the /dev/input/eventX files of the input devices you want to use for shortcuts. Be aware that too weak permissions may be a security risk, because malicious processes may log all your input.

If Mumble can not read from any input device it falls back to Xevie.

You need to have Xevie enabled in your xorg.conf. To do this you will have to add the following line to xorg.conf, in the extensions section:

Option         "XEVIE" "Enable"

That should like something like this:

Section "Extensions"
    ...
    Option         "XEVIE" "Enable"
    ...
EndSection

Then restart the X server (Ctrl+Alt+Backspace) and try again.

Keys seem to lock when using Shortcuts on Linux

Sometimes, keys get "locked" when using Xevie. For example, you press two keys at the same time, but when you release them, only of them is detected as released. This is better seen on games, when you start moving diagonally, and when you stop, it keeps moving. This can be fixed by playing around with the key repetition settings which can be found:

  • Gnome: System->Preferences->Keyboard
  • KDE: K menu->Control Center->Peripherals->Keyboard

You can try changing the Speed/Rate slider and disabling the key repetition (first checkbox)

Sound issue on Linux

I want to have festival and mumble on the same soundcard, but either i don't hear festival, or mumble puts out this error:

ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to open slave

I tried every alsa device listed in mumble, but it makes no difference

Solution: You have to use the dmix plugin, which allows simultaneous access on this device from different applications. Open ~/.config/Mumble/Mumble.conf and replace the output entry by

output="plug:\"dmix:CARD=2\""

(please adept the cardnumber according to your system configuration)

After this you have to edit/create your festival configruation, which is located at ~/.festivalrc.

(Parameter.set 'Audio_Command "aplay -D plug:dmix:2 $FILE")
(Parameter.set 'Audio_Required_Format "snd")
(Parameter.set 'Audio_Method 'Audio_Command)

(again, adept the cardnumber)