Voice attenuation and Filters (Steam VOIP or similar)

Hey guys,

I did a bit of looking around before hand its churning up the same sort of results, it doesn’t look like much of the VOIP information (especially steams) is accessible to the Blueprint section of UE4.
I may be wrong but here is what I want to achieve.

I want to be able to apply a radio/static effect to the players voices when they communicate in this co-op game, as well as change the VOIP sounds from being UI to Attenuated (actual real world positional locations).

e.g. DayZ or H1Z1 where you distance affects your ability to hear the other players, all while the game handles hundreds of voices on the same server.

I don’t need the same scale as Dayz or H1 but I do wan’t the same functionality, is this achievable with Steam Integration in UE4?
If so what are the areas I should be investigating?

Has anyone got an experience setting this up or is it all still theoretical?

Thanks :slight_smile:

Bump,

Not looking for the answer, just more of an idea if its possible in Blueprints and C# / c++ or just the latter.

Thanks,

I was able to adjust the sound attenuation used for VoIP by modifying the engine to access the audio component that is created and used for the VoIP to play on.

The functions to modify are:

  • FVoiceEngineImpl::SubmitRemoteVoiceData()
  • FVoiceEngineSteam::SubmitRemoteVoiceData()

You want to grab the RemoteTalkerId & AudioComponent from there and match it to a player and their pawn/character somehow.

What I did was modify the PlayerController class to add a new virtual function that could override.

This function (ModifyVoiceAudioComponent()) matches the RemoteTalkerId to a player state, then goes from there.

Note that there is a bug that can prevent you finding the correct pawn/character, so you may need to work around this by doing something similar to this.

I have tested it roughly on a on a LAN using OnLineSubSystemNull.
Hoping to try it out via Steam over the net soon.
With any luck, it works the same as it does offline, then I can work on improving it from there.

Good news!
It worked!

Bad news!
It stopped working!

Wait, what?

I think it has something to do with mute states, rather than VoIP replication issues.
But at least I know its doable :slight_smile:

Hopefully sort it out shortly.

Thank you so much for responding to this thread, Hopefully this will appear when people google similar things to myself.

Glad to hear you got it working and hope you managed to sort out some of the issues, but glad to see this is a feature that can be achieved.

No worries.

Found and fixed what was causing things to stop working.
It was the mute state :slight_smile:
Posted it on the answer hub and made a pull request.

Need to work on the attenuation settings etc, but otherwise, its working.