moosifying voip with mumble · 2019-08-11 · before voip radio quality was poor audio was simplex...

Post on 17-Jul-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MOOSifying VoIP with MumbleConlan Cesar

Michael Novitzky

Aquaticus Intro● Capture the Flag

● Humans + Robot Teams● Can be 1v1, 2v2, 3v3, or 4v4

● Participants work together with teammates, robots● Goal is to “Capture the Flag” as many times as possible

Before VoIP

● Radio quality was poor● Audio was simplex

● Shared by 5 groups, crew and participants● Impossible to strategize

● Recording was a manual labor intensive process

Before VoIP

● Radio quality was poor● Audio was simplex

● Shared by 5 groups, crew and participants● Impossible to strategize

● Recording was a manual labor intensive process

Goals

❏ Better audio quality❏ Log speak / listen events to MOOS Database

❏ Team channels (bonus: with shoreside override)❏ Record all audio (VoIP, Speech Rec, and Ambient)

Why Mumble: Alternatives

HOMEGROWN

● PROS:○ Complete integration with MOOS (write audio binary to MOOSDB)

● CONS:○ Potentially massive undertaking○ Difficult to maintain / analyze later○ No way for external clients to connect (without extended effort)○ MOOSDB may be overrun with mass amounts of audio data

Why Mumble: Alternatives

TEAMSPEAK

● PROS:○ TeamSpeak has officially supported C++ SDK○ Most popular self-hosted channel based VoIP solution○ Cross platform client and server

● CONS:○ Closed source, incompatible with MOOS GPL license○ ARM (Raspberry PI / Pablo) SDK support requires costly licensing○ Additional costs to run offline & with each user

Why Mumble: Alternatives

DISCORD

● PROS:○ No licensing costs○ Well documented, open SDK and interface○ Easy to use, lots of configuration parameters

● CONS:○ Closed source server○ No option for self hosting servers○ No broadcasting to multiple channels at once

Why Mumble● PROS:

○ Open Source, compatible licensing○ Cross platform client and server○ Self hosted server, no need for internet connection○ Feature complete, satisfied all our goals

● CONS:○ C++ library isn’t as mature○ No official support should something go wrong

Architecture: How it Works

Headset PortAudio API

pRecord Disk

iMumbleClient MumLib

MOOSDB

Shoreside Murmur

OPUS

Protobuf

User Feedback

Participants● Clearer audio● Private team channels for strategizing● Better results when playing Aquaticus

Researchers● Easier to collect data● Allows for creation of custom analysis

tools (seen below)● Data easily published for anyone to

examine

Thank you!Any

Questions?conlanc@csail.mit.edu

https://github.com/HeroCC/moos-ivp-cc/tree/master/src/iMumbleClient

top related