Oh no, We’ve made a buzzword

When we first started with Mumble, we did it because none of the commercial alternatives had quality we were happy with, and there were no open source projects that would have been a good starting base. So, we made our own. This means Mumble was made to satisfy a need; the need we have for high quality voicecom when we play. As such, our two focus areas are voice quality and voice latency. Oh, and “cool technical stuff”. But I digress. Quality is subjective, and is hard to quantify, but latency is much easier to test.

At the time, we were playing a lot of Battlefield 2. And one of our primary problem with the voicecomms we had was that if you saw a grenade a yelled “GRENADE!”, what your clanmate actually heard was a loud boom, followed by your desperate attempt to warn him (or her). It really should be the other way around, and we’ve made sure to emphasize this every chance we got. At first, people were skeptical. Did latency really matter? But as more people moved to use Mumble, more people discovered that quality and latency does matter, as it allows you to speak naturally instead of feeling like a shared walkie talkie.

A few years pass. Other competing products arrive. Old competing products get released in new versions… And they all mention the magical words “low latency”. There are now YouTube videos comparing latency, and numerous technical quasi-explanations around the web on what latency you can achieve with solution X over solution Y. People discuss individual milliseconds. I’m not sure if I should be proud or ashamed, but we’ve made “low-latency” a new buzzword for gaming VoIP. Proud, because it means we’ve managed to make the entire field of VoIP apps better for the end user. Ashamed, because to most people it is still just a word without any actual definition to it.

Our best repeatable results, achieved using either ALSA hw: or WASAPI exclusive mode, is around 40-50 ms. That’s mouth to ear, including network travel time. But what does that actually mean? According to Google, 40milliseconds equals 13.6 meters. So, place two people 15 meters apart, each with a headset, and have person A say “Latency”. Person B will hear it in the headset before he can hear it through the air. That is low latency. Unfortunately, such configurations are useless for actual gaming; exclusive hardware devices means the games can’t use it.

It’s still a cool result.

This entry was posted in Tech talk and tagged , . Bookmark the permalink.

13 Responses to Oh no, We’ve made a buzzword

  1. sam says:

    So true, latency really matters!

    It is very noticeable in conversations with more than two people. Without a good latency it is quite impossible to conduct it naturally, because every second sentence you are interrupting each other.

  2. Timer says:

    Keep up the good work!

  3. texsc says:

    Mumble FTW!!! It blows away the competition

  4. Sitwon says:

    With dedicated hardware like MusicianLink’s JamLink device you can reliably achieve below 25ms latency. As far as I have been able to research they have the lowest latency solution on the market. Unfortunately the JamLink only supports 5 channels (users) per session and there is no way to interface it with the game being played.

  5. Kimmo Alm says:

    Good job guise :3
    Open Sauce ftw – I’ve got a lot of respect for you.

  6. slicer says:

    @Sitwon:
    We can actually push Mumble to sub-20ms if we alter the framesize and disable all preprocessing (hereunder echo cancellation and noise suppression). But doing so creates a Mumble that is incompatible with any other Mumble out there. Since all such ultra-low-latency approaches requires exclusive access to the soundcard, they are useless for the regular use Mumble is designed for :(

    If there’s anything in particular I want people to take away from this, it’s that in most cases, the latency of the OS mixer has more impact on your audio latency than the latency of your network link.

  7. Kossak says:

    Agree, at first i was skeptical, but when i started using Mumble the voice quality and latency were so amazing that i can’t imaging using anything else now.

  8. Ignacio says:

    Mumble is Amazing, Excelente, is my first alternative. You people are making a Great Work! Thanks.

  9. Taha says:

    I love you guys!!!!!!!! :D

  10. CybKnight says:

    We love us too…

  11. Megagoth1702 says:

    Hehe, I made the first latency video to show all the teamspeak and vent dudes what really nice latency is!

    Whenever I can I let people I play with download mumble and while playing it feels so natural and somehow you forget that you are actually using a VOIP tool. :)
    Perfect voices, perfect latency.

    Love it.

  12. Mathew8009 says:

    Our little gaming community started off using Ventrilo and we only had the free version. when we first started out gaming, we thought an 8 user limit would be perfect.

    The day we hit that limit, and considered kicking someone out so another mate could jump on, that was it, I knew we had to find a better alternative. Now i run multiple mumble servers and as the previous comment said “it feels so natural and somehow you forget that you are actually using a VOIP tool.” I spend about 9+ hours a day using VOIP apps (like Skype) and mumble is by far the most natural.

    The 5-10 mins it may take to get someone setup & using mumble is well worth it. You will have far less headaches in the future when your commercial VOIP app falls over.

    I have the deepest respect for the coders & Dev team of mumble, keep up the great work. :-)

  13. Justin says:

    I’m late to the party but have some questions. What about USB microphones or boxes with two sound cards? Wouldn’t those work fine in exclusive mode?

    Also, how do you set this up in Linux? Choose ALSA and select a device with hw: ?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>