Are there any realtime voice activity detection (VAD) implementations available?
So, this is not an answer in the quality I'd like it to be, but the Mumble VAD is in AudioInput.c , as a quick browsing yielded:

speex_preprocess_ctl(sppPreprocess, SPEEX_PREPROCESS_GET_PROB, &amp;prob);
fSpeechProb = static_cast&lt;float&gt;(prob) / 100.0f;

// clean microphone level: peak of filtered signal attenuated by AGC gain
dPeakCleanMic = qMax(dPeakSignal - gainValue, -96.0f);
float level = (g.s.vsVAD == Settings::SignalToNoise) ? fSpeechProb : (1.0f + dPeakCleanMic / 96.0f);

bool bIsSpeech = false;

if (level &gt; g.s.fVADmax)
    bIsSpeech = true;


What's done here is that Speex, a FOSS voice codec and utility pack is used to get an estimate for the silence->voice transition. Whyever, Mumble converts that probability value (probabilities: $\in[0,1]$) to a percentage, and then compares it to the internal setting.

So the algorithm of interest here is definitely not within Mumble, but libspeexdsp! 

Funnily, that's basically where it goes down in speexdsp's preprocess.dsp

/* FIXME: This VAD is a kludge */
st-&gt;speech_prob = Pframe;
if (st-&gt;vad_enabled)
{
    if (st-&gt;speech_prob &gt; st-&gt;speech_prob_start || (st-&gt;was_speech &amp;&amp; st-&gt;speech_prob &gt; st-&gt;speech_prob_continue))
    {
        st-&gt;was_speech=1;
        return 1;
    } else
    {
        st-&gt;was_speech=0;
        return 0;
    }
} else {
    return 1;
}


So, this really just boils down to an SNR estimate of the current audio frame:

/* Speech probability of presence for the entire frame is based on the average filterbank a priori SNR */
Zframe = 0;
for (i=N;i&lt;N+M;i++)
    Zframe = ADD32(Zframe, EXTEND32(st-&gt;zeta[i]));
Pframe = QCONST16(.1f,15)+MULT16_16_Q15(QCONST16(.899f,15),qcurve(DIV32_16(Zframe,st-&gt;nbands)));