EMB, though what Jay said is true, your find could still possibly help our gag command.
Right now, when gag is enabled, our function 1) looks for bind pressed involving +voicerecord (and immediately runs -voicerecord) , and 2) runs a .3 second timer constantly -voicerecord 'ing them.
It's possible that the PlayerVoiceStart function would be better than, or at least assist, in the monitoring of +voicerecord bind.
I don't think it was around when I first came up with gag.
[Edit] - I was going to also suggest monitoring/logging of when players speak in our ULX logs, but, it's client side only. Yes, it could still be done with some lua client to server magic, but, that just complicates the reason you want to track.