We’ve had VOIP working in our project for a couple years now, including after we updated to 4.23. We recently enabled the new audio engine (on 4.23, and then by default once we updated to 4.25) and haven’t changed any VOIP settings, but now we’re encountering significant VOIP dropout. Someone will be speaking for several sentences and it’s complete silence over VOIP (we’re in VR so it’s rather obvious when someone is trying to speak). It’s not cutting in and out like it typically would with mic threshold settings and the rest of the time it’s loud and clear like usual
Anyone else seen this or have any ideas on how to troubleshoot?
Thanks @dan.reynolds, unfortunately we haven’t been able to notice anything coincidental.
We’re a design application so sound effects are fairly rare. In the cases we’ve seen this there are no other sounds being played at all — just VOIP. Typically we’re seeing the issue with two of us hanging out in an empty room in VR just chatting about something, and then one of us recognizes the other is silent but still looks like they’re saying something. It’s in the middle of a conversation, so there are pauses but nothing significant.
Our setup is fairly straightforward. We’ve subclassed VOIPTalker to dispatch events for BeginTalking and EndTalking. There are no other changes to VOIPTalker.
On our pawn class, we have a ton of init steps spread out over several ticks, and then the last thing we do is set up our BPVOIPTalker as shown in the image:
Finally, we’re using VOIPTalker strictly to get the VOIP levels so we can indicate who is talking, so we haven’t even added anything for spacialization.
Hi, I know this isn’t related to your question but I am having an issue with VOIP volume levels with some microphones. My friend’s mics sound fine in discord but they have to scream into their mics ingame for it to register at all. Do you know if I can create a slider that increases VOIPtalker volume input gain?
Hi @dan.reynolds, following up on this older thread and I’m hoping you can help. We eventually gave up on the new audio engine when I first wrote this thread. However, we recently upgraded from 4.23 to 4.25 (where the new audio engine is enabled by default) and are experiencing the same issue.
Here are some additional things we’ve observed:
When someone first joins a session, they can be heard briefly—typically only a word or two gets through. And then they’re silent for the rest of the session.
If that same user exits and rejoins the session, they can again speak briefly. So it appears to be something that’s happening when a pawn is initialized
The behavior is the same if we’re using a VOIP talker or not.
When we were on 4.23 without the new audio engine our VOIP was working fine. We’ve made no other changes to our VOIP settings. Enabling the new audio engine in 4.23, or using the new audio engine in 4.25, exhibits the above behavior.
We’ve also done some more testing:
‘stat net’ indicates VOIP data is being sent/received when expected
‘stat voice’ indicates VOIP encode/decode when expected
We get expected logs like this: LogOnlineVoice: OSS: Trigger Remote [computer name] TALKING/NOTTALKING when expected
As far as we can tell, all VOIP data is being encoded, sent, then received, and decoded as you’d expect, but for some reason the users can’t be heard.
Another update, we found if we pretty much yell into our mics then the audio comes through as expected, but changing the mic threshold value doesn’t seem to impact this.
For example, setting mic threshold to -1 makes the voip send/encode/receive/decode constantly, as expected. But even then, we can only hear each other if we’re yelling.
@dan.reynolds, is there a min volume to voip that could be impacting things? Or maybe somehow voip isn’t a high enough priority in the audio mix? At most we have one ambient sound, a video, and voip going at the same time so I don’t imagine it’s too many sources at the same time. We’re really stabbing in the dark, here.
Just in case anyone still has this issue try executing the following commands as shown below in the screenshot e.g. voice.MicNoiseGateThreshold 0.005, voice.SilenceDetectionThreshold 0.005, with mic threshold set to -5.
voice.MicInputGain 5 - this one increases mic sensitivity so it might be the fix your looking for, the default value is 1. Bear in mind that these commands affect the mic sound of the client who runs this command so the voice.MicInputGain value may vary based on each player’s mic, for some people it might make it too sensitive to the point that it sounds terribly glitchy, which I’m currently trying to figure out, maybe there’s a command where if it’s too loud then it silences it = voice.debug.PrintAmplitude - I’m very new to c++ so I’m currently trying to figure out where/which file this command is located since I’m thinking of using this value that currently gets printed on the top left corner to set the appropriate gain value, e.g. if the amplitude value goes above 0.2 that’s when it starts sounding glitchy so maybe I can adjust the gain every second when speaking so that it stays preferably below or between 0.1 and 0.2.
Or type (`) to open command when in-game and type “voice.” and read the comments of the possible commands you can do or look within (ue4version)\Engine\Source\Runtime\Engine\Private\VoiceConfig.cpp to get an idea of the default values that’s being used for each command.