Avatar Voice Gets Robotic and Choppy When 10+ Players Join
Hello,
We're running into an issue where the avatar voices turn robotic and the audio gets super choppy when more than 10 players join a room. We're using Meta avatars and set the room capacity to "large," but it’s still happening.
Any ideas on how to fix this?
currentRealtime.Connect(
roomName,
new Room.ConnectOptions
{
roomServerOptions = new Room.RoomServerOptions
{
configuration = "large"
}
}
);
10 Replies
Hi @Parisa (C3D). I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
Based on the information provided in the knowledge sources, I can offer some insights and suggestions regarding your issue with avatar voices becoming robotic and choppy when more than 10 players join a room.
1. Room Server Configuration:
You've correctly set the room configuration to "large", which is a good start. According to the Room Server Options documentation, a "large" configuration should theoretically support up to 64 VR players with voice chat. However, it's important to note that these are general estimates and actual performance can vary based on your specific application.
2. Bandwidth and Scaling:
The issue you're experiencing is likely related to bandwidth constraints. As explained in the Room Server Options documentation, the number of data streams in a room scales quadratically (O(n²)) with the number of players. This means that as you add more players, the bandwidth requirements increase dramatically.
3. Voice Chat Optimization:
Normcore uses advanced audio compression and buffering techniques to optimize voice chat, as described in the High Quality, Low Latency, Audio & Video documentation. However, these optimizations may not be sufficient for larger numbers of players if bandwidth is constrained.
To address this issue, consider the following approaches:
1. Optimize Bandwidth Usage:
Review your application to ensure you're not sending unnecessary data. As mentioned in the documentation, "reducing the data a single player sends by 64 bytes leads to a total bandwidth saving of 1,024 bytes for the entire room server."
2. Adjust Voice Chat Settings:
You might need to adjust the voice chat settings to reduce bandwidth usage. While the knowledge sources don't provide specific instructions for this, you could look into reducing the audio quality or implementing a system where only nearby players' voices are transmitted.
3. Consider Using Multiple Rooms:
If the issue persists, you might want to consider splitting your players across multiple rooms. The Common Questions documentation suggests this approach for extreme cases: "you can split large spaces across multiple Normcore rooms."
4. Explore Normcore Private:
If you need to support more than 64 VR players with voice chat in a single room, you might want to look into Normcore Private, which supports higher CPU and bandwidth limits per room.
5. Check Network Conditions:
Ensure that all players have a stable internet connection. Poor network conditions for even a few players can affect the experience for everyone.
If these suggestions don't resolve your issue, I recommend reaching out to Normcore's support team for more specific guidance tailored to your application. The knowledge sources don't provide enough information to troubleshoot this issue more deeply without additional context about your specific implementation.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------
<@1179137158351691918> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
Is it letting you connect with a room configuration of large? the room size API is in private alpha, it shouldn’t let you connect with that
Oh really? Yeah, we can join just fine
Unless it's ignoring the room config that I'm passing
I’d start there. the system will reject you if that config is actually working
Gotcha, so it's likely that the room config isn’t set to "large". But the voice issue could be because of the default "Small-Flexible" room config, right? Since it might not handle more than 10 people, especially in VR?
that’s correct
So, quick question, to use this API we need to upgrade our plan to Normcore Private?
it will be available on Normcore Public down the road but right now it’s in a private alpha as we work out the kinks with it.
In the meantime, it may be worth adjusting the datastoreFrameDuration to reduce send rate, or using our NetworkProfiler to identify any model updates that are creating a lot of network use
Gotcha. Will look into it