Setting up recorder sensitivity threshold impossible due to level meter requiring TransmitEnabled

Options
StrikeAgainst
edited January 2022 in Photon Voice

I've set up a recorder where I already can speak to another client without any issues once TransmitEnabled and IsRecording are enabled. I figured that I now could set up some kind of noise gate, or sensitivity trigger if you will; by enabling IsRecording only, then getting the average level from the level meter and checking if it's higher than a certain adjustable sensitivity threshold, and in that case enabling TransmitEnabled.

Unfortunately though, the level meter won't register level differences anymore once TransmitEnabled is disabled. Why is this though, shouldn't it be solely dependent of IsRecording, as the name says? What's the point in having two separate options TransmitEnabled and IsRecording then? Is there some different way to filter by sensitivity?

EDIT: As a sidenote, "Record Only When Enabled" is also disabled

EDIT 2: So according to this thread it seems this might be a bug? https://forum.photonengine.com/discussion/19335/read-voicerecorder-levelmeter-currentavgamp-in-offline-mode#latest

EDIT 3: VAD doesn't seem to work either

Answers

  • JohnTube
    JohnTube ✭✭✭✭✭
    Options

    Hi @StrikeAgainst,

    Thank you for choosing Photon!

    Maybe you could use WebRtcAudioDsp's VAD, it's better and may do what you need?

  • Yeah I found out about it already, and got it to work fine. What I'm curious though is if I somehow can detect if VAD is currently allowing the signal through or not, as I want to symbolize this with a speaker icon over the player's head.