If you have ever heard of the Raspberry Pi you have also definitely considered what kind of services you would use it for. The Raspberry Pi does a good job at hosting websites and many other dedicated server tasks.
One of such services is the Mumble server, which provides free Voice-over-IP in a package similar to what you get from Ventrilo or Teamspeak. This is a guide on how to set up your own Mumble server on a Raspberry Pi.
Reasons to use Mumble
Up until recently I used Skype for VoIP communication along with the other 4 members of my League of Legends team, during our matches. Unfortunately the Skype stability was horrible. Microphone volumes had a life of their own (even with the automatic adjustment turned off), people had to reconnect in the middle of games, and the amount of background noise and microphone buzzing noises were annoying.
While searching for an alternative to Skype I stumbled upon Mumble. Having never heard of Mumble before, I did a quick comparison to the more well known Ventrilo and Teamspeak and found them all three to be very similar.
Mumble comes with a load of nice features, and is completely free. Noise cancellation, automatic microphone activation, directional sound plugins, sound latency optimization, ready for skins, etc.
It took me an afternoon to set up my own Mumble server on the Raspberry Pi I had lying around. It could have been done a lot faster without the trial and error approach, as I figured out the best sequence of doing things in order to write this guide.
Step by step guide
Here is the final sequence of steps for setting up your own free Mumble server on a Raspberry Pi:
- Download the latest Raspbian “wheezy” image and apply it to your SD card as explained in this guide.
- Update to the latest versions:
sudo apt-get update
sudo apt-get upgrade
- Create a new user in your new Raspbian installation, and remove the default “pi” user (which has password “raspberry”). This guide explains the procedure well.
- Install the mumble server service and configure it to run on startup, by executing these commands in a terminal:
sudo apt-get install mumble-server
- Choose to start the mumble server on startup.
- Allow to give mumble services higher priority.
- Type in a superuser password you can remember.
- Further configuration can be done by editing the file at:
Details on the configurable options are listed and explained here.
(remember to restart the service, or the entire Raspberry Pi, to apply changes made in the ini file)
- Install the latest version of the mumble client on your computer.
(you should get the snapshot version, as the stable may not work with the newest server service on your Raspberry Pi)
- Use a few minutes to configure the sound settings in your mumble client by following the wizard.
- Use your mumble client to connect to your server via your local network, as described here.
- Use the local IP (192.168.x.x) as the address.
- Use the default port (64738) if you did not change this on your server.
- Make yourself the admin of your server, in order to be able to administrate many of the server settings directly in the client, by following this guide.
- Make sure to forward the mumble port through your router to the Raspberry Pi.
When forwarded correctly you should get an “open” status when doing a port check on your global IP and Mumble server port.
- (optional) To set up a dynamic DNS service and have users connect to a domain instead of an IP address, complete the steps in this guide.
It should now be possible to connect to your mumble server over the internet, for anyone who knows your global IP and Mumble server port number.
Capacity and troubleshooting
Note that your internet bandwidth will most likely be the bottleneck for this setup. Especially your upload speed is crucial, as your connection will need to transmit to the connected clients.
The Raspberry Pi seems to have enough processing power to support a Mumble server with up to 30-40 people at once. It is likely that your bandwith speed will reach its limit before the Raspberry Pi.
For further configuration of your new mumble server, as well as troubleshooting, try out some of these Mumble guides.