Requirements:
- multi person voice chat with all the standards (PTT, etc)
- extremely low latency because it’s self hosted, so three people in the same city should have <30ms
- easily hosted via docker compose
- FOSS optional but preferred
Clearly Mumble. No need even for Docker, it comes packaged with most distros.
This isn’t really an answer, but I spent a lot of time trying different voice chat systems out a couple years back, but couldn’t get my social group to move off Discord.
So, the real answer is any that you can convince the people you want to talk with to use. However other options include Mattermost, Jitsi, Mumble, Teamspeak, and Nextcloud Talk off the top of my head. I think I remember seeing that rocket.chat has voice now too.
Mumble or Teamspeak is my vote as well. Both solid voice chat systems that work extremely well. Teamspeak is more user friendly and easier to use.
Both are real group voice chats as well, not the “meeting room” group chat that’s a pain to use like Jitsi/Zoom and similar.
Mumble or Teamspeak. I run TS, myself.
Be prepared to argue with people about how they don’t hear the difference in audio quality between TeamSpeak and Discord. Take it from me, TeamSpeak wins hands-down.
I always felt like the audio quality is similar enough to not matter - but only when one person is speaking. As soon as you’re talking while others talk, there’s this weird crosstalk effect that sounds absolutely horrible, and this has been in effect since Discords birth.
Just curious, why extremely low latency? If it’s for playing music, you might want to look into things designed specifically for that. Something like Jamulus
Ever sat next to someone using the same discord chat and you hear them next to you with just your ears, then about 500ms later you hear them through discord? It shuts my brain off.
How about jitsi? https://github.com/jitsi/docker-jitsi-meet I am running it for years, works much better than Facebook Messenger that is for sure 😃 not sure what you mean about the “all the standards”
Is Revolt an option, maybe?