Prefer non-free self-hosted software?

Hello all,

on gitlab we have encountered the problem that Teamspeak has no freely accessible source code, on the other hand there is mumble which, however, at least in the German area, no one knows and where the operation is also very cumbersome.

I see it that way that I rather use non-free software than 1. using Discord myself and 2. going on Discord with my players. Unfortunately I don’t see any alternatives.

  • What do you think about it?
  • Do you know any alternatives that are as easy to use as Teamspeak?

PS: Jitsi and BBB are known to me, but as often as one encounters problems with it, it is also not very recommendable.

1 Like

Hi @Tealk,

To add some context to other people here, you are applying to join the collective with your structure, RollenSpielMonster. Currently, you are providing a voice call service named Teamspeak that is proprietary, which will probably block your application, so you have ~1 or 2 month to find a solution or you may apply later to the collective.

I am not part of the collective either, but it seems that using FOSS software is a hard requirement here. To help you find a solution, you might ask yourself why you want to join the collective and also why Teamspeak is so important to you. Also understanding why people would be tempted to migrate to Discord could be interesting.

In your post, you dismiss Mumble because, if I understand correctly, 1) no one knows Mumble and 2) it is hard to operate (from a sysadmin point of view?). Not knowing a software is not really a problem, not wanting to switch from one software to another is. Still, I think none of these problems are insurmountable. For part 1), you now have a good reason to ask your users to switch to Mumble: your application to this collective. People here can give you some explanation on why FOSS is a hard requirement. For part 2), if you have specific questions or problems, people here might be able to help.

Having a better understanding of what are your use cases, what are the important features to you, what are all the blocking points, etc. would be useful to us. Also having an idea of the size of your user base could also help us to give you some tips on how to start the discussion with them.

Also, depending on your needs, but if you have some programming skills, gstreamer is a nice libray that has everything in it to create a voice call application (and a lot more!). For example, I created a small CLI VoIP client in ~300 lines of C for my PhD thesis. On the theoretical approach, on your client, you need a jitter buffer algorithm, the audio codec « OPUS », an audio mixer, and maybe encoding your frames with the RTP protocol to help your jitter buffer (all these components are in gstreamer). The server can be as simple as relaying the data it receives to all the other members of the group. You may add TLS for privacy. If you have very specific needs and some programming knowledge, it can be a path that you may want to follow. It seems you are into role playing games, it would be a great opportunity to develop a software specifically designed for role players.

I have also seen the project fosscord.com that seems to be in early beta/alpha that you might want to test. The only concern I have is that it might encourage people to switch to Discord by familiarizing them with the interface while pushing them away from the FOSS server due to its bugs/missing features.

2 Likes

For Users, I would describe myself as a confused user and it took me a very long time to get the voice activation halfway well adjusted, but it still doesn’t come close to teamspeak.

I play Pen and Paper rounds and therefore I am dependent on the user to participate, the programs must not be too complicated because there are many users who have no idea about technology. e.g. If something does not work, they often immediately buy something new.

Recently, I tested Mumble latest version (1.4.x) published in January 2022 (but not necessarily released yet in all Linux distribution) and found that the echo cancellation worked way better. After reviewing the changelog, it seems that the echo cancellation implementation was totally buggy prior this version, as you can read here: Fix echo cancellation bug + add command line option to dump AudioInput streams by fedetft · Pull Request #4167 · mumble-voip/mumble · GitHub - Once you have echo cancellation activated and working, it is way easier to configure voice activation, because your microphone is not activated anymore when someone else speaks. I would really recommend testing Mumble again, this is stunning how better and enjoyable the software becomes when echo cancellation works!

Sorry but I never said anything about echo cancellation because it’s about voice activation.
I don’t have echo cancellation enabled anywhere, in Teamspeak for example I only have voice gateway enabled and that works great there. All these software improvements from the sound I have never trusted, that can not replace a good microphone.

But still in the program you are overwhelmed by countless options, put you in a user who can just turn on windows and the biggest technical hurdle is opening the browser. How should such a user cope with Mumble?

You had to configure voice activation because it did not work out of the box. It did not work out of the box because your mic was activated when someone else in the channel was speaking and lead to echo in this channel. Now that echo cancellation works in Mumble, voice activation should work out of the box in Mumble.

This is a strong claim here. Echo cancellation can be done at various places in your software stack. For example, I have documented (fr) a way to ask your Linux OS to perform the echo cancellation in place of the application here. Sometimes it is even automatically activated depending on the software. I would be surprised that your microphone audio was not processed at all.

Again, this is a strong claim here, echo cancellation is as old as long-distance phone calls. It has been theorized around 1960 and is used largely since 1980. Feel free to read this paper to learn more: http://www-labs.iro.umontreal.ca/~mignotte/IFT3205/Documents/Applications/EchoCancellation.pdf
In the end, it appears that you can have echo cancellation in many places on your software stack: at the driver level, at the OS level, at the application level, etc. It appears that Mumble is not asking for echo cancellation at the OS level and had a broken application level implementation, which was a very unfortunate situation :-/

This is maybe the main problem. I think the official positions of the collective is that they acknowledge FOSS software may be harder to use and learn, but instead of competing at the code level, members of the collective are willing to help users to compensate. Also, I would like to mention that there is a web interface to Mumble that you can host, so your users only have to open a website in your browser to join the conversation.

Actually I have to set this because otherwise you can hear the touches of my keyboard or when I eat something and so on.

where can i find that?

You have a list of the different clients on the Mumble Wiki, this client is simply named mumble-web and it is used for example by this collective for their meeting via the Chapril instance: https://mumble.chapril.org/

Indeed, this is a different problem. I think you need a « Noise suppression » filter. I don’t know when you tested Mumble for the last time, but now Mumble uses, by default, a library named RNNoise, which seems to be also used by Mozilla for Firefox. You can see it in your parameters, under the « Audio Processing » section and the « Noise suppression » sub-section.

It works well enough to silence my mouse clicking for example. I would be surprised that Mumble configured with a working Echo Cancellation and the appropriate Noise suppression parameter would not provide audio quality close to Teamspeak today.

Also, if you have some users that have a very noisy environment, there are also advanced tools like NoiseTorch that can help them.

I have to say that I agree with you on both Mumble and BBB: the user experience is not great and one has to get used to it. The learning curve is not too difficult but it is significantly higher than what people are used to nowadays.

However Jitsi is exceptionally easy to use and self-host. I’m yet to see a user who had trouble participating. Note that it improved a lot in the past two years. Early 2020 both Browsers and Jitsi had numerous bugs that made the experience quite distressing.

Interesting, I have noticed fewer problems with BBB as with Jitsi in recent weeks.

Currently I am trying to get groups to use my Nextcloud, there would be calendar, chat and data exchange; but people do not want to do the work with another account.
For many it is simply « without Discord without me » :’(