WebRTC vs Unity vs Photon Microphones

Options
Hi, I'm a bit confused with all of the microphone type choices. I'm looking for the best quality for Mac/PC builds only. So as I understand it I should set it to Photon mic, but then what do I do with WebRTC? It seems that if I turn on webRTC noice cancellation/echo cancellation I get a message saying that I shouldn't have that on and use Photon Mic.. I can't find any documentation about the webRTC component and how it should be used. Any clarification that could be offered about these would help greatly :)

Comments

  • JohnTube
    JohnTube ✭✭✭✭✭
    edited June 2020
    Options
    Hi @capitalj,

    Thank you for choosing Photon!

    The warning that appears when you use WebRTC's AEC/NoiseCancellation + Photon MicrophoneType is due to the fact that we want to avoid a costly double processing as Photon MicrophoneType (which is an alternative to Unity's Microphone API based on native plugins) already does AEC/NoiseCancellation.
    But on standalone builds this could be fine.
    So to get best quality you could experiment and fine tune settings until you find a good combination that suits you.

    We are aware of the lack of documentation for WebRtcAudioDSP and Audio Quality in general, we will work on improving the situation with your help and feedback.
  • capitalj
    Options
    Ok thanks, but in that case should I just remove the WebRTC component if it's not needed?

    Also, we often get an issue where the microphone audio from one person will suddenly start to repeat a short part of their last word. ie: if the user says "goodbye" the audio will just repeat "yeyeyeyeyeyeey" for a few seconds for some other users. Seems like the audio doesn't get stopped but keeps repeating until the buffer clears at some point.

    Not sure if this is just when there's lots of people.

    We usually have AGC, noice and echo cancellation on for all.
  • JohnTube
    JohnTube ✭✭✭✭✭
    Options
    in that case should I just remove the WebRTC component if it's not needed?
    If Photon mic type is fine then yes.
  • capitalj
    Options
    Ok thanks we'll try that, and regarding my 2nd question:
    Also, we often get an issue where the microphone audio from one person will suddenly start to repeat a short part of their last word. ie: if the user says "goodbye" the audio will just repeat "yeyeyeyeyeyeey" for a few seconds for some other users. Seems like the audio doesn't get stopped but keeps repeating until the buffer clears at some point.
  • JohnTube
    JohnTube ✭✭✭✭✭
    Options
    Hey @capitalj,

    Sorry I forgot to include that in my reply.
    Are you using latest Photon Voice 2.17?
    Could you make a recording of this when it happens?
    We need your Recorder Codec settings (screenshot maybe).
    What is the Speaker's PlayDelay value?

    If it happens frequently you could try to reproduce by transmitting an AudioClip instead of transmitting microphone input.
  • capitalj
    Options
    Hi, we were using 2.16, but I'll try the new version.

    Here are the recorder settings:
    https://share.getcloudapp.com/2Nu5rODO

    Playback Delay is 200ms

    Here's a recording of a similar effect, though this was from a long time ago, but unlike this video, the game no longer suffers a freeze or performance issues during the voice problem and the length of the repeated section is much shorter, only a part of a word usually rather than a few words like this example. But similarly it goes on for a while, sometimes forever until the player who is causing it unmutes their mic.
    https://share.getcloudapp.com/z8u8n0n8

    We use this to mute:
    photonVoiceRecorder.TransmitEnabled = !photonVoiceRecorder.TransmitEnabled;

    It does seem that this happens the most when a player mutes themselves. Usually unmuting and muting again will resolve the issue but the player who is causing the issue will never hear it themselves.
  • capitalj
    Options
    Hi, just checking if you saw my last message?
  • JohnTube
    JohnTube ✭✭✭✭✭
    Options
    Hi @capitalj,

    Yes.
    We will look into it but don't expect an answer before next week.

    Meanwhile let us know how it goes with latest Photon Voice 2.17.
    We use this to mute:
    photonVoiceRecorder.TransmitEnabled = !photonVoiceRecorder.TransmitEnabled;
    Yes, this is totally fine.

    Thank you for your patience and understanding!
  • capitalj
    Options
    Hi, happy to report that since the update and removal of the webrtc component we haven't had the stutter issue. Not sure which of those 2 things did it, but sounds much better now.