Using Mumble as an alternative to Discord for VoIP

May 04, 2019 3 minute read

For a side project a friend and me have been working on, we’ve been using Discord whenever we needed to talk. In order to have a record of the conversations we have, we’ve been recording those sessions locally. Me on my end, my friend on the other end. Later, we’d merge the audio of both ends. A little bothersome, but not too annoying.

In the past, we’ve been using Discord for all of our VoIP needs ever since it became a viable alternative to Skype. Lately, though, we’ve found that the connection to Discord’s voice servers (regardless of server region) has been a little bit less reliable than it used to be. And we use Discord a lot to talk to friends.

In order to keep interruptions to a minimum, I decided to set up a Mumble server (using Murmur) after reading a bunch of positive things about the software on Hacker News. (It’s open source after all, so that’s great!)

All I needed to do was install a package on an existing VPS, edit the configuration file to set up a passphrase, and allow a port through the firewall of my server, and I was done. This took about ten minutes.

Using Mumble actually has various advantages over Discord, namely:

  • Lower latency (roughly 20 ms to our server in Amsterdam, instead of 40-80 ms average on Discord; which sometimes spikes to 100+ ms, although your mileage may vary)
  • Higher audio quality for those participating in the conversation (up to 128 kbps, Opus codec)
  • More granular control over busy voice channels (support for sub-channels, for example)
  • It uses your server and encryption, so your privacy is guaranteed (provided you trust the machine you install this on)

The most annoying bit is that it requires a little bit more set-up initially (client-side) before you can actually connect, but it’s quite easy to use once you’ve got it set up correctly.

The latest client is currently a release candidate at the time of writing and a serious improvement over the previous version of the client. (You can now tune how loud every participant sounds, for example. The UI also looks a lot cleaner. There’s also a very welcome dark UI option.)

It’s quite astonishing how cheap it is to run this in terms of resources. For example:

Mumble will use 10-40 kbit/s outgoing, and the same incoming for each user. So if there are 10 other users on the server with you, your incoming bandwidth requirement will be 100-400 kbit/s if they all talk at the same time.

There’s also this note on the wiki:

Based on data from out testserver, murmur will use about 40 MB of virtual memory, of which about 4 MB are resident in physical memory. Since only minimal processing, as required for cryptography and “visibility checks” between users, is done serverside, we were not able to push even 1% of actual CPU usage with 4 users on a Xeon 3.4Ghz. We do see quite a few context switches though, so quality network cards and infrastructure capable of handling high packet load are recommended on servers hosting a big number of clients.

My conclusion? It is a nice alternative to Discord, for a small price. Whenever we notice that voice chat latency increases, we can just switch the server we’ve got set up, and it’s easy to do so.

Tagged as: Tech